Înapoi la fișa subiectului

Textul subiectului și baremului

Model oficial BAC Informatică Mate-Info C/C++ 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Ă Model
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++
Model
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 valoarea expresiei C/C++ alăturate. 20/25*20/2
a. 0 b. 0.02 c. 0.08 d. 8
2. Subprogramul f este definit
alăturat.
int f(int s,int d,int v[])
{ if(s==d) if(v[d]==2*d)return 1;
else return 0;
else return f(s,(s+d)/2,v) + f(1+(s+d)/2,d,v);
}
Știind că variabila x memorează un tablou unidimensional cu elementele (2,0,2,6,8), în această ordine,
numerotate de la 0 la 4, indicați valoarea f(0,4,x).
a. 1 b. 2 c. 4 d. 5
3. La un târg pentru copii, fiecare joc este asociat cu câte o singură abilitate – cheie, dintre cele pe care le
poate dezvolta. Utilizând metoda backtracking, se generează toate posibilitățile de a expune seturi de câte
trei jocuri din mulţimea {jenga (motricitate), kendama (motricitate), lego (creativitate), șah (strategie),
scrabble (vocabular)}, astfel încât să nu fie alese simultan două jocuri care dezvoltă aceeași abilitate -
cheie, scrabble să NU apară pe prima poziție, iar șahul să NU fie înainte de jenga sau kendama. Două
seturi sunt distincte dacă diferă prin cel puțin un joc sau dacă ordinea jocurilor este diferită. Primele cinci
seturi generate sunt, în această ordine (jenga, lego, șah), (jenga, lego, scrabble),
(jenga, șah, lego), (jenga, șah, scrabble), (jenga, scrabble, lego). Indicaţi penultimul set generat.
a. șah, lego, scrabble b. șah, scrabble, lego
c. lego, jenga, șah d. lego, șah, jenga
4. Variabila z, declarată alăturat, memorează unele date despre 100 dintre
zonele continentului. Știind că densitatea unei zone este egală cu raportul
dintre numărul de locuitori și suprafața acesteia (exprimată în km2), indicați
o expresie a cărei valoare este egală cu numărul de locuitori ai primei zone.
struct zona
{ char nume[21];
int densitate;
int suprafata;
}z[100];
a. z[0].densitate*z[0].suprafata b. z.densitate[0]*z.suprafata[0]
c. densitate[0].z*suprafata[0].z d. densitate.z[0]*suprafata.z[0]
5. Un graf neorientat are 7 noduri, numerotate de la 1 la 7, și 8 muchii, dintre care șase sunt: [1,2], [2,5],
[2,6], [2,7], [3,7], [4,7]. Știind că unul dintre lanțurile elementare care au lungimea maximă este
3, 7, 4, 5, 2, 1, indicați care ar putea fi celelalte două muchii ale grafului.
a. [1,6] și [4,5] b. [2,3] și [2,4] c. [2,3] și [4,5] d. [2,4] și [5,7]

Subiectul · pagina 2

