Textul subiectului și baremului
Subiect BAC Informatică Științe ale Naturii C/C++ 2026 – sesiunea august–septembrie, 12 august 2026, varianta 1
Acesta este textul selectabil extras automat din documentele PDF ale acestei variante. Pentru formule, tabele, pseudocod sau grafice, verifică pagina originală din PDF înainte de a rezolva exercițiile.
Subiectul
Deschide PDF-ul originalSubiectul · pagina 1
Ministerul Educaţiei și Cercetării
Centrul Naţional pentru Curriculum şi Evaluare
Probă scrisă la informatică Varianta 1
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Examenul național de bacalaureat 2026
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. Variabila x este de tip întreg și memorează un număr natural nenul. Indicați o expresie C/C++ care are
valoarea 1 dacă și numai dacă valoarea variabilei x este divizibilă cu 26, dar NU este divizibilă cu 2026.
a. !(x%26!=0) || x%2026!=0 b. !(x%26!=0) && !(x%2026==0)
c. !(x%26==0 || x%2026==0) d. !(x%26!=0 && x%2026!=0)
2. În secvenţa de instrucţiuni C/C++ de mai jos toate variabilele sunt de tip întreg.
for(i=1;i<=5;i++)
{ for(j=1;j<=5;j++)
if(i%2==0) cout<<3*(j%2)<<′ ′; | printf(″%d ″,3*(j%2));
else cout<<......<<′ ′; | printf(″%d ″,......);
cout<<endl; | printf(″\n″);
}
2 3 2 3 2
3 0 3 0 3
2 3 2 3 2
3 0 3 0 3
2 3 2 3 2
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.
a. (i+j)%2 b. i%2+j%2 c. 2+(i+1)%2 d. 2+(j+1)%2
3. Pentru a verifica dacă într-un tablou unidimensional cu 7 elemente există elementul cu valoarea x=23,
se aplică metoda căutării binare. Indicați un exemplu de elemente ale tabloului, în ordinea în care ele
apar în acesta, astfel încât succesiunea de elemente ale căror valori se compară cu valoarea lui x pe
parcursul aplicării metodei indicate să fie 49, 21, 23.
a. (-10,-8,15,49,23,21,50) b. (-49,49,-21,21,-23,23,-95)
c. (-10,21,23,49,50,70,95) d. (21,22,23,49,53,70,95)
4. Variabilele x și y sunt de tip întreg și memorează valori din intervalul [-102,102].
Indicați o expresie C++ echivalentă cu cea alăturată.
pow(x+y,2)
a. pow(x,2)+pow(y,2)+2*x*y
b. 2*pow(x,1)+2*pow(y,1)+x*y
c. pow(x,2)+pow(y,2)
d. pow(2,x+y)
5. În secvența alăturată toate variabilele sunt întregi și memorează valori
strict pozitive. Indicați o expresie care poate înlocui punctele de
suspensie, astfel încât, în urma executării secvenţei obţinute, variabila z
să memoreze cel mai mic multiplu comun al valorilor memorate în
x0 şi y0.
x=x0; y=y0; z=x*y;
while(x!=y)
if(x>y)x=x-y;
else y=y-x;
z=.......;
a. (x+y)/2 b. x/z c. z/y d. z-xSubiectul · pagina 2
Ministerul Educaţiei și Cercetării
Centrul Naţional pentru Curriculum şi Evaluare
Probă scrisă la informatică Varianta 1
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
SUBIECTUL al II-lea (40 de puncte)
1. Algoritmul alăturat este reprezentat în pseudocod.
S-a notat cu a%b restul împărțirii numărului natural a la numărul natural
nenul b și cu [c] partea întreagă a numărului real c.
citește n
(număr natural nenul)
s0; i1
┌cât timp s<n execută
│ ji; nr0
│┌cât timp j≠0 execută
││ nrnr+j%2; j[j/2]
│└■
│┌dacă nr=1 atunci
││ ss+i
│└■
│ ii+1
└■
scrie s
a. Scrieți valoarea afișată dacă se citește numărul 10. (6p.)
b. Scrieți două valori care pot fi citite astfel încât, în urma executării
algoritmului, pentru fiecare dintre acestea, numărul afișat să fie 31. (6p.)
c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.)
d. 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.)
2. Tabloul C este obţinut prin interclasarea descrescătoare a elementelor din tablourile unidimensionale
A=(128,78,8,5,3) şi B=(78,18,10,6,4,1), parcurse de la stânga la dreapta, la fiecare pas
avându-se în vedere o pereche de elemente (x,y), unde x este un element din A, iar y este un
element din B. Scrieţi perechile avute în vedere, în ordinea prelucrării, pentru determinarea celui de al
cincilea, respectiv a celui de al șaselea element obținut în C. (6p.)
3. La sfârșitul unei zile, într-o casă de marcat a unui magazin sunt două tipuri de bancnote, de valori
(cupiuri) cunoscute, din fiecare tip fiind prezente un anumit număr de exemplare.
Variabilele întregi v1 și n1 memorează cupiura, respectiv numărul de exemplare ale primului tip de
bancnotă, iar variabilele întregi v2 și n2 memorează cupiura, respectiv numărul de exemplare ale celui
de al doilea tip de bancnotă.
Scrieţi o secvenţă de instrucțiuni C/C++ în urma executării căreia se afişează pe ecran suma totală de
bani prezentă în casa de marcat. (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. Un număr este reprezentat în baza b dacă cifrele sale aparțin intervalului [0,b-1].
Se citesc două numere naturale, n și b (b∈[2,10]), și se cere să se scrie 1, dacă n este reprezentat în baza
b, sau -1 în caz contrar.
Scrieţi, în pseudocod, algoritmul de rezolvare a problemei enunțate.
Exemplu: dacă n=32412 și b=8, se scrie 1, iar dacă n=32412 și b=3, se scrie -1. (10p.)
2. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈[2,50]), apoi un șir de
2∙n valori, elemente ale unui tablou unidimensional, numere naturale, reprezentând date despre n flori,
de tipuri diferite. Pentru fiecare floare, tabloul memorează, pe poziții consecutive, în această ordine,
codul ei (un număr din intervalul [10,102]) și o valoare naturală din intervalul [1,9], reprezentând
necesarul zilnic de lumină, dat în număr de ore. Programul afișează pe ecran codul florii cu cel mai mic
necesar de lumină, iar dacă sunt mai multe astfel de flori, se alege cea care are codul cel mai mic.
Exemplu: pentru n=6 și tabloul (20,7,17,3,60,5,92,6,15,3,49,7)
se afișează pe ecran 15 (10p.)
3. În cadrul testării unor echipamente de comunicații se transmite un șir de biți (0 sau 1), care conține cel
puțin un bit 1, iar atât primul cât și ultimul bit sunt 0. Șirul conține cel puțin un mesaj de avertisment de
forma unui bit 1 sau a unei succesiuni de biți 1, aflați pe poziții consecutive în șir. Lungimea mesajului
este egală cu numărul biților care îl compun.
Fișierul bac.txt conține cel mult 106 numere naturale din mulțimea {0,1}, reprezentând șirul de biți
transmis. Numerele sunt separate prin câte un spațiu. Se cere să se afișeze pe ecran biții care compun
cel mai lung mesaj de avertisment din șirul aflat în fișier. Dacă există mai multe astfel de mesaje, se
afișează doar biții unuia dintre acestea. Biții afișați sunt separați prin câte un spațiu. 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 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 0
se afișează pe ecran 1 1 1 1 1 1 1 1
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.)Baremul
Deschide PDF-ul originalBaremul · pagina 1
Ministerul Educaţiei și Cercetării Centrul Naţional pentru Curriculum şi Evaluare 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 Examenul național de bacalaureat 2026 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ă funcționarea sa. SUBIECTUL I (20 de puncte) 1b 2d 3c 4a 5c 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a. Răspuns corect: 15 6p. b. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două valori precizate conform cerinței (oricare dintre numerele naturale din intervalul [16,31]). c. Pentru program corect - variabile declarate, conform cerinței - date citite, conform cerinței - date afișate, conform cerinței - instrucţiuni repetitive, conform cerinței (*) - instrucțiune de decizie, conform cerinței - atribuiri, conform cerinței - corectitudine globală a programului1) 10p. 1p. 1p. 1p. 3p. 2p. 1p. 1p. (*) Se acordă numai 2p. dacă doar una dintre instrucțiunile repetitive este conform cerinței. d. Pentru algoritm pseudocod corect - structură repetitivă de tipul cerut (*) - expresie logică pentru test final în secvența obținută prin înlocuire, conform cerinței - algoritm complet, corectitudine globală a algoritmului1) 6p. 2p. 3p. 1p. (*) Se acordă punctajul chiar dacă algoritmul obținut nu este echivalent cu cel dat. Se va puncta orice formă de structură repetitivă conform cerinței (repetă...până când, repetă...cât timp, execută...cât timp, do...while, repeat...until etc.). 2. Răspuns corect: (8,10) (8,6) 6p. Se acordă câte 3p. pentru fiecare dintre cele două perechi conform cerinței. 3. Pentru rezolvare corectă - valoare determinată, conform cerinței (*) - date afișate, conform cerinței - corectitudine globală a secvenței1) 6p. 4p. 1p. 1p. (*) Se acordă câte 2p. pentru fiecare aspect (determinare a valorii totale pentru un tip de cupiură, sumă a valorilor corespunzătoare cupiurilor) conform cerinței. SUBIECTUL al III - lea (30 de puncte) 1. Pentru algoritm corect - date citite, conform cerinței - proprietate verificată, conform cerinței (*) - date scrise, conform cerinței - structuri de control scrise principial corect, corectitudine globală a algoritmului1) (**) 10p. 1p. 6p. 1p. 2p. (*) Se acordă câte 2p. pentru fiecare aspect specific (algoritm de bază de parcurgere a cifrelor unui număr, identificare a unei cifre corespunzătoare / necorespunzătoare bazei, algoritm de bază pentru verificarea unei proprietăți) conform cerinței. (**) Se va puncta orice formă explicită de structură repetitivă sau decizională.
Baremul · pagina 2
Ministerul Educaţiei și Cercetării Centrul Naţional pentru Curriculum şi Evaluare 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 2. Pentru program corect - variabilă care să permită memorarea unui tablou unidimensional, declarat conform cerinței - date citite conform cerinței - cod determinat conform cerinței (*) - date afişate, conform cerinței - variabile simple declarate conform cerinței, corectitudine globală a programului1 10p. 1p. 1p. 6p. 1p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect specific (identificare a codului unei flori, identificare a numărului de ore specific unei flori, algoritm de bază pentru determinarea unui minim într-o serie de valori, termeni suport comparați pentru determinarea minimului, corelare între codul florii și numărul minim specific de ore determinat, tratare a cazului cu mai multe flori cu același număr minim specific de ore) conform cerinței. 3. a. Pentru răspuns corect - descriere coerentă a algoritmului, conform cerinței (*) - elemente de eficienţă justificate, conform cerinței 2p. 1p. 1p. (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient. (**) Se acordă numai 3p. dacă algoritmul parcurge toți pașii necesari rezolvării, dar cu detalii care nu conduc la rezultatul cerut. (***) Se acordă punctajul numai pentru un algoritm liniar, care utilizează eficient memoria. O soluție posibilă determină, pe măsura citirii din fișier, poziția curentă (pcrt), pozițiile ultimilor doi termeni nuli (p1, p2, în această ordine, inițializate cu 0), precum și pozițiile termenilor nuli care permit identificarea secvenței de lungime maximă cu proprietatea căutată (p1m, p2m, inițializate cu 0). La citirea fiecărui număr se actualizează pcrt, iar la fiecare apariție a unei valori nule se actualizează p1 și p2, în funcție de poziția curentă, și, după caz, p1m și p2m (dacă p2-p1>p2m- p1m). La final se afișează p2m-p1m-1 valori 1. b. Pentru program corect - operaţii cu fişiere: declarare, pregătire în vederea citirii, citire din fişier - valori determinate, conform cerinței (*),(**) - eficiență a algoritmului, conform cerinței (***) - variabile declarate, date afișate conform cerinței, corectitudine globală a programului1) 8p. 1p. 5p. 1p. 1p. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.