Textul subiectului și baremului
Simulare BAC Informatică Științe ale Naturii C/C++ 2026 – 25 martie 2026
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Ă Simulare
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++
Simulare
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. Indicați o expresie care are valoarea 1 dacă
și numai dacă expresia C/C++ alăturată are valoarea 1.
x<=20 || x>26
a. !(x>20) || !(x<=26) b. !(x>=20) && !(x>=26)
c. !(x<20 || x<=26) d. !(x<20 && x<26)
2. Pentru a verifica dacă în tabloul unidimensional (5,10,14,16,19,21,26) există elementul cu valoarea
x, număr natural, se aplică metoda căutării binare. Indicați mulțimea tuturor valorilor 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 16, 21, 19.
a. {19} b. {18,20} c. {18,19,20} d. {17,18,19,20}
3. Indicați valoarea expresiei C/C++ alăturate. abs(25-3-2026)
a. -2054 b. -2004 c. 2004 d. 2054
4. O probă a unui examen începe la ora 9:00, iar variabila întreagă p memorează durata probei, în minute.
Indicați secvența C/C++ care atribuie variabilelor întregi h și m, ora, respectiv minutul la care se încheie
proba, în aceeași zi.
a. h=9+p%60; m=p/60; b. h=9+p/60; m=p%60;
c. h=(9+p)%24; m=p/60; d. h=(9+p)/24; m=p%60;
5. La balul absolvenților se acordă trei premii pe baza unei tombole cu 10 bilete, numerotate de la 1 la 10.
Variabilele i, j și k sunt de tip întreg, iar secvența de instrucțiuni C/C++ de mai jos generează toate variantele
de a alege biletele celor trei câștigători, care sunt anunțați în ordine descrescătoare a numerelor de pe bilete.
Două soluții diferă prin cel puțin un bilet. Indicați penultima soluție generată.
for(i=10;i>=3;i--)
for(j=i-1;j>=2;j--)
for(k=j-1;k>=1;k--)
cout<<i<<" "<<j<<" "<<k<<endl; | printf("%d %d %d\n",i,j,k);
a. (5,2,1) b. (4,3,2) c. (4,3,1) d. (4,2,1)
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)
x0; y0; p1
┌repetă
│ cn%10; n[n/10]
│┌dacă c%2=0 atunci
││ xx*10+c
││ yc*p+y; pp*10
│└■
└până când n=0
┌dacă x<y atunci scrie x
│altfel scrie y
└■
a. Scrieţi ce se afișează în urma executării algoritmului dacă se citeşte
numărul 250326. (6p.)
b. Scrieţi două numere din intervalul [1000,9999] care pot fi citite, astfel
încât, pentru fiecare dintre acestea, în urma executării algoritmului, să se
afişeze valoarea 64. (6p.)
c. Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)
d. Scrieţi în pseudocod un algoritm, echivalent cu cel dat, înlocuind adecvat
structura repetă...până când cu o structură repetitivă cu test inițial.
(6p.)Subiectul · pagina 2
Ministerul Educației și Cercetării Centrul Național pentru Curriculum și Evaluare Probă scrisă la INFORMATICĂ Simulare Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 2 din 2 2. Tablourile unidimensionale A=(26,19,16,8,4) și B=(50,15,12,3,1) sunt interclasate în ordine crescătoare, fiind parcurse de la dreapta la stânga. Scrieți toate valorile elementelor tabloului B care se compară cu elementul cu valoarea 16 din tabloul A pe parcursul aplicării metodei. (6p.) 3. Un mozaic este alcătuit din mai multe plăcuțe de formă pătrată, cu dimensiuni egale, de culoare albă sau roșie, așezate pe un rând și aliniate ca în exemplu. Mozaicul are un model alternativ dacă oricare două plăcuțe cu o latură comună au culoare diferită. Variabilele x1, x2 și x3 memorează câte o literă corespunzătoare primelor trei plăcuțe din mozaic, în această ordine, notându-se cu litera R cele roșii și cu litera A cele albe. Declarați variabilele x1, x2 și x3 și scrieți o secvență de instrucțiuni C/C++ în urma executării căreia să se afișeze mesajul alternativ, dacă cele trei plăcuțe respectă modelul alternativ al mozaicului, sau mesajul neconform, în caz contrar. Exemplu: pentru mozaicul alăturat, unde sunt evidențiate două zone în care nu se respectă modelul, variabilele x1, x2 și x3 memorează literele A, R, respectiv A, și se afișează pe ecran mesajul alternativ (6p.) A R A A R A R A R R R A SUBIECTUL al III-lea (30 de puncte) 1. Într-un depozit se montează un raft cu trei polițe de aceeași lungime și de lățimi x, y respectiv z. Pe fiecare poliță se plasează, una lângă alta, cutii de forma unui cub cu latura egală cu lățimea poliței. În depozit există suficiente cutii de fiecare tip, iar raftul este echilibrat doar dacă fiecare poliță este ocupată complet de cutii. Se citesc trei numere naturale din intervalul [10,100], x, y și z, reprezentând lățimile celor trei polițe, exprimate în centimetri, și se cere să se scrie un număr natural, reprezentând lungimea minimă, exprimată în centimetri, a unei polițe a raftului echilibrat. Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunțată. Exemplu: pentru x=40, y=20 și z=30, se scrie valoarea 120 (raftul are trei polițe, fiecare cu lungime de 120 cm: prima poate conține 3 cutii cu latura de 40 cm, a doua 6 cutii cu latura de 20 cm, iar a treia 4 cutii cu latura de 30 cm). (10p.) 2. O metodă de criptare a unui șir de numere se bazează pe un cifru format din mai multe coduri, numere naturale. Prin criptare, la fiecare pas se ia în considerare o pereche formată dintr-un termen nenul al șirului și un cod al cifrului, iar acest termen este înlocuit cu suma dintre el și codul din pereche. Prima pereche este formată din primul termen nenul al șirului și primul cod al cifrului, iar după fiecare pereche urmează cea formată din termenul următor nenul al șirului, parcurs de la stânga la dreapta, respectiv din codul următor din cifru, parcurs circular, spre dreapta, ca în exemplu. Scrieţi un program C/C++ care citeşte de la tastatură numere naturale: un număr n (n∈[1,100]), apoi un șir de n numere din intervalul [0,104], elemente ale unui tablou unidimensional, iar la final trei numere din intervalul [0,10], reprezentând, în această ordine, codurile unui cifru. Programul modifică tabloul în memorie, criptând șirul cu cifrul dat, apoi afişează pe ecran tabloul obţinut. Exemplu: pentru n=11, tabloul (9,6,8,3,1,0,21,14,0,20,5) și cifrul cu codurile 3, 1, 6 se obține tabloul (12,7,14,6,2,0,27,17,0,21,11); primele patru perechi sunt 9-3, 6-1, 8-6, 3-3. (10p.) 3. Fișierul bac.txt conține numere naturale din intervalul [1,109]: pe prima linie un număr, x, iar pe a doua linie un șir de cel mult 106 numere, ordonate crescător, separate prin câte un spațiu. Se cere să se afişeze pe ecran numărul de valori pare distincte din șirul aflat pe a doua linie a fișierului care sunt mai mari sau egale cu x. Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei utilizate. Exemplu: dacă fişierul are conținutul alăturat, pe ecran se afișează 4 5 1 1 1 2 2 3 5 5 5 5 6 6 7 8 10 10 12 15 15 21 21 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ă Simulare 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) Simulare 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) 1a 2d 3c 4b 5d 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a. Răspuns corect: 2026 6p. b. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două numere conform cerinței (oricare numere de forma x064, x460, 4x60, 4600, 460x, 46x0, unde x este o cifră impară). c. Pentru program corect -declarare a variabilelor -citire a datelor -afișare a datelor -instrucțiuni de decizie (*) -instrucțiune repetitivă -atribuiri -corectitudine globală a programului1) 10p. 1p. 1p. 1p. 3p. 2p. 1p. 1p. (*) Se acordă numai 2p. dacă doar una dintre instrucțiunile de decizie este conform cerinței. d. Pentru algoritm pseudocod corect -utilizare a unei structuri repetitive cu test inițial (*) -expresie logică pentru test inițial în cadrul 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ă explicită de structură repetitivă conform cerinței (cât timp...execută, while...do etc.). 2. Răspuns corect: 12, 15, 50 6p. Se acordă câte 2p. pentru fiecare valoare conform cerinței. 3. Pentru răspuns corect -declarare a variabilelor conform cerinței -afișare a mesajelor cerute (*) -corectitudine globală a secvenței1) 6p. 1p. 4p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect (utilizare a unei constante de tip char, comparare a cel puțin două plăcuțe alăturate, tratare a tuturor cazurilor, mesaje corespunzătoare cazurilor tratate) conform cerinței. SUBIECTUL al III - lea (30 de puncte) 1. Pentru algoritm pseudocod corect -citire a datelor -determinare a lungimii cerute (*) -afișare a datelor -scriere principial corectă a structurilor de control (**) 10p. 2p. 6p. 1p. 1p. (*) Se acordă câte 2p. pentru fiecare aspect (identificare a unui multiplu/divizor al unui număr, identificare a unui multiplu comun a două numere, identificare a celui mai mic multiplu comun) 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ă Simulare 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 2. Pentru program corect -declarare a unei variabile care să memoreze un tablou unidimensional conform cerinței -citire a datelor, conform cerinței -codificare a șirului cerut (*) -afișare a datelor -declarare a variabilelor simple, corectitudine globală a programului1) 10p. 1p. 1p. 6p. 1p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect specific (identificare a unei valori nule/nenule, tratare a cel puțin unei perechi valoare nenulă-cod prin adunare, deplasare circulară în cadrul codurilor, perechi valoare nenulă-cod suport parcurse, valori nule/nenule suport nemodificate/modificate, modificare în memorie) conform cerinței. 3. a. Pentru răspuns corect -descriere coerentă a algoritmului (*) -justificare a elementelor de eficiență 2p. 1p. 1p. (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient. (**) Se acordă numai 3p. dacă algoritmul este principial corect, dar nu oferă rezultatul cerut pentru toate seturile de date de intrare. (***) Se acordă punctajul numai pentru un algoritm liniar care utilizează eficient memoria. Se memorează ultimele două valori citite, în această ordine, ant și crt, precum și numărul cerut, nr. O soluţie posibilă inițializează numărul ant cu 0 și parcurge datele din fișier citind valoarea curentă crt, incrementând numărul nr pentru fiecare valoare pară distinctă din șir (crt≠ant) din intervalul cerut (crt≥x); valoarea ant se actualizează la fiecare pas. b. Pentru program corect -operații cu fișiere: declarare, pregătire în vederea citirii, citire din fișier -determinare a valorii cerute (*),(**) -utilizare a unui algoritm eficient (***) -declarare a variabilelor, afișare a datelor, corectitudine globală a programului1) 8p. 1p. 5p. 1p. 1p. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.