Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info C/C++ 2011 – varianta 3

Acesta este textul selectabil extras automat din documentele PDF ale acestei variante. Pentru formule, tabele, pseudocod sau grafice, verifică pagina originală din PDF înainte de a rezolva exercițiile.

Subiectul

Deschide PDF-ul original

Subiectul · pagina 1

Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 3
Limbajul C/C++
Filiera teoretică, profilul real, specializările matematică – informatică, matematică – informatică intensiv informatică
Filiera vocaŃională, profilul militar, specializarea matematică – informatică
1
Examenul de bacalaureat 2011
Proba E. d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Varianta 3
Filiera teoretică, profilul real, specializările: matematică – informatică
matematică – informatică intensiv informatică
Filiera vocaŃională, profilul militar, specializarea matematică – informatică
• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.
• Timpul efectiv de lucru este de 3 ore.
• În rezolvările cerute, identificatorii utilizaŃi trebuie să respecte precizările din enunŃ (bold),
iar în lipsa unor precizări explicite, notaŃiile trebuie să corespundă cu semnificaŃiile
asociate acestora (eventual în formă prescurtată).
SUBIECTUL I (30 de puncte)
Pentru itemul 1, scrieŃi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Expresia C/C++
!(-20>=x) && (x<=-10) || (x>=-5) && !(x>5)
are valoarea 1 dacă şi numai dacă valoarea memorată de variabila reală x aparŃine
reuniunii de intervale: (4p.)
a. (-∞∞∞∞,-10] ∪∪∪∪ [5, ∞∞∞∞) b. [-20,-10] ∪∪∪∪ (-5,5)
c. (-20,-10) ∪∪∪∪ (-5,5) d. (-20,-10] ∪∪∪∪ [-5,5]
2. Se consideră algoritmul alăturat, descris în
pseudocod.
S-a notat cu x%y restul împărŃirii numărului natural x la
numărul natural nenul y şi cu [z] partea întreagă a
numărului real z.
a. ScrieŃi numărul care se afişează în urma executării
algoritmului dacă pentru variabila n se citeşte
valoarea 1034, iar pentru variabila m valoarea
1234. (6p.)
b. ScrieŃi toate perechile distincte de valori naturale,
de câte două cifre fiecare, valori care pot fi citite
pentru variabilele n şi m astfel încât, în urma
executării algoritmului, pentru fiecare dintre
acestea, numărul afişat să fie 86. (6p.)
citeşte n,m
(numere naturale)
┌dacă n<m atunci
│ xn
│ nm
│ mx
└■
p1
┌cât timp m>0 execută
│ cm%10
│ m[m/10]
│ nn-p*c
│ pp*10
└■
scrie n
c. ScrieŃi în pseudocod un algoritm care să nu folosească structuri repetitive şi care să fie
echivalent cu cel dat. (4p.)
d. ScrieŃi programul C/C++ corespunzător algoritmului dat. (10p.)

