Textul subiectului și baremului
Subiect BAC Informatică Științe ale Naturii C/C++ 2026 – sesiunea iunie–iulie, 2 iulie 2026, varianta 3
Acesta este textul selectabil extras automat din documentele PDF ale acestei variante. Pentru formule, tabele, pseudocod sau grafice, verifică pagina originală din PDF înainte de a rezolva exercițiile.
Subiectul
Deschide PDF-ul originalSubiectul · pagina 1
Ministerul Educaţiei și Cercetării
Centrul Naţional pentru Curriculum şi Evaluare
Probă scrisă la informatică Varianta 3
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 3
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 întregi. Indicați o expresie C/C++ care are valoarea 1 dacă și numai dacă
numerele naturale memorate în variabilele x și y au aceeași paritate.
a. (x*y)%2==0 b. x%2==0 && y%2==0
c. (x+y)%2==0 d. !(x%2==y%2)
2. Tablourile unidimensionale A și B au valorile A=(27,12,10,7,5,3,1) și B=(49,36,25,9,3,2) și
sunt interclasate în ordine descrescătoare, fiind parcurse de la stânga la dreapta. Indicați numărul total
de comparații între elementele tablourilor efectuate până la includerea valorii 12 în șirul obținut prin
interclasare.
a. 1 b. 3 c. 5 d. 7
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=0;i<5;i++)
{ for(j=0;j<5;j++)
if(j%2==0)cout<<5*j+i<<” ”; | printf(”%d ”,5*j+i);
else cout<<......<<” ”; | printf(”%d ”,.....);
cout<<endl; | printf(”\n”);
}
0 9 10 19 20
1 8 11 18 21
2 7 12 17 22
3 6 13 16 23
4 5 14 15 24
a. 5*j+4-i b. 5*j-i c. 4*j+4-i d. 4*j-i
4. Indicați o expresie C/C++ care are valoarea 1 dacă și numai dacă numărul memorat în variabila
întreagă x aparține reuniunii de intervale [-3,-1]∪[1,3].
a. abs(x)<=3 || x!=0 b. abs(x)>=1 && abs(x)<=3
c. abs(x-3)>=1 d. abs(x-1)>=3
5. În secvența alăturată toate variabilele sunt de tip întreg. Indicați
constanta cu care pot fi înlocuite punctele de suspensie astfel
încât, în urma executării secvenței obținute, variabila ok să aibă
valoarea 1 dacă și numai dacă numărul natural memorat în
variabila n este prim.
if(n%2==0)
if(n==2)ok=1;
else ok=0;
else
{ d=......; ok=1;
while (ok==1 && d*d<=n)
if(n%d==0) ok=0;
else d=d+2;
}
a. 0 b. 1 c. 2 d. 3Subiectul · pagina 2
Ministerul Educaţiei și Cercetării Centrul Naţional pentru Curriculum şi Evaluare Probă scrisă la informatică Varianta 3 Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 2 din 2 SUBIECTUL al II-lea (40 de puncte) 1. Se consideră algoritmul alăturat, reprezentat în pseudocod. citește n (număr natural nenul) s0; x0; p1 ┌repetă │ citește y (număr natural nenul) │┌dacă y>x atunci ││ ss+y; xy ││altfel ││┌dacă x=y atunci ss-y ││└■ │└■ │ pp+1 └până când p>n scrie s a. Scrieți valorea afișată dacă se citesc, în această ordine, numerele 8, 3, 1, 5, 2, 4, 5, 5, 7. (6p.) b. Dacă pentru n se citește numărul 3, scrieți un set de date care pot fi citite în continuare, astfel încât, în urma executării algoritmului, să se afișeze 0. (6p.) c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.) d. Scrieți în pseudocod un algoritm, echivalent cu cel dat, înlocuind structura repetitivă cu o structură de tip pentru...execută. (6p.) 2. Pentru a verifica dacă în tabloul unidimensional (5,7,15,19,21,23,25) există elementul cu valoarea x, se aplică metoda căutării binare. Scrieți mulțimea tuturor valorilor întregi posibile ale lui x, astfel încât succesiunea de elemente ale tabloului a căror valoare se compară cu valoarea lui x pe parcursul aplicării metodei indicate să fie 19, 23, 21. (6p.) 3. Variabilele întregi p și r memorează primul termen, respectiv rația unei progresii aritmetice. Știind că diferența dintre un termen al progresiei și termenul anterior este egală cu rația, scrieți o instrucțiune C/C++ prin care i se atribuie variabilei întregi t valoarea celui de al 3-lea termen al progresiei. (6p.) SUBIECTUL al III-lea (30 de puncte) 1. Numim număr uniform asociat unei valori naturale numărul obținut din aceasta prin eliminarea fie a tuturor cifrelor sale pare, fie a tuturor cifrelor sale impare. Exemplu: lui 19472 i se asociază numerele uniforme 197 și 42. Se citește un număr natural cu toate cifrele nenule, n, având cel puțin o cifră pară și cel puțin o cifră impară, și se cere să se scrie un număr obținut din cifrele numărului uniform impar asociat lui n, urmate de cifrele numărului uniform par asociat lui n, ca în exemplu. Scrieţi, în pseudocod, algoritmul de rezolvare a problemei enunțate. Exemplu: dacă n=19472, se scrie numărul 19742. (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 întregi nenule din intervalul [-109,109]. Programul afișează pe ecran mesajul alterneaza dacă în tablou nu există două numere pozitive sau două numere negative pe poziții consecutive, sau mesajul nu alterneaza în caz contrar. Exemplu: pentru n=5 și tabloul (-32,15,-7,16,-20) se afișează mesajul alterneaza iar pentru n=5 și tabloul (-32,15,-7,16,20) se afișează mesajul nu alterneaza (10p.) 3. De-a lungul timpului, o persoană a participat la mai multe concursuri de șah și de go. Un rezultat motivant corespunde unei poziții mai bune (cu un număr mai mic) în clasamentul unui concurs, comparativ cu poziția obținută la concursul anterior de același tip. Fișierul bac.txt conține un șir de cel mult 104 numere naturale, reprezentând rezultatele obținute la concursurile la care a participat, în ordine cronologică: pentru fiecare dintre rezultate, câte o pereche formată din poziția ocupată în clasamentul concursului corespunzător (un număr din intervalul [1,300]), urmată de valoarea 1, dacă acesta a fost concurs de șah, sau de valoarea 2, dacă acesta a fost concurs de go. Fiecare pereche se află pe câte o linie a fișierului, cu valorile separate printr-un spațiu. Se cere să se afișeze pe ecran numărul de rezultate motivante obținute la concursurile de șah. 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 alăturate, pe ecran se afișează 3 pentru că la șah a obținut trei rezultate motivante (poziția 3 după poziția 7, poziția 1 după poziția 5 și poziția 1 după poziția 2). 6 1 8 2 7 1 5 2 3 1 4 1 5 1 1 2 4 2 1 1 2 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 3 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 3 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) 1c 2c 3a 4b 5d 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a. Răspuns corect: 5 6p. b. Pentru răspuns corect 6p. Se acordă numai 2p. dacă s-au precizat 3 numere, dar nu conform cerinței (orice set de numere naturale nenule de forma x,x,y sau x,y,x cu proprietatea că y<x). c. Pentru program corect - variabile declarate, conform cerinței - date citite, conform cerinței - date afișate, conform cerinței - instrucţiune repetitivă, conform cerinței - instrucțiuni de decizie, conform cerinței (*) - atribuiri, conform cerinței - corectitudine globală a programului1) 10p. 1p. 1p. 1p. 2p. 3p. 1p. 1p. (*) Se acordă numai 2p. dacă doar una dintre instrucțiunile de decizie este conform cerinței. d. Pentru algoritm pseudocod corect - structură repetitivă de tipul cerut (*) - 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 va puncta orice formă de structură repetitivă conform cerinței (pentru...execută, for...do etc.). (**) Se acordă câte 1p. pentru fiecare aspect specific (expresie inițială pentru contor, expresie finală pentru contor, doar actualizare automată a contorului) conform cerinței. 2. Răspuns corect: 20, 21, 22 6p. Se acordă câte 2p. pentru fiecare dintre cele trei numere conform cerinței. 3. Pentru rezolvare corectă - valoare determinată, conform cerinței (*) - atribuire a unei valori variabilei indicate - corectitudine globală a secvenței1) 6p. 4p. 1p. 1p. (*) Se acordă numai 2p. dacă s-a determinat un termen al progresiei, dar nu cel indicat. SUBIECTUL al III - lea (30 de puncte) 1. Pentru algoritm corect - date citite, conform cerinței - valoare determinată 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 1p. pentru fiecare aspect (algoritm de bază de parcurgere a cifrelor unui număr, algoritm de bază de obținere a unui număr pe baza unor cifre, cifre suport impare în numărul uniform/numărul obținut, cifre suport pare în numărul uniform/numărul obținut, ordine a cifrelor pare/impare în cadrul numărului uniform/secvenței de cifre cu aceeași paritate, ordine a secvențelor de cifre impare/pare în cadrul numărului cerut) 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 3 Filieră teoretică, profil real, specializare științe ale naturii Barem de evaluare și de notare Pagina 2 din 2 2. Pentru program corect - variabilă de tip tablou unidimensional, declarată conform cerinței - date citite, conform cerinței - proprietate verificată conform cerinței (*) - mesaj afișat, 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 (algoritm de bază pentru verificarea unei proprietăți, identificare a unui număr pozitiv/negativ, accesare a unor valori aflate pe poziții consecutive, identificare a unei perechi de numere pozitive pe poziții consecutive, identificare a unei perechi de numere negative pe poziții consecutive, valori suport verificate) 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 datelor, numărul cerut (ns) și memorează poziția în clasamentul ultimului concurs de șah (ups, inițializată cu -1); la fiecare pas se citesc câte două valori, p și c, și după caz, se incrementează ns (dacă c=1 și p<ups) și se actualizează ups (dacă c=1). b. Pentru program corect - operaţii cu fişiere: declarare, pregătire în vederea citirii, citire din fişier - valoare determinată, conform cerinței (*),(**) - eficiență a algoritmului, conform cerinței (***) - variabile declarate, afișare a datelor conform cerinței, corectitudine globală a programului1) 8p. 1p. 5p. 1p. 1p. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.