Textul subiectului și baremului
Subiect BAC Informatică Științe ale Naturii 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 științe ale naturii
Pagina 1 din 2
Examenul național de bacalaureat 2026
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. 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. Tabloul unidimensional A=(3,9,11,12,17) se interclasează cu tabloul unidimensional B, în ordine
crescătoare, elementele fiind parcurse de la stânga la dreapta. Știind că elementul cu valoarea 9 din tabloul
A se compară cu 4 elemente ale tabloului B pe parcursul aplicării metodei, indicați o succesiune de valori
care pot fi elementele tabloului B, în ordinea în care apar în acesta.
a. (4,5,6,7,8) b. (4,5,6,10,13) c. (4,7,10,12,13) d. (4,8,10,12,13)
3. Indicați valoarea expresiei C/C++ alăturate. ceil(20.26)
a. 21 b. 20 c. 0.26 d. 0.20
4. În secvența C/C++ alăturată toate variabilele sunt întregi. Indicați atribuirile
care pot înlocui punctele de suspensie astfel încât, în urma executării
secvenței obținute, variabila r să memoreze valoarea 226.
r=1; n=2; e=26;
while(e>0)
{ if(e%2==1) r=r*n;
......
}
a. n=n/2; e=e-1; b. n=n/2; e=e/2; c. n=n*n; e=e-1; d. n=n*n; e=e/2;
5. O agenție de turism pune la dispoziție pachete de vacanță cu câte două destinații, în ordinea următoare: una
la munte și una pe litoral. Destinațiile sunt din mulțimile {Bușteni - notat cu 1, Păltiniș - notat cu 2,
Predeal - notat cu 3}, pentru munte și {Venus - notat cu 1, Neptun - notat cu 2, Olimp - notat cu 3} pentru
litoral. Două pachete diferă prin cel puțin o destinație de un anumit tip. În secvența C/C++ de mai jos toate
variabilele sunt de tip întreg, iar în urma executării ei se obțin toate pachetele de tipul precizat, afișându-se pe
ecran notațiile corespunzătoare destinațiilor alese. Primele cinci pachete obținute sunt, în această ordine,
(Bușteni, Venus), (Bușteni, Neptun), (Bușteni, Olimp), (Păltiniș, Venus), (Păltiniș, Neptun).
Indicați pachetul corespunzător
soluției obținute imediat înainte de
(Predeal, Venus).
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
cout<<i<<" "<<j<<endl; | printf("%d %d\n",i,j);
a. (Predeal, Olimp) b. (Predeal, Neptun) c. (Păltiniș, Olimp) d. (Păltiniș, Neptun)
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.)Subiectul · 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 științe ale naturii Pagina 2 din 2 2. Pentru a verifica dacă în tabloul unidimensional (10,16,21,26,32,38,50) există elementul cu valoarea x, se aplică metoda căutării binare. Scrieți două valori naturale 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 26, 16, 21. (6p.) 3. La un observator astronomic, pentru o stea se înregistrează următoarele date: magnitudinea aparentă (număr real) și distanța față de Pământ, măsurată în ani-lumină (număr natural). Variabilele magnitudine și distanta memorează datele înregistrate pentru o stea. Declarați variabila magnitudine și scrieți o secvență de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran mesajul aproape, dacă distanța stelei față de Pământ este strict mai mică de 100 de ani-lumină, mesajul departe, dacă această distanță este mai mare sau egală cu 1000 de ani-lumină, sau mesajul medie, altfel. (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. Se citește un număr natural, n (n≥0), ale cărui cifre, de la stânga la dreapta, corespund modelelor, în ordinea prezentării lor, și se cere să se scrie numărul de ordine al primului costum prezentat. Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunțată. Exemplu: dacă n=576798 sau n=5700, atunci se scrie numărul 3. (10p.) 2. Scrieți un program C/C++ care citește de la tastatură un număr natural, n (n∈[2,50]), și un șir de n numere naturale din intervalul [0,102], elemente ale unui tablou unidimensional. Programul transformă tabloul în memorie, interschimbând elementul său de valoare minimă cu primul element al tabloului, dacă acest minim este par, sau cu ultimul element al tabloului, dacă acest minim este impar. Dacă în tablou sunt mai multe elemente de valoare minimă, se alege doar unul dintre acestea. Tabloul obținut este afișat pe ecran, cu elementele separate prin câte un spațiu. Exemplu: dacă n=6, pentru tabloul (8,6,2,2,7,4) se poate obține tabloul (2,6,8,2,7,4) iar pentru tabloul (8,6,1,2,7,4) se obține tabloul (8,6,4,2,7,1) (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 cu un pachet în plus față de dublul numărului de pachete livrate în luna precedentă, obținând astfel șirul numărului de pachete livrate: 0 3 7 15 31 63 127 255 .... Se citește de la tastatură un număr natural din intervalul [0,109], reprezentând numărul de pachete livrate de firma de curierat în ultima 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 citește valoarea 127, fișierul conține numerele: 127 63 31 15 7 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 ș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 4 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) 1d 2b 3a 4d 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. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două valori conform cerinței (orice număr natural din intervalul [17,25]). 3. Răspuns corect -declarare a variabilei, conform cerinței -afișare a datelor, conform cerinței (*) -corectitudine globală a secvenței1) 6p. 1p. 4p. 1p. (*) Se acordă câte 2p. pentru fiecare aspect (mesaje, corelare cazuri-mesaje) conform cerinței. SUBIECTUL al III - lea (30 de puncte) 1. Pentru algoritm corect -citire a datelor, conform cerinței -determinare a valorii cerute (*) -scriere a datelor, conform cerinței -scriere principial corectă a structurilor de control, corectitudine globală a algoritmului1) (**) 10p. 1p. 6p. 1p. 2p. (*) 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. (**) Se punctează 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 4 Filieră teoretică, profil real, specializare științe ale naturii Barem de evaluare și de notare Pagina 2 din 2 2. Pentru program corect -declarare a unei variabile care să memoreze un tablou unidimensional, 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 unui tablou, 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ă două valori corespunzătoare ultimelor două numere din șir (x, y în această ordine), care se actualizează la fiecare pas; inițial se afișează valoarea dată, apoi la fiecare pas se determină valoarea curentă (x) pe baza ultimului număr afișat (x=[(y-1)/2]), procedeu care se încheie după ce s-a afișat valoarea 3, apoi, după caz, se afișează 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.