Textul subiectului și baremului
Subiect BAC Informatică Științe ale Naturii C/C++ 2025 – sesiunea iunie–iulie, 13 iunie 2025, varianta 1
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 originalSubiectul · pagina 1
Ministerul Educației și Cercetării
Centrul Național pentru Curriculum și Evaluare
Probă scrisă la INFORMATICĂ Varianta 1
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 1
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 expresia C/C++ cu aceeaşi valoare ca a expresiei alăturate. 2025%2019+6
a. 2025/2020+5 b. 2025/2021+8 c. 2025%2020+5 d. 2025%2021+8
2. Pentru a verifica dacă în tabloul unidimensional (1,4,6,8,9,11,15,18,21,25,30)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 cel mult două elemente ale tabloului.
a. 1,4,30 b. 1,25,30 c. 4,11,25 d. 6,11,21
3. Indicaţi valoarea expresiei C/C++ alăturate. floor(sqrt(25)-sqrt(20))
a. -1 b. 0 c. 1 d. 5
4. Variabilele x și y sunt de tip întreg și memorează numere naturale nenule, reprezentând
prețurile a două calculatoare. Indicați o instrucțiune care poate înlocui punctele de
suspensie astfel încât, în urma executării secvenței C/C++ obținute, să se interschimbe
valorile inițiale ale variabilelor x și y.
x=x+y;
.........
x=x-y;
a. x=y-x; b. y=x+y; c. y=x-y; d. y=y-x;
5. În secvența alăturată, toate variabilele sunt întregi. Indicați expresia care poate
înlocui punctele de suspensie astfel încât, în urma executării secvenței
obținute, variabila p să memoreze valoarea produsului 3!⋅5! (unde s-a notat
cu x!, pentru x∈{3,5}, factorialul lui x, calculat ca produs al tuturor numerelor
naturale nenule, distincte, mai mici sau egale cu x).
p=1; f=1;
for(i=3;i<=6;i++)
if(i%2==1)
{ f=........;
p=p*f;
}
a. f*(i-1)*i b. f*i*(i+1) c. f*i d. (i-2)*(i-1)*i
SUBIECTUL al II-lea (40 de puncte)
1. Algoritmul alăturat este reprezentat în pseudocod. citeşte m,n
(numere naturale nenule, m≤n)
nr0;im
┌repetă
│ x1
│┌cât timp x*x<i execută
││ xx+1
│└■
│┌dacă x*x=i atunci nri
││altfel ii+1
│└■
└până când i>n sau nr≠0
scrie nr
a. Scrieți ce se afișează în urma executării algoritmului dacă se citesc, în
această ordine, numerele 7 și 17. (6p.)
b. Dacă pentru variabila n se citește valoarea 25, scrieți două numere
distincte care pot fi citite pentru variabila m, astfel încât, în urma
executării algoritmului, pentru fiecare dintre acestea, să se afișeze
valoarea 25. (6p.)
c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.)
d. Scrieți în pseudocod un algoritm echivalent cu cel dat, înlocuind structura
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 1 Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 2 din 2 2. Tablourile unidimensionale A=(20,15,10,9,7,4) și B=(21,12,8,6,5) sunt interclasate în ordine crescătoare, fiind parcurse de la dreapta la stânga. Scrieți mulțimea tuturor valorilor din B care, pe parcursul aplicării metodei de interclasare, se compară cu valoarea 7 din A. (6p.) 3. Variabila p memorează prețul unei prăjituri (număr natural din intervalul [5,50]), iar variabila c memorează litera L, dacă prăjitura are cremă de ciocolată cu lapte, litera V dacă are cremă de vanilie și litera N dacă nu are cremă. Declarați variabila c și scrieți o secvență de instrucțiuni C/C++ în urma executării căreia să se afișeze, pe prima linie a ecranului, cuvântul crema, urmat de cuvântul DA, dacă prăjitura are cremă, sau de cuvântul NU, în caz contrar, iar pe a doua linie a ecranului cuvântul pret, urmat de prețul prăjiturii. Primul cuvânt de pe fiecare linie este urmat de un spațiu, ca în exemplu. Exemplu: dacă variabila c memorează litera V, iar variabila p memorează 10, se afișează pe ecran: crema DA pret 10 (6p.) SUBIECTUL al III-lea (30 de puncte) 1. Numărul natural an este ascendent al numărului natural n dacă oricare dintre cifrele lui an este mai mare sau egală cu cifra unităților lui n. Exemplu: oricare dintre numerele 7, 9, 98 sau 7998 este ascendent al lui 827, dar numărul 857 nu este ascendent al lui 827. Se citesc trei numere naturale din intervalul[0,103), n, x și y (x<y), și se cere să se scrie suma ascendenților lui n din intervalul [x,y]. Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate. Exemplu: dacă n=827, x=9, y=800, se scrie 7893 (9+77+78+79+87+88+89+ 97+98+99+777+778+779+787+788+789+797+798+799=7893). (10p.) 2. Un șir semioglindit se obţine dintr-un șir de 2·k (k∈[1,102]) termeni, prin interschimbarea în acesta a secvenței formate din primii k termeni cu secvența formată din ultimii k termeni. 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 din intervalul [1,106], elemente ale unui tablou unidimensional, apoi modifică tabloul în memorie, dacă are un număr par de elemente, prin înlocuirea șirului memorat cu șirul semioglindit obținut din el. Programul afișează pe ecran elementele tabloului obținut, separate prin câte un spațiu, sau mesajul nu exista, dacă șirul are număr impar de termeni. Exemplu: pentru n=6 și tabloul (2,3,4,4,5,1) se obține tabloul (4,5,1,2,3,4). (10p.) 3. Un tânăr pasionat de călătorii are o listă cu muzee virtuale și, pentru fiecare, câte un singur interval orar, în care acesta poate fi vizitat online, gratuit. Tânărul dispune zilnic de același interval orar pentru vizite; un muzeu este convenabil dacă poate fi vizitat online gratuit în timpul disponibil și dacă pentru vizită îi poate aloca cel puțin o oră. Fișierul text bac.in conține cel mult 105 linii, iar pe fiecare linie câte o pereche de numere, reprezentând limitele câte unui interval orar: pe prima linie intervalul orar de care tânărul dispune zilnic, iar pe fiecare dintre următoarele linii, intervalul orar de vizitare gratuită pentru câte un muzeu, în ordinea din listă. Limitele intervalelor sunt ore fixe, numere naturale din intervalul [8,22], iar cele aflate pe aceeași linie a fișierului sunt în ordine strict crescătoare și sunt separate printr-un spațiu. Se cere să se afișeze pe ecran numărul de muzee convenabile. Utilizați un algoritm eficient din punctul de vedere al timpului de executare şi al memoriei utilizate. Exemplu: dacă fișierul conține valorile alăturate, atunci pe ecran se afișează numărul 3. (pot fi vizitate trei muzee, respectiv primul, al doilea și al patrulea, în intervalele 16-18, 17-19, respectiv 18-19). 16 19 15 18 17 21 19 21 18 20 12 13 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 originalBaremul · pagina 1
Ministerul Educației și Cercetării Centrul Național pentru Curriculum și Evaluare Probă scrisă la informatică Varianta 1 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 1 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) 1d 2d 3b 4c 5a 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a. Răspuns corect: 9 6p. b. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două numere conform cerinței (oricare două numere naturale din intervalul [17,25]). 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, înlocuind-o pe cea 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 chiar dacă algoritmul obținut nu este echivalent cu cel dat. Se punctează orice formă de structură repetitivă explicită, conform cerinței (repetă...până când, execută... până când, execută...cât timp, do...while etc.). (**) Se acordă numai 2p. dacă doar un aspect (echivalență a algoritmului pentru cazul inițial x*x≥i, expresie logică pentru test final) este conform cerinței. 2. Răspuns corect: 5,6,8 6p. Se acordă numai 2p. dacă doar o valoare este conform cerinței, numai 4p. dacă doar două valori sunt conform cerinței și numai 5p. dacă, în plus față de cele trei valori conform cerinței, s-a precizat încă o valoare. 3. Răspuns corect -declarare a variabilei conform cerinței -afișare a datelor în formatul cerut (*) -corectitudine globală a secvenței1) 6p. 1p. 4p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect (utilizare a constantelor de tip char pentru identificare a unei prăjituri cu/fără cremă, corespondență cuvinte-valori afișate, spații, linii separate) conform cerinței. SUBIECTUL al III - lea (30 de puncte) 1. Pentru algoritm corect -citire a datelor, conform cerinței -determinare a valorii cerute (**) -scriere a datelor, 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 cifrei unităților unui număr, identificare a unei cifre mai mici/mai mari sau egale cu o altă cifră, algoritm de bază pentru verificarea unei proprietăți, cifre suport verificate pentru determinarea unui ascendent, algoritm de bază pentru determinarea sumei unei serii de valori, numere ascendent suport însumate) conform cerinței. (**) Se punctează orice formă explicită de structură repetitivă sau decizională.
Baremul · pagina 2
Ministerul Educației și Cercetării Centrul Național pentru Curriculum și Evaluare Probă scrisă la informatică Varianta 1 Filieră teoretică, profil real, specializare științe ale naturii Barem de evaluare și de notare Pagina 2 din 2 2. Pentru program corect -declarare a unei variabile care să memoreze un tablou unidimensional, conform cerinței -citire a datelor, conform cerinței -transformare 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 specific (identificare a unui tablou cu număr par de elemente, realizare a unei interschimbări/mutări a unor elemente, valori suport obținute în prima jumătate a șirului, valori suport obținute în a doua jumătate a șirului, transformare în memorie, tratare a cazului nu exista) 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 prima pereche din fișier (h1, h2), apoi, pe măsura citirii celorlalte perechi, se calculează intersecția [v1,v2] dintre intervalul [h1,h2] și intervalul de timp determinat de perechea curentă [crt1,crt2], unde v1=max(h1,crt1) și v2=min(h2,crt2); dacă intersecția permite cel puțin o oră de vizită (v1<v2) se incrementează contorul cerut (nrVizitate). b. Pentru program corect -operații cu fișiere: declarare, pregătire în vederea citirii, citire din fișier, conform cerinței -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.