Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info 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 original

Subiectul · 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 matematică-informatică / matematică-informatică intensiv informatică
Filieră vocațională, profil militar, specializare matematică-informatică
Pagina 1 din 2
Examenul național de bacalaureat 2026
Proba E. d)
Informatică
Limbajul C/C++
Varianta 1
Filieră teoretică, profil real, specializare matematică-informatică / matematică-informatică intensiv informatică
Filieră vocațională, profil militar, specializare matematică-informatică
• 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ă.
• Î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. 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. Subprogramul alăturat, f, este incomplet definit.
Indicați o expresie cu care pot fi înlocuite punctele
de suspensie astfel încât, în urma apelului de mai
jos, să se afișeze, în ordine strict crescătoare,
primele 10 numere naturale nenule, separate prin
câte un spațiu.
f(10);
void f(int x)
{ if(......)
{ f(x-1);
cout<<x<<’ ’; | printf("%d ",x);
}
}
a. x<=10 b. x<=11 c. x>=2 d. x>=1
3. Variabila m memorează simultan, pentru o casă de marcat a unui
magazin, numărul de tipuri de bancnote prezente la sfârșitul zilei
(maximum 20) și, pentru fiecare tip, valoarea unei bancnote (număr
natural) și numărul de exemplare existente. Indicați expresia C/C++
care are valoarea egală cu suma de bani obținută cu bancnotele de
primul tip.
struct magazin
{ int nr;
int valoare[20];
int exemplare[20];
}m;
a. m[0].valoare*m[0].exemplare b. m.[0][valoare]*m.[0][exemplare]
c. m.valoare[0]*m.exemplare[0] d. m.[valoare.0]*m.[exemplare.0]
4. Utilizând metoda backtracking se generează toate posibilitățile de a selecta poezii ale autorilor din
mulțimea ordonată astfel: {Arghezi, Blaga, Coșbuc, Eminescu}. Două soluții diferă prin cel puțin un
autor. Primele patru soluții generate sunt, în această ordine: {Arghezi}, {Arghezi, Blaga},
{Arghezi, Blaga, Coșbuc}, {Arghezi, Blaga, Coșbuc, Eminescu}. Indicați a 5-a soluție generată.
a. {Arghezi, Blaga, Eminescu} b. {Arghezi, Coșbuc, Eminescu, Blaga}
c. {Blaga, Coșbuc, Eminescu} d. {Coșbuc, Eminescu}
5. Într-un arbore cu rădăcină, un nod se află pe nivelul x dacă lanțul elementar care are o extremitate în
nodul respectiv și cealaltă extremitate în rădăcina arborelui, are lungimea x. Pe nivelul 0 se află un
singur nod (rădăcina).
Se consideră următoarea operație prin care se transformă un arbore cu rădăcină: i se adaugă un nod
„frunză”, astfel încât acesta să aibă cel mult un nod „frate”, iar valoarea absolută a diferenței dintre
eticheta nodului adăugat și eticheta nodului său ascendent direct („tată”) să fie minimă.
Asupra unui arbore cu rădăcină, având inițial doar un nod, cu eticheta 4, se efectuează de șase ori,
succesiv, operația precizată, etichetele nodurilor adăugate fiind, în această ordine: 2, 3, 1, 5, 7, 6.
Indicați numărul minim de niveluri ale arborelui obținut.
a. 2 b. 3 c. 4 d. 5

Subiectul · 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 matematică-informatică / matematică-informatică intensiv informatică
Filieră vocațională, profil militar, specializare matematică-informatică
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)
s0; i1
┌cât timp s<n execută
│ ji; nr0
│┌cât timp j≠0 execută
││ nrnr+j%2; j[j/2]
│└■
│┌dacă nr=1 atunci
││ ss+i
│└■
│ ii+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. Un graf neorientat are 8 noduri și 10 muchii. Scrieți numărul de valori nenule și numărul de valori nule
din matricea de adiacență corespunzătoare grafului. (6p.)
3. Variabilele i și j sunt de tip întreg, iar variabila a memorează un tablou bidimensional cu 5 linii și 5
coloane, numerotate de la 1 la 5, cu elemente numere întregi.
Fără a utiliza alte variabile, scrieți secvența C/C++ de mai jos, înlocuind punctele de
suspensie cu instrucțiuni adecvate, dintre care cel mult trei atribuiri, astfel încât, în urma
executării secvenței obținute, tabloul memorat în variabila a să aibă elementele alăturate.
for(i=1;i<=5;i++)
for(j=1;j<=5;j++)
.................. (6p.)
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
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].
Subprogramul baza are doi parametri, n și b, prin care primește câte un număr natural (n∈[0,109],
b∈[2,10]). Subprogramul returnează valoarea 1, dacă n este reprezentat în baza b, sau -1, în caz contrar.
Scrieți definiția completă a subprogramului C/C++.
Exemplu: dacă n=32412 și b=8, subprogramul returnează valoarea 1, iar dacă n=32412 și b=3,
subprogramul returnează valoarea -1. (10p.)
2. Un text, de cel mult 200 de caractere, reprezintă o succesiune de date despre flori de tipuri distincte.
Pentru fiecare floare, textul conține câte o pereche formată, în această ordine, din denumire (un șir de
cel mult 20 de caractere, litere mici ale alfabetului limbii engleze) și o valoare naturală din intervalul
[1,9], reprezentând necesarul zilnic de lumină, dat în număr de ore; fiecare valoare din pereche este
urmată de câte un spațiu, ca în exemplu.
Scrieţi un program C/C++ care citeşte de la tastatură un text de tipul precizat și afișează pe ecran
denumirea florii cu cel mai mic necesar zilnic de lumină, iar dacă sunt mai multe astfel de flori, se alege
prima, în ordine alfabetică.
Exemplu: dacă se citește textul lavanda 7 impatiens 3 iris 5 dalie 6 begonie 3 petunie 7
se afișează pe ecran begonie (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 unei succesiuni de biți, aflați pe poziții consecutive în șir, dintre care doar unul este 0. 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 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 1 1 0
se afișează pe ecran 0 1 1 1 1 1 1 1 sau 1 1 1 1 1 1 1 0 sau 1 1 1 0 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 original

Baremul · 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 matematică-informatică / matematică-informatică intensiv informatică
Filieră vocațională, profil militar, specializare matematică-informatică
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 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 sa.
SUBIECTUL I (20 de puncte)
1b 2d 3c 4a 5b 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. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două
valori conform cerinței:
20 de valori nenule
44 de valori nule
3. Pentru rezolvare corectă
- expresie de accesare a unui element al
tabloului
- valori ale elementelor tabloului atribuite
conform cerinței (*)
- secvență completă, corectitudine globală
a secvenței1)
6p.
1p.
4p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect (identificare a
cel puțin unei relații între valoarea elementului și poziția
acestuia în tablou, valori suport în corelare cu pozițiile
elementelor utilizând numărul indicat de instrucțiuni de
atribuire) conform cerinței.

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 matematică-informatică / matematică-informatică intensiv informatică
Filieră vocațională, profil militar, specializare matematică-informatică
Barem de evaluare și de notare
Pagina 2 din 2
SUBIECTUL al III - lea (30 de puncte)
1. Pentru subprogram corect
- antet al subprogramului, conform
cerinței (*)
- proprietate verificată, conform cerinței
(**)
- instrucțiune/instrucțiuni de returnare a
rezultatului, conform cerinței
- variabile locale declarate conform
cerinței, corectitudine globală a
subprogramului1)
10p.
2p.
6p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect al antetului
(structură, parametri de intrare) conform cerinței.
(**) 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.
2. Pentru program corect
- variabilă care să permită memorarea
șirului de caractere dat, declarată
conform cerinței
- date citite conform cerinței
- denumire determinată conform cerinței
(*)
- date afişate, conform cerinței
- variabile simple, alte variabile de tip șir
de caractere 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 denumirii 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 denumirea 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 trei termeni nuli
(p1, p2, p3, î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, p3m). La citirea fiecărui număr se
actualizează pcrt, iar la fiecare apariție a unei valori
nule se actualizează p1, p2 și p3, în funcție de poziția
curentă, și, după caz, p1m, p2m și p3m (dacă
p3-p1>p3m-p1m). La final se afișează p2m-p1m-1 valori
1, urmate de un 0, apoi de alte p3m-p2m-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.