Ministerul Educației și Cercetării
Centrul Național pentru Curriculum și Evaluare
Probă scrisă la INFORMATICĂ Model
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. citeşte m,n
(numere naturale, 1<m<n)
┌repetă
│ xm; yn; nn-1
│┌repetă
││┌dacă x>y atunci xx-y
│││altfel yy-x
││└■
│└până când y=0
└până când x≠1
scrie n+1
a. Scrieţi ce se afișează în urma executării algoritmului dacă se citesc, în
această ordine, valorile 27 și 38. (6p.)
b. Dacă pentru variabila m se citeşte numărul 5, scrieţi două valori care pot fi
citite pentru variabila n astfel încât, în urma executării algoritmului, pentru
fiecare dintre acestea, valoarea afişată să fie 10. (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 a doua structură repetă...până când cu o structură
repetitivă cu test inițial. (6p.)
2. Un arbore cu 9 noduri, numerotate de la 1 la 9, are muchiile [1,2], [2,8], [2,9], [3,6], [4,6], [5,8],
[6,8], [7,8]. Scrieți două noduri care pot fi alese drept rădăcină, astfel încât nodul 8 să aibă doi “frați”. (6p.)
3. Variabilele tI, pN și tL permit accesul la câte un șir de maximum 20 de caractere. Inițial, șirul accesat prin tL
este vid, șirul accesat prin tI reprezintă un număr de telefon în format internațional, iar șirul accesat prin pN
reprezintă un prefix național sau este un șir vid.
Numărul de telefon în format internațional conține codul de țară, scris între paranteze rotunde, urmat de cifrele
numărului propriu-zis. Codul de țară este format din cifre sau din simbolul + (plus), urmat de cifre. În multe țări,
pentru a forma local un număr de telefon, se înlocuiește secvența formată din paranteze și codul de țară cu un
prefix național format din cifre (de exemplu 0, în România) sau cu șirul vid (de exemplu în SUA).
Scrieți o secvență de instrucțiuni C/C++ astfel încât, în urma executării acesteia, șirul accesat prin tL să
reprezinte numărul de telefon format local. Declarați corespunzător eventualele alte variabile utilizate.
Exemplu: dacă prin variabila tI se accesează șirul (+254)722123456, iar prin variabila pN se accesează
șirul 0, atunci numărul format local este 0722123456, iar dacă prin variabila tI se accesează șirul
(+1)2121234567, iar prin variabila pN se accesează șirul vid, atunci numărul format local este
2121234567. (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. Subprogramul Plus are un singur parametru, n, prin care primește un număr natural (n[10,109)).
Subprogramul înlocuiește în n fiecare secvență 25 cu câte o secvență 26 și furnizează, prin același parametru,
numărul obținut. Dacă nu se înlocuiește nicio secvență, subprogramul furnizează numărul nemodificat.
Scrieți definiția completă a subprogramului C/C++.
Exemplu: dacă n=202535250, după apel n=202635260. (10p.)
2. Terenul alocat unui târg de jucării artizanale a fost împărțit în zone dispuse ca elementele unui tablou
bidimensional cu număr egal de linii și coloane. Pentru a putea fi testate de copii, fiecare jucărie are alocată
o zonă și este identificată printr-un număr natural. Organizatorii au hotărât eliminarea tuturor jucăriilor
plasate pe diagonala secundară a tabloului și rearanjarea celor păstrate, prin deplasarea unora dintre
acestea cu câte o poziție spre stânga, astfel încât să nu existe zone intermediare libere, ca în exemplu.
Scrieţi un program C/C++ care citeşte de la tastatură numere naturale din intervalul [2,102], și anume n şi
elementele unui tablou bidimensional cu n linii şi n coloane, reprezentând numerele de identificare ale
jucăriilor, în ordinea plasării lor inițiale pe teren. Programul modifică apoi tabloul în memorie corespunzător
hotărârii organizatorilor și afişează pe ecran tabloul obținut, fiecare linie a tabloului pe câte o linie a ecranului,
elementele de pe aceeași linie fiind separate prin câte un spațiu.
Exemplu: pentru n=4 şi tabloul 20 25 20 26
36 16 48 52
64 72 35 90
85 36 12 25
se obține tabloul 20 25 20
36 16 52
64 35 90
36 12 25 (10p.)
3. Se citește de la tastatură un număr natural, n (n[1,109]), și se cere să se scrie în fișierul text bac.txt
cel mai mare număr natural p cu proprietatea că numărul 26p este divizor al numărului obținut prin
calcularea produsului 1∙2∙3∙...∙n.
Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei utilizate.
Exemplu: dacă n=28, atunci fișierul conține numărul 2 (262=676 este divizor al lui 1∙2∙3∙..∙28 =
304888344611713860501504000000)
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ă Model
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)
Model
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 2b 3a 4a 5c 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a. Răspuns corect: 36 6p.
b. 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 [10,14]).
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 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ă de structură repetitivă
conform cerinței (cât timp...execută, while.. etc.).
2. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două
noduri conform cerinței (nodurile 2, 6).
3. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare aspect (identificare
a unui subșir/caracter ‘)’ în cadrul unui șir, copiere a
unui șir într-un alt șir/concatenare a două șiruri,
secvențe suport copiate în șirul destinație) conform
cerinței.
SUBIECTUL al III - lea (30 de puncte)
1. Pentru subprogram corect
-antet al subprogramului (*)
-determinare a valorii cerute (**)
-furnizare a rezultatului prin parametrul
indicat
-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-ieșire)
conform cerinței.
(**) Se acordă câte 1p. pentru fiecare aspect
(identificare a unei cifre, identificare a unei perechi de
cifre de pe poziții consecutive, înlocuire a unei
cifre/alipire a unei cifre la un număr, secvențe suport
înlocuite, ordine a cifrelor, secvențe suport păstrate -
inclusiv cifrele nule de la finalul numărului) conform
cerinței.

Baremul · pagina 2

Ministerul Educației și Cercetării
Centrul Național pentru Curriculum și Evaluare
Probă scrisă la informatică Model
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 bidimensional
conform cerinței
-citire a datelor
-modificare a tabloului, conform cerinței
(*)
-afișare a unui tablou în formatul cerut
-declarare a variabilelor de tip simplu,
corectitudine globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect specific
(algoritm de bază de deplasare spre stânga, în
memorie, a unor elemente de pe o linie, identificare a
unui element aflat pe diagonala secundară, elemente
suport eliminate/păstrate) 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 cel
mult liniar care utilizează eficient memoria.
O soluție posibilă are în vedere că 26=13∙2 și
parcurge numerele naturale din intervalul [2,n],
determinând pentru fiecare număr curent k, din acest
interval, numărul t de apariții ale lui 13, în
descompunerea în factori primi a lui k, și realizând pe
parcurs suma tuturor valorilor t determinate (p).
Valoarea cerută este p.
O altă soluție posibilă determină valoarea p astfel:
p=[n/13]+[n/132]+[n/133]+[n/134]+ ...+0
b. Pentru program corect
-operații cu fișiere: declarare, pregătire în
vederea scrierii, scriere în fișier
-determinare a valorii 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.