Subiectul · pagina 2

Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 3
Limbajul C/C++
Filiera teoretică, profilul real, specializările matematică – informatică, matematică – informatică intensiv informatică
Filiera vocaŃională, profilul militar, specializarea matematică – informatică
2
SUBIECTUL al II-lea (30 de puncte)
Pentru fiecare dintre itemii 1 şi 2 scrieŃi pe foaia de examen litera corespunzătoare
răspunsului corect.
1. Se consideră graful orientat cu 6 vârfuri, numerotate de la 1 la 6,
reprezentat prin listele de adiacenŃă alăturate. Două drumuri sunt
distincte dacă diferă prin cel puŃin un arc.
Numărul de drumuri elementare distincte de la vârful 2 la vârful 3
este: (4p.)
1: 3
2: 1, 5, 6
3: listă vidă
4: 3
5: listă vidă
6: 4, 5
a. 0 b. 1 c. 2 d. 3
2. Frunzele arborelui cu rădăcină, având 8 noduri, numerotate de la 1 la 8, reprezentat prin
vectorul ”de taŃi” (6,6,5,0,6,4,4,7) sunt: (4p.)
a. 1,2,3,8 b. 1,2,8 c. 3,7 d. 4,6,7
ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.
3. Structura cu numele CARTE permite memorarea unui număr real, reprezentând valoarea
exprimată în euro a unei cărŃi, a unui număr întreg, reprezentând numărul de pagini ale
cărŃii, şi a unui şir de caractere reprezentând titlul cărŃii, format din cel mult 50 de
caractere.
ScrieŃi în limbajul C/C++ o definiŃie a structurii menŃionate şi declaraŃi o variabilă x de
acest tip. DenumiŃi sugestiv câmpurile acestei structuri. (6p.)
4. În secvenŃa de program alăturată
variabila a memorează un şir cu cel
mult 100 de caractere, iar variabilele i
şi k sunt de tip întreg.
ScrieŃi şirul afişat pe ecran în urma
executării secvenŃei. (6p.)
k=’a’-’A’;
strcpy(a,”bacalaureat”);
for(i=0;i<strlen(a);i++)
if(strchr(”aeiou”,a[i])!=NULL)
a[i]=a[i]-k;
cout<<a; | printf(”%s”,a);
ScrieŃi un program C/C++ care citeşte de la tastatură două numere naturale n şi m (2<n≤≤≤≤24,
2<m≤≤≤≤24) şi construieşte în memorie un tablou bidimensional cu n linii şi m coloane, în care
orice element aflat pe ultima linie sau pe ultima coloană are valoarea 1 şi oricare alt element
este egal cu ultima cifră a sumei celor două elemente alăturate lui, aflate pe aceeaşi linie şi pe
coloana din dreapta, respectiv pe aceeaşi coloană şi pe linia următoare, ca în exemplu.
Programul afişează pe ecran tabloul obŃinut, câte o linie a tabloului pe câte o linie a
ecranului, elementele fiecărei linii fiind separate prin câte un spaŃiu. (10p.)
5.
Exemplu: pentru n=4 şi m=5 se afişează tabloul alăturat. 5 0 0 4 1
5 0 6 3 1
5 4 3 2 1
1 1 1 1 1

Subiectul · pagina 3

Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 3
Limbajul C/C++
Filiera teoretică, profilul real, specializările matematică – informatică, matematică – informatică intensiv informatică
Filiera vocaŃională, profilul militar, specializarea matematică – informatică
3
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieŃi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Utilizând metoda backtracking se generează în ordine crescătoare numere naturale de câte
patru cifre din mulŃimea A={1,2,3,4,5}, numere care nu conŃin două cifre impare
alăturate. Primele opt numere generate sunt, în această ordine, 1212, 1214, 1221, 1222,
1223, 1224, 1225, 1232. Numărul de valori generate care au cifra miilor egală cu 2 şi cifra
unităŃilor egală cu 4 este: (4p.)
a. 20 b. 16 c. 12 d. 9
ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.
2. ScrieŃi ce se afişează în urma apelului de
mai jos pentru subprogramul f, definit
alăturat.
f(12345);
(6p.)
void f (int x)
{ cout<<”*”; | printf(”*”);
if(x>0) {
cout<<x; | printf(”%d”,x);
f(x/100);
cout<<”*”; | printf(”*”);
}
}
3. Subprogramul inter are patru parametri:
• na, nb prin care primeşte câte un număr natural (0<na<100, 0<nb<100);
• a, b prin care primeşte câte un tablou unidimensional care memorează câte o mulŃime
de na, respectiv nb numere naturale, fiecare având cel mult patru cifre.
Subprogramul returnează numărul de elemente aparŃinând intersecŃiei celor două mulŃimi
menŃionate.
ScrieŃi în limbajul C/C++ definiŃia completă a subprogramului inter.
Exemplu: pentru na=4, a=(35,149,72,3798), nb=5, b=(72,151,149,9,623), în
urma apelului, subprogramul returnează valoarea 2. (10p.)
4. Fişierul BAC.TXT conŃine un şir de cel puŃin 11 şi cel mult un milion de numere naturale,
despărŃite prin câte un spaŃiu. Fiecare număr are cel puŃin două şi cel mult nouă cifre.
Primul termen al şirului are numărul de ordine 1, al doilea are numărul de ordine 2 etc.
Se citeşte şirul din fişier şi se cere ca, utilizând un algoritm eficient din punct de vedere al
timpului de executare, să se determine şi să se afişeze pe ecran numărul de ordine al unui
termen al şirului care este precedat în fişier de un număr maxim de valori care au cifra
zecilor egală cu a sa. Dacă sunt mai mulŃi termeni cu această proprietate, se afişează
numărul de ordine doar al unuia dintre ei.
Exemplu: dacă fişierul BAC.TXT conŃine numerele
12 36 265 18 139 19 32 34 112 14 68
pe ecran se afişează 10 (numărul de ordine al termenului 14).
a) DescrieŃi în limbaj natural algoritmul utilizat, justificând eficienŃa acestuia. (4p.)
b) ScrieŃi programul C/C++ corespunzător algoritmului descris. (6p.)

