Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii C/C++ 2025 – sesiunea august–septembrie, 13 august 2025, varianta 4

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 4
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Examenul național de bacalaureat 2025
Proba E. d)
INFORMATICĂ
Limbajul C/C++
Varianta 4
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. Indicați intervalul căruia îi aparține valoarea memorată în variabila
întreagă x, dacă și numai dacă expresia C/C++ alăturată are valoarea 1.
!(x<=2020) && !(x>2025)
a. (2020,2025] b. (2020,2025) c. [2020,2025] d. (2021,2025)
2. Elementele unui tablou unidimensional sunt, în această ordine, (2,3,5,7,10,12,16,17,20,21,27).
Pentru a verifica dacă în tablou există elementul cu valoarea x, se aplică metoda căutării binare.
Indicați trei dintre valorile pe care le poate avea x, astfel încât căutarea să se încheie după ce x a fost
comparat cu trei sau cu patru elemente ale tabloului.
a. 2,3,5 b. 2,7,21 c. 7,16,20 d. 20,21,27
3. Indicați valoarea expresiei C/C++ alăturate. abs(-25)-25
a. -50 b. -25 c. 0 d. 50
4. În secvenţa C/C++ alăturată toate variabilele sunt de tip întreg, iar n≥2. Indicați o
expresie care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obținute, valoarea variabilei x să fie egală cu cel mai mare divizor al
numărului memorat în variabila n, divizor strict mai mic decât n.
x=2;
while(n%x!=0)
x=x+1;
x=..........;
a. x-1 b. x*x c. n/2 d. n/x
5. În secvențele notate cu s1, s2 și s3, definite mai jos, toate variabilele sunt întregi. Indicați secvențele în urma
executării cărora, independent, variabila s memorează suma 1⋅2+2⋅3+3⋅4+4⋅5+5⋅6+6⋅7+7⋅8+8⋅9+9⋅10.
//s1
s=0;
for(i=10;i>1;i--)
s=s+i*(i-1);
//s2
s=0; i=1;
do { p=i*(i+1); s=s+p; i=i+1;
}while(i<10);
//s3
s=0; i=1; p=1;
while(i<10)
{ p=p*(i+1); s=s+p; i=i+1;}
a. s1, s2, dar nu și s3 b. s1, s3, dar nu și s2 c. s2, s3, dar nu și s1 d. s1, s2 și s3
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 x,y
(numere naturale distincte)
cx0; cy0
┌cât timp x≥10 sau y≥10 execută
│┌cât timp x+y≠0 execută
││ cxcx+x%10; x[x/10]
││ cycy+y%10; y[y/10]
│└■
│ xcx; cx0; ycy; cy0
└■
┌dacă x=y atunci scrie "DA ",x
│altfel scrie "NU ",x," ",y
└■
a. Scrieți ce se afișează în urma executării algoritmului dacă se
citesc, în această ordine, numerele 9767 și 8204. (6p.)
b. Dacă primul număr citit este 2025, scrieţi două valori distincte
din intervalul [10,99] care pot fi citite pentru y astfel încât,
pentru fiecare dintre acestea, în urma executării algoritmului,
mesajul afişat să fie DA, urmat de o valoare numerică. (6p.)
c. Scrieți programul C/C++ corespunzător algoritmului dat.
(10p.)
d. Scrieți în pseudocod un algoritm echivalent cu cel dat, înlocuind prima structură cât timp...execută
cu o structură repetitivă cu test final. (6p.)

Subiectul · pagina 2

