Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info C/C++ 2025 – sesiunea iunie–iulie, 13 iunie 2025, varianta 7, 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 7
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 2025
Proba E. d)
INFORMATICĂ
Limbajul C/C++
Varianta 7
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. 15.4/2+15/2
a. 14 b. 14.7 c. 15 d. 15.2
2. Variabila m, declarată alăturat memorează, pentru un medicament codul,
procentul de compensare și data expirării (ziua, luna și anul). Indicați o
expresie C/C++ cu valoarea 1 dacă și numai dacă medicamentul expiră în
anul 2025, după luna octombrie.
struct data
{ int zi, luna, an;};
struct medicament
{ int cod;
float compensare;
data expira;
}m;
a. m.data.an==2025 && m.data.luna>10
b. data.an.m==2025 && data.luna.m>10
c. m.expira.an==2025 && m.expira.luna>10
d. m.an.expira==2025 && m.luna.expira>10
3. Un site de vânzări online oferă reduceri la încălțăminte pentru fiecare comandă care conține trei perechi de
articole din categorii diferite din mulțimea ordonată {balerini, botine, cizme, ghete, sandale, teniși},
astfel încât o comandă să nu conțină simultan ghete și cizme, respectiv balerini și sandale. Două
soluții diferă prin cel puțin o categorie. Utilizând metoda backtracking, se generează toate comenzile
posibile, iar primele patru soluții generate sunt: (balerini, botine, cizme), (balerini, botine,
ghete), (balerini, botine, teniși), (balerini, cizme, teniși). Indicați soluția generată imediat
înainte de (cizme, sandale, teniși).
a. (botine, ghete, sandale) b. (botine, cizme, sandale)
c. (botine, cizme, teniși) d. (botine, sandale, teniși)
4. Un arbore cu 6 noduri, numerotate de la 1 la 6, are muchiile [1,2], [1,3], [2,4], [2,5], [2,6].
Indicați două noduri care pot fi alese drept rădăcină, astfel încât arborele obținut, pentru fiecare dintre
acestea, să aibă trei frunze.
a. 1,3 b. 2,4 c. 2,5 d. 4,6
5. Un graf orientat cu 6 vârfuri, numerotate de la 1 la 6, are arcele (1,3), (2,1), (2,5), (2,6), (4,3),
(6,4), (6,5). Indicați numărul minim de arce care trebuie adăugate pentru ca graful obținut să aibă două
componente tare conexe.
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Ă Varianta 7
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, n≥2)
d2; x1; y1
┌cât timp n>1 execută
│┌dacă n%d=0 atunci
││ xd; yy*d
││┌cât timp n%d=0 execută
│││ n[n/d]
││└■
│└■
│ dd+1
└■
scrie x,' ',y
a. Scrieți valorile afișate în urma executării algoritmului, dacă se
citește numărul 252. (6p.)
b. Scrieți două numere distincte din intervalul [10,102] care pot fi citite,
astfel încât, în urma executării algoritmului, pentru fiecare dintre
acestea, să se afișeze două valori egale. (6p.)
c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.)
d. Scrieți în pseudocod un algoritm echivalent cu cel dat, înlocuind a doua
structură cât timp...execută cu o structură repetitivă cu test final.
(6p.)
2. Subprogramul f este definit alăturat. Scrieți valoarea f(2),
respectiv valoarea f(17).
(6p.)
int f(int x)
{ if (x<=4) return x;
else return x-f(x-2);
}
3. Variabilele s1 și s2 permit accesarea câte unui șir de cel
mult 50 de caractere, iar variabila n este de tip întreg. Scrieți
șirul accesat prin variabila s1, precum și valoarea lui n, în
urma executării secvenței alăturate. (6p.)
strcpy(s1,"parcarea");
strcpy(s2,strstr(s1,"car"));
n=strlen(s2);
strcpy(s1+n-2, s2+n-2);
SUBIECTUL al III-lea (30 de puncte)
1. Subprogramul consecutiv are doi parametri:
• n, prin care primește un număr natural (n∈[1,104]);
• f , prin care furnizează un număr natural cu proprietatea: (f-1)∙f < n ≤ f∙(f+1).
Scrieți definiția completă a subprogramului C/C++.
Exemplu: dacă n=19 atunci f=4 (3∙4 < 19 ≤ 4∙5). (10p.)
2. Parcarea unui mall are locuri de parcare dispuse pe nr rânduri, câte np pe fiecare rând, unul lângă altul.
Trei prieteni vin cu câte o mașină la mall și caută un triplet de locuri libere alăturate, plasate toate trei doar
pe primul sau toate trei doar pe ultimul rând al parcării.
Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale din intervalul [3,50], nr și np,
reprezentând numărul de rânduri din parcare, respectiv numărul de locuri de pe fiecare rând, apoi nr∙np
valori din mulțimea {0,1}, elemente ale unui tablou bidimensional cu nr linii și np coloane, reprezentând, în
ordinea dispunerii lor pe rânduri, starea locurilor de parcare (0, pentru loc liber, sau 1, pentru loc ocupat).
Programul afișează pe ecran numărul de triplete de locuri libere pe care le pot găsi prietenii.
Exemplu: pentru nr=4, np=5 și tabloul alăturat, se afișează pe ecran valoarea 3 (pe
prima linie pot găsi tripletul format din al doilea, al treilea și al patrulea loc, iar pe ultima
linie pot găsi tripletul format din primul, al doilea și al treilea loc sau tripletul format din al
doilea, al treilea, și al patrulea loc). (10p.)
1 0 0 0 1
0 0 0 1 0
0 1 0 0 0
0 0 0 0 1
3. La o loterie se generează aleatoriu un șir de numere naturale și pentru fiecare număr generat, se inversează
ordinea cifrelor. Dintre valorile distincte obținute se extrag trei numere, în această ordine: cel mai mic, cel
mai mare dintre cele rămase, apoi cel mai mic dintre cele rămase.
Fișierul text bac.in conține cel mult 106 numere naturale din intervalul [1001,9999], cu cifra unităților
nenulă, separate prin câte un spațiu, reprezentând termenii șirului generat aleatoriu în vederea extragerii.
Scrieți un program C/C++ care afișează pe ecran cele trei numere, în ordinea extragerii acestora. Numerele
afișate sunt separate prin câte un spațiu, iar dacă nu există trei astfel de numere distincte, se afișează pe
ecran mesajul nu exista. Proiectați un algoritm eficient din punctul de vedere al timpului de executare și
al memoriei utilizate.
Exemplu: dacă fișierul conține numerele 1114 3212 3217 2855 7309 2131 2131 1238 7893
se afișează pe ecran, în această ordine, numerele 1312 9037 2123
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 7
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 2025
Proba E. d)
Informatică
BAREM DE EVALUARE ȘI DE NOTARE
(comun pentru limbajele C/C++ și Pascal)
Varianta 7
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)
1b 2c 3d 4d 5a 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a. Răspuns corect: 7 42 6p. Se acordă câte 3p. pentru fiecare valoare conform
cerinței.
b. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două
valori conform cerinței (orice număr din intervalul
cerut, care are un singur factor prim), sau câte 2p.
pentru fiecare dintre cele două valori care conduc la
rezultatul cerut, dar care nu fac parte din intervalul
indicat.
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
final (*)
-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 chiar dacă algoritmul obținut
nu este echivalent cu cel dat.
Se va puncta orice formă de structură repetitivă
explicită conform cerinței (repetă...până când,
execută...cât timp, do... while etc.).
(**) Se acordă numai 2p. dacă doar un aspect
(expresie logică pentru test final, echivalență a
algoritmului pentru cazul inițial n%d≠0) este conform
cerinței.
2. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare soluție conform
cerinței.
f(2)=2
f(17)=8
3. Răspuns corect:
parea
5
6p. Se acordă câte 3p. pentru fiecare dintre cele două
valori conform cerinței.