Baremul

Deschide PDF-ul original

Baremul · pagina 1

Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 3
Filiera teoretică, profilul real, specializările matematică – informatică, matematică – informatică intensiv informatică
Filiera vocaŃională, profilul militar, specializarea matematică – informatică
Barem de evaluare şi de notare
1
Examenul de bacalaureat 2011
Proba E. d)
Proba scrisă la INFORMATICĂ
BAREM DE EVALUARE ŞI DE NOTARE
(comun pentru limbajele C/C++ şi Pascal)
Varianta 3
Filiera teoretică, profilul real, specializările: matematică – informatică
matematică – informatică intensiv informatică
Filiera vocaŃională, profilul militar, specializarea matematică – informatică
• Se punctează oricare alte modalităŃi de rezolvare corectă a cerinŃelor.
• Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin barem. Nu se
acordă fracŃiuni de punct.
• Se acordă 10 puncte din oficiu. Nota finală se calculează prin împărŃirea punctajului total
acordat pentru lucrare la 10.
• În programele cerute, datele de intrare se consideră corecte, validarea acestora nefiind
necesară.
• Utilizarea unui tip de date care depăşeşte domeniul de valori precizat în enunŃ este acceptată
dacă acest lucru nu afectează corectitudinea în funcŃionarea programului.
• Se vor lua în considerare atât implementările concepute pentru compilatoare pe 16 biŃi, cât şi
cele pentru compilatoare pe 32 de biŃi.
SUBIECTUL I (30 de puncte)
1. d 4p.
2. a. 200 6p.
b. (10,96), (96,10), (11,97),
(97,11), (12,98), (98,12),
(13,99), (99,13)
6p. Se acordă
-numai 2p. dacă a fost menŃionată o singură
pereche corectă;
-numai 3p. dacă au fost menŃionate doar
două sau trei perechi corecte;
-numai 4p. dacă au fost menŃionate doar
patru sau cinci perechi corecte;
-numai 5p. dacă au fost menŃionate doar şase
sau şapte perechi corecte.
c. Pentru algoritm pseudocod corect
-echivalenŃa prelucrării realizate prin
structura repetitivă, conform cerinŃei
-corectitudine globală
4p.
3p.
1p.
Dintre soluŃiile posibile, propunem:
citeşte n,m
dacă n<m atunci n↔↔↔↔m
scrie n-m
sau
citeşte n,m
scrie |n-m|
d. Pentru program corect
-declararea corectă a tuturor
variabilelor
-citire corectă
-scriere corectă
-instrucŃiune de decizie corectă
-instrucŃiune repetitivă cu test iniŃial
corectă
-atribuiri corecte
-corectitudinea globală a
programului1)
10p.
1p.
1p.
1p.
2p.
2p.
2p.
1p.