Ministerul Educației și Cercetării
Centrul Național pentru Curriculum și Evaluare
Probă scrisă la INFORMATICĂ Varianta 4
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
2. Tablourile unidimensionale A=(2,5,7,9) și B=(x,y,z) sunt interclasate în ordine crescătoare, fiind
parcurse de la stânga la dreapta. Scrieți un exemplu de valori naturale distincte pentru x, y și z, știind că
cele două tablouri nu au nicio valoare comună și că x se compară cu o singură valoare din A, iar z nu se
compară cu nicio valoare din A. (6p.)
3. O bijuterie este confecționată dintr-un singur metal prețios, iar variabilele întregi mb și gb memorează codul
metalului din care este confecționată bijuteria, respectiv greutatea acesteia, exprimată în grame.
Se cunosc date despre două metale prețioase, iar variabilele întregi m1 și p1 memorează codul primului
metal prețios, respectiv prețul unui gram din acel metal, și variabilele întregi m2 și p2 memorează codul
celui de al doilea metal prețios, respectiv prețul unui gram din acel metal.
Scrieți o secvență de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran prețul bijuteriei
menționate, dacă ea este confecționată din unul dintre cele două metale prețioase despre care se cunosc
date, sau mesajul pret necunoscut, în caz contrar. (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. Un fermier are un teren de formă dreptunghiulară, pe care vrea să îl împartă în parcele de arie egală, astfel
încât numărul de parcele și aria să fie valori naturale, iar numărul de parcele să fie par și strict mai mic decât
aria unei parcele. Se citesc două numere naturale din intervalul [2,100], x și y, reprezentând lungimea și
lățimea terenului, măsurate în metri. Se cere să se scrie toate soluțiile posibile de împărțire a terenului,
fiecare soluție pe câte un rând, sub forma a două numere, separate prin mesajul parcele de arie și
spații adecvate, unde primul număr reprezintă numărul de parcele obținute, iar al doilea aria unei parcele
corespunzătoare, ca în exemplu. Dacă nu există nicio astfel de soluție, se scrie mesajul nu exista.
Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate. Operația de trecere la un rând nou se
precizează în algoritm astfel: scrie rând nou.
Exemplu: pentru x=6 și y=8, se afișează valorile alăturate, nu neapărat în
această ordine (terenul poate fi împărțit și în 3 parcele de arie 16 sau 8
parcele de arie 6, dar nu corespund cerinței). (10p.)
2 parcele de arie 24
4 parcele de arie 12
6 parcele de arie 8
2. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈[2,102]), și un șir de n
numere naturale distincte din intervalul [0,109], elemente ale unui tablou unidimensional.
Programul modifică tabloul în memorie, înlocuind valoarea minimă cu valoarea aflată pe ultima poziție.
Elementele tabloului obținut sunt afișate pe ecran, separate prin câte un spaţiu.
Exemplu: pentru n=8 şi tabloul (17,19,10,4,23,3,11,9)
se obține tabloul (17,19,10,4,23,9,11,9) (10p.)
3. La o centrală solară se monitorizează stocul zilnic de energie produsă și stocul total calculat pentru
fiecare perioadă. Zilele de monitorizare sunt numerotate cu valori naturale consecutive, în ordine cronologică,
începând cu ziua 1. O perioadă este formată din una sau mai multe zile de monitorizare, consecutive, iar
stocul total calculat pentru ea este suma stocurilor zilnice corespunzătoare. O zi este validată dacă stocul
zilnic este cel puțin egal cu limita zilnică, minZ; o perioadă este validată dacă stocul total calculat pentru ea
este cel puțin egal cu limita stabilită pentru perioade, minP, fiecare zi a perioadei este validată, iar perioada
este maximală în raport cu această proprietate (nu i se mai poate adăuga nicio zi validată).
Fișierul text bac.in conține cel mult 106 numere naturale din intervalul [1,103]: pe prima linie minZ și
minP, reprezentând limitele precizate pentru validare, iar pe a doua linie stocurile zilnice de energie produse
în zile consecutive, în ordinea monitorizării. Numerele aflate pe aceeași linie a fișierului sunt separate prin
câte un spațiu.
Se cere să se afișeze pe ecran, pentru fiecare perioadă de producție validată, corespunzătoare datelor din
fișier, stocul total calculat pentru ea. Valorile se afișează pe câte o linie a ecranului, iar dacă nu există nicio
astfel de perioadă, se afișează mesajul nu exista. Proiectați un algoritm eficient din punctul de vedere al
memoriei utilizate și al timpului de executare.
Exemplu: dacă fișierul conține valorile alăturate,
se afișează pe ecran
65
71
90
10 40
65 9 20 25 12 14 7 3 11 15 12 8 19 50 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ă Varianta 4
Filieră teoretică, profil real, specializare științe ale naturii
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 4
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 2b 3c 4d 5a 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a. Răspuns corect: NU 2 5 6p. Se acordă câte 2p. pentru fiecare valoare afișată
(mesaj, respectiv cele două numere) 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 de două cifre, cu suma
cifrelor egală cu 9 sau cu 18) sau numai câte 2p. pentru
fiecare dintre cele două valori care conduc la afișarea
datelor cerute, dar nu aparțin intervalului 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 punctează orice formă de structură repetitivă
conform cerinței (repetă...până când, repetă... cât
timp, execută...cât timp, do...while etc.).
(**) Se acordă numai 2p. dacă doar un aspect
(expresie logică pentru test final, algoritm echivalent
pentru cazul inițial în care x<10 și y<10) este conform
cerinței.
2. Pentru rezolvare corectă 6p. Se acordă câte 2p. pentru fiecare dintre cele trei valori
conform cerinței (oricare valori cu proprietatea că
x<2; 9<y<z)
3. Pentru răspuns corect
-determinare a prețului cerut (*)
-afișare a datelor și tratare a cazului preț
necunoscut, conform cerinței
-corectitudine globală a secvenței1)
6p.
4p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect (calcul al
prețului în funcție de greutate și prețul unui gram de
metal, corespondență preț-metal) conform cerinței.