Baremul · pagina 2

Ministerul Educației și Cercetării
Centrul Național pentru Curriculum și Evaluare
Probă scrisă la informatică Varianta 7
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 (*)
-determinare a valorii cerute (**)
-declarare a tuturor variabilelor locale,
corectitudine globală a subprogramului1)
10p.
3p.
6p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect al
antetului (structură, parametru de intrare, parametru
de ieșire) conform cerinței.
(**) Se acordă câte 3p. pentru fiecare aspect
(identificare a unor numere x cu proprietatea
(x-1)∙x<n sau y cu proprietatea n≤y∙(y+1),
identificare număr x maxim/y minim) conform cerinței.
2. Pentru program corect
-declarare a unei variabile care să
memoreze un tablou bidimensional,
conform cerinței
-citire a datelor, conform cerinței
-determinare a valorii cerute (*)
-afișare a datelor, conform cerinței
-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 unui loc liber/ocupat, identificare a cel
puțin două elemente plasate pe coloane consecutive,
algoritm de bază pentru numărarea unei serii de
valori, identificare a cel puțin unui triplet de locuri
libere, identificare a unui triplet de locuri libere plasate
pe primul/ultimul rând, triplete suport numărate)
conform cerinței.
3. a. Pentru răspuns corect
-descriere coerentă a algoritmului (*)
-justificare a elementelor de eficiență,
conform cerinței
2p.
1p.
1p.
(*) Se acordă punctajul chiar dacă algoritmul ales nu
este eficient.
(**) Se acordă numai 3p. dacă algoritmul parcurge
pașii necesari rezolvării, dar cu detalii care conduc la
o rezolvare parţială.
(***) Se acordă punctajul numai pentru un algoritm
liniar, care utilizează eficient memoria.
O soluţie posibilă determină, pe măsura citirii datelor
din fișier, cele mai mici două valori, respectiv cea mai
mare valoare dintre cele distincte, obținute după
inversarea cifrelor (min1, min2 și max,
min1<min2<max). Pentru fiecare valoare x citită se
determină valoarea obținută prin inversarea ordinii
cifrelor (y); dacă y<min1, se actualizează atât min2,
cât și min1 (min2=min1, min1=y), altfel, dacă y>min1
și y<min2, se actualizează min2 (min2=y), iar altfel
dacă y>max și y>min2 se actualizează max (max=y).
b. Pentru program corect
-operații cu fișiere: declarare, pregătire în
vederea citirii, citire din fișier, conform
cerinței
-determinare a valorilor cerute (*),(**)
-utilizare a unui algoritm eficient (***)
-declarare a variabilelor, afișare a datelor
și tratare a cazului nu exista,
corectitudine globală a programului1)
8p.
1p.
5p.
1p.
1p.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.