Înapoi la fișa subiectului

Textul subiectului și baremului

Simulare BAC Informatică Mate-Info 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 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++
Simulare
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. 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. Un mozaic este alcătuit din plăcuțe de formă pătrată, cu dimensiuni egale, de culoare albă sau roșie, așezate
pe două rânduri și aliniate ca în exemplu. Mozaicul are un model în zig-zag dacă oricare două plăcuțe cu o
latură comună au culoare diferită. Se știe că plăcuțele de pe latura din dreapta au culori diferite.
Variabilele j și ok sunt întregi, iar variabila a este un tablou bidimensional cu două linii și 12 coloane, cu elemente
de tip char, în care fiecare linie, în ordine, memorează succesiunea de plăcuțe aflate pe un rând al mozaicului,
notându-se cu litera R cele roșii și cu litera A cele albe. Liniile și coloanele sunt numerotate începând de la 0.
Indicați expresia care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței C/C++
obținute, variabila ok să aibă valoarea 1, dacă mozaicul are un model în zig-zag, sau valoarea 0 în caz contrar.
Exemplu: în urma executării secvenței pentru tabloul de mai jos, unde sunt evidențiate două zone în care
nu se respectă modelul, ok=0.
ok=1;
for(j=0;j<11;j++)
if(........) ok=0;
R A A R A R A R A R A R
A R R A R A R A R R R A
a. a[0][j]==a[0][j-1] || a[0][j]==a[1][j-1] b. a[0][j]==a[0][j+1] || a[0][j]==a[1][j+1]
c. a[0][j]==a[0][j-1] || a[0][j]==a[1][j+1] d. a[0][j]==a[0][j+1] || a[0][j]==a[1][j]
3. Subprogramul f este definit alăturat, iar variabila x
este de tip întreg. Indicați ce se afișează în urma
executării secvenței C/C++ de mai jos.
x=3; f(x);
void f(int &n)
{ if(n>0) {cout<<n; | printf("%d",n);
n=n-1; f(n);
cout<<n; | printf("%d",n);
}
}
a. 321000 b. 321012 c. 321123 d. 3210123
4. La balul absolvenților se acordă șase premii pe baza unei tombole cu 30 de bilete, numerotate de la 30 la
1, în această ordine. Utilizând metoda backtracking, se generează toate variantele de a alege biletele celor
șase 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. Primele trei soluții generate sunt, în această ordine: (30,29,28,27,26,25),
(30,29,28,27,26,24), (30,29,28,27,26,23). Indicați penultima soluție generată.
a. (7,6,5,4,3,2) b. (7,6,5,3,2,1) c. (7,6,4,3,2,1) d. (7,5,4,3,2,1)
5. Într-un arbore cu 7 noduri, numerotate de la 1 la 7, nodul 3 este rădăcină și pentru orice nod numerotat cu
i (i[1,7]), dacă se notează cu F(i) numărul de descendenți direcți („fii”) ai lui, atunci F(i)=0, dacă i
este „frunză”, sau F(i)=i-1, în caz contrar. Indicați numărul maxim de „frați” ai nodului 1.
a. 1 b. 2 c. 3 d. 4

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 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)
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.)
2. Un graf neorientat, fără cicluri, are 26 de muchii și două componente conexe. Pentru fiecare dintre cele două
componente, scrieți un exemplu de număr de noduri, respectiv de număr de muchii. (6p.)
3. Pentru o sală de examen se memorează următoarele date specifice: numărul de locuri disponibile și durata
examenului, exprimată în ore. Variabila s memorează datele specifice pentru fiecare dintre cele 10 săli ale
unui centru de testare, iar expresiile de mai jos au valori întregi și reprezintă numărul de locuri ale primei
săli, respectiv durata examenului din această sală. Definiți o structură C/C++ cu eticheta sala, care să
permită memorarea datelor pentru o sală de examen, și declarați corespunzător variabila s.
s[0].nrLocuri s[0].durata (6p.)
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.
Subprogramul depozit are trei parametri, x, y și z, prin care primește trei numere naturale din intervalul
[10,100], reprezentând lățimile celor trei polițe, exprimate în centimetri. Subprogramul returnează un număr
natural, reprezentând lungimea minimă, exprimată în centimetri, a unei polițe a raftului echilibrat.
Scrieți definiția completă a subprogramului C/C++.
Exemplu: pentru x=40, y=20 și z=30, subprogramul returnează 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 text se bazează pe un cifru format din mai multe coduri, numere naturale. Prin criptare
se elimină spațiile, apoi la fiecare pas se ia în considerare o pereche formată dintr-o literă a textului și un cod al
cifrului, iar această literă se înlocuiește cu cea obținută prin deplasarea circulară, spre dreapta, în alfabetul limbii
engleze, cu un număr de poziții egal cu codul din pereche. Prima pereche este formată din prima literă a textului și
primul cod al cifrului, iar după fiecare pereche urmează cea formată din litera următoare a textului, parcurs de la
stânga la dreapta, respectiv din codul următor din cifru, parcurs circular, spre dreapta, ca în exemplu.
Într-un text de cel mult 100 de caractere cuvintele sunt formate din litere mari ale alfabetului limbii engleze și sunt
separate prin unul sau mai multe spații. Alfabetul limbii engleze are 26 de litere.
Scrieţi un program C/C++ care citeşte de la tastatură trei numere naturale din intervalul [0,25], reprezentând,
în această ordine, codurile unui cifru, apoi un text de tipul precizat. Programul modifică textul în memorie,
criptându-l cu cifrul dat, apoi afişează pe ecran textul obţinut.
Exemplu: pentru cifrul cu codurile 3, 1, 6 și textul PIXEL BINE MAPAT se obține textul
SJDHMHLOKPBVDU (primele patru perechi sunt P-3, I-1, X-6, E-3). (10p.)
3. Fișierul bac.txt conține numere naturale din intervalul [1,109]: pe prima linie două numere, x și y (x<y),
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 aparțin intervalului [x,y]. 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ă 3
6 11
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 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)
1a 2d 3a 4d 5c 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. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare aspect (număr de
noduri pentru prima componentă conexă, număr de
muchii pentru prima componenta conexă cu numărul
de noduri precizat, date pentru a doua componentă
conexă) conform cerinței.
Se punctează orice componente conexe cu n1 noduri
și m1 muchii, respectiv cu n2 noduri și m2 muchii cu
proprietatea că n1∈[1,27], m1=n1-1, respectiv n2=28-
n1, m2=n2-1.
3. Pentru răspuns corect
-definire principial corectă a unei structuri
-parametri pentru structura definită (*)
-declarare a variabilei indicate
-corectitudine globală a secvenței1)
6p.
1p.
3p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect (etichetă,
primul câmp, al doilea câmp) conform cerinței.

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
SUBIECTUL al III - lea (30 de puncte)
1. Pentru subprogram corect
-antet al subprogramului, conform
cerinței (*)
-determinare a lungimii cerute (**)
-instrucțiune/instrucțiuni de returnare a
rezultatului
-declarare a tuturor variabilelor locale,
corectitudine globală a subprogramului1)
10p.
2p.
6p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect al
antetului (structură, parametri de intrare) conform
cerinței.
(**) 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.
2. Pentru program corect
-declarare a unei variabile care să
memoreze un șir de caractere 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 litere/caracter spațiu, tratare a cel
puțin unei perechi literă-cod cu deplasare la dreapta în
alfabet, tratare a cel puțin unei perechi literă-cod cu
deplasare circulară în alfabet, deplasare circulară în
cadrul codurilor, caractere suport modificate/eliminate,
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
(eventual cât timp crt≤y), incrementând numărul nr
pentru fiecare valoare pară distinctă din șir (crt≠ant)
din intervalul cerut (crt≥x și crt≤y); 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.