Baremul · pagina 2

Ministerul Educației și Cercetării
Centrul Național pentru Curriculum și Evaluare
Probă scrisă la informatică Varianta 4
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 2 din 2
SUBIECTUL al III - lea (30 de puncte)
1. Pentru algoritm corect
-citire a datelor, conform cerinței
-determinare a valorilor cerute (**)
-scriere a datelor și tratare a cazului nu
exista, conform cerinței
-scriere principial corectă a structurilor de
control, corectitudine globală a
algoritmului1) (**)
10p.
1p.
6p.
1p.
2p.
(*) Se acordă câte 1p. pentru fiecare aspect
(identificare a ariei unei parcele/a unui divizor al ariei
totale, identificare a numărului de parcele
corespunzător ariei identificate, număr par de parcele,
număr de parcele mai mic decât aria unei parcele,
identificare a unei perechi corespunzătoare număr de
parcele-arie a unei parcele, perechi suport număr de
parcele-arie a unei parcele identificate) conform
cerinței.
(**) Se punctează orice formă explicită de structură
repetitivă sau decizională.
2. Pentru program corect
-declarare a unei variabile care să
memoreze un tablou unidimensional,
conform cerinței
-citire a datelor, conform cerinței
-modificare a tabloului conform cerinței
(*)
-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 (algoritm
de bază pentru determinarea unei valori minime, valori
suport verificate pentru determinarea minimului,
poziție suport a minimului, identificare a elementului
aflat pe ultima poziție, element suport
înlocuit/elemente suport nemodificate, modificare în
memorie) 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ă citește primele două valori din fișier
(minZ și minP), apoi, pe măsura citirii stocurilor zilnice,
dacă stocul curent citit (x) corespunde unei zile
validate (x≥minZ), se actualizează stocul total
(stocCrt=stocCrt+x) al perioadei curente.
Dacă ziua nu este validată (x<minZ) sau dacă s-a
încheiat citirea, se afișează stocul total determinat,
dacă acesta corespunde unei perioade validate
(stocCrt≥minP), apoi se reinițializează această valoare
cu 0.
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, 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.