Baremul · pagina 2

Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 3
Filiera teoretică, profilul real, specializările matematică – informatică, matematică – informatică intensiv informatică
Filiera vocaŃională, profilul militar, specializarea matematică – informatică
Barem de evaluare şi de notare
2
SUBIECTUL al II-lea (30 de puncte)
1. c 4p.
2. a 4p.
3. Pentru răspuns corect
-definirea câmpurilor înregistrării
-definire principial corectă a tipului de date
cerut (*)
-declarare corectă a variabilei
6p.
3x1p.
1p.
2p.
(*) Pentru limbajul C/C++ se acceptă definiŃii ca:
struct CARTE {…};
sau
typedef struct {…} CARTE;
etc.
4. Răspuns corect: bAcAlAUrEAt 6p. Se acordă doar 3p. pentru răspuns parŃial
corect.
5. Pentru program corect
-declararea corectă a tuturor variabilelor
(tablou şi variabile simple)
-citirea corectă a datelor
-memorarea valorilor 1 pe ultima linie şi
respectiv ultima coloană (*)
-memorarea valorilor calculate conform
cerinŃei (*)
-afişarea matricei în formatul cerut
-corectitudinea globală a programului1)
10p.
2x1p.
1p.
2x1p.
2p.
2p.
1p.
(*) O soluŃie posibilă este transpunerea în
limbaj de programare a secvenŃei:
┌pentru in,1,-1 execută
│┌pentru jm,1,-1 execută
││┌dacă i=n sau j=m atunci Ai,j1
│││ altfel Ai,j(Ai,j+1+Ai+1,j)%10
││└■
│└■
└■
SUBIECTUL al III-lea (30 de puncte)
1. b 4p.
2. Răspuns corect: *12345*123*1**** 6p. Se acordă doar 3p. pentru un răspuns parŃial
corect care începe cu secvenŃa
*12345*123*1.
3. Pentru subprogram corect
-structură antet principial corectă
-declarare corectă a parametrilor (de
tip tablou şi date simple)
-declarare variabile locale
-algoritm principial corect de determinare
a unui element al intersecŃiei
-determinare a numărului cerut
-returnare rezultat
-corectitudine globală a subprogramului1)
10p.
1p.
2x1p.
1p.
2p.
2p.
1p.
1p.
a. Pentru răspuns corect
-coerenŃa explicării algoritmului (*)
-explicarea unor elemente de eficienŃă din
punct de vedere al timpului de executare
4p.
2p.
2p.
(*) Se acordă punctajul chiar dacă algoritmul
ales nu este eficient.
4.
b. Pentru program corect
-operaŃii cu fişiere: declarare,
pregătire în vederea citirii, citire din
fişier
-determinarea numărului de apariŃii a
unei cifre a zecilor conform cerinŃei
-determinarea şi afişarea numărului
de ordine cerut (*)
-utilizarea unui algoritm eficient (**)
6p.
1p.
2p.
2p.
1p.
(*) Se acordă punctajul chiar dacă soluŃia
propusă nu prezintă elemente de eficienŃă.
(**) Punctajul se acordă numai pentru un
algoritm liniar.
O soluŃie posibilă utilizează un tablou nr, cu 10
elemente, iniŃial nule, în care, pe măsura citirii
datelor din fişier, se contorizează numărul de
apariŃii ale fiecărei cifre a zecilor din numerele citite.
Simultan, într-un tablou p, cu 10 elemente, se
memorează, pentru fiecare cifră menŃionată mai
sus, numărul de ordine al numărului curent
corespunzător acesteia. Dacă nri este valoarea
maximă din tabloul nr, rezultatul cerut este pi.
1) Corectitudinea globală vizează structura, sintaxa şi alte greşeli neprecizate în barem.