Textul subiectului și baremului
Simulare BAC Informatică Științe ale Naturii C/C++ 2025 – 26 martie 2025
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 de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Simulare
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++
Simulare
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 valoarea expresiei C/C++ alăturate. 20.25/2.5*100
a. 0 b. 0.081 c. 810 d. 1000
2. Elementele unui tablou unidimensional sunt, în această ordine, (2,3,5,20,25,26,45). Pentru a verifica
dacă în tablou există elementul cu valoarea x=25, se aplică metoda căutării binare. Indicați succesiunea
de elemente a căror valoare se compară cu valoarea lui x pe parcursul aplicării metodei indicate.
a. 45, 26, 25 b. 20, 26, 25 c. 3, 5, 25 d. 2, 5, 25
3. Indicați valoarea expresiei C/C++ alăturate. floor(-20.25)
a. -21 b. -20 c. 20.25 d. 25
4. În secvența C/C++ alăturată, toate variabilele sunt întregi. Indicați o expresie
care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenței obținute, variabila x să aibă o valoare egală cu 25, cel mai mare
divizor comun al numerelor 1000 și 2025.
x=1000; y=2025;
while (y!=0)
{ r=....;
x=y; y=r;
}
a. x%y b. (x+y)%2 c. x%2025 d. 1000%y
5. Variabilele x și y sunt întregi. Indicați o secvenţă de instrucțiuni C/C++ în urma executării căreia în variabila
x se memorează valoarea 2025, ca rezultat al calculului 5∙(5∙(5∙5+55)+5).
a. x=1; y=11;
while(y>0)
{ x=5*x+y;
y=y/2;
}
b. x=1; y=55;
while(y>0)
{ x=5*x+y;
y=y/10;
}
c. x=5; y=11;
while(y>0)
{ y=y/2;
x=5*x+y;
}
d. x=5; y=555;
while(y>0)
{ y=y/10;
x=5*x+y;
}
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.
citește m,n
(numere naturale)
┌dacă m<n atunci
│ nn+m
│ mn-m
│ nn-m
└■
km
┌pentru im,n,-1 execută
│ scrie k, ' '
│┌dacă i%2=0 atunci
││ kk-1
││ scrie '*'
│└■
│ kk-1
└■
a. Scrieți ce se afișează în urma executării algoritmului dacă se citesc, în
această ordine, numerele 20 și 25. (6p.)
b. Dacă pentru m se citește numărul 5, scrieți două numere din
intervalul [1,50] care pot fi citite pentru n astfel încât, în urma
executării algoritmului, pentru fiecare dintre acestea, ultima valoare
numerică afișată să fie 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
structura pentru...execută cu o structură repetitivă de tip cât
timp...execută. (6p.)Subiectul · pagina 2
Ministerul Educației și Cercetării Centrul Național de Politici și Evaluare în Educație Probă scrisă la INFORMATICĂ Simulare Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 2 din 2 2. Tablourile unidimensionale A şi B au elementele A=(3,20,25,26,2025) și B=(x,y,z). Pentru a determina elementele obținute în urma interclasării tablourilor în ordine crescătoare, x se compară cu două elemente din A, y se compară cu un singur element din A, iar z se compară cu patru elemente din A. Scrieți un exemplu de valori pentru tabloul B, în ordinea în care se află în acesta. (6p.) 3. Pentru fiecare dintre doi specialiști IT ai unei companii se cunosc anul nașterii și anul angajării. Variabilele întregi sn1 și sa1 memorează anul nașterii primului specialist, respectiv anul angajării acestuia, iar variabilele întregi sn2 și sa2 memorează anul nașterii celui de al doilea specialist, respectiv anul angajării acestuia. Scrieți o secvență de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran anul angajării, dacă cei doi specialiști sunt angajați în același an, iar în caz contrar date despre specialistul angajat mai de curând: anul nașterii și anul angajării sale, separate printr-un spațiu. Exemplu: pentru sn1=1990 și sa1=2020, dacă sn2=2000 și sa2=2020 se afișează 2020 iar dacă sn2=2000 și sa2=2025 se afișează 2000 2025 (6p.) SUBIECTUL al III-lea (30 de puncte) 1. Un număr „care aduce bucurie” - harsad (sau număr Niven), este un număr întreg divizibil cu suma cifrelor sale. Se citește un număr natural, k (k≥1), și se cere să se scrie cel mai mare număr natural harsad mai mic sau egal cu k. Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate. Exemplu: pentru k=2027, se scrie 2025 (2+0+2+5=9, iar 2025 este divizibil cu 9). (10p.) 2. Două numere naturale nenule se numesc asemenea dacă sunt distincte și dacă 5 apare la aceeași putere în descompunerea în factori primi a fiecăruia dintre ele. Scrieți un program C/C++ care citește de la tastatură un număr natural n (n[1,102]), apoi un șir de n numere naturale din intervalul [1,106], elemente ale unui tablou unidimensional. Programul afișează pe ecran, separate prin câte un spațiu, toate numerele din șir asemenea cu ultimul număr citit, sau mesajul nu exista dacă nu există astfel de numere. Exemplu: pentru n=9, tabloul (20, 875, 100, 250, 12347, 5, 500, 625, 250), se afișează pe ecran, nu neapărat în această ordine, numerele 875 500 (10p.) 3. Pentru o paradă a modei sunt pregătite seturi de bijuterii, un set fiind format din cercei și pandantiv, cu câte cel puțin două pietre prețioase și semiprețioase. Sunt utilizate nouă tipuri de pietre, numerotate de la 1 la 9, iar orice bijuterie are o etichetă, număr natural în care fiecare cifră corespunde unei pietre din montură, în ordinea descrescătoare a importanței în cadrul modelului. Un set este potrivit dacă cea mai importantă piatră a fiecărei bijuterii din set este de același tip. Fișierul bijuterii.in conține numere naturale din intervalul [10,999]: pe prima linie două numere nc și np, reprezentând numărul de cercei, respectiv de pandantive disponibile, pe a doua linie un șir de nc numere, reprezentând etichetele cerceilor, iar pe a treia linie un șir de np numere, reprezentând etichetele pandantivelor. 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 mesajul DA, dacă se poate forma cel puțin un set potrivit de bijuterii, sau mesajul NU, în caz contrar. Proiectați un algoritm eficient din punctul de vedere al timpului de executare. Exemplu: dacă fișierul conține numerele alăturate, se afișează pe ecran mesajul DA 10 11 497 125 521 497 513 258 491 55 551 16 27 259 943 77 945 57 52 552 16 17 71 (două dintre cele 18 seturi potrivite se pot forma din cerceii cu eticheta 258 și fiecare dintre pandantivele cu etichetele 259, respectiv 27, pentru toate aceste bijuterii piatra de tipul 2 fiind cea mai importantă). 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 de Politici și Evaluare în Educație Probă scrisă la INFORMATICĂ Simulare 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) Simulare 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) 1c 2b 3a 4a 5d 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a. Răspuns corect: 25 24 *22 21 *19 18 * 6p. Se acordă câte 2p. pentru fiecare triplet format din două valori numerice și un simbol *, conform cerinței, b. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două numere conform cerinţei (oricare dintre numerele 3, 10, 11). c. Pentru program corect -declarare a variabilelor -citire a datelor -afișare a datelor -instrucțiuni de decizie (*) -instrucțiune repetitivă -atribuiri -corectitudine globală a programului1) 10p. 1p. 1p. 1p. 3p. 2p. 1p. 1p. (*) Se acordă numai 2p. dacă doar una dintre instrucțiunile de decizie 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 (expresie de inițializare a contorului, expresie logică pentru test inițial, instrucțiune de actualizare a contorului) conform cerinței. 2. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare dintre cele trei valori conform cerinței. 3. Pentru rezolvare corectă -afișare a unor date -corespondență între datele afișate și cazurile indicate (*) -corectitudine globală a secvenței1) 6p. 1p. 4p. 1p. (*) Se acordă numai 2p. dacă doar unul dintre cazuri este conform cerinței. SUBIECTUL al III - lea (30 de puncte) 1. Pentru algoritm corect -citire a datelor -determinare a valorii cerute (*) -scriere a datelor -scriere principial corectă a structurilor de control, corectitudine globală a algoritmului1) (**) 10p. 1p. 6p. 1p. 2p. (*) Se acordă câte 1p. pentru fiecare aspect specific (algoritm de bază pentru determinarea sumei unei serii de valori, acces la o cifră a unui număr, cifre suport în cadrul sumei, identificare a unui număr harsad, algoritm de bază pentru determinarea într-o serie a primei/ultimei valori ce respectă o anumită proprietate, numere harsad suport verificate) 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 de Politici și Evaluare în Educație Probă scrisă la INFORMATICĂ Simulare 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ă permită memorarea elementelor unui tablou unidimensional, conform cerinței -citire a datelor -determinare a valorilor conform cerinței (*) -afișare a valorilor î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 1p. pentru fiecare aspect specific (algoritm de bază pentru numărare a unei serii de valori, identificare a unui factor prim 5 pentru un număr, factori numărați pentru determinarea puterii lui 5, identificare numere identice/distincte, identificare a două numere cu aceeași putere a lui 5 în descompunerea în factori primi, numere suport asemenea identificate) 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. O soluţie posibilă utilizează un vector de apariții pentru cercei, ac, în care aci (i[1,9]) este 1 dacă există cel puțin o bijuterie (cercei) cu codul x pentru care i=[x/100] (dacă x[111,999]) sau i=x/10 (dacă x[11,99]). Vectorul ac se completează pe măsura citirii datelor referitoare la cercei, iar la parcurgerea datelor referitoare la pandantive, pentru fiecare etichetă, p, se determină prima cifră a sa, i, iar rezultatul este DA, în cazul în care există cel puțin o valoare p pentru care aci este nenul, sau este NU, în caz contrar. b. Pentru program corect -operații cu fișiere: declarare, pregătire în vederea citirii, citire din fișier -verificare a proprietății 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.