Textul subiectului și baremului
Subiect BAC Informatică Mate-Info C/C++ 2026 – sesiunea specială, 20 mai 2026, varianta 4
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 4
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 4
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. Indicați expresia C/C++ a cărei valoare este egală cu 26.
a. (2026-26)/100 b. 2026/100 c. (2026-26)%100 d. 2026%100
2. Subprogramul f este definit alăturat. Indicați valoarea
f(1,10).
int f(int n,int m)
{ if(n>=m) return 0;
else return 1+f(n+1,m-2);
}
a. 1 b. 3 c. 5 d. 7
3. O agenție de turism pune la dispoziție pachete de vacanță cu câte trei destinații, în ordinea următoare: una
pe Clisura Dunării, una la munte și una pe litoral. Utilizând metoda backtracking, se generează toate
pachetele formate cu destinații din mulțimile ordonate astfel {Dubova, Eșelnița, Șvinița} pentru Clisura
Dunării, {Bușteni, Păltiniș, Predeal}, pentru munte și {Venus, Neptun, Olimp} pentru litoral. Două
soluții diferă prin cel puțin o destinație de un anumit tip. Primele cinci pachete generate sunt, în această
ordine, (Dubova, Bușteni, Venus), (Dubova, Bușteni, Neptun), (Dubova, Bușteni, Olimp),
(Dubova, Păltiniș, Venus), (Dubova, Păltiniș, Neptun). Indicați pachetul generat imediat înainte de
(Șvinița, Bușteni, Venus).
a. (Eșelnița, Bușteni, Venus) b. (Eșelnița, Predeal, Olimp)
c. (Svinița, Păltiniș, Olimp) d. (Svinița, Predeal, Olimp)
4. Un graf orientat cu 4 vârfuri, numerotate de la 1 la 4, este reprezentat prin matricea de
adiacență alăturată. Indicați un circuit elementar în acest graf.
0 1 1 0
1 0 1 0
0 0 0 1
1 1 0 0
a. 1, 2, 1, 3, 4, 1 b. 1, 2, 3, 4 c. 1, 3, 4, 2, 1 d. 1, 4, 3, 2, 1
5. O companie de logistică are o rețea formată din 12 centre, numerotate de la 1 la 12, între care există
comunicații bidirecționale, astfel: între 1 și 2, între 1 și 3, între 2 și 3, între 2 și 4, între 3 și 5, între 4 și 5,
între 4 și 6, între 5 și 6, între 6 și 7, între 7 și 8, între 7 și 9, între 8 și 9, între 9 și 10, între 10 și 11, între
10 și 12, între 11 și 12. Rețeaua este modelată ca un graf neorientat, în care nodurile reprezintă centrele,
iar muchiile reprezintă comunicațiile dintre acestea. Indicați numărul minim de muchii care trebuie eliminate,
astfel încât graful parțial obținut să fie format din trei componente conexe, fiecare cu câte 4 noduri.
a. 2 b. 4 c. 5 d. 7Subiectul · pagina 2
Ministerul Educației și Cercetării
Centrul Național pentru Curriculum și Evaluare
Probă scrisă la INFORMATICĂ Varianta 4
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)
nr0; d2
┌cât timp d*d≤n execută
│ p0
│┌cât timp n%d=0 execută
││ p1; n[n/d]
│└■
│ nrnr+p; dd+1
└■
┌dacă n≠1 atunci
│ nrnr+1
└■
scrie nr
a. Scrieţi valoarea afișată în urma executării algoritmului dacă se citeşte
numărul 2600. (6p.)
b. Scrieţi două numere din intervalul [10,99] care pot fi citite, astfel încât,
pentru fiecare dintre acestea, în urma executării algoritmului să se
afişeze 1. (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. Variabilele s și t permit memorarea câte unui șir de maximum 20 de caractere.
Scrieți valorile afișate în
urma executării secvenței
C/C++ alăturate. (6p.)
strcpy(s,"anatoliana"); strcpy(t,"ana");
cout<<strlen(s)<<' '; | printf("%d ",strlen(s));
if(strstr(s,t)==s) cout<<"DA "; | printf("DA ");
else cout<<"NU "; | printf("NU ");
if(strcmp(strstr(s+1,t),t)==0) cout<<"DA"; | printf("DA");
else cout<<"NU"; | printf("NU");
3. Variabila s memorează datele înregistrate la un observator astronomic: numărul de stele observate (număr
natural din intervalul [10,200]), precum și, pentru fiecare stea, magnitudinea aparentă (număr real) și
distanța în ani-lumină față de Pământ (număr natural din intervalul [1,106]). Știind că expresiile C/C++ de
mai jos au ca valori numărul de stele observate, magnitudinea aparentă a primei stele și distanța în ani-
lumină a acesteia față de Pământ, scrieți definiția unei structuri cu eticheta observator, care permite
memorarea datelor precizate, și declarați corespunzător variabila s.
s.numar s.stea[0].magnitudine s.stea[0].distanta (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. La o paradă de modă se prezintă modele de rochii și costume, iar ordinea acestora este dată ca o
succesiune de cifre, cele impare reprezentând rochii, iar cele pare costume; în prezentare este inclus cel
puțin un costum.
Subprogramul moda are doi parametri:
• n, prin care primește un număr natural din intervalul [0,109], ale cărui cifre, de la stânga la dreapta,
corespund modelelor, în ordinea prezentării lor;
• pc, prin care furnizează numărul de ordine al primului costum prezentat.
Scrieți definiția completă a subprogramului C/C++.
Exemplu: dacă n=576798 sau n=5700, atunci pc=3. (10p.)
2. Scrieți un program C/C++ care citește de la tastatură două numere naturale din intervalul [2,50], m și n, și
elementele unui tablou bidimensional cu m linii şi n coloane, numere naturale din intervalul [0,102].
Programul transformă tabloul în memorie, interschimbând, pentru fiecare coloană, elementul său de valoare
minimă cu primul element al coloanei, dacă acest minim este par, sau cu ultimul element al coloanei, dacă acest
minim este impar. Dacă pe o coloană sunt mai multe elemente de valoare minimă, se alege doar unul dintre
acestea. Tabloul obținut este afișat pe ecran, linie cu linie, de sus în jos, fiecare linie a tabloului pe câte o linie a
ecranului, cu elementele parcurse de la stânga la dreapta, separate prin câte un spațiu.
Exemplu: pentru m=4, n=5 și
tabloul alăturat
7 5 3 0 9
1 2 1 9 7
2 2 0 1 5
5 6 1 2 8
se poate obține
tabloul
7 2 0 0 9
5 5 1 9 7
2 2 3 1 8
1 6 1 2 5
(10p.)
3. La o firmă de curierat, în prima lună nu s-a livrat niciun pachet, în cea de-a doua lună s-au livrat 3 pachete,
apoi numărul de pachete livrate în fiecare lună a fost egal cu suma dintre numărul de pachete livrate în luna
precedentă și dublul valorii absolute a diferenței dintre numărul de pachete livrate în cele două luni
precedente, obținând astfel șirul numărului de pachete livrate: 0 3 9 21 45 93 189 381 ....
Se citesc de la tastatură două numere naturale din intervalul [0,109], reprezentând numărul de pachete
livrate de firma de curierat în ultima și respectiv penultima lună, și se cere să se scrie în fișierul bac.txt,
în ordine descrescătoare, separate prin câte un spațiu, numărul de pachete livrate în fiecare lună. Proiectați
un algoritm eficient din punctul de vedere al timpului de executare și al memoriei utilizate.
Exemplu: dacă se citesc valorile 189 și 93, fișierul conține numerele: 189 93 45 21 9 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.)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 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 Examenul național de bacalaureat 2026 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 sa. SUBIECTUL I (20 de puncte) 1d 2b 3b 4c 5c 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 dintre cele două numere conform cerinței (oricare două numere din intervalul indicat, de forma xk, unde x este număr prim și k>0). c. Pentru program corect -declarare a variabilelor -citire a datelor -afișare a datelor -instrucțiune de decizie -instrucțiuni repetitive (*) -atribuiri -corectitudine globală a programului1) 10p. 1p. 1p. 1p. 2p. 3p. 1p. 1p. (*) Se acordă numai 2p. dacă doar una dintre instrucțiunile repetitive este conform cerinței. d. Pentru algoritm pseudocod corect -utilizare a unei structuri repetitive de tipul cerut, înlocuind-o pe cea indicată (*) -aspecte specifice ale secvenței obținute 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 punctează orice formă de structură repetitivă explicită, conform cerinței. (**) Se acordă numai 2p. dacă doar un aspect specific (tratare a cazului inițial n%d=0, condiție finală de repetare/oprire) este conform cerinței. 2. Răspuns corect: 10 DA DA 6p. Se acordă câte 2p. pentru fiecare dintre cele trei valori conform cerinței. 3. Răspuns corect -definire a structurii/tipului cerut (*) -declarare a variabilei conform cerinței -corectitudine globală a secvenței1) 6p. 4p. 1p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect (definire de bază a unei structuri/înregistrări, etichetă/nume, câmp de tip simplu – numar, câmp de tip structurat – stea) conform cerinței. Se punctează câmpul de tip structurat, conform cerinței, atât dacă structura/înregistrarea corespunzătoare este definită înainte de structura/înregistrarea cerută, cât și dacă este definită în cadrul structurii/înregistrării cerute.
Baremul · pagina 2
Ministerul Educației și Cercetării Centrul Național pentru Curriculum și Evaluare 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 SUBIECTUL al III - lea (30 de puncte) 1. Pentru subprogram corect -antet al subprogramului (*) -determinare a valorii cerute (**) -declarare a tuturor variabilelor locale, corectitudine globală a subprogramului1) 10p. 3p. 6p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect al antetului (structură, parametru de intrare, parametru de ieșire) conform cerinței. (**) Se acordă câte 1p. pentru fiecare aspect (algoritm de bază pentru parcurgerea tuturor cifrelor unui număr, algoritm de bază pentru determinarea primei/ultimei apariții a unei valori într-o serie, algoritm de bază pentru numărarea unei serii de valori, identificare a unei cifre corespunzătoare unei rochii/costum, cifre suport verificate - inclusiv pentru cazul în care valorile pare sunt valori nule de la finalul numărului, poziție față de extremitatea din stânga) conform cerinței. 2. Pentru program corect -declarare a unei variabile care să memoreze un tablou bidimensional, conform cerinței -citire a datelor, conform cerinței -determinare a tabloului cerut (*) -afișare a datelor, conform cerinței -declarare a variabilelor simple, corectitudine globală a programului1) 10p. 1p. 1p. 6p. 1p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect specific (algoritm de bază pentru determinarea unui minim într-o serie de valori, determinare a poziției minimului, identificare a primului/ultimului element al unei coloane, interschimbare a două elemente, elemente suport interschimbate/păstrate, obținere a tabloului în memorie) conform cerinței. 3. a. Pentru răspuns corect -descriere coerentă a algoritmului (*) -justificare a elementelor de eficiență, conform cerinței 2p. 1p. 1p. (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient. (**) Se acordă numai 3p. dacă algoritmul parcurge pașii necesari rezolvării, dar cu detalii care conduc la o rezolvare parţială. (***) Se acordă punctajul numai pentru un algoritm liniar, care utilizează eficient memoria. O soluţie posibilă utilizează trei valori corespunzătoare ultimelor trei numere din șir (x, y, z, în această ordine), care se actualizează la fiecare pas; inițial se afișează, în ordinea cerută, valorile date, apoi la fiecare pas se determină valoarea curentă (x) pe baza valorilor ultimelor două numere afișate (x=[(3∙y-z)/2]), procedeu care se încheie după ce s-a afișat valoarea 0. b. Pentru program corect -operații cu fișiere: declarare, pregătire în vederea scrierii, scriere în fișier, conform cerinței -determinare a valorilor cerute (*),(**) -utilizare a unui algoritm eficient (***) -declarare a variabilelor, citire a datelor, corectitudine globală a programului1) 8p. 1p. 5p. 1p. 1p. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.