Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info C/C++ 2026 – sesiunea iunie–iulie, 2 iulie 2026, varianta 5, rezervă

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Ă Varianta 5
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++
Varianta 5
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. Indicați o expresie C/C++ cu valoarea 1.
a. !(2>3 || 3>4) b. !(2>3) && 3>4
c. 2>3 && !(3>4) d. 4>3>2
2. Subprogramul f este definit alăturat. Indicați valoarea
lui f(56579).
int f(int n)
{ if(n==0)return 0;
if(n%2==1)return f(n/10)+1;
return f(n/10)-1;
}
a. 0 b. 1 c. 2 d. 3
3. În muzica clasică, o sonată este o lucrare compusă din trei părți. Variabila
declarată alăturat memorează indicativul unei sonate și durata fiecăreia
dintre cele trei părți ale acesteia, exprimată în minute și secunde. Indicați
o expresie a cărei valoare este egală cu durata celei de a doua părți a
sonatei, exprimată în secunde.
struct sonata
{ int indicativ;
struct
{ int min,sec;
}unu,doi,trei;
}s;
a. s.doi.sec+60*s.doi.min b. sonata.doi.sec+60*sonata.doi.min
c. sec.doi.s+60*min.doi.s d. doi.sec.sonata.s+60*doi.min.sonata.s
4. Într-un arbore cu rădăcină considerăm că un nod se află pe nivelul x dacă lanţul elementar care are o
extremitate în nodul respectiv şi cealaltă extremitate în rădăcina arborelui are lungimea x. Pe nivelul 0 se
află un singur nod (rădăcina). Un arbore cu 8 noduri, numerotate de la 1 la 8, este reprezentat prin
vectorul de tați: (3,4,0,3,4,8,2,3). Indicați numărul de niveluri ale arborelui.
a. 7 b. 5 c. 4 d. 2
5. Un graf orientat cu 7 vârfuri, numerotate de la 1 la 7, are arcele (1,2), (2,3), (3,1), (4,5), (4,6),
(5,6), (6,7), (7,4). Indicați numărul minim de arce care pot fi adăugate și poziționate adecvat, astfel
încât graful orientat obținut să fie tare conex.
a. 1 b. 2 c. 3 d. 4
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 m,n,k
(numere naturale nenule,
m≤n, 0≤k≤9)
nr0
┌pentru im,n execută
│ xi
│┌repetă
││┌dacă x%10=k atunci
│││ nrnr+1
││└■
││ x[x/10]
│└până când x=0
└■
scrie nr
a. Scrieți valoarea afișată în urma executării algoritmului dacă se citesc, în
această ordine, numerele 120, 126, 2. (6p.)
b. Dacă pentru m se citește numărul 2026, iar pentru k se citește numărul 6,
scrieți două numere din intervalul [103,104] care pot fi citite pentru n,
astfel încât, pentru fiecare dintre acestea, în urma executării algoritmului,
să se afişeze valoarea 2. (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
pentru...execută cu o structură de tip cât timp...execută. (6p.)

Subiectul · pagina 2

Ministerul Educaţiei și Cercetării
Centrul Naţional pentru Curriculum şi Evaluare
Probă scrisă la INFORMATICĂ Varianta 5
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
2. Lacătul unei biciclete are un cifru format din 5 cifre distincte, astfel încât oricare două cifre alăturate au
parități diferite. Pentru că a uitat cifrul, Andrei încearcă toate soluțiile posibile, pe care le generează în
ordine lexicografică, utilizând metoda backtracking. Două cifruri diferă prin cel puțin o cifră sau prin
ordinea acestora, primele șase fiind, în ordinea generării: 01234, 01236, 01238, 01254, 01256, 01258.
Scrieți două soluții, una generată imediat înainte, iar cealaltă generată imediat după 16789. (6p.)
3. Variabilele s și t permit accesul la câte un șir de cel mult 50 de caractere; inițial t accesează un șir vid, iar
s un șir ce memorează, în această ordine, numele și prenumele unui profesor, separate printr-un spațiu și
formate din litere mari și mici ale alfabetului limbii engleze. Scrieți o secvență de instrucțiuni C/C++ în urma
executării căreia variabila t accesează șirul format, în această ordine, din titlu (Prof.), urmat de prenume și
nume, separate prin câte un spațiu, ca în exemplu. Declarați eventuale alte variabile necesare.
Exemplu: dacă s accesează șirul POP Grigore, atunci t accesează șirul
Prof. Grigore POP (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. O editură realizează seturi turistice, formate din câte o broșură de prezentare a zonei locale și câte un
catalog al producătorilor locali, astfel încât dacă o broșură are p pagini, atunci p este un număr prim, iar
catalogul din același set are 3∙p pagini.
Subprogramul pagini are un parametru, n, prin care primește un număr natural (n∈[2,104]).
Subprogramul returnează valoarea 1 dacă, folosind toate cele n pagini, se poate realiza un set turistic,
sau valoarea 0 în caz contrar. Scrieți în C/C++ definiția completă a subprogramului.
Exemplu: dacă n=44, subprogramul returnează valoarea 1 (se poate obține o broșură de 11 pagini și
un catalog de 33=3∙11 pagini), iar dacă n=48 sau n=27, subprogramul returnează 0. (10p.)
2. Într-un tablou bidimensional, două coloane sunt numite stabile dacă suma valorilor de pe una dintre ele
este egală cu suma valorilor de pe cealaltă, iar cele două coloane sunt consecutive în tablou.
Scrieți un program C/C++ care citește de la tastatură două numere naturale din intervalul [1,20], m și n,
și m∙n numere naturale din intervalul [0,10), elemente ale unui tablou bidimensional cu m linii și n
coloane, numerotate începând de la 0. Programul afișează pe ecran toate perechile de numere x și y
(x<y), pentru care coloanele x și y sunt stabile în tabloul dat, sau mesajul nu exista, dacă nu există
astfel de coloane.
Fiecare pereche se afișează pe câte o linie a ecranului, cu cele două valori
în ordine strict crescătoare, separate prin câte un spațiu.
Exemplu: pentru m=6, n=7 și tabloul alăturat, se afișează pe ecran
perechile de mai jos, nu neapărat în această ordine
0 1
1 2
5 6 (10p.)
2 6 1 0 4 0 0
0 3 5 2 3 1 0
2 0 0 0 1 0 1
6 0 5 0 6 0 1
1 3 0 0 0 1 0
1 0 1 0 2 0 0
3. Șirul 1, 2, 2, 5, 4, 11, 8, 23, 16, 47....
este definit astfel: f0=1, iar pentru orice n, număr natural strict pozitiv, fn=3∙fn-1 - 1, dacă n este impar,
sau fn=2∙fn-2, dacă n este par.
Se citește de la tastatură un număr natural x (x∈[4,109]), termen al șirului dat. Se cere să se scrie în
fișierul bac.txt, în ordinea inversă apariției în șir, separați prin câte un spațiu, atât termenul citit, cât și
toți cei care îl preced în șir pe acesta, ca în exemplu. Proiectați un algoritm eficient din punctul de vedere
al timpului de executare și al spațiului de memorie utilizat.
Exemplu: dacă x=8, fișierul conține numerele 8 11 4 5 2 2 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 original

Baremul · pagina 1

Ministerul Educaţiei și Cercetării
Centrul Naţional pentru Curriculum şi Evaluare
Probă scrisă la INFORMATICĂ Varianta 5
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)
Varianta 5
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 4c 5b 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a. Răspuns corect: 8 6p.
b. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două
numere conform cerinței (orice număr din intervalul
[2036,2045]).
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 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 pentru orice formă de structură
repetitivă de tipul cerut (cât timp ... execută, while ...
do etc.).
(**) Se acordă câte 1p. pentru fiecare aspect specific
(inițializare a contorului, expresie de continuare,
actualizare a contorului) conform cerinței.
2. Răspuns corect:
16785
16903
6p. Se acordă câte 3p. pentru fiecare soluție conform
cerinței.
3. Pentru rezolvare corectă
-determinare a șirului cerut (*)
-declarare a eventualelor variabile,
corectitudine globală a secvenței1)
6p.
5p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect specific
(identificare a unui cuvânt într-un șir, utilizare a unei
constante de tip șir de caractere pentru titlu,
adăugare/inserare a unui subșir într-un șir, cuvinte și
simboluri suport adăugate/păstrate, obținere a șirului în
memorie) conform cerinței.

Baremul · pagina 2

Ministerul Educaţiei și Cercetării
Centrul Naţional pentru Curriculum şi Evaluare
Probă scrisă la INFORMATICĂ Varianta 5
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 (*)
-verificare a proprietății 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ă, parametru de intrare) conform
cerinței.
(**) Se acordă câte 1p. pentru fiecare aspect specific
(identificare a unui divizor, algoritm de bază de
numărare/verificare a unei proprietăți pentru o serie de
valori, divizori suport pentru identificarea unui număr
prim, tratare a cazului particular n=4 / p=1, identificare
a unei valori multiplu de 4, asociere a celor două
condiții) conform cerinței.
2. Pentru program corect
-declarare a unei variabile care să
permită memorarea unui tablou
bidimensional, conform cerinței
-citire a datelor
-determinare a valorilor cerute (*)
-afișare a datelor în formatul cerut și
tratare a cazului nu exista
-declarare a variabilelor simple,
corectitudine globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect specific
(algoritm de bază pentru determinarea sumei unei
serii de valori, elemente suport pentru calculul sumei
elementelor unei coloane, perechi suport determinate)
conform cerinței.
3. a. Pentru răspuns corect
-coerență a descrierii 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 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 (de complexitate O(n)), care utilizează eficient
memoria.
O soluție posibilă scrie valoarea x și o actualizează la
[x/2]∙3-1, doar dacă aceasta este pară, apoi, la fiecare
pas scrie câte o pereche de termeni, x și [(x+1)/3], și
actualizează valoarea lui x la [(x-1)/2]. Generarea se
repetă cât timp x≥2.
b. Pentru program corect
-operații cu fișiere: declarare, pregătire în
vederea scrierii, scriere în fișier
-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.