Sunteți pe pagina 1din 225

Ministerul Educației și Cercetării

Centrul Național de Politici și Evaluare în Educație


Examenul național de bacalaureat 2021
Proba E. d)
INFORMATICĂ
Limbajul C/C++
Model
Filieră teoretică, profil real, specializare științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă zece puncte din oficiu.


• Timpul de lucru efectiv este de trei ore.
• Identificatorii utilizați în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.

SUBIECTUL I (20 de puncte)


Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.
1. Indicați valoarea expresiei C/C++ alăturate. 21/2*2-5
a. 0 b. 0.25 c. 15 d. 16

2. Tablourile unidimensionale A și B au elementele: A=(2,20,27,36,50), iar B=(63,45,8,5,3). În


urma interclasării lor în ordine descrescătoare se obține tabloul cu elementele:
a. (63,45,27,36,50) b. (63,45,8,5,3,2,20,27,36,50)
c. (63,2,45,20,27,8,36,5,50,3) d. (63,50,45,36,27,20,8,5,3,2)

3. Pentru a verifica dacă în tabloul unidimensional (4,8,9,14,16,24,48) există elementul cu valoarea


x se aplică metoda căutării binare. Știind că valoarea x a fost comparată cu două elemente ale tabloului
pe parcursul aplicării metodei, două valori ale lui x ar putea fi:
a. 4, 8 b. 8, 24 c. 9, 16 d. 24, 48

4. Indicați valoarea expresiei alăturate. floor(-20.20)

a. -21 b. -20 c. 20.20 d. 21


5. Variabilele x, y, z, w și r sunt de tip întreg, iar r memorează inițial valoarea 0. Indicați o secvență
echivalentă cu cea de mai jos.
if(x==y && z!=w) r=1; else if(x==y && z==w) r=2; else r=3;
a. if (x==y || z!=w) r=1; else if(x!=y || z==w) r=2; else if(x!=y) r=3;
b. if (x==y || z!=w) r=1; else if(x==y || z==w) r=2; else r=3;
c. if (x==y && z!=w) r=1; else if(x!=y && z==w) r=2; else if(x!=y) r=3;
d. if (x==y){ r=1; if(z==w) r=2; } else r=3;

SUBIECTUL al II-lea (40 de puncte)


1. Algoritmul alăturat este reprezentat în pseudocod. citește n,k
S-a notat cu a%b restul împărțirii numărului natural a la numărul (numere naturale)
natural nenul b și cu [c] partea întreagă a numărului real c. p1
a. Scrieți numărul afișat în urma executării algoritmului dacă se ┌dacă k=0 atunci
citesc, în această ordine, numerele 3845267 și 3. (6p.) │ nr-1
│altfel
b. Dacă pentru variabila k se citește 2, scrieți trei numere din │ nr0
intervalul [103,104) care pot fi citite pentru n astfel încât, │┌repetă
pentru fiecare dintre acestea, în urma executării algoritmului, să ││ cn%2; n [n/10]
se afișeze 20. (6p.) ││┌dacă c≠0 atunci
│││ nrnr+(n%10)*p; p
p*10
c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.) │││altfel
│││ kk-1
d. Scrieți în pseudocod un algoritm, echivalent cu cel dat, ││└■
înlocuind adecvat structura repetă...până când cu o │└până când n=0 sau k=0
structură repetitivă cu test inițial. (6p.) └■
scrie nr

Probă scrisă la INFORMATICĂ Model


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație

2. Variabila c este de tip char, iar celelalte variabile nr=0;


for(i=9;i>=1;i--)
sunt de tip întreg. Scrieți valoarea variabilei nr în
{ cin>>c; | scanf("%c",&c);
urma executării secvenței alăturate, știind că se
if(c=='e' || c=='i')
citesc de la tastatură literele:
nr=nr+c-'a';
r e a l i z a r e (6p.) }

3. Setul de variabile întregi an, luna, zi memorează valori specifice unei date calendaristice din cadrul
primului semestru al acestui an școlar (14.09.2020 – 29.01.2021). Scrieți o secvență de
instrucțiuni în urma executării căreia să se afișeze pe ecran, în funcție de perioada căreia îi aparține
data, mesajul vacanta, dacă este din perioada vacanței de iarnă (23.12.2020 – 10.01.2021), sau
mesajul scoala, în caz contrar.
Exemplu: dacă an=2020, luna=11, zi=16, se afișează pe ecran scoala (6p.)

SUBIECTUL al III-lea (30 de puncte)


1. Se citește un număr natural n (n≥4) și se cere să se scrie, în ordine strict crescătoare, cele mai mari
două numere prime din intervalul [1,n).
Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate.
Exemplu: dacă n=49, se scriu numerele 43 47. (10p.)

2. ∈[2,102]) și construiește în
Scrieți un program C/C++ care citește de la tastatură un număr natural n (n∈
memorie un tablou unidimensional cu n elemente, cu proprietatea că parcurgându-l de la stânga la
dreapta se obține șirul primelor n pătrate perfecte pare, ordonat strict descrescător, ca în exemplu.
Elementele tabloului obținut se afișează pe ecran, separate prin câte un spațiu.
Exemplu: pentru n=6 se obține tabloul (100,64,36,16,4,0). (10p.)
3. Fișierul cheltuieli.in are cel mult 106 linii, fiecare linie conținând câte trei numere naturale din
intervalul [1,102], reprezentând, în această ordine, date despre câte o achiziție: tipul produsului
cumpărat, numărul de produse de acest tip cumpărate, respectiv prețul unui astfel de produs la acel
moment. Numerele aflate pe aceeași linie sunt separate prin câte un spațiu.
Se cere să se afișeze pe ecran cea mai mare sumă cheltuită pentru toate produsele de 4 1 10
același tip. Proiectați un algoritm eficient din punctul de vedere al timpului de executare. 1 16 1
Exemplu: dacă fișierul cheltuieli.in are conținutul alăturat, se afișează pe ecran: 26 4 2 8
(s-a cheltuit suma maximă 26 pentru produsele de tipul 1 și 4: 26=16·1+5·2=1·10+2·8). 2 1 5
1 5 2
a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la INFORMATICĂ Model


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație
Examenul național de bacalaureat 2021
Proba E. d)
INFORMATICĂ

BAREM DE EVALUARE ȘI DE NOTARE


(comun pentru limbajele C/C++ și Pascal)
Model
Filieră teoretică, profil real, specializare științe ale naturii

• Se punctează orice formulare/modalitate de rezolvare corectă a cerinţelor.


• Nu se acordă punctaje intermediare, altele decât cele precizate explicit în barem. Nu se
acordă fracţiuni de punct.
• Se acordă zece puncte din oficiu. Nota finală se calculează prin împărţirea punctajului total
acordat pentru lucrare la zece.
• 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.

SUBIECTUL I (20 de puncte)


1c 2d 3b 4a 5d 5x4p.

SUBIECTUL al II - lea (40 de puncte)


1. a. Răspuns corect: 46 6p.
b. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare dintre cele trei
numere conform cerinței (numere de forma 2x0y unde
x, y sunt cifre impare).
c. Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiunile de decizie este conform cerinței.
-citire date 1p.
-afișare date 1p.
-instrucțiuni de decizie (*) 3p.
-instrucțiune repetitivă 2p.
-atribuiri 1p.
1)
-corectitudine globală a programului 1p.
d. Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are o
-echivalență a prelucrării realizate, structură repetitivă conform cerinței, principial corectă,
conform cerinței (*) 5p. dar nu este echivalent cu cel dat.
1)
-corectitudine globală a algoritmului 1p. Se va puncta orice formă corectă de structură
repetitivă conform cerinței.
2. Răspuns corect: 6p.
16
3. Pentru răspuns corect 6p. (*) Se acordă câte 1p. pentru fiecare reper specific
-determinare a perioadei de (zile de școală în lunile septembrie, octombrie și
vacanță/școală (*) 3p. noiembrie, zile de vacanță/școală în luna decembrie,
-afișare a mesajelor (**) 2p. zile de vacanță/școală în luna ianuarie) conform
1)
-corectitudine globală a algoritmului 1p. cerinței.
(**) Se acordă 1p. dacă s-au afișat cele două mesaje,
dar nu în concordanță cu perioadele corespunzătoare.

SUBIECTUL al III - lea (30 de puncte)


1. Pentru algoritm corect 10p. (*)Se acordă câte 2p. pentru fiecare aspect specific
-citire a datelor 1p. (algoritm principial corect de determinare a unui
-determinare a valorilor cerute (*) 6p. număr prim, determinare a celui mai mare număr prim
-scriere a datelor 1p. din interval, determinare a celui de al doilea număr
-scriere principial corectă a structurilor de prim) conform cerinței.
control, corectitudine globală a (**) Se va puncta orice formă corectă de structură
1)
algoritmului (**) 2p. repetitivă sau decizională.

Probă scrisă la informatică Model


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 1 din 2
Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație
2. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect specific
-declarare a unei variabile care să (numere pare, numere pătrate perfecte, ordine valori,
memoreze un tablou unidimensional 1p. valori suport, construire în memorie) conform cerinței.
-acces la un element al tabloului 1p.
-citire a datelor 1p.
-construire a tabloului cerut (*) 5p.
-afișare a datelor în formatul cerut 1p.
-declarare a variabilelor simple,
1)
corectitudine globală a programului 1p.
3. a. Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă algoritmul ales nu
-coerență a descrierii algoritmului (*) 1p. este eficient.
-justificare a elementelor de eficiență 1p. (**) Se acordă numai 3p. dacă algoritmul este
b. Pentru program corect 8p. principial corect, dar nu oferă rezultatul cerut pentru
-operații cu fișiere: declarare, pregătire în toate seturile de date de intrare.
vederea citirii, citire din fișier 1p. (***) Se acordă punctajul numai pentru un algoritm liniar.
-determinare a valorii cerute (*),(**) 5p. O soluție posibilă utilizează un tablou, s, în care
-utilizare a unui algoritm eficient (***) 1p. s[i]=suma cheltuită în total pentru produsele de tipul i.
-declarare a variabilelor, afișare a Pe măsura citirii datelor din fișier, pentru fiecare triplet
datelor, corectitudine globală a 1p. x, y, z citit se actualizează s[x] prin adunare la
1)
programului valoarea sa actuală a produsului y*z. La final se
determină valoarea maximă memorată în tabloul s.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Model


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 2 din 2
Ministerul Educației Naționale
Centrul Național de Evaluare și Examinare

Examenul de bacalaureat național 2020


Proba E. d)
INFORMATICĂ
Limbajul C/C++
MODEL
Filieră teoretică, profil real, specializare științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv este de 3 ore.
• Identificatorii utilizați în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.
• În grafurile din cerințe oricare arc/muchie are extremități distincte și oricare două arce/muchii
diferă prin cel puțin una dintre extremități.

SUBIECTUL I (20 de puncte)


Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.
1. Variabilele x, y și z sunt de tip întreg și memorează numere naturale din intervalul [1,103]. Indicați o
expresie C/C++ care are valoarea 1 dacă și numai dacă valoarea variabilei x este strict mai mică decât
valoarea oricăreia dintre variabilele y și z.
a. z+x<x+y && x+z>z+y b. z+x<x+y && z+y>y+x
c. x+z<z+y && z+y>y+x d. x+y<y+z && x+z>z+y
2. În secvențele notate cu s1, s2 și s3, definite mai jos, toate variabilele sunt întregi.
//s1 //s2 //s3
p=1; p=1; p=1;
for(i=2;i<=n;i++) while(n>1) if(n%2==1)
p=p*i; { p=p*n*(n-1); { p=n; n=n-1;}
n=n-2; for(i=1;i<=n/2;i++)
} p=p*i*(n+1-i);
Dacă valoarea inițială a variabilei n este 12, se obține aceeași valoare pentru variabila p în urma
executării, independent, a secvențelor:
a. s1 și s2 b. s1 și s3 c. s2 și s3 d. s1, s2 și s3
3. Variabilele x şi y sunt de tip real. O transcriere în limbajul C/C++ a expresiei ∙ −
alăturate este:
a. pow(x*(sqrt(x)-y)) b. sqrt(x*(pow(x,2)-y))
c. pow(x*x*x-y) d. sqrt(x*x*x-y)
4. Elementele unui tablou unidimensional sunt, în această ordine, (2,5,6,12,55,57,79). Pentru a
verifica dacă în tablou există elementul cu valoarea x=56, se aplică metoda căutării binare.
Succesiunea de elemente cu care se compară valoarea x pe parcursul aplicării metodei indicate este:
a. 12, 57, 55 b. 12, 55, 57 c. 2, 6, 12, 57 d. 79, 57, 55
5. În urma interclasării în ordine descrescătoare a tablourilor unidimensionale A şi B se obține tabloul
(45,29,17,16,12,12,10,7,3,2). Elementele tablourilor, în ordinea în care apar în acesta, pot fi:
a. A=(4,2,1,1,1,1,1) b. A=(45,29,17,16,12)
B=(5,9,7,6,2,2,0,7,3,2) B=(10,7,3,2)
c. A=(22,14,8,8,6,6,5,3,1,1) d. A=(45,29,17,12,10,3)
B=(23,15,9,8,6,6,5,4,2,1) B=(16,12,7,2)

Probă scrisă la INFORMATICĂ MODEL


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Ministerul Educației Naționale
Centrul Național de Evaluare și Examinare

SUBIECTUL al II-lea (40 de puncte)


1. Algoritmul alăturat este reprezentat în pseudocod. citeșște m,n,x
S-a notat cu a%b restul împărțirii numărului natural a la numărul (numere naturale nenule, m≤n)
natural nenul b. s 0; pm 1; pn 1
┌repetă
a. Scrieți valoarea afișată în urma executării algoritmului dacă se
│┌dacă m%x=0 atunci
citesc, în această ordine, numerele 21, 38 și 4. (6p.)
││ s s+m; pm x
b. Dacă pentru m şi x se citesc numerele 20, respectiv 2020, scrieți │└■
cea mai mică şi cea mai mare valoare care pot fi citite pentru │┌dacă n%x=0 şi m≠n atunci
variabila n, astfel încât, în urma executării algoritmului, pentru ││ s s+n; pn x
fiecare dintre acestea, să se afişeze 2020. (6p.) │└■
│ m m+pm; n n-pn
c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.) └până când m>n
d. Scrieți în pseudocod un algoritm, echivalent cu cel dat, înlocuind scrie s
structura repetă...până când cu o structură de alt tip. (6p.)
2. Variabila id memorează identificatorul unei zone de parcare dintr-un oraș (o literă a alfabetului englez),
iar variabilele întregi numar și pret memorează numărul de locuri închiriate în această zonă pe
parcursul lunii curente, respectiv prețul practicat pentru închirierea unui loc pentru o lună. Declarați
corespunzător variabila id și scrieți o instrucțiune C/C++ care să afișeze pe ecran suma obținută în
urma închirierii pe parcursul lunii curente a tuturor locurilor de parcare din zona precizată. (6p.)
3. În secvența alăturată toate variabilele sunt de tip întreg. p=............;
Scrieți secvența înlocuind punctele de suspensie astfel încât, for(i=1;i<=10;i++)
în urma executării secvenței obținute, valoarea variabilei p { cin>>x; | scanf(”%d”,&x);
să fie numărul de ordine al ultimului număr 2020 citit, sau 0, ..............
dacă nu există astfel de numere. }

Exemplu: dacă se citesc, în această ordine, numerele 20, 19, 2020, 15, 2020, 6, 7, 21, 24, 36, în
urma executării secvenţei, p are valoarea 5. (6p.)

SUBIECTUL al III-lea (30 de puncte)


1. Se citește un număr natural, n (n≥1), și se cere să se scrie numărul obținut prin duplicarea fiecărei cifre
impare a lui n sau -1 dacă acesta nu are nicio cifră impară.
Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată.
Exemplu: dacă n=2019, se scrie 201199. (10p.)
2. Scrieți un program C/C++ care citește de la tastatură numere naturale din intervalul [0,109], în
această ordine: numerele n și x, apoi cele n elemente ale unui tablou unidimensional. Programul
modifică ordinea valorilor din tablou, astfel încât primele poziții să fie ocupate de mulțimea formată de
cele care sunt mai mari sau egale cu x, iar următoarele poziții, în continuarea acestora, să fie ocupate de
mulțimea celorlalte numere. Valorile din aceeași mulțime sunt memorate într-o ordine oarecare.
Elementele tabloului obținut sunt afișate pe ecran, separate prin câte un spațiu, iar dacă una dintre cele
două mulțimi este vidă, se afișează pe ecran doar mesajul nu exista.
Exemplu: pentru n=9, x=19 și tabloul (20, 19, 20, 5, 20, 18, 7, 75, 3),
unul dintre tablourile obținute poate fi: (20, 19, 20, 20, 75, 5, 18, 7, 3). (10p.)
3. Fișierul numere.in conține un șir de numere naturale din intervalul [1,109]. Numerele din șir sunt
ordonate strict descrescător și sunt separate prin câte un spațiu. Se cere să se determine numărul
valorilor naturale distincte din intervalul închis delimitat de prima și ultima valoare din șir care NU se
găsesc în șirul menționat mai sus. Numărul determinat se afișează pe ecran. Proiectați un algoritm
eficient din punctul de vedere al spațiului de memorie și al timpului de executare.
Exemplu: dacă fișierul conține numerele
8 5 3 2
se afișează pe ecran 3 (în șir nu se găsesc valorile 7 6 4).
a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la INFORMATICĂ MODEL


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
Ministerul Educației Naționale
Centrul Național de Evaluare și Examinare
Examenul de bacalaureat național 2020
Proba E. d)
INFORMATICĂ

BAREM DE EVALUARE ȘI DE NOTARE


(comun pentru limbajele C/C++ şi Pascal)
MODEL
Filieră teoretică, profil real, specializare științe ale naturii

• 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.
• 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.

SUBIECTUL I (20 de puncte)


1c 2d 3b 4a 5d 5x4p.

SUBIECTUL al II - lea (40 de puncte)


1. a) Răspuns corect: 120 6p.
b) Răspuns corect: 2020 4039 6p. Se acordă câte 3p. pentru fiecare dintre cele două
numere conform cerinței.
c) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
- declarare variabile 1p. instrucțiunile de decizie este conform cerinței.
- citire date 1p.
- afișare date 1p.
- instrucțiune repetitivă 2p.
- instrucțiuni de decizie (*) 3p.
- atribuiri 1p.
1)
- corectitudine globală a programului 1p.
d) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are o
- echivalență a prelucrării realizate, structură repetitivă conform cerinţei, principial corectă,
conform cerinţei (*) 5p. dar nu este echivalent cu cel dat.
1)
- corectitudine globală a algoritmului 1p. Se va puncta orice formă corectă de structură
repetitivă conform cerinței.
2. Pentru rezolvare corectă 6p.
- declarare a variabilei conform cerinței 2p.
- afișare a datelor conform cerinței 3p.
1)
- corectitudine globală a secvenței 1p.
3. Pentru rezolvare corectă 6p.
- înlocuire a punctelor de suspensie din
prima zonă 2p.
- înlocuire a punctelor de suspensie din
cea de a doua zonă 3p.
1)
- corectitudine globală a secvenței 1p.

SUBIECTUL al III - lea (30 de puncte)


1. Pentru algoritm corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect al cerinței
- citire a datelor 1p. (acces la o cifră a unui număr, cifre suport analizate,
- determinare a numărului cerut (*) 6p. cifre pare/impare, duplicare a unei cifre, cifre suport
- scriere a datelor 1p. duplicate, tratare caz -1).
- scriere principial corectă a structurilor (**) Se acordă punctajul pentru orice formă corectă de
de control (**) 2p. structură repetitivă sau decizională.

Probă scrisă la INFORMATICĂ MODEL


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 1 din 2
Ministerul Educației Naționale
Centrul Național de Evaluare și Examinare
2. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect
- declarare a unei variabile care să (memorare pe poziții consecutive a valorilor din
memoreze un tablou 1p. aceeași mulțime, ordine a mulțimilor de valori,
- citire a datelor 1p. elemente suport) conform cerinței.
- memorare a numerelor conform cerinței 6p.
(*)
- afișare a datelor și tratare a cazului nu 1p.
exista
- declarare a variabilelor simple, 1p.
1)
corectitudine globală a programului
3. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă algoritmul ales nu
- coerență a descrierii algoritmului (*) 1p. este eficient.
- justificare a elementelor de eficienţă 1p. (**) Se acordă numai 3p. dacă algoritmul este
b) Pentru program corect 8p. principial corect, dar nu oferă rezultatul cerut pentru
- operații cu fișiere: declarare, pregătire toate seturile de date de intrare.
în vederea citirii, citire din fişier 1p. (***) Se acordă punctajul numai pentru un algoritm liniar
- determinare a valorii cerute (*),(**) 5p. care utilizează eficient memoria.
- utilizare a unui algoritm eficient (***) 1p. O soluție posibilă utilizează un contor, inițializat cu 0,
- declarare a variabilelor, afișare a apoi parcurge numerele din fișier memorând, la
datelor, corectitudine globală a fiecare pas, ultimele două numere citite, x și y, și
1)
programului 1p. actualizează contorul adăugând valoarea x-y-1.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la INFORMATICĂ MODEL


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 2 din 2
Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație
Examenul de bacalaureat național 2020
Proba E. d)
Informatică
Limbajul C/C++
Varianta 5
Filieră teoretică, profil real, specializare științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv este de 3 ore.
• Identificatorii utilizați în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.
SUBIECTUL I (20 de puncte)
Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.
1. Variabila x este de tip întreg și poate memora un număr natural din intervalul x%2020
[0,109). Indicați valoarea maximă pe care o poate avea expresia C/C++ alăturată.

a. 20.2 b. 2019 c. 2020 d. 495049


2. Tablourile unidimensionale A și B au elementele: A=(2,22,25,32,48), iar B=(3,5,8,45,60).
Indicați succesiunea de valori care pot fi, în această ordine, elementele tabloului obținut în urma
interclasării lui A și B în ordine crescătoare.
a. (2,5,8,32,48) b. (2,3,5,8,22,25,32,45,48,60)
c. (2,3,5,22,8,25,32,45,48,60) d. (2,22,25,32,48,3,5,8,45,60)
3. Pentru a verifica dacă într-un tablou unidimensional există elementul cu valoarea x=0, se aplică
metoda căutării binare, iar succesiunea de elemente ale tabloului a căror valoare se compară cu
valoarea lui x pe parcursul aplicării metodei indicate este: 20, 2, 0.
Indicați succesiunea de valori care pot fi, în această ordine, elementele tabloului.
a. (0,1,2,4,20,40,64) b. (0,2,4,8,16,20,32)
c. (0,2,20,0,4,40,0,8,80) d. (0,2,4,20,30,32,40)
4. Variabilele A, B și C sunt de tip real și memorează coeficienții unei ecuații de gradul al II-lea
Ax2+Bx+C=0. Indicați expresia C/C++ care calculează valoarea discriminantului ecuației (B2-4·A·C).
a. pow(B,2)-4*A*C b. sqrt(B)-4*A*C
c. pow(B*B-4*A*C,2) d. sqrt(B*B-4*A*C)
5. În secvența alăturată toate variabilele sunt de tip întreg y=1;
și memorează numere naturale. Indicați expresia care x=2;
poate înlocui punctele de suspensie astfel încât, în while(n>0)
urma executării secvenței obținute, variabila y să if(..........) { y=y*x; n=n-1; }
memoreze valoarea 2n. else { x=x*x; n=n/2; }

a. n%2==0 b. n/2==0 c. n%2==1 d. n/2!=0

SUBIECTUL al II-lea (40 de puncte)


1. Algoritmul alăturat este reprezentat în pseudocod. citește n (număr natural)
S-a notat cu a%b restul împărțirii numărului natural a la m 0
numărul natural nenul b și cu [c] partea întreagă a numărului ┌repetă
real c. │ c n%10; n [n/10]
a. Scrieți ce se afișează dacă se citește numărul 247388. (6p.) │┌dacă c<5 atunci m m-2*c
││altfel m m+c
b. Scrieți două numere din intervalul [102,103), cu cifre │└■
distincte, care pot fi citite astfel încât, pentru fiecare dintre └până când n=0
acestea, în urma executării algoritmului, să se afișeze DA. (6p.) ┌dacă m=0 atunci scrie ‘DA’
c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.) │altfel scrie m, ‘NU’
└■
d. Scrieți în pseudocod un algoritm echivalent cu cel dat, înlocuind adecvat structura
repetă...până când cu o structură repetitivă cu test inițial. (6p.)

Probă scrisă la informatică Varianta 5


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație

2. Pentru un procesor se memorează o literă mare a alfabetului englez, în funcție de producătorul


acestuia: I, dacă producătorul are numele Intel, sau A, dacă producătorul are numele
Advanced Micro Devices.
Variabila p1 memorează litera corespunzătoare producătorului unui procesor, iar variabila p2
memorează litera corespunzătoare producătorului unui alt procesor.
Declarați variabilele p1 și p2 și scrieți o secvență de instrucțiuni C/C++ în urma executării căreia să se
afișeze pe ecran numele producătorului, dacă ambele procesoare au același producător, sau mesajul
Producatori diferiti, în caz contrar.
Exemplu: dacă atât p1 cât și p2 memorează litera A, în urma executării secvenței se afișează
Advanced Micro Devices (6p.)
3. Variabilele x1, x2 și x3 sunt de tip întreg și memorează numere naturale distincte: una dintre ele un
număr impar, iar celelalte două câte un număr par. Scrieți o secvență de instrucțiuni în urma executării
căreia să se afișeze pe prima linie a ecranului valorile inițiale ale variabilelor x1, x2 și x3, în această
ordine, iar pe a doua linie a ecranului, aceleași valori, dar astfel încât cele pare să fie ordonate
crescător, iar cea impară să își păstreze poziția. Numerele afișate pe aceeași linie a ecranului sunt
separate prin câte un spațiu.
Exemplu: dacă x1=8, x2=5, x3=4, în urma executării secvenței se afișează
8 5 4
4 5 8 (6p.)

SUBIECTUL al III-lea (30 de puncte)


1. Un număr natural nenul se numește p-număr dacă are aceeași paritate cu suma divizorilor săi
pozitivi.
Exemplu: 10 și 25 sunt p-numere (10 are aceeași paritate cu 18=1+2+5+10, iar 25 are aceeași
paritate cu 31=1+5+25).
Se citesc trei numere naturale nenule, a, b și k (a≤b), și se cere să se scrie cel de al k-lea p-număr
din intervalul [a,b] sau -1, dacă nu există cel puțin k astfel de numere în acest interval. Scrieți în
pseudocod algoritmul corespunzător.
Exemplu: dacă a=27, b=50 și k=3, atunci se scrie 34. (10p.)

2. Două numere distincte se numesc în oglindă dacă fiecare dintre ele se obține prin citirea cifrelor
celuilalt de la dreapta la stânga.
Exemplu: 127 și 721 sunt în oglindă, iar pentru numerele 100 sau 121 nu există niciun număr cu
care să fie în oglindă.
Scrieți un program C/C++ care citește de la tastatură un număr natural n (n∈ ∈[2,50]), apoi cele n
elemente ale unui tablou unidimensional, numere naturale din intervalul [0,104). Programul
transformă tabloul în memorie înlocuind fiecare element de trei cifre cu numărul cu care el este în
oglindă, dacă acesta există, ca în exemplu. Elementele tabloului obținut sunt afișate pe ecran,
separate prin câte un spațiu, iar dacă nu s-a înlocuit niciun element se afișează pe ecran mesajul
nu exista.
Exemplu: pentru n=9 și tabloul (721,72,6,108,180,1221,121,537,1000),
se obține tabloul (127,72,6,801,180,1221,121,735,1000).
iar pentru n=4 și tabloul (525,72,6,120), se afișează pe ecran mesajul nu exista. (10p.)
3. Fișierul bac.txt conține un șir de cel mult 106 numere naturale din intervalul [1,109], separate prin
câte un spațiu.
Se cere să se afișeze pe ecran, separate printr-un spațiu, două numere naturale a și b (a<b), astfel
încât oricare termen al șirului să aparțină intervalului (a,b), iar valoarea expresiei b-a să fie minimă.
Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al spațiului de memorie
utilizat.
Exemplu: dacă fișierul conține valorile 7 2 40 5 10 15 11 122 350 18
se afișează pe ecran numerele 1 351.
a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la informatică Varianta 5


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație
Examenul de bacalaureat național 2020
Proba E. d)
Informatică

BAREM DE EVALUARE ȘI DE NOTARE


(comun pentru limbajele C/C++ și Pascal)
Varianta 5
Filieră teoretică, profil real, specializare științe ale naturii

• 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.
• 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 (de exemplu, pentru
numere naturale sunt acceptate și tipuri de date care permit memorarea numerelor întregi).

SUBIECTUL I (20 de puncte)


1b 2b 3d 4a 5c 5x4p.

SUBIECTUL al II - lea (40 de puncte)


1. a) Răspuns corect: 5NU 6p. Se acordă câte 3p. pentru fiecare dintre cele două
valori conform cerinței; se acordă punctajul și dacă
valorile sunt scrise pe linii diferite sau separate prin
spațiu.
b) Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două
numere conform cerinței (orice număr din intervalul
cerut, format cu cifrele distincte x, y și z, în orice
ordine, cu proprietatea că 2·(x+y)=z și z>5) sau numai
câte 2p. pentru fiecare dintre cele două numere care
conduc la afișarea mesajului indicat, dar nu au cifre
distincte sau nu aparțin intervalului precizat.
c) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare a variabilelor 1p. instrucțiunile de decizie este conform cerinței.
-citire a datelor 1p.
-afișare a datelor 1p.
-instrucțiuni de decizie (*) 3p.
-instrucțiune repetitivă 2p.
-atribuiri 1p.
1)
-corectitudine globală a programului 1p.
d) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are o
-echivalență a prelucrării realizate, structură repetitivă de tipul cerut, principial corectă,
conform cerinței (*) 5p. dar nu este echivalent cu cel dat.
1)
-corectitudine globală a algoritmului 1p. Se va puncta orice formă de structură repetitivă de
tipul cerut.
2. Pentru rezolvare corectă 6p. (*) Se acordă câte 2p. pentru fiecare aspect specific
-declarare a variabilelor 1p. (producător, mesaj) conform cerinței.
-afișare a datelor (*) 4p.
1)
-corectitudine globală a secvenței 1p.
3. Pentru răspuns corect 6p. (*) Se acordă câte 1p. pentru fiecare aspect specific
-afișare a datelor (*) 5p. (identificare a unor valori pare/impare, afișare a
1)
-corectitudine globală a secvenței 1p. datelor inițiale, afișare a datelor ordonate dacă
valoarea impară este pe prima poziție, afișare a
datelor ordonate dacă valoarea impară este pe a doua
poziție, afișare a datelor ordonate dacă valoarea
impară este pe ultima poziție) conform cerinței.

Probă scrisă la informatică Varianta 5


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 1 din 2
Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație
SUBIECTUL al III - lea (30 de puncte)
1. Pentru algoritm corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect specific
-citire a datelor 1p. (identificare a unui divizor, algoritm principial corect de
-determinare a valorii cerute (*) 6p. determinare a unei sume, algoritm principial corect de
-scriere a datelor și tratare a cazului -1 1p. numărare, identificare a unui p-număr, numere din
-scriere principial corectă a structurilor de interval, al k-lea număr) conform cerinței.
control, corectitudine globală a (**) Se va puncta orice formă principial corectă de
1)
algoritmului (**) 2p. structură repetitivă sau decizională.
2. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect specific
-declarare a unei variabile care să (acces la un element al tabloului, identificare a unei
memoreze un tablou unidimensional 1p. valori de trei cifre, obținere a unui număr în oglindă,
-citire a elementelor tabloului 1p. numere distincte în oglindă, elemente suport,
-transformare a tabloului conform cerinței transformare în memorie) conform cerinței.
(*) 6p.
-afișare a datelor și tratare a cazului nu
exista 1p.
-declarare a variabilelor simple,
1)
corectitudine globală a programului 1p.
3. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă algoritmul ales nu
-coerență a descrierii algoritmului (*) 1p. este eficient.
-justificare a elementelor de eficiență 1p. (**) Se acordă numai 3p. dacă algoritmul este
b) Pentru program corect 8p. principial corect, dar nu oferă rezultatul cerut pentru
-operații cu fișiere: declarare, pregătire în toate seturile de date de intrare.
vederea citirii, citire din fișier 1p. (***) Se acordă punctajul numai pentru un algoritm
-determinare a valorilor cerute (*),(**) 5p. liniar (de complexitate O(n)), care utilizează eficient
-utilizare a unui algoritm eficient (***) 1p. memoria.
-declarare a variabilelor, afișare a Pe măsura citirii datelor din fișier, se memorează cel
datelor, corectitudine globală a mai mic (x), respectiv cel mai mare (y) număr din șir,
1)
programului 1p. care se actualizează, după caz, la fiecare pas.
Numerele cerute sunt x-1, respectiv y+1.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 5


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 2 din 2
Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație
Examenul de bacalaureat național 2020
Proba E. d)
Informatică
Limbajul C/C++
Varianta 6
Filieră teoretică, profil real, specializare științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv este de 3 ore.
• Identificatorii utilizați în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.

SUBIECTUL I (20 de puncte)


Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.
1. Indicați valoarea expresiei C/C++ alăturate. 3+5.0/2+2
a. 2 b. 5 c. 6 d. 7.5
2. În secvența de mai jos, toate variabilele sunt de tip întreg.
for(i=0;i<7;i++) > > > > > > >
{ for(j=0;j<7;j++) > > > > > > >
if(...........) cout<<″< ″; | printf(″< ″); > > > > > > >
else cout<<″> ″; | printf(″> ″); > > > > > > >
cout<<endl; | printf(″\n″); > > > < > > >
} > > < < < > >
> < < < < < >
Indicați expresia care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței
obținute, să se afișeze pe ecran caracterele din figura de mai sus, în această ordine.
a. j<i && i+j<6 b. j<i && i+j>6
c. j>i && i+j>6 d. j>i && i+j<6
3. Tablourile unidimensionale A și B au elementele: A=(2,20,25,36,50), iar B=(4,5,8,45,60).
Indicați succesiunea de valori care pot fi, în această ordine, elementele tabloului obținut în urma
interclasării lui A și B în ordine descrescătoare.
a. (60,45,25,20,4) b. (60,45,8,5,4,50,36,25,20,2)
c. (60,50,45,36,25,20,8,5,4,2) d. (60,50,45,36,25,8,20,5,4,2)
4. Variabila x este de tip întreg. Indicați valoarea maximă din sqrt(x)==floor(sqrt(x))
intervalul [0,102) pe care o poate avea x, astfel încât expresia
C/C++ alăturată să aibă valoarea 1.
a. 1 b. 9 c. 81 d. 99
5. În secvența alăturată toate variabilele sunt de tip întreg şi y=1; x=10; n=8;
memorează numere naturale. Indicaţi expresia care poate înlocui while(n>0)
punctele de suspensie astfel încât, în urma executării secvenţei if(n%2==0)
obţinute, variabila y să memoreze valoarea 108. { x=x*x;
n=.......;
}
else
{ y=y*x;
n=n-1;
}
a. n/2 b. n/2-1 c. n/2+1 d. n+1

Probă scrisă la informatică Varianta 6


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație
SUBIECTUL al II-lea (40 de puncte)
1. Algoritmul alăturat este reprezentat în pseudocod. citește a (număr natural)
S-a notat cu a%b restul împărțirii numărului natural a la numărul c← ←0
natural nenul b și cu [c] partea întreagă a numărului real c. ┌repetă
a. Scrieți valorile afișate dacă se citește numărul 240107. ←a; x←
│ b← ←0
(6p.)
│┌repetă
b. Scrieți cel mai mic și cel mai mare număr din intervalul ││┌dacă b%10=c atunci
←1
[105,106), cu cifre distincte, care pot fi citite astfel încât, pentru │││ x←
fiecare dintre acestea, în urma executării algoritmului, toate ││└■
valorile afișate să fie nenule. ←[b/10]
(6p.) ││ b←
c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.) │└până când b=0 sau x=1
│ scrie x
d. Scrieți în pseudocod un algoritm echivalent cu cel dat, înlocuind │ c← ←c+2
adecvat a doua structură repetă...până când cu o structură └până când c>9
repetitivă de alt tip. (6p.)
2. Variabila întreagă memorie memorează capacitatea memoriei interne a unui calculator, iar variabila
monitor memorează o literă, în funcție de tipul monitorului acestuia: litera C pentru monitor cu cristale
lichide, litera L pentru monitor LED sau litera T pentru monitor cu tub catodic.
Declarați variabila monitor și scrieți o secvență de instrucțiuni C/C++ în urma executării căreia se
afișează pe ecran capacitatea memoriei interne a calculatorului, urmată, pe aceeași linie, de un spațiu,
apoi de mesajul tehnologie actuala, dacă monitorul este cu cristale lichide sau LED, sau de
mesajul tehnologie invechita, dacă monitorul este cu tub catodic.
Exemplu: dacă variabila memorie memorează valoarea 8, iar variabila monitor memorează litera L
se afișează pe ecran
8 tehnologie actuala (6p.)
3. Un tablou unidimensional are 7 elemente, dintre care trei au valorile 4, 7 respectiv 16. Pentru a verifica
dacă în tablou există elementul cu valoarea x=7, se aplică metoda căutării binare.
Scrieţi un exemplu de valori pe care le pot avea elementele tabloului, în ordinea în care acestea apar în
tablou, astfel încât succesiunea de valori ale elementelor care se compară cu x pe parcursul aplicării
metodei indicate să fie: 4, 16, 7. (6p.)

SUBIECTUL al III-lea (30 de puncte)


1. Se citesc două numere naturale nenule, a și b, și se cere să se scrie suma divizorilor naturali comuni lui a
și b. Scrieți în pseudocod algoritmul corespunzător.
Exemplu: dacă a=20 și b=12, atunci se scrie valoarea 7 (1+2+4=7). (10p.)
2. Numim rotire spre stânga a cifrelor unui număr format din trei cifre operația prin care prima sa cifră se
mută la final, iar toate celelalte cifre se mută cu o poziție spre stânga. Cifrele nule nesemnificative aflate
pe primele poziții ale numărului obținut sunt ignorate.
Scrieți un program C/C++ care citește de la tastatură un număr natural n (n∈ ∈[2,50]), apoi cele n
elemente ale unui tablou unidimensional, numere naturale din intervalul [0,104). Programul transformă
tabloul în memorie rotind spre stânga cifrele fiecărui element al său care are exact trei cifre. Elementele
tabloului obținut sunt afișate pe ecran, separate prin câte un spațiu, iar dacă în tablou nu există niciun
număr de trei cifre, se afișează pe ecran mesajul nu exista.
Exemplu: pentru n=7 și tabloul (120,700,65,128,3456,5,501),
se obține tabloul (201,7,65,281,3456,5,15). (10p.)
3. Un șir finit se numește palindromic dacă parcurgându-l termen cu termen, de la stânga la dreapta sau
de la dreapta la stânga se obțin aceleași valori.
Exemplu: șirul 12, 13, 16, 16, 13, 12 este palindromic.
Fișierul bac.in conține un șir de cel mult 106 numere naturale din intervalul [1,103], separate prin
câte un spațiu. Șirul conține un număr par de termeni.
Se cere să se afișeze pe ecran mesajul DA, dacă numerele din șir pot fi rearanjate, astfel încât să
formeze un șir palindromic, sau mesajul NU în caz contrar. Proiectați un algoritm eficient din punctul de
vedere al timpului de executare.
Exemplu: dacă fișierul conține numerele 100 30 100 30 30 30
se afișează pe ecran DA
a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la informatică Varianta 6


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație
Examenul de bacalaureat național 2020
Proba E. d)
Informatică

BAREM DE EVALUARE ȘI DE NOTARE


(comun pentru limbajele C/C++ și Pascal)
Varianta 6
Filieră teoretică, profil real, specializare științe ale naturii

• 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.
• 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.

SUBIECTUL I (20 de puncte)


1d 2b 3c 4c 5a 5x4p.

SUBIECTUL al II - lea (40 de puncte)


1. a) Răspuns corect: 1 1 1 0 0 6p. Se acordă numai 2p. dacă s-a precizat conform
cerinței, pe poziția corespunzătoare, doar o valoare,
numai 3p. dacă sunt precizate conform cerinței, pe
pozițiile corespunzătoare, doar două valori, numai 4p.
dacă sunt precizate conform cerinței, pe pozițiile
corespunzătoare, doar trei valori și numai 5p. dacă
sunt precizate conform cerinței, pe pozițiile
corespunzătoare, doar patru valori sau dacă, în plus
față de valorile cerute, sunt afișate și alte valori.
b) Răspuns corect: 6p. Pentru fiecare număr dintre cele două se acordă câte
102468 3p. dacă este conform cerinței și numai câte 1p. dacă
986420 are în scrierea sa 5 cifre pare distincte, dar nu este
minim/maxim sau nu aparține intervalului indicat.
c) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare a variabilelor 1p. instrucțiunile repetitive este conform cerinței.
-citire a datelor 1p.
-afișare a datelor 1p.
-instrucțiune de decizie 2p.
-instrucțiuni repetitive (*) 3p.
-atribuiri 1p.
1)
-corectitudine globală a programului 1p.
d) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are o
-echivalență a prelucrării realizate, structură repetitivă de tipul cerut, principial corectă,
conform cerinței (*) 5p. dar nu este echivalent cu cel dat.
1)
-corectitudine globală a algoritmului 1p. Se va puncta orice formă de structură repetitivă de
tipul cerut.
2. Pentru rezolvare corectă 6p. (*) Se acordă câte 2p. pentru fiecare aspect specific
-declarare a variabilei 1p. (capacitate a memoriei, mesaj) conform cerinței.
-afișare a datelor (*) 4p.
1)
-corectitudine globală a secvenței 1p.
3. Pentru rezolvare corectă 6p. Se acordă câte 2p. pentru fiecare aspect specific
(tablou cu 7 elemente ordonate
crescător/descrescător, poziționare a primeia dintre
cele trei valori, poziționare a celorlalte două valori)
conform cerinței.

SUBIECTUL al III - lea (30 de puncte)


1. Pentru algoritm corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect specific
-citire a datelor 1p. (algoritm principial corect pentru calculul unei sume,
-determinare a valorii cerute (*) 6p. determinare a unui divizor al unui număr, divizori
-scriere a datelor 1p. comuni suport) conform cerinței.
-scriere principial corectă a structurilor de (**) Se va puncta orice formă principial corectă de
control, corectitudine globală a structură repetitivă sau decizională.
1)
algoritmului (**) 2p.
Probă scrisă la informatică Varianta 6
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 1 din 2
Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație
2. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect specific
-declarare a unei variabile care să (identificare a unui număr de 3 cifre, plasare a primei
memoreze un tablou unidimensional 1p. cifre a unui număr la final, eliminare a primei
-citire a elementelor tabloului 1p. cifre/mutare a cifrelor spre stânga, cifre suport,
-transformare a tabloului conform cerinței elemente suport rotite/nerotite, transformare în
(*) 6p. memorie) conform cerinței.
-afișare a datelor și tratare a cazului nu
exista 1p.
-declarare a variabilelor simple, citire a
datelor simple, corectitudine globală a
1)
programului 1p.
3. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă algoritmul ales nu
-coerență a descrierii algoritmului (*) 1p. este eficient.
-justificare a elementelor de eficiență 1p. (**) Se acordă numai 3p. dacă algoritmul este
b) Pentru program corect 8p. principial corect, dar nu oferă rezultatul cerut pentru
-operații cu fișiere: declarare, pregătire în toate seturile de date de intrare.
vederea citirii, citire din fișier 1p. (***) Se acordă punctajul numai pentru un algoritm
-verificare a proprietății cerute (*),(**) 5p. liniar (de complexitate O(n)).
-utilizare a unui algoritm eficient (***) 1p. O soluţie posibilă utilizează un vector de frecvență, ap
-declarare a variabilelor, afișare a (ap[x]=numărul de apariții ale lui x în șirul aflat în
datelor, corectitudine globală a fișier), având inițial toate elementele nule, care se
1)
programului 1p. actualizează pe măsura citirii datelor din fișier; după
citirea datelor, se parcurge vectorul de frecvență și la
final se afișează DA dacă toate valorile din acest
vector sunt pare.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 6


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2019


Proba E. d)
Informatică
Limbajul C/C++
MODEL
Filieră teoretică, profil real, specializare științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv este de 3 ore.
• Identificatorii utilizaţi în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.

SUBIECTUL I (20 de puncte)


Pentru fiecare dintre itemii de la 1 la 5, scrieţi pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.
1. Variabila întreagă n memorează un număr natural. Indicați expresia C/C++ care are valoarea 1
dacă şi numai dacă numărul memorat în n este divizibil cu 20, dar NU şi cu 19.
a. n%380==0 && n/20==0 b. n%380!=0 || !(n%19==0)
c. n%20==0 && n/19==0 d. !(n%20!=0 || n%19==0)
2. Interclasând descrescător tablourile unidimensionale (1,5,7,10,20) și (19,10,9,8,5,1) se obține:
a. (20,19,10,9,8,5,1) b. (20,19,10,10,9,8,7,5,5,1,1)
c. (20,19,10,9,8,7,5,1) d. (20,19,10,10,9,7,8,5,5,1,1)
3. Indicați expresia care are valoarea 1 dacă și numai dacă numărul memorat în variabila întreagă x
aparține intervalului (-19,19).
a. abs(-x)<19 b. abs(x)>-19
c. abs(-x)>=-19 && abs(x)<=19 d. abs(x)>=-19 || abs(-x)<=19
4. Variabilele i şi j sunt de tip întreg. Indicați expresia care poate înlocui punctele de suspensie astfel
încât, în urma executării secvenţei obţinute, să se afișeze numerele de mai jos, în această ordine.
for(i=1;i<=4;i++)
1 2 3 4
{ for(j=1;j<=4;j++)
5 6 7 8
cout<<........<<” ”; | printf(”%d ”,.......);
9 10 11 12
cout<<endl; | printf(”\n”);
13 14 15 16
}
a. i+(j-1)*4 b. i+(j+1)*4 c. (i-1)*4+j d. (i+1)*4+j
5. Pentru orice valori naturale nenule ale variabilelor x și y, z x
valoarea obținută pentru variabila z în urma executării ┌cât timp z≥y execută z z-y
secvenței este: └■
a. câtul împărțirii lui b. câtul împărțirii lui c. restul împărțirii lui d. restul împărțirii lui
y la x x la y y la x x la y

SUBIECTUL al II-lea (40 de puncte)


1. Se consideră algoritmul alăturat, reprezentat în pseudocod. citeşte n
(număr natural)
a) Scrieţi valorile afişate dacă se citește numărul 7. (6p.) k 1
b) Scrieţi cel mai mic și cel mai mare număr care pot fi citite astfel ┌cât timp n≥ ≥1 execută
încât, în urma executării algoritmului, pentru fiecare dintre │┌dacă n>k atunci i k
acestea, ultima valoare afişată să fie 10. (6p.) ││altfel i n
│└■
c) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.) │ n n-i
d) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, │┌cât timp i≥ ≥1 execută
înlocuind una dintre structurile cât timp...execută cu o ││ scrie k,' '; i i-1
structură repetitivă de alt tip. (6p.) │└■
│ k k+1
└■
Probă scrisă la informatică MODEL
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

2. Variabilele pre și pim memorează partea reală, respectiv partea imaginară ale unui număr complex
(numere reale). Declarați variabilele precizate și scrieți o secvență de instrucțiuni C/C++ care
afișează pe ecran mesajul multimea R, dacă numărul complex corespunzător aparține mulțimii
numerelor reale, sau mesajul multimea C, în caz contrar. (6p.)
3. Aplicând metoda căutării binare pentru a verifica dacă într-un tablou unidimensional există
elementul cu o valoare oarecare x, aceasta se compară cu maximum 3 elemente ale tabloului. Dați
exemplu de un astfel de tablou. (6p.)

SUBIECTUL al III-lea (30 de puncte)


1. Se citește un număr natural, n, și se cere să se scrie suma cifrelor prime ale lui n.
Exemplu: dacă n=1235405, atunci se scrie 15, iar dacă n=140, atunci se scrie 0.
Scrieţi, în pseudocod, algoritmul de rezolvare a problemei enunțate. (10p.)
2. Scrieți un program C/C++ care citește de la tastatură numărul natural n (n∈ ∈[2,102], apoi cele n
elemente ale unui tablou unidimensional, numere naturale din intervalul [0,102], și afișează pe
ecran, separate printr-un spațiu, primul număr impar și ultimul număr par memorate în tablou. Dacă
nu există două astfel de numere, se afișează pe ecran mesajul nu exista.
Exemplu: pentru n=7 și tabloul (8,2,0,5,9,4,1)se afișează pe ecran numerele 5 4
iar pentru n=7 și tabloul (9,3,1,5,5,9,1)se afișează pe ecran mesajul nu exista (10p.)
3. Un interval este numit prieten de grad n al unui șir dacă toate cele n numere întregi care aparțin
intervalului sunt valori ale unor termeni ai șirului.
Fișierul bac.txt conține un șir de cel mult 106 numere naturale din intervalul [0,102], separate
prin câte un spațiu. Se cere să se afișeze pe ecran numărul maxim n cu proprietatea că există un
interval prieten de grad n al șirului aflat în fișier. Proiectați un algoritm eficient din punctul de vedere
al timpului de executare.
Exemplu: dacă fișierul conține numerele
10 10 11 3 4 2 49 4 2 3 21 2 27 11 10 14 15 5
atunci se afișează pe ecran 4 (toate cele 4 numere întregi din [2,5] sunt termeni ai șirului).
a) Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b) Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la informatică MODEL


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Examenul de bacalaureat naţional 2019
Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)
MODEL
Filieră teoretică, profil real, specializare științe ale naturii
• 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.
• 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.
SUBIECTUL I (20 de puncte)
1d 2b 3a 4c 5d 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 1 2 2 3 3 3 4 6p. Se acordă numai 2p. dacă doar primele trei numere
sunt precizate corect, numai 4p. dacă doar primele 6
numere sunt precizate corect sau dacă sunt precizate,
în plus, și alte numere.
b) Răspuns corect: 46,55 6p. Se acordă câte 3p. pentru fiecare număr conform
cerinței.
c) Pentru program corect 10p. (*) Se acordă numai 2p. dacă numai una dintre
-declarare variabile 1p. instrucțiunile repetitive este conform cerinței.
-citire date 1p.
-afişare date 1p.
-instrucţiune de decizie 2p.
-instrucţiuni repetitive (*) 3p.
-atribuiri 1p.
1)
-corectitudine globală a programului 1p.
d) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are o
-echivalenţă a prelucrării realizate, structură repetitivă conform cerinţei, principial corectă,
conform cerinţei (*) 5p. dar nu este echivalent cu cel dat.
1)
-corectitudine globală a algoritmului 1p. Se va puncta orice formă corectă de structură
repetitivă conform cerinței.
2. Pentru rezolvare corectă 6p. (*) Se acordă câte 1p. pentru fiecare aspect (afișare a
-declarare a variabilelor 2p. unui mesaj, mesaje cerute, corespondență caz-mesaj) al
-afișare mesaje conform cerinței (*) 3p. cerinței.
1)
-corectitudine globală a secvenței 1p.
3. Pentru răspuns corect 6p. Se acordă numai 3p. dacă tabloul are elemente
ordonate, dar dimensiunea acestuia nu corespunde
numărului maxim de comparații).
SUBIECTUL al III - lea (30 de puncte)
1. Pentru subprogram corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinței
-citire a datelor 1p. (acces la o cifră a numărului, cifre prime suport,
-determinare a numărului cerut (*) 6p. algoritm de însumare principial corect).
-scriere a rezultatului 1p.
-scriere principial corectă a structurilor de
control 2p.
2. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinței
-declarare a unei variabile de tip tablou 1p. (identificare a unui număr par/impar, identificare a
-citire a datelor 1p. primului număr dintr-o serie, identificare a ultimului
-determinare a numerelor cerute (*) 6p. număr dintr-o serie).
-afișare date și tratare caz nu exista 1p.
-declarare a variabilelor simple,
1)
corectitudine a globală a programului 1p.

Probă scrisă la informatică MODEL


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare şi de notare
Pagina 1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
3. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă algoritmul ales nu
-coerenţă a descrierii algoritmului (*) 1p. este eficient.
-justificare a unor elemente de eficienţă 1p. (**) Se acordă numai 3p. dacă algoritmul este
b) Pentru program corect 8p. principial corect, dar nu oferă rezultatul cerut pentru
-operaţii cu fişiere: declarare, pregătire în toate seturile de date de intrare.
vederea citirii, citire din fişier 1p. (***) Se acordă punctajul numai pentru un algoritm liniar.
-determinare a valorii cerute (*),(**) 5p. O soluţie posibilă construiește, pe măsura citirii
-utilizarea unui algoritm eficient (***) 1p. datelor, un vector de apariții, apoi determină în acesta
-declarare a variabilelor, afișare a o secvență de valori nenule de lungime maximă,
datelor, corectitudine globală a memorând lungimea curentă și lungimea maximă,
1)
programului 1p. care se actualizează după caz.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică MODEL


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare şi de notare
Pagina 2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2019


Proba E. d)
Informatică
Limbajul C/C++
Simulare
Filieră teoretică, profil real, specializare științe ale naturii
• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.
• Timpul de lucru efectiv este de 3 ore.
• Identificatorii utilizaţi în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.
SUBIECTUL I (20 de puncte)
Pentru fiecare dintre itemii de la 1 la 5, scrieţi pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.
1. Indicați expresia C/C++ cu valoarea 1.
a. 21/3*19==3/19*21 b. 21/19*3==19/3*21
c. 19/3*21==3/21*19 d. 19/21*3==3/19*21
2. Variabilele i şi j sunt de tip întreg. Indicați expresia care poate înlocui punctele de suspensie astfel
încât, în urma executării secvenţei obţinute, să se afișeze numerele de mai jos, în această ordine.
for(i=0;i<5;i++)
0 1 2 3 4
{ for(j=0;j<5;j++)
2 3 4 5 6
cout<<........<<” ”; | printf(”%d ”,.......);
4 5 6 7 8
cout<<endl; | printf(”\n”);
6 7 8 9 10
}
8 9 10 11 12
a. i+2*j b. i+2*(j-1) c. 2*(i-1)+j d. 2*i+j
3. În secvența alăturată toate variabilele sunt întregi. Indicați nr=0; d=1;
expresia cu care pot fi înlocuite punctele de suspensie, astfel while(..........)
încât, în urma executării secvenței obținute, valoarea lui nr { if(n%d==0) nr=nr+2;
să fie egală cu numărul divizorilor pozitivi ai lui n. d=d+1;
}
if(d*d==n)nr=nr+1;
a. d*d<n b. d<n/2 c. d<n d. d<2*n
4. În urma interclasării în ordine crescătoare a tablourilor A și B se obține tabloul cu elementele
(10,12,23,25,2019,2209), în această ordine. Elementele tablourilor A și B pot fi (în ordinea
memorării lor în tablou):
a. A=(10,12) b. A=(10,2019)
B=(2019,2209,23,25) B=(2209,25,23,12)
c. A=(1,1,2,2,20,22) d. A=(1,1,2,2,20,22)
B=(0,2,3,5,19,9) B=(19,9,5,3,2,0)
5. Indicați intervalul căruia îi aparține valoarea variabilei întregi x, astfel încât abs(x-10)<2019
expresia C/C++ alăturată să aibă valoarea 1.
a. [-2009,2019) b. (-2009,2029) c. (-2019,2029) d. (-2029,2029]

Probă scrisă la informatică - Limbajul C/C++ Simulare


Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al II-lea (40 de puncte)


1. Algoritmul alăturat este reprezentat în pseudocod. citeşte a,b,k
S-a notat cu a%b restul împărţirii numărului natural a la (numere naturale, 1≤a≤b, k>1)
numărul natural nenul b şi cu [c] partea întreagă a pm0; y0; i b
numărului real c. ┌cât timp i≥a execută
a) Scrieţi valoarea afişată dacă se citesc, în această │ xi; p0
ordine, numerele 5, 19 și 4. (6p.) │┌cât timp x%k=0 execută
││ x[x/k]; p p+1
b) Dacă pentru variabila b se citeşte numărul 2019, │└■
iar pentru variabila k se citeşte numărul 5, scrieţi │┌dacă p≠0 și (p<pm sau pm=0)atunci
cea mai mică şi cea mai mare valoare care pot fi ││ pm p; yi
citite pentru variabila a astfel încât, în urma │└■
executării algoritmului, pentru fiecare dintre │ ii-1
acestea, valoarea afişată să fie 0. (6p.) └■
scrie y
c) Scrieţi programul C/C++ corespunzător algoritmului
dat. (10p.)
d) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, înlocuind prima structură
cât timp...execută cu o structură repetitivă de tip pentru...execută. (6p.)
2. Despre un eveniment care a avut loc în anul 2019 se memorează în variabilele întregi zi și luna,
ziua, respectiv luna în care s-a desfășurat acesta. Scrieți o secvență de instrucțiuni în urma
executării căreia să se afișeze pe ecran numărul de zile scurse de la începutul anului până în ziua
desfășurării evenimentului, inclusiv, dacă evenimentul a avut loc în una dintre primele două luni ale
anului, sau mesajul primavara-vara, în caz contrar.
Exemplu: dacă zi=1 și luna=2, se afișează pe ecran 32. (6p.)
3. Un tablou unidimensional are 7 elemente, două dintre acestea având valorile 10, respectiv 2020.
Scrieți un exemplu de valori pentru elementele tabloului, în ordinea în care ele pot apărea în acesta,
astfel încât, aplicând metoda căutării binare pentru a verifica dacă în tablou există elementul cu
valoarea x=2019, aceasta să fie comparată cu trei elemente. (6p.)

SUBIECTUL al III-lea (30 de puncte)


1. Se citește un număr natural, n (n≥10), și se cere să se scrie numărul obținut din n prin inserarea,
între oricare două cifre alăturate ale sale, a valorii absolute a diferenței acestora.
Exemplu: dacă n=7255, atunci se scrie 7523505.
Scrieţi, în pseudocod, algoritmul de rezolvare a problemei enunțate. (10p.)
2. Scrieți un program C/C++ care citește de la tastatură numărul natural n (n∈
∈[2,50]), apoi n numere
naturale din intervalul [0,102), elemente ale unui tablou unidimensional. Programul modifică
tabloul în memorie, înlocuind fiecare element al tabloului din mulțimea {2,0,1,9} cu suma tuturor
acestor elemente. Elementele tabloului obținut sunt afișate pe ecran, separate prin câte un spațiu.
Exemplu: pentru n=11 și tabloul (7,9,0,57,9,1,20,19,1,16,2) se obține tabloul
(7,22,22,57,22,22,20,19,22,16,22), deoarece 9+0+9+1+1+2=22,
iar pentru n=3 și tabloul (7,5,3) se obține tot tabloul (7,5,3). (10p.)
3. Un șir format din 2·n numere naturale se numește paritar dacă fiecare număr par dintre primii săi n
termeni fie are aceeași paritate cu oricare dintre ultimii săi n termeni, fie este strict mai mic decât
oricare număr impar aflat printre aceștia.
Fișierul bac.txt conține numere naturale din intervalul [0,106]: pe prima linie un număr nenul, n,
iar pe a doua linie un șir de 2·n numere, separate prin câte un spațiu. Cel puțin unul dintre primii n
termeni ai șirului este par. Se cere să se afișeze pe ecran mesajul DA, în cazul în care șirul aflat în
fișier este paritar, sau mesajul NU, în caz contrar. Proiectați un algoritm eficient din punctul de
vedere al timpului de executare și al memoriei utilizate.
Exemplu: dacă fișierul are unul dintre conținuturile de mai jos, se afișează pe ecran mesajul DA.
5 5
20 3 91 4 15 25 49 98 53 16 20 3 91 4 15 24 48 98 52 16
a) Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b) Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la informatică - Limbajul C/C++ Simulare


Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Examenul de bacalaureat naţional 2019
Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)
Simulare
Filieră teoretică, profil real, specializare științe ale naturii
• 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.
• 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.
SUBIECTUL I (20 de puncte)
1d 2d 3a 4b 5b 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 12 6p.
b) Răspuns corect: 2016, 2019 6p. Se acordă câte 3p. pentru fiecare număr conform
cerinței.
c) Pentru program corect 10p. (*) Se acordă numai 1p. dacă instrucțiunea de decizie
-declarare variabile 1p. este principial corectă, dar expresia evaluată nu este
-citire date 1p. conform cerinței.
-afişare date 1p. (**) Se acordă numai 2p. dacă numai una dintre
-instrucţiune de decizie (*) 2p. instrucțiunile repetitive este conform cerinței.
-instrucţiuni repetitive (**) 3p.
-atribuiri 1p.
1)
-corectitudine globală a programului 1p.
d) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are o
-echivalenţă a prelucrării realizate, structură repetitivă conform cerinţei, principial corectă,
conform cerinţei (*) 5p. dar nu este echivalent cu cel dat.
1)
-corectitudine globală a algoritmului 1p. Se va puncta orice formă principial corectă de
structură repetitivă conform cerinței.
2. Pentru rezolvare corectă 6p. (*) Se acordă numai 2p. dacă s-a determinat corect
-determinare a numărului cerut (*) 4p. numărul cerut numai pentru una dintre cele două luni.
-afișare a datelor conform cerinței 1p.
1)
-corectitudine globală a secvenței 1p.
3. Pentru răspuns corect 6p. Se acordă numai 3p. dacă tabloul are elemente
ordonate, dar valorile acestora nu corespund numărului
de comparații indicat.
SUBIECTUL al III - lea (30 de puncte)
1. Pentru subprogram corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinței
-citire a datelor 1p. (inserare a unor cifre, valoare absolută a diferenței
-determinare a numărului cerut (*) 6p. unor cifre alăturate, cifre suport).
-scriere a rezultatului 1p.
-scriere principial corectă a structurilor de
control 2p.
2. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinței
-declarare a unei variabile de tip tablou 1p. (elemente suport care trebuie înlocuite, algoritm
-citire a datelor 1p. principial corect de determinare a unei sume, înlocuire
-obținere a tabloului cerut (*) 6p. în memorie).
-afișare a datelor 1p.
-declarare a variabilelor simple,
1)
corectitudine a globală a programului 1p.

Probă scrisă la informatică Simulare


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare şi de notare
Pagina 1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
3. a) Pentru răspuns corect 2p.
(*) Se acordă punctajul chiar dacă algoritmul ales nu
-coerenţă a descrierii algoritmului (*) 1p.
este eficient.
-justificare a unor elemente de eficienţă 1p.
(**) Se acordă numai 3p. dacă algoritmul este
b) Pentru program corect principial corect, dar nu oferă rezultatul cerut pentru
8p.
-operaţii cu fişiere: declarare, pregătire în toate seturile de date de intrare.
vederea citirii, citire din fişier 1p. (***) Se acordă punctajul numai pentru un algoritm liniar,
-verificare a proprietății cerute (*),(**) 5p. care utilizează eficient memoria.
-utilizarea unui algoritm eficient (***) 1p. O soluţie posibilă determină, pe măsura citirii datelor,
-declarare a variabilelor, afișare a cel mai mare număr par (p1), dintre primele n numere
datelor, corectitudine globală a din șir, precum și cel mai mic număr impar (i2) dintre
1)
programului 1p. ultimele n numere din șir. Inițial, p1=-1, i2=1000001.
Șirul are proprietatea cerută dacă p1<i2.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Simulare


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare şi de notare
Pagina 2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2019


Proba E. d)
Informatică
Limbajul C/C++
Varianta 1
Filieră teoretică, profil real, specializare științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv este de 3 ore.
• Identificatorii utilizaţi în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.

SUBIECTUL I (20 de puncte)


Pentru fiecare dintre itemii de la 1 la 5, scrieţi pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.
1. Variabilele x și y sunt întregi. Indicați expresia C/C++ echivalentă cu (x<3)&&(y>=5)
cea alăturată.
a. !((x<3)||(y>=5)) b. !(x>=3)&&(y<5)
c. !(!(x<3)||!(y>=5)) d. !((x>=3)&&(y<5))
2. Tabloul unidimesional v are elementele: ┌pentru i 1,3 execută
v1=4, v2=3, v3=2, v4=1. │ m i
Știind că s-a notat cu x↔ ↔y interschimbarea valorilor │┌pentru k i+1,4 execută
variabilelor x şi y, indicați cu ce se pot înlocui punctele ││┌dacă vk<vm atunci
de suspensie în algoritmul de sortare scris alăturat, │││ m k
pentru a ordona crescător cele patru elemente ale ││└■
tabloului v. │└■
│ .........
└■
a. vi↔vm b. vk↔vm c. vk↔m d. vi↔m
3. Variabilele i şi j sunt de tip întreg. Indicați expresia care poate înlocui punctele de suspensie
astfel încât, în urma executării secvenţei obţinute, să se afișeze numerele de mai jos.
for(i=1;i<=5;i++)
4 4 4 4 4
{ for(j=1;j<=5;j++)
4 3 3 3 3
if(......) cout<<5-i<<’ ’; | printf(”%d ”,5-i);
4 3 2 2 2
else cout<<5-j<<’ ’; | printf(”%d ”,5-j);
4 3 2 1 1
cout<<endl; | printf(”\n”);
4 3 2 1 0
}
a. i<j b. i>j c. i+j<5 d. i+j>5
4. Variabilele x şi y sunt de tip real. Indicaţi instrucţiunea care if(x<0) y=-x;
realizează o prelucrare echivalentă cu cea alăturată. else y=x;
a. y=sqrt(x); b. y=abs(x); c. y=floor(x); d. y=ceil(x);
5. În secvenţa de mai jos toate variabilele sunt de tip întreg și memorează câte un număr natural
nenul.
Indicați expresia care poate înlocui punctele de d=1;
suspensie, astfel încât, în urma executării secvenței while(..............)
obținute, variabila cm să memoreze cel mai mare divizor { if(x%d==0 && y%d==0)
comun al numerelor memorate în variabilele x și y. cm=d;
d=d+1;
}
a. d*d<=x && d*d<=y b. d<=x/2 && d<=y/2
c. d>x && d<y d. d<=x && d<=y

Probă scrisă la informatică Varianta 1


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al II-lea (40 de puncte)


1. Algoritmul alăturat este reprezentat în pseudocod. citeşte n,k
S-a notat cu a%b restul împărţirii numărului natural a la numărul (numere naturale, k număr prim)
natural nenul b şi cu [c] partea întreagă a numărului real c. p 0; i 1
┌cât timp i≤n execută
a) Scrieţi valoarea afişată dacă se citesc, în această ordine, │ x i
numerele 10 și 3. (6p.) │┌cât timp x%k=0 execută
b) Dacă pentru k se citeşte numărul 5, scrieţi trei numere care ││ x [x/k]; p p+1
pot fi citite pentru n astfel încât, în urma executării │└■
algoritmului, pentru fiecare dintre acestea, valoarea afişată să │ i i+1
fie 10. (6p.) └■
scrie p
c) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)
d) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, înlocuind prima structură
cât timp...execută cu o structură de tip pentru...execută. (6p.)
2. Variabilele e_luna și e_zi, de tip întreg, memorează luna și respectiv ziua desfășurării unui
eveniment din anul 2019, iar variabilele d_luna și d_zi memorează luna și respectiv ziua
corespunzătoare unei date calendaristice din același an. Scrieţi o expresie C/C++ care are valoarea
1 dacă și numai dacă data calendaristică precizată este anterioară datei desfășurării evenimentului.
(6p.)
3. Pentru a verifica dacă în tabloul unidimensional (0,2,5,7,16,21,49) există elementul cu
valoarea x=15, se aplică metoda căutării binare. Scrieți succesiunea de elemente din tablou ale
căror valori se compară cu valoarea lui x pe parcursul aplicării metodei indicate. (6p.)

SUBIECTUL al III-lea (30 de puncte)


1. Se citește un număr natural, n (n≥10), cu cel puțin o cifră impară, și se cere să se scrie valoarea 1
dacă toate cifrele impare ale lui n sunt egale între ele sau valoarea 0 în caz contrar. Scrieți, în
pseudocod, algoritmul de rezolvare pentru problema enunțată.
Exemplu: dacă n=7727470 sau n=7240 atunci se scrie valoarea 1, iar dacă n=7921470 atunci
se scrie valoarea 0. (10p.)
2. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈ ∈[2,20]), apoi cele n
elemente ale unui tablou unidimensional, numere naturale din intervalul [0,102), dintre care cel puțin
unul are o singură cifră şi cel puţin unul are două cifre. Programul afișează pe prima linie a ecranului
toate elementele tabloului formate din câte o singură cifră, iar pe a doua linie a ecranului celelalte
elemente ale tabloului. Numerele de pe aceeași linie a ecranului sunt separate prin câte un spațiu.
Exemplu: pentru n=6 și tabloul (3,14,2,1,7,21) se afişează pe ecran, nu neapărat în această
ordine:
3 2 1 7
14 21 (10p.)
3. Se consideră șirul definit astfel: f0=0; f1=x; f2=2⋅⋅x-1; fi=fi-1+fi-2-fi-3, unde x și i sunt numere
naturale nenule, i>2. De exemplu, dacă x=5 șirul este: 0, 5, 9, 14, 18, 23, 27, 32, 36, 41, ...
Se citesc de la tastatură două numere naturale, n și x, (n∈ ∈[1,104], x∈ ∈[1,102)), unde x
reprezintă al doilea termen al șirului precizat mai sus. Se cere să se scrie în fișierul bac.txt primii
n termeni ai șirului, separați prin câte un spațiu, în ordine inversă a apariției lor în șir. Proiectați un
algoritm eficient din punctul de vedere al timpului de executare și al spațiului de memorie utilizat.
Exemplu: dacă n=8 și x=5, atunci fișierul conține numerele 32 27 23 18 14 9 5 0
a) Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b) Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la informatică Varianta 1


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Examenul de bacalaureat naţional 2019
Proba E. d)
Informatică

BAREM DE EVALUARE ȘI DE NOTARE


(comun pentru limbajele C/C++ şi Pascal)
Varianta 1
Filieră teoretică, profil real, specializare științe ale naturii

• 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.
• 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.

SUBIECTUL I (20 de puncte)


1c 2a 3a 4b 5d 5x4p.

SUBIECTUL al II - lea (40 de puncte)


1. a) Răspuns corect: 4 6p.
b) Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare dintre cele trei
numere conform cerinţei (oricare dintre numerele
45,46,47,48,49).
c) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiunile repetitive este conform cerinței.
-citire date 1p.
-afişare date 1p.
-instrucţiuni repetitive (*) 4p.
-atribuiri 2p.
1)
-corectitudine globală a programului 1p.
d) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are o
-echivalenţă a prelucrării realizate, structură repetitivă conform cerinţei, principial corectă,
conform cerinţei (*) 5p. dar nu este echivalent cu cel dat.
1)
-corectitudine globală a algoritmului 1p. Se va puncta orice formă corectă de structură
repetitivă conform cerinței.
2. Pentru rezolvare corectă 6p. (*) Se acordă numai 3p. dacă doar unul dintre cazuri
-verificare a condiției impuse (*) 5p. (date în aceeași lună, date în luni diferite) s-a tratat
1)
-corectitudine globală a secvenței 1p. conform cerinței.
3. Răspuns corect: 7, 21, 16 6p. Se acordă numai 2p. dacă s-a precizat corect doar prima
valoare, numai 4p. dacă s-au precizat corect doar
primele două valori sau dacă, pe lângă valorile corecte,
s-au precizat și alte valori.

SUBIECTUL al III - lea (30 de puncte)


1. Pentru algoritm corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinței
-citire a datelor 1p. (identificare a unei cifre pare/impare, cifre suport,
-verificare a proprietății cerute (*) 6p. algoritm principial corect de verificare a unei
-scriere a datelor 1p. proprietăți).
-scriere principial corectă a structurilor de (**) Se va puncta orice formă corectă de structură
control, corectitudine globală a repetitivă sau decizională.
1)
algoritmului (**) 2p.
2. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinţei
-declarare a variabilei de tip tablou 1p. (identificare a numerelor de o cifră/două cifre, numere
-citire a elementelor tabloului 2p. suport pentru cele două linii, format al afișării).
-afişare a numerelor conform cerinţei (*) 6p.
-declarare a tuturor variabilelor simple,
citirea datelor simple, corectitudine
1)
globală a programului 1p.

Probă scrisă la informatică Varianta 1


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare şi de notare
Pagina 1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
3. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă algoritmul ales nu
-coerenţă a descrierii algoritmului (*) 1p. este eficient.
-justificare a elementelor de eficienţă 1p. (**) Se acordă numai 3p. dacă algoritmul este
b) Pentru program corect 8p. principial corect, dar nu oferă rezultatul cerut pentru
-operaţii cu fişiere: declarare, pregătire în toate seturile de date de intrare.
vederea scrierii, scriere în fişier 1p. (***) Se acordă punctajul numai pentru un algoritm liniar
-determinare a valorilor cerute (*),(**) 5p. și care utilizează eficient memoria.
-utilizare a unui algoritm eficient (***) 1p. O soluţie posibilă generează termenii șirului deducând
-declarare a variabilelor, citire a datelor, forma generală a unui astfel de termen (pentru i≥0):
1)
corectitudine globală a programului 1p. fi=i•x-[i/2].
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 1


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare şi de notare
Pagina 2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2019


Proba E. d)
Informatică
Limbajul C/C++
Varianta 2
Filieră teoretică, profil real, specializare științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv este de 3 ore.
• Identificatorii utilizaţi în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.

SUBIECTUL I (20 de puncte)


Pentru fiecare dintre itemii de la 1 la 5, scrieţi pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.
1. O expresie C/C++ care are valoarea 0 este:
a. ’m’<’n’ b. ’m’==’M’
c. ’M’==’m’+’N’-’n’ d. ’N’=='M’+1
2. În secvența alăturată toate variabilele sunt întregi. Indicați expresia s=0;
cu care pot fi înlocuite punctele de suspensie, astfel încât, în urma for(i=1;i<=10;i++)
executării secvenței obținute, să se afișeze valoarea sumei s=s+..........;
primelor 20 de numere naturale nenule.
a. 21 b. 10 c. i d. 2*i
3. Tablourile unidimensionale S1, S2 şi S3 sunt scrise alăturat. S1=(7,16,27,47,52);
Algoritmul de căutare binară se poate aplica direct, fără alte S2=(21,69,36,24,16);
prelucrări prealabile: S3=(99,83,71,59,25,12).
a. doar tabloului S1 b. doar tablourilor S1 şi S3
c. doar tablourilor S2 şi S3 d. oricăruia dintre cele trei tablouri
4. Variabila x este de tip real şi are o valoare pozitivă. O expresie C/C++ care are ca valoare partea
fracţionară a numărului memorat în variabila x este:
a. ceil(x)-x+1 b. ceil(x) c. x-floor(x) d. x/10
5. În secvenţa alăturată toate variabilele sunt de tip întreg (n>1). ok=1;d=2;
Indicaţi expresia cu care pot fi înlocuite punctele de suspensie while(ok==1 && ......)
astfel încât, în urma executării secvenţei obţinute, variabila ok să if(n%d==0) ok=0;
aibă valoarea 1 dacă şi numai dacă numărul memorat în else d=d+1;
variabila n este prim.
a. d+d<n b. d+d>=n c. d*d<n d. d*d<=n

SUBIECTUL al II-lea (40 de puncte)


1. Algoritmul alăturat este reprezentat în pseudocod. citeşte n
S-a notat cu a%b restul împărţirii numărului natural a la numărul (număr natural)
natural nenul b şi cu [c] partea întreagă a numărului real c. m 0; x 1
┌cât timp x≤9 execută
a) Scrieţi valoarea afişată dacă se citește numărul 27102. (6p.) │ cp n
b) Scrieţi trei numere distincte din intervalul [10,9999] care pot │┌cât timp cp≠0 execută
fi citite, astfel încât în urma executării algoritmului, pentru ││┌dacă cp%10=x atunci
fiecare dintre acestea, valoarea afişată să fie 11. (6p.) │││ m m*10+x
││└■
c) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.) ││ cp [cp/10]
│└■
d) Scrieţi în pseudocod un algoritm, echivalent cu cel dat,
│ x x+1
înlocuind prima structură cât timp…execută cu o structură └■
de tip pentru…execută. (6p.) scrie m

Probă scrisă la informatică Varianta 2


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

2. Variabilele reale x și y memorează abscisa, respectiv ordonata unui punct în sistemul de


coordonate xOy. Scrieți o secvență de instrucțiuni C/C++ prin care se afișează pe ecran mesajul
interior, dacă punctul precizat mai sus se află în interiorul sau pe conturul unui cerc cu centrul în
originea sistemului de coordonate și raza egală cu 1, sau mesajul exterior, în caz contrar. (6p.)
3. Variabilele i şi j sunt de tip întreg. Scrieţi for(i=1;i<=5;i++){
secvenţa alăturată, înlocuind punctele de for(.....)
suspensie astfel încât, în urma executării cout<<j<<' '; | printf("%d ",j);
secvenţei obţinute, să se afişeze pe ecran, cout<<endl; | printf("\n");
în această ordine, numerele de mai jos. }
5 4 3 2 1
4 3 2 1
3 2 1
2 1
1 (6p.)

SUBIECTUL al III-lea (30 de puncte)


1. Se citesc două numere naturale, a și b (2≤a<b), și se cere să se scrie cel mai mare număr natural
din intervalul [a,b] pentru care produsul divizorilor săi impari pozitivi este strict mai mare decât el
însuși sau 0 dacă nu există niciun astfel de număr. Scrieți, în pseudocod, algoritmul de rezolvare
pentru problema enunțată.
Exemplu: dacă a=14 și b=19, atunci se scrie 18 (1·3·9=27>18). (10p.)
2. Numim segment de dimensiune m al unui tablou unimensional, tabloul obținut din acesta păstrând
doar elementele aflate pe primele m poziții ale sale.
∈[2,20]), apoi cele n
Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈
elemente ale unui tablou unidimensional, numere naturale din intervalul [0,104].
Programul determină un segment de dimensiune maximă al tabloului citit, cu toate elementele egale,
și afișează pe ecran valoarea acestei dimensiuni.
Exemplu: pentru n=5 și tabloul (2,2,2,5,2), se afişează pe ecran 3. (10p.)
3. Fişierul bac.txt conţine un şir de cel mult 106 numere naturale din intervalul [0,103], separate
prin câte un spaţiu. Șirul are cel puțin doi termeni pari.
Se cere să se afișeze pe ecran toți termenii pari ai șirului, în ordine crescătoare, separați prin câte
un spaţiu, ca în exemplu. Proiectați un algoritm eficient din punctul de vedere al timpului de
executare.
Exemplu: dacă fişierul are conţinutul
12 2 3 1 2 5
se afişează pe ecran:
2 2 12
a) Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b) Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la informatică Varianta 2


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Examenul de bacalaureat naţional 2019
Proba E. d)
Informatică

BAREM DE EVALUARE ȘI DE NOTARE


(comun pentru limbajele C/C++ şi Pascal)
Varianta 2
Filieră teoretică, profil real, specializare științe ale naturii

• 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.
• 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.

SUBIECTUL I (20 de puncte)


1b 2a 3b 4c 5d 5x4p.

SUBIECTUL al II - lea (40 de puncte)


1. a) Răspuns corect: 1227 6p.
b) Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare număr conform
cerinței (oricare dintre numerele 11, 101, 110, 1001,
1010, 1100).
c) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiunile repetitive este conform cerinței.
-citire date 1p.
-afişare date 1p.
-instrucțiune de decizie 2p.
-instrucţiuni repetitive (*) 3p.
-atribuiri 1p.
1)
-corectitudine globală a programului 1p.
d) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are o
-echivalenţă a prelucrării realizate, structură repetitivă conform cerinţei, principial corectă,
conform cerinţei (*) 5p. dar nu este echivalent cu cel dat.
1)
-corectitudine globală a algoritmului 1p. Se va puncta orice formă corectă de structură
repetitivă conform cerinței.
2. Pentru rezolvare corectă 6p. Se acordă câte 2p. pentru afișarea mesajului cerut în
fiecare caz (în interiorul cercului, pe conturul cercului,
în exteriorul cercului).
3. Pentru rezolvare corectă 6p. (*) Se acordă numai 3p. dacă doar unul dintre aspecte
-afișare a valorilor cerute (*) 5p. (valori afișate pe fiecare linie, ordine descrescătoare)
1)
-corectitudine globală a secvenței 1p. este conform cerinței.

SUBIECTUL al III - lea (30 de puncte)


1. Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinței
-citire a datelor 1p. (divizori suport, algoritm principial corect de calcul al
-determinare a numărului cerut (*) 6p. unui produs, număr maxim cu proprietatea cerută).
-scriere principial corectă a structurilor de (**) Se va puncta orice formă corectă de structură
control (**) 1p. repetitivă sau decizională.
-scriere a rezultatului și tratare a cazului 0 1p.
1)
-corectitudine globală a algoritmului 1p.
2. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinței
-declarare a variabilei de tip tablou 1p. (elemente care formează un segment, segment cu
-citire a datelor 1p. elemente egale, dimensiune maximă).
-determinare a valorii cerute (*) 6p.
-afişare a datelor 1p.
-declarare a variabilelor simple,
1)
corectitudine globală a programului 1p.

Probă scrisă la informatică Varianta 2


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare şi de notare
Pagina 1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
3. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă algoritmul ales nu
-coerenţă a descrierii algoritmului (*) 1p. este eficient.
-justificare a unor elemente de eficienţă 1p. (**) Se acordă numai 3p. dacă algoritmul este
b) Pentru program corect 8p. principial corect, dar nu oferă rezultatul cerut pentru
-operaţii cu fişiere: declarare, pregătire în toate seturile de date de intrare.
vederea citirii, citire din fişier 1p. (***) Se acordă punctajul numai pentru un algoritm liniar.
-determinare a valorilor cerute (*),(**) 5p. O soluţie posibilă utilizează un vector de frecvență (în
-utilizare a unui algoritm eficient (***) 1p. care vi este numărul de apariții ale valorii i) actualizat
-declarare a variabilelor, afișare a pe măsura citirii din fișier. Vectorul de frecvență este
datelor, corectitudine globală a parcurs după completarea sa, doar pentru indicii pari i,
1)
programului 1p. afișând de vi ori fiecare valoare i.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 2


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare şi de notare
Pagina 2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2019


Proba E. d)
Informatică
Limbajul C/C++
Varianta 4
Filieră teoretică, profil real, specializare științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv este de 3 ore.
• Identificatorii utilizaţi în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.

SUBIECTUL I (20 de puncte)


Pentru fiecare dintre itemii de la 1 la 5, scrieţi pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.
1. Indicați numerele pe care le pot memora variabilele întregi x şi y, x/2+x%y-x/y==0
astfel încât valoarea expresiei C/C++ alăturate să fie 1.
a. x=4 şi y=2 b. x=6 şi y=3 c. x=8 şi y=4 d. x=10 şi y=0
2. Variabila x este de tip char şi memorează o literă mică a alfabetului englez. Indicați expresia
C/C++ care are valoare nenulă dacă şi numai dacă litera memorată în variabila x este o vocală. Se
consideră vocale literele a, e, i, o, u.
a. x==’a’ || x==’e’ || x==’i’ || x==’o’ || x==’u’
b. x==”a” && x==”e” && x==”i” && x==”o” && x==”u”
c. ’a’<=x && x<=’u’
d. x==a || x==e || x==i || x==o || x==u
3. Pentru a căuta un număr x într-un tablou în care sunt memorate 7 numere, ordonate strict
descrescător, căutarea binară este o metodă care:
a. se poate aplica numai dacă toate elementele tabloului sunt valori binare (0 sau 1)
b. se poate aplica numai dacă, înaintea căutării, numerele sunt ordonate strict crescător
c. conduce la un număr de maximum 7 comparații ale lui x cu elemente ale tabloului, dacă x nu
aparține acestuia
d. conduce la un număr de maximum 3 comparații ale lui x cu elemente ale tabloului, dacă x aparține
acestuia
4. Variabilele x şi y sunt de tip real. Indicaţi instrucţiunea care realizează o y=x*x;
prelucrare echivalentă cu cea alăturată.
a. y=sqrt(x); b. y=pow(x,2); c. y=floor(x); d. y=ceil(x);
5. În secvența de mai jos toate variabilele sunt de tip întreg.
if(x==0)if(y==0)if(z==0)w=1;else w=2;else w=3;
Indicați o secvență echivalentă cu aceasta.
a. if(x==0 && y!=0) w=1;
if(x!=0 && y==0 && z==0) w=2;
if(x!=0 && y!=0 && z==0) w=3;
b. if(x==0 && y==0 && z!=0) w=1;
if(x!=0 && y!=0 && z==0) w=2;
if(x!=0 && y==0 && z!=0) w=3;
c. if(x==0 && y==0) w=1;
if(x==0 && y!=0 && z==0) w=2;
if(x==0 && y!=0 && z!=0) w=3;
d. if(x==0 && y==0 && z==0) w=1;
if(x==0 && y==0 && z!=0) w=2;
if(x==0 && y!=0) w=3;
Probă scrisă la informatică Varianta 4
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al II-lea (40 de puncte)


citeşte m,n,p,q
1. Algoritmul alăturat este reprezentat în pseudocod.
≤q)
(numere naturale nenule, p≤
S-a notat cu a%b restul împărţirii numărului natural a la
s1 0; s2 0
numărul natural nenul b.
┌cât timp p≤ ≤q execută
a) Scrieţi valoarea afişată dacă se citesc, în această │┌dacă p%m=0 sau p%n=0 atunci
ordine, numerele 4, 3, 11 și 25. (6p.) ││ s1 s1+1
│└■
b) Dacă pentru m, n și p se citesc numerele 3, 5, │┌dacă p%m=0 şi p%n=0 atunci
respectiv 1, scrieţi două numere care pot fi citite pentru ││ s2 s2+1
q astfel încât, în urma executării algoritmului, pentru │└■
fiecare dintre acestea, valoarea afişată să fie 10. (6p.) │ p p+1
c) Scrieţi programul C/C++ corespunzător algoritmului └■
dat. (10p.) s s1-2*s2
scrie s
d) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, înlocuind structura cât timp...execută
cu o structură repetitivă de tip pentru...execută. (6p.)
2. Variabilele întregi x și y memorează câte un număr natural, reprezentând abscisa, respectiv
ordonata unui punct, în sistemul de coordonate xOy.
Scrieți o secvență de instrucțiuni C/C++ prin care se afișează pe ecran mesajul axa Ox dacă
punctul se află mai aproape de axa Ox a sistemului de coordonate, mesajul axa Oy dacă punctul
se află mai aproape de axa Oy, iar altfel mesajul egal. (6p.)
3. Într-un șir de numere întregi primii doi termeni sunt f1=1, respectiv a=1; b=2;
f2=2, iar cel de-al n-lea (n>2) termen se calculează cu ajutorul for(n=3;n<=50;n++)
formulei fn=fn-2-fn-1, dacă n este impar, sau cu ajutorul formulei {
fn=fn-1-fn-2, dacă n este par. ....
}
În secvenţa alăturată toate variabilele sunt de tip întreg.
Scrieți secvența înlocuind zona punctată astfel încât, în urma executării secvenţei obținute, variabila
întreagă c să memoreze al 50-lea termen al şirului. (6p.)

SUBIECTUL al III-lea (30 de puncte)


1. Se citește un număr natural, n, cu cel puțin o cifră impară, și se cere să se scrie numărul obținut prin
înlocuirea fiecărei cifre impare a lui n cu cea mai mare cifră pară strict mai mică decât ea (astfel cifra
1 se înlocuieşte cu cifra 0, cifra 3 cu cifra 2 etc.). Scrieți, în pseudocod, algoritmul de rezolvare
pentru problema enunțată.
Exemplu: dacă n=235690, atunci se scrie numărul 224680, iar dacă n=15690, atunci se scrie
numărul 4680. (10p.)
2. ∈[3,21]), apoi
Scrieţi un program C/C++ care citeşte de la tastatură un număr natural impar, n (n∈
cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [0,109]. Programul
afișează pe ecran mesajul DA, dacă elementele dispuse simetric faţă de elementul din mijloc al
tabloului au valori egale, sau mesajul NU în caz contrar.
Exemplu: pentru n=5 și tabloul (1,2,4,2,1) se afişează mesajul DA (10p.)
3. Un termen al unui șir de numere se numește vârf local al acestuia dacă nu există niciun alt termen
strict mai mare decât el care să îl preceadă în șir.
Fișierul bac.txt conține un șir format din cel puțin două și cel mult 106 numere naturale din
intervalul [0,103], separate prin câte un spațiu. Se cere să se afișeze pe ecran, separate prin câte
un spațiu, toate vârfurile locale ale șirului aflat în fișier. Proiectați un algoritm eficient din punctul de
vedere al timpului de executare și al spațiului de memorie utilizat.
Exemplu: dacă fișierul conține numerele 7 4 9 10 10 10 8 10 8 30
se afișează pe ecran 7 9 10 10 10 10 30
a) Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b) Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la informatică Varianta 4


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Examenul de bacalaureat naţional 2019
Proba E. d)
Informatică

BAREM DE EVALUARE ȘI DE NOTARE


(comun pentru limbajele C/C++ şi Pascal)
Varianta 4
Filieră teoretică, profil real, specializare științe ale naturii

• 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.
• 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.

SUBIECTUL I (20 de puncte)


1a 2a 3d 4b 5d 5x4p.

SUBIECTUL al II - lea (40 de puncte)


1. a) Răspuns corect: 3 6p.
b) Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare număr conform
cerinței (oricare dintre numerele 25,26,30,31,32).
c) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiunile de decizie este conform cerinței.
-citire date 1p.
-afişare date 1p.
-instrucțiuni de decizie (*) 3p.
-instrucţiune repetitivă 2p.
-atribuiri 1p.
1)
-corectitudine globală a programului 1p.
d) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are o
-echivalenţă a prelucrării realizate, structură repetitivă conform cerinţei, principial corectă,
conform cerinţei (*) 5p. dar nu este echivalent cu cel dat.
1)
-corectitudine globală a algoritmului 1p. Se va puncta orice formă corectă de structură
repetitivă conform cerinței.
2. Pentru rezolvare corectă 6p. Se acordă câte 2p. pentru fiecare dintre cele trei
mesaje afișate conform cerinței.
3. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare aspect al cerinței
(determinare a unui termen de indice par, determinare a
unui termen de indice impar, actualizare termeni).

SUBIECTUL al III - lea (30 de puncte)


1. Pentru rezolvare corectă 10p. (*) Se acordă câte 1p. pentru fiecare aspect al cerinței
-citire a datelor 1p. (acces la o cifră, identificare cifre pare/impare,
-determinare a numărului cu proprietatea includere în rezultat a unei cifre, includere în rezultat a
cerută (*) 6p. tuturor cifrelor pare suport nemodificate – inclusiv
-scriere principial corectă a structurilor de cazul cu cifra unităților 0, includere în rezultat a tuturor
control (*) 1p. cifrelor obținute prin înlocuirea cifrelor impare, ordine a
-afișare a datelor 1p. cifrelor).
1)
-corectitudine globală a algoritmului 1p. (**) Se va puncta orice formă corectă de structură
repetitivă sau decizională.
2. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinței
-declarare a unei variabile care să (algoritm principial corect de verificare a unei
memoreze un tablou unidimensional 1p. proprietăți, identificare a unei perechi de elemente
-citire a datelor 1p. simetrice față de mijlocul tabloului, elemente suport).
-verificare a proprietății cerute (*) 6p.
-afişare a mesajului conform cerinței 1p.
-declarare a variabilelor simple,
1)
corectitudine globală a programului 1p.
3. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă algoritmul ales nu
-coerenţă a descrierii algoritmului (*) 1p. este eficient.
-justificare a elementelor de eficienţă 1p. (**) Se acordă numai 3p. dacă algoritmul este

Probă scrisă la informatică Varianta 4


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare şi de notare
Pagina 1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
b) Pentru program corect 8p. principial corect, dar nu oferă rezultatul cerut pentru
-operaţii cu fişiere: declarare, pregătire în toate seturile de date de intrare.
vederea citirii, citire din fişier 1p. (***) Se acordă punctajul numai pentru un algoritm liniar,
-determinare a valorilor cerute (*),(**) 5p. care utilizează eficient memoria.
-utilizare a unui algoritm eficient (***) 1p. O soluţie posibilă determină, pe măsura citirii datelor
-declarare a variabilelor, afișare a din fișier, valoarea maximă curentă (fie aceasta m) şi
datelor, corectitudine globală a se afișează fiecare valoare citită mai mare sau egală
1)
programului 1p. cu m, care se actualizează corespunzător.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 4


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare şi de notare
Pagina 2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2018


Proba E. d)
Informatică
Limbajul C/C++
MODEL

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele x, y și z sunt de tip întreg și memorează câte !(x>=y) && z>y
un număr natural. Știind că expresia C/C++ alăturată are
valoarea 1, indicați șirul crescător format cu valorile acestor
variabile, în ordinea precizată mai jos. (4p.)
a. x, y, z b. y, z, x c. z, x, y d. z, y, x

2. Algoritmul alăturat este reprezentat în pseudocod. citeşte x,y


(numere naturale, x≤y)
a) Scrieţi valorile afișate dacă se citesc, în această ordine,
numerele 3 și 10. (6p.) b
 0
c
1
b) Dacă pentru variabila x se citește numărul 18, scrieţi ┌pentru z x,y execută
cel mai mic și cel mai mare număr care pot fi citite │┌cât timp c<z execută
pentru variabila y astfel încât, în urma executării ││ a b
algoritmului, pentru fiecare dintre acestea, să se ││ b c
afișeze o singură valoare. (4p.) ││ c
a+b
c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, │└■
înlocuind adecvat structura cât timp...execută cu │┌dacă z=c atunci
││ scrie z,’ ’
o structură repetitivă cu test final. (6p.)
│└■
d) Scrieţi programul C/C++ corespunzător algoritmului └■
dat. (10p.)

Probă scrisă la informatică MODEL


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
1 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. Indicați cel mai mare număr pe care îl poate memora sqrt(x/10+x%10)==100
variabila întreagă x, astfel încât expresia C/C++ alăturată
să aibă valoarea 1. (4p.)
a. 91 b. 1009 c. 100000 d. 900001
2. În secvențele de mai jos, notate cu S1, S2 și S3, toate variabilele sunt întregi, iar variabila n
memorează un număr natural din intervalul [2,102].
//S1 //S2 //S3
u=((n*n+n)%10)/2; u=0; u=1;
for(i=1;i<=n;i++) for(i=2;i<=n;i++)
u=(u+i)%10; u=u+i%10;
Indicați secvențele în urma executării cărora variabila u NU memorează ultima cifră a sumei
primelor n numere naturale nenule, distincte, pentru unele valori ale lui n din intervalul
precizat. (4p.)
a. S1 și S2 b. S2 și S3 c. S1 și S3 d. S1, S2 și S3

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele întregi an1 și luna1 memorează anul și luna cumpărării unei mașini, iar
variabilele întregi an2 și luna2 memorează anul și luna cumpărării unei alte mașini.
Scrieți o secvență de instrucțiuni C/C++ în urma executării căreia să se afișeze pe ecran
mesajul LA FEL, dacă cele două mașini sunt cumpărate în aceeași lună a anului curent,
sau mesajul DIFERIT dacă cele două mașini sunt cumpărate în anul curent, dar în luni
diferite, sau mesajul VECHI în oricare alt caz. (6p.)
4. Se citește un număr natural, n (n≥2), și se cere să se scrie numerele x, y și z, divizori ai lui
n, cu proprietatea că 0<x<y<z și x+y+z=n. Numerele se scriu în ordine strict crescătoare,
separate prin câte un spațiu, iar dacă n nu are astfel de divizori, se scrie mesajul nu
exista.
Exemplu: pentru n=24 se scriu numerele
4 8 12
iar pentru n=9 se scrie mesajul
nu exista
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)

Probă scrisă la informatică MODEL


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
2 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Pentru a verifica dacă într-un tablou unidimensional există elementul cu valoarea x=18, se
aplică metoda căutării binare, iar succesiunea de elemente ale tabloului a căror valoare se
compară cu valoarea lui x pe parcursul aplicării metodei indicate este: 50, 16, 18.
Elementele tabloului pot fi (în ordinea în care apar în tablou): (4p.)
a. (16,17,18,29,50,80,91) b. (5,16,18,50,56,70,85)

c. (8,9,10,16,18,45,50) d. (16,20,18,49,50,57,58)

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată toate variabilele sunt de tip ok=.........;
întreg, iar numerele citite sunt naturale. for(i=1;i<=10;i++)
Scrieţi secvența înlocuind punctele de suspensie { cin>>x; | scanf(”%d”,&x);
astfel încât, în urma executării secvenţei .......
obţinute, valoarea variabilei ok să fie 1 dacă }
toate valorile citite au fost strict mai mici decât
2018, sau 0 altfel. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈ ∈[3,50]), și
construiește în memorie un tablou unidimensional cu elemente din mulțimea {1,2}, astfel
încât, parcurgându-l de la stânga la dreapta, se obține un șir format din n secvențe de câte
trei elemente egale cu 2, aflate pe poziții consecutive, secvențe separate de câte un
element egal cu 1, ca în exemplu.
Programul afișează pe ecran elementele tabloului obținut, separate prin câte un spațiu.
Exemplu: dacă n=5, se obține tabloul
(2,2,2,1,2,2,2,1,2,2,2,1,2,2,2,1,2,2,2). (10p.)
4. Fișierul bac.txt conține cel mult 106 numere naturale din intervalul [10, 109], separate
prin câte un spațiu.
Se cere să se afișeze pe ecran, separate prin câte un spațiu, cifrele care apar o singură
dată în scrierea numerelor din fișier, sau mesajul nu exista dacă nu există nicio astfel
de cifră. Proiectați un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fişierul bac.txt conţine numerele
391 7772 4389 23939
atunci pe ecran se afișează valorile de mai jos, nu neapărat în această ordine:
1 4 8
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la informatică MODEL


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
3 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2018


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

MODEL
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. a 4p.
2. a) Răspuns corect: 3 5 8 6p. Se acordă câte 2p. pentru fiecare valoare
conform cerinței.
b) Răspuns corect: 21 33 4p. Se acordă câte 2p. pentru fiecare număr
conform cerinței.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinței,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare a tuturor variabilelor 1p. instrucţiuni este conform cerinței.
-citire a datelor 1p.
-afişare a datelor 1p.
-instrucţiune de decizie 2p.
-instrucţiuni repetitive (*) 3p.
-atribuiri 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. c 4p.
2. c 4p.
3. Pentru rezolvare corectă 6p. (*) Se acordă câte 1p. pentru fiecare caz
-expresii logice de identificare a cazurilor conform cerinței identificat.
indicate (*) 3p. (**) Se acordă numai 1p. dacă s-au afișat
-afișare a mesajelor indicate (**) 2p. doar o parte dintre mesajele cerute.
-corectitudine globală a secvenţei1) 1p.

Probă scrisă la informatică MODEL


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare
-citire a datelor 1p. proprietate a numerelor x, y și z (divizori,
-determinare a tripletelor cu 0<x<y<z, x+y+z=n) conform cerinței.
proprietatea cerută (*) 6p. (**) Se va puncta orice formă corectă de
-tratare a cazului nu exista 1p. structură repetitivă sau decizională.
-afișare a datelor în formatul cerut 1p.
-scriere principial corectă a structurilor
de control (***) 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă doar pentru o
-precizare a rolului variabilelor utilizate parte din variabilele utilizate rolul este
(*) 2p. corect precizat.
-indicare a datelor de intrare 2p.
-indicare a datelor de ieșire 2p.

SUBIECTUL al III - lea (30 de puncte)


1. b 4p.
2. Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă expresia de
-instrucţiune de iniţializare a identificare a valorilor strict mai mici decât
variabilei ok 2p. 2018 este corectă, dar actualizarea variabilei
-instrucţiune de actualizare a ok nu este conform cerinței.
variabilei ok (*) 3p.
-corectitudine globală a secvenţei1) 1p.
3. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-declarare a variabilei de tip tablou 1p. al cerinței (valori 1 care separă secvențele,
-citire a datelor 1p. valori 2 în secvențe conform cerinței,
-memorare a valorilor elementelor (*) 6p. construire în memorie într-un tablou cu
-afişare a unui tablou 1p. dimensiune adecvată).
-declarare și citire a variabilelor
simple, corectitudine globală a 1p.
programului1)
4. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă
-descriere coerentă a algoritmului (*) 1p. algoritmul ales nu este eficient.
-justificare a unor elemente de
eficienţă 1p.
b) Pentru program corect 8p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din 1p. (**) Se acordă numai 2p. pentru algoritm
fişier principial corect, dar care nu conduce la
-determinare a valorilor cerute (*, **) 4p. rezultatul cerut pentru toate cazurile.
-afișare a datelor și tratare a cazului (***) Se acordă punctajul numai pentru un
nu exista 1p. algoritm liniar.
-utilizare a unui algoritm eficient (***) 1p. O soluţie posibilă utilizează un vector de
-afișare a datelor, declarare a tuturor apariții, v, în care se actualizează numărul
variabilelor, corectitudine globală a de apariții vi pentru fiecare cifră i, la
programului1) 1p. parcurgerea fişierului și prelucrarea
corespunzătoare a termenilor șirului.
Numerele cerute corespund valorilor i
pentru care vi are valoarea 1.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică MODEL


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Examenul de bacalaureat naţional 2018
Proba E. d)
Informatică
Limbajul C/C++
SIMULARE

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Valoarea expresiei C/C++ alăturate este: (4p.) 2018/3/22
a. 30 b. 30.5758 c. 14784 d. 14798.7

2. Algoritmul alăturat este reprezentat în citeşte n


pseudocod. (număr natural)
S-a notat cu [a] partea întreagă a numărului real x 1
a și cu a%b restul împărțirii numărului natural a la ┌cât timp x≤[n/3] execută
numărul natural nenul b. │ y x+1
│┌cât timp y≤[n/3] execută
a) Scrieţi ce se afișează dacă se citește ││ z n-x-y
numărul 9. (6p.) ││┌dacă z%2=x%2 atunci
b) Scrieți cel mai mic număr natural care poate │││ scrie x,y,z,’*’
fi citit astfel încât, în urma executării ││└■
algoritmului, să se afișeze o singură dată ││ y y+1
simbolul *. (4p.) │└■
│ x x+1
c) Scrieţi în pseudocod un algoritm echivalent └■
cu cel dat, înlocuind adecvat prima structură scrie ’#’
cât timp...execută cu o structură
repetitivă de tip pentru...execută. (6p.)
d) Scrieţi programul C/C++ corespunzător
algoritmului dat. (10p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
1 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
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. Variabilele di și dj sunt de tip întreg. Indicați expresia C/C++ care are valoarea 1 dacă și
numai dacă perechea (di,dj) este una dintre următoarele: (-2018,0), (0,-2018), (0,2018),
(2018,0). (4p.)
a. abs(di)-abs(dj)==2018 && abs(di)*abs(dj)==0
b. abs(di)-abs(dj)==0 && abs(di)/abs(dj)==2018
c. abs(di)+abs(dj)==2018 && abs(di)*abs(dj)==0
d. abs(di)+abs(dj)==0 && abs(di)-abs(dj)==2018
2. În secvența C/C++ alăturată toate variabilele sunt întregi, iar r=0;
m>n. Expresia care poate înlocui punctele de suspensie x=n;
astfel încât, în urma executării secvenţei obţinute, variabila r y=m;
să memoreze diferenţa m-n este: do
(4p.) { x=x+1;
y=y-1;
r=r+1;
}while(......);
r=2*r;
if(x!=y)r=r-1;
a. r<=x/2 b. r<y/2 c. x<y d. x<=y

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele întregi temp1 și temp2 memorează două temperaturi (în grade Celsius), iar
variabilele întregi an1 și an2 memorează anul în care a fost înregistrată prima, respectiv
cea de a doua dintre cele două temperaturi.
Scrieți o secvență de instrucțiuni C/C++ în urma executării căreia să se afișeze pe ecran
media celor două temperaturi și, pe rândul următor, mesajul ACTUAL în cazul în care
ambele temperaturi sunt înregistrate în anul 2018, sau mesajul ISTORIC în caz contrar.
Exemplu: dacă valorile variabilelor temp1 și temp2 sunt 20, respectiv 21, iar valoarea
fiecăreia dintre variabilele an1 și an2 este 2018, se afișează pe ecran
20.5
ACTUAL (6p.)
4. Se citește un număr natural, n (n≥1), și se cere să se scrie, în această ordine, numerele
naturale x și y, cu proprietatea că √n poate fi scris sub forma x ∙ y, unde x are o valoare
maximă.
Exemplu: pentru numărul n=15000, se scriu numerele 50 6, iar pentru numărul n=9, se
scriu numerele 3 1.
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
2 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele i şi j sunt de tip întreg. Indicați expresia care 1 1 1 1 1 1 1 8 8
poate înlocui punctele de suspensie astfel încât, în urma 1 1 1 1 1 1 8 8 8
executării secvenţei obţinute, să se afișeze pe ecran, în 1 1 1 1 1 8 8 8 1
această ordine, valorile alăturate. 1 1 1 1 8 8 8 1 1
for(i=0;i<9;i++) 1 1 1 8 8 8 1 1 1
{ for(j=0;j<9;j++) 1 1 8 8 8 1 1 1 1
if( ..................) 1 8 8 8 1 1 1 1 1
cout<<”8 ”; | printf(”8 ”); 8 8 8 1 1 1 1 1 1
else 8 8 1 1 1 1 1 1 1
cout<<”1 ”; | printf(”1 ”);
cout<<endl; | printf(”\n”);
} (4p.)
a. i+j>=7 || i+j<=9 b. i+j>=7 && i+j<=9
c. i+j>7 || i+j<9 d. i+j>7 && i+j<9

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Pentru a verifica dacă printre cele 7 elemente ale unui tablou unidimensional există unul
cu valoarea x=20, se aplică metoda căutării binare. Scrieți elementele unui tablou (în
ordinea în care apar în acesta), astfel încât succesiunea celor a căror valoare se compară
cu valoarea lui x pe parcursul aplicării metodei indicate să fie: 22, 3, 18. (6p.)
3. O pereche de valori naturale, una cu număr par de cifre, iar cealaltă cu număr impar de
cifre, se numește descentrată dacă se poate obține valoarea cu număr par de cifre din
cealaltă, prin duplicarea cifrei din mijlocul acesteia.
Exemplu: perechile 32345 și 323345, respectiv 1 și 11 sunt descentrate.
Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (n∈ ∈[2,102]),
apoi un șir de n numere naturale din intervalul [1,104) şi afișează pe ecran mesajul DA,
dacă acesta conține cel puțin o pereche descentrată, sau mesajul NU în caz contrar.
Exemplu: dacă se citesc numerele
7
233 2018 2333 11 3 1221 233
se afișează pe ecran mesajul
DA (10p.)
4. Se consideră un șir ai cărui termeni sunt numere naturale nenule, de o singură cifră.
Numim număr asociat al acestui șir un număr natural format cu termenii șirului, în ordinea
în care aceștia apar în șir.
Exemplu: numărul asociat șirului 1, 2, 5, 3, 2 este 12532.
Fişierul text bac.txt conţine numere naturale din intervalul [1,9]: pe prima linie un
număr, x, iar pe a doua linie un șir de cel puţin trei şi cel mult 105 termeni. Numerele aflate
pe aceeași linie a fișierului sunt separate prin câte un spațiu.
Se cere inserarea valorii x în șirul aflat pe a doua linie fișierului, astfel încât numărul
asociat șirului obținut să fie minim. Termenii șirului obținut se afișează pe ecran, separați
prin câte un spațiu.
Proiectați un algoritm eficient din punctul de vedere al memoriei utilizate și al timpului de
executare.
Exemplu: dacă fişierul bac.txt conţine numerele
6
1 7 5
atunci, pentru că numerele asociate șirurilor care se pot obține sunt
6175, 1675, 1765, 1756, pe ecran se afişează șirul:
1 6 7 5
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (8p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
3 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2018


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

SIMULARE
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. a 4p.
2. a) Răspuns corect: 135*234*# 6p. Se acordă câte 2p. pentru fiecare dintre
cele două triplete de cifre conform cerinței
și câte 1p. pentru fiecare dintre cele două
tipuri de simboluri (*,#) scrise conform
cerinței.
b) Răspuns corect: 6 4p.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinței,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare a tuturor variabilelor 1p. instrucţiuni este conform cerinței.
-citire a datelor 1p.
-afişare a datelor 1p.
-instrucţiune de decizie 2p.
-instrucţiuni repetitive (*) 3p.
-atribuiri 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. c 4p.
2. c 4p.

Probă scrisă la informatică Simulare


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

3. Pentru rezolvare corectă 6p. (*) Se acordă numai 1p. dacă expresia de
-expresie de calcul corectă pentru media calcul a mediei este principial corectă, dar nu
aritmetică a două numere întregi (*) 2p. pentru numere întregi.
-expresie logică de identificare a cazurilor (**) Se acordă numai 1p. dacă s-a afișat doar
indicate 1p. unul dintre mesajele cerute.
-afișare a mesajelor indicate (**) 2p.
-corectitudine globală a secvenţei1) 1p.
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 3p. pentru fiecare număr
-citire a datelor 1p. conform cerinței.
-determinare a numerelor cerute (*) 6p. (**) Se va puncta orice formă corectă de
-afișare a datelor în formatul cerut 1p. structură repetitivă sau decizională.
-scriere principial corectă a structurilor
de control (**) 2p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă doar pentru o
-precizare a rolului variabilelor utilizate parte dintre variabilele utilizate rolul este
(*) 2p. corect precizat.
-indicare a datelor de intrare 2p.
-indicare a datelor de ieșire 2p.

SUBIECTUL al III - lea (30 de puncte)


1. b 4p.
2. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare aspect al
cerinței (tablou cu elemente în ordine
crescătoare/descrescătoare, poziționare
corectă a valorilor indicate, valoare căutată
absentă).
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declarare a variabilei de tip tablou 1p. al cerinței (accesare a unui element al
-citire a datelor 1p. tabloului, determinare a numărului de cifre
-verificare a proprietății cerute (*) 6p. ale unui număr, identificare valori cu număr
-afişare a datelor 1p. par/impar de cifre, identificare a unei
-declarare și citire a variabilelor perechi descentrate, algoritm principial
simple, corectitudine globală a corect de verificare a unei proprietăți, valori
programului1) 1p. suport verificate).
4. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă
-descriere coerentă a algoritmului (*) 1p. algoritmul ales nu este eficient.
-justificare a unor elemente de 1p.
eficienţă
b) Pentru program corect 8p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, pregătire propusă nu prezintă elemente de eficienţă.
în vederea citirii, citire din fişier 1p. (**) Se acordă numai 3p. pentru algoritm
-determinare a valorilor cerute (*, **) 5p. principial corect, dar care nu conduce la
-utilizare a unui algoritm eficient (***) 1p. rezultatul cerut pentru toate cazurile.
-afișare a datelor, declarare a tuturor (***) Se acordă punctajul numai pentru un
variabilelor, corectitudine globală a algoritm liniar care utilizează eficient
programului1) 1p. memoria
O soluţie posibilă afișează termenii șirului
pe măsura citirii din fișier, x afișându-se
imediat înaintea primului termen mai mare
decât el.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Simulare


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2018


Proba E. d)
Informatică
Limbajul C/C++
Varianta 2

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele x și y sunt de tip întreg și memorează câte un !(x%y!=0 || y<2)
număr natural nenul. O expresie echivalentă cu cea
alăturată poate fi: (4p.)
a. x%y==y%x && y>1 b. (x+y)%y==0 || y>=1
c. (x/y)*y==x && y>=2 d. x%y==0 || y>2

2. Algoritmul alăturat este reprezentat în citeşte n


pseudocod. (număr întreg nenul)
S-a notat cu a%b restul împărţirii numărului natural a ┌dacă n<0 atunci
la numărul natural nenul b şi cu [a] partea întreagă a │ n -n
numărului real a. └■
s 0
a) Scrieţi numărul afişat dacă se citeşte valoarea ┌repetă
2018. (6p.) │ x n%10
b) Scrieţi patru numere distincte din intervalul │┌pentru i 1,x execută
[10,103] care pot fi citite astfel încât, în urma ││ s s+x
executării algoritmului, pentru fiecare dintre │└■
acestea, să se afișeze valoarea 100. (4p.) │ n [n/10]
└până când n=0
c) Scrieţi în pseudocod un algoritm echivalent cu scrie s
cel dat, înlocuind adecvat structura
pentru...execută cu o atribuire. (6p.)
d) Scrieţi programul C/C++ corespunzător
algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 2


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
1 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. Variabila x memorează un număr real din intervalul [1,2]. ceil(x)+floor(x)
Indicați numărul de valori posibile ale expresiei C/C++ alăturate.
(4p.)
a. 1 b. 2 c. 3 d. 4
2. În secvențele de mai jos, notate cu S1, S2 și S3, toate variabilele sunt întregi, iar n și k
memorează câte un număr natural nenul.
//S1 //S2 //S3
nr=0; nr=0; nr=n/k;
for(i=n;i>0;i--) for(i=1;i<=n;i++)
{ p=i; if(i%k==0) nr=nr+1;
while(p>=k) p=p-k;
if(p==0) nr=nr+1;
}
Variabila nr memorează numărul multiplilor lui k din intervalul [1,n] în urma executării,
independent, a secvențelor: (4p.)
a. S1 și S2 b. S1 și S3 c. S2 și S3 d. S1, S2 și S3

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Pentru un medicament se memorează prețul, precum și date despre substanța activă
specifică: doza și codul acesteia.
Variabilele întregi pret1, doza1 și cod1 memorează prețul, respectiv date despre
substanța activă specifică unui medicament, iar variabilele întregi pret2, doza2 și cod2
memorează prețul, respectiv date despre substanța activă specifică unui alt medicament.
Două medicamente distincte pot avea aceeași substanță activă specifică, însă numai în
doze diferite.
Să se scrie o secvenţă de instrucţiuni C/C++ în urma executării căreia să se afişeze prețul
medicamentului cu doză mai mare de substanță activă specifică, dacă ele au o aceeaşi
astfel de substanţă, sau mesajul ALTA CATEGORIE în caz contrar. (6p.)
4. Se citesc patru numere naturale nenule, n, x, y și r (r<x<y<n) și se cere să se afișeze
numărul de valori naturale din intervalul [1,n] pentru care atât restul împărțirii la x, cât și
restul împărțirii la y, sunt egale cu r.
Exemplu: pentru n=200, x=5, y=14 și r=2, se afișează numărul 3 (pentru numerele 2, 72
și 142 restul împărțirii la 5, cât și restul împărțirii la 14, este 2).
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)

Probă scrisă la informatică Varianta 2


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
2 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele i şi j sunt de tip întreg. Indicați expresia care poate 0 1 2 3 4 5 6 7 0
înlocui punctele de suspensie, astfel încât, în urma executării 1 0 3 4 5 6 7 0 1
secvenţei obţinute, să se afișeze numerele alăturate. 2 3 0 5 6 7 0 1 2
for(i=0;i<9;i++) 3 4 5 0 7 0 1 2 3
{ for(j=0;j<9;j++) 4 5 6 7 0 1 2 3 4
if(i==j) 5 6 7 0 1 0 3 4 5
cout<<”0 ”; | printf(”0 ”); 6 7 0 1 2 3 0 5 6
else 7 0 1 2 3 4 5 0 7
cout<<......<<’ ’; | printf(”%d ”,....); 0 1 2 3 4 5 6 7 0
cout<<endl; | printf(”\n”);
} (4p.)
a. (i-j)%8 b. (i+j)%8 c. (i-j)/8 d. (i+j)/8

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată toate variabilele sunt de tip bun=.........;
întreg, iar numerele citite sunt naturale. for(i=1;i<=20;i++)
Scrieţi secvența înlocuind punctele de suspensie { cin>>k; | scanf(“%d”,&k);
astfel încât, în urma executării secvenţei obţinute, .......
valoarea variabilei bun să fie 0 dacă toate valorile }
citite au fost diferite de 2018, sau 1 altfel. (6p.)
3. Fiind date două șiruri de valori naturale, s și c, cu număr egal de termeni, numim codificare
a lui s pe baza codului c operația de construire a unui nou șir, în care inițial se copiază
prima valoare din s, apoi, parcurgând de la stânga la dreapta restul șirului s, se adaugă
valoarea curentă din s la începutul noului șir, dacă termenul de pe aceeași poziție în c
este par, sau la finalul noului șir, în caz contrar.
Exemplu: dacă șirul s este 7, 3, 6, 2, 8, iar codul c este 0, 12, 5, 23, 14 se obține șirul
codificat 8, 3, 7, 6, 2 (inițial șirul conține termenul 7, apoi se adaugă, în ordinea parcurgerii
lui s, termenii 3 și 8 la început, iar restul termenilor la final).
Scrieţi un program C/C++ care citeşte de la tastatură numere naturale din intervalul
[0,102]: ns, nc (ns≥2, nc≥2), cei ns termeni ai șirului s, apoi cei nc termeni ai șirului c.
Programul afișează pe ecran, separați prin câte un spațiu, termenii șirului obținut prin
codificarea lui s pe baza lui c, dacă cele două șiruri au același număr de termeni, sau
mesajul cod incorect, în caz contrar.
Exemplu: dacă ns=5, nc=5, s=(7,3,6,2,8), iar c=(0,12,5,23,14), se afişează:
8 3 7 6 2 (10p.)
4. Numim secvență neuniformă a unui șir de numere naturale un subșir al acestuia, format
din termeni aflați pe poziții consecutive în șirul dat, cu proprietatea că oricare doi termeni
aflați pe poziții vecine sunt diferiți. Lungimea secvenței este egală cu numărul de termeni ai
acesteia.
Fișierul bac.txt conține un șir de cel mult 106 numere naturale din intervalul [0,9].
Numerele sunt separate prin câte un spațiu, iar în șir există cel puțin doi termeni diferiți pe
poziții consecutive.
Se cere să se afișeze pe ecran lungimea maximă a unei secvențe neuniforme a șirului aflat
în fișier. Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al
memoriei utilizate.
Exemplu: dacă fişierul bac.txt conţine numerele
7 7 1 3 1 1 7 3 3 3 7 3 9
atunci pe ecran se afișează valoarea 4
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (8p.)

Probă scrisă la informatică Varianta 2


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
3 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2018


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 2
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. c 4p.
2. a) Răspuns corect: 69 6p.
b) Pentru răspuns corect 4p. Se acordă câte 1p. pentru fiecare număr
conform cerinței (de exemplu 68, 86, 608,
806, 680, 860).
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o atribuire conform cerinței, principial
conform cerinţei (*) 5p. corectă, dar algoritmul nu este echivalent
-corectitudine globală a algoritmului1) 1p. cu cel dat.
O soluție posibilă înlocuiește, în cadrul
algoritmului, structura precizată cu
atribuirea s s+x*x
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare a tuturor variabilelor 1p. instrucțiunile repetitive este conform cerinței.
-citire date 1p.
-afişare date 1p.
-instrucţiune de decizie corectă 2p.
-instrucţiuni repetitive corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. c 4p.
2. d 4p.
3. Pentru rezolvare corectă 6p.
-identificare a substanțelor active
specifice identice 1p.
-determinare a dozei maxime 2p.
-afișare preț/mesaj 2p.
-corectitudine globală a secvenţei1) 1p.

Probă scrisă la informatică Varianta 2


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (identificare a unui număr cu
-determinare a numărului cu proprietatea cerută pentru resturi, algoritm
proprietatea cerută (*) 6p. de numărare principial corect, numere din
-afișare a datelor 1p. intervalul cerut).
-scriere principial corectă a structurilor (**) Se va puncta orice formă corectă de
de control (**) 2p. structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte din variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect precizat rolul acestora.
-date de ieşire identificate corect 2p.
SUBIECTUL al III - lea (30 de puncte)
1. b 4p.
2. Pentru răspuns corect 6p.
-instrucţiune de iniţializare a
variabilei bun 2p.
-instrucţiune de actualizare a
variabilei bun 3p.
1)
-corectitudine globală a secvenţei 1p.
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declarare a cel puțin unei variabile de 1p. al cerinței (identificare valori pare/impare,
tip tablou plasare/afișare a unor valori din tablou la
-citire a elementelor tablourilor 2x1p. începutul șirului, plasare/afișare a unor
-determinare și afișare a valorilor valori din tablou la finalul șirului, ordine a
conform cerinței (*) 5p. valorilor, corespondență plasare
-tratare caz cod incorect 1p. valori/paritate cod).
-declarare variabile simple,
corectitudine globală a programului1) 1p.
4. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă metoda
-coerenţă a explicării metodei (*) 1p. aleasă nu este eficientă.
-justificare a unor elemente de
eficienţă, conform cerinței 1p.
b) Pentru program corect 8p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă numai 3p. dacă algoritmul
fişier 1p. este principial corect, dar nu oferă rezultatul
-determinare a valorii cerute (*, **) 5p. cerut pentru toate seturile de date de
-utilizare a unui algoritm eficient (***) 1p. intrare.
-afișare a tuturor datelor, declarare a (***) Se acordă punctajul numai pentru un
tuturor variabilelor, corectitudine algoritm liniar, care utilizează eficient
globală a programului1) 1p. memoria.
O soluţie posibilă parcurge datele din fișier,
memorând perechea formată din ultimele
valori citite, lungimea secvenței curente,
precum și lungimea maximă determinată;
pentru fiecare valoare curentă citită se
actualizează perechea, lungimea secvenței
curente, dacă perechea are proprietatea
cerută și, după caz, lungimea maximă
cerută.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 2


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2018


Proba E. d)
Informatică
Limbajul C/C++
Varianta 8

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele x, y și z sunt de tip întreg și memorează câte un număr natural. Indicați
expresia C/C++ care are valoarea 1 dacă și numai dacă oricare două dintre variabilele
precizate au valori distincte. (4p.)
a. (x-y)*(y-z)*(z-x) != 0
b. !(x==y && y==z)
c. x!=y || y!=z || z!=x
d. (x<y || y<z) && (x>y || y>z)

2. Algoritmul alăturat este reprezentatcitește a,b


în
pseudocod. (numere naturale, a<b)
a) Scrieţi ce se afişează dacă se citesc, în această u 0
ordine, numerele 2 și 6. (6p.) k a
┌cât timp k≤b execută
b) Dacă pentru variabila b se citeşte numărul 20, │ s 0
scrieţi patru numere care pot fi citite pentru │ t 1
variabila a, astfel încât, în urma executării │┌cât timp t*t≤k execută
algoritmului, pentru fiecare dintre acestea, să se ││ s s+t*t
afișeze doar valoarea 30. (4p.) ││ t t+1
│└■
c) Scrieţi în pseudocod un algoritm echivalent cu
│┌dacă s≠u atunci
cel dat, înlocuind adecvat una dintre structurile
││ scrie s, ’ ’
cât timp...execută cu o structură de tip
││ u s
pentru...execută. (6p.)
│└■
d) Scrieţi programul C/C++ corespunzător │ k k+1
algoritmului dat. (10p.) └■

Probă scrisă la informatică Varianta 8


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
1 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. Variabila x este de tip real și poate memora un număr real din floor(sqrt(x))
intervalul [45,55]. Numărul valorilor distincte pe care le poate
avea expresia C/C++ alăturată este: (4p.)
a. 1 b. 2 c. 3 d. 4
2. În secvența C/C++ alăturată toate variabilele sunt întregi, iar r=0;
m>n. Expresia care poate înlocui punctele de suspensie, x=n;
astfel încât, în urma executării secvenţei obţinute, variabila r y=m;
să memoreze diferenţa m-n este: do
(4p.) { x=x+1;
y=y-1;
r=r+2;
}while(x<y);
if(x!=y)r=...;
a. r-2 b. r-1 c. r+1 d. r+2

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele ora_decolare, minut_decolare și durata sunt întregi și memorează date
referitoare la un zbor al unui avion, derulat în totalitate în aceeași zi, pe teritoriul României:
ora și minutul decolării, respectiv durata zborului, exprimată în minute. Ora este un număr
din intervalul [0,23], iar minutul un număr din intervalul [0,59]. Scrieţi o secvenţă de
instrucţiuni în urma executării căreia să se memoreze în variabilele întregi
ora_aterizare și minut_aterizare ora, respectiv minutul aterizării avionului. (6p.)
4. Se citesc două numere naturale n, cu cifre distincte și nenule (10<n), și k (k∈ ∈[0,9]) și se
cere să se transforme numărul n, rotind circular spre stânga cifrele acestuia, astfel încât
cifra k să devină cifra unităților lui n, ca în exemplu. Dacă cifra k nu este printre cifrele lui n
sau dacă este cifra unităţilor acestuia, numărul rămâne nemodificat. Numărul obținut se
afișează apoi pe ecran.
Exemplu: dacă n=3125847 și k=2, se obține numărul n=5847312, iar dacă n=3125847 și
k=6, se obține numărul 3125847.
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)

Probă scrisă la informatică Varianta 8


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
2 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Pentru a verifica dacă în tabloul unidimensional (7,9,11,14,16,18,20) există
elementul cu valoarea x, număr natural, se aplică metoda căutării binare. Pentru ca
succesiunea de elemente ale tabloului a căror valoare se compară cu valoarea lui x pe
parcursul aplicării metodei indicate să fie 14, 18, 16, mulțimea tuturor valorilor posibile ale
lui x este: (4p.)
a. {16} b. {14,16,18} c. {15,16,17} d. {20}

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată toate variabilele sunt de tip nr=.........;
întreg, iar numerele citite sunt naturale. for(i=1;i<=10;i++)
Scrieţi secvența înlocuind punctele de suspensie { cin>>x; | scanf(“%d”,&x);
astfel încât, în urma executării secvenţei .......
obţinute, valoarea variabilei nr să fie egală cu }
numărul valorilor citite care sunt strict mai mici
decât 2018. (6p.)
3. ∈[2,102]), și
Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈
4
alte numere naturale din intervalul [0,10 ]: cele n elemente ale unui tablou
unidimensional, apoi două numere distincte x și y. Programul modifică tabloul în memorie
înlocuind cu valoarea lui y fiecare număr x din tabloul citit și cu valoarea lui x fiecare
număr y din tabloul citit, celelalte elemente rămânând nemodificate. Programul afişează
apoi pe ecran elementele tabloului obținut, separate prin câte un spațiu, sau mesajul
nemodificat dacă nu s-a realizat nicio modificare.
Exemplu: pentru n=7, tabloul (0, 7, 0, 1, 0, 5, 1), x=0 și y=1
se obține tabloul (1, 7, 1, 0, 1, 5, 0). (10p.)
4. Se citeşte de la tastatură un număr natural, n (n∈ ∈[1,109]), şi se cere să se scrie în
fişierul text bac.txt, cel mai mare număr natural p cu proprietatea că numărul 4p este
divizor al numărului obținut prin evaluarea produsului 1·2·3·...·n.
Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei
utilizate.
Exemplu: dacă n=10, fişierul conţine numărul 4.
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (8p.)

Probă scrisă la informatică Varianta 8


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
3 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2018


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 8
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. a 4p.
2. a) Răspuns corect: 1 5 6p.
b) Răspuns corect: 16, 17, 18, 19 4p. Se acordă câte 1p. pentru fiecare număr
corect.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucţiuni este corectă.
-citire date 1p.
-afişare date 1p.
-instrucţiune de decizie corectă 2p.
-instrucţiuni repetitive corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. b 4p.
2. b 4p.
3. Pentru rezolvare corectă 6p. (*) Se acordă numai 3p. dacă s-a
-determinare și memorare a valorilor determinat corect doar una dintre cele două
cerute în variabilele indicate (*) 5p. valori cerute.
-corectitudine globală a secvenţei1) 1p.

Probă scrisă la informatică Varianta 8


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (determinare a unei cifre a unui
-transformare a numărului conform număr, algoritm de plasare în număr a
cerinței (*) 6p. cifrelor care preced cifra k în numărul inițial,
-scriere principial corectă a structurilor algoritm de plasare în număr a cifrelor care
de control (**) 2p. succed cifra k în numărul inițial).
-afișare a datelor 1p. (**) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte din variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-indicare a datelor de intrare 2p. este corect precizat rolul acestora.
- indicare a datelor de ieșire 2p.

SUBIECTUL al III - lea (30 de puncte)


1. c 4p.
2. Pentru răspuns corect 6p.
-instrucţiune de iniţializare a
variabilei nr 2p.
-instrucţiune de actualizare a
variabilei nr 3p.
-corectitudine globală a secvenţei1) 1p.
3. Pentru program corect 10p. (*) Se acordă câte 2p. pentru înlocuirea
-declarare a variabilei de tip tablou 1p. tuturor elementelor suport pentru fiecare
-citire a elementelor tabloului 2p. dintre cele două valori indicate, conform
-accesare corectă a unui element al cerinţei.
tabloului 1p.
-modificare a tabloului conform
cerinței (*) 4p.
-afișare a rezultatului și tratare a
cazului nemodificat 1p.
-declarare a tuturor variabilelor
simple, citire a datelor simple,
corectitudine globală a programului1) 1p.
4. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă metoda
-coerenţă a descrierii metodei (*) 1p. aleasă nu este eficientă.
-justificare a unor elemente de
eficienţă, conform cerinței 1p.
b) Pentru program corect 8p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea scrierii, scriere (**) Se acordă numai 3p. dacă algoritmul
în fişier 1p. este principial corect, dar nu oferă rezultatul
-determinare a valorii cerute (*,**) 5p. cerut pentru toate seturile de date de
-utilizare a unui algoritm eficient (***) 1p. intrare.
-citire a datelor, declarare a tuturor (**) Se acordă punctajul numai pentru un
variabilelor, corectitudine globală a algoritm de complexitate logaritmică sau
programului1) 1p. liniară (O(log n), respectiv O(n)) care
utilizează eficient memoria.
O soluţie posibilă determină numărul x de
apariții ale lui 2 în descompunerea în factori
primi a numerelor din intervalul [1,n].
Valoarea cerută este [x/2].
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 8


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2018


Proba E. d)
Informatică
Limbajul C/C++
Varianta 1

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele x, y și z sunt de tip întreg și memorează câte un număr z<x && 2*z==3*y
natural nenul. Dacă expresia C/C++ alăturată are valoarea 1,
indicați șirul crescător format cu valorile acestor variabile, în ordinea
precizată mai jos. (4p.)
a. x, y, z b. y, z, x c. z, x, y d. z, y, x

2. Algoritmul alăturat este reprezentat în citeşte n


pseudocod. (număr întreg)
S-a notat cu a%b restul împărţirii numărului natural a m 0
la numărul natural nenul b şi cu [a] partea întreagă a p 1
numărului real a. x 0
┌dacă n<0 atunci
a) Scrieţi numărul afişat dacă se citeşte valoarea │ n -n
10523. (6p.) └■
b) Scrieţi patru numere întregi care pot fi citite ┌repetă
astfel încât, în urma executării algoritmului, │ c n%10
pentru fiecare dintre acestea, să se afișeze │ n [n/10]
numărul 722. (4p.) │┌dacă c>m atunci
││ m c
c) Scrieţi în pseudocod un algoritm echivalent cu │└■
cel dat, înlocuind adecvat structura
│ x m*p+x
repetă...până când cu o structură
│ p p*10
repetitivă cu test inițial. (6p.) └până când n=0
d) Scrieţi programul C/C++ corespunzător scrie x
algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 1


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
1 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. Variabilele di și dj sunt de tip întreg. Indicați expresia C/C++ care are valoarea 1 dacă și
numai dacă perechea (di,dj) este una dintre următoarele: (-2,-1), (-2,1), (-1,-2), (-1,2),
(1,-2), (1,2), (2,-1), (2,1). (4p.)
a. abs(di)+abs(dj)==3 b. abs(di)-abs(dj)==1
c. abs(di)*abs(dj)==2 d. abs(di)/abs(dj)==2
2. În secvențele de mai jos, notate cu S1, S2 și S3, toate variabilele sunt întregi, iar variabila n
memorează un număr natural cu cel mult nouă cifre.
//S1 //S2 //S3
if(n==0) p=1; p=1; p=1;
else for(i=1;i<=n;i++) for(i=1;i<=n;i++)
if (n%2==0) p=6; p=(p*4)%10; p=(p%10)*4;
else p=4;
Variabila p memorează ultima cifră a numărului 4n în urma executării, independent, a
secvențelor: (4p.)
a. S1 și S2 b. S1 și S3 c. S2 și S3 d. S1, S2 și S3

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele cat, rest și x sunt de tip întreg, iar variabila x memorează un număr natural.
Scrieţi o secvență de instrucțiuni în urma executării căreia se memorează în variabilele cat
și rest câtul și respectiv restul împărțirii întregi a numărului 2018 la numărul memorat în
variabila x, dacă acesta este nenul, sau se afișează pe ecran mesajul
impartire nepermisa, în caz contrar. (6p.)
4. Se citește un număr natural n (3≤n) și se cere să se afișeze cel mai mic număr natural x
(n<x) care NU este prim, cu proprietatea că în intervalul [n,x] există un singur număr prim.
Exemplu: dacă n=8, se afișează numărul 12.
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)

Probă scrisă la informatică Varianta 1


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
2 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Se consideră două tablouri unidimensionale A şi B: A=(21,18,14,11,4), iar
B=(46,17,14,8,3). În urma interclasării lor în ordine descrescătoare se obţine tabloul cu
elementele: (4p.)
a. (46,18,14,11,4) b. (46,21,17,18,14,14,8,11,3,4)
c. (46,21,18,17,14,14,11,8,4,3) d. (46,21,18,17,14,14,8,11,4,3)

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată toate variabilele sunt de tip nr=.........;
întreg, iar numerele citite sunt naturale. for(i=1;i<=10;i++)
Scrieţi secvența înlocuind punctele de suspensie { cin>>x; | scanf(”%d”,&x);
astfel încât, în urma executării secvenţei .......
obţinute, valoarea variabilei nr să fie egală cu }
numărul valorilor citite care sunt egale cu 2018.
(6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (n∈ ∈[2,50]) și
9
un șir de n numere naturale din intervalul [1,10 ] și construiește în memorie un tablou
unidimensional cu n elemente, astfel încât, parcurgându-l de la dreapta la stânga, se
obține șirul citit, ca în exemplu. Programul afișează pe ecran elementele tabloului obținut,
separate prin câte un spațiu.
Exemplu: dacă n=4, iar șirul citit este 7 2 5 3, se obține tabloul (3,5,2,7). (10p.)
dacă n=1

= dacă n=2

4. Primii termeni ai șirului definit alăturat 0

2∙∙fn-1 +2
(unde n este un număr natural nenul) 3
sunt: altfel
0, 3, 8, 18, 38, 78, 158, 318 ....
Se citește de la tastatură un număr natural x (x∈ ∈[0,109]), reprezentând valoarea unui
termen al şirului dat, şi se cere să se scrie în fişierul text bac.txt, în ordine strict
descrescătoare, separați prin câte un spațiu, toţi termenii şirului mai mici sau egali cu x.
Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei
utilizate.
Exemplu: dacă se citește numărul
158
fişierul bac.txt conţine numerele
158 78 38 18 8 3 0
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la informatică Varianta 1


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
3 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2018


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 1
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. b 4p.
2. a) Răspuns corect: 55533 6p.
b) Pentru răspuns corect 4p. Se acordă câte 1p. pentru fiecare dintre
numerele cerute (oricare patru dintre
722, -722, 712, -712, 702, -702).
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă de structură
repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare a variabilelor 1p. instrucțiunile de decizie este conform cerinței.
-citire a datelor 1p.
-afişare a datelor 1p.
-instrucţiuni de decizie corecte (*) 3p.
-instrucţiune repetitivă corectă 2p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. c 4p.
2. a 4p.
3. Pentru rezolvare corectă 6p.
-atribuire a valorilor celor două variabile 2x2p.
-afișare a mesajului indicat 1p.
-corectitudine globală a secvenţei1) 1p.

Probă scrisă la informatică Varianta 1


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1 din 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 3p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (algoritm de determinare a unui
-determinare a numărului cu număr prim, cel mai mic număr care nu este
proprietatea cerută (*) 6p. prim conform cerinței).
-scriere principial corectă a structurilor (**) Se va puncta orice formă corectă de
de control (**) 2p. structură repetitivă sau decizională.
-scriere a rezultatului 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au precizat
-precizare a rolului variabilelor utilizate doar o parte dintre variabilele utilizate sau
(*) 2p. dacă nu pentru toate variabilele este
-date de intrare precizate corect 2p. precizat rolul acestora.
-date de ieşire precizate corect 2p.

SUBIECTUL al III - lea (30 de puncte)


1. c 4p.
2. Pentru răspuns corect 6p.
-instrucţiune de iniţializare a variabilei
nr 2p.
-instrucţiune de actualizare a
variabilei nr 3p.
-corectitudine globală a secvenţei1) 1p.
3. Pentru program corect 10p. (*) Se acordă câte 3p. pentru fiecare aspect
-declarare a variabilei de tip tablou 1p. al cerinței (toate numerele din șirul citit,
-citire a datelor 1p. numere în ordinea cerută).
-memorare a valorilor elementelor
conform cerinței (*) 6p.
-afişare a unui tablou 1p.
-declararea tuturor variabilelor simple,
corectitudinea globală a programului1) 1p.
4. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă
-coerenţă a descrierii algoritmului (*) 1p. algoritmul ales nu este eficient.
-justificare a unor elemente de
eficienţă, conform cerinței 1p.
b) Pentru program corect 8p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea scrierii, scriere în (**) Se acordă numai 3p. dacă algoritmul
fişier 1p. este principial corect, dar nu oferă rezultatul
-determinare a valorilor cerute (*, **) 5p. cerut pentru toate seturile de date de
-utilizare a unui algoritm eficient (***) 1p. intrare.
-citirea și afișare a datelor, declarare (***) Se acordă punctajul numai pentru un
a tuturor variabilelor, corectitudine algoritm liniar (de complexitate O(n)), care
globală a programului1) 1p. utilizează eficient memoria.
O soluţie posibilă generează termenii șirului
astfel: dacă w și x sunt termeni aflați pe
poziții consecutive în șir, x fiind
cunoscut/calculat, atunci w=[(x-2)/2].
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 1


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2 din 2
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2017


Proba E. d)
Informatică
Limbajul C/C++
MODEL

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Valoarea expresiei C/C++ alăturate este: (4p.) 5+7/2
a. 6 b. 8 c. 8.5 d. 9

2. Algoritmul alăturat este reprezentat în citeşte p,q


pseudocod. (numere naturale nenule, p≤q)
S-a notat cu a%b restul împărţirii numărului x
p
natural a la numărul natural nenul b şi cu [a] ┌cât timp x≤q execută
partea întreagă a numărului real a. │ y
x
│ c
y%10
a) Scrieţi valorile afişate dacă se citesc, în │┌cât timp y≠0 şi y%10=c execută
această ordine, numerele 65 și 80. (6p.)
││ y
[y/10]
b) Dacă pentru variabila p se citeşte numărul │└■
1234, scrieţi cel mai mare număr de patru │┌dacă y=0 atunci
cifre care poate fi citit pentru variabila q ││ scrie x, ' '
astfel încât, în urma executării algoritmului, │└■
să se afişeze 5 numere. (4p.) │ x
x+1
└■
c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura
cât timp...execută cu o structură de tip pentru...execută. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Model


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

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. O expresie C/C++ care are valoarea 1 este: (4p.)
a. 20.17>=floor(20.17) && 20.17<1+floor(20.17)
b. 20.17<floor(20.17) && 20.17>1+floor(20.17)
c. 20.17<=floor(20.17) && 20.17+1==floor(20.17)
d. 20.17>floor(20.17) && 20.17-1==floor(20.17)
2. În secvenţa de instrucţiuni alăturată, toate variabilele sunt întregi. do
Instrucţiunile care pot înlocui punctele de suspensie astfel încât, în { z=x%y;
urma executării secvenţei, variabila cm să aibă ca valoare cel mai ......
mare divizor comun al numerelor naturale nenule memorate inițial în }while(y!=0);
variabilele x şi y este: (4p.) cm=x;

a. x=z; y=x; b. y=z; x=y/x;


c. x=y; y=z; d. y=x/z; x=z;

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele întregi fx şi fy memorează numărătorul, respectiv numitorul unei fracţii. Scrieţi
o secvenţă de instrucţiuni C/C++ care să memoreze în variabilele întregi dx şi dy
numărătorul, respectiv numitorul fracţiei obţinute prin scăderea fracției 1/2017 din fracţia
menţionată mai sus. (6p.)
4. Se citesc două numere naturale a și b (1≤a≤b), și se cere să se scrie numărul valorilor din
intervalul [a,b] care pot fi scrise ca produs de două numere naturale consecutive.
Exemplu: dacă a=10 și b=40, se scrie 3 (valorile cu proprietatea cerută sunt 12, 20 și 30).
a) Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunţată. (10p.)
b) Precizaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică Model


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Se consideră un tablou unidimensional în care elementele sunt, în această ordine,
(5,7,9,12,17,23,59). Pentru a verifica dacă în tablou există elementul cu valoarea
x=16, se aplică metoda căutării binare.
Succesiunea corectă de elemente a căror valoare se compară cu valoarea lui x pe
parcursul aplicării metodei indicate este: (4p.)
a. 5, 7, 9, 12, 17 b. 12, 17, 23 c. 12, 23, 17 d. 59, 23, 17

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată variabilele i și ok sunt de ok=1;
tip întreg, iar variabila x este de tip char. for(i=1;i<=10;i++)
Scrieţi instrucțiunea sau instrucțiunile care pot { cin>>x; | scanf(”%c”,&x);
înlocui punctele de suspensie astfel încât, în .......
urma executării secvenţei obţinute, valoarea }
variabilei ok să fie 1 dacă toate caracterele citite
sunt litere mici ale alfabetului englez, sau
valoarea 0 altfel. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<50), cele n
elemente ale unui tablou unidimensional, numere naturale cu cel mult 4 cifre, apoi
transformă în memorie tabloul prin înlocuirea cu numărul 2017 a fiecărei secvențe
formate din exact doi termeni pari aflați pe poziții consecutive în tablou. Programul
afişează pe ecran tabloul obţinut sau mesajul nu exista dacă tabloul citit nu conține
astfel de secvențe.
Exemplu: pentru n=8 și tabloul (2, 8, 7, 8, 6, 4, 5, 4, 4, 1),
se obţine tabloul (2017, 7, 8, 6, 4, 5, 2017, 1). (10p.)
4. Se consideră şirul definit alăturat (unde n și x sunt x, dacă n = 1
numere naturale nenule, iar x este impar). De 
exemplu, pentru x=21 șirul este: fn = 1 + fn-1, dacă n par
21, 22, 45, 46, 93, 94, 189, 190 .... 
1 + 2 ⋅ fn-1, altfel
Se citesc de la tastatură două numere naturale din intervalul [1,109], x și y, cu cel mult
nouă cifre, unde x are semnificația precizată mai sus, iar y este un termen al şirului dat, şi
se cere să se scrie în fişierul text bac.txt, în ordine strict descrescătoare, separați prin
câte un spațiu, toţi termenii şirului care sunt mai mici sau egali cu y.
Pentru determinarea termenilor ceruţi se utilizează un algoritm eficient din punctul de
vedere al memoriei şi al timpului de executare.
Exemplu: dacă x=21, iar y=189, fişierul bac.txt conţine numerele
189 94 93 46 45 22 21
a) Descrieți în limbaj natural algoritmul utilizat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (8p.)

Probă scrisă la informatică Model


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2017


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

MODEL
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. b 4p.
2. a) Răspuns corect: 66 77 6p. Se acordă numai 3p. dacă s-a precizat
numai unul dintre numerele cerute sau dacă
în plus față de numerele cerute au fost
precizate și alte numere.
b) Răspuns corect: 7776 4p.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiunile repetitive este conform cerinței.
-citire date 1p.
-afişare date 1p.
-instrucţiuni repetitive corecte (*) 4p.
-atribuiri corecte 2p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. a 4p.
2. c 4p.
3. Pentru rezolvare corectă 6p. Se acordă numai 3p. dacă s-au atribuit valori
conform cerinței doar uneia dintre variabile.

Probă scrisă la informatică Model


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*)Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (algoritm de numărare principial
-determinare a unui număr cu corect, determinare a unui număr scris ca
proprietatea cerută (*) 6p. produs de numere consecutive, numărare a
-scriere principial corectă a structurilor tuturor valorilor suport).
de control (**) 2p. (**) Se va puncta orice formă corectă de
-scriere a rezultatului 1p. structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au indicat
-precizare a rolului variabilelor utilizate (*) 2p. doar o parte dintre variabilele utilizate sau
-indicare a datelor de intrare 2p. dacă nu pentru toate variabilele este corect
-indicare a datelor de ieșire 2p. precizat rolul acestora.

SUBIECTUL al III - lea (30 de puncte)


1. c 4p.
2. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare aspect al
cerinței (identificare a unei litere mici, valoare
a variabilei ok).
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declarare corectă a variabilei de tip al cerinței (identificare a unei secvențe de
tablou 1p. numere pare, identificare a unei secvențe
-citire a elementelor tabloului 1p. de lungimea cerută, înlocuire a unei
-transformare a tabloului conform cerinței secvențe, elemente suport înlocuite/păstrate
(*) 5p. conform cerinței, construire în memorie).
-tratare a cazului nu exista 1p.
-afișare a elementelor tabloului 1p.
-declarare a tuturor variabilelor simple,
citire a datelor simple, corectitudine
globală a programului1) 1p.
4. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă soluţia
-coerenţă a descrierii metodei (*) 1p. propusă nu prezintă elemente de eficienţă.
-justificare a unor elemente de (**) Se acordă numai 3p. dacă algoritmul
eficienţă 1p. este principial corect, dar nu conduce la
b) Pentru program corect 8p. rezultatul cerut pentru orice set de date de
-operaţii cu fişiere: declarare, intrare.
pregătire în vederea scrierii, scriere (***) Se acordă punctajul numai pentru un
în fişier 1p. algoritm liniar (de complexitate O(n)), care
-determinare a valorilor cerute (*, **) 5p. utilizează eficient memoria.
-utilizare a unui algoritm eficient (***) 1p. O soluţie posibilă generează termenii șirului
-declarare variabile, citire date, astfel: dacă termenul curent este y, iar cel
corectitudine globală a programului1) 1p. care îl precede este ay, atunci dacă y este
impar, ay=[(y-1)/2], iar dacă y este par,
ay=y-1.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Model


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2017


Proba E. d)
Informatică
Limbajul C/C++
Simulare

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Expresia C/C++ alăturată are valoarea: (4p.) 17/3/2%17
a. 0 b. 2 c. 10 d. 17

2. Se consideră algoritmul alăturat, citeşte n,a,b


reprezentat în pseudocod. (numere naturale nenule, a≤n, b≤n)
S-a notat cu a%b restul împărţirii numărului ←0
ok←
natural a la numărul natural nenul b. ←1
x←
a) Scrieţi ce se afişează dacă se citesc, în ┌cât timp x≤n execută
această ordine, numerele 15, 3 şi 4. (6p.) │┌dacă x%a=0 şi x%b≠0 sau
││ x%a≠0 şi x%b=0 atunci
b) Scrieţi două seturi distincte de date de ││ scrie x,’ ’
intrare astfel încât, în urma executării ←1
││ ok←
algoritmului, pentru fiecare dintre acestea │└■
să se afişeze valoarea 0. (4p.) ←x+1
│ x←
c) Scrieţi în pseudocod un algoritm echivalent └■
cu cel dat, înlocuind adecvat structura ┌dacă ok=0 atunci
cât timp...execută cu o structură │ scrie 0
└■
repetitivă de tip pentru...execută. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. Variabilele x şi y sunt de tip real și memorează valori pozitive. O
x2 + y / 2
transcriere în limbajul C/C++ a expresiei alăturate poate fi: (4p.)
a. pow(sqrt(x,2)+y/2,1/2) b. pow(sqrt(x)+y/2,2)
c. sqrt(pow(x,2)+y/2,1/2) d. sqrt(pow(x,2)+y/2)
2. Variabilele x şi y sunt de tip întreg şi memorează numere y=0;
naturale, iar x are o valoare nenulă. Indicați expresia care while(x>=2017)
poate înlocui punctele de suspensie astfel încât, la finalul { y=y+1;
executării secvenţei obţinute, variabila y să memoreze x=........
câtul împărţirii la 2017 a numărului memorat inițial în }
variabila x. (4p.)
a. x-2017 b. x+2017 c. x+1 d. x-1

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabila întreagă an memorează anul fabricației unei mașini, iar variabila carburant, de
tip char, memorează o literă, în funcție de tipul de carburant folosit în prezent: litera B
pentru benzină, litera M pentru motorină sau litera G pentru gaz petrolier lichefiat.
Scrieţi o secvență de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran anul
fabricației mașinii, urmat, pe linia următoare, de mesajul rezervor clasic, dacă mașina
folosește carburant de tip benzină sau motorină, sau de mesajul adaptor GPL dacă
mașina folosește carburant de tip gaz petrolier lichefiat. (6p.)
4. Se citeşte un număr natural, n (n≥10), și se cere să se scrie numărul de cifre ale lui n care
sunt egale cu pozițiile pe care le ocupă în scrierea acestuia. Pozițiile sunt numerotate de la
dreapta la stânga, iar cifra unităților ocupă poziția 0.
Exemplu: dacă n=6594270, se scrie 4.
a) Scrieţi, în pseudocod, un algoritm de rezolvare pentru problema enunţată. (10p.)
b) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Pentru a verifica dacă într-un tablou unidimensional există elementul cu valoarea x=2017,
se aplică metoda căutării binare, iar succesiunea de elemente ale tabloului a căror valoare
se compară cu valoarea lui x pe parcursul aplicării metodei indicate este: 3, 17, 2017.
Elementele tabloului pot fi (în ordinea în care apar în tablou): (4p.)
a. (-2016,-17,2,3,17,20,2017) b. (-2016,-10,2,3,16,17,2017)
c. (-2016,-17,20,3,2017,17,21) d. (-2016,-16,-10,2,3,17,2017)

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată toate variabilele sunt de tip p=............;
întreg. Scrieţi secvența, înlocuind punctele de for(i=1;i<=10;i++)
suspensie astfel încât, în urma executării { cin>>x; | scanf(”%d”,&x);
secvenţei obţinute, valoarea variabilei p să fie ...........;
egală cu produsul valorilor nenule citite. (6p.) }
3. Scrieţi un program C/C++ care citește de la tastatură un număr natural n (n∈ ∈[2,30]), și
construiește în memorie un tablou unidimensional cu 2·n elemente, numerotate de la 0 la
2·n-1, astfel încât:
• elementul de pe poziția 0 are valoarea 1;
• elementele de pe poziții impare sunt numere naturale din intervalul [0,109], citite de la
tastatură;
• oricare alt element aflat pe o poziție pară este obţinut prin însumarea celor două
elemente vecine cu el, unul aflat pe poziția din dreapta, iar celălalt pe poziția din stânga,
ca în exemplu.
Elementele tabloului obținut se afișează pe ecran, separate prin câte un spațiu.
Exemplu: dacă n=4, iar celelalte numere citite de la tastatură sunt 2, 7, 3, 3, se obține
tabloul: (1,2,9,7,10,3,6,3) (10p.)
4. Fișierul bac.in conține pe prima linie două numere naturale din intervalul [2,104], m și
n, iar pe fiecare dintre următoarele două linii câte un șir de m, respectiv n numere naturale
din intervalul [0,109], ordonate crescător. Numerele aflate pe aceeași linie a fișierului
sunt separate prin câte un spațiu.
Se cere să se afișeze pe ecran, în ordine descrescătoare, toate numerele pare aflate în
cele două șiruri. Numerele afișate sunt separate prin câte un spațiu, iar dacă nu există
niciun astfel de număr, se afișează pe ecran mesajul nu exista.
Pentru determinarea numerelor cerute se va utiliza un algoritm eficient din punctul de
vedere al timpului de executare.
Exemplu: dacă fișierul conține numerele
5 6
1 4 8 9 10
2 4 10 10 15 18
se afișează pe ecran
18 10 10 10 8 4 4 2
a) Descrieți în limbaj natural algoritmul utilizat, justificând eficiența acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (8p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2017


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Simulare
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. b 4p.
2. a) Răspuns corect: 3 4 6 8 9 15 6p. Se acordă câte 1p. pentru fiecare număr
precizat corect.
b) Pentru răspuns corect 4p. Se acordă câte 2p. pentru fiecare set de date
conform cerinței.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
- corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucţiuni este conform cerinței.
-citire date 1p.
-afişare date 1p.
-instrucţiuni de decizie conform
cerinței (*) 3p.
-instrucţiune repetitivă conform
cerinței 2p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. d 4p.
2. a 4p.
3. Pentru rezolvare corectă 6p.
-identificare corectă a literelor indicate 2p.
-afişare a mesajelor 1p.
-operatori logici utilizaţi corect 2p.
-corectitudine globală a secvenței1) 1p.
Probă scrisă la informatică Simulare
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinţei (identificare a unei poziții,
-determinare a numărului cerut (*) 6p. identificare a unei cifre conform cerinței,
-scriere principial corectă a structurilor algoritm de numărare principial corect).
de control (**) 2p. (**) Se va puncta orice formă corectă de
-scriere a rezultatului 1p. structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate (*) 2p. identificat doar o parte din variabilele
-date de intrare indicate corect 2p. utilizate sau dacă nu pentru toate variabilele
-date de ieșire indicate corect 2p. este corect menționat rolul acestora.

SUBIECTUL al III - lea (30 de puncte)


1. b 4p.
2. Pentru răspuns corect 6p.
-inițializare a variabilei p, conform
cerinței 1p.
-identificare a valorilor nenule citite 2p.
-actualizare a variabilei p, conform
cerinței 2p.
-corectitudine globală a secvenței1) 1p.
3. Pentru program corect 10p.
-declarare a variabilei de tip tablou 1p.
-accesare a unui element al tabloului 1p.
-completare a elementului de pe
poziția 0, conform cerinţei 1p.
-completare a elementelor de pe
poziții impare, conform cerinţei 2p.
-completare a celorlaltor elemente
conform cerinţei 3p.
-afişare a tabloului conform cerinţei 1p.
-declarare a variabilelor simple, citire
a datelor simple, corectitudine
globală a programului1) 1p.
4. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă soluţia
-coerenţă a explicării metodei (*) 1p. propusă nu prezintă elemente de eficienţă.
-justificare a unor elemente de (**) Se acordă câte 1p. pentru fiecare
eficienţă, conform cerinței 1p. aspect al cerinței (numere pare, numere din
b) Pentru program corect 8p. primul șir, numere din al doilea șir, toate
-operaţii cu fişiere: declarare, numerele pare cerute, ordine
pregătire în vederea citirii, citire din descrescătoare).
fişier 1p. (***) Se acordă punctajul numai pentru un
-determinare și afişare a valorilor algoritm liniar.
cerute (*, **) 5p. O soluţie posibilă memorează șirurile în
-tratare a cazului nu exista 1p. câte un tablou unidimensional și utilizează
-utilizare a unui algoritm eficient (***) 1p. metoda interclasării pentru a obține
elementele lor reunite, ordonate: pe măsura
parcurgerii specifice a celor două tablouri,
de la dreapta la stânga, sunt afișate doar
elementele pare.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Simulare


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2017


Proba E. d)
Informatică
Limbajul Pascal
Varianta 3

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Indicaţi expresia Pascal care are valoarea true dacă şi numai dacă numărul natural
memorat în variabila întreagă x are exact trei cifre. (4p.)
a. (x div 1000=0) and (x div 100<>0) b. (x div 1000=0) or (x div 100<>0)
c. (x mod 1000=0) and (x mod 100<>0) d. (x mod 1000=0) or (x mod 100<>0)

2. Se consideră algoritmul alăturat, citeşte a,b


reprezentat în pseudocod. (numere naturale, a≥2, b≥2)
S-a notat cu a%b restul împărţirii numărului ┌dacă a>b atunci
natural a la numărul natural nenul b. │ x a
│ a b
a) Scrieţi valoarea afişată dacă se citesc, în
│ b x
această ordine, numerele 7, 4. (6p.)
└■
b) Scrieți patru seturi de date de intrare, ←0
s←
numere naturale din intervalul [2,9], care ┌pentru x← ←a,b execută
←2
pot fi citite astfel încât, în urma executării │ c←
algoritmului, pentru fiecare dintre acestea, │┌cât timp x%c>0 execută
să se afişeze valoarea 7. (4p.) ││ c←←c+1
c) Scrieţi în pseudocod un algoritm echivalent │└■
cu cel dat, înlocuind adecvat structura │s s+c
cât timp...execută cu o structură └■
repetitivă cu test final. (6p.) scrie s
d) Scrieţi programul Pascal corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 3


Limbajul Pascal
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. Variabila x este de tip întreg. Indicați o expresie Pascal care are valoarea true dacă și
numai dacă x este pătrat perfect. (4p.)
a. sqrt(x)=round(sqrt(x)) b. sqrt(x)=sqrt(sqrt(x))
c. round(x)=sqrt(round(x)) d. round(x)=round(round(x))
2. Variabilele x, y şi i sunt de tip întreg. Indicați expresia i:=x;
care poate înlocui punctele de suspensie astfel încât, în if i>y then
urma executării secvenţei obţinute, variabila i să i:=y;
memoreze cel mai mare divizor comun al valorilor naturale while ........ do
strict pozitive memorate în variabilele x şi y. (4p.) i:=i-1;

a. x mod i<>y mod i b. x mod i+y mod i<>0


c. (x+y) mod i<>0 d. (x mod i)*(y mod i)<>0

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Pentru un poligon cu toate laturile egale se memorează lungimea laturii și o literă mare a
alfabetului englez, în funcție de tipul acestuia: T, dacă este triunghi, sau P, dacă este pătrat.
Variabila întreagă latura memorează lungimea laturii unui astfel de poligon, iar variabila
tip memorează litera corespunzătoare tipului acestuia.
Declarați corespunzător variabila tip și scrieți o secvență de instrucțiuni Pascal în urma
executării căreia să se afișeze pe ecran tipul poligonului, iar pe linia următoare perimetrul
acestuia.
Exemplu: dacă variabila latura memorează valoarea 10, iar variabila tip memorează
litera P, se afișează pe ecran
patrat
40 (6p.)
4. Se citesc două numere naturale, a și b (10≤a≤b≤106) și se cere să se scrie toate numerele
naturale din intervalul [a,b] care au toate cifrele identice. Numerele scrise sunt separate
prin câte un spațiu, iar dacă nu există astfel de numere, se scrie mesajul nu exista.
Exemplu: pentru a=700 și b=1500 se scriu numerele
777 888 999 1111.
a) Scrieţi, în pseudocod, un algoritm de rezolvare pentru problema enunţată. (10p.)
b) Precizaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică Varianta 3


Limbajul Pascal
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. În secvenţa de instrucţiuni Pascal de mai jos toate variabilele sunt de tip întreg.
for i:=1 to 9 do b a a a a a a a b
begin b b a a a a a b b
for j:=1 to 9 do b b b a a a b b b
if ........... then b b b b a b b b b
write(’a ’) b b b b b b b b b
else b b b b b b b b b
write(’b ’); b b b b b b b b b
writeln b b b b b b b b b
end; b b b b b b b b b
Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obţinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine.(4p.)
a. (j<i) and (i+j<10) b. (j<i) and (i+j>10)
c. (j>i) and (i+j>10) d. (j>i) and (i+j<10)

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Se consideră două tablouri unidimensionale: A, care are 3 elemente, și B, care are 4
elemente. Știind că unul dintre elementele tabloului A are valoarea 17 și două dintre
elementele tabloului B au valorile 7, respectiv 20, scrieţi câte un exemplu de valori pentru
elementele tabloului A, respectiv ale tabloului B, în ordinea în care ele pot apărea în
fiecare tablou, astfel încât, prin metoda interclasării acestora, să se obțină tabloul
unidimensional (5,7,10,17,18,20,49). (6p.)
3. Scrieți un program Pascal care citește de la tastatură un număr natural n (n∈∈[2,50]),
apoi cele n elemente ale unui tablou unidimensional, numere naturale din intervalul
[0,104]. Programul afișează pe ecran, separate prin câte un spațiu, toate numerele din
tablou care sunt urmate, pe poziția imediat următoare, de câte o valoare consecutivă, ca
în exemplu. Dacă nu există niciun astfel de număr, se afișează pe ecran mesajul
nu exista.
Exemplu: pentru n=10 și tabloul (7,8,7,6,9,5,2,3,4,7), programul afișează pe
ecran numerele 7 8 7 2 3 (10p.)
4. Numim inserare a unui număr într-un șir introducerea acestuia între doi termeni ai șirului.
Fișierul bac.in conține numere naturale din intervalul [1,106]: pe prima linie numerele n
și x, iar pe următoarea linie un șir de n numere întregi ordonate strict crescător.
Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu, iar
numerotarea elementelor în șir începe de la 1.
Se cere să se afișeze pe ecran poziția din șir la care poate fi inserat numărul x, astfel încât
șirul obținut să fie strict crescător. Dacă nu există o astfel de poziție, se afișează pe ecran
mesajul imposibil.
Proiectați un algoritm eficient din punctul de vedere al spațiului de memorie utilizat şi al
timpului de executare.
Exemplu: dacă fișierul conține numerele
6 17
7 15 16 20 30 40
se poate obține șirul 7, 15, 16, 17, 20, 30, 40 și se afișează pe ecran numărul 4
iar dacă fișierul conține numerele
4 14
15 16 17 19
se afișează pe ecran imposibil
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul Pascal corespunzător algoritmului descris. (8p.)
Probă scrisă la informatică Varianta 3
Limbajul Pascal
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2017


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 3
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. a 4p.
2. a) Răspuns corect: 16 6p.
b) Pentru răspuns corect 4p. Se acordă câte 1p. pentru fiecare dintre
seturile cerute (oricare dintre seturile 2,4; 4,2;
4,5; 5,4; 5,6; 6,5; 7,7).
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiuni este conform cerinței.
-citire date 1p.
-afişare date 1p.
-instrucţiune de decizie conform
cerinței 2p.
-instrucţiuni repetitive conform cerinței
(*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. a 4p.
2. b 4p.
3. Pentru rezolvare corectă 6p. (*) Se acordă câte 1p. pentru fiecare calcul
-declarare a variabilei 1p. conform cerinței.
-calcul al perimetrelor, conform cerinței (**) Se acordă câte 1p. pentru fiecare aspect
(*) 2p. conform cerinței (condiție de identificare a
-afișare a datelor, conform cerinței (**) 3p. tipului poligonului, date suport, afișare pe linii).

Probă scrisă la informatică Varianta 3


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 3p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (identificare/construire a unui
-determinare a numerelor cu număr conform cerinței, numere suport).
proprietatea cerută (*) 6p. (**) Se va puncta orice formă corectă de
-scriere principial corectă a structurilor structură repetitivă sau decizională.
de control (**) 2p.
-scriere a datelor și tratare a cazului
nu exista 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte dintre variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare indicate conform este corect precizat rolul acestora.
cerinței 2p.
-date de ieșire indicate conform
cerinței 2p.

SUBIECTUL al III - lea (30 de puncte)


1. d 4p.
2. Pentru răspuns corect 6p. (*) Se acordă câte 1p. pentru fiecare aspect
-tablouri cu elemente ordonate 1p. al cerinței (includere a numerelor specificate
-poziţionare conform cerinţei pentru pentru A, includere a numerelor specificate
elementele menţionate (*) 5p. pentru B, includere a celorlalte elemente,
număr de elemente pentru A, număr de
elemente pentru B).
3. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-declarare a unei variabile de tip al cerinței (accesare a unor elemente aflate
tablou 1p. pe poziții consecutive, identificare a unor
-citire a elementelor tabloului 1p. valori consecutive, elemente suport).
-determinare a numerelor conform
cerinței (*) 6p.
-afișare a numerelor și tratare a
cazului nu exista 1p.
-declarare variabile simple, citire a
datelor simple, corectitudine globală a 1p.
programului1)
4. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă metoda
-coerenţă a descrierii algoritmului (*) 1p. aleasă nu este eficientă.
-justificare a unor elemente de
eficienţă conform cerinței 1p.
b) Pentru program corect 8p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă numai 2p. pentru algoritm
fişier 1p. principial corect, dar care nu conduce la
-determinare a valorii cerute (*, **) 4p. rezultatul cerut pentru toate cazurile.
-afișare a datelor și tratare a cazului (***) Se acordă punctajul numai pentru un
imposibil 1p. algoritm liniar, care utilizează eficient
-utilizare a unui algoritm eficient (***) 1p. memoria.
-declarare a variabilelor, O soluție posibilă memorează valoarea x,
corectitudine globală a programului1) 1p. apoi, pe măsura citirii elementelor șirului, se
determină numărul k de termeni ai acestuia
cu proprietatea că primii k-1 sunt strict mai
mici decât x, iar al k-lea este strict mai mare
decât x. Poziția cerută este k.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.
Probă scrisă la informatică Varianta 3
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2017


Proba E. d)
Informatică
Limbajul C/C++
Varianta 4

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Indicaţi o expresie C/C++ care are valoarea 1 dacă şi numai dacă numărul natural memorat
în variabila întreagă x are exact o cifră. (4p.)
a. x%10==x b. x/10==x c. x%10==x/10 d. (x%10)/10==x

2. Se consideră algoritmul alăturat, citeşte n


reprezentat în pseudocod. (număr natural nenul)
a) Scrieţi ce se afișează dacă se citește ┌pentru i 1,n execută
numărul 3. (6p.) │┌pentru j 1,n execută
││┌dacă i=j sau i+j=n+1 atunci
b) Scrieți un număr care poate fi citit, astfel │││ scrie ’#’
încât, în urma executării algoritmului │││altfel
numărul de simboluri # afișate să fie 100. │││ scrie j
(4p.) ││└■
│└■
└■
c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, înlocuind adecvat prima structură
pentru...execută cu o structură repetitivă cu test inițial. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 4


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. O expresie C/C++ care are valoarea 1 este: (4p.)
a. ceil(6.15)<ceil(5.61) b. ceil(6.15)>floor(5.61)
c. floor(6.15)<ceil(5.61) d. floor(6.15)<floor(5.61)
2. Se consideră secvenţa de mai jos, în care toate variabilele sunt de tip întreg.
i=2;
while(.....)
{ if(x%i==0) cout<<i<<’ ’; | printf(”%d ”,i);
i=i+1;
}
Pentru a afişa în ordine crescătoare toţi divizorii pozitivi ai numărului natural nenul memorat
în variabila x, cu excepţia lui 1 şi a numărului respectiv, o expresie care poate înlocui
punctele de suspensie este: (4p.)
a. i>0 b. i>=2
c. i<=x/2 d. i<=x

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele întregi media1 şi media2 memorează mediile semestriale obținute de un elev
la informatică, iar variabila initiala memorează prima literă a numelui elevului. Declarați
variabila initiala și scrieţi o secvență de instrucțiuni C/C++ în urma executării căreia să
se afişeze pe ecran prima literă a numelui și, pe linia următoare, media anuală la
informatică a acestui elev.
Exemplu: dacă elevul are numele Popescu, iar cele două medii sunt 9, respectiv 10, se
afișează pe ecran
P
9.5 (6p.)
4. Se citeşte un număr natural nenul, n, şi se cere să se scrie numărul obţinut din n, prin
inserarea, după fiecare cifră pară din scrierea lui, a unei cifre egale cu jumătate din
aceasta.
Exemplu: dacă se citește 2380 se obţine 2138400, iar dacă se citește 35 se obţine 35.
a) Scrieţi, în pseudocod, un algoritm de rezolvare pentru problema enunţată. (10p.)
b) Precizaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică Varianta 4


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. În secvenţa de instrucţiuni de mai jos toate variabilele sunt de tip întreg.
for(i=0;i<5;i++) 1 1 1 1 1
{ for(j=0;j<5;j++) 1 2 2 2 1
if(...........) 1 2 2 2 1
cout<<″1 ″; | printf(″1 ″); 1 2 2 2 1
else 1 1 1 1 1
cout<<″2 ″; | printf(″2 ″);
cout<<endl; | printf(″\n″);
}
Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obţinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine.
(4p.)
a. (4-i)%4==0 || (4-j)%4==0 b. (4-i)%4==0 && (4-j)%4==0
c. (4-i)%4!=0 || (4-j)%4!=0 d. (4-i)%4!=0 && (4-j)%4!=0

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Se consideră două tablouri unidimensionale A și B: A=(1,7,9) și B=(5,7,8,12).
Scrieţi elementele unui tablou obținut prin interclasarea tablourilor A și B, în ordinea în care
ele apar în acesta. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (n∈ ∈[2,50]) şi
cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [0,104].
Cel puțin două elemente ale tabloului sunt nenule. Programul modifică în memorie tabloul
prin ordonarea descrescătoare a elementelor nenule ale acestuia, celelalte elemente
păstrându-şi poziția iniţială, apoi afișează pe ecran elementele tabloului obținut, separate
prin câte un spațiu.
Exemplu: dacă n=9, iar tabloul citit este (5, 0, 0, 9, 3, 4, 0, 7, 3), atunci se obține tabloul
(9, 0, 0, 7, 5, 4, 0, 3, 3). (10p.)
4. Numim secvență pară într-un șir o succesiune de termeni ai șirului cu proprietatea că sunt
numere pare și că se află pe poziții consecutive în șir; orice secvență are cel puțin doi
termeni și este maximală în raport cu proprietatea precizată (dacă i se adaugă un alt
termen, secvența își pierde această proprietate).
Fişierul bac.txt conţine un şir de cel mult 106 numere naturale din intervalul [0,109].
Numerele din şir sunt separate prin câte un spaţiu.
Se cere să se afişeze pe ecran numărul de secvențe pare din șir.
Proiectați un algoritm eficient din punctul de vedere al spațiului de memorie utilizat şi al
timpului de executare.
Exemplu: dacă fişierul bac.txt conţine valorile
1 2 3 4 6 10 2 8 5 7 9 4 6 14 121 20 4
se afişează pe ecran numărul 3.
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (8p.)

Probă scrisă la informatică Varianta 4


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2017


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 4
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. a 4p.
2. a) Răspuns corect: #2#1#3#2# 6p. Se acordă numai 3p. dacă datele sunt
parțial corecte și includ secvența #2#
b) Răspuns corect: 50 4p.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 1p. dacă s-a scris o
-declarare variabile 1p. instrucțiune de decizie, dar expresia logică nu
-citire date 1p. este conform cerinței.
-afişare date 1p. (**) Se acordă numai 2p. dacă doar una
-instrucţiune de decizie conform dintre instrucțiunile repetitive este conform
cerinței (*) 3p. cerinței.
-instrucţiuni repetitive conform cerinței
(**) 3p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. b 4p.
2. c 4p.
3. Pentru rezolvare corectă 6p. (*) Se acordă numai 2p. dacă media se
-declarare a variabilei cerute 1p. calculează corect doar dacă rezultatul este
-expresie corectă pentru calculul mediei un număr întreg.
(*) 3p.
-afișare a datelor conform cerinței 2p.

Probă scrisă la informatică Varianta 4


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (identificare a unei cifre a
-determinare a numărului cu numărului, identificare a unei cifre pare,
proprietatea cerută (*) 6p. inserare a unei cifre într-un număr, păstrare
-scriere principial corectă a structurilor a ordinii cifrelor, inserare a valorilor
de control (**) 2p. corespunzătoare doar după cifre pare,
-scriere a rezultatului 1p. inserare corectă după cifrele nule de la
sfârşitul numărului).
(**) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar unele dintre variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare indicate corect 2p. este corect precizat rolul acestora.
-date de ieșire indicate corect 2p.

SUBIECTUL al III - lea (30 de puncte)


1. a 4p.
2. Pentru răspuns corect 6p. Se acordă numai 4p. dacă elementele
tabloului sunt ordonate (crescător sau
descrescător), dar valoarea 7 apare o singură
dată în tablou.
3. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-declarare a variabilei de tip tablou 1p. specificat (algoritm de ordonare principial
-citire a tabloului 1p. corect, elemente suport conform cerinței,
-modificare a tabloului (*) 6p. modificare în memorie) al cerinţei.
-afişare a datelor în formatul cerut 1p.
-declarare și citire a variabilelor
simple, corectitudine globală a
programului1) 1p.
4. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă metoda
-coerenţă a descrierii algoritmului (*) 1p. aleasă nu este eficientă.
-justificare a unor elemente de
eficienţă, conform cerinței 1p.
b) Pentru program corect 8p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă numai 3p. pentru algoritm
fişier 1p. principial corect, dar care nu conduce la
-determinare a valorii cerute (*, **) 5p. rezultatul cerut pentru toate cazurile.
-utilizare a unui algoritm eficient (***) 1p. (***) Se acordă punctajul numai pentru un
-afișare a datelor, corectitudine algoritm liniar (de complexitate O(n)), care
globală a programului1) 1p. utilizează eficient memoria.
O soluţie posibilă parcurge o dată fişierul
memorând numărul de termeni pari de pe
poziții consecutive din secvența curentă,
număr care se incrementează la întâlnirea
fiecărui termen par, respectiv se
inițializează cu 0 la întâlnirea fiecărui
termen impar. La finalizarea fiecărei
secvențe (inclusiv cea care încheie șirul) se
actualizează, după caz, numărul de
secvențe pare obținute.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.
Probă scrisă la informatică Varianta 4
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2017


Proba E. d)
Informatică
Limbajul C/C++
Varianta 7

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Expresia C/C++ alăturată are valoarea: (4p.) 3+7/4+3
a. 1 b. 5.5 c. 7 d. 7.75

2. Se consideră algoritmul alăturat, citeşte n


reprezentat în pseudocod. (număr natural nenul)
S-a notat cu a%b restul împărţirii numărului k 0
natural a la numărul natural nenul b şi cu [c] i 1
partea întreagă a numărului real c. ┌cât timp i≤n execută
│ citeşte x
a) Scrieţi ce se afişează dacă se citesc, în │ (număr natural nenul)
această ordine, numerele 4, 5, 24, 3, 45. │ y 2
(6p.) │┌cât timp x>1 și x%y≠0 execută
b) Dacă primul număr citit este 3, scrieți un set ││ y y+1
de numere distincte care pot fi citite în │└■
continuare, astfel încât, în urma executării │┌dacă k<[x/y] atunci
algoritmului, să se afișeze valoarea 1. (4p.) ││ k [x/y]
│└■
c) Scrieţi în pseudocod un algoritm echivalent │ i i+1
cu cel dat, înlocuind adecvat prima structură └■
cât timp...execută cu o structură de scrie k
tip pentru...execută. (6p.)

d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 7


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. Indicaţi expresia C/C++ care are valoarea 1 dacă şi numai dacă numărul întreg memorat în
∪[2,4].
variabila întreagă x aparţine reuniunii de intervale [-4,-2]∪ (4p.)
a. abs(x)<=4 && abs(x)%2==0 b. abs(x)>=2 && abs(x)<=4
c. abs(x-2)<=4 d. abs(x-2)>=2
2. Variabile x și y sunt de tip întreg şi memorează numere naturale ......
nenule. Indicați instrucţiunea care poate înlocui punctele de y=x/y;
suspensie, astfel încât în urma executării secvenţei obţinute să se x=x/y;
interschimbe valorile inițiale ale variabilelor x şi y. (4p.)
a. x=x*y; b. x=y/x; c. y=x*y; d. y=y/x;

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele întregi s şi d memorează extremitatea stângă, respectiv dreaptă a unui interval
închis. Scrieţi o secvenţă de instrucţiuni C/C++ care să afișeze pe ecran mesajul
se intersecteaza, dacă intersecția dintre intervalul precizat și intervalul [2013,2017]
este nevidă, sau mesajul disjuncte, în caz contrar. (6p.)
4. Se citesc trei numere naturale, a, b şi c (a<b). Se cere să se scrie toate tripletele de
numere naturale, x, y şi z, soluţii ale ecuaţiei x+y+z=c, cu proprietatea că a≤ ≤x≤
≤y≤≤z≤≤b.
Fiecare triplet scris este încadrat între acolade, iar numerele x, y și z sunt scrise în
această ordine, separate prin câte o virgulă. Dacă nu există niciun triplet cu proprietatea
cerută, se scrie mesajul nu exista.
Exemplu: dacă a=2, b=4 şi c=8,
se scriu tripletele
{2,2,4}{2,3,3}
iar dacă a=5, b=8, c=8
se scrie mesajul nu exista
a) Scrieţi, în pseudocod, un algoritm de rezolvare pentru problema enunţată. (10p.)
b) Precizaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică Varianta 7


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. În secvenţa de instrucţiuni C/C++ de mai jos toate variabilele sunt de tip întreg.
for(i=0;i<5;i++) 0 0 1 1 2
{ for(j=0;j<5;j++) 0 1 1 2 2
cout<<.........; | printf("%d ",............); 1 1 2 2 3
cout<<endl; 1 2 2 3 3
} 2 2 3 3 4
Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obţinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine.(4p.)
a. (i-j-1)/2 b. (i+j-1)/2
c. (i-j)/2 d. (i+j)/2

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Pentru a verifica dacă în tabloul unidimensional (4,7,9,12,16,20,45) există
elementul cu valoarea x=8, se aplică metoda căutării binare.
Scrieți succesiunea de elemente a căror valoare se compară cu x pe parcursul aplicării
metodei indicate. (6p.)
3. Scrieți un program C/C++ care citește de la tastatură un număr natural par n (n∈∈[2,50])
și cele n elemente ale unui tablou unidimensional, numere reale, apoi transformă tabloul în
memorie, inserând un element nou, la mijlocul său, valoarea acestuia fiind egală cu media
aritmetică a elementelor tabloului citit. Tabloul obținut se afişează pe ecran, elementele
sale fiind separate prin câte un spaţiu.
Exemplu: pentru n=4 și tabloul (3, 2.25, 3, 1.75)
se obține tabloul (3, 2.25, 2.5, 3, 1.75). (10p.)
4. Un șir de numere este o progresie aritmetică de rație r dacă oricare termen al său, cu
excepția primului, se obține din cel care îl precede, prin adunarea la acesta a numărului r.
Exemplu: șirul 12, 14, 16, 18, 20 este o progresie de rație 2.
Fișierul bac.in conține un șir de cel mult 106 numere naturale din intervalul [0,103],
separate prin câte un spațiu.
Se cere să se afișeze pe ecran mesajul DA în cazul în care toate numerele distincte din
șir pot fi rearanjate pentru a forma o progresie aritmetică de rație 2, sau mesajul NU în caz
contrar. Proiectați un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fișierul conține numerele
12 20 16 18 12 14 20 20
se afișează pe ecran
DA
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (8p.)

Probă scrisă la informatică Varianta 7


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2017


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 7
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. c 4p.
2. a) Răspuns corect: 15 6p.
b) Pentru răspuns corect 4p. Se acordă punctajul pentru oricare set de trei
numere prime distincte sau de două numere
prime distincte și valoarea 1.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare a tuturor variabilelor 1p. instrucțiunile repetitive este conform cerinței.
-citire corectă 1p.
-instrucţiune de decizie corectă 2p.
-instrucţiuni repetitive corecte (*) 3p.
-atribuiri corecte 1p.
-afișare a datelor 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. b 4p.
2. a 4p.
3. Pentru rezolvare corectă 6p.
-relații între extremitățile intervalelor,
conform cerinței 4p.
-afișare a mesajelor cerute 1p.
-corectitudine globală a secvenței1) 1p.

Probă scrisă la informatică Varianta 7


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă numai 2p. dacă un singur
-citire a datelor 1p. aspect (soluții ale ecuației, valori din
-determinare a tripletelor cerute (*) 3p. intervalul [a,b]) este conform cerinței.
-afișare a datelor în formatul cerut (**) 3p. (**) Se acordă câte 1p. pentru fiecare
-tratare a cazului nu exista 1p. aspect (încadrare între acolade, separare
-scrierea principial corectă a prin virgulă, ordine valori în cadrul
structurilor de control (***) 2p. tripletului) conform cerinței.
(***) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte dintre variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare indicate corect 2p. este corect precizat rolul acestora.
-date de ieșire indicate corect 2p.

SUBIECTUL al III - lea (30 de puncte)


1. d 4p.
2. Răspuns corect: 6p. Se acordă numai 2p. dacă doar prima
12, 7, 9 valoare este conform cerinței, numai 4p.
dacă doar primele două valori sunt conform
cerinței sau dacă, suplimentar față de valorile
cerute sunt enumerate și altele.
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare
- declarare a variabilei de tip tablou de aspect (algoritm principial corect de calcul
numere reale 1p. al unei medii, elemente suport pentru
-citire a elementelor tabloului 1p. determinarea valorii elementului inserat,
-modificare a tabloului (*) 5p. inserare a unui element, plasare în tablou a
-afişare a datelor în formatul cerut (**) 2p. mediei calculate, transformare în memorie)
-declarare și citire a variabilelor simple, conform cerinţei.
corectitudine globală a programului1) 1p. (**) Se acordă numai 1p. dacă s-au afișat
datele, dar numărul de elemente afișate
sau formatul de afișare nu este conform
cerinței.
4. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă
-coerenţă a descrierii algoritmului (*) 1p. algoritmul ales nu este eficient.
-justificare a unor elemente de eficienţă
conform cerinței 1p.
b) Pentru program corect 8p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, pregătire propusă nu prezintă elemente de eficienţă.
în vederea citirii, citire din fişier 1p. (**) Se acordă numai 3p. pentru algoritm
-verificare a proprietății cerute (*, **) 5p. principial corect, dar care nu conduce la
-utilizare a unui algoritm eficient (***) 1p. rezultatul cerut pentru toate cazurile.
-afișare a datelor, corectitudine globală (***) Se acordă punctajul numai pentru un
a programului1) 1p. algoritm liniar (de complexitate O(n)).
O soluție posibilă citește datele din fișier și,
pe măsura citirii, marchează cu 1, într-un
vector caracteristic, termenii șirului; se
parcurge vectorul și se verifică dacă între
oricare două elemente succesive egale cu
1 există o singură valoare nulă.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 7


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2016


Proba E. d)
Informatică
Limbajul C/C++
MODEL

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora nefiind
necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Expresia C/C++ alăturată are valoarea: (4p.) 3+5%10/2
a. 3 b. 4 c. 5 d. 5.5

2. Se consideră algoritmul alăturat, citeşte n,k


reprezentat în pseudocod. (numere naturale nenule, k>1)
S-a notat cu a%b restul împărţirii numărului pn
0
natural a la numărul natural nenul b şi cu [c] ┌cât timp pn=0 execută
partea întreagă a numărului real c. │ x
n
│┌cât timp x%k=0 execută
a) Scrieţi valoarea afişată dacă se citesc, în ││ x [x/k]
această ordine, numerele 48 și 6. (6p.) │└■
b) Dacă pentru k se citeşte numărul 5, scrieţi │┌dacă x=1 atunci
toate numerele care pot fi citite pentru n ││ pn n
astfel încât, în urma executării algoritmului, │└■
pentru fiecare dintre acestea, valoarea │ n n-1
afişată să fie 1. (4p.) └■
scrie pn
c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, înlocuind prima structură cât
timp...execută cu o structură repetitivă de alt tip. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Model


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
Pagina 1 din 3
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

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.
Variabila x este de tip real. O instrucţiune C/C++ incorectă din punct de vedere sintactic
1.
este: (4p.)
a. x=fabs(x);
b. x=fabs(-fabs(-2016));
c. cin>>fabs(x); | scanf(”%f”,&fabs(x));
d. cout<<fabs(-2016)+1; | printf(”%f”,fabs(-2016)+1);
2. O secvenţă de instrucţiuni C/C++ care realizează interschimbarea valorilor variabilelor
întregi x şi y este: (4p.)
a. x=x+y; y=x-y; x=y-x; b. x=x+y; y=y-x; x=x-y;
c. x=x-y; y=y-x; x=x+y; d. x=x-y; y=x+y; x=y-x;

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele pret_vechi și pret_majorat, de tip întreg, memorează prețul vechi al unei
cărți și respectiv prețul majorat, al aceleiași cărți. Scrieţi o secvență de instrucțiuni C/C++ în
urma executării căreia să se afișeze pe ecran mesajul dublu, dacă prețul majorat este
obținut prin dublarea prețului vechi, sau valoarea cu care s-a modificat prețul cărții, în caz
contrar. (6p.)
Se citește un număr natural n și se cere să se scrie numărul cifrelor care apar o singură
4.
dată în scrierea lui n.
Exemplu: dacă n=9272017, se afișează 3.
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)

Probă scrisă la informatică Model


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
Pagina 2 din 3
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele i şi j sunt de tip întreg. Indicați expresia care poate înlocui punctele de
suspensie astfel încât, în urma executării secvenţei obţinute, să se afișeze numerele de
mai jos.
for(i=1;i<=5;i++)
0 3 0 5 0
{ for(j=1;j<=5;j++)
3 0 5 0 7
if(......) cout<<i+j<<” ”; | printf(”%d ”,i+j);
0 5 0 7 0
else cout<<”0 ”; | printf(”0 ”);
5 0 7 0 9
cout<<endl; | printf(”\n”);
0 7 0 9 0
} (4p.)
a. i%2<j%2 b. i%2!=j%2 c. i%2==j%2 d. i%2>j%2

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Pentru a verifica dacă în tabloul unidimensional (0,1,8,9,12,21,63) există elementul
cu valoarea x=8, se aplică metoda căutării binare. Scrieți succesiunea de elemente ale
tabloului a căror valoare se compară cu valoarea lui x pe parcursul aplicării metodei
indicate. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈
∈[2,20]), apoi
cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [0,109].
Programul transformă în memorie tabloul, eliminând un număr minim de elemente ale
acestuia, astfel încât el să conțină doar numere impare şi, eventual, numărul 2016.
Programul afișează pe ecran elementele tabloul obținut, separate prin câte un spațiu, sau
mesajul nu exista dacă nu se poate obține un astfel de tablou.
Exemplu: pentru n=7 și tabloul (2016,1,12,7,2016,2017,20) sau pentru n=5 și
tabloul (2016,1,7,2016,2017) se afişează pe ecran:
2016 1 7 2016 2017
iar pentru n=3 și tabloul (2016,12,20)
se afişează mesajul nu exista (10p.)
4. Fişierul date.in conţine un şir de cel mult un milion de numere naturale din intervalul
[0,109], separate prin câte un spațiu. Șirul are cel puțin doi termeni impari.
Se cere să se afișeze pe ecran mesajul DA dacă șirul aflat în fișier are un subșir ordonat
strict crescător, format din toți termenii impari ai săi. Dacă nu există un astfel de subșir,
programul afișează pe ecran mesajul NU. Pentru verificarea proprietății cerute utilizați un
algoritm eficient din punctul de vedere al timpului de executare și al memoriei necesare.
Exemplu: dacă fişierul conţine numerele
2 1 6 3 5 4 7
se afişează pe ecran mesajul
DA
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.)

Probă scrisă la informatică Model


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
Pagina 3 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2016


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

MODEL
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. c 4p.
2. a) Răspuns corect: 36 6p.
b) Răspuns corect: 1,2,3,4 4p. Se acordă câte 1p. pentru fiecare număr
menţionat conform cerinței.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiunile repetitive este corectă.
-citire date 1p.
-afişare date 1p.
-instrucţiuni repetitive corecte (*) 4p.
-atribuiri corecte 2p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. c 4p.
2. d 4p.
3. Pentru rezolvare corectă 6p. Se acordă câte 2p. pentru fiecare aspect al
cerinței (expresie de verificare a prețului
majorat prin dublare, afișare mesaj, afișare
valoare cu care s-a modificat prețul).
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (algoritm de numărare principial
-determinare a unui număr cu corect, acces la o cifră a numărului,
proprietatea cerută (*) 6p. numărare a tuturor cifrelor suport – inclusiv
-scriere principial corectă a structurilor cazul în care n=0).
de control (**) 2p. (**) Se va puncta orice formă corectă de
-scriere a rezultatului 1p. structură repetitivă sau decizională.
Probă scrisă la informatică Model
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au indicat
-precizare a rolului variabilelor utilizate (*) 2p. doar o parte din variabilele utilizate sau
-indicare a datelor de intrare 2p. dacă nu pentru toate variabilele este corect
-indicare a datelor de ieșire 2p. precizat rolul acestora.

SUBIECTUL al III - lea (30 de puncte)


1. b 4p.
2. Răspuns corect: 9,1,8 6p.
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declarare corectă a variabilei de tip al cerinței (identificare a unui număr
tablou 1p. par/impar, eliminare a unui element din șir,
-citire a elementelor tabloului 1p. elemente suport eliminate, construire în
-accesare corectă a unui element al memorie).
tabloului 1p.
-transformare a tabloului conform
cerinței (*) 4p.
-tratare a cazului nu exista 1p.
-afișare a elementelor tabloului 1p.
-declarare a tuturor variabilelor
simple, citire a datelor simple,
corectitudine globală a programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenţă a explicării metodei (*) 2p. aleasă nu este eficientă.
-justificare a unor elemente de
eficienţă 2x1p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă numai 2p. dacă algoritmul
fişier 1p. este principial corect, dar nu conduce la
-verificare a proprietății indicate rezultatul cerut pentru orice set de date de
pentru subșir (*,**) 3p. intrare.
-utilizare a unui algoritm eficient (***) 1p. (***) Se acordă punctajul numai pentru un
-afișare a mesajului conform cerinței, algoritm liniar (de complexitate O(n)), care
declarare variabile, corectitudine utilizează eficient memoria.
globală a programului1) 1p. O soluţie posibilă parcurge cel mult o dată
fişierul memorând valoarea ultimului termen
impar, comparând-o cu valoarea termenului
curent.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Model


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat național 2016


Proba E. d)
Informatică
Limbajul C/C++
Simulare

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Indicaţi expresia C/C++ care are valoarea 1 dacă şi numai dacă numărul memorat în
variabila întreagă x aparţine mulţimii {2015, 2016, 2017}. (4p.)
a. x==2015 && !(x<2016 || x<2017) b. x==2015 && !(x<2016 && x<2017)
c. x==2015 || !(x<2016 || x>2017) d. x==2015 || !(x<2016 && x>2017)

2. Se consideră algoritmul alăturat, reprezentat în pseudocod. m 0


S-a notat cu a%b restul împărţirii numărului natural a la numărul ┌repetă
natural nenul b. │ citeşte x
│ (număr natural)
a) Scrieţi valoarea afişată dacă se citesc, în această ordine,
│ y x
numerele 29678, 125, 1233345, 2, 78664, 0. (6p.) │┌repetă
b) Scrieţi un şir de date de intrare, format din numere naturale, ││ c y%10
astfel încât, în urma executării algoritmului, să se afişeze ││ y [y/10]
valoarea 2016. (4p.) │└până când c≤y%10
│┌dacă y≠0 atunci
c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat,
││ m m*10+c
înlocuind a doua structură repetă ...până când cu o
│└■
structură repetitivă de alt tip. (6p.) └până când x=0
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.) scrie m

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
1
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

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. Variabilele x și y sunt de tip întreg și memorează câte un număr natural nenul. Indicați
expresia C/C++ care are valoarea 1 dacă și numai dacă valorile variabilelor x și y sunt
consecutive. (4p.)
a. abs(x+y) b. abs(x-y) c. abs(x/y) d. abs(x%y)
2. Variabilele n și x sunt de tip întreg. Pentru ca în urma executării n=0;
secvenței alăturate variabila n să memoreze numărul tuturor while(.........)
valorilor naturale pătrate perfecte din intervalul [0,x], zona n=n+1;
punctată poate fi înlocuită cu: (4p.)
a. n<=x*x b. n*n<=x
c. n<=(x-1)*(x-1) d. (n-1)*(n-1)<=x

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele întregi baza1 şi inaltime1 memorează baza, respectiv, înălțimea unui
triunghi, iar variabilele întregi baza2 şi inaltime2 memorează baza, respectiv, înălțimea
unui alt triunghi.
Scrieţi o secvență de instrucțiuni C/C++ care afișează pe ecran mesajul aceeasi arie,
dacă cele două triunghiuri au arie egală, sau mesajul arii diferite, în caz contrar.
(6p.)
4. Un număr natural nenul se numeşte sPar dacă atât el, cât și suma divizorilor săi proprii
(divizori diferiţi de 1 şi de el însuși), sunt numere pare.
Se citește un număr natural, n (n∈ ∈[1,109]), și se cere să se scrie cel mai mic număr
sPar, strict mai mare decât n.
Exemplu: dacă n=95 atunci se scrie 98 (atât 98, cât și 72=2+7+14+49, sunt numere
pare).
a) Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunţată. (10p.)
b) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
2
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. În secvenţa de instrucţiuni de mai jos toate variabilele sunt de tip întreg.
for(i=0;i<5;i++) ! ? ! ? !
{ for(j=0;j<5;j++) ? ! ? ! ?
if(.......) cout<<"! "; | printf("! "); ! ? ! ? !
else cout<<"? "; | printf("? "); ? ! ? ! ?
cout<<endl; | printf("\n"); ! ? ! ? !
}
Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obţinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine.(4p.)
a. (i+j)%2==0 b. i%2+j%2==0 c. i%2+j==0 d. i+j%2==0

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Se consideră un tablou unidimensional în care elementele sunt, în această ordine,
(2020,2016,2012,2008,2004,2000,1996). Pentru a verifica dacă în tablou există
elementul cu valoarea x, se aplică metoda căutării binare.
Scrieţi toate valorile pe care le poate avea x, astfel încât căutarea să se încheie după ce x
a fost comparat cu exact două elemente ale tabloului. (6p.)
3. Două tablouri unidimensionale se numesc anagrame dacă elementele lor nenule sunt
egale, dispuse eventual în altă ordine.
Scrieţi un program C/C++ care citeşte de la tastatură numere naturale din intervalul
[0,200]: pe prima linie două numere nenule, n și m, pe linia a doua cele n elemente ale
unui tablou unidimensional, iar pe linia a treia cele m elemente ale unui alt tablou
unidimensional. Numerele aflate pe aceeași linie sunt separate prin câte un spațiu.
Programul afişează pe ecran mesajul DA, dacă cele două tablouri sunt anagrame, sau
mesajul NU, în caz contrar.
Exemple: dacă se citesc, în această ordine, numerele:
6 8
5 1 6 0 7 7
7 5 0 0 6 7 0 1
pe ecran se afişează mesajul DA
iar dacă se citesc, în această ordine, numerele:
4 4
5 1 6 0
6 5 6 1
pe ecran se afişează mesajul NU. (10p.)
4. Un număr x se numește sufix al unui număr y dacă y se poate obține din x prin alipirea,
la stânga sa, a cel puțin unei alte cifre.
Fişierul bac.in conţine un şir de cel mult 109 numere naturale distincte din intervalul
[0,109]. Numerele din şir sunt separate prin câte un spaţiu.
Se cere să se afișeze pe ecran, în ordine strict crescătoare, toți termenii șirului aflat în
fișier care aparţin intervalului [100,999] și sunt sufixe pentru cel puțin un alt termen al
aceluiași șir. Numerele sunt afișate câte unul pe linie, iar dacă în șir nu există astfel de
numere, se afișează pe ecran mesajul Nu exista. Pentru determinarea numerelor cerute
se utilizează un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fişierul bac.in are conţinutul
15502 49 54321 6149 76149 123 502 4321 321
atunci pe ecran se afişează numerele
321
502
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.)
Probă scrisă la informatică Simulare
Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
3
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2016


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Simulare
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. c 4p.
2. a) Răspuns corect: 634 6p.
b) Pentru răspuns corect 4p. Se acordă numai 2p. dacă numerele scrise
conduc la obținerea valorii cerute, dar șirul
nu se încheie cu 0.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiunile repetitive este conform cerinței.
-citire date 1p.
-afişare date 1p.
-instrucţiuni repetitive conform cerinței
(*) 3p.
-instrucțiune de decizie conform
cerinței 2p.
-atribuiri conform cerinței 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. b 4p.
2. b 4p.
3. Pentru rezolvare corectă 6p. (*) Se acordă numai 2p. dacă expresia de
-verificare a proprietății cerute (*) 4p. verificare a proprietăţii cerute este principial
-afișare a mesajelor conform cerinței 2p. corectă, dar operatorii logici utilizaţi nu sunt
conform cerinţei.

Probă scrisă la informatică Simulare


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (determinare a unui divizor,
-determinare a numărului cerut (*) 6p. determinare a tuturor divizorilor proprii,
-scriere principial corectă a structurilor algoritm de calcul al unei sume,
de control (**) 2p. determinare a unui număr sPar, număr sPar
-scriere a rezultatului 1p. din intervalul cerut, număr sPar minim).
(**) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte dintre variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare indicate corect 2p. este corect menționat rolul acestora.
-date de ieșire indicate corect 2p.

SUBIECTUL al III - lea (30 de puncte)


1. a 4p.
2. Răspuns corect: 2000, 2016 6p. Se acordă câte 3p. pentru fiecare dintre cele
două valori cerute.
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declarare a unei variabile de tip al cerinței (acces la un element al unui
tablou unidimensional 1p. tablou, identificare a unui element nenul/nul,
-citire a elementelor tablourilor 2x1p. identificare a elementelor comune, verificare
-verificare a proprietății cerute (*) 5p. a tuturor elementelor celor două tablouri,
-afişarea a datelor conform cerinței 1p. algoritm principial corect de verificare a unei
-declarare a variabilelor simple, proprietăți).
corectitudine globală a programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-descriere coerentă a algoritmului aleasă nu este eficientă.
utilizat (*) 2p.
-justificare a unor elemente de
eficienţă 2p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă câte 1p. pentru fiecare
fişier 1p. condiţie impusă (ordine strict crescătoare,
-determinare a valorilor cerute (*, **) 3p. determinare a unui sufix din intervalul cerut,
-afișare a datelor și tratare a cazului toți termenii ceruți).
Nu exista 1p. (***) Se acordă punctajul numai pentru un
-utilizare a unui algoritm eficient (***) 1p. algoritm liniar (de complexitate O(n)).
O soluţie posibilă utilizează un vector de
apariții, ap, unde api, inițial nul, este
actualizat astfel, pentru fiecare sufix i
(i∈[100,999]): dacă i este chiar un termen al
șirului atunci la api se adună 1, iar dacă i
este sufixul unui număr cu mai mult de trei
cifre atunci la api se adună 2. Numerele
cerute sunt acele valori i din intervalul cerut
pentru care api este impar și mai mare sau
egal cu 3.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Simulare


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat național 2016


Proba E. d)
Informatică
Limbajul C/C++
Varianta 4

Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele x, y și z sunt de tip întreg și memorează numere naturale din intervalul
[1,103]. Indicați o expresie C/C++ care are valoarea 1 dacă și numai dacă valoarea
variabilei x este strict mai mare decât valoarea oricăreia dintre variabilele y și z. (4p.)
a. x*y>y*z && x*z>y*z b. x*z>x*y && y*z>y*x
c. y*z>x*z && y*x>z*x d. y*z>y*x && y*z>z*x

2. Se consideră algoritmul alăturat, reprezentat citeşte n


în pseudocod. (număr natural nenul)
S-a notat cu a%b restul împărţirii numărului natural a k 1
la numărul natural nenul b şi cu [c] partea întreagă m 1
a numărului real c. ┌cât timp n>9 execută
│┌dacă n%10=[n/10]%10 atunci
a) Scrieţi valoarea afişată în urma executării ││ k k+1
algoritmului dacă se citeşte numărul ││┌dacă k>m atunci
81112337. (6p.) │││ m k
b) Scrieţi numărul de valori din intervalul ││└■
[10000,99999] care să înceapă cu cifra 1, ││altfel
care pot fi citite pentru variabila n, astfel încât, ││ k 1
în urma executării algoritmului, pentru fiecare │└■
dintre acestea, să se afişeze valoarea 4. (4p.) │ n [n/10]
└■
scrie m
c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, înlocuind structura cât
timp...execută cu o structură repetitivă de alt tip. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 4


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

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. Variabilele A, B și C sunt de tip real și memorează coeficienții unei ecuații de gradul al II-lea
Ax2+Bx+C=0, cu două rădăcini reale distincte. Indicați o expresie C/C++ a cărei valoare
este egală cu valoarea uneia dintre cele două rădăcini. (4p.)
a. -B+pow(sqrt(B)-4*A*C,2)/2*A b. (-B+pow(sqrt(B)-4*A*C,2))/(2*A)
c. -B+sqrt(pow(B,2)-4*A*C)/2*A d. (-B+sqrt(pow(B,2)-4*A*C))/(2*A)
2. În secvența alăturată toate variabilele sunt întregi și z=0;
memorează valori naturale. Indicați o expresie care poate while(x>=y)
înlocui punctele de suspensie, astfel încât, în urma { x=........;
executării secvenţei obţinute, variabila z să memoreze z=z+1;
câtul împărțirii numărului memorat inițial în x la numărul }
nenul memorat în y. (4p.)
a. x+y b. x-y c. x/10 d. x%10

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Într-un cartier sunt două zone de parcare, pentru fiecare cunoscându-se numărul de locuri
închiriate pe parcursul orei curente, precum și prețul practicat de zona respectivă pentru
închirierea unui loc pentru o oră.
Varabilele întregi n1 și p1 memorează numărul de locuri închiriate, respectiv prețul de
închiriere pentru o oră în prima zonă, iar variabilele întregi n2 și p2 memorează numărul de
locuri închiriate, respectiv prețul de închiriere pentru o oră în cea de a doua zonă.
Scrieţi o secvenţă de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran
suma totală obținută în urma închirierii locurilor de parcare din cele două zone pe parcursul
orei curente. (6p.)
4. Se citește un număr natural, n (n≥2) și se cere să se scrie cel mai mic număr natural care
are aceiași divizori primi ca n.
Exemplu: dacă n=75, se scrie numărul 15, iar dacă n=7, se scrie numărul 7.
a) Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunţată. (10p.)
b) Precizaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică Varianta 4


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele din secvența alăturată sunt de tip α;
u=α
întreg, iar numerele citite sunt naturale. for(i=1;i<=10;i++)
Indicați expresiile care pot înlocui simbolurile { cin>>x; | scanf("%d",&x);
α și β astfel încât, în urma executării if(x==2016)
secvenței obținute, variabila u să memoreze β;
u=β
ultima poziție pe care apare numărul 2016 }
în șirul de numere citite de la tastatură sau
valoarea 0 dacă acesta nu apare în șir. (4p.)
a. α=0 și β =i b. α=1 și β =i c. α=0 și β =x d. α=1 și β =x

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Elementele unui tablou unidimensional sunt, în această ordine, (1,4,6,10,56,57,76).
Pentru a verifica dacă în tablou există elementul cu valoarea x=57, se aplică metoda
căutării binare.
Scrieţi succesiunea de elemente cu care se compară valoarea x pe parcursul aplicării
metodei indicate. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈ ∈[2,102]),
apoi numere naturale din intervalul [0,109], în această ordine: cele n elemente ale unui
tablou unidimensional și un număr x. Cel puţin unul dintre elementele tabloului are
valoarea x. Programul modifică ordinea valorilor din tablou, astfel încât toate valorile
având aceeași paritate ca a lui x să ocupe primele poziţii din tablou, iar celelalte valori să
se regăsească în continuarea acestora, într-o ordine oarecare. Elementele tabloului
obținut sunt afișate pe ecran, separate prin câte un spaţiu.
Exemplu: pentru n=9, tabloul (20, 11, 0, 1, 75, 0, 11, 4, 53) şi x=11,
unul dintre tablourile obținute poate fi: (11, 1, 75, 11, 53, 20, 0, 0, 4). (10p.)
4. Se consideră șirul 1, -1, 2 ... definit astfel: f1=1, f2=-1, iar fn=1-2·fn-1-fn-2, dacă
n≥3 (unde n este un număr natural).
Se citesc de la tastatură două numere întregi din intervalul [-109,109], x și y,
reprezentând, în această ordine, doi termeni ai șirului aflați pe poziții consecutive în
acesta. Se cere să se scrie în fișierul text bac.out, separați prin câte un spațiu, în ordine
inversă apariției lor în șir, cei doi termeni citiți, precum și toți ceilalți termeni care îi preced
pe aceștia în șir, ca în exemplu.
Pentru determinarea și afișarea numerelor cerute, se utilizează un algoritm eficient din
punctul de vedere al spațiului de memorie și al timpului de executare.
Exemplu: dacă x=-1 și y=2
fişierul conţine valorile
2 -1 1
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.)

Probă scrisă la informatică Varianta 4


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2016


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 4
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. a 4p.
2. a) Răspuns corect: 3 6p.
b) Răspuns corect: 18 4p.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiuni este conform cerinței.
-citire date 1p.
-afişare date 1p.
-instrucţiuni de decizie conform
cerinței (*) 3p.
-instrucţiune repetitivă conform
cerinței 2p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. d 4p.
2. b 4p.
3. Pentru rezolvare corectă 6p.
-calcul al sumei cerute 4p.
-afișare a rezultatului 2p.

Probă scrisă la informatică Varianta 4


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă numai 3p. dacă s-a
-citire a datelor 1p. determinat un număr cu aceiași divizori
-determinare a numărului cerut (*) 6p. primi, dar nu este cel mai mic.
-scriere principial corectă a structurilor (**) Se va puncta orice formă corectă de
de control (**) 2p. structură repetitivă sau decizională.
-afișare a datelor 1p.
b) Pentru rspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizarea rolului variabilelor utilizate identificat doar o parte din variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect precizat rolul acestora.
-date de ieșire identificate corect 2p.

SUBIECTUL al III - lea (30 de puncte)


1. a 4p.
2. Răspuns corect: 10 57 6p. Se acordă numai 3p. dacă s-a scris doar
prima valoare comparată.
3. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-declarare a variabilei de tip tablou 1p. al cerinței (plasare a tuturor numerelor cu
-citire a elementelor tabloului 1p. paritate diferită de a lui x conform cerinței,
-plasare a valorilor în tablou conform plasare a tuturor numerelor cu paritate
cerinței (*) 6p. egală cu a lui x conform cerinței, modificare
-afişare a datelor conform cerinței 1p. tablou în memorie).
-declarare a variabilelor simple, citire
a datelor simple, corectitudine globală
a programului1) 1p.
4. a) Pentru răspuns corect 4p.(*) Se acordă punctajul chiar dacă metoda
-coerenţă a descrierii metodei (*) 2p.aleasă nu este eficientă.
-justificare a unor elemente de (**) Se acordă punctajul pentru elementele
eficienţă (**) 2x1p.de eficiență justificate, conform cerinței,
chiar dacă metoda aleasă nu este optimă.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea scrierii, scriere (**) Se acordă numai 2p. pentru un algoritm
în fişier 1p. principial corect, dar care nu conduce la
-citire date, determinare și afișare a rezultatul cerut.
valorilor cerute (*, **) 4p. (***) Se acordă punctajul numai pentru un
-utilizare a unui algoritm eficient (***) 1p. algoritm liniar (de complexitate O(n)), care
utilizează eficient memoria.
O soluţie posibilă se bazează pe forma
generală a unui termen: fi=(i+1)/2, dacă i
este impar, respectiv fi=-i/2, dacă i este par.
O altă soluție posibilă generează termenii în
ordine inversă a apariției lor în șir astfel
încât, dacă z,x,y sunt trei termeni
consecutivi în șir, iar x și y sunt ultimii doi
termeni generați, atunci z=1-2·x-y
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 4


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat național 2016


Proba E. d)
Informatică
Limbajul C/C++
Varianta 10

Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabila x este de tip întreg. Indicaţi o expresie C/C++ care are valoarea 1 dacă şi numai
dacă valoarea variabilei x are exact trei cifre. (4p.)
a. x%1000==0 || x%100!=0 b. x/1000==0 || x/100!=0
c. x%1000==0 && x%100!=0 d. x/1000==0 && x/100!=0

2. Se consideră algoritmul alăturat, reprezentat în citeşte m,n,x


pseudocod. (numere natural nenule, m<n)
S-a notat cu a%b restul împărţirii numărului natural a p 0
la numărul natural nenul b. ┌cât timp m<n şi p=0 execută
│┌dacă m%x=0 şi n%x=0 atunci
a) Scrieţi valorile afişate în urma executării ││ p x
algoritmului dacă se citesc, în această ordine, ││altfel
numerele 11, 30 și 7. (6p.) ││┌dacă m%x=0 atunci
b) Scrieţi un set de valori care pot fi citite pentru │││ n n-1
variabilele m, n şi x, astfel încât, în urma │││altfel
executării algoritmului, să se afişeze două │││ m m+1
numere egale. (4p.) ││└■
│└■
c) Scrieţi în pseudocod un algoritm echivalent cu └■
cel dat, înlocuind structura cât scrie m,’ ’,n
timp...execută cu o structură repetitivă de
alt tip. (6p.)
d) Scrieţi programul C/C++ corespunzător
algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 10


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

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. Variabilele x, y, z şi p sunt de tip real. O transcriere ∙ − ∙ − ∙ −
în limbajul C/C++ a expresiei alăturate este: (4p.)
a. pow(p(p-x)(p-y)(p-z),1/2) b. pow(p*p-p*x,1/2)*pow(p-y)*pow(p-z)
c. sqrt(p)*(p-x)*(p-y)*(p-z) d. sqrt(p*(p-x)*(p-y)*(p-z))
2. Variabilele x, y şi z sunt de tip întreg şi memorează z=0;
numere naturale, iar x şi y au inițial valori nenule. Indicați o while(x>0)
expresie care poate înlocui punctele de suspensie astfel { z=..........;
încât, în urma executării secvenței obţinute, variabila z să x=x-1;
memoreze produsul valorilor memorate inițial în x și y. }
(4p.)
a. z+y b. z-y c. z+x d. z-x

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. O persoană deține două mașini, pentru fiecare cunoscându-se codul și anul fabricației.
Cele două mașini sunt fabricate în ani diferiți.
Variabilele întregi an1 și cod1 memorează anul fabricației, respectiv codul primei mașini,
iar variabilele întregi an2 și cod2 memorează anul fabricației, respectiv codul celei de a
doua mașini.
Scrieți o secvență de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran date
despre mașina cea mai nouă dintre cele două menționate mai sus: anul fabricației, urmat
de mesajul prototip, în cazul în care codul acesteia este 0, sau de mesajul produs de
serie, altfel. (6p.)
4. Se citeşte un număr natural cu toate cifrele nenule, n, şi se cere să se scrie numărul
obţinut prin eliminarea tuturor cifrelor impare din n, respectiv -1 dacă nu există astfel de
cifre sau dacă toate cifrele lui n sunt impare.
Exemplu: dacă n= 23541 se scrie 24, iar dacă n=28 se scrie -1.
a) Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunţată. (10p.)
b) Precizaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică Varianta 10


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Pentru a calcula cel mai mare divizor comun al unui şir de numere naturale nenule citite de
la tastatură, se poate aplica: (4p.)
a. algoritmul de determinare a unui element b. algoritmul lui Euclid
din şirul lui Fibonacci
c. metoda bulelor d. metoda interclasării

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată toate variabilele sunt de tip p=............;
întreg. Scrieţi secvența înlocuind punctele de for(i=1;i<=10;i++)
suspensie astfel încât, în urma executării { cin>>x; | scanf(”%d”,&x);
secvenţei obţinute, valoarea variabilei p să fie 1, ..............
dacă s-au citit doar numere strict pozitive, sau 0 }
altfel. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈ ∈[2,102]), și
construieşte în memorie un tablou unidimensional cu n elemente, numerotate de la 1 la n,
astfel:
• primul element este nul;
• elementele de pe poziții pare sunt egale cu valoarea poziției pe care se află;
• oricare alt element este obţinut prin însumarea celor două elemente aflate imediat
înaintea sa, ca în exemplu.
Elementele tabloului obținut sunt afișate pe ecran, separate prin câte un spaţiu.
Exemplu: pentru n=11 se obține tabloul (0,2,2,4,6,6,12,8,20,10,30) (10p.)
4. Fişierul numere.in conţine un şir de numere naturale din intervalul [1,109]. Numerele
din şir sunt ordonate strict crescător şi sunt separate prin câte un spaţiu.
Se cere să se determine valorile naturale distincte din intervalul închis delimitat de prima și
ultima valoare din șir care NU se găsesc în fișier. Valorile determinate se afişează pe
ecran în ordine strict crescătoare, separate prin câte un spaţiu. Dacă nu există astfel de
valori, se afişează pe ecran mesajul Nu exista.
Pentru determinarea valorilor cerute se utilizează un algoritm eficient din punctul de
vedere al memoriei şi al timpului de executare.
Exemplu: dacă fişierul conţine numerele
2 3 6 8
se afişează pe ecran valorile
4 5 7
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.)

Probă scrisă la informatică Varianta 10


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2016


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 10
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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) Răspuns corect: 14 28 6p.
b) Pentru răspuns corect 4p.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiuni este conform cerinței.
-citire date 1p.
-afişare date 1p.
-instrucţiuni de decizie conform
cerinței (*) 3p.
-instrucţiune repetitivă conform
cerinței 2p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. d 4p.
2. a 4p.
3. Pentru rezolvare corectă 6p. (*) Se acordă numai 2p. dacă s-au afișat
-afișare a anului de fabricație cerut 2p. mesajele indicate, dar nu conform cerinței.
-afișare mesaje conform cerinței (*) 4p.

Probă scrisă la informatică Varianta 10


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (acces la o cifră a numărului, cifre
-obţinere a unui număr conform pare/impare, cifre suport, obținere rezultat
cerinţei (*) 6p. pentru număr cu cifre pare și impare,
-scriere principial corectă a structurilor obținere rezultat pentru număr doar cu cifre
de control (**) 2p. pare, obținere rezultat pentru număr doar
-scriere a rezultatului 1p. cu cifre impare).
(**) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte din variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare indicate conform este corect precizat rolul acestora.
cerinței 2p.
-date de ieșire indicate conform
cerinței 2p.

SUBIECTUL al III - lea (30 de puncte)


1. b 4p.
2. Pentru răspuns corect 6p.
-înlocuire a punctelor de suspensie
din prima zonă 2p.
-înlocuire a punctelor de suspensie
din cea de a doua zonă 3p.
-corectitudine globală a secvenței1) 1p.
3. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-declarare a unei variabile care să al cerinței (plasare valoare pe prima poziție,
memoreze un tablou unidimensional 1p. plasare valori pe poziții pare, plasare valori
-citire a datelor 1p. pe celelalte poziții ale tabloului).
-construire a tabloului conform
cerinței (*) 6p.
-afişare a datelor 1p.
-declarare variabile simple,
corectitudine globală a programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenţă a descrierii metodei (*) 2p. aleasă nu este eficientă.
-justificare a unor elemente de
eficienţă 2x1p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă numai 2p. pentru un algoritm
fişier 1p. principial corect, dar care nu conduce la
-determinare și afișare a valorilor rezultatul cerut.
cerute (*, **) 3p. (***) Se acordă punctajul numai pentru un
-tratare a cazului Nu exista 1p. algoritm liniar, care utilizează eficient
-utilizare a unui algoritm eficient (***) 1p. memoria.
O soluţie posibilă parcurge numerele din
fișier memorând, la fiecare pas, ultimele
două numere citite, x și y, și afișând toate
numerele naturale din intervalul (x,y).
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 10


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat național 2016


Proba E. d)
Informatică
Limbajul C/C++
Varianta 9

Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele x şi y sunt de tip real. Expresia C/C++ alăturată este !(x>0 && y>0)
echivalentă cu expresia: (4p.)
a. x<=0 || y<=0 b. x<=0 && y<=0
c. x>0 || y>0 d. !(x>0) && !(y>0)

2. Se consideră algoritmul alăturat, citeşte n


reprezentat în pseudocod. (număr natural nenul)
S-a notat cu a%b restul împărţirii numărului p 0
natural a la numărul natural nenul b şi cu ┌pentru i 1,n execută
[c] partea întreagă a numărului real c. │ m i
│┌cât timp m%2=0 execută
a) Scrieţi valoarea afişată în urma ││ m [m/2]
executării algoritmului dacă se citeşte │└■
numărul 12. (6p.) │┌dacă m=1 atunci
b) Scrieţi cel mai mic şi cel mai mare ││ p i
număr care pot fi citite astfel încât, │└■
pentru fiecare dintre acestea, valoarea └■
afişată să fie 16. (4p.) scrie p
c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, înlocuind structura
pentru...execută cu o structură repetitivă cu test final. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 9


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

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. Indicați o expresie C/C++ care are valoarea 1 dacă şi numai dacă numărul întreg memorat
în variabila întreagă x aparţine mulţimii {-2,-1,1,2}. (4p.)
a. abs(x)>2 || x==0 b. abs(x)<=2 && x!=0
c. abs(x-2)<1 d. abs(x-1)>2
2. Variabilele x, y şi d sunt de tip întreg și memorează câte un d=x;
număr natural strict pozitiv. Indicați o expresie care poate if(d>y) d=y;
înlocui punctele de suspensie astfel încât, în urma executării while(........)
secvenţei obţinute, variabila d să memoreze cel mai mare d=d-1;
divizor comun al valorilor memorate în variabilele x şi y. (4p.)
a. x%d+y%d!=0 b. x%d!=y%d
c. (x+y)%d!=0 d. (x%d)*(y%d)!=0

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Se consideră două puncte A şi B din planul definit de sistemul de coordonate xOy.
Coordonatele punctului A sunt memorate în variabilele întregi xa (abscisa) şi ya
(ordonata), iar coordonatele punctului B sunt memorate în variabilele întregi xb (abscisa) şi
yb (ordonata). Niciunul dintre cele două puncte nu se află în originea sistemului.
Scrieţi o expresie C/C++ care să aibă valoarea 1 dacă şi numai dacă punctul A este situat
pe axa Oy, iar punctul B este situat pe axa Ox a sistemului de coordonate. (6p.)
4. Se citeşte un număr natural, n (n≥1), şi se cere să se scrie numărul obţinut prin duplicarea
fiecărei cifre pare a lui n sau -1 dacă acesta nu are nicio cifră pară.
Exemplu: dacă n=2380 se scrie
2238800
a) Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunţată. (10p.)
b) Precizaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică Varianta 9


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Tablourile unidimensionale A şi B au elementele: A=(20,17,12,10,3), iar
B=(45,16,12,7,2). În urma interclasării lor în ordine descrescătoare se obţine tabloul cu
elementele: (4p.)
a. (45,17,12,10,3) b. (45,20,16,17,12,12,7,10,2,3)
c. (45,20,17,16,12,12,10,7,3,2) d. (45,20,17,16,12,12,7,10,3,2)

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată toate variabilele sunt de tip s=.........;
întreg. Scrieţi secvența, înlocuind punctele de for(i=1;i<=10;i++)
suspensie astfel încât, în urma executării { cin>>x; | scanf(“%d”,&x);
secvenţei obţinute, valoarea variabilei s să fie if(.............)
egală cu suma numerelor întregi citite care au s=s+x;
cel mult două cifre. (6p.) }
3. ∈[2,102]), și
Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈
numere naturale din intervalul [0,1000], în această ordine: cele n elemente ale unui
tablou unidimensional și un număr x. Prima poziție a tabloului este 0.
Programul afişează pe ecran mesajul DA, dacă există cel puțin un element egal cu x aflat
pe pozițiile impare ale tabloului sau mesajul NU în caz contrar.
Exemplu: pentru n=5, tabloul (1,3,4,2,6) şi x=2,
se afişează pe ecran mesajul
DA
iar pentru n=5, tabloul (1,12,2,4,6) sau tabloul (1,3,12,4,6) şi x=2,
se afişează pe ecran mesajul
NU (10p.)
4. Fişierul bac.txt conţine un şir de cel mult 106 numere naturale distincte din intervalul
[0,109]. Numerele din şir sunt separate prin câte un spaţiu.
Se cere să se determine ultimii doi termeni pari din şirul aflat în fișier care sunt precedați
de doar un termen impar. Termenii determinați se afișează pe ecran, în ordinea apariţiei
lor în şir, separați printr-un spațiu, iar dacă în şir nu există doi astfel de termeni, pe ecran
se afişează mesajul Nu exista.
Pentru determinarea termenilor ceruţi se utilizează un algoritm eficient din punctul de
vedere al spațiului de memorie şi al timpului de executare.
Exemplu: dacă fişierul conţine numerele
4 16 5 12 14 30 212 16 11 400
se afişează pe ecran
212 16
(4 și 16 sunt precedate de 0 numere impare, 12, 14, 30, 212 și 16 sunt precedate
de 1 număr impar, iar 400 este precedat de 2 numere impare; dintre numerele 12, 14,
30, 212 și 16 ultimele două sunt 212 și 16).
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.)

Probă scrisă la informatică Varianta 9


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2016


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 9
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. a 4p.
2. a) Răspuns corect: 8 6p.
b) Răspuns corect: 16 31 4p. Se acordă câte 2p. pentru fiecare valoare
menţionată corect.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă de tipul indicat,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiuni este conform cerinței.
-citire date 1p.
-afişare date 1p.
-instrucţiune de decizie conform
cerinței 2p.
-instrucţiuni repetitive conform cerinței
(*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. b 4p.
2. a 4p.
3. Pentru rezolvare corectă 6p.
-condiție conform cerinței pentru punctul A 2p.
-condiție conform cerinței pentru punctul B 2p.
-operatori logici utilizați conform cerinței 2p.

Probă scrisă la informatică Varianta 9


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare și de notare
1
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (duplicare a unei cifre, cifre
-obţinere a unui număr conform suport, tratare caz -1).
cerinţei (*) 6p. (**) Se va puncta orice formă corectă de
-scriere principial corectă a structurilor structură repetitivă sau decizională.
de control (**) 2p.
-scriere a rezultatului 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte din variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare indicate conform este corect precizat rolul acestora.
cerinței 2p.
-date de ieșire indicate conform
cerinței 2p.

SUBIECTUL al III – lea (30 de puncte)


1. c 4p.
2. Pentru răspuns corect 6p. Se acordă doar 2p. dacă este respectată
-înlocuire a punctelor de suspensie condiţia doar pentru numere pozitive sau doar
corespunzătoare instrucțiunii de pentru numere negative.
atribuire 2p.
-înlocuire a punctelor de suspensie
corespunzătoare instrucțiunii de
decizie (*) 3p.
-corectitudine globală a secvenței1) 1p.
3. Pentru program corect 10p. (*) Se acordă câte 3p. pentru fiecare aspect
-declarare a unei variabile de tip al cerinței (algoritm principial corect de
tablou unidimensional 1p. verificare a unei proprietăți, poziții suport).
-citire a elementelor tabloului 1p.
-verificare a proprietății cerute (*) 6p.
-afişare a mesajului conform cerinței 1p.
-declarare variabile simple, citire
valori variabile simple, corectitudine
globală a programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenţă a descrierii metodei (*) 2p. aleasă nu este eficientă.
-justificare a unor elemente de
eficienţă 2x1p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă numai 2p. pentru un algoritm
fişier 1p. principial corect, dar care nu conduce la
-determinare și afișare a valorilor rezultatul cerut.
cerute (*, **) 3p. (***) Se acordă punctajul numai pentru un
-tratare a cazului Nu exista 1p. algoritm liniar (de complexitate O(n)), care
-utilizare a unui algoritm eficient (***) 1p. utilizează eficient memoria.
O soluţie posibilă parcurge fișierul până
când s-a întâlnit un termen impar. Se
parcurge apoi fișierul în continuare până la
final sau până când se întâlnește un nou
termen impar, memorând pe parcurs
ultimele două valori pare citite.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 9


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare și de notare
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2015


Proba E. d)
Informatică
Limbajul C/C++
MODEL

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Valoarea expresiei C/C++ alăturate este: (4p.) 5*9/2*3
a. 7 b. 7.5 c. 66 d. 67.5

2. Se consideră algoritmul alăturat, reprezentat în citeşte n


pseudocod. (număr natural nenul)
S-a notat cu x%y restul împărţirii numărului natural x m
0
la numărul natural nenul y şi cu [z] partea întreagă a p
1
numărului real z. ┌cât timp n≥10 execută
│ c1
n%10
a) Scrieţi numărul afişat dacă se citeşte valoarea │ n [n/10]
216553. (6p.) │ c2
n%10
b) Scrieţi două numere de trei cifre care pot fi │┌dacă c1≠c2 atunci
citite, astfel încât în urma executării ││┌dacă c1>c2 atunci
algoritmului, pentru fiecare dintre acestea, să se │││ m m+(c1-c2)*p
afișeze valoarea 1. (4p.) │││altfel
│││ mm+(c2-c1)*p
c) Scrieţi în pseudocod un algoritm, echivalent cu ││└■
cel dat, în care să se înlocuiască structura cât
││ p
p*10
timp...execută cu o structură repetitivă cu │└■
test final. (6p.) └■
d) Scrieţi programul C/C++ corespunzător scrie m
algoritmului dat. (10p.)

Probă scrisă la informatică MODEL


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. Indicați cel mai mic număr de două cifre pe care îl poate sqrt(x/10+x%10)==4
memora variabila întreagă x, astfel încât expresia C/C++
alăturată să aibă valoarea 1. (4p.)
a. 16 b. 79 c. 88 d. 97
2. În secvența alăturată toate variabilele sunt întregi, iar m>n. r=0;
Expresia care poate înlocui punctele de suspensie, astfel x=n;
încât, în urma executării secvenţei obţinute, variabila r să y=m;
memoreze diferenţa m-n este: do
(4p.) { x=x+1;
y=y-1;
r=r+1;
}while(x<y);
r=.......;
if(x!=y)r=r-1;
a. r/2 b. r-2 c. r+2 d. r*2

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabila s este de tip char și memorează o literă mică a alfabetului englez. Scrieți o
secvență de instrucțiuni în urma executării căreia să se afișeze pe ecran litera care o
precede imediat în alfabetul englez pe cea memorată în variabila s, dacă aceasta este o
consoană din mulțimea {n,z,w}, sau litera care o urmează imediat în alfabetul englez pe
aceasta în caz contrar.
Exemplu: dacă s memorează litera z se afișează y, iar dacă s memorează litera a se
afișează b. (6p.)
4. Un număr natural nenul se numește subperfect dacă este strict mai mic decât suma divizorilor
săi proprii (divizori naturali diferiți de 1 și de el însuși).
Exemplu: 12 este număr subperfect pentru că 12<2+3+4+6.
Se citesc două numere naturale a și b (2≤a<b≤109) și se cere să se afișeze, separate prin
câte un spațiu, în ordine descrescătoare, toate numerele subperfecte din intervalul [a,b].
Dacă în interval nu există astfel de numere, se afișează mesajul nu exista.
Exemplu: pentru a=10 și b=20 se afișează: 20 18 12
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Menționați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)

Probă scrisă la informatică MODEL


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Se consideră două tablouri unidimensionale A şi B. Știind că A=(2,10,16,20,21), iar în
urma interclasării tablourilor A şi B în ordine crescătoare se obţine tabloul cu elementele
(1,2,8,10,16,16,17,20,21,49), atunci tabloul B poate fi: (4p.)
a. (49,17,8,1) b. (49,17,16,8,1) c. (49,20,16,8,1) d. (49,21,16,17,1)

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată toate variabilele sunt de tip ok=.........;
întreg, iar numerele citite sunt naturale. for(i=1;i<=10;i++)
Scrieţi secvența înlocuind punctele de { cin>>x; | scanf(”%d”,&x);
suspensie, astfel încât, în urma executării .......
secvenţei obţinute, valoarea variabilei ok să fie 1 }
dacă toate valorile citite au fost strict mai mari
decât 2015, sau 0 altfel. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<50) și
construiește în memorie un tablou unidimensional, astfel încât parcurgându-l de la stânga
la dreapta să se obțină șirul primelor n numere naturale, impare, care NU sunt divizibile cu
3, ordonat strict descrescător. Programul afișează pe ecran elementele tabloului obținut,
separate prin câte un spațiu.
Exemplu: pentru n=7, se obține tabloul (19, 17, 13, 11, 7, 5, 1). (10p.)
4. Fișierul bac.txt conține pe prima linie un număr natural, n (1≤n≤106), iar pe a doua linie
cel mult 1000000 de numere naturale de forma 2p (0≤p≤9), separate prin câte un spațiu.
Se cere să se afișeze pe ecran numărul care ar apărea pe poziția n în șirul ordonat strict
descrescător obținut din toate numerele distincte aflate pe a doua linie a fișierului. Dacă
șirul are mai puțin de n termeni distincți, se afișează pe ecran mesajul Nu exista.
Pentru determinarea numărului cerut se utilizează un algoritm eficient din punctul de
vedere al timpului de executare.
Exemplu: dacă fişierul bac.txt conţine numerele
3
16 32 1 64 128 32 128 32 32
atunci pe ecran se afișează valoarea
32
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.)

Probă scrisă la informatică MODEL


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2015


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

MODEL
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. c 4p.
2. a) Răspuns corect: 1512 6p.
b) Pentru răspuns corect 4p. Se acordă câte 2p. pentru fiecare valoare
menţionată corect (numere de forma
xyy sau xxy unde |x-y|=1).
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiunile de decizie este corectă.
-citire date 1p.
-afişare date 1p.
-instrucţiuni de decizie corecte (*) 3p.
-instrucţiune repetitivă corectă 2p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. b 4p.
2. d 4p.
3. Pentru rezolvare corectă 6p. (*) Se acordă numai 1p. dacă se identifică
-expresie logică de identificare a toate consoanele, dar operatorii logici utilizați
consoanelor indicate (*) 2p. nu sunt conform cerinței.
-afișare a literelor cerute (**) 3p. (**) Se acordă numai 2p. pentru determinarea
-corectitudine globală a secvenţei1) 1p. doar a uneia dintre cele două litere
(precedenta, următoarea).

Probă scrisă la informatică MODEL


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (identificarea unui divizor,
-determinare a numerelor cu algoritm de determinare a sumei unor
proprietatea cerută (*) 4p. divizori, identificarea unui număr subperfect,
-afișare a datelor în forma cerută (**) 2p. identificarea tuturor numerelor subperfecte
-tratare caz nu exista 1p. din intervalul cerut).
-scriere principial corectă a structurilor (**) Se acordă numai 1p. dacă datele sunt
de control (***) 2p. afișate în ordine crescătoare.
(***) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menţionare a rolului variabilelor identificat doar o parte dintre variabilele
utilizate (*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect menționat rolul acestora.
-date de ieșire identificate corect 2p.
SUBIECTUL al III - lea (30 de puncte)
1. b 4p.
2. Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-a comparat
-instrucţiune de iniţializare a corect valoarea citită cu numărul 2015, dar
variabilei ok 2p. variabila ok nu este actualizată corect.
-instrucţiune de actualizare a
variabilei ok (*) 3p.
-corectitudine globală a secvenţei1) 1p.
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declarare a variabilei de tip tablou 1p. al cerinței (numere impare, numere care nu
-citire a datelor 1p. sunt divizibile cu 3, ordine conform cerinței,
-accesare a unui element al tabloului 1p. construire în memorie).
-memorare a valorilor elementelor (**) Se acordă numai 1p. dacă sunt afișate
conform cerinței (*) 4p. toate elementele, dar nu în formatul cerut.
-afişare a unui tablou (**) 2p.
-declarare a tuturor variabilelor
simple, corectitudine globală a
programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă
-descriere coerentă a algoritmului (*) 2p. algoritmul ales nu este eficient.
-justificare a unor elemente de
eficienţă 2p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă numai 1p. dacă algoritmul
fişier 1p. utilizat este principial corect, dar valoarea
-determinare a valorii cerute (*,**) 3p. determinată nu se obține corect pentru toate
-utilizare a unui algoritm eficient (***) 1p. datele de intrare.
-afișare a datelor și tratare a cazului (***) O soluţie posibilă utilizează un vector
nu exista, declarare a tuturor de apariții, v, în care pentru fiecare valoare
variabilelor, corectitudine globală a 2p citită din fișier se marchează vp=1,
programului1) 1p. apariția valorii 2p. Numărul cerut, 2p,
corespunde celei mai mari valori p pentru
care suma v9+v8+=vp=n.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică MODEL


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2015


Proba E. d)
Informatică
Limbajul C/C++
Simulare

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora nefiind
necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Indicaţi expresia C/C++ care are valoarea 1 dacă şi numai dacă cifra zecilor numărului
natural memorat în variabila întreagă n este 2 sau 7. (4p.)
a. (n/10)%10==2 || (n/10)%10==7 b. (n/10)%10==2 && (n/10)%10==7
c. (n%10)/10==2 || (n%10)/10==7 d. (n%10)/10==2 && (n%10)/10==7

2. Se consideră algoritmul alăturat, citește n,k


reprezentat în pseudocod. (numere naturale strict mai mari decât 1)
S-a notat cu x%y restul împărţirii numărului ┌cât timp n≥1 execută
natural x la numărul natural nenul y şi cu [z] │ p 0
partea întreagă a numărului real z. │ m n
│┌cât timp m%k=0 execută
a) Scrieţi valorile afişate dacă se citesc, în ││ p p+1
această ordine, numerele 17 și 4. (6p.) ││ m [m/k]
b) Dacă pentru variabila k se citește │└■
valoarea 50, scrieţi cel mai mic și cel mai │┌dacă m=1 atunci
mare număr de două cifre care pot fi citite ││ scrie n,’ ’, p,’ ’
pentru n astfel încât, pentru fiecare dintre │└■
acestea, numerele afişate în urma │ n n-1
executării algoritmului să fie 1 0. (4p.) └■

c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, înlocuind a doua structură cât
timp...execută cu o structură repetitivă cu test final. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
Pagina 1 din 3
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

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. Indicați expresia C/C++ care are valoarea 1 dacă şi numai dacă numărul memorat în
variabila întreagă x aparţine intervalului închis [-5,5]. (4p.)
a. abs(x)<=5 b. abs(-x)>=-5
c. abs(-x)>-5 && abs(x)<5 d. abs(-x)>-5 || abs(x)<5
2. O secvenţă de instrucţiuni care realizează interschimbarea valorilor variabilelor întregi x şi
y este: (4p.)
a. x=x-y; y=x+y; x=x-y; b. x=x-y; y=x+y; x=x+y;
c. x=x+y; y=x-y; x=x-y; d. x=x+y; y=x+y; x=x-y;

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele reale x şi y memorează lungimile celor două catete ale unui triunghi
dreptunghic. Scrieţi instrucţiunile C/C++ prin care i se atribuie variabilei reale z pătratul
lungimii ipotenuzei acestui triunghi, iar variabilei reale s valoarea ariei acestuia. (6p.)
4. Se citește un număr natural, n, și se cere să se afișeze toate cifrele distincte care apar în
scrierea lui n, separate prin câte un spațiu.
Exemplu: dacă n=24207 se afișează cifrele 0 2 4 7, nu neapărat în această ordine.
a) Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunţată. (10p.)
b) Precizați rolul tuturor variabilelor care au intervenit în prelucrarea realizată la punctul a) şi
indicați datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
Pagina 2 din 3
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Se consideră două tablouri unidimensionale A şi B. Dacă A=(1,3,5,15,16), iar în urma
interclasării lor în ordine crescătoare se obţine tabloul cu elementele
(1,2,3,5,5,10,15,16,21,49), atunci B poate fi: (4p.)
a. (2,10,21,49) b. (2,5,10,21,49)
c. (2,5,20,21,49) d. (2,5,10,15,21,49)

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată, variabila nr=........;
c este de tip char, iar toate for(i=1;i<=9;i++)
celelalte variabile sunt întregi. { cin>>c; | scanf(“%c”,&c);
.........
}
Scrieţi secvenţa, înlocuind punctele de suspensie astfel încât, în urma executării secvenţei
obținute, variabila nr să memoreze numărul literelor citite diferite de a și de e.
Exemplu: dacă se citesc literele e l e g a n t u l, atunci nr=6. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale, n și x, din
intervalul [2,50], şi construieşte în memorie un tablou unidimensional cu n elemente,
numere naturale consecutive, în ordine strict descrescătoare, ultimul element fiind egal cu
x, ca în exemplu. Programul afişează apoi pe ecran elementele tabloului obţinut, separate
prin câte un spaţiu.
Exemplu: dacă n=6 şi x=49, atunci tabloul obţinut este (54,53,52,51,50,49). (10p.)
4. Fișierul bac.txt conține numere naturale din intervalul [1,104]: pe prima linie numărul n,
pe a doua linie un șir de n numere ordonate strict descrescător, iar pe a treia linie un număr
x. Numerele de pe aceeași linie sunt separate prin câte un spațiu.
Se cere să se afișeze pe ecran cel mai mare număr din șir mai mic sau egal cu x. Dacă nu
există un astfel de număr, se afișează pe ecran mesajul nu exista. Pentru determinarea
numărului cerut se utilizează un algoritm eficient din punctul de vedere al timpului de
executare.
Exemplu: dacă fișierul conține numerele
5
100 49 16 7 2
30
atunci pe ecran se afișează
16
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.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
Pagina 3 din 3
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2015


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Simulare
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. a 4p.
2. a) Răspuns corect: 16 2 4 1 1 0 6p. Se acordă câte 1p. pentru fiecare număr
afișat conform cerinței.
b) Răspuns corect: 10, 49 4p. Se acordă câte 2p. pentru fiecare număr
conform cerinței.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiunile repetitive este corectă.
-citire date 1p.
-afişare date 1p.
-instrucţiune de decizie corectă 2p.
-instrucţiuni repetitive corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. a 4p.
2. c 4p.
3. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare atribuire
conform cerinței.
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței: acces la o cifră a numărului,
-determinare a cifrelor distincte ale acces la toate cifrele numărului (și dacă
numărului (*) 6p. acesta este 0), doar cifre distincte.
-afișare date 1p. (**) Se va puncta orice formă corectă de
-scriere principial corectă a structurilor structură repetitivă sau decizională.
de control (**) 2p.
Probă scrisă la informatică Simulare
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate (*) 2p. identificat doar o parte dintre variabilele
-date de intrare indicate corect 2p. utilizate sau dacă nu pentru toate variabilele
-date de ieșire indicate corect 2p. este corect menționat rolul acestora.
SUBIECTUL al III - lea (30 de puncte)
1. b 4p.
2. Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-a actualizat
-instrucţiune de iniţializare a variabilei valoarea variabilei nr, dar expresia de
nr 2p. identificare a literelor cerute nu este corectă.
-instrucţiune de actualizare a variabilei
nr (*) 3p.
-corectitudine globală a secvenţei1) 1p.
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declarare a variabilei de tip tablou 1p. al cerinței (număr de elemente memorate,
-accesare a unui element al tabloului 1p. număr indicat pe ultima poziție, ordine strict
-memorare a valorilor elementelor descrescătoare, numere consecutive,
conform cerinței (*) 5p. construire în memorie).
-afişare a unui tablou (**) 2p. (**) Se acordă numai 1p. dacă sunt afișate
-declarare și citire a tuturor variabilelor toate elementele, dar nu în formatul cerut.
simple, corectitudine globală a
programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă
-descriere coerentă a algoritmului (*) 2p. algoritmul ales nu este eficient.
-justificare a unor elemente de
eficienţă 2p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă numai 2p. dacă s-a
fişier 1p. determinat un număr mai mic sau egal cu
-determinare a numărului cerut (*,**) 3p. x, dar nu este cel mai mare cu această
-utilizare a unui algoritm eficient (***) 1p. proprietate.
-afișare a datelor și tratare a cazului (***) O soluţie posibilă utilizează căutarea
nu exista, declarare a tuturor binară pentru determinarea numărului cerut.
variabilelor, corectitudine globală a
programului1) 1p.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Simulare


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2015


Proba E. d)
Informatică
Limbajul C/C++
Varianta 9

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora nefiind
necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabila întreagă x memorează un număr natural cu cel puțin patru cifre nenule distincte.
Expresia C/C++ a cărei valoare este egală cu cifra sutelor acestui număr este: (4p.)
a. x/100 b. x%100 c. (x/10)%10 d. (x/100)%10

2. Se consideră algoritmul alăturat, reprezentat în citeşte n,k


pseudocod. (numere naturale, k>1)
S-a notat cu a%b restul împărţirii numărului natural a la pm 0
numărul natural nenul b şi cu [c] partea întreagă a i 1
numărului real c. ┌cât timp i≤n execută
│ x i
a) Scrieţi valoarea afişată dacă se citesc, în această │ p 0
ordine, numerele 7 și 2. (6p.) │┌cât timp x%k=0 execută
b) Dacă pentru variabila k se citeşte numărul 5, ││ x [x/k]
scrieţi cea mai mică şi cea mai mare valoare care ││ p p+1
pot fi citite pentru variabila n astfel încât, în urma │└■
executării algoritmului, pentru fiecare dintre │┌dacă p>pm atunci
acestea, valoarea afişată să fie 3. (4p.) ││ pm p
│└■
c) Scrieţi în pseudocod un algoritm, echivalent cu │ i i+1
cel dat, înlocuind prima structură cât └■
timp...execută cu o structură repetitivă de tip scrie pm
pentru...execută. (6p.)
d) Scrieţi programul C/C++ corespunzător
algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 9


Limbajul C/C++
Filiera teoretică, profilul real, ştiinţe ale naturii
Pagina 1 din 3
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

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. Variabila x este de tip real şi memorează un număr real pozitiv. O instrucţiune C/C++
incorectă din punct de vedere sintactic este: (4p.)
a. x=sqrt(x);
b. x=sqrt(sqrt(16));
c. cin>>sqrt(4); | scanf(”%f”,&sqrt(4));
d. cout<<sqrt(4)+1; | printf(”%f”,sqrt(4)+1);
2. În secvenţele de mai jos, notate cu S1 şi S2, toate variabilele sunt de tip întreg.
//secventa S1 //secventa S2
while(x!=y) while(y!=0)
if(x>y) x=x-y; { x=x%y; z=y; y=x; }
else y=y-x;
Variabila x memorează cel mai mare divizor comun al celor două numere naturale nenule,
memorate iniţial în variabilele x şi y, în urma executării: (4p.)
a. numai a secvenţei S1 b. numai a secvenţei S2
c. atât a secvenţei S1 cât şi a lui S2 d. niciuneia dintre cele două secvenţe

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabila reală p memorează preţul unei cărţi. Scrieți o instrucțiune C/C++ prin care se
actualizează valoarea acestei variabile, astfel încât să reprezinte preţul cărţii respective
majorat cu 50%. (6p.)
4. Șirul lui Fibonacci (1, 1, 2, 3, 5, 8, 13, 21,…) se definește astfel:
f1=1, f2=1 și fi=fi-1+fi-2 pentru orice număr natural i, i≥3.
Se citește un număr natural nenul, n, și se cere să se scrie valoarea celui de al n-lea
termen impar al șirului lui Fibonacci.
Exemplu: dacă n=6, atunci se scrie numărul 21.
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)

Probă scrisă la informatică Varianta 9


Limbajul C/C++
Filiera teoretică, profilul real, ştiinţe ale naturii
Pagina 2 din 3
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele i şi j sunt de tip întreg. Indicați expresia care poate înlocui punctele de
suspensie astfel încât, în urma executării secvenţei obţinute, să se afișeze numerele de
mai jos.
for(i=1;i<=5;i++)
5 4 3 2 1
{ for(j=1;j<=5;j++)
4 4 3 2 1
if(......) cout<<6-j<<” ”; | printf(”%d ”,6-j);
3 3 3 2 1
else cout<<6-i<<” ”; | printf(”%d ”,6-i);
2 2 2 2 1
cout<<endl; | printf(”\n”);
1 1 1 1 1
} (4p.)
a. i<j b. i>j c. i+j<5 d. i+j>5

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Se consideră tablourile unidimensionale A=(1,2,7,10,16) şi B=(15,10,9,8,3).
Scrieţi elementele tabloului C, în ordinea în care ele apar în tablou, astfel încât acesta să
fie obţinut prin interclasarea descrescătoare a elementelor din A şi B. (6p.)
3. ∈[2,20]), apoi
Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈
cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [0,109].
Programul determină transformarea în memorie a tabloului, permutând circular elementele
acestuia, de la stânga spre dreapta, cu o poziţie, ca în exemplu. Elementele tabloului
astfel obținut se afișează pe ecran, separate prin câte un spațiu.
Exemplu: pentru n=4 și tabloul (1,1,3,2) se obține tabloul (2,1,1,3). (10p.)
4. Fișierul bac.txt conține un șir de cel mult un milion de numere naturale din intervalul
[0,102], separate prin câte un spațiu.
Se cere să se afișeze pe ecran mesajul DA, dacă există cel puțin o pereche formată din
termeni ai șirului aflat în fișier, x și y (y-x≥2), astfel încât să nu existe niciun termen al
șirului care să aparțină intervalului (x,y). Dacă nu există nicio astfel de pereche, se
afișează pe ecran mesajul NU. Pentru verificarea proprietății cerute, utilizați un algoritm
eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fișierul conține numerele
5 9 0 8 10 11 12 13 15 14 6 7 40 10 0 0 5 41 95 7
atunci pe ecran se afișează mesajul
DA
deoarece intervalele (0,5), (15,40) sau (41,95) au proprietatea cerută.
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.)

Probă scrisă la informatică Varianta 9


Limbajul C/C++
Filiera teoretică, profilul real, ştiinţe ale naturii
Pagina 3 din 3
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2015


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 9
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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) Răspuns corect: 2 6p.
b) Răspuns corect: 125, 624 4p. Se acordă câte 2p. pentru fiecare valoare
conform cerinței.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă de tipul indicat,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare a tuturor variabilelor 1p. instrucţiuni este corectă.
-citire corectă 1p.
-afişare corectă 1p.
-instrucţiune de decizie corectă 2p.
-instrucţiuni repetitive corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. c 4p.
2. a 4p.
3. Pentru rezolvare corectă 6p. Se acordă numai 3p. dacă expresia
realizează calculul cerut, dar instrucțiunea de
atribuire nu este conform cerinței.

Probă scrisă la informatică Varianta 9


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare și de notare
1
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (termen al șirului, termen impar,
-determinare a numărului cerut (*) 6p. număr de ordine - inclusiv cazul în care
-scriere principial corectă a structurilor n<3).
de control (**) 2p. (**) Se va puncta orice formă corectă de
-scriere a rezultatului 1p. structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate (*) 2p. identificat doar o parte dintre variabilele
-indicare a datelor de intrare 2p. utilizate sau dacă nu pentru toate variabilele
-indicare a datelor de ieşire 2p. este corect precizat rolul acestora.

SUBIECTUL al III – lea (30 de puncte)


1. a 4p.
2. Răspuns corect: 6p. Se acordă câte 3p. pentru fiecare aspect al
(16,15,10,10,9,8,7,3,2,1) cerinței (elemente suport, ordine).
3. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-declarare a variabilei de tip tablou 1p. al cerinței (deplasare de la stânga spre
-citire a elementelor tabloului 1p. dreapta a unor elemente ale tabloului,
-memorare a valorilor elementelor mutare a ultimului element al tabloului pe
conform cerinței (*) 6p. prima poziție a acestuia, obținere conform
-afişare a datelor conform cerinței 1p. cerinței a tuturor elementelor tabloului).
-declarare și citire a variabilelor
simple, corectitudine globală a
programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenţă a explicării metodei (*) 2p. aleasă nu este eficientă.
-justificare a unor elemente de
eficienţă 2p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă câte 1p. pentru fiecare
fişier 1p. condiţie impusă unei perechi x,y (y-x≥2,
-verificare a proprietății indicate (*,**) 3p. interval (x,y) care să nu conțină niciun
-afișare a mesajului cerut 1p. termen al șirului, algoritm principial corect
-utilizare a unui algoritm eficient (***) 1p. de verificare a unei proprietăți).
(***) Se acordă punctajul numai pentru un
algoritm liniar (de complexitate O(n)).
O soluţie posibilă utilizează un vector de
apariții (în care vi este 1 dacă valoarea i
apare în șir sau 0 altfel) actualizat pe
măsura citirii datelor din fișier. Vectorul de
apariții este parcurs cel mult o dată, după
completarea sa, memorându-se la fiecare
pas ultimii doi indici i și j (i<j) cu proprietatea
că valorile vi și vj sunt nenule și j-i≥2. Dacă
există doi astfel de indici, mesajul afișat
este DA.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 9


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare și de notare
2
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2015


Proba E. d)
Informatică
Limbajul C/C++
Varianta 2

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora nefiind
necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Indicați expresia C/C++ care are valoarea 1 dacă şi numai dacă numărul natural memorat
în variabila întreagă n este divizibil cu 2, dar NU şi cu 5. (4p.)
a. !((n%2==1) || (n%5==0)) b. (n%2==0) && (n%5==0)
c. (n%10==0) || (n%5!=0) d. (n%10==0) && (n%2==0)

2. Se consideră algoritmul alăturat, reprezentat în citeşte n,k


pseudocod. (numere naturale nenule)
a) Scrieţi valorile afişate dacă se citesc, în această ┌cât timp n≥≥1 execută
ordine, numerele 7 și 3. (6p.) │┌dacă n>k atunci i k
││altfel i n
b) Dacă pentru k se citeşte numărul 11, scrieţi cel │└■
mai mic și cel mai mare număr din intervalul │ n n-i
[1,99] care pot fi citite pentru n astfel încât, în │ t k
urma executării algoritmului, pentru fiecare │┌cât timp i≥ ≥1 execută
dintre acestea, ultima valoare afişată să fie 7. ││ scrie t,' '
(4p.) ││ i i-1
c) Scrieţi în pseudocod un algoritm, echivalent cu ││ t t-1
cel dat, înlocuind a doua structură cât │└■
timp...execută cu o structură repetitivă de └■
alt tip. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 2


Limbajul C/C++
Filiera teoretică, profilul real, ştiinţe ale naturii
Pagina 1 din 3
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

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. O expresie C/C++ care are valoarea 1 dacă şi numai dacă numărul memorat în variabila
∪[1,3] este:
întreagă x NU aparţine reuniunii de intervale [-3,-1]∪ (4p.)
a. abs(x)>3 && x==0 b. abs(x)<1 || abs(x)>3
c. abs(x-3)<1 d. abs(x-1)>3
2. În secvenţa de instrucţiuni alăturată, toate variabilele sunt întregi şi while(x>=y)
memorează numere naturale. Pentru orice valori nenule ale x=x-y;
variabilelor x şi y, valoarea obţinută pentru variabila z în urma z=x;
executării secvenţei este egală cu cea atribuită prin instrucţiunea:
(4p.)
a. z=x/y; b. z=y/x; c. z=x%y; d. z=y%x;

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele reale re și im memorează partea reală, respectiv partea imaginară a unui
număr complex. Scrieți o expresie C/C++ a cărei valoare să fie egală cu pătratul modulului
acestui număr (suma dintre pătratul părții reale și pătratul părții imaginare). (6p.)
4. Se citește un număr natural, n, și se cere să se scrie numărul de cifre prime ale lui n.
Exemplu: dacă n=1233405, atunci se scrie numărul 4.
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)

Probă scrisă la informatică Varianta 2


Limbajul C/C++
Filiera teoretică, profilul real, ştiinţe ale naturii
Pagina 2 din 3
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele i şi j sunt de tip întreg. Indicați expresia care poate înlocui punctele de
suspensie astfel încât, în urma executării secvenţei obţinute, să se afișeze numerele de
mai jos.
for(i=1;i<=5;i++)
1 2 3 4 5
{ for(j=1;j<=5;j++)
6 7 8 9 10
cout<<......<<” ”; | printf(”%d ”,......);
11 12 13 14 15
cout<<endl; | printf(”\n”);
16 17 18 19 20
} (4p.) 21 22 23 24 25

a. (i-1)*5+j b. i+(j-1)*5 c. i+(j+1)*5 d. (i+1)*5+j

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Pentru a verifica dacă în tabloul unidimensional (1,3,5,7,12,21,49) există elementul
cu valoarea x=5, se aplică metoda căutării binare. Scrieți succesiunea de elemente ale
tabloului ale căror valori se compară cu valoarea lui x pe parcursul aplicării metodei
indicate. (6p.)
3. ∈[2,20]), apoi
Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈
cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [0,109].
Programul afișează pe ecran mesajul DA în cazul în care tabloul conține doar numere pare
şi, eventual numărul 2015, sau mesajul NU în caz contrar.
Exemplu: pentru n=5 și tabloul (32,2015,8,16,2015) sau tabloul (32,20,8,16,20)
se afişează mesajul
DA
iar pentru n=6 și tabloul (32,17,2015,8,16,2015) sau tabloul
(2015,2015,2015,2015,2015,2015) se afişează mesajul
NU (10p.)
4. Fişierul BAC.TXT conţine pe prima linie un număr natural, n (n∈ ∈[2,5000]), și, începând
cu a doua linie, un șir de 2·n numere naturale din intervalul [0,5]. Numerele aflate pe
aceeași linie a fișierului sunt separate prin câte un spaţiu.
Se cere să se afişeze pe ecran valoarea obținută însumând toate produsele de forma
x·y, unde x este un număr impar aflat printre primii n termeni ai șirului aflat în fișier, iar y
este un număr par aflat printre ultimii n termeni ai acestui șir. Dacă nu există niciun astfel
de produs, valoarea cerută este nulă. Pentru determinarea numărului cerut utilizați un
algoritm eficient din punctul de vedere al timpului de executare și al memoriei necesare.
Exemplu: dacă fişierul are conţinutul de mai jos
4
1 2 5 1 4 2 3 0
pe ecran se afişează numărul 42 (1·4+1·2+1·0+5·4+5·2+5·0+1·4+1·2+1·0=42).
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.)

Probă scrisă la informatică Varianta 2


Limbajul C/C++
Filiera teoretică, profilul real, ştiinţe ale naturii
Pagina 3 din 3
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2015


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 2
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. a 4p.
2. a) Răspuns corect: 3 2 1 3 2 1 3 6p. Se acordă numai 2p. dacă doar primele trei
numere sunt precizate corect, numai 4p.
dacă doar primele 6 numere sunt precizate
corect sau dacă sunt precizate, în plus, și
alte numere.
b) Răspuns corect: 5, 93 4p. Se acordă câte 2p. pentru fiecare număr
precizat corect.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă numai una
-declarare variabile 1p. dintre instrucțiunile repetitive este corectă.
-citire date 1p.
-afişare date 1p.
-instrucţiune de decizie corectă 2p.
-instrucţiuni repetitive corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. b 4p.
2. c 4p.
3. Pentru rezolvare corectă 6p. Se acordă câte 2p. pentru fiecare aspect al
cerinţei (pătratul părţii reale, pătratul părţii
imaginare, sumă corectă).

Probă scrisă la informatică Varianta 2


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (acces la o cifră a numărului, cifre
-determinare a numărului cerut (*) 6p. prime suport, algoritm de numărare
-scriere principial corectă a structurilor principial corect).
de control (**) 2p. (**) Se va puncta orice formă corectă de
-scriere a rezultatului 1p. structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte dintre variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-indicare a datelor de intrare 2p. este corect precizat rolul acestora.
-indicare a datelor de ieşire 2p.

SUBIECTUL al III - lea (30 de puncte)


1. a 4p.
2. Răspuns corect : 7, 3,5 6p. Se acordă câte 2p. pentru fiecare valoare
precizată corect în cadrul succesiunii.
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declarare corectă a unei variabile de al cerinței (algoritm principial corect de
tip tablou 1p. verificare a unei proprietăți, identificare a
-citire a datelor 1p. unui număr par/impar, tratarea cazului în
-verificare a proprietății cerute (*) 6p. care tabloul conţine doar numere pare,
-afişarea a mesajului 1p. tratarea cazului în care tabloul conţine
-declararea variabilelor simple, numere pare și numărul 2015, tratarea
corectitudine globală a programului1) 1p. cazului în care tabloul conţine și numere
impare diferite de 2015, tratarea cazului în
care tabloul nu conține niciun număr par).
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenţă a explicării metodei (*) 2p. aleasă nu este eficientă.
-explicare a unor elemente de
eficienţă 2x1p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă câte 2p. pentru fiecare
fişier 1p. aspect al cerinţei (produse conform cerinţei,
-determinare și afișare a valorii sumă de produse).
cerute (*, **) 4p. (***) Se acordă punctajul numai pentru un
-utilizare a unui algoritm eficient (***) 1p. algoritm liniar (de complexitate O(n)), care
utilizează eficient memoria.
O soluţie posibilă se obține calculând, pe
măsura citirii din fișier, pentru prima
jumătate a șirului suma termenilor impari
(fie acestea s1i), iar pentru a doua jumătate
a șirului suma termenilor pari (fie acestea
s2p). Valoarea cerută este s1i•s2p.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 2


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2014


Proba E. d)
Informatică
Limbajul C/C++
MODEL

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Indicaţi expresia care are valoarea 1 dacă şi numai dacă numărul natural memorat în
variabila întreagă x are exact trei cifre. (4p.)
a. x/1000==0 && x>99 b. x/1000==0 || x<1000
c. x%1000==0 && x<1000 d. x%1000==0 || x>99

2. Se consideră algoritmul citeşte a,b


alăturat, reprezentat în (numere naturale nenule, a≤b)
pseudocod. nr
0
S-a notat cu x%y restul împărţirii i
a
numărului natural x la numărul ┌repetă
natural nenul y şi cu [z] partea │ x
i
întreagă a numărului real z. │┌cât timp x>9 şi 1+x%10=[x/10]%10 execută
││ x
[x/10]
a) Scrieţi numărul afişat dacă │└■
pentru variabila a se citeşte │┌dacă x<10 atunci
valoarea 20, iar pentru ││ nr
nr+1
variabila b se citeşte │└■
valoarea 35. (6p.) │ i
i+1
└până când i>b
scrie nr
b) Dacă pentru variabila a se citeşte valoarea 1000, scrieţi cel mai mare număr de patru cifre
care poate fi citit pentru variabila b astfel încât, în urma executării algoritmului, valoarea
afişată să fie 5. (4p.)
c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura
repetă...până când cu o structură repetitivă de tip pentru...execută. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică MODEL


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. Indicaţi expresia C/C++ care are valoarea 1 oricare ar fi numărul strict pozitiv memorat în
variabila reală x. (4p.)
a. ceil(x)==floor(x) b. ceil(x)<>floor(x)
c. ceil(x)<floor(x) d. ceil(x)>=floor(x)
2. Variabile x și y sunt de tip întreg şi memorează numere naturale x=x+y;
nenule. Indicați instrucţiunea care poate înlocui punctele de y=x-y;
suspensie, astfel încât executarea secvenţei obţinute să aibă ca efect ......
interschimbarea valorilor variabilelor x şi y. (4p.)
a. x=y-x; b. x=x-y; c. y=x+y; d. y=y-x;

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabila întreagă v memorează un număr natural cu cel mult nouă cifre, iar variabila mii
este de tip char. Scrieţi o secvenţă de instrucţiuni C/C++ în urma executării căreia
variabila mii să memoreze litera M, dacă numărul memorat în variabila v este strict mai
mare decât 999, sau litera A altfel. (6p.)
4. Se citeşte un număr natural n (n>1) şi se cere să se afișeze cel mai mare divizor prim al lui n.
Exemplu: pentru n=50 se afișează numărul 5, iar pentru n=11 se afișează numărul 11.
a) Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunţată. (10p.)
b) Menţionaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică MODEL


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Se consideră un tablou unidimensional în care elementele sunt, în această ordine,
(2,5,9,10,11,25,50). Pentru a verifica dacă în tablou există elementul cu valoarea
x=7, se aplică metoda căutării binare.
Succesiunea corectă de elemente a căror valoare se compară cu valoarea lui x pe
parcursul aplicării metodei indicate este: (4p.)
a. 2, 5, 9 b. 2, 9, 11, 50 c. 10, 5, 9 d. 50, 2, 11, 9

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată toate variabilele sunt de tip ok=1;
întreg. for(i=1;i<=10;i++)
Scrieţi instrucțiunea sau instrucțiunile care pot { cin>>x; | scanf(”%d”,&x);
înlocui punctele de suspensie astfel încât, în ...............
urma executării secvenţei obţinute, valoarea }
variabilei ok să fie 1 dacă oricare dintre
numerele citite este diferit de 2014, sau
valoarea 0 altfel. (6p.)
3. Scrieți un program C/C++ care citește de la tastatură un număr natural n (2<n<50) și cele
n elemente ale unui tablou unidimensional, numere naturale cu cel mult patru cifre, dintre
care cel puțin două au paritate diferită. Programul determină apoi transformarea în
memorie a tabloului citit prin eliminarea primului număr par, apoi afişează pe ecran
elementele tabloului obţinut.
Exemplu: pentru n=11 și tabloul (1, 3, 2, 4, 0, 5, 8, 7, 6, 10, 3)
se obține tabloul (1, 3, 4, 0, 5, 8, 7, 6, 10, 3) (10p.)
4. Fişierul bac.txt conţine pe prima linie un număr natural par n cu cel mult patru cifre, iar
pe următoarea linie un şir de n numere naturale cu cel mult nouă cifre. Numerele din şir
sunt în ordine descrescătoare şi sunt separate prin câte un spaţiu.
Se cere să se afişeze pe ecran cel mai mare număr din șir care să fie strict mai mic decât
jumătate dintre toate numerele din șir. Dacă în fişier nu se află o astfel de valoare, pe
ecran se afişează mesajul Nu exista.
Pentru determinarea numărului cerut se utilizează un algoritm eficient din punctul de
vedere al memoriei şi al timpului de executare.
Exemplu: dacă fişierul bac.txt are conţinutul
30
16 7 7 7 ... 7 7 2 1
de 27 de ori
atunci pe ecran se afişează 2, iar dacă fişierul are conţinutul
6
16 8 7 7 7 7
atunci pe ecran se afişează Nu exista.
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.)

Probă scrisă la informatică MODEL


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2014


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)
MODEL
Filiera teoretică, profilul real, specializarea științe ale naturii

• 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 la 10 a
punctajului total acordat pentru lucrare.
• 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. a 4p.
2. a) Pentru răspuns corect 6p.
b) Pentru răspuns corect 4p.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă de tipul indicat,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucţiuni este corectă.
-citire date 1p.
-afişare date 1p.
-instrucţiune de decizie corectă 2p.
-instrucţiuni repetitive corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. d 4p.
2. b 4p.
3. Pentru rezolvare corectă 6p.
-condiție corectă pentru număr 3p.
-memorare literă conform cerinței 3p.
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare dintre
-citire date 1p. cele trei proprietăți ale numărului (divizor,
-determinare numere cu proprietatea număr prim, maxim).
cerută (*) 6p. (***) Se va puncta orice formă corectă de
-scriere principial corectă a structurilor structură repetitivă sau decizională.
de control (**) 2p.
-scriere rezultat conform cerinței 1p.
Probă scrisă la informatică MODEL
Filiera teoretică, profilul real, specializarea științe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menționare a rolului variabilelor utilizate (*) 2p. identificat doar o parte dintre variabilele
-date de intrare identificate corect 2p. utilizate sau dacă nu pentru toate variabilele
-date de ieșire identificate corect 2p. este corect menționat rolul acestora.

SUBIECTUL al III - lea (30 de puncte)


1. c 4p.
2. Pentru răspuns corect 6p. Se acordă numai 2p. dacă se identifică
numerele diferite de 2014, dar rezultatul nu
este conform cerinței.
3. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-declarare corectă a variabilei de tip al cerinței (identificarea primului număr par,
tablou 1p. algoritm principial corect de eliminare a unui
-citire a elementelor tabloului 1p. element, eliminare doar a elementului
-modificare a tabloului conform cerut).
cerinței (*) 6p. (**) Nu se acordă punctajul dacă s-au afișat
-afișare date (**) 1p. un număr necorespunzător de valori.
-declarare a tuturor variabilelor simple,
citirea datelor simple, corectitudinea
globală a programului) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenţă a explicării metodei (*) 2p. aleasă nu este eficientă.
-explicare a unor elemente de 2x1p.
eficienţă
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, pregătire propusă nu prezintă elemente de eficienţă.
în vederea citirii, citire din fişier 1p. (**) Se acordă doar 2p. dacă numai una
-determinare a valorii cerute (*, **) 3p. dintre cele două condiţii impuse (maxim,
-afişare date şi tratare a cazului Nu distinct) este conform cerinţei.
exista 1p. (***) Se acordă punctajul numai pentru un
-utilizare a unui algoritm eficient (***) 1p. algoritm liniar (de complexitate O(n)) şi care
utilizează eficient memoria.
O soluţie posibilă parcurge o singură dată
numerele din fișier memorând ultima
valoare din prima jumătate a șirului, fie
aceasta v. Se parcurg apoi valorile din a
doua jumătate a șirului, până la întâlnirea
unei valori diferite de v; dacă nu există o
astfel de valoare, se afișează mesajul
indicat.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică MODEL


Filiera teoretică, profilul real, specializarea științe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2014


Proba E. d)
Informatică
Limbajul C/C++
Simulare

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Expresia C/C++ alăturată are valoarea: (4p.) 7/2*5
a. 0 b. 0.7 c. 15 d. 17.5

2. Se consideră algoritmul alăturat, citeşte a,b


reprezentat în pseudocod. (numere naturale nenule, a<b)
S-a notat cu x%y restul împărţirii numărului ←0
k←
natural x la numărul natural nenul y şi cu [z] ←a
nr←
partea întreagă a numărului real z. ┌cât timp nr≤b execută
a) Scrieţi valoarea afişată dacă se citesc, în ←nr
│ aux←
această ordine, numerele 21520 și │┌cât timp aux>100 execută
21523. (6p.) ←[aux/10]
││ aux←
│└■
b) Dacă pentru b se citeşte valoarea 334, │┌dacă nr%100=aux atunci
scrieţi patru valori naturale de trei cifre care ││ k k+1
pot fi citite pentru a, astfel încât, în urma │└■
executării algoritmului, pentru fiecare dintre ←nr+1
│ nr←
acestea, să se afişeze valoarea 3. (4p.) └■
scrie k
c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască prima
structură cât timp...execută cu o structură repetitivă de tip pentru...execută.
(6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. O expresie C/C++ care are valoarea 1 este: (4p.)
a. ceil(7.81)==floor(8.17)-1 b. ceil(7.81)==floor(8.17)
c. ceil(7.81)==ceil(8.71) d. floor(7.81)==floor(8.17)
2. În secvenţele de mai jos, notate cu S1 şi S2, toate variabilele sunt de tip întreg.
//S1 //S2
x=10; y=15; x=10; y=15;
while(x!=y) while(y!=0){
if(x>y) y=x+y; r=x%y;
else x=x+y; x=y;
y=r;
}
Variabila x memorează cel mai mare divizor comun al valorilor 10 şi 15 în urma executării:
(4p.)
a. numai a secvenţei s1 b. numai a secvenţei S2
c. atât a secvenţei S1, cât şi a secvenţei S2 d. niciuneia dintre cele două secvenţe

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele luna și an sunt de tip int și corespund unei date calendaristice: variabila
luna are o valoare din intervalul [1,12], iar variabila an are o valoare din intervalul
[1900,2200].
Scrieţi o expresie C/C++ care să aibă valoarea 1, dacă data calendaristică menționată este
cuprinsă în una dintre primele două luni ale anului 2014, sau valoarea 0 în caz contrar.
(6p.)
4. Se citeşte un număr natural nenul şi se cere să se afişeze cel mai mic şi cel mai mare
divizor propriu pozitiv al său (diferit de 1 şi de el însuşi). Dacă numărul nu are cel puţin doi
astfel de divizori, se afişează mesajul Nu exista.
Exemplu: pentru numărul 12 se afişează numerele 2 6, iar pentru numărul 9 se afișează
mesajul Nu exista.
a) Scrieţi, în pseudocod, un algoritm de rezolvare pentru problema enunţată. (10p.)
b) Menţionaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. În secvenţa de instrucţiuni de mai jos toate variabilele sunt de tip întreg.
for(i=0;i<9;i++) 1 1 2 2 2 2 2 2 2
{ for(j=0;j<9;j++) 1 1 1 2 2 2 2 2 2
if(...........) 2 1 1 1 2 2 2 2 2
cout<<″1 ″; | printf(″1 ″); 2 2 1 1 1 2 2 2 2
2 2 2 1 1 1 2 2 2
else 2 2 2 2 1 1 1 2 2
cout<<″2 ″; | printf(″2 ″); 2 2 2 2 2 1 1 1 2
cout<<endl; | printf(″\n″); 2 2 2 2 2 2 1 1 1
} 2 2 2 2 2 2 2 1 1
Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obţinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine.
(4p.)
a. i==j && i==j-1 && i==j+1 b. i==j && i==j-1 || i==j+1
c. i==j || j==i-1 && j==i+1 d. i==j || j==i-1 || j==i+1

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Se consideră două tablouri unidimensionale: A, care are 3 elemente, și B, care are 4
elemente. Știind că unul dintre elementele tabloului A are valoarea 4 și unul dintre
elementele tabloului B are valoarea 9, scrieţi câte un exemplu de valori pentru elementele
tabloului A, respectiv ale tabloului B, în ordinea în care ele pot apărea în fiecare tablou,
astfel încât, prin metoda interclasării acestora, să se obțină tabloul unidimensional
(4,7,9,10,14,57,80). (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<50) și cele
n elemente ale unui tablou unidimensional, numere naturale cu cel mult nouă cifre. Cel
puțin unul dintre elemente este nul.
Programul modifică tabloul în memorie, duplicând toate elementele nule ale acestuia, ca în
exemplu, apoi afişează pe ecran, separate prin câte un spaţiu, elementele tabloului
obţinut.
Exemplu: pentru n=5 şi tabloul (1, 0, 5, 0, 0, 7), programul afișează pe ecran:
1 0 0 5 0 0 0 0 7 (10p.)
4. Se consideră un șir ai cărui termeni sunt numere naturale nenule, de o singură cifră.
Numim număr asociat al acestui șir un număr natural format cu termenii șirului, în ordinea
în care aceștia apar în șir.
Exemplu: numărul asociat șirului 1, 2, 5, 3, 2 este 12532.
Fişierul text bac.txt conţine un șir de cel puţin trei şi cel mult 80 de termeni, numere
naturale nenule, de o singură cifră, separate prin câte un spaţiu.
Se cere determinarea unui șir obținut prin eliminarea unui singur termen din șirul aflat în
fișier, astfel încât numărul asociat șirului obținut să fie maxim. Termenii șirului obținut se
afișează pe ecran, separați prin câte un spațiu.
Se utilizează un algoritm eficient din punctul de vedere al memoriei utilizate și al timpului
de executare.
Exemplu: dacă fişierul bac.txt conţine șirul
9 8 5 6 2 3 4
atunci, pentru că numerele asociate șirurilor care se pot obține sunt 856234, 956234,
986234, 985234, 985634, 985624, 985623, pe ecran se afişează șirul:
9 8 6 2 3 4
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.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2014


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Simulare
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. c 4p.
2. a) Răspuns corect: 1 6p.
b) Pentru răspuns corect 4p. Se acordă câte 1p. pentru fiecare dintre
valorile cerute (numere naturale din intervalul
[100,111]).
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţa prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudinea globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiuni este corectă.
-citire date 1p.
-afişare date 1p.
-instrucţiune de decizie corectă 2p.
-instrucţiuni repetitive corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudinea globală a
programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. b 4p.
2. b 4p.
3. Pentru rezolvare corectă 6p.
-condiție corectă pentru lună 2p.
-condiție corectă pentru an 2p.
-operatori logici utilizați conform cerinței 2p.

Probă scrisă la informatică Simulare


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă numai 3p. dacă doar unul
-citirea datelor 1p. dintre cele două numere a fost determinat.
-determinarea numerelor cu (**) Se va puncta orice formă corectă de
proprietatea cerută (*) 5p. structură repetitivă sau decizională.
-scrierea principial corectă a
structurilor de control (**) 2p.
-scrierea rezultatului 1p.
-tratarea cazului Nu exista 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menţionarea rolului variabilelor identificat doar o parte dintre variabilele
utilizate (*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect menționat rolul acestora.
-date de ieșire identificate corect 2p.

SUBIECTUL al III - lea (30 de puncte)


1. d 4p.
2. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele
două tablouri cerute.
3. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-declararea corectă a unei variabile de al cerinței (identificare a unei valori nule,
tip tablou 1p. duplicarea unui element nul, elemente
-citirea elementelor tabloului 1p. suport duplicate).
-modificarea tabloului conform cerinţei 6p. (**) Se acordă punctajul chiar dacă tabloul
(*,**) nu s-a modificat în memorie.
-afișarea tabloului obţinut (***) 1p. (***) Se acordă punctajul numai dacă tabloul
-declararea tuturor variabilelor simple, s-a modificat în memorie, conform cerinţei.
citirea datelor simple, corectitudinea
globală a programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenţa explicării metodei (*) 2p. aleasă nu este eficientă.
-explicarea unor elemente de eficienţă 2x1p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, pregătire propusă nu prezintă elemente de eficienţă.
în vederea citirii, citire din fişier 1p. (**) Se acordă câte 2p. pentru fiecare
- determinarea și afișarea șirului cerut condiție impusă (număr asociat maxim,
(*, **) 4p. eliminarea unui singur termen).
-utilizarea unui algoritm eficient (***) 1p. (***) Se acordă punctajul numai pentru un
algoritm liniar (de complexitate O(n)), care
utilizează eficient memoria.
O soluţie posibilă parcurge o dată fişierul
memorând la fiecare pas ultimele două cifre
citite (fie ele x și y). Se vor afișa toate cifrele
cu excepția primei cifre x care respectă
condiția x<y.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Simulare


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2014


Proba E. d) – 4 iulie 2014
Informatică
Limbajul C/C++
Varianta 4

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Valoarea expresiei C/C++ alăturate este: (4p.) 42/10*29/10
a. 6 b. 8 c. 11 d. 18

2. Se consideră algoritmul alăturat, reprezentat în citeşte n


pseudocod. (număr natural nenul)
S-a notat cu x%y restul împărţirii numărului natural x d 2
la numărul natural nenul y şi cu [z] partea întreagă a ┌cât timp d≤n execută
numărului real z. │ p 0
│┌cât timp n%d=0 execută
a) Scrieţi valorile afișate dacă se citește numărul ││ p p+1
2352. (6p.)
││ n [n/d]
b) Scrieţi două numere cu cel mult două cifre care │└■
pot fi citite astfel încât, în urma executării │┌dacă p%2=0 și p≠0 atunci
algoritmului, pentru fiecare dintre acestea, să se ││ scrie d,’ ’
afișeze valorile 5 1. (4p.) │└■
│ d d+1
c) Scrieţi în pseudocod un algoritm, echivalent cu └■
cel dat, în care să se înlocuiască prima scrie n
structură cât timp...execută cu o structură
repetitivă de alt tip. (6p.)

d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 4


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. Variabila x este de tip întreg și poate memora un număr natural din abs(x/10-x%10)
intervalul [45,55]. Valoarea cea mai mare pe care o poate avea
expresia C/C++ alăturată este: (4p.)
a. 4 b. 5 c. 6 d. 7
2. În secvența C/C++ alăturată toate variabilele sunt întregi, iar r=0;
m>n. Expresia care poate înlocui punctele de suspensie x=n;
astfel încât, în urma executării secvenţei obţinute, variabila r y=m;
să memoreze diferenţa m-n este: do
{ x=x+1;
(4p.)
y=y-1;
r=......;
}while(x<y);
r=2*r;
if(x!=y)r=r-1;
a. r-2 b. r-1 c. r+1 d. r+2

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele minut_start și secunda_start, de tip întreg, memorează minutul și
respectiv secunda corespunzătoare unui moment de timp, iar variabilele minut_stop și
secunda_stop, de tip întreg, memorează minutul și respectiv secunda corespunzătoare
unui alt moment de timp, din aceeași oră cu cel menționat anterior. Scrieţi o secvenţă de
instrucţiuni în urma executării căreia să se afișeze pe ecran mesajul acceptat, dacă
momentul de timp corespunzător variabilelor minut_start și secunda_start precede
momentul de timp corespunzător variabilelor minut_stop și secunda_stop, sau mesajul
respins în caz contrar. (6p.)
4. Un interval cu proprietatea că există un singur număr natural n (2≤n) pentru care valoarea
produsului 1·2·3·…·n aparține acestui interval este numit interval factorial al lui n.
Exemplu: [5,8] și [3,23] sunt intervale factoriale ale lui 3, dar [1,15] și [7,10] nu
sunt intervale factoriale ale niciunui număr.
Se citește un număr natural n (n∈ ∈[2,10]) și se cere să se afișeze, separate printr-un
spațiu, două numere naturale a și b, astfel încât expresia b-a să aibă valoare maximă, iar
[a,b] să fie interval factorial al lui n.
Exemplu: dacă n=3, se afișează 3 23.
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Menționați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)

Probă scrisă la informatică Varianta 4


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Se consideră două tablouri unidimensionale A şi B. Știind că A=(4,11,14,18,21), iar în
urma interclasării tablourilor A şi B în ordine crescătoare se obţine tabloul cu elementele
(3,4,8,11,14,14,17,18,21,46), atunci tabloul B poate fi: (4p.)
a. (46,17,8,3) b. (46,17,14,8,3) c. (46,18,14,8,3) d. (46,21,14,17,3)

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată toate variabilele sunt de tip ok=.........;
întreg, iar numerele citite sunt naturale. for(i=1;i<=10;i++)
Scrieţi secvența înlocuind punctele de suspensie { cin>>x; | scanf("%d",&x);
astfel încât, în urma executării secvenţei .......
obţinute, valoarea variabilei ok să fie 1 dacă }
printre valorile citite s-a aflat și 2014, sau 0
altfel. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<50), cele
n elemente ale unui tablou unidimensional, numere întregi cu cel mult patru cifre, apoi un
număr natural x (0<x<10). Cel puţin un element al tabloului este par. Programul modifică
tabloul în memorie scăzând valoarea x din fiecare element par al tabloului, apoi afişează
pe ecran elementele tabloului obținut, separate prin câte un spațiu.
Exemplu: pentru n=7, tabloul (2, 15, 70, 4, 0, 5, 3) și x=3,
se obține tabloul (-1, 15, 67, 1, -3, 5, 3). (10p.)
4. Fișierul bac.txt conține cel mult 1000000 de numere naturale din intervalul [0, 109],
separate prin câte un spațiu.
Se cere să se afișeze pe ecran, separate prin câte un spațiu, cifrele care apar de cele mai
multe ori în scrierea numerelor din fișier. Pentru determinarea cifrelor cerute se utilizează
un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fişierul bac.txt conţine numerele
399 1777578 721149 1212178
atunci pe ecran se afișează valorile de mai jos, nu neapărat în această ordine:
7 1
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.)

Probă scrisă la informatică Varianta 4


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2014


Proba E. d) – 4 iulie 2014
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 4
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. c 4p.
2. a) Răspuns corect: 2 7 1 6p. Se acordă câte 2p. pentru fiecare valoare
menţionată corect.
b) Pentru răspuns corect 4p. Se acordă câte 2p. pentru fiecare valoare
menţionată corect, de exemplu 25, 50, 75.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
- corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucțiunile repetitive este corectă.
-citire date 1p.
-afişare date 1p.
-instrucţiune de decizie corectă 2p.
-instrucţiuni repetitive corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. b 4p.
2. c 4p.
3. Pentru rezolvare corectă 6p. (*) Se acordă numai 3p. dacă se tratează
-afişare a mesajelor conform cerinței (*) 5p. corect doar unul dintre cele două cazuri
-corectitudine globală a secvenţei1) 1p. posibile (acelaşi minut sau minute diferite).

Probă scrisă la informatică Varianta 4


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (algoritm de determinare a unui
-determinare a numerelor cu produs factorial, determinare a limitei
proprietatea cerută (*) 6p. inferioare a intervalului, determinare a
-scriere principial corectă a structurilor limitei superioare a intervalului).
de control (**) 2p. (**) Se va puncta orice formă corectă de
-afișare a numerelor cerute 1p. structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menţionare a rolului variabilelor identificat doar o parte dintre variabilele
utilizate (*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect menționat rolul acestora.
-date de ieșire identificate corect 2p.
SUBIECTUL al III - lea (30 de puncte)
1. b 4p.
2. Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-a identificat
-instrucţiune de iniţializare a corect citirea numărului 2014, dar variabila ok
variabilei ok 2p. nu este actualizată corect.
-instrucţiune de actualizare a
variabilei ok (*) 3p.
-corectitudine globală a secvenţei1) 1p.
3. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-declarare corectă a variabilei de tip al cerinței (determinarea unui element par,
tablou 1p. elemente suport modificate conform
-citire a elementelor tabloului 2p. cerinței).
-accesare corectă a unui element al
tabloului 1p.
-modificare a tabloului conform
cerinței (*) 4p.
-afișare a datelor 1p.
-declarare a tuturor variabilelor
simple, citire a datelor simple,
corectitudine globală a programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-descriere coerentă a metodei (*) 2p. aleasă nu este eficientă.
-justificare a unor elemente de
eficienţă 2p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă câte 1p. pentru fiecare dintre
fişier 1p. aspectele cerinței (determinare a numărului
-determinare a valorilor cerute (*, **) 3p. de apariții ale fiecărei cifre, determinare a
-utilizare a unui algoritm eficient (***) 1p. numărului maxim de apariții, determinare a
-afișare a datelor, declarare a tuturor tuturor cifrelor cu număr maxim de apariții).
variabilelor, corectitudine globală a (***) Se acordă punctajul numai pentru un
programului1) 1p. algoritm liniar.
O soluţie posibilă utilizează un vector de
apariții, v, în care se actualizează numărul
de apariții vi pentru fiecare cifră i, la
parcurgerea fişierului și prelucrarea
corespunzătoare a termenilor șirului.
Numerele cerute corespund valorilor i
pentru care vi are valoare maximă.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.
Probă scrisă la informatică Varianta 4
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2014


Proba E. d)
Informatică
Limbajul C/C++
Varianta 10

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabila x este de tip întreg și poate memora un număr natural cu cel mult două x%7
cifre. Valoarea maximă pe care o poate avea expresia C/C++ alăturată este: (4p.)
a. 6 b. 14.14 c. 93 d. 693

2. Se consideră algoritmul alăturat, reprezentat în n 0


pseudocod. ┌repetă
│ citeşte x
a) Scrieţi valoarea afişată dacă se citesc, în
această ordine, numerele 10, 8, 11, 1, 21, 0. │ (număr natural)
│ a 0
(6p.)
│ b 1
b) Scrieţi un set de patru numere distincte din │┌repetă
intervalul [0,9] care pot fi citite astfel încât, în ││ c a+b
urma executării algoritmului, să se afișeze ││ a b
valoarea 0. (4p.) ││ b c
c) Scrieţi în pseudocod un algoritm, echivalent cu │└până când c≥x
cel dat, în care să se înlocuiască prima │┌dacă x=c atunci
structură repetă...până când cu o ││ n n+1
structură repetitivă cu test inițial. (6p.) │└■
└până când x=0
scrie n
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 10


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. Indicați cel mai mare număr cu două cifre pe care îl poate sqrt(x/10+x%10)==4
memora variabila întreagă x astfel încât expresia C/C++
alăturată să aibă valoarea 1. (4p.)
a. 16 b. 17 c. 88 d. 97
2. Se consideră secvențele de mai jos, notate cu S1, S2 și S3, în care toate variabilele sunt
întregi, iar variabilele k și n memorează câte un număr natural cu cel mult două cifre (k<n).
//S1 //S2 //S3
p=((n*n-k*k+n+k)/2)%10; p=0; p=k;
for(i=k;i<=n;i++) for(i=k+1;i<=n;i++)
p=(p+i)%10; p=p%10+i;
Variabila p memorează ultima cifră a sumei numerelor naturale distincte din intervalul
[k,n] în urma executării, independent, numai a secvențelor: (4p.)
a. S1 și S2 b. S2 și S3 c. S2 d. S1

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabila s este de tip char și memorează o literă mică a alfabetului englez. Scrieți o
secvență de instrucțiuni în urma executării căreia să se afișeze pe ecran litera care îi
urmează imediat în alfabetul englez celei memorate în variabila s, dacă aceasta este o
vocală din mulțimea {a,e,i}, sau litera care o precede imediat în alfabetul englez pe
aceasta în caz contrar.
Exemplu: dacă s memorează litera e se afișează f, iar dacă s memorează litera c se
afișează b. (6p.)
4. Se citește un număr natural, n (n≥2), și se cere să se afișeze toate tripletele de numere
naturale (x, y, z) cu proprietatea că x<y<z și x·y+y·z=n. Numerele din fiecare triplet se
afișează separate prin câte o virgulă și încadrate între paranteze rotunde, ca în exemplu.
Exemplu: pentru n=8 se afișează, nu neapărat în această ordine, tripletele:
(0,1,8) (0,2,4) (1,2,3)
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Menționați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)

Probă scrisă la informatică Varianta 10


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Pentru a verifica dacă într-un tablou unidimensional există elementul cu valoarea x=21, se
aplică metoda căutării binare, iar succesiunea de elemente ale tabloului a căror valoare se
compară cu valoarea lui x pe parcursul aplicării metodei indicate este: 49, 16, 21.
Elementele tabloului pot fi (în ordinea în care apar în tablou): (4p.)
a. (16,17,21,29,49,80,95) b. (4,16,21,49,56,70,85)

c. (7,9,10,16,21,45,49) d. (16,20,21,49,50,56,59)

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată toate variabilele sunt de tip ok=.........;
întreg, iar numerele citite sunt naturale. for(i=1;i<=10;i++)
Scrieţi secvența înlocuind punctele de suspensie { cin>>x; | scanf(”%d”,&x);
astfel încât, în urma executării secvenţei .......
obţinute, valoarea variabilei ok să fie 1 dacă }
toate valorile citite au fost strict mai mici decât
2014, sau 0 altfel. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (2≤n≤50), și
construiește în memorie un tablou unidimensional cu n elemente, astfel încât,
parcurgându-l de la stânga la dreapta, se obține șirul primelor n numere naturale, pare,
care NU sunt divizibile cu 5, ordonat strict crescător, ca în exemplu. Programul afișează
pe ecran elementele tabloului obținut, separate prin câte un spațiu.
Exemplu: dacă n=7, se obține tabloul (2,4,6,8,12,14,16). (10p.)
4. Fișierul bac.txt conține pe prima linie un număr natural, n (1≤n≤106), iar pe a doua linie
cel mult 1000000 de numere naturale de forma 10p (0≤p≤9), separate prin câte un spațiu.
Se cere să se afișeze pe ecran numărul care ar apărea pe poziția n în șirul ordonat strict
crescător obținut din toate numerele distincte aflate pe a doua linie a fișierului. Dacă șirul
are mai puțin de n termeni distincţi, se afișează pe ecran mesajul Nu exista.
Pentru determinarea numărului cerut se utilizează un algoritm eficient din punctul de
vedere al timpului de executare.
Exemplu: dacă fişierul bac.txt conţine numerele
4
100 100000 1 100000 1000 100 10 100
atunci pe ecran se afișează valoarea
1000
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.)

Probă scrisă la informatică Varianta 10


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2014


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 10
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. a 4p.
2. a) Răspuns corect: 3 6p.
b) Pentru răspuns corect 4p. Se acordă numai 1p. dacă al 4-lea număr
menţionat este 0, dar celelalte nu sunt
conform cerinţei şi numai 3p. dacă doar
primele trei valori menţionate sunt conform
cerinţei (numere din mulţimea 4, 6, 7, 9).
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă cu test inițial, principial
conform cerinţei (*) 5p. corectă, dar nu este echivalent cu cel dat.
- corectitudine globală a algoritmului1) 1p. Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare corectă a tuturor instrucţiuni este corectă.
variabilelor 1p.
-citire corectă 1p.
-afişare corectă 1p.
-instrucţiune de decizie corectă 2p.
-instrucţiuni repetitive corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. d 4p.
2. a 4p.
3. Pentru rezolvare corectă 6p. (*) Se acordă numai 1p. dacă se identifică
-expresie logică de identificare a vocalele, dar operatorii logici utilizați nu sunt
vocalelor indicate (*) 2p. conform cerinței.
-afișare a literelor cerute (**) 3p. (**) Se acordă numai 2p. pentru determinarea
-corectitudine globală a secvenţei1) 1p. doar a uneia dintre cele două litere
(precedenta, următoarea).
Probă scrisă la informatică Varianta 10
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare
-citire a datelor 1p. proprietate a numerelor x, y și z (x<y<z,
-determinare a tripletelor cu x·y+y·z=n).
proprietatea cerută (*) 4p. (**) Se acordă doar 2p. dacă doar unul
-afișare a datelor în formatul cerut (**) 3p. dintre aspectele cerinței privind afișarea
-scriere principial corectă a structurilor este corect (virgule, paranteze).
de control (***) 2p. (***) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă doar pentru o
-menţionare a rolului variabilelor parte din variabilele utilizate rolul este
utilizate (*) 2p. corect menționat.
-date de intrare indicate corect 2p.
-date de ieșire indicate corect 2p.

SUBIECTUL al III - lea (30 de puncte)


1. b 4p.
2. Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă expresia de
-instrucţiune de iniţializare a identificare a valorilor strict mai mici decât
variabilei ok 2p. 2014 este corectă, dar actualizarea variabilei
-instrucţiune de actualizare a ok nu este conform cerinței.
variabilei ok (*) 3p.
-corectitudine globală a secvenţei1) 1p.
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declarare a variabilei de tip tablou 1p. al cerinței (numere pare, numere care nu
-citire a datelor 1p. sunt divizibile cu 5, ordine crescătoare,
-accesare a unui element al tabloului 1p. construire în memorie).
-memorare a valorilor elementelor (**) Se acordă numai 1p. dacă sunt afișate
conform cerinței (*) 4p. toate elementele, dar nu în formatul cerut.
-afişare a unui tablou (**) 2p.
-declarare a tuturor variabilelor
simple, corectitudine globală a
programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă
-descriere coerentă a algoritmului (*) 2p. algoritmul ales nu este eficient.
-justificare a unor elemente de
eficienţă 2p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă numai 1p. dacă algoritmul
fişier 1p. utilizat este principial corect, dar valoarea
-determinare a valorii cerute (*,**) 3p. determinată nu se obține corect pentru toate
-utilizare a unui algoritm eficient (***) 1p. datele de intrare.
-afișare a datelor și tratare a cazului (***) O soluţie posibilă utilizează un vector
nu exista, declarare a tuturor de apariții, v, în care pentru fiecare valoare
variabilelor, corectitudine globală a 10p citită din fișier se marchează vp=1,
programului1) 1p. apariția valorii 10p. Numărul cerut, 10p,
corespunde celei mai mici valori p pentru
care suma v0+v1+…vp=n.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 10


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare

Examenul de bacalaureat naŃional 2013


Proba E. d)
Informatică
Limbajul C/C++
MODEL

Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii

• 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieŃi pe foaia de examen litera corespunzătoare răspunsului corect.
1. IndicaŃi expresia care are valoarea 1 dacă şi numai dacă valorile variabilelor întregi x şi y
sunt nenule şi au acelaşi semn. (4p.)
a. x*y>0 b. x>0 && y>0
c. x+y>0 d. !( x<0 || y<0)

2. Se consideră algoritmul alăturat, citeşte a,b,k (numere naturale)


reprezentat în pseudocod. nr
1
a) ScrieŃi numărul afişat dacă pentru s
0
variabila a se citeşte valoarea 5, pentru ┌dacă a>b atunci
variabila b valoarea 10, iar pentru │ i
a
│ a
b
variabila k valoarea 0. (6p.)
│ b
i
b) ScrieŃi două seturi distincte de valori ce └■
pot fi citite pentru variabilele a, b, k ┌pentru i
a,b execută
astfel încât, în urma executării │ s
s+nr*i
algoritmului, pentru fiecare dintre cele │ nr
-1*nr
două seturi de valori, rezultatul afişat să └■
fie 0. (4p.) scrie k+s
c) ScrieŃi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura
repetitivă de tip pentru... execută cu o structură repetitivă de alt tip. (6p.)
d) ScrieŃi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
1
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare

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. Dintre expresiile C/C++ de mai jos, cea care are valoarea 1 dacă şi numai dacă numărul
întreg memorat în variabila întreagă x NU aparŃine reuniunii de intervale
[-5,-2]∪ ∪[2,5] este: (4p.)
a. abs(x)<2 && abs(x)>5 b. abs(x)<2 || abs(x)>5
c. abs(x-5)<2 d. abs(x-5)>abs(x-2)
2. Variabile x şi y sunt de tip întreg şi memorează numere while (x!=y)
naturale nenule. Expresia care poate înlocui punctele de if(.....) x=x-y;
suspensie astfel încât la finalul executării secvenŃei else y=y-x;
obŃinute variabila x să memoreze cel mai mare divizor
comun al valorilor memorate iniŃial în variabilele x şi y
este: (4p.)
a. x>y b. x%y==0 c. y%x==0 d. x%2!=y%2

ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.


3. Se consideră variabila op, de tip char, care memorează simbolul corespunzător unui
operator aritmetic (+, -) sau relaŃional (<, >). ScrieŃi expresia C/C++ care poate înlocui
punctele de suspensie astfel încât în urma executării secvenŃei obŃinute să se afişeze pe
ecran mesajul corespunzător tipului de operator memorat în variabila op.
if(........)
cout<<”aritmetic”; | printf(”aritmetic”);
else cout<<”relational”; | printf(”relational”); (6p.)
4. Se citeşte un număr natural n şi se cere să se scrie numărul obŃinut prin înlocuirea fiecărei
cifre pare a sa cu cifra consecutivă acesteia, ca în exemplu.
Exemplu: dacă n=2384 se obŃine 3395, iar dacă n=35 se obŃine 35.
a) ScrieŃi, în pseudocod, algoritmul de rezolvare pentru problema enunŃată. (10p.)
b) MenŃionaŃi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaŃi datele de intrare, respectiv datele de ieşire ale problemei enunŃate. (6p.)

Probă scrisă la informatică


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
2
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieŃi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Se consideră şirurile de numere S1, S2 şi S1: 1,12,27,49,50;
S3, scrise alăturat. Algoritmul de căutare S2: 98,85,70,59,27,11;
binară se poate aplica direct, fără alte S3: 21,64,36,25,16.
prelucrări prealabile: (4p.)
a. doar şirului S1 b. doar şirului S1 şi şirului S2
c. doar şirului S2 şi şirului S3 d. oricăruia dintre cele trei şiruri

ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.


2. În secvenŃa alăturată toate variabilele sunt de tip min=100;
întreg. Numerele citite sunt naturale, cu cel mult for(i=1;i<=10;i++)
două cifre şi cel puŃin unul dintre ele este impar. { cin>>x; | scanf(”%d”,&x);
ScrieŃi expresia care poate înlocui punctele de if(.............)
suspensie astfel încât, în urma executării min=x;
secvenŃei obŃinute, valoarea variabilei min să fie }
egală cu cel mai mic număr impar citit. (6p.)
3. ScrieŃi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<50) şi cele
n elemente ale unui tablou unidimensional, numere întregi cu cel mult 4 cifre. Programul
înlocuieşte cu 0 fiecare valoare mai mică sau egală cu prima valoare din tablou, apoi
afişează pe ecran elementele tabloului modificat, separate prin câte un spaŃiu.
Exemplu: pentru n=7 şi tabloul (4, 5, 0, 9, 3, 4, -2),
se obŃine tabloul (0, 5, 0, 9, 0, 0, 0). (10p.)
4. Se consideră şirul 1, 4, 7 .... definit astfel: f1=1, f2=4 şi fn=2·fn-1-fn-2, pentru n>2.
Se citesc de la tastatură două numere naturale cu maximum patru cifre fiecare, a şi b
(0<a<b) şi se cere să se scrie în fişierul numere.out toŃi termenii şirului care se află în
intervalul [a,b]. Termenii sunt scrişi în ordine strict crescătoare, separaŃi prin câte un
spaŃiu.
Dacă nu există astfel de termeni, în fişier se scrie mesajul Nu exista.
Pentru determinarea termenilor ceruŃi se utilizează un algoritm eficient din punctul de
vedere al memoriei.
Exemplu: dacă a=3 şi b=8, atunci fişierul numere.out conŃine numerele 4 7.
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.)

Probă scrisă la informatică


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
3
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare

Examenul de bacalaureat naŃional 2013


Proba E. d)
Informatică

Barem de evaluare şi de notare


(comun pentru limbajele C/C++ şi Pascal)

MODEL
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii

• 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.
• 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. a 4p.
2. a) Răspuns corect: -3 6p.
b) Pentru răspuns corect 4p. Se acordă câte 2p. pentru fiecare set distinct
de date.
Se acordă punctajul pentru orice set de valori
cu proprietatea că |b-a| este impar, iar k =(|b-
a|+1)/2.
De exemplu:
1 4 2
4 1 2
c) Pentru algoritm pseudocod 6p. (*) Se acordă numai 2p. dacă algoritmul are
corect o structură repetitivă de tipul indicat,
-echivalenŃa prelucrării realizate, 5p. principial corectă, dar nu este echivalent cu
conform cerinŃei (*) cel dat.
- corectitudinea globală a Se va puncta orice formă corectă de
algoritmului1) 1p. structură repetitivă:
repetă...pană cand, repetă...cat
timp, execută...cat timp, cat
timp...execută, do...while etc.
d) Pentru program corect 10p.
-declarare corectă a tuturor
variabilelor 1p.
-citire corectă 1p.
-afişare corectă 1p.
-instrucŃiune de decizie corectă 2p.
-instrucŃiune repetitivă corectă 2p.
-atribuiri corecte 2p.
-corectitudinea globală a
programului1) 1p.

Probă scrisă la informatică


Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
Barem de evaluare şi de notare
1
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare

SUBIECTUL al II - lea (30 de puncte)


1. b 4p.
2. a 4p.
3. Pentru rezolvare corectă 6p.
- condiŃie corectă pentru fiecare operator 4p.
- operatori utilizaŃi corect 2p.
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citirea datelor 1p. al cerinŃei (cifre pare identificate, cifre pare
-obŃinerea unui număr conform cerinŃei înlocuite corect, păstrarea poziŃiei cifrelor).
(*) 6p. (**) Se va puncta orice formă corectă de
-scrierea principial corectă a structurilor structură repetitivă (de exemplu
de control (**) 2p. execută...cât timp, execută...până
-scrierea rezultatului 1p. când, repetă...până când,
do...while etc.) sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au identificat
-menŃionarea rolului variabilelor doar o parte din variabilele utilizate sau dacă
utilizate (*) 2p. nu pentru toate variabilele este corect
-date de intrare identificate corect 2p. menționat rolul acestora.
-date de iesire identificate corect 2p.

SUBIECTUL al III - lea (30 de puncte)


1. b 4p.
2. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare aspect al
cerinŃei impuse (paritate, minim, expresie în
ansamblu).
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declararea corectă a variabilelor (de al cerinŃei (comparare cu valoarea iniŃială a
tip simplu şi tablou) 2x1p. primului element, identificarea valorilor de
-citirea datelor 2p. înlocuit, înlocuirea primului element,
-modificarea tabloului conform cerinŃei înlocuirea celorlalte elemente conform
(*) 4p. cerinŃei).
-afişarea datelor 1p.
-corectitudinea globală a programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenŃa explicării metodei (*) 2p. aleasă nu este eficientă.
-explicarea unor elemente de eficienŃă 2p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluŃia
-operaŃii cu fişiere: declarare, pregătire propusă nu prezintă elemente de eficienŃă.
în vederea scrierii, scriere în fişier 1p. (**) Se acordă doar 2p. dacă algoritmul este
-determinarea valorilor cerute (*, **) 3p. principial corect, dar nu toate valorile sunt
-afişarea datelor şi tratarea cazului Nu determinate corect.
exista 1p. (***) Se acordă punctajul numai pentru un
-utilizarea unui algoritm eficient (***) 1p. algoritm care utilizează eficient memoria.
O soluŃie posibilă generează termenii şirului
mai mici decât a, apoi îi generează şi
afişează pe cei mai mici sau egali cu b.
O altă soluŃie posibilă parcurge doar şirul
numerelor de forma 3·k+1 din intervalul [a,b].
1)
Corectitudinea globală vizează structura, sintaxa, alte greşeli neprecizate în barem.

Probă scrisă la informatică


Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2013


Proba E. d)
Informatică
Limbajul C/C++
Varianta 2

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabila x este de tip întreg și poate memora un număr natural cu cel mult două x%4
cifre. Valoarea maximă pe care o poate avea expresia C/C++ alăturată este: (4p.)
a. 3 b. 24.75 c. 95 d. 396

2. Se consideră algoritmul alăturat, reprezentat în citeşte a,b,c (numere naturale,


pseudocod. a≤b, 0≤c≤9)
S-a notat cu x%y restul împărţirii numărului natural x ←0
s←
la numărul natural nenul y şi cu [z] partea întreagă a ←a,b execută
┌pentru x←
numărului real z. ←x
│ y←
a) Scrieţi valoarea afişată dacă se citesc, în │┌cât timp y>0 execută
această ordine, numerele 19, 23 şi 2. (6p.) ││┌dacă y%10=c atunci
←s+1
│││ s←
b) Dacă pentru variabila a se citeşte valoarea 1, ││└■
iar pentru variabila c se citeşte valoarea 1, ←[y/10]
││ y←
scrieţi toate numerele naturale care pot fi citite │└■
pentru variabila b, astfel încât, în urma └■
executării algoritmului, pentru fiecare dintre scrie s
acestea, să se afişeze valoarea 12. (4p.)
c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura
cât timp...execută cu o structură repetitivă cu test final. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 2


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. Variabilele x şi y sunt de tip real. Dintre expresiile de mai jos, cea x2 + y2
care reprezintă o transcriere în limbajul C/C++ a expresiei alăturate
este: (4p.)
a. pow(sqrt(x,2)+sqrt(y,2),1/2) b. pow(sqrt(x)+sqrt(y),2)
c. sqrt(pow(x,2)+pow(y,2),1/2) d. sqrt(pow(x,2)+pow(y,2))
2. În secvenţa de instrucţiuni alăturată, toate variabilele sunt întregi. x=120; y=2800;
Instrucţiunea care poate înlocui punctele de suspensie astfel încât, în do{ z=x%y;
urma executării secvenţei, variabila cm să aibă ca valoare cel mai x=y; y=z;
mare divizor comun al numerelor 120 şi 2800 este: }while(y!=0);
(4p.) .....

a. cm=x+y; b. cm=y+z;
c. cm=x*y; d. cm=y*z;

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabila întreagă v memorează un număr natural cu cel mult patru cifre, iar variabila
paritate este de tip char.
Scrieţi o secvenţă de instrucţiuni C/C++ în urma executării căreia variabila paritate să
memoreze litera p, dacă numărul memorat în variabila v este par, sau litera i dacă numărul
memorat în variabila v este impar. (6p.)
4. Se citeşte un număr natural n (2<n) şi se cere să se determine două valori distincte, a şi b,
numere prime, cu proprietatea că n aparţine intervalului [a,b), iar b-a are valoare
minimă. Cele două valori se afişează în ordine crescătoare.
Exemplu: pentru n=8 se afişează numerele: 7 11, iar pentru n=7 se afişează numerele: 7 11.
a) Scrieţi, în pseudocod, un algoritm de rezolvare pentru problema enunţată. (10p.)
b) Menţionaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică Varianta 2


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Pentru a verifica dacă într-un tablou unidimensional există elementul cu valoarea x=9, se
aplică metoda căutării binare, iar succesiunea de elemente ale tabloului a căror valoare se
compară cu valoarea lui x pe parcursul aplicării metodei indicate este: 12, 7, 9.
Elementele tabloului pot fi (în ordinea în care apar în tablou): (4p.)
a. (4,7,8,9,12,20,45) b. (4,7,9,12,16,20,45)
c. (7,9,10,12,16,20,45) d. (10,12,7,9,45,20,16)

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată, toate variabilele sunt de ok=1;
tip întreg. for(i=1;i<=10;i++)
Scrieţi instrucțiunea sau instrucțiunile care pot { cin>>x; | scanf(“%d”,&x);
înlocui punctele de suspensie astfel încât, în .......
urma executării secvenţei obţinute, valoarea }
variabilei ok să fie 1 dacă toate numerele citite
sunt egale cu 2013, sau valoarea 0 altfel. (6p.)
3. Scrieți un program C/C++ care citește de la tastatură un număr natural n (2<n<50) și
construiește în memorie un tablou unidimensional cu 2·n elemente, valori naturale din
intervalul [1, 2·n], astfel încât şirul elementelor impare să fie strict crescător, iar şirul
elementelor pare să fie strict descrescător. Primul element al tabloului este impar, iar două
elemente cu aceeaşi paritate nu pot ocupa poziţii consecutive în tablou, ca în exemplu.
Programul afişează apoi pe ecran elementele tabloului obținut, separate prin câte un
spaţiu.
Exemplu: dacă n=4 atunci se obține tabloul(1, 8, 3, 6, 5, 4, 7, 2). (10p.)
4. Se consideră şirul definit alăturat (unde n este 1, dacă n = 1
un număr natural nenul), în care nu există doi 
termeni cu aceeași paritate aflați pe poziții fn = 1 + fn-1, dacă n par

consecutive: 1 + 2 ⋅ fn-1, altfel
1, 2, 5, 6, 13, 14, 29, 30 ....
Se citeşte de la tastatură un număr natural x, cu cel mult nouă cifre, termen al şirului dat,
şi se cere să se scrie în fişierul text bac.txt, în ordine strict descrescătoare, separați prin
câte un spațiu, toţi termenii şirului care sunt mai mici sau egali cu x.
Se utilizează un algoritm eficient din punctul de vedere al memoriei utilizate şi al timpului
de executare.
Exemplu: dacă x=29, fişierul bac.txt conţine numerele
29 14 13 6 5 2 1
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.)

Probă scrisă la informatică Varianta 2


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2013


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 2
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. a 4p.
2. a) Răspuns corect: 5 6p.
b) Răspuns corect: 19, 20 4p. Se acordă numai 2p. dacă doar una dintre
cele două valori este corectă şi numai 3p.
dacă ambele valori sunt corecte, dar sunt
menţionate şi altele, incorecte.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţă a prelucrării realizate, o structură repetitivă conform cerinţei,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudine globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare a tuturor variabilelor 1p. instrucțiunile repetitive este corectă.
-citire date 1p.
-afişare date 1p.
-instrucţiune de decizie corectă 2p.
-instrucţiuni repetitive corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. d 4p.
2. a 4p.
3. Pentru rezolvare corectă 6p.
-verificare condiție de paritate 3p.
-memorare literă conform cerinței 3p.

Probă scrisă la informatică Varianta 2


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare
-citire date 1p. aspect al cerinței (număr prim, limită
-determinare numere cu proprietatea inferioară, limită superioară a intervalului).
cerută (*) 6p. (**) Se va puncta orice formă corectă de
-scriere principial corectă a structurilor structură repetitivă sau decizională.
de control (**) 2p.
-scriere rezultat conform cerinţei 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menţionare a rolului variabilelor identificat doar o parte dintre variabilele
utilizate (*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect menționat rolul acestora.
-date de ieșire identificate corect 2p.

SUBIECTUL al III - lea (30 de puncte)


1. b 4p.
2. Pentru răspuns corect 6p. Se acordă numai 2p. dacă se identifică
numerele egale cu 2013, dar rezultatul nu
este conform cerinței.
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declarare corectă a variabilei de tip al cerinței (toate numerele cerute, ordinea
tablou 1p. numerelor pare, ordinea numerelor impare,
-accesare corectă a unui element al elemente cu paritate diferită pe poziții
tabloului 1p. consecutive, primul element impar).
-plasare valori în tablou conform
cerinței (*) 5p.
-afişare date conform cerinței 2p.
-declarare a tuturor variabilelor
simple, citire date, corectitudine
globală a programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenţa explicării metodei (*) 2p. aleasă nu este eficientă.
-explicarea unor elemente de
eficienţă conform cerinţei 2x1p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea scrierii, scriere (**) Se acordă câte 2p. pentru fiecare
în fişier 1p. condiţie impusă (ordine strict
-determinare și afișare valori cerute descrescătoare, toți termenii ceruți).
(*, **) 4p. (***) Se acordă punctajul numai pentru un
-utilizare a unui algoritm eficient (***) 1p. algoritm liniar (de complexitate O(n)), care
utilizează eficient memoria.
O soluţie posibilă generează termenii șirului
astfel: dacă termenul curent este x, iar cel
care îl precede este ax, atunci dacă x este
impar, ax=[(x-1)/2], iar dacă x este par,
ax=x-1.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 2


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2013


Proba E. d)
Informatică
Limbajul C/C++
Varianta 6

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Valoarea expresiei C/C++ alăturate este: (4p.) 7+5/2
a. 6 b. 9 c. 9.5 d. 10

2. Se consideră algoritmul alăturat, citeşte a,b


reprezentat în pseudocod. (numere naturale nenule, a≤b)
S-a notat cu x%y restul împărţirii numărului nr 0
natural x la numărul natural nenul y şi cu [z] ┌pentru i a,b execută
partea întreagă a numărului real z. │ x i
│ c x%10
a) Scrieţi numărul afişat dacă pentru variabila
│┌cât timp x≠0 şi x%10=c execută
a se citeşte valoarea 65, iar pentru
││ x [x/10]
variabila b se citeşte valoarea 80. (6p.) │└■
b) Dacă pentru variabila a se citeşte valoarea │┌dacă x=0 atunci
1234, scrieţi cel mai mare număr de patru ││ nr nr+1
cifre care poate fi citit pentru variabila b │└■
astfel încât, în urma executării algoritmului, └■
valoarea afişată să fie 5. (4p.) scrie nr

c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura


pentru...execută cu o structură repetitivă cu test final. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la informatică Varianta 6


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

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. O expresie C/C++ care are valoarea 1 oricare ar fi numărul strict pozitiv memorat în
variabila reală x este: (4p.)
a. x>=floor(x) && x<1+floor(x) b. x>floor(x) && x<1+floor(x)
c. x>=floor(x) && x-1==floor(x) d. x>floor(x) && x-1==floor(x)
2. Variabilele x şi y sunt de tip întreg. Instrucţiunea care poate înlocui ......
punctele de suspensie astfel încât executarea secvenţei obţinute să y=x-y;
aibă ca efect interschimbarea valorilor variabilelor x şi y este: (4p.) x=x-y;
a. x=y-x; b. x=x+y; c. y=y-x; d. y=x+y;

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Se consideră un dreptunghi cu laturile paralele cu axele sistemului de coordonate xOy.
Variabilele întregi xA şi yA memorează abscisa, respectiv ordonata vârfului din stânga –
sus al dreptunghiului, iar variabilele întregi xB şi yB memorează abscisa, respectiv
ordonata vârfului din dreapta – jos al dreptunghiului.
Scrieţi o expresie C/C++ care să aibă valoarea 1 dacă punctul de abscisă 1 și ordonată 2
se află în interiorul dreptunghiului menționat (dar nu pe laturile acestuia) sau valoarea 0 în
caz contrar. (6p.)
4. Se citeşte un număr natural n (1<n) şi se cere să se afișeze cel mai mic divizor prim al lui n.
Exemplu: pentru n=15 se afișează 3, iar pentru n=11 se afișează 11.
a) Scrieţi, în pseudocod, un algoritm de rezolvare pentru problema enunţată. (10p.)
b) Menţionaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la informatică Varianta 6


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Se consideră un tablou unidimensional în care elementele sunt, în această ordine,
(4,7,10,12,15,21,49). Pentru a verifica dacă în tablou există elementul cu valoarea
x=16, se aplică metoda căutării binare.
Succesiunea corectă de elemente a căror valoare se compară cu valoarea lui x pe
parcursul aplicării metodei indicate este: (4p.)
a. 4, 7, 10, 12, 15 b. 12, 15, 21 c. 12, 21, 15 d. 49, 21, 15

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa alăturată toate variabilele sunt de tip nr=0;
întreg. for(i=1;i<=10;i++)
Scrieţi instrucțiunea sau instrucțiunile care pot { cin>>x; | scanf(”%d”,&x);
înlocui punctele de suspensie astfel încât, în ..........
urma executării secvenţei obţinute, valoarea }
variabilei nr să fie egală cu numărul valorilor
strict pozitive citite. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<50), cele
n elemente ale unui tablou unidimensional, numere naturale cu cel mult 4 cifre, apoi un
număr natural k (1<k≤n). Programul determină şi afişează pe ecran suma primelor k
elemente ale tabloului care au valoare impară sau valoarea -1 dacă nu există k elemente
impare în tablou.
Exemplu: pentru n=8, tabloul (2, 7, 6, 8, 3, 7, 5, 1) şi k=3, se obţine valoarea 17
(7+3+7=17). (10p.)
4. Fişierul bac.txt conţine pe prima linie un număr natural cu cel mult nouă cifre, x, iar pe
a doua linie un şir de cel puţin două şi cel mult 1000000 de numere naturale cu cel mult
nouă cifre. Numerele din şir sunt separate prin câte un spaţiu.
Se cere să se afişeze pe ecran penultimul termen al şirului care are ultima cifră egală cu
prima cifră a numărului x. Dacă în şir nu există o astfel de valoare, pe ecran se afişează
mesajul Nu exista.
Pentru determinarea numărului cerut se utilizează un algoritm eficient din punctul de
vedere al memoriei şi al timpului de executare.
Exemplu: dacă fişierul bac.txt conţine numerele
12
345 8911 1245 51 67123 931 1234578
atunci pe ecran se afişează 51.
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.)

Probă scrisă la informatică Varianta 6


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat naţional 2013


Proba E. d)
Informatică

Barem de evaluare și de notare


(comun pentru limbajele C/C++ şi Pascal)

Varianta 6
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. b 4p.
2. a) Răspuns corect: 2 6p.
b) Răspuns corect: 7776 4p.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţa prelucrării realizate, o structură repetitivă de tipul indicat,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
-corectitudinea globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare variabile 1p. instrucţiuni este corectă.
-citire date 1p.
-afişare date 1p.
-instrucţiune de decizie corectă 2p.
-instrucţiuni repetitive corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. a 4p.
2. b 4p.
3. Pentru rezolvare corectă 6p.
-condiții principial corecte pentru
coordonate 2x2p.
-operatori logici utilizați conform cerinței 2p.

Probă scrisă la informatică Varianta 6


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare dintre
-citirea datelor 1p. cele trei proprietăţi ale numărului (divizor,
-determinarea unui număr conform număr prim, mimin).
cerinţei (*) 6p. (**) Se va puncta orice formă corectă de
-scrierea principial corectă a structură repetitivă sau decizională.
structurilor de control (**) 2p.
-scrierea rezultatului 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menţionarea rolului variabilelor identificat doar o parte din variabilele
utilizate (*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect menționat rolul acestora.
-date de ieșire identificate corect 2p.

SUBIECTUL al III - lea (30 de puncte)


1. c 4p.
2. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele
două aspecte ale cerinței (identificarea
valorilor de numărat, actualizarea contorului)
rezolvate corect.
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declararea corectă a variabilei de tip al cerinței (număr elemente suport, paritate
tablou 1p. elemente suport, algoritm de numărare
-citirea elementelor tabloului 2p. principial corect, algoritm de însumare
-accesarea corectă a unui element al principial corect).
tabloului 1p.
-determinarea numărului cerut (*) 4p.
-afișarea datelor și tratarea cazului -1 1p.
-declararea tuturor variabilelor
simple, citirea datelor simple,
corectitudinea globală a programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenţa explicării metodei (*) 2p. aleasă nu este eficientă.
-explicarea unor elemente de
eficienţă 2x1p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă câte 1p. pentru fiecare
fişier 1p. condiţie impusă (prima cifră a lui x, ultima
-determinarea valorii cerute (*, **) 3p. cifră a unui număr din şir, penultima valoare
-afişarea datelor şi tratarea cazului din şir cu proprietatea cerută) conform
Nu exista 1p. cerinţei.
-utilizarea unui algoritm eficient (***) 1p. (***) Se acordă punctajul numai pentru un
algoritm liniar (de complexitate O(n)) şi care
utilizează eficient memoria.
O soluţie posibilă determină prima cifră p a
numărului x, apoi parcurge fişierul
memorând ultimele două valori pentru care
restul împărţirii acestora la 10 este p.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la informatică Varianta 6


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Examenul de bacalaureat 2012
Proba E. d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
MODEL

Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii

• 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. IndicaŃi care dintre expresiile C/C++ de mai jos are valoarea 1 dacă şi numai dacă numărul
memorat în variabila întreagă x NU aparŃine reuniunii de intervale [-3,-1]∪∪[1,3]. (4p.)
a. !(x>=-3 && x<=-1) || !(x>=1 && x<=3)
b. !(x>=-3 || x<=-1 || x>=1 || x<=3)
c. x<-3 || x>3 || x>-1 && x<1
d. x<-3 && x>3 && x>-1 || x<1

2. Se consideră algoritmul alăturat, descris în citeşte n,k


pseudocod. (numere naturale nenule)
a. ScrieŃi numerele care se afişează în urma executării ┌cât timp n≥≥1 execută
algoritmului, în ordine, dacă pentru n se citeşte │┌dacă n>k atunci i k
valoarea 7, iar pentru k se citeşte valoarea 3. (6p.) ││altfel in
│└■
b. Dacă pentru variabila k se citeşte valoarea 11, │ n
n-i
scrieŃi cea mai mică şi cea mai mare dintre valorile │ t
1
din intervalul [0,99] care pot fi citite pentru │┌cât timp i≥ ≥1 execută
variabila n astfel încât, în ambele cazuri, în urma ││ scrie t,' '
executării algoritmului, ultimul număr care se ││ t
t+1
afişează să fie 8. (6p.) ││ i
i-1
c. ScrieŃi în pseudocod un algoritm care să conŃină o │└■
singură structură repetitivă în loc de două şi care să └■
fie echivalent cu cel dat. (4p.)
d. ScrieŃi programul C/C++ corespunzător algoritmului
dat. (10p.)

Probă scrisă la Informatică


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
1
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
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. O expresie C/C++ care are valoarea 1 oricare ar fi numărul strict mai mare decât 1
memorat în variabila reală x este: (4p.)
a. pow(x,2)*pow(x,2)==x b. sqrt(x)*pow(x,2)==1
c. sqrt(x)<pow(x,2) d. sqrt(x)==x*x
2. Se consideră secvenŃa de mai jos în care toate variabilele sunt de tip întreg.
while(z<=x){
if(x%z==0 && y%z==0) cm=z;
z=z+1;
}
Pentru a calcula în variabila cm valoarea celui mai mare divizor comun al numerelor
naturale 100 şi 330, valorile iniŃiale ale variabilelor x, y şi z pot fi: (4p.)
a. x=1, y=100, z=330 b. x=100, y=330, z=1
c. x=100, y=330, z=330 d. x=330, y=330, z=100

ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.


3. Variabilele întregi x şi y memorează coordonatele, în sistemul de
coordonate xOy, ale unui punct. ScrieŃi o expresie C/C++ care are
valoarea 1 dacă şi numai dacă punctul se află în cadranul al II-lea
al sistemului de coordonate şi nu pe axele acestuia. (6p.)

4. Se citesc două numere naturale nenule a şi S (a<S) şi se cere cea mai mare valoare
naturală k (0<a≤k) pentru care suma tuturor numerelor naturale din intervalul [a,k] este
mai mică sau egală cu S.
Exemplu: dacă a=2 şi S=7 atunci k=3 (2+3<7<2+3+4).
a) ScrieŃi, în pseudocod, algoritmul de rezolvare pentru problema enunŃată. (10p.)
b) MenŃionaŃi rolul tuturor variabilelor care au intervenit în prelucrarea realizată la punctul a)
şi indicaŃi datele de intrare, respectiv datele de ieşire ale problemei enunŃate. (6p.)

Probă scrisă la Informatică


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
2
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieŃi pe foaia de examen litera corespunzătoare răspunsului corect.
1. În secvenŃa de instrucŃiuni de mai jos variabilele i, j şi x sunt de tip întreg.
0 -1 -2 -3 -4 for(i=0;i<5;i++){
1 0 -1 -2 -3 for(j=0;j<5;j++){
2 1 0 -1 -2 x=......;
3 2 1 0 -1 cout<<x<<’ ’; | printf("%d ",x);
4 3 2 1 0 }
cout<<endl; | printf("\n");
}
Expresia care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenŃei obŃinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine,
este: (4p.)
a. i-j b. i+j c. i*j d. j-i

ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.


2. Se consideră un tablou unidimensional în care elementele sunt, în această ordine,
(49,23,21,17,12,7,5). Pentru a afla indicele elementului din tablou cu valoarea x=21,
se aplică metoda căutării binare.
ScrieŃi succesiunea corectă de elemente a căror valoare se compară cu valoarea lui x pe
parcursul metodei indicate. (6p.)
3. ScrieŃi un program C/C++ care citeşte de la tastatură un număr natural n (2≤n≤20) şi un
şir de n numere naturale, fiecare cu cel mult 4 cifre, dintre care cel puŃin unul este număr
par, şi construieşte în memorie un tablou unidimensional care să conŃină termenii şirului
citit şi apoi modifică tabloul, inserând înainte de fiecare termen par al şirului numărul
obŃinut prin împărŃirea la 2 a valorii acestuia. Programul afişează pe ecran numărul de
elemente ale tabloului şi, pe o linie nouă a ecranului, valorile memorate în tablou, separate
prin câte un spaŃiu.
Exemplu: dacă n=7, iar şirul este 1,4,5,3,82,6,2 atunci pe ecran se afişează
11
1 2 4 5 3 41 82 3 6 1 2 (10p.)
4. Numim număr de tip palindrom un număr care are aceeaşi valoare dacă este citit de la
stânga la dreapta sau de la dreapta la stânga.
Numim număr de tip dublu palindrom o valoare de tip palindrom cu număr par de cifre în
care fiecare cifră de rang impar este egală cu cifra alăturată din dreapta ei.
Exemplu: 111111, 227722 sunt numere de tip dublu palindrom; 121121 este număr de
tip palindrom, dar nu şi dublu palindrom.
Se cere scrierea în fişierul BAC.TXT, fiecare pe câte o linie, a tuturor numerelor naturale
de tip dublu palindrom, cu exact 6 cifre. Numerele de tip dublu palindrom sunt scrise în
ordine strict crescătoare, iar pentru determinarea acestora se utilizează un algoritm eficient
din punct de vedere al timpului de executare şi al memoriei utilizate.
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.)

Probă scrisă la Informatică


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
3
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare

Examenul de bacalaureat 2012


Proba E. d)
Proba scrisă la INFORMATICĂ

BAREM DE EVALUARE ŞI DE NOTARE


(comun pentru limbajele C/C++ şi Pascal)

MODEL
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii

• 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. c 4p.
2. a. 1 2 3 1 2 3 1 6p. Se acordă numai 3p. pentru un răspuns
parŃial corect care să includă menŃionarea
secvenŃei formată din cel puŃin primii patru
termeni (1,2,3,1).
b. 8 96 6p. Se acordă câte 3p. pentru fiecare valoare
corectă.
c. Pentru algoritm pseudocod corect 4p. (*) Se acordă numai 1p. dacă algoritmul are
-echivalenŃa prelucrării realizate, o singură structură repetitivă, principial
conform cerinŃei (*) (**) 3p. corectă, dar nu este echivalent cu cel dat.
-corectitudinea globală a algoritmului 1p. Se va puncta orice formă corectă de
structură repetitivă: repetă...până când,
repetă...cât timp, execută...cât
timp, cât timp...execută,
do...while etc.
(**) O soluŃie posibilă este
t1
┌pentru i 1,n execută
│ scrie t
│ t t+1
│ dacă t>k atunci t 1
└■

Probă scrisă la Informatică


Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
Barem de evaluare şi de notare
1
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare

d. Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declararea corectă a tuturor structuri este corectă.
variabilelor 1p.
-citire corectă 1p.
-scriere corectă 1p.
-instrucŃiune de decizie corectă 2p.
-instrucŃiuni repetitive cu test iniŃial
corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudinea globală a
programului1) 1p.

SUBIECTUL al II-lea (30 de puncte)


1. c 4p.
2. b 4p.
3. Pentru rezolvare corectă 6p.
-condiŃie corectă pentru abscisă 2p.
-condiŃie corectă pentru ordonată 2p.
-operatori logici utilizaŃi corect 2p.
4. a. Pentru rezolvare corectă 10p. (*) Se va puncta orice formă corectă de
-citirea datelor 1p. structură repetitivă (de exemplu
-determinarea sumei unui şir de execută…cât timp, execută… până când,
numere consecutive 2p. repetă…până când, do...while etc.) sau
-determinarea celei mai mari valori decizională.
dintre cele obŃinute prin însumare,
conform cerinŃei 2p.
-determinarea limitei superioare a
intervalului 2p.
-scrierea principial corectă a
structurilor de control (*) 2p.
-scrierea rezultatului 1p.
b. Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menŃionarea rolului variabilelor identificat doar o parte din variabilele
utilizate (*) 2p. utilizate sau dacă nu pentru toate
-date de intrare identificate corect 2p. variabilele este corect menŃionat rolul
-date de ieşire identificate corect 2p. acestora.

SUBIECTUL al III-lea (30 de puncte)


1. a 4p.
2. Răspuns corect: 17 23 21 6p. Se acordă câte 2p. pentru fiecare valoare
menŃionată corect, în succesiunea indicată.
3. Pentru program corect 10p.
-declarare corectă a variabilelor (de tip
simplu şi tablou) 2x1p.
-citirea datelor 1p.
-algoritm principial corect de adăugare
a unei valori în tablou 2p.
-inserarea valorii indicate înaintea
fiecărui număr par 2p.
-afişarea datelor 2p.
-corectitudinea globală a programului1) 1p.

Probă scrisă la Informatică


Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
Barem de evaluare şi de notare
2
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare

4. a. Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenŃa explicării metodei (*) 2p. aleasă nu este eficientă.
-explicarea unor elemente de eficienŃă 2p.
b. Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluŃia
-operaŃii cu fişiere: declarare, propusă nu prezintă elemente de oficienŃă.
pregătire în vederea scrierii, scriere în (**) Punctajul se acordă numai pentru un
fişier 1p. algoritm în care se generează doar două
-respectarea cerinŃei privind numerele dintre cifrele aflate într-o jumătate a
de tip palindrom 1p. numărului, celelalte fiind deduse prin dublare
-respectarea cerinŃei privind numerele şi respectiv simetrie.
de tip dublu palindrom 2p. O soluŃie posibilă de generare este
-scrierea tuturor numerelor cerute în transpunerea în limbaj de programare a
ordinea indicată (*) 1p. secvenŃei pseudocod:
-utilizarea unui algoritm eficient (**) 1p. ┌pentru c1=1,9 execută
│┌pentru c2=0,9 execută
││scrie c1,c1,c2,c2,c1,c1
│└■
└■
1)
Corectitudinea globală vizează structura, sintaxa şi alte greşeli neprecizate în barem.

Probă scrisă la Informatică


Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
Barem de evaluare şi de notare
3
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat 2012


Proba E. d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Varianta 3

Filiera teroretică, profilul real, specializarea ştiinţe ale naturii

• 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Indicaţi expresia care are valoarea 1 dacă şi numai dacă numărul memorat în variabila
întreagă x are exact două cifre, iar cifra unităţilor este nenulă. (4p.)
a. (x/10)*(x%10)!=0 && x/100==0
b. (x/10)*(x%10)!=0 && x%100==0
c. (x/10)+(x%10)!=0 || x/100==0
d. (x/10)+(x%10)!=0 || x%100==0

2. Se consideră algoritmul alăturat, citeşte a,n (numere naturale nenule)


reprezentat în pseudocod. ←0
s←
a) Scrieţi valoarea afişată dacă se citesc, în ←1,n execută
┌pentru b←
această ordine, numerele 5, 4. (6p.) ←b
│ c←
│┌cât timp c>0 execută
b) Dacă pentru a se citeşte valoarea 1,
←s+a
││ s←
scrieţi toate valorile naturale, cu exact o
cifră fiecare, care pot fi citite pentru n astfel ←c-1
││ c←
încât în urma executării algoritmului, pentru │└■
fiecare dintre acestea, să se afişeze o └■
valoare impară. (4p.) scrie s

c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura


pentru...execută cu o structură repetitivă cu test final. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la Informatică Varianta 3


Limbajul C/C++
Filiera teroretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

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. O expresie C/C++ care are valoarea 1 oricare ar fi numărul strict pozitiv memorat în
variabila reală x este: (4p.)
a. ceil(x)-floor(x)==0 b. ceil(x)-floor(x)<0
c. ceil(x)-floor(x)==1 d. ceil(x)-floor(x)>=0
2. În secvenţele de mai jos, notate cu A1 şi A2, toate variabilele sunt de tip întreg.
//A1 //A2
m=a*b; m=a;
while(m%a==0 && m%b==0) while(m%a!=0 || m%b!=0)
m=m-1; m=m+1;
m=m+1;
Indicaţi care dintre secvenţele de mai sus determină, în urma executării, memorarea în
variabila m a celui mai mic multiplu comun al numerelor naturale nenule memorate în
variabilele a şi b. (4p.)
a. numai secvenţa A1 b. numai secvenţa A2
c. atât secvenţa A1, cât şi secvenţa A2 d. niciuna dintre cele două secvenţe

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele întregi xA şi yA memorează abscisa, respectiv ordonata unui punct în sistemul
de coordonate xOy, iar variabilele întregi xB şi yB memorează abscisa, respectiv ordonata
unui alt punct, în acelaşi sistem de coordonate.
Scrieţi o expresie C/C++ care are valoarea 1 dacă şi numai dacă ambele extremităţi ale
segmentului determinat de cele două puncte menţionate mai sus aparţin axei Ox a
sistemului de coordonate. (6p.)
4. Se citesc două numere naturale nenule a şi b (a≤b/2) şi se cere să se scrie cel mai mare
număr prim k cu proprietatea că a*k≤b.
Exemplu: dacă a=4 şi b=15 atunci k=3 (4*3≤15).
a) Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunţată. (10p.)
b) Menţionaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la Informatică Varianta 3


Limbajul C/C++
Filiera teroretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. În secvenţa de instrucţiuni de mai jos toate variabilele sunt de tip întreg.
for(i=1;i<=5;i++) 3 4 5 6 7
{ for(j=1;j<=5;j++) 5 6 7 8 9
cout<<......<<′ ′; | printf(″%d ″,......); 7 8 9 10 11
cout<<endl; | printf(″\n″); 9 10 11 12 13
} 11 12 13 14 15
Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obţinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine.
(4p.)
a. i+j+1 b. 2*i+j c. i+2*j-1 d. i+2*j

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Se consideră un tablou unidimensional în care elementele sunt, în această ordine,
(2,5,6,15,42,60,75). Pentru a verifica dacă în tablou există elementul cu valoarea x,
se aplică metoda căutării binare.
Scrieţi toate valorile pe care le poate avea x astfel încât căutarea să se încheie după ce x
a fost comparat cu exact două elemente ale tabloului. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<50) şi cele
n elemente ale unui tablou unidimensional, numere întregi cu cel mult 4 cifre. Cel puţin
unul dintre elementele tabloului este nenul. După fiecare element nenul din tablou,
programul inserează câte un nou element, cu aceeaşi valoare absolută, dar cu semn
opus, ca în exemplu. Programul afişează pe ecran valoarea actualizată a lui n şi apoi, pe o
linie nouă, elementele tabloului modificat, separate prin câte un spaţiu.
Exemplu: pentru n=5 şi tabloul (4, -5, 0, 9, 0),
se obţin n=8 şi tabloul (4, -4, -5, 5, 0, 9, -9, 0). (10p.)
4. Fişierul bac.txt conţine pe prima linie un număr natural par n cu cel mult patru cifre, iar
pe următoarea linie un şir de n numere naturale cu cel mult nouă cifre. Numerele din şir
sunt în ordine crescătoare şi sunt separate prin câte un spaţiu.
Se cere să se afişeze pe ecran cel mai mic număr din şir care să fie strict mai mare decât
jumătate dintre toate numerele din şir. Dacă în fişier nu se află o astfel de valoare, pe
ecran se afişează mesajul Nu exista.
Pentru determinarea numărului cerut se utilizează un algoritm eficient din punctul de
vedere al memoriei şi al timpului de executare.
Exemplu: dacă fişierul bac.txt are conţinutul
30
1 3 3 ... 3 3 5 6
•••••••••••
de 27 de ori
atunci pe ecran se afişează 5, iar dacă fişierul are conţinutul
6
8 9 34 34 34 34
atunci pe ecran se afişează Nu exista.
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.)

Probă scrisă la Informatică Varianta 3


Limbajul C/C++
Filiera teroretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat 2012


Proba E. d)
Proba scrisă la INFORMATICĂ

BAREM DE EVALUARE ŞI DE NOTARE


(comun pentru limbajele C/C++ şi Pascal)

Varianta 3
Filiera teroretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. a 4p.
2. a) Răspuns corect: 50 6p.
b) Răspuns corect: 1,2,5,6,9 4p. Se acordă numai 1p. pentru un singur număr
menţionat corect, 2p. pentru doar două
numere menţionate corect şi 3p. pentru trei
sau patru numere menţionate corect.
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are
-echivalenţa prelucrării realizate, o structură repetitivă de tipul indicat,
conform cerinţei (*) 5p. principial corectă, dar nu este echivalent cu
- corectitudinea globală a algoritmului1) 1p. cel dat.
Se va puncta orice formă corectă de
structură repetitivă:
repetă...pană cand, repetă...cat
timp, execută...cat timp, ,
do...while etc.
d) Pentru program corect 10p. (*) Se acordă numai 1p. dacă doar o parte
-declarare corectă a tuturor variabilelor 1p. dintre atribuiri este corectă.
-citire corectă 1p.
-afişare corectă 1p.
-instrucţiuni repetitive corecte 2x2p.
-atribuiri corecte (*) 2p.
-corectitudinea globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. d 4p.
2. b 4p.
3. Pentru rezolvare corectă 6p.
-condiţie corectă pentru ordonate 2x2p.
-operatori utilizaţi corect 2p.

Probă scrisă la Informatică Varianta 3


Filiera teroretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

4. a) Pentru rezolvare corectă 10p. (*) Se va puncta orice formă corectă de


-citirea datelor 1p. structură repetitivă (de exemplu
-determinarea unui număr prim 3p. execută...cât timp, execută...până
-determinarea numărului k cu când, repetă...până când,
proprietatea că a·k≤b 3p. do...while etc.) sau decizională.
-scrierea principial corectă a structurilor
de control (*) 2p.
-scrierea rezultatului 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au identificat
-menţionarea rolului variabilelor doar o parte din variabilele utilizate sau dacă
utilizate (*) 2p. nu pentru toate variabilele este corect
-date de intrare identificate corect 2p. menționat rolul acestora.
-date de iesire identificate corect 2p.

SUBIECTUL al III - lea (30 de puncte)


1. b 4p.
2. Răspuns corect: 6p. Se acordă câte 3p. pentru fiecare valoare
5,60 indicată.
3. Pentru program corect 10p. (*) Se acordă numai 1p. dacă nu se
-declararea corectă a variabilelor (de actualizează valoarea lui n conform cerinţei.
tip simplu şi tablou) 2x1p.
-citirea datelor 1p.
-algoritm principial corect de inserare a
unei valori în tablou 2p.
-inserarea valorii indicate după fiecare
număr nenul (*) 2p.
-afişarea datelor 2p.
1)
-corectitudinea globală a programului 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenţa explicării metodei (*) 2p. aleasă nu este eficientă.
-explicarea unor elemente de eficienţă 2p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, pregătire propusă nu prezintă elemente de eficienţă.
în vederea citirii, citire din fişier 1p. (**) Se acordă numai 2p. dacă numărul
-determinarea unui număr cu determinat respectă doar una dintre cele
proprietatea cerută (*, **) 3p. două condiţii impuse (minim, distinct).
-afişarea datelor şi tratarea cazului Nu (***) Se acordă punctajul numai pentru un
exista 1p. algoritm liniar (de complexitate O(n)), care
-utilizarea unui algoritm eficient (***) 1p. utilizează eficient memoria.
O soluţie posibilă parcurge o singură dată
numerele din fişier memorând ultima valoare
din prima jumătate a şirului, fie aceasta v. Se
parcurg apoi valorile din a doua jumătate a
şirului, până la întâlnirea unei valori diferite
de v; dacă nu există o astfel de valoare, se
afişează mesajul indicat.
1)
Corectitudinea globală vizează structura, sintaxa, alte greşeli neprecizate în barem.

Probă scrisă la Informatică Varianta 3


Filiera teroretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat 2012


Proba E. d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Varianta 1

Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Indicaţi expresia care are valoarea 1 dacă şi numai dacă numărul memorat în variabila
întreagă x aparţine mulţimii {1,2,3}. (4p.)
a. x==1 && x==2 && x==3 b. !( x<=1 && x>=3 )
c. x==1 || x==2 || x==3 d. !( x<=1 || x>=3 )

2. Se consideră algoritmul alăturat, citeşte n (număr natural)


reprezentat în pseudocod. ←0
m←
S-a notat cu x%y restul împărţirii numărului ←1
p←
natural x la numărul natural nenul y şi cu [z] ┌cât timp n>0 execută
partea întreagă a numărului real z. │┌dacă n%2≠0 atunci
a) Scrieţi numărul afişat dacă pentru variabila ←n-1
││ n←
n se citeşte valoarea 56413. (6p.) │└■
←m+(n%10)*p
│ m←
b) Scrieţi toate numerele naturale, fiecare ←[n/10]
│ n←
având exact patru cifre, care pot fi citite
←p*10
│ p←
pentru variabila n astfel încât, în urma
└■
executării algoritmului, pentru fiecare dintre
scrie m
acestea să se afişeze valoarea 40. (4p.)
c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura
cât timp...execută cu o structură repetitivă de alt tip. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la Informatică Varianta 1


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

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. Indicaţi o expresie C/C++ care are valoarea 1 oricare ar fi numărul strict pozitiv memorat în
variabila reală x. (4p.)
a. x-floor(x)!=0 b. x+floor(x)==0
c. x-floor(x)>=0 d. x+floor(x)<=0
2. Se consideră secvenţa de mai jos, în care toate variabilele sunt de tip întreg şi memorează
numere naturale nenule.
y=1;
while ((y+1)*(y+1)<=x) y=y+1;
cout<<..............; | printf(″%d″, ................);
Pentru ca executarea secvenţei să determine afişarea pe ecran a celui mai mare număr
natural pătrat perfect din intervalul [1,x], zona punctată poate fi înlocuită cu: (4p.)
a. y b. y*y c. (y-1)*(y-1) d. (y+1)*(y+1)

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele reale xA şi yA memorează abscisa, respectiv ordonata unui punct în sistemul
de coordonate xOy, iar variabilele reale xB şi yB memorează abscisa, respectiv ordonata
unui alt punct în acelaşi sistem de coordonate.
Scrieţi o secvenţă de instrucţiuni C/C++ care afişează pe ecran pătratul lungimii
segmentului cu extremităţile în cele două puncte. (6p.)
4. Se citeşte un număr natural n şi se cere să se scrie cea mai mică valoare naturală x (x≥n)
care se poate obţine ca produs de două numere naturale consecutive.
Exemplu: dacă n=10 atunci x=12 (12=3*4).
a) Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunţată. (10p.)
b) Menţionaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la Informatică Varianta 1


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. În secvenţa de instrucţiuni de mai jos toate variabilele sunt de tip întreg.
for(i=1;i<=5;i++) 2 3 4 0 1
{ for(j=1;j<=5;j++) 3 4 0 1 2
cout<<......<<′ ′; | printf(″%d ″,......); 4 0 1 2 3
cout<<endl; | printf(″\n″); 0 1 2 3 4
} 1 2 3 4 0
Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obţinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine.
(4p.)
a. i+j%5 b. i%5+j c. (i+j)%5 d. i%5+j%5
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Se consideră tablourile unidimensionale a=(100,89,9,5,3) şi b=(89,10,9,8,2,1).
Tabloul c este obţinut prin interclasarea descrescătoare a elementelor din tablourile a şi b.
Scrieţi elementele tabloului c, în ordinea în care ele apar în acesta. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<50) şi cele
n elemente ale unui tablou unidimensional, numere întregi cu cel mult 4 cifre. Cel puţin
unul dintre elementele tabloului este strict pozitiv. Programul modifică tabloul, inserând
după fiecare element strict pozitiv al acestuia, un nou element cu aceeaşi valoare.
Programul afişează pe ecran valoarea actualizată a lui n şi apoi, pe o linie nouă,
elementele tabloului modificat, separate prin câte un spaţiu.
Exemplu: pentru n=6 şi tabloul (4, -5, 0, 9, 9, -2),
se obţin n=9 şi tabloul (4, 4, -5, 0, 9, 9, 9, 9, -2). (10p.)
4. Un număr natural cu cel puţin două cifre se numeşte 2-ordonat dacă toate cifrele sale
sunt în ordine crescătoare şi valoarea absolută a diferenţei dintre oricare două cifre aflate
pe poziţii consecutive este egală cu 2.
Exemplu: numărul 2468 este 2-ordonat, dar numărul 131 nu este 2-ordonat.
Se cere scrierea în fişierul BAC.TXT a tuturor numerelor naturale 2-ordonate. Fiecare
număr este scris pe câte o linie a fişierului.
Pentru determinarea numerelor cerute se utilizează un algoritm eficient din punctul de
vedere al timpului de executare.
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.)

Probă scrisă la Informatică Varianta 1


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat 2012


Proba E. d)
Proba scrisă la INFORMATICĂ
BAREM DE EVALUARE ŞI DE NOTARE
(comun pentru limbajele C/C++ şi Pascal)

Varianta 1
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
• 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.
• 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. c 4p
2. a) Răspuns corect: 46402 6p
b) Răspuns corect: 1040, 1041, 1050, 4p Se acordă:
1051, 1140, 1141, 1150, 1151 - numai 1p pentru un răspuns parţial
corect care include doar una sau două
valori distincte corecte;
- numai 2p pentru un răspuns parţial
corect care include doar trei sau patru
valori distincte corecte;
- numai 3p pentru un răspuns parţial
corect care include doar cinci, şase sau
şapte valori distincte corecte.
c) Pentru algoritm pseudocod corect 6p (*) Se acordă numai 2p dacă algoritmul
-echivalenţa prelucrării realizate, conform are o structură repetitivă conform
cerinţei (*) 5p cerinţei, principial corectă, dar nu este
- corectitudinea globală a algoritmului1) 1p echivalent cu cel dat.
Se va puncta orice formă corectă de
structură repetitivă:
repetă...până când, repetă...cât
timp, execută...cât timp, cât
timp..execută, do...while etc.
d) Pentru program corect 10p (*) Se acordă numai 1p dacă doar o parte
-declarare corectă a tuturor variabilelor 1p dintre atribuiri este corectă.
-citire corectă 1p
-afişare corectă 1p
-instrucţiune de decizie corectă 2p
-instrucţiune repetitivă corectă 2p
-atribuiri corecte (*) 2p
-corectitudinea globală a programului1) 1p

SUBIECTUL al II - lea (30 de puncte)


1. c 4p
2. b 4p

Probă scrisă la Informatică Varianta 1


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

3. Pentru rezolvare corectă 6p (*) Pentru expresie de calcul principial


-expresie corectă de determinare a valorii corectă, dar care nu conduce la rezultatul
cerute (*) 5p corect se acordă numai 2p
-afişarea datelor 1p
4. a) Pentru rezolvare corectă 10p (*) Se va puncta orice formă corectă de
-citirea datelor 1p structură repetitivă (de exemplu execută
-determinarea unui număr care se poate ... cât timp, execută ... până
scrie ca un produs de două numere când, repetă ... până când, do ...
consecutive 3p while etc.) sau decizională.
-determinarea celui mai mic număr cu
proprietatea cerută 3p
-scrierea principial corectă a structurilor de
control (*) 2p
-scrierea rezultatului 1p
b) Pentru răspuns corect 6p (*) Se acordă numai 1p dacă s-au
-menţionarea rolului variabilelor utilizate (*) 2p identificat doar o parte din variabilele
-date de intrare identificate corect 2p utilizate sau dacă nu pentru toate
-date de ieşire identificate corect 2p variabilele este corect menţionat rolul
acestora.

SUBIECTUL al III - lea (30 de puncte)


1. c 4p
2. Răspuns corect: 6p Se acordă numai 3p dacă sunt eliminate
100,89,89,10,9,9,8,5,3,2,1 duplicatele.
3. Pentru program corect 10p (*) Se acordă numai 1p dacă nu se
-declararea corectă a variabilelor (de tip actualizează valoarea lui n conform
simplu şi tablou) 2x1p cerinţei.
-citirea datelor 1p
-algoritm principial corect de inserare a unei
valori în tablou 2p
-inserarea valorii corespunzătoare după
fiecare număr strict pozitiv (*) 2p
-afişarea datelor 2p
-corectitudinea globală a programului1) 1p
4. a) Pentru răspuns corect 4p (*) Se acordă punctajul chiar dacă
-coerenţa explicării metodei (*) 2p metoda aleasă nu este eficientă.
-explicarea unor elemente de eficienţă 2p
b) Pentru program corect 6p (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, pregătire în propusă nu prezintă elemente de
vederea scrierii, scriere în fişier 1p eficienţă.
-determinarea de numere de tip 2-ordonat (*) 2p (**) Punctajul se acordă numai pentru un
-scrierea tuturor numerelor cerute în formatul algoritm în care se generează direct
indicat (*) 2p numerele 2-ordonate.
-utilizarea unui algoritm eficient (**) 1p O soluţie posibilă de generare este
transpunerea în limbaj de programare a
secvenţei pseudocod:
┌pentru p 1,7 execută
│ nr p
│ u p+2
│┌cât timp u≤9 execută
││nr nr*10+u
││scrie nr
││u u+2
│└■
└■
1)
Corectitudinea globală vizează structura, sintaxa, alte greşeli neprecizate în barem.

Probă scrisă la Informatică Varianta 1


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat 2012


Proba E. d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Varianta 4

Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabila x este de tip întreg şi memorează un număr natural. ((x%5+1)%5+1)%5
Expresia alăturată are valoarea 0 dacă şi numai dacă expresia
x%5 are valoarea: (4p.)
a. 1 b. 2 c. 3 d. 4

2. Se consideră algoritmul alăturat, citeşte n,p (numere naturale nenule)


reprezentat în pseudocod. ←0
s←
S-a notat cu x%y restul împărţirii numărului ←1,n execută
┌pentru i←
natural x la numărul natural nenul y. ←i
│ j←
a) Scrieţi valoarea afişată dacă se citesc, în │┌cât timp j%p≠0 execută
această ordine, numerele 7, 5. (6p.) ←j-1
││ j←
│└■
b) Scrieţi două seturi de date de intrare,
←s+j
│ s←
formate din numere naturale cu cel mult
└■
două cifre fiecare, astfel încât în urma
scrie s
executării algoritmului, pentru fiecare dintre
acestea, să se afişeze valoarea 28. (4p.)
c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura
pentru...execută cu o structură repetitivă cu test final. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la Informatică Varianta 4


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

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. Variabila x este de tip întreg. O expresie C/C++ care are valoarea 1 dacă şi numai dacă
numărul natural memorat în variabila x este un pătrat perfect este: (4p.)
a. sqrt(x*x)==x b. pow(sqrt(x),2)==x
c. sqrt(x)==x/sqrt(x) d. sqrt(x)==floor(sqrt(x))
2. În secvenţele de mai jos, notate cu A1 şi A2, toate variabilele sunt de tip întreg şi
memorează numere naturale.
//A1 //A2
d=1; m=0; d=2; m=0;
while(d<n) while(n>1)
{ if(n%d==0) { while(n%d==0)
m=m+1; { m=m+1; n=n/d; }
d=d+1; d=d+1;
} }
Indicaţi care dintre secvenţele de mai sus determină, în urma executării, memorarea în
variabila m a valorii 1 dacă şi numai dacă numărul n este un număr prim. (4p.)
a. numai secvenţa A1 b. numai secvenţa A2
c. atât secvenţa A1, cât şi secvenţa A2 d. niciuna dintre cele două secvenţe

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele întregi xA şi yA memorează abscisa, respectiv ordonata unui punct în sistemul
de coordonate xOy, iar variabilele întregi xB şi yB memorează abscisa, respectiv ordonata
unui alt punct în acelaşi sistem de coordonate. Niciunul dintre cele două puncte nu se află
în originea sistemului de coordonate.
Scrieţi o expresie C/C++ care are valoarea 1 dacă şi numai dacă segmentul cu
extremităţile în cele două puncte este paralel cu una dintre axele sistemului de coordonate.
(6p.)
4. Se citesc două numere naturale nenule a şi p şi se cere să se scrie cea mai mare valoare
naturală b cu proprietatea că bp≤a.
Exemplu: dacă a=14 şi p=3 atunci b=2 (23≤14<33), iar dacă a=14 şi p=7 atunci b=1
(17≤14<27).
a) Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunţată. (10p.)
b) Menţionaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Probă scrisă la Informatică Varianta 4


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

SUBIECTUL al III-lea (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. În secvenţa de instrucţiuni de mai jos toate variabilele sunt de tip întreg.
for(i=1;i<=5;i++) 2 3 4 5 1
{ for(j=1;j<=5;j++) 3 4 5 6 2
cout<<......<<′ ′; | printf(″%d ″,......); 4 5 6 7 3
cout<<endl; | printf(″\n″); 5 6 7 8 4
} 1 2 3 4 0
Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obţinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine.
(4p.)
a. (i+j)%5 b. i+j%5
c. i%5+j%5 d. i%5+j

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Se consideră un tablou unidimensional în care elementele sunt, în această ordine,
(2,5,7,8,49,50,75). Pentru a verifica dacă în tablou există elementul cu valoarea
x=50, se aplică metoda căutării binare.
Scrieţi succesiunea de elemente cu care se compară valoarea x pe parcursul aplicării
metodei indicate. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<50) şi cele
2•n elemente ale unui tablou unidimensional, numere întregi cu cel mult 4 cifre. Numărul
de elemente pare este egal cu numărul de elemente impare. Elementele au indici de la 1
la 2•n.
Programul modifică apoi tabloul astfel încât elementele impare să aibă indici impari, iar
elementele pare să aibă indici pari. Programul afişează pe ecran elementele tabloului
modificat, separate prin câte un spaţiu.
Exemplu: pentru n=5 şi tabloul (4, 5, 0, 9, 10, 7, 15, 3, 8, 10),
unul dintre tablourile care se pot obţine este (5, 4, 9, 0, 15, 10, 7, 8, 3, 10). (10p.)
4. Fişierul bac.txt conţine pe prima linie un număr natural n cu cel mult 3 cifre, iar pe
următoarea linie un şir de n numere naturale cu cel mult nouă cifre. Numerele din şir sunt
separate prin câte un spaţiu.
Se cere să se determine două valori distincte din şir cu proprietatea că în intervalul închis
delimitat de acestea se află toţi termenii şirului. Valorile determinate se afişează pe ecran,
separate printr-un spaţiu.
Dacă în şir nu se află două astfel de valori, pe ecran se afişează mesajul Nu exista.
Pentru determinarea valorilor cerute se utilizează un algoritm eficient din punctul de
vedere al memoriei şi al timpului de executare.
Exemplu: dacă fişierul bac.txt are conţinutul
6
8 34 34 34 5 34
atunci pe ecran se afişează 5 34.
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.)

Probă scrisă la Informatică Varianta 4


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

Examenul de bacalaureat 2012


Proba E. d)
Proba scrisă la INFORMATICĂ

BAREM DE EVALUARE ŞI DE NOTARE


(comun pentru limbajele C/C++ şi Pascal)

Varianta 4
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii

• 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.
• 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. c 4p.
2. a) Răspuns corect: 15 6p.
b) Pentru răspuns corect 4p. Se acordă câte 2p. pentru fiecare dintre
cele două seturi de date de intrare corecte.
Seturile de date de intrare corecte pot fi:
n=7,p=1
n=10,p=7
n=15,p=14
n=28,p=28
c) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă structura
-echivalenţa prelucrării realizate, pentru ... execută a fost înlocuită cu
conform cerinţei (*) 5p. o structură de tipul indicat, dar prelucrarea
- corectitudinea globală a algoritmului1) 1p. realizată nu este echivalentă cu cea dată.
Se va puncta orice formă de structură
repetitivă corectă, de exemplu:
repetă...până când, repetă...cât
timp, execută...cât timp,
do...while etc.
d) Pentru program corect 10p. (*) Se acordă numai 1p. dacă doar o parte
-declarare corectă a tuturor variabilelor dintre variabile este declarată corect.
(*) 2p.
-citire corectă 1p.
-afişare corectă 1p.
-instrucţiuni repetitive corecte 2x2p.
-atribuiri corecte 1p.
-corectitudinea globală a programului1) 1p.

SUBIECTUL al II - lea (30 de puncte)


1. d 4p.
2. c 4p.
Probă scrisă la Informatică Varianta 4
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare

3. Pentru rezolvare corectă 6p.


-condiţie corectă pentru abscise 2p.
-condiţie corectă pentru ordonate 2p.
-operatori logici utilizaţi corect 2p.
4. a) Pentru rezolvare corectă 10p. (*) Se acordă numai 3p. dacă algoritmul este
-citirea datelor 1p. principial corect, dar nu se obţine cel mai
-determinarea unui număr cu mare număr.
proprietatea cerută (*, **) 6p. (**) Se consideră corectă şi utilizarea în
-scrierea principial corectă a structurilor algoritm a unor formule matematice, cum ar
de control (***) 2p. fi bp,  p a  etc.
-scrierea rezultatului 1p.  
(***) Se va puncta orice formă corectă de
structură repetitivă (de exemplu
execută...cât timp, execută...până
când, repetă...până când,
do...while etc.), decizională etc.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-a identificat
-menţionarea rolului variabilelor doar o parte dintre variabilele utilizate sau
utilizate (*) 2p. dacă nu pentru toate variabilele este corect
-date de intrare identificate corect 2p. menționat rolul acestora.
-date de ieşire identificate corect 2p.

SUBIECTUL al III - lea (30 de puncte)


1. c 4p.
2. Răspuns corect: 6p. Se acordă câte 3p. pentru fiecare valoare
8,50 indicată, în ordinea corectă.
3. Pentru program corect 10p. (*) Se acordă numai 1p. dacă plasarea
-declararea corectă a variabilelor (de elementelor în tablou se face pe măsura
tip simplu şi tablou) 2x1p. citirii datelor.
-citirea datelor 1p.
-plasarea pe poziţii impare a valorilor
impare (*) 2p.
-plasarea pe poziţii pare a valorilor pare
(*) 2p.
-afişarea datelor 2p.
-corectitudinea globală a programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenţa explicării metodei (*) 2p. aleasă nu este eficientă.
-explicarea unor elemente de eficienţă 2p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, pregătire propusă nu prezintă elemente de eficienţă.
în vederea citirii, citire din fişier 1p. (**) Se acordă numai 2p. dacă se determină
-determinarea valorilor cu proprietatea doar una dintre cele două valori.
cerută (*, **) 3p. (***) Se acordă punctajul numai pentru un
-afişarea datelor şi tratarea cazului Nu algoritm liniar (de complexitate O(n)), care
exista 1p. utilizează eficient memoria.
-utilizarea unui algoritm eficient (***) 1p. O soluţie posibilă parcurge datele din fişier
determinând atât valoarea minimă, cât şi
valoarea maximă, care reprezintă capetele
intervalului cerut.
1)
Corectitudinea globală vizează structura, sintaxa, alte greşeli neprecizate în barem.

Probă scrisă la Informatică Varianta 4


Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Examenul de bacalaureat 2011
Proba E. d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Varianta 9

Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii

• 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. IndicaŃi care dintre expresiile C/C++ de mai jos are valoarea 1 dacă şi numai dacă numărul
memorat în variabila întreagă x aparŃine reuniunii de intervale [-3,-1]∪∪[1,3]. (4p.)
a. x>=-3 && x<=-1 && x>=1 && x<=3
b. !(x<-3 || x>-1) || !(x<1 || x>3)
c. x>=-3 || x<=-1 || x>=1 || x<=3
d. !(x<-3 && x>3 && x>-1 || x<1)

2. Se consideră algoritmul alăturat, descris în citeşte n,k


pseudocod. (numere naturale nenule)
t
0
a. ScrieŃi numerele care se afişează în urma
executării algoritmului, în ordine, dacă pentru n ┌cât timp n≥≥1 execută
se citeşte valoarea 5, iar pentru k se citeşte │┌dacă n>k atunci i k
valoarea 2. (6p.) ││altfel in
│└■
b. Dacă pentru variabila k se citeşte valoarea 5, │ t
t+1
scrieŃi cea mai mică şi cea mai mare valoare │ n
n-i
care pot fi citite pentru variabila n astfel încât, în │┌cât timp i≥ ≥1 execută
urma executării algoritmului, ultimul număr care ││ scrie t,' '
se afişează, pentru fiecare dintre aceste valori, ││ i
i-1
să fie 7. (6p.) │└■
c. ScrieŃi în pseudocod un algoritm care să conŃină └■
o singură structură repetitivă în loc de două şi
care să fie echivalent cu cel dat. (4p.)
d. ScrieŃi programul C/C++ corespunzător
algoritmului dat. (10p.)

Probă scrisă la Informatică Varianta 9


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
1
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
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. O expresie C/C++ care are valoarea 1 oricare ar fi numărul memorat în variabila întreagă x
este: (4p.)
a. abs(x)*abs(x)==x*x b. abs(x)<=x
c. abs(abs(x))!=abs(x) d. abs(x)*x==1
2. Se consideră secvenŃele notate cu C1 şi C2, descrise mai jos, în care toate variabilele sunt
de tip întreg.
//C1 //C2
while(a!=b) while(b!=0)
if(a>b) a=a-b; { c=a%b; a=b; b=c; }
else b=b-a;
Variabila a memorează cel mai mare divizor comun al celor două numere naturale nenule,
memorate iniŃial în variabilele a şi b, în urma executării: (4p.)
a. numai a algoritmului C1 b. numai a algoritmului C2
c. atât a algoritmului C1 cât şi a lui C2 d. niciunuia dintre cei doi algoritmi

ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.


3. Se consideră variabilele s1, s2 şi s3, de tip char. ScrieŃi expresia care poate înlocui
punctele de suspensie astfel încât, în urma executării secvenŃei obŃinute, dacă se afişează
mesajul cel mai acesta să fie urmat de textul bun.
cin>>s1>>s2>>s3; | scanf(”%c%c%c”,&s1,&s2,&s3);
if(........)
cout<<”cel mai ”<<s1<<s2<<s3; | printf(”cel mai %c%c%c”,s1,s2,s3);
else
cout<<”acceptabil”; | printf(”acceptabil”); (6p.)
4. Se citesc două numere naturale nenule a şi P (a<P) şi se cere cea mai mică valoare
naturală k (0<k≤a) pentru care produsul tuturor numerelor naturale din intervalul [k,a]
este mai mic sau egal cu P.
Exemplu: dacă a=7 şi P=230 atunci k=5 (5⋅⋅6⋅⋅7<230<4⋅⋅5⋅⋅6⋅⋅7).
a) ScrieŃi, în pseudocod, algoritmul de rezolvare pentru problema enunŃată. (10p.)
b) MenŃionaŃi rolul tuturor variabilelor care au intervenit în prelucrarea realizată la punctul a)
şi indicaŃi datele de intrare, respectiv datele de ieşire ale problemei enunŃate. (6p.)

Probă scrisă la Informatică Varianta 9


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
2
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieŃi pe foaia de examen litera corespunzătoare răspunsului corect.
1. În secvenŃa de instrucŃiuni de mai jos variabilele i, j şi x sunt de tip întreg.

0 1 2 3 4 for(i=0;i<5;i++){
1 2 3 4 5 for(j=0;j<5;j++){
2 3 4 5 6 x=......;
3 4 5 6 7 cout<<x<<’ ’; | printf("%d ",x);
4 5 6 7 8 }
cout<<endl; | printf("\n");
}
Expresia care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenŃei obŃinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine,
este: (4p.)
a. i-j b. i+j c. i*j d. j-i

ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.


2. Se consideră tablourile unidimensionale x=(16,15,9,8,5) şi y=(20,18,14,8,7).
ScrieŃi elementele tabloului z, obŃinut prin interclasarea descrescătoare a elementelor din
x şi y. Valorile sunt scrise în ordinea în care acestea apar în tabloul z. (6p.)
3. ScrieŃi un program C/C++ care citeşte de la tastatură un număr natural n (2≤n≤20) şi un
şir de n numere naturale, fiecare cu cel mult 4 cifre, dintre care cel puŃin unul este număr
par, construieşte în memorie un tablou unidimensional care să conŃină termenii şirului citit
şi apoi modifică tabloul, inserând după fiecare termen par al şirului numărul 2011.
Programul afişează pe ecran numărul de elemente ale tabloului şi, pe o linie nouă a
ecranului, valorile memorate în tablou, separate prin câte un spaŃiu.
Exemplu: dacă n=7, iar şirul este 1,4,5,3,82,6,2 atunci pe ecran se afişează
11
1 4 2011 5 3 82 2011 6 2011 2 2011 (10p.)
4. Se citesc de la tastatură două numere naturale s1 şi s2 (0<s1≤ ≤18, 0≤
≤s2≤ ≤18) şi se cere
scrierea în fişierul BAC.TXT, fiecare pe câte o linie, în ordine strict crescătoare, a tuturor
numerelor naturale cu exact 4 cifre, pentru care suma primelor două cifre este egală cu
s1, iar suma ultimelor două cifre este egală cu s2. Pentru determinarea numerelor indicate
se utilizează un algoritm eficient din punct de vedere al timpului de executare.
Exemplu: dacă s1=8, iar s2=7, atunci 3525 este unul dintre numerele care respectă
proprietatea cerută (3+5=8 şi 2+5=7).
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.)

Probă scrisă la Informatică Varianta 9


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
3
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare

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 9
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii

• 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. b 4p.
2. a. 1 1 2 2 3 6p. Se acordă numai 3p. pentru un răspuns
parŃial corect care să includă menŃionarea
secvenŃei formată din cel puŃin primii trei
termeni (1,1,2).
b. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare valoare
corectă.
c. Pentru algoritm pseudocod corect 4p. (*) Se acordă numai 1p. dacă algoritmul are
-echivalenŃa prelucrării realizate, o singură structură repetitivă, principial
conform cerinŃei (*) (**) 3p. corectă, dar nu este echivalent cu cel dat.
-corectitudinea globală a algoritmului 1p. Se va puncta orice formă corectă de
structură repetitivă: repetă...până când,
repetă...cât timp, execută...cât
timp, cât timp...execută,
do...while etc.
(**) Două soluŃii posibile sunt:
citeşte n,k
┌pentru i 0,n-1 execută
│┌dacă i%k=0 atunci t t+1
│└■
│ scrie t
└■
sau
citeşte n,k
┌pentru i 0,n-1 execută
│ scrie [i/k]+1
└■

Probă scrisă la Informatică Varianta 9


Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
Barem de evaluare şi de notare
1
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare

d. Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare corectă a tuturor variabilelor 1p. structuri este corectă.
-citire corectă 1p.
-scriere corectă 1p.
-instrucŃiune de decizie corectă 2p.
-instrucŃiuni repetitive cu test iniŃial
corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.

SUBIECTUL al II-lea (30 de puncte)


1. a 4p.
2. c 4p.
3. Pentru rezolvare corectă 6p. Se acordă numai 3p. pentru o expresie care
îndeplineşte parŃial condiŃia cerută.
4. a. Pentru rezolvare corectă 10p. (*) Se va puncta orice formă corectă de
-citirea datelor 1p. structură repetitivă (de exemplu
-determinarea produsului unui şir de execută…cât timp, execută… până când,
numere consecutive 2p. repetă…până când, do...while etc.) sau
-determinarea celei mai mari valori decizională.
pentru produs, conform cerinŃei 2p.
-determinarea limitei inferioare a
intervalului 2p.
-scrierea principial corectă a
structurilor de control (*) 2p.
-scrierea rezultatului 1p.
b. Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menŃionarea rolului variabilelor identificat doar o parte din variabilele
utilizate (*) 2p. utilizate sau dacă nu pentru toate
-date de intrare identificate corect 2p. variabilele este corect menŃionat rolul
-date de ieşire identificate corect 2p. acestora.

SUBIECTUL al III-lea (30 de puncte)


1. b 4p.
2. Răspuns corect: 6p. (*) Se acordă numai 3p. dacă valorile
(20,18,16,15,14,9,8,8,7,5) (*) menŃionate sunt distincte.
Nu se depunctează elevii dacă soluŃia nu este
scrisă între paranteze.
3. Pentru program corect 10p.
-declarare corectă a variabilelor (de tip
simplu + tablou) 1+1p.
-citire a datelor 1p.
-algoritm principial corect de inserare
a unei valori în tablou 2p.
-inserare, după fiecare număr par, a
valorii indicate 2p.
-afişare a rezultatelor 2p.
-corectitudine globală a programului1) 1p.

Probă scrisă la Informatică Varianta 9


Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
Barem de evaluare şi de notare
2
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare

4. a. Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenŃa explicării metodei (*) 2p. aleasă nu este eficientă
-explicarea unor elemente de eficienŃă
din punct de vedere al timpului de
executare 2p.
b. Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluŃia
-operaŃii cu fişiere: declarare, propusă nu prezintă elemente de eficienŃă
pregătire în vederea scrierii, scriere în sau afişează numerele cifră cu cifră.
fişier 1p. (**) Se acordă numai 1p. dacă numerele nu
-respectarea cerinŃei privind primele sunt scrise în formatul cerut sau dacă fişierul
două cifre ale numărului 1p. conŃine, în plus, şi alte numere.
-respectarea cerinŃei privind ultimele (***) Punctajul se acordă numai pentru un
două cifre ale numărului 1p. algoritm în care una dintre primele două cifre
-afişarea tuturor numerelor cerute este determinată în funcŃie de cealaltă, şi
(*),(**) 2p. una dintre ultimele două cifre este
-utilizarea unui algoritm eficient (***) 1p. determinată în funcŃie de cealaltă.
O soluŃie posibilă de generare este
transpunerea în limbaj de programare a
secvenŃei pseudocod:
m1s1
┌dacă s1>9 atunci
│m19
└■
m2s2
┌dacă s2>9 atunci
│m29
└■
┌pentru c1=1,m1 execută
│ c2s1-c1
│┌pentru c3=0,m2 execută
││ c4s2-c3
││ scrie c1·103+c2·102+c3·10+c4
│└■
└■
1)
Corectitudinea globală vizează structura, sintaxa şi alte greşeli neprecizate în barem.

Probă scrisă la Informatică Varianta 9


Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
Barem de evaluare şi de notare
3
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Examenul de bacalaureat 2011
Proba E. d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Varianta 3

Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii

• 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 citeşte n,m


pseudocod. (numere naturale)
S-a notat cu x%y restul împărŃirii numărului natural x la ┌dacă n<m atunci
numărul natural nenul y şi cu [z] partea întreagă a │ x
n
numărului real z. │ n
m
│ m
x
a. ScrieŃi numărul care se afişează în urma executării └■
algoritmului dacă pentru variabila n se citeşte p
1
valoarea 1034, iar pentru variabila m valoarea ┌cât timp m>0 execută
1234. (6p.) │ c
m%10
b. ScrieŃi toate perechile distincte de valori naturale, │ m
[m/10]
de câte două cifre fiecare, valori care pot fi citite │ n
n-p*c
pentru variabilele n şi m astfel încât, în urma │ p
p*10
executării algoritmului, pentru fiecare dintre └■
acestea, numărul afişat să fie 86. (6p.) 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.)

Probă scrisă la Informatică Varianta 3


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
1
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
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. Dintre expresiile C/C++ de mai jos, cea care are valoarea 1 dacă şi numai dacă numărul
natural memorat în variabila întreagă x aparŃine intervalului [-3,3] este: (4p.)
a. abs(x)<=3 b. !(abs(x)>=3) c. abs(x-3)>=0 d. 3*abs(x)>0
2. Variabilele E, x, y şi z sunt de tip float. InstrucŃiunea prin care i se x ⋅ y + z2
atribuie variabilei E rezultatul evaluării expresiei aritmetice alăturate este: 5
(4p.)
2
a. E=(x*y+z*z)/(5/2); b. E=x*y+z*z/(5/2);
c. E=x*y+z*z/5/2; d. E=(x*(y+z)*z)/(5/2);

ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.


3. Se consideră variabilele a, b, c, de tip int, unde a şi b memorează lungimea şi, respectiv,
lăŃimea unui dreptunghi, iar c memorează lungimea laturii unui pătrat, toate exprimate în
metri.
ScrieŃi o secvenŃă de instrucŃiuni C/C++ care, în urma executării, afişează mesajul DA,
dacă pătratul are aria strict mai mică decât a dreptunghiului, şi mesajul NU în caz contrar.
(6p.)
4. Se citesc trei numere naturale nenule, a, b, şi c, şi se cere să se afişeze două valori
naturale, separate printr-un spaŃiu, reprezentând cel mai mare divizor comun şi cel mai mic
multiplu comun al acestor numere.
Exemplu: pentru a=12, b=18 şi c=30 se afişează 6 180 (deoarece a=22·3, b=2·32,
c=2·3·5)
a) ScrieŃi, în pseudocod, algoritmul de rezolvare pentru problema enunŃată. (10p.)
b) MenŃionaŃi rolul tuturor variabilelor care au intervenit în prelucrarea realizată la punctul a)
şi indicaŃi datele de intrare, respectiv datele de ieşire ale problemei enunŃate. (6p.)

Probă scrisă la Informatică Varianta 3


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
2
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieŃi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Se consideră şirurile de numere S1, S2 şi S1: 1,13,27,48,52;
S3, scrise alăturat. Pentru a aplica direct, S2: 98,85,70,59,27,11;
fără alte prelucrări prealabile, algoritmul de S3: 22,63,36,25,15.
interclasare a elementelor a două dintre
şirurile de mai sus, acestea pot fi: (4p.)
a. oricare două dintre şirurile de mai sus b. numai S1 şi S2
c. numai S1 şi S3 d. niciunele dintre şirurile de mai sus

ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.


2. În secvenŃa de program k=’a’-’A’; x=’a’;
alăturată variabilele x şi y sunt for(m=1;m<=3;m++)
de tip char, iar celelalte {
variabile sunt de tip int. ScrieŃi y=x-k+m;
ce se afişează în urma cout<<x<<y; | printf(”%c%c”,x,y);
executării secvenŃei date. (6p.) x=x+1;
}
3. ScrieŃi un program C/C++ care citeşte de la tastatură două numere naturale na şi nb
(0<na<100, 0<nb<100) şi elementele a două tablouri unidimensionale a şi b cu na,
respectiv nb elemente. Tablourile memorează elementele câte unei mulŃimi de numere
naturale, fiecare având cel mult patru cifre. Programul afişează pe ecran numărul de
elemente aparŃinând intersecŃiei celor două mulŃimi menŃionate.
Exemplu: pentru na=4, a=(35,149,72,3798), nb=5, b=(72,151,149,9,623),
programul afişează pe ecran valoarea 2. (10p.)
4. Fişierul BAC.TXT conŃine un şir de cel mult un milion de numere naturale, despărŃite prin
câte un spaŃiu, fiecare număr având cel puŃin două cifre şi cel mult 9 cifre.
Se citesc numerele 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 maxim
de termeni ai şirului care au aceeaşi cifră a zecilor.
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ă 5 (pentru că sunt 5 termeni cu cifra zecilor 1).
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.)

Probă scrisă la Informatică Varianta 3


Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
3
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare

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, specializarea ştiinŃe ale naturii

• 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), 6p. Se acordă
(97,11), (12,98), (98,12), -numai 2p. dacă a fost menŃionată o singură
(13,99), (99,13) 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 4p. Dintre soluŃiile posibile, propunem:
-echivalenŃa prelucrării realizate prin citeşte n,m
structura repetitivă, conform cerinŃei 3p. ┌dacă n<m atunci n↔ ↔m
-corectitudine globală 1p. └■
scrie n-m
sau
citeşte n,m
scrie |n-m|
d. Pentru program corect 10p.
-declararea corectă a tuturor
variabilelor 1p.
-citire corectă 1p.
-scriere corectă 1p.
-instrucŃiune de decizie corectă 2p.
-instrucŃiune repetitivă cu test iniŃial
corectă 2p.
-atribuiri corecte 2p.
-corectitudinea globală a
programului1) 1p.
Probă scrisă la Informatică Varianta 3
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
Barem de evaluare şi de notare
1
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare

SUBIECTUL al II-lea (30 de puncte)


1. a 4p.
2. a 4p.
3. Pentru rezolvare corectă 6p.
-expresii corecte pentru calculul ariilor 2x2p.
-structură de decizie corectă 1p.
-afişare corectă a mesajelor 1p.
4. a. Pentru rezolvare corectă 10p. (*) Pentru algoritm principial corect de
-citirea datelor 1p. determinare a datelor, dar fără obŃinerea
-determinarea celui mai mare divizor rezultatului final, se acordă numai 2p.
comun (*) 3p. (**) Se va puncta orice formă corectă de
-determinarea celui mai mic multiplu structură repetitivă (de exemplu
comun (*) 3p. execută…cât timp, execută… până când,
-scrierea principial corectă a repetă…până când, do...while etc.) sau
structurilor de control (**) 2p. decizională.
-scrierea rezultatului 1p.
b. Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menŃionarea rolului variabilelor identificat doar o parte din variabilele
utilizate (*) 2p. utilizate sau dacă nu pentru toate
-date de intrare identificate corect 2p. variabilele este corect menŃionat rolul
-date de ieşire identificate corect 2p. acestora.

SUBIECTUL al III-lea (30 de puncte)


1. b 4p.
2. Răspuns corect: aBbDcF 6p. Se acordă câte 1p. pentru fiecare literă
afişată corect.
3. Pentru program corect 10p. (*) Pentru citire parŃial corectă se acordă
-declarare corectă a variabilelor (de tip numai 1p.
tablou şi tipuri simple) 2x1p.
-citirea datelor (*) 2p.
-algoritm principial corect de determinare
a unui element al intersecŃiei 2p.
-determinarea numărului de valori ale
intersecŃiei 2p.
-afişarea rezultatului 1p.
1)
-corectitudinea globală a programului 1p.
4. a. Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă algoritmul
-coerenŃa explicării algoritmului (*) 2p. ales nu este eficient.
-explicarea unor elemente de eficienŃă
din punct de vedere al timpului de
executare 2p.
b. Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluŃia
-operaŃii cu fişiere: declarare, propusă nu prezintă elemente de eficienŃă.
pregătire în vederea citirii, citire din (**) Punctajul se acordă numai pentru un
fişier 1p. algoritm liniar.
-determinarea numărului de apariŃii O soluŃie posibilă utilizează un tablou nr cu 10
ale unei cifre a zecilor conform cerinŃei 2p. elemente, iniŃial nule, în care pe măsura citirii
-determinarea şi afişarea valorii datelor din fişier, se contorizează în nri
maxime (*) 2p. numărul de apariŃii ale cifrei zecilor i. Se va
-utilizarea unui algoritm eficient (**) 1p. afişa valoarea maximă din tabloul nr.
1)
Corectitudinea globală vizează structura, sintaxa şi alte greşeli neprecizate în barem.

Probă scrisă la Informatică Varianta 3


Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
Barem de evaluare şi de notare
2
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Examenul de bacalaureat 2010
Proba E-d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Specializarea ştiinŃe ale naturii

Varianta 10
• Toate subiectele (I, II şi III) 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. IndicaŃi care dintre expresiile C/C++ de mai jos are valoarea 1 dacă şi numai dacă
numărul natural memorat în variabila întreagă n este divizibil cu 2 şi cu 7. (4p.)
a. !( (n%2==1) || (n%7!=0) ) b. (n%2==0) && (n%7!=0)
c. (n%2==0) || !(n%7==0) d. (n%7==2) && (n%2==7)

2. Se consideră algoritmul alăturat descris în citeşte n (număr natural nenul)


pseudocod: m
0
S-a notat cu x%y restul împărŃirii numărului natural x ┌repetă
la numărul natural nenul y şi cu [z] partea întreagă a │ c
n%10
numărului real z. │ n
[n/10]
│┌dacă c>5 atunci
a) ScrieŃi numărul afişat dacă pentru variabila n se
││ c
[c/2]
citeşte valoarea 64598. (6p.) │└■
b) ScrieŃi toate numerele de exact trei cifre care │ m
m*10+c
pot fi citite pentru variabila n astfel încât, pentru └până când n=0
fiecare dintre acestea, numărul afişat în urma scrie m
executării algoritmului să fie 24. (4p.)
c) ScrieŃi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura
repetă...până când cu o structură repetitivă de alt tip. (6p.)
d) ScrieŃi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la INFORMATICĂ 1 Varianta 10


Specializarea ştiinŃe ale naturii Limbajul C/C++
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
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. Variabilele reale x şi y memorează coordonatele, în planul xOy, ale centrului unui cerc,
punct aflat în primul cadran al planului. O expresie C/C++ care are valoarea 1, dacă şi
numai dacă centrul cercului este egal depărtat de cele două axe ale sistemului de
coordonate al planului xOy, poate fi: (4p.)
a. x-y==0 b. x+y==0 c. x*x+y*y==0 d. x*y==0
2. O expresie C/C++ care are valoarea 1 este: (4p.)
a. ceil(5)-1==floor(5) b. ceil(5.19)==floor(5.19)
c. ceil(5.19)==ceil(5.91) d. ceil(5.19)==floor(5.91)

ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.


3. Se consideră variabila simbol, de tip char. ScrieŃi instrucŃiunile C/C++ prin care se
afişează pe ecran mesajul Este cifra, dacă variabila memorează o cifră zecimală, sau
mesajul Nu este cifra, în caz contrar. (6p.)
4. Se citeşte un număr natural n (n>1) şi se cere să se scrie cea mai mare putere la care
apare un divizor în descompunerea în factori primi a lui n.
Exemplu: dacă n=40, se afişează 3, deoarece 40=23⋅5.
a) ScrieŃi, în pseudocod, algoritmul de rezolvare pentru problema enunŃată. (10p.)
b) MenŃionaŃi rolul tuturor variabilelor care au intervenit în prelucrarea realizată la punctul a)
şi indicaŃi datele de intrare, respectiv datele de ieşire ale problemei enunŃate. (6p.)

Probă scrisă la INFORMATICĂ 2 Varianta 10


Specializarea ştiinŃe ale naturii Limbajul C/C++
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieŃi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Se consideră două tablouri unidimensionale A şi B: A=(21,16,12,7,3), iar
B=(49,11,10,5,1). În urma interclasării lor în ordine descrescătoare se obŃine tabloul cu
elementele: (4p.)
a. (49,16,12,7,3) b. (49,21,11,16,10,12,5,7,1,3)
c. (49,21,16,11,12,10,7,5,3,1) d. (49,21,16,12,11,10,7,5,3,1)

ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.


2. În secvenŃa alăturată de instrucŃiuni, for(i=0;i<=4;i++){
variabilele i şi j sunt de tip întreg. for(.....)
cout<<j<<' '; | printf("%d ",j);
cout<<endl; | printf("\n");
}
RescrieŃi secvenŃa, completând zona punctată astfel încât, în urma executării secvenŃei
obŃinute, să se afişeze pe ecran, în această ordine, numerele de mai jos.
4 3 2 1 0
3 2 1 0
2 1 0
1 0
0 (6p.)
3. ScrieŃi un program C/C++ care citeşte de la tastatură două numere naturale, n şi k
(3≤n≤20, 2≤k≤10), şi construieşte în memorie un tablou unidimensional ale cărui
elemente reprezintă, în ordine, cei n⋅⋅k termeni ai unui şir crescător, valori din mulŃimea
primelor n numere naturale nenule, fiecare astfel de număr fiind în şir de exact k ori.
Programul afişează pe ecran tabloul construit, numerele fiind separate prin câte un spaŃiu.
Exemplu: dacă n=4, k=3 atunci tabloul construit este:(1,1,1,2,2,2,3,3,3,4,4,4).
(10p.)
4. Fişierul BAC.TXT conŃine, în ordine crescătoare, cel puŃin două şi cel mult 10000 de
numere naturale. Numerele sunt separate prin câte un spaŃiu şi au cel mult 9 cifre fiecare.
Cel puŃin un număr din fişier este par.
a) ScrieŃi un program C/C++ care citeşte toate numerele din fişier şi, printr-un algoritm
eficient din punct de vedere al timpului de executare şi al memoriei utilizate, determină şi
afişează pe ecran, în ordine strict crescătoare, separate prin câte un spaŃiu, toate
numerele pare care apar în fişier. Fiecare număr se va afişa o singură dată. (6p.)
Exemplu: dacă fişierul are conŃinutul de mai jos
1 1 2 2 2 7 10 10 10 10 24
pe ecran se afişează, în această ordine, numerele 2 10 24.
b) DescrieŃi în limbaj natural (3-4 rânduri) algoritmul utilizat la punctul a) şi justificaŃi
eficienŃa acestuia. (4p.)

Probă scrisă la INFORMATICĂ 3 Varianta 10


Specializarea ştiinŃe ale naturii Limbajul C/C++
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Examenul de bacalaureat 2010
Proba E-d)
Proba scrisă la INFORMATICĂ
Specializarea ştiinŃe ale naturii
Subiecte 2009
BAREM DE CORECTARE ŞI DE NOTARE
(comun pentru limbajele Pascal şi C/C++)
Varianta 10
• Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin barem. Nu se acordă
fracŃiuni de punct.
• Se punctează oricare alte formulări/ modalităŃi de rezolvare corectă a cerinŃelor.
• 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. a 4p.
2. a) 44543 6p.
b) 420 820 920 (*) 4p. (*) Numerele pot fi scrise în orice ordine.
Se acordă câte 1p. pentru fiecare dintre primele
două numere menŃionate corect şi 2p. pentru al
treilea număr menŃionat corect.
c) Pentru algoritm pseudocod corect 6p.
- structură repetitivă corectă 2p.
- echivalenŃa prelucrării realizate 2p.
- algoritm complet 1p.
- corectitudine globală 1p.
d) Pentru program corect 10p.
-declararea corectă a tuturor variabilelor 2p.
-citire corectă 1p.
-scriere corectă 1p.
-structură repetitivă corectă 2p.
-structură de decizie corectă 2p.
-atribuiri corecte 1p.
1)
-corectitudinea globală a programului 1p.

SUBIECTUL al II-lea 30 de puncte


1) a 4p.
2) c 4p.
3) Pentru rezolvare corectă 6p.
-determinarea unui simbol care memorează
o cifră 4p.
-afişarea corectă a mesajului, conform
cerinŃei 2p.
4) a) Pentru rezolvare corectă 10 p. (*) Se va puncta orice formă corectă de
- citirea datelor 2 p. structură repetitivă (de exemplu execută…cât
- scrierea principial corectă a structurilor timp, execută… până când, repetă…până când
de control (*) 3 p. etc.) sau decizională
- determinarea puterii la care apare un
factor prim în descompunerea cerută 2 p.
- determinarea corectă a numărului cerut 2 p.
- scrierea rezultatului 1 p.

Probă scrisă la INFORMATICĂ Varianta 10


Specializarea ştiinŃe ale naturii
1
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
b) Pentru răspuns corect 6 p. (*) Se acordă numai 1p. dacă s-au identificat
- menŃionarea rolului variabilelor utilizate doar o parte din variabilele utilizate sau nu
(*) 2 p. pentru toate variabilele este corect menŃionat
- date de intrare identificate corect 2 p. rolul acestora.
- date de ieşire identificate corect 2 p.
SUBIECTUL al III-lea 30 de puncte
1) d 4p.
2) Pentru răspuns corect (*) (**) 6p. (*) O soluŃie posibilă reprezintă transpunerea în
limbaj de programare a instrucŃiunii pseudocod:
┌pentru i 0, 4 execută
│ ┌pentru j 4-i, 0, -1 execută
│ │ scrie j, “ “
│ └■
│ salt la rândul următor
└■
(**) Se acordă câte 2p. pentru fiecare valoare
limită a contorului determinată corect.
3) Pentru program corect 10p.
- declarare corectă a variabilelor (tablou şi
variabile simple) 1+1p.
- citirea datelor 1p.
- accesul corect la un element al tabloului 1p.
- generarea unui subşir de k termeni egali 1p.
- generarea celor n*k termeni ai şirului 2p.
- memorarea în tablou a tuturor numerelor
indicate, conform cerinŃei 1p.
- afişarea datelor, conform cerinŃei 1p.
1)
- corectitudinea globală a subprogramului 1p.
4) a) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluŃia
- operaŃii cu fişiere: declarare, pregătire în propusă nu prezintă elemente de eficienŃă
vederea citirii, citire din fişier 1p. (**) Punctajul se acordă numai pentru un
- afişarea numerelor conform cerinŃei (*) 2p. algoritm liniar (de complexitate O(n)), care nu
- utilizarea unui algoritm eficient (**) 2p. utilizează un tablou.
- declarare de variabile, corectitudinea
globală a programului1) 1p.
b) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
- coerenŃa explicării metodei (*) 2p. aleasă nu este eficientă.
- explicarea unor elemente de eficienŃă
din punct de vedere al timpului de
executare 1p.
- explicarea unor elemente de eficienŃă
din punct de vedere al memoriei utilizate 1p.
1)
Corectitudinea globală vizează structura, sintaxa şi alte greşeli neprecizate în barem.

Probă scrisă la INFORMATICĂ Varianta 10


Specializarea ştiinŃe ale naturii
2
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Examenul de bacalaureat 2010
Proba E-d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Specializarea ştiinŃe ale naturii

Varianta 8
• Toate subiectele (I, II şi III) 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. Se consideră definite trei variabile de tip int: x, y şi z. O expresie C/C++ care are
valoarea 1 dacă şi numai dacă x, y şi z au valori identice este: (4p.)
a. x==y && x==z b. x==y==z
c. x==y || x==z || y==z d. !( x!=y && x!=z)

2. Se consideră algoritmul alăturat descris citeşte n (număr natural nenul)


în pseudocod. s
0
a) ScrieŃi numărul afişat în urma executării ┌pentru i
1,n execută
algoritmului dacă pentru n se citeşte │ a
 0
valoarea 6. (6p.) │ b1
│ j1
b) ScrieŃi o valoare care poate fi citită │ ┌cât timp j<i execută
pentru n astfel încât să se afişeze │ │ r 2*b-a
valoarea 55. (4p.) │ │ a b
c) ScrieŃi în pseudocod un algoritm, │ │ br
echivalent cu cel dat, care să conŃină o │ │ j j+1
singură structură repetitivă. (6p.) │ └■
│ ss+b
d) ScrieŃi programul C/C++ corespunzător └■
algoritmului dat. (10p.) scrie s

Probă scrisă la INFORMATICĂ 1 Varianta 8


Specializarea ştiinŃe ale naturii Limbajul C/C++
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
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. O expresie C/C++ care are valoarea 1 este: (4p.)
a. floor(7)+1==ceil(7) b. floor(7.19)==ceil(7.19)
c. floor(7.19)==floor(7.91) d. floor(7.91)==ceil(7.19)
2. Se consideră variabilele x, y, z şi w care memorează câte un x<y && z<w && w<x
număr real, astfel încât expresia C/C++ alăturată are valoarea
1.
Variabila care are ca valoare cel mai mare dintre numerele menŃionate mai sus este: (4p.)
a. x b. y c. z d. w

ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.


3. Variabilele i şi s sunt întregi. RescrieŃi secvenŃa de s=0;
instrucŃiuni alăturată, completând zona punctată astfel for(i=79;i>=25;i--)
încât, în urma executării secvenŃei obŃinute, variabila s să ..........
memoreze suma divizorilor lui 2500 din intervalul
[25,79].
(6p.)
4. Se citeşte un număr natural nenul şi se cere să se scrie numărul de cifre distincte din
scrierea acestuia.
Exemplu: dacă numărul citit este 1612325, valoarea obŃinută este 5.
a) ScrieŃi, în pseudocod, algoritmul de rezolvare pentru problema enunŃată. (10p.)
b) MenŃionaŃi rolul tuturor variabilelor care au intervenit în prelucrarea realizată la punctul a)
şi indicaŃi datele de intrare, respectiv datele de ieşire ale problemei enunŃate. (6p.)

Probă scrisă la INFORMATICĂ 2 Varianta 8


Specializarea ştiinŃe ale naturii Limbajul C/C++
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieŃi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Pentru a calcula în mod eficient media aritmetică a elementelor unui tablou unidimensional
cu n componente numere naturale, toate egale, este necesar şi suficient să se execute:(4p.)
a. o singură instrucŃiune de atribuire b. o singură parcurgere a tabloului şi o
singură atribuire
c. o singură parcurgere a tabloului şi două d. două parcurgeri ale tabloului
atribuiri

ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.


2. În secvenŃa alăturată de instrucŃiuni, for(i=0;i<=4;i++){
variabilele i şi j sunt de tip întreg. for(.....)
cout<<j<<' '; | printf("%d ",j);
cout<<endl; | printf("\n");
}
RescrieŃi secvenŃa, completând zona punctată astfel încât, în urma executării secvenŃei
obŃinute, să se afişeze pe ecran, în această ordine, numerele de mai jos.
0
1 0
2 1 0
3 2 1 0
4 3 2 1 0 (6p.)
3. Se consideră şirul s, construit după regula
alăturată.

ScrieŃi un program C/C++ care citeşte de la tastatură un număr natural n (3<n<20) şi


construieşte în memorie un tablou unidimensional care memorează primii n termeni ai
şirului s, definit după regula de mai sus, astfel încât numerele impare să ocupe primele
poziŃii în tablou, iar cele pare să fie memorate în continuarea celor impare. Programul
afişează pe ecran elementele tabloului construit, separate prin câte un spaŃiu.
Exemplu: dacă n=6, primii şase termeni ai şirului sunt 1, 1, 2, 5, 13, 34, iar tabloul
construit poate fi (1,1,5,13,2,34). (10p.)
4. Fişierul bac.in conŃine pe prima linie un număr natural n (3<n<1000), iar pe
următoarea linie, un şir de n numere naturale distincte, de cel mult nouă cifre fiecare.
Numerele din şir sunt separate prin câte un spaŃiu şi cel puŃin două dintre ele au ultima
cifră egală cu 5.
a) ScrieŃi un program C/C++ care citeşte toate numerele din fişier şi, utilizând un algoritm
eficient din punct de vedere al timpului de executare şi al memoriei utilizate, determină şi
afişează pe ecran cele mai mari două numere din şir care au ultima cifră egală cu 5.
Numerele determinate sunt afişate în ordine crescătoare, separate printr-un spaŃiu. (6p.)
Exemplu: dacă fişierul bac.in are conŃinutul 10
alăturat, pe ecran se vor afişa, în această ordine, 97 5 11 1 8 6 85 3 25 15
numerele: 25 85
b) DescrieŃi succint, în limbaj natural (3-4 rânduri), algoritmul utilizat la punctul a) şi
justificaŃi eficienŃa acestuia. (4p.)

Probă scrisă la INFORMATICĂ 3 Varianta 8


Specializarea ştiinŃe ale naturii Limbajul C/C++
Ministerul EducaŃiei, Cercetării şi Inovării
Centrul NaŃional pentru Curriculum şi Evaluare în ÎnvăŃământul Preuniversitar
Examenul de bacalaureat 2010
Proba E-d)
Proba scrisă la INFORMATICĂ
Specializarea ştiinŃe ale naturii
Subiecte 2009
BAREM DE CORECTARE ŞI DE NOTARE
(comun pentru limbajele Pascal şi C/C++)
Varianta 8
• Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin barem. Nu se acordă
fracŃiuni de punct.
• Se punctează oricare alte formulări/ modalităŃi de rezolvare corectă a cerinŃelor.
• 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. a 4p.
2. a) 21 6p.
b) 10 4p.
c) Pentru program pseudocod corect 6p. (*) O soluŃie posibilă se obŃine prin înlocuirea
- echivalenŃa prelucrării realizate (*) (**) 4p. secvenŃei
- echivalenŃa celor doi algoritmi 1p. ┌pentru i 1,n execută
1)
- corectitudine globală a algoritmului 1p. │ ...
└■
cu secvenŃa:
┌pentru i 1,n execută
│ s s+i
└■
sau cu secvenŃa:
b0
┌pentru i 1,n execută
│ b b+1; s s+b
└■
Pentru soluŃia s [n*(n+1)/2] care determină
rezultatul corect, dar nu conŃine o structură
repetitivă, conform cerinŃei, se acordă numai 2p.
(**) Se acordă punctajul pentru utilizarea corectă
a oricărui tip de structură repetitivă.
d) Pentru program corect 10p. (*) Se acordă numai 1p. dacă se declară corect
-declararea corectă a tuturor variabilelor numai o parte dintre variabilele utilizate.
(*) 2p.
-citire corectă 1p.
-scriere corectă 1p.
-structuri repetitive corecte 2x2p.
-atribuiri corecte 1p.
1)
-corectitudinea globală a programului 1p.

SUBIECTUL al II-lea 30 de puncte


1) c 4p.
2) b 4p.
3) Pentru răspuns corect 6p. (*) Se acordă punctajul şi dacă variabila are
- calculul sumei cerute în variabila indicată (*) 4p. valoarea corectă, dar aceasta a fost obŃinută prin
1)
- corectitudinea globală a secvenŃei 2p. calcul direct, fără a determina divizorii ceruŃi în
cadrul secvenŃei.
Probă scrisă la INFORMATICĂ Varianta 8
Specializarea ştiinŃe ale naturii
1
Ministerul EducaŃiei, Cercetării şi Inovării
Centrul NaŃional pentru Curriculum şi Evaluare în ÎnvăŃământul Preuniversitar
4) a) Pentru rezolvare corectă 10 p. (*) Se acordă numai 1p. dacă se determină
- citirea numărului cerut 2p. numărul de cifre, nu neapărat distincte.
- accesarea corectă a ultimei cifre a unui (**) Se punctează orice formă corectă de
număr 1p. structură repetitivă (de exemplu cât
- accesarea corectă a tuturor cifrelor timp ... execută, repetă...cât timp,
numărului dat 1p. execută...până când, repetă...până
- determinarea corectă a numărului cerut când etc.) sau decizională.
(*) 3p.
- scrierea principial corectă a structurilor
de control (**) 2p.
- scrierea rezultatului 1p.
b) Pentru răspuns corect 6 p. (*) Se acordă numai 1p. dacă s-au identificat
- menŃionarea rolului variabilelor utilizate doar o parte din variabilele utilizate sau nu
(*) 2 p. pentru toate variabilele este corect menŃionat
- date de intrare identificate corect 2 p. rolul acestora.
- date de ieşire identificate corect 2 p.

SUBIECTUL al III-lea 30 de puncte


1) a 4p.
2) Pentru răspuns corect (*) 6p. (*) O soluŃie posibilă o reprezintă transpunerea în
limbaj de programare a instrucŃiunii pseudocod:
┌pentru i← ←0,4 execută
│ ┌pentru j← ←i,0,-1 execută
│ │ scrie j,” ”
│ └■
│ salt la linie nouă
└■
3) Pentru program corect 10p. (*) Pentru limbajul Pascal se are în vedere şi
- declarare corectă a variabilelor (simple şi definirea corectă a tipului de date necesar.
tablou) (*) 1+1p. (**) Se acordă punctajul şi dacă valorile generate
- citirea datelor 1p. nu au fost poziŃionate corect în tablou.
- accesul corect la un element al tabloului 1p. (***) Pentru al treilea termen al şirului se acceptă o
- generarea corectă a tuturor termenilor valoare calculată pe baza celor doi termeni
ceruŃi (**) (***) 1p. anteriori, ca în exemplu, sau orice altă valoare.
- poziŃionarea în tablou a elementelor pare
ale şirului, conform cerinŃei 2p.
- poziŃionarea în tablou a elementelor
impare ale şirului, conform cerinŃei 2p.
- afişarea elementelor tabloului 1p.
1)
- corectitudinea globală a subprogramului 1p.
4) a) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluŃia
- operaŃii cu fişiere: declarare, pregătire în propusă nu prezintă elemente de eficienŃă.
vederea citirii, citire din fişier 1p. (**) Se acordă numai 1p. dacă s-a determinat
- determinarea corectă a unui număr care corect doar cel mai mare număr din fişier.
are ultima cifră egală cu 5 1p. (***) Punctajul se acordă numai pentru un
- determinarea şi afişarea celor mai mari algoritm liniar (de complexitate O(n)), care
două numere din fişier cu proprietatea utilizează eficient memoria.
cerută (*),(**) 2p.
- utilizarea unui algoritm eficient (***) 1p.
- declarare de variabile, corectitudinea
globală a programului1) 1p.
b) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
- coerenŃa explicării metodei (*) 1p. aleasă nu este eficientă.
- explicarea unor elemente de eficienŃă
din punct de vedere al timpului de
executare 2p.
- explicarea unor elemente de eficienŃă
din punct de vedere al memoriei utilizate 1p.
1)
Corectitudinea globală vizează structura, sintaxa, alte greşeli neprecizate în barem

Probă scrisă la INFORMATICĂ Varianta 8


Specializarea ştiinŃe ale naturii
2
Ministerul Educaţiei Cercetării şi Inovării
Centrul Naţional pentru Curriculum şi Evaluare în Învăţământul Preuniversitar

Examenul de bacalaureat 2010


PROBA E – d)
Proba scrisă la INFORMATICĂ, limbajul C/C++
Specializarea ştiinţe ale naturii
MODEL

♦ Toate subiectele (I, II şi III) 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. Care este numărul total de atribuiri efectuate la executarea x=4; y=6;
secvenţei de instrucţiuni alăturate? (4p.) while (y==6) y=y+1;
if (x==y) x=x+1;
a. 4 b. 3 c. 2 d. 5

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Se consideră algoritmul alăturat descris în citeşte n (număr natural)
pseudocod. nrÅ0
S-a notat cu x%y restul împărţirii numărului natural x la pÅ1
numărul natural nenul y şi cu [z] partea întreagă a ┌cât timp n≠0 execută
numărului real z. │ c Å n%10
a) Scrieţi numărul afişat dacă se citeşte valoarea │┌dacă c>0 şi c < 9 atunci
n=12939. (6p.) ││ cÅc+1
b) Scrieţi toate valorile care pot fi citite pentru │└■
variabila n astfel încât, în urma executării │ nr Å nr+c*p
algoritmului, valoarea afişată să fie 2009. (4p.) │ p Å p*10
│ n Å [n/10]
└■
scrie nr
c) Scrieţi, în pseudocod, un algoritm echivalent cu cel dat, în care să se înlocuiască
structura cât timp...execută cu o structură repetitivă de un alt tip. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Probă scrisă la Informatică 29


Ministerul Educaţiei Cercetării şi Inovării
Centrul Naţional pentru Curriculum şi Evaluare în Învăţământul Preuniversitar

Subiectul al II-lea (30 de puncte)


Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care dintre apelurile de mai jos returnează rădăcina pătrată a valorii variabilei reale x? (4p.)
a sqr(4*x) b sqrt(x) c pow(x,4) d rad(x)
2. Variabilele x1, y1, x2, y2, x sunt de tip întreg: x1 şi y1 memorează numărătorul, respectiv
numitorul unei fracţii algebrice, iar x2 şi y2 memorează numărătorul, respectiv numitorul
unei alte fracţii algebrice. Care dintre instrucţiunile de mai jos atribuie variabilei x valoarea
numărătorului unei fracţii obţinute prin însumarea celor două fracţii menţionate în enunţ?
(4p.)
a. x=x1*x2+y2*y1; b. x=x1*y1+x2*y2;
c. x=x1*y2+x2*y1; d. x=(x1+x2)/y1/y2;
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. În secvenţa alăturată, toate variabilele sunt de tip int. Cu ce while (b!=0)
se poate înlocui zona punctată astfel încât, în urma executării { r=a%b; a=b; b=r;}
secvenţei, să se afişeze cel mai mare divizor comun al .....
valorilor memorate în variabilele a şi b? (6p.)
4. Se citeşte un număr natural n (0<n≤12) şi se cere să se afişeze numărul zerourilor de la
sfârşitul numărului n!=1·2·…·n.
a) Care sunt datele de intrare şi care sunt datele de ieşire ale problemei enunţate? (6p.)
b) Scrieţi în pseudocod algoritmul de rezolvare al problemei enunţate. (10p.)

Probă scrisă la Informatică 30


Ministerul Educaţiei Cercetării şi Inovării
Centrul Naţional pentru Curriculum şi Evaluare în Învăţământul Preuniversitar

Subiectul al III-lea (30 de puncte)


Pentru itemul 1 scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Se consideră un tablou unidimensional în care elementele sunt, în ordine,
(1,3,5,7,10,16,21). Pentru a afla indicele elementului din tablou cu valoarea x=10, se aplică
metoda căutării binare. Care este succesiunea corectă de elemente a căror valoare se
compară cu valoarea lui x pe parcursul aplicării metodei indicate? (4p.)
a. 21,16,10 b. 7,16,10 c. 1,3,5,7,10 d. 5,7,10

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. În secvenţa de instrucţiuni m=’a’; n=0;
alăturată, variabilele s şi m sunt de for(i=1;i<=6;i++)
tip char, iar celelalte variabile sunt { scanf(“%c”,&s); | cin>>s;
de tip int. if(m<s) {m=s;n=1;}
else if(m==s) n++;
}
printf(“%c %d”,m,n); | cout<<m<<’ ‘<<n;
Scrieţi ce se afişează în urma executării secvenţei, ştiind că de la tastatură s-au introdus
următoarele 6 litere: x, e, r, x, e,s. (6p.)
3. Se consideră şirul lui Fibonacci, în care primii doi termeni sunt f1=1, f2=1, iar al k-lea (k>2)
termen se calculează cu ajutorul formulei fk=fk-1+fk-2. Care este valoarea celui de-al şaptelea
termen al şirului, f7? (4p.)
4. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2≤n≤24) şi
construieşte în memorie un tablou unidimensional cu n elemente, numerotate de la 1 la n,
care vor primi valori după cum urmează:
- elementele aflate pe poziţii pare vor primi valoarea 0;
- elementele aflate pe poziţii impare vor primi o valoare egală cu poziţia pe care o ocupă în
tablou.
Programul va afişa tabloul astfel construit pe ecran, cu câte un spaţiu între elementele
alăturate.
Exemplu: pentru n=5 se va afişa tabloul: 1 0 3 0 5 (6p.)
5. Fişierul text BAC.TXT conţine pe prima linie numărul întreg n (1≤n≤10000) şi pe a doua
linie un şir de n numere întregi.
Scrieţi programul C/C++ care citeşte numerele din fişier şi afişează pe ecran numai
numerele de pe a doua linie a fişierului care sunt puteri ale lui 2 sau numărul 0 dacă nu
există nicio putere a lui 2 printre acestea. Numerele afişate pe ecran se scriu în linie,
separate prin câte un spaţiu. Un număr p este putere a lui 2 dacă există un număr natural k
astfel încât p=2k. (10p.)

Exemplu: dacă fişierul BAC.TXT conţine 7


numerele alăturate, se va afişa: 2 64 16 2 64 10 20 16 25 49

Probă scrisă la Informatică 31


Ministerul Educaţiei Cercetării şi Inovării
Centrul Naţional pentru Curriculum şi Evaluare în Învăţământul Preuniversitar

Examenul de bacalaureat 2010


Proba E – d)
Proba scrisă la INFORMATICĂ
specializarea ştiinţe ale naturii
Subiecte 2009
BAREM DE EVALUARE ŞI DE NOTARE
(comun pentru limbajele Pascal şi C/C++)
MODEL

• Se punctează oricare alte formulări/ 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.
SUBIECTUL I (30 de puncte)
1. b 4 p. Pentru orice alt răspuns (chiar dacă acesta
include şi litera corectă) se acordă 0 puncte.

2. a) 23949 6 p.
b) 1008, 1009 * 4 p. (*) Pentru fiecare număr corect se acordă 2p
c) Pentru program pseudocod corect 6 p. (*) Se va puncta orice formă corectă de
- structură repetitivă corectă * 2 p. structură repetitivă de alt tip (de exemplu
- echivalenţa prelucrării realizate 2 p. execută…cât timp, repetă…până când etc.)
- algoritm complet 1 p.
- corectitudine globală 1 p.
d) Pentru program corect 10 p. Elevii nu vor fi depunctaţi pentru modul de
-declararea corectă a tuturor aliniere al instrucţiunilor.
variabilelor 2 p.
-citire şi scriere corecte 2 p.
-structură repetitivă cu test iniţial
corectă 2 p.
-structură de decizie corectă 2 p.
-atribuiri corecte 1 p.
-corectitudinea globală a
programului1) 1 p.
SUBIECTUL al II-lea (30 de puncte)
1) b 4 p. Pentru orice alt răspuns (chiar dacă acesta
include şi litera corectă) se acordă 0
puncte.
2) c 4 p. Pentru orice alt răspuns (chiar dacă acesta
include şi litera corectă) se acordă 0
puncte.
3) Pentru răspuns corect 6 p. O soluţie posibilă poate fi transcrierea în
- pentru instrucţiune corectă de scriere 3 p. limbaj de programare a comenzii
-pentru utilizarea variabilei corecte 3 p. scrie a

Barem de evaluare şi de notare la Informatică 32


Ministerul Educaţiei Cercetării şi Inovării
Centrul Naţional pentru Curriculum şi Evaluare în Învăţământul Preuniversitar

4) a) Pentru răspuns corect 6 p.


- date de intrare identificate corect 3 p.
- date de ieșire identificate corect 3 p.
b) Pentru rezolvare corectă 10 p. O soluţie posibilă poate fi calculul efectiv al
- citirea datelor 1 p. produsului şi apoi determinarea numărului de
- determinarea numărului cerut 5 p. 0 de la finalul valorii obţinute
- scrierea corectă a structurilor de (*) Se va puncta orice formă corectă de
control 3 p. structură repetitivă (de exemplu
- scrierea rezultatului 1 p. execută…cât timp, execută… până când,
repetă…până când etc.) sau decizională

SUBIECTUL al III-lea (30 de puncte)


1) b 4 p. Pentru orice alt răspuns (chiar dacă acesta
include şi litera corectă) se acordă 0
puncte.
2) Răspuns: x 2 6 p. Se acordă 3 p pentru litera corectă și 3 p
pentru numărul corect de aparișii ale
acesteia.
3) 18 4 p.
4) Pentru rezolvare corectă 6 p. (*) se va acorda punctajul chiar dacă
- declarare corectă a variabilelor 1 p. elementele nu sunt completate cu valorile
- completarea corectă a elementelor cerute
de pe pozișii pare 1 p.
- completarea corectă a elementelor
de pe pozișii impare 1 p.
- completarea tuturor elementelor (*) 1 p.
- afișarea corectă a tuturor
elementelor în formatul cerut 1 p.
- corectitudinea globală a programului1) 1 p.
5) a) Pentru program corect 10 p. (*) puterea calculată se află în interval sau
- declararea corectă a tuturor în imediata apropiere a capetelor acestuia
variabilelor 1 p.
- operaţii cu fişiere 1 p.
- citirea lui n şi a tuturor numerelor 2 p.
- verificarea proprietăţii de putere a lui
2 2 p.
- tratarea cazului 0 1 p.
- afişarea tuturor valorilor în formatul
cerut 2 p.
- corectitudinea globală a
programului1) 1 p.
1)
Corectitudinea globală vizează structura, sintaxa, alte greşeli neprecizate în barem

Barem de evaluare şi de notare la Informatică 33


Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
Examenul național de bacalaureat 2021
Proba E. d)
INFORMATICĂ
Limbajul C/C++
Simulare
Filieră teoretică, profil real, specializare științe ale naturii

 Toate subiectele sunt obligatorii. Se acordă zece puncte din oficiu.


 Timpul de lucru efectiv este de trei ore.
 Identificatorii utilizați în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.

SUBIECTUL I (20 de puncte)


Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.
1. Expresia C/C++
!(x<2001) && !(x<2002 || x>2020) && !(x>2021)
are valoarea 1 dacă și numai dacă valoarea memorată de variabila reală x aparține intervalului:
a. [2001,2002] b. [2001,2020] c. [2002,2020] d. [2002,2021]

2. Pentru a verifica dacă în tabloul unidimensional (48,24,16,14,9,8,4) există elementul cu valoarea


x, se aplică metoda căutării binare. Știind că valoarea x a fost comparată cu trei elemente ale tabloului
pe parcursul aplicării metodei, două valori ale lui x ar putea fi:
a. 24, 48 b. 16, 48 c. 16, 24 d. 14, 24

3. Tablourile unidimensionale A și B au elementele: A=(2,3,7,11,18), iar B=(4,10,20,21,50). În


urma interclasării lor în ordine crescătoare se obține tabloul cu elementele:
a. (2,3,4,7,10,11,18,20,21,50) b. (2,3,4,10,7,11,18,21,20,50)
c. (2,4,7,18,20,3,10,11,21,50) d. (5,14,18,39,70)

4. Indicați o expresie C/C++ care are valoarea 10.


a. abs(10-10) b. ceil(10+10) c. pow(10,10) d. sqrt(10*10)

5. În secvența de instrucțiuni alăturată, toate variabilele sunt întregi. x=2020; y=50;


Indicați o expresie care poate înlocui punctele de suspensie astfel while (x!=y)
încât, în urma executării secvenței obținute, variabila x să aibă o { if(.........) x=x-y;
else y=y-x;
valoare egală cu cel mai mare divizor comun al numerelor 50 și
}
2020.
a. x/10!=0 b. x%10!=0 c. x+y>0 d. x-y>0

SUBIECTUL al II-lea (40 de puncte)


1. Algoritmul alăturat este reprezentat în pseudocod. citește x (număr natural)
S-a notat cu a%b restul împărțirii numărului natural a la numărul p
1; y0
natural nenul b și cu [c] partea întreagă a numărului real c. ┌repetă
│ c
x%10; x[x/10]
a. Scrieți valoarea afișată dacă se citește numărul 35210579.(6p.) │┌dacă c≠0 atunci
b. Scrieți două numere din intervalul [103,104) care pot fi ││┌dacă x%10<c atunci y y*10+c
citite, astfel încât, pentru fiecare dintre acestea, în urma │││altfel y
 c*p+y
executării algoritmului, numărul afișat să fie 212. (6p.) ││└■
││ pp*10
c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.) │└■
d. Scrieți în pseudocod un algoritm echivalent cu cel dat, └până când x=0
înlocuind structura repetă...până când cu o structură scrie y
repetitivă cu test inițial. (6p.)

Probă scrisă la INFORMATICĂ Simulare


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Ministerul Educației
Centrul Național de Politici și Evaluare în Educație

2. Despre un site web se memorează în variabila întreagă nrAccesari numărul de accesări ale acestuia,
iar în variabila întreagă nrAprecieri numărul de aprecieri pe care le-a primit. Scrieți o secvență de
instrucțiuni în urma executării căreia să se afișeze pe ecran mesajul Peste 50%!, dacă dublul numărului
de aprecieri depășește numărul celor care au accesat site-ul, mesajul Jumatate! dacă dublul numărului
de aprecieri este egal cu numărul celor care au accesat site-ul sau mesajul Sub 50%! altfel. (6p.)

3. Variabila i este de tip întreg, iar celelalte variabile c1='E'; c2='L'; c3='T';
sunt de tip char. Scrieți ce se afișează în urma cout<<c1<<c2; | printf("%c%c",c1,c2);
executării secvenței alăturate. (6p.) for(i=2; i<=5; i++)
{ if(i%2==0) c=c1;
else c=c2+i/2;
cout<<c; | printf("%c",c);
}
cout<<c3;

SUBIECTUL al III-lea (30 de puncte)


1. Se citește un număr natural, n (n≥2), și se cere să se scrie numărul prim care apare la puterea cea mai
mică în descompunerea în factori primi a lui n. Dacă sunt mai multe astfel de numere, se scrie cel mai
mic dintre acestea.
Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate.
Exemplu: dacă n=880, se scrie numărul 5 (880=24511). (10p.)

2. Scrieți un program C/C++ care citește de la tastatură numere naturale, în această ordine: n
[2,20]), apoi n numere din intervalul [0,102], elemente ale unui tablou unidimensional, iar la final
(n
valoarea k (k [2,n]); programul transformă tabloul în memorie, prin deplasarea circulară spre
dreapta, cu câte o poziție, a primelor k valori aflate în tablou, ca în exemplu. Elementele tabloului
obținut sunt afișate pe ecran, separate prin câte un spațiu.
Exemplu: pentru n=7, k=4 și tabloul (3,0,6,4,0,0,8) se obține tabloul (4,3,0,6,0,0,8). (10p.)
3. La proiectarea unui site web se utilizează elemente grafice realizate pe baza unor modele. Fiecare
model este de formă pătrată și oricare două modele distincte au dimensiuni diferite ale laturilor. Toate
elementele grafice realizate pe baza unui anumit model au aceeași formă și aceleași dimensiuni ca ale
acestuia. În vederea asigurării elementelor grafice necesare, pentru fiecare model dintre cele utilizate se
plătește o taxă unică de proiectare, de 10 lei.
Fișierul bac.in conține un șir de cel mult 106 numere naturale din intervalul [1,10], separate prin
câte un spațiu, reprezentând dimensiunile laturilor tuturor elementelor grafice utilizate, date în
centimetri; fiecare termen al șirului corespunde unui element grafic distinct. Se cere să se afișeze pe
ecran suma totală plătită pentru asigurarea elementelor grafice necesare. Proiectați un algoritm eficient
din punctul de vedere al timpului de executare.
Exemplu: dacă fișierul conține numerele 1 7 2 1 1 2 1 7 2
se afișează pe ecran valoarea 30
(10 lei pentru modelul de latură 1 cm, 10 lei pentru modelul de latură 2 cm, respectiv 10 lei pentru modelul
de latură 7 cm).
a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la INFORMATICĂ Simulare


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
Examenul național de bacalaureat 2021
Proba E. d)
INFORMATICĂ

BAREM DE EVALUARE ȘI DE NOTARE


(comun pentru limbajele C/C++ și Pascal)
Simulare
Filieră teoretică, profil real, specializare științe ale naturii

 Se punctează orice modalitate de rezolvare corectă a cerinţelor.


 Nu se acordă punctaje intermediare, altele decât cele precizate explicit în barem. Nu se
acordă fracțiuni de punct. Se acordă zece puncte din oficiu. Nota finală se calculează prin
împărțirea la zece a punctajului total acordat pentru lucrare.
 Utilizarea unui tip de date care depășește domeniul de valori precizat în enunț (de exemplu
tipuri întregi cu semn pentru memorarea numerelor naturale, tablouri) este acceptată din punctul
de vedere al corectitudinii programului, dacă acest lucru nu afectează funcționarea acestuia.

SUBIECTUL I (20 de puncte)


1c 2b 3a 4d 5d 5x4p.

SUBIECTUL al II - lea (40 de puncte)


1. a) Răspuns corect: 2197553 6p. Se acordă numai 3p. pentru un număr parțial corect,
care include sufixul 97553 sau prefixul 21.
b) Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două
numere conform cerinței (oricare două dintre numerele
2012, 2201, 2210).
c) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare a variabilelor 1p. instrucțiunile de decizie este conform cerinței.
-citire a datelor 1p.
-afișare a datelor 1p.
-instrucțiuni de decizie (*) 3p.
-instrucțiune repetitivă 2p.
-atribuiri 1p.
-corectitudine globală a programului1) 1p.
d) Pentru algoritm pseudocod corect 6p. (*) Se acordă numai 2p. dacă algoritmul are o
-echivalență a prelucrării realizate asupra structură repetitivă de tipul cerut, dar nu este
structurii repetitive, conform cerinţei (*) 5p. echivalent cu cel dat.
-corectitudine globală a algoritmului1) 1p. Se va puncta orice formă de structură repetitivă
conform cerinței (cât timp...execută, while... do etc.).
2. Pentru rezolvare corectă 6p. (*) Se acordă numai 2p. dacă doar unul dintre mesaje
-afișare a unor mesaje 1p. este conform cerinței și numai 3p. dacă doar două
-corespondență între mesaje și cazurile dintre mesaje sunt conform cerinței.
indicate (*) 4p.
-corectitudine globală a secvenței1) 1p.
3. Răspuns corect: ELEMENT 6p. Se acordă numai 1p. dacă doar două litere sunt conform
cerinței, numai 2p. dacă doar trei litere sunt conform
cerinței, numai 3p. dacă doar patru litere sunt conform
cerinței, numai 4p. dacă doar cinci litere sunt conform
cerinței și numai 5p. dacă doar șase litere sunt conform
cerinței sau dacă, în continuarea celor corecte, sunt
precizate și alte caractere.

SUBIECTUL al III - lea (30 de puncte)


1. Pentru algoritm corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect specific
-citire a datelor 1p. (identificare a unui factor prim, determinare a puterii
-determinare a valorii cerute (*) 6p. unui factor prim, algoritm de bază pentru determinarea
-scriere a datelor 1p. unei valori minime, factor prim corespunzător unei
-scriere principial corectă a structurilor de puteri minime, puteri suport comparate, tratare a
control, corectitudine globală a cazului mai multor numere cu proprietatea dată)
algoritmului1) (**) 2p. conform cerinței.
(**) Se va puncta orice formă corectă de structură
repetitivă sau decizională.

Probă scrisă la INFORMATICĂ Simulare


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 1 din 2
Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
2. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect specific
-declarare a unei variabile care să (acces la un element al tabloului, identificare a unui
memoreze un tablou unidimensional 1p. element situat pe primele k poziții, deplasare spre
-citire a datelor conform cerinței 1p. dreapta a unor elemente, deplasare circulară a unui
-transformare a tabloului conform cerinței element, valori suport deplasate/nemodificate,
(*) 6p. transformare în memorie) conform cerinței.
-afișare a datelor cerute 1p.
-declarare a variabilelor simple,
corectitudine globală a programului1) 1p.
3. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă algoritmul ales nu
-coerență a descrierii algoritmului (*) 1p. este eficient.
-justificare a elementelor de eficiență 1p. (**) Se acordă numai 3p. dacă algoritmul este
b) Pentru program corect 8p. principial corect, dar nu oferă rezultatul cerut pentru
-operații cu fișiere: declarare, pregătire în toate seturile de date de intrare.
vederea citirii, citire din fișier 1p. (***) Se acordă punctajul numai pentru un algoritm liniar.
-determinare a valorii cerute (*),(**) 5p. O soluție posibilă utilizează un vector caracteristic, a,
-utilizare a unui algoritm eficient (***) 1p. inițial cu toate elementele nule, unde ax este egal cu 1
-declarare a variabilelor, afișare a dacă există cel puțin un termen egal cu x în șirul aflat
datelor, corectitudine globală a în fișier. Pe măsura citirii datelor din fișier, pentru
programului1) 1p. fiecare valoare x citită, se actualizează ax. La final, se
parcurge vectorul caracteristic și, pentru fiecare
număr întreg x (x[1,10]) pentru care ax=1, se adaugă
la sumă valoarea 10.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la INFORMATICĂ Simulare


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 2 din 2
Ministerul Educației Naționale
Centrul Național de Evaluare și Examinare

Examenul național de bacalaureat 2021


Proba E. d)
INFORMATICĂ
Limbajul C/C++
Varianta 4
Filieră teoretică, profil real, specializare științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă zece puncte din oficiu.


• Timpul de lucru efectiv este de trei ore.
• Identificatorii utilizați în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.

SUBIECTUL I (20 de puncte)


Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.
1. Variabilele x și y sunt de tip real (x≠-2). Indicați o expresie C/C++
corespunzătoare expresiei aritmetice alăturate.

a. (x+y/5+x-y/2)/x+2 b. (x+y)/5+(x-y)/2/(x+2)
c. ((x+y)/5+(x-y)/2)/x+2 d. ((x+y)/5+(x-y)/2)/(x+2)
2. Termenii fiecăruia dintre șirurile de numere S1, S2 și S3 sunt scriși S1: 2, 22, 25, 23, 24;
alăturat, în ordinea apariției lor în șir. Indicați șirul/șirurile cărora li se S2: 1, 8, 9, 6;
poate aplica algoritmul de căutare binară direct, fără alte prelucrări S3: 9, 5, 4, 1.
prealabile.
a. doar S1 b. doar S3 c. doar S1 și S2 d. doar S2 și S3
3. În secvenţa de mai jos toate variabilele sunt de tip întreg, iar de la tastatură se citesc 10 numere
naturale nenule.
Indicați o instrucțiune care poate înlocui punctele de suspensie m=0;
astfel încât, în urma executării secvenţei obţinute, valoarea for(i=1;i<=10;i++)
variabilei m să fie ultimul dintre numerele mai mari sau egale cu { cin>>x; | scanf("%d",&x);
2021 citite, sau 0 dacă nu există niciun astfel de număr. ...........
}
a. if(x>=2021) m=x; b. if(x>=2021) x=m;
c. if(x>=2021) m=x; d. if(x<2021) x=0;
else m=0; else x=m;
4. Variabila x este de tip real. Indicați o expresie C/C++ care are valoarea 1 pentru orice număr memorat
în variabila x.
a. ceil(x)-1==ceil(x)+1 b. ceil(x)-1==ceil(x+1)
c. ceil(x)+1==ceil(x-1) d. ceil(x)+1==ceil(x+1)
5. În secvența alăturată toate variabilele sunt întregi, iar variabila n s=0; i=1;
memorează un număr natural nenul. Indicați o expresie care poate while(i*i<n)
înlocui punctele de suspensie astfel încât, în urma executării { if(n%i==0)s=s+.....;
secvenței obținute, variabila s să memoreze suma tuturor divizorilor i=i+1;
naturali ai numărului memorat în variabila n. }
if(i*i==n) s=s+i;
a. i b. n/i c. i+n/i d. 2*i

Probă scrisă la INFORMATICĂ Varianta 4


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Ministerul Educației Naționale
Centrul Național de Evaluare și Examinare

SUBIECTUL al II-lea (40 de puncte)


1. Algoritmul alăturat este reprezentat în pseudocod. citește n,x,y
S-a notat cu a%b restul împărțirii numărului natural a la (numere naturale nenule, x≤n, y≤n)
numărul natural nenul b. ok0
a. Scrieți ce se afișează în urma executării algoritmului dacă ┌pentru i1,n execută
se citesc, în această ordine, numerele 15, 3, 4. (6p.) │┌dacă (i%x=0 și i%y≠0) sau
││ (i%x≠0 și i%y=0) atunci
b. Scrieți două seturi distincte de date de intrare, astfel încât, ││ scrie i, ' '
în urma executării algoritmului, pentru fiecare dintre ││ ok1
acestea să se afișeze valoarea 0. (6p.) │└■
c. Scrieți programul C/C++ corespunzător algoritmului dat. └■
(10p.) ┌dacă ok=0 atunci scrie 0
└■
d. Scrieți în pseudocod un algoritm echivalent cu cel dat,
înlocuind structura pentru...execută cu o structură
repetitivă cu test inițial. (6p.)
2. Tabloul unidimensional A are elementele A=(2,20,27,36,50), iar în urma interclasării lui
crescătoare cu tabloul unidimensional B, se obține tabloul cu elementele
(2,3,5,8,20,27,36,48,50,60). Indicați elementele tabloului B, în ordinea apariției lor în acesta.
(6p.)
3. Pentru fiecare dintre cei doi angajați ai unei societăți comerciale se cunosc anul nașterii și venitul.
Variabilele întregi an1 și venit1 memorează anul nașterii primului angajat, respectiv venitul lunar al
acestuia, iar variabilele întregi an2 și venit2 memorează anul nașterii celui de al doilea angajat,
respectiv venitul lunar al acestuia. Cei doi angajați au venituri diferite.
Scrieți o secvență de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran date despre
angajatul cu cel mai mare venit: venitul lunar al acestuia urmat, pe rândul următor, de anul nașterii sale.
(6p.)

SUBIECTUL al III-lea (30 de puncte)


1. Un număr natural n se numește cub perfect dacă există un număr natural b, astfel încât n=b3.
Se citește un număr natural n (n≥1) și se cere să se scrie separate prin câte un spațiu, în ordine
descrescătoare, primele n cuburi perfecte nenule.
Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate.
Exemplu: dacă n=5 atunci, se scriu numerele 125 64 27 8 1 (10p.)
2. Scrieți un program C/C++ care citește de la tastatură două numere naturale din intervalul [2,102], k
și n, și construiește în memorie un tablou unidimensional cu n elemente, numerotate de la 0 la n-1,
astfel încât parcurgând fiecare poziție pară a sa, de la stânga la dreapta, să se obțină un șir strict
crescător format din primii multipli naturali nenuli ai lui k și parcurgând fiecare poziție impară a sa, de
la stânga la dreapta, să se obțină șirul strict crescător al primelor numere naturale. Elementele
tabloului obținut sunt afișate pe ecran, separate prin câte un spațiu.
Exemplu: pentru k=5 și n=9 se obține tabloul de mai jos
(5, 0, 10, 1, 15, 2, 20, 3, 25). (10p.)
3. Numim pereche asemenea (x,y) două numere naturale, x și y, cu proprietatea că ultima cifră a lui x
este egală cu ultima cifră a lui y.
Fișierul numere.in conține numere naturale din intervalul [1,105]: pe prima linie două numere na și
nb, pe a doua linie un șir A de na numere, iar pe a treia linie un șir B de nb numere. Numerele aflate
pe aceeași linie a fișierului sunt separate prin câte un spațiu.
Se cere să se afișeze pe ecran numărul de perechi asemenea (x,y), cu proprietatea că x este un
termen al șirului A, iar y este un termen al șirului B. Proiectați un algoritm eficient din punctul de vedere
al timpului de executare.
Exemplu: dacă fișierul conține numerele
7 5
112 7 4 112 5013 824 10012
405 1024 321 52 6542
se afișează pe ecran numărul 8
deoarece sunt 8 perechi asemenea: (112,52), (112,6542), (4,1024), (112,52), (112,6542),
(824,1024), (10012,52), (10012,6542).
a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la INFORMATICĂ Varianta 4


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
Ministerul Educaţiei
Centrul Național de Politici și Evaluare în Educație
Examenul național de bacalaureat 2021
Proba E. d)
INFORMATICĂ

BAREM DE EVALUARE ȘI DE NOTARE


(comun pentru limbajele C/C++ și Pascal)
Varianta 4
Filieră teoretică, profil real, specializare matematică-informatică / matematică-informatică intensiv informatică
Filieră vocațională, profil militar, specializare matematică-informatică

• Se punctează orice modalitate de rezolvare corectă a cerinţelor.


• Nu se acordă punctaje intermediare, altele decât cele precizate explicit în barem. Nu se
acordă fracțiuni de punct. Se acordă zece puncte din oficiu. Nota finală se calculează prin
împărțirea la zece a punctajului total acordat pentru lucrare.
• Utilizarea unui tip de date care depășește domeniul de valori precizat în enunț (de exemplu
tipuri întregi cu semn pentru memorarea numerelor naturale, dimensiune a tablourilor) este
acceptată din punctul de vedere al corectitudinii programului, dacă acest lucru nu afectează
funcționarea acestuia.

SUBIECTUL I (20 de puncte)


1d 2b 3a 4b 5c 5x4p.

SUBIECTUL al II - lea (40 de puncte)


1. a) Răspuns corect: 3 4 6 8 9 15 6p. Se acordă câte 1p. pentru fiecare număr conform
cerinței.
b) Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare set de date conform
cerinței (orice triplet de numere naturale nenule, n, x, y,
unde x≤n și x=y).
c) Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare a variabilelor 1p. instrucțiunile de decizie este conform cerinței.
-citire a datelor 1p.
-afișare a datelor 1p.
-instrucțiuni de decizie (*) 3p.
-instrucțiune repetitivă 2p.
-atribuiri 1p.
-corectitudine globală a programului1) 1p.
d) Pentru algoritm pseudocod corect 6p. (*) Se acordă punctajul chiar dacă algoritmul obținut
-utilizare a unei structuri repetitive cu test nu este echivalent cu cel dat.
inițial (*) 2p. Se va puncta orice formă de structură repetitivă
-aspecte specifice ale secvenței obținute conform cerinței (cât timp...execută, while... do etc.).
prin înlocuire, conform cerinței (**) 3p. (**) Se acordă câte 1p. pentru fiecare aspect
-algoritm complet, corectitudine globală a (inițializare contor, expresie logică pentru test inițial,
algoritmului1) 1p. actualizare contor) conform cerinței.
2. Răspuns corect 6p. Se acordă numai 1p. dacă doar ultimele 3 litere sunt
ARMONIA conform cerinței, numai 3p. dacă doar ultimele 4 litere
sunt conform cerinței, numai 5p. dacă doar ultimele 6
litere sunt conform cerinței.
3. Pentru răspuns corect 6p.
-acces la un câmp de pe primul nivel al
structurii 2p.
-acces la un câmp de pe al doilea nivel al
structurii 2p.
-atribuire a valorilor indicate pentru
datele angajatului precizat 1p.
-corectitudine globală a secvenței1) 1p.

Probă scrisă la INFORMATICĂ Varianta 4


Filieră teoretică, profil real, specializare matematică-informatică / matematică-informatică intensiv informatică
Filieră vocațională, profil militar, specializare matematică-informatică
Barem de evaluare și de notare
Pagina 1 din 2
Ministerul Educaţiei
Centrul Național de Politici și Evaluare în Educație
SUBIECTUL al III - lea (30 de puncte)
1. Pentru subprogram corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect al
-antet subprogram (*) 2p. antetului (structură, parametru de intrare) conform
-determinare a valorilor cerute (**) 4p. cerinței.
-afișare a datelor (***) 3p. (**) Se acordă câte 2p. pentru fiecare aspect
-declarare a tuturor variabilelor locale, (determinare/identificare a unui cub perfect, cuburi
corectitudine globală a subprogramului1) 1p. perfecte suport determinate) conform cerinței.
(***) Se acordă numai 1p. dacă valorile sunt afișate,
dar nu în ordinea cerută.
2. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect specific
-declarare a unei variabile care să (identificare a poziției elementelor situate pe diagonala
memoreze un tablou bidimensional 1p. principală, plasare pe linii a unor valori consecutive la
-citire a datelor 1p. stânga diagonalei principale, plasare pe linii a unor
-construire a tabloului conform cerinței (*) 6p. valori consecutive la dreapta diagonalei principale,
-afișare a datelor 1p. multipli ai lui k suport pe diagonala principală, valori
-declarare a variabilelor simple, suport plasate în afara diagonalei principale,
corectitudine globală a programului1) 1p. construire în memorie) conform cerinței.
3. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă algoritmul ales nu
-coerență a descrierii algoritmului (*) 1p. este eficient.
-justificare a elementelor de eficiență 1p. (**) Se acordă numai 3p. dacă algoritmul este
b) Pentru program corect 8p. principial corect, dar nu oferă rezultatul cerut pentru
-operații cu fișiere: declarare, pregătire în toate seturile de date de intrare.
vederea citirii, citire din fișier 1p. (***) Se acordă punctajul numai pentru un algoritm liniar.
-determinare a valorii cerute (*),(**) 5p. O soluţie posibilă utilizează un vector de frecvență v în
-utilizare a unui algoritm eficient (***) 1p. care vi reprezintă numărul de valori x din șirul A pentru
-declarare a variabilelor, afișare a care i=x%100 (i∈[0,99]). Vectorul v se actualizează pe
datelor, corectitudine globală a măsura parcurgerii celei de a doua linii a fișierului. Se
programului1) 1p. determină numărul cerut nr pe măsura parcurgerii
numerelor de pe a treia linie a fișierului: pentru fiecare
număr curent y din șirul B se determină ultimele două
cifre ale sale, c1 și c2 și numerele i și j, unde
i=c1*10+c2, iar j=c2*10+c1, apoi se adună la nr
valoarea vi și, dacă i≠j, se adună la nr și vj.

O altă soluție utilizează câte un vector de frecvență


pentru fiecare șir, va și vb, cu aceeași semnificație ca
mai sus. Vectorii se completează pe măsura citirii
fiecărui șir, iar numărul cerut se obține la final, prin
parcurgerea vectorului vb și pentru fiecare i∈[0,99], se
determină ultimele două cifre ale sale, c1 și c2 și
numărul j, unde j=c2*10+c1, apoi se adună la nr
valoarea vbi∙ vai și, dacă i≠j, se adună la nr și vbi∙ vaj.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la INFORMATICĂ Varianta 4


Filieră teoretică, profil real, specializare matematică-informatică / matematică-informatică intensiv informatică
Filieră vocațională, profil militar, specializare matematică-informatică
Barem de evaluare și de notare
Pagina 2 din 2
Ministerul Educației
Centrul Național de Politici și Evaluare în Educație

Examenul național de bacalaureat 2021


Proba E. d)
INFORMATICĂ
Limbajul C/C++
Varianta 1
Filieră teoretică, profil real, specializare științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă zece puncte din oficiu.


• Timpul de lucru efectiv este de trei ore.
• Identificatorii utilizați în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.

SUBIECTUL I (20 de puncte)


Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.
1. Indicați o expresie C/C++ care are valoarea 1 dacă și numai dacă valorile variabilelor întregi x și y
sunt numere pare.
a. x%2==0 && (y+1)%2!=0 b. (x-y)/2==0
c. (x+y)%2==0 && (x-y)%2==0 d. x%2==y%2
2. Tablourile unidimensionale A şi B au valorile A=(1,7,10,18,32) și B=(2,5,12,16,49) și se
interclasează în ordine crescătoare, fiind parcurse de la stânga la dreapta. Pentru a determina al 4-lea
element obținut în urma interclasării, se compară elementul cu valoarea xa din A cu elementul cu
valoarea xb din B. Indicați valorile lui xa și xb.
a. xa=7 și xb=5 b. xa=7 și xb=12 c. xa=10 și xb=16 d. xa=18 și xb=16
3. Variabilele întregi fa şi fb memorează numărătorul, respectiv numitorul unei fracţii. Indicați o secvenţă
de instrucțiuni C/C++ care să memoreze în variabilele întregi sa şi sb numărătorul, respectiv numitorul
2020
fracţiei obţinute prin scăderea fracţiei menţionate mai sus din fracția .
2021
a. sa=2020*fb-2021*fa; b. sa=2020*(fa-fb);
sb=fb*2021; sb=fb*2021;
c. sa=2020-fa; d. sa=2020/fb-2021/fa;
sb=fb*2021; sb=fb/2021;
4. Variabilele x și y sunt de tip real, x are valoarea 3.5, iar y are valoarea 7.2. Indicați expresia C/C++ a
cărei valoare este 3.
a. floor(-x-y) b. floor(x+y)
c. floor(x-y) d. floor(y-x)
5. Șirul lui Fibonacci are termenii 1, 1, 2, 3, 5, 8 …. while(x>0)
În secvența C/C++ alăturată toate variabilele sunt de tip întreg. Indicați { z=y-x;
expresia care poate înlocui punctele de suspensie, astfel încât, în urma y=x;
executării secvenţei obţinute, variabila z să aibă valoarea 1 dacă x=z;
numerele nenule memorate inițial în variabilele x și y (x<y) sunt termeni }
consecutivi ai șirului lui Fibonacci, sau valoarea 0 altfel. if(.........)z=1;
else z=0;
a. x==0 || y==1 b. x==1 || y==0
c. x==0 && y==1 d. x==1 && y==1

Probă scrisă la INFORMATICĂ Varianta 1


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Ministerul Educației
Centrul Național de Politici și Evaluare în Educație

SUBIECTUL al II-lea (40 de puncte)


1. Algoritmul alăturat este reprezentat în pseudocod. citește x,y
S-a notat cu ab operația de interschimbare a valorilor variabilelor (numere naturale nenule)
a și b. ┌dacă x>y atunci xy
└■
a. Scrieți ce se afișează în urma executării algoritmului dacă se citesc,
nr1
în această ordine, numerele 8 și 5. (6p.)
┌pentru iy,x,-1 execută
b. Dacă pentru variabila x se citește valoarea 10, scrieți două numere │ scrie 1
care pot fi citite pentru variabila y, astfel încât, în urma executării │┌dacă nr≥x atunci
algoritmului, pentru fiecare dintre acestea, cifra 2 să fie afișată doar ││ scrie 2
de trei ori. (6p.) │└■
│ nrnr*3
c. Scrieți programul C/C++ corespunzător algoritmului dat, fără a utiliza │ scrie 1
eventuale subprograme predefinite pentru interschimbare. (10p.) └■
d. Scrieți în pseudocod un algoritm echivalent cu cel dat, înlocuind structura pentru...execută cu o
structură repetitivă cu test inițial. (6p.)
2. Elementele unui tablou unidimensional sunt, în această ordine, (2,7,10,12,16,36,45). Pentru a
verifica dacă în tablou există elementul cu valoarea x=8, se aplică metoda căutării binare.
Scrieți succesiunea de elemente a căror valoare se compară cu valoarea lui x pe parcursul aplicării
metodei indicate. (6p.)
3. În secvenţa de mai jos toate variabilele sunt de tip întreg, iar de la tastatură se citesc 10 numere
naturale.
Scrieţi secvența înlocuind punctele de suspensie astfel încât, maxp=......;
în urma executării secvenţei obţinute, valoarea variabilei for(i=1;i<=10;i++)
maxp să fie egală cu cel mai mare dintre numerele citite care { cin>>x; | scanf(”%d”,&x);
sunt pare și au două cifre, sau să fie egală cu -1 dacă nu .............
există astfel de numere. (6p.) }

SUBIECTUL al III-lea (30 de puncte)


1. Se citește un număr natural n (n≥2) și se cere să se scrie suma divizorilor primi ai lui n care apar la o
putere impară în descompunerea în factori primi a acestuia.
Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate.
Exemple: pentru n=360, se scrie 7 (360=23∙32∙51, deci suma este 2+5), iar pentru n=16, se scrie 0.(10p.)
2. Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale din intervalul [1,102], n și
k, și cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [0,109].
Programul afișează pe ecran, separate prin câte un spațiu, primele k elemente ale tabloului care au
cifra unităților 0, sau doar mesajul nu exista dacă nu există k astfel de elemente.
Exemplu: pentru n=8, tabloul (23, 70, 61, 8, 0, 50, 742, 10) şi k=3,
se afișează pe ecran numerele 70 0 50 (10p.)
3. Numărul natural a se numește sufix al numărului natural b dacă a este egal cu b sau dacă b se poate
obține din a prin alipirea la stânga a unor noi cifre.
Fişierul bac.txt conţine pe prima linie un număr natural x (x[100,999]), iar pe a doua linie un şir de
cel mult 105 numere naturale din intervalul [0,109]. Numerele din şir sunt separate prin câte un spaţiu.
Se cere să se afișeze pe ecran ultimul termen al șirului care îl are drept sufix pe numărul x. Dacă nu
există un astfel de termen, se afișează pe ecran mesajul nu exista. Proiectați un algoritm eficient din
punctul de vedere al memoriei utilizate și al timpului de executare.
Exemplu: dacă fișierul conține 210
numerele alăturate, atunci pe 3445 210 893210 1245 1210 3210 15210 67120 20210 12
ecran se afișează 20210
a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Probă scrisă la INFORMATICĂ Varianta 1


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
Ministerul Educaţiei
Centrul Național de Politici și Evaluare în Educație
Examenul național de bacalaureat 2021
Proba E. d)
INFORMATICĂ

BAREM DE EVALUARE ȘI DE NOTARE


(comun pentru limbajele C/C++ și Pascal)
Varianta 1
Filieră teoretică, profil real, specializare științe ale naturii

• Se punctează orice modalitate de rezolvare corectă a cerinţelor.


• Nu se acordă punctaje intermediare, altele decât cele precizate explicit în barem. Nu se
acordă fracțiuni de punct. Se acordă zece puncte din oficiu. Nota finală se calculează prin
împărțirea la zece a punctajului total acordat pentru lucrare.
• Utilizarea unui tip de date care depășește domeniul de valori precizat în enunț (de exemplu
tipuri întregi cu semn pentru memorarea numerelor naturale, dimensiune a tablourilor) este
acceptată din punctul de vedere al corectitudinii programului, dacă acest lucru nu afectează
corectitudinea în funcționarea programului.

SUBIECTUL I (20 de puncte)


1a 2b 3a 4d 5c 5x4p.

SUBIECTUL al II - lea (40 de puncte)


1. a) Răspuns corect: 1111121121 6p. Se acordă numai 1p. dacă doar prima cifră este
conform cerinței, numai 2p. dacă doar primele două
cifre sunt conform cerinței, numai 3p. dacă doar
primele patru cifre sunt conform cerinței, numai 5p.
dacă doar primele șapte cifre sunt conform cerinței.
b) Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două
numere conform cerinței (6, 15).
c) Pentru program corect 10p. (*) Se acordă numai 1p. dacă doar una dintre
-declarare a variabilelor 1p. instrucțiunile de decizie este conform cerinței.
-citire a datelor 1p.
-afișare a datelor 1p.
-instrucțiuni de decizie (*) 2p.
-instrucțiune repetitivă 2p.
-implementare a operației de
interschimbare 1p.
-atribuiri precizate în algoritmul dat 1p.
1)
-corectitudine globală a programului 1p.
d) Pentru algoritm pseudocod corect 6p. (*) Se acordă punctajul chiar dacă algoritmul obținut
-utilizare a unei structuri repetitive cu test nu este echivalent cu cel dat.
inițial (*) 2p. Se va puncta orice formă explicită de structură
-aspecte specifice ale secvenței obținute repetitivă conform cerinței (cât timp...execută, while...
prin înlocuire, conform cerinței (**) 3p. do etc.).
-algoritm complet, corectitudine globală a (**) Se acordă câte 1p. pentru fiecare aspect
1)
algoritmului 1p. (inițializare contor, expresie logică pentru test inițial,
actualizare contor) conform cerinței.
2. Răspuns corect 6p. Se acordă numai 2p. dacă doar prima valoare este
12, 7, 10 conform cerinței și numai 4p. dacă doar primele două
valori sunt conform cerinței.
3. Pentru răspuns corect 6p. (*) Se acordă câte 1p. pentru fiecare aspect
-determinare a valorii cerute (*) 5p. (inițializare maxp, algoritm de bază pentru
1)
-corectitudine globală a secvenței 1p. determinarea unui maxim dintr-o serie de valori,
identificare a numerelor pare, identificare a numerelor
de două cifre, numere suport cu proprietatea dată
comparate) conform cerinței.

Probă scrisă la INFORMATICĂ Varianta 1


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 1 din 2
Ministerul Educaţiei
Centrul Național de Politici și Evaluare în Educație
SUBIECTUL al III - lea (30 de puncte)
1. Pentru algoritm corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-citire a datelor 1p. (identificare a unui divizor, identificare a unui
-determinare a valorii cerute (*) 6p. număr/divizor prim, identificare a puterii unui divizor în
-afișare a datelor 1p. descompunerea în factori primi, identificare a unei
-scriere principial corectă a structurilor de puteri impare, algoritm de bază pentru însumarea unei
control, corectitudine globală a serii de valori, valori suport însumate) conform
1)
algoritmului (**) 2p. cerinței.
(**) Se va puncta orice formă explicită de structură
repetitivă sau decizională.
2. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect specific
-declarare a unei variabile care să (parcurgere a unei serii de elemente ale tabloului,
memoreze un tablou unidimensional 1p. acces la ultima cifră a unui număr, identificare a unei
-citire a tuturor datelor 1p. cifre nule, algoritm de bază pentru numărarea unei
-determinare a valorilor cerute (*) 5p. serii de valori, valori suport numărate) conform
-afișare a datelor și tratare a cazului cerinței.
nu exista (**) 2p. (**) Se acordă numai 1p. dacă s-au afișat atât unele
-declarare a variabilelor simple, valori, cât și mesajul indicat.
1)
corectitudine globală a programului 1p.
3. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă algoritmul ales nu
-coerență a descrierii algoritmului (*) 1p. este eficient.
-justificare a elementelor de eficiență 1p. (**) Se acordă numai 3p. dacă algoritmul este
b) Pentru program corect 8p. principial corect, dar nu oferă rezultatul cerut pentru
-operații cu fișiere: declarare, pregătire în toate seturile de date de intrare.
vederea citirii, citire din fișier 1p. (***) Se acordă punctajul numai pentru un algoritm liniar
-determinare a valorii cerute (*),(**) 5p. care utilizează eficient memoria.
-utilizare a unui algoritm eficient (***) 1p. O soluţie posibilă citește prima valoare din fișier (x),
-declarare a variabilelor, afișare a apoi, pe măsura citirii celorlalte valori, memorează
datelor, corectitudine globală a 1p. valoarea curentă (crt), precum și ultimul număr cu
1)
programului proprietatea cerută (u, inițializat cu -1); u se
actualizează doar dacă crt mod 1000=x (u=crt).
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Probă scrisă la INFORMATICĂ Varianta 1


Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 2 din 2

S-ar putea să vă placă și