Înapoi la fișa subiectului

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 original

Subiectul · 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)
x0; y0; p1
┌repetă
│ cn%10; n[n/10]
│┌dacă c%2=0 atunci
││ xx*10+c
││ yc*p+y; pp*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 original

Baremul · 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.