Textul subiectului și baremului
Simulare BAC Informatică Științe ale Naturii C/C++ 2023 – 29 martie 2023
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
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 2023
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 numerele pe care le pot memora variabilele întregi x şi y, astfel încât
valoarea expresiei C/C++ alăturate să fie 23.
x/2+y%3
a. x=8 şi y=23 b. x=20 şi y=39 c. x=23 şi y=66 d. x=43 şi y=20
2. Variabilele i şi j sunt de tip întreg. Indicați expresia care poate înlocui punctele de suspensie astfel încât,
în urma executării secvenţei obţinute, să se afișeze numerele de mai jos.
for(i=1;i<=5;i++)
{ for(j=1;j<=5;j++)
if(i+j<=6) cout<<.....<<' '; | printf("%d ",.....);
else cout<<i-1<<' '; | printf("%d ",i-1);
cout<<endl; | printf("\n");
}
4 3 2 1 0
4 3 2 1 1
4 3 2 2 2
4 3 3 3 3
4 4 4 4 4
a. 5-j b. 5-i c. j-i d. j+i
3. Tablourile A=(2023,29,z,x,3) și B=(2019,49,y,15,9), care nu au elemente comune, sunt
interclasate în ordine crescătoare. Indicați un set de valori pentru x, y și z astfel încât acestea să ocupe
poziții consecutive, în această ordine, în șirul rezultat.
a. x=12, y=20, z=23 b. x=14, y=16, z=23
c. x=16, y=23, z=27 d. x=20, y=37, z=28
4. Variabila x este de tip real. Indicaţi instrucţiunea care realizează o prelucrare
echivalentă cu cea alăturată.
x=23*23;
a. x=sqrt(23); b. x=pow(23,2); c. x=floor(23); d. x=ceil(23);
5. În secvența alăturată toate variabilele sunt de tip întreg. Indicați o
expresie care poate înlocui punctele de suspensie astfel încât, în
urma executării secvenței, variabila ok să aibă valoarea 1 dacă și
numai dacă variabilele x și y (1<x<y) memorează inițial doi termeni
aflați pe poziții consecutive în șirul lui Fibonacci.
while(x!=y && x>0)
{ f=y-x;
y=x; x=f;
}
ok=(.......);
a. x/y==1 b. x%y==1 c. x*y==1 d. x+y==1Subiectul · pagina 2
Ministerul Educaţiei
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
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)
x5
┌repetă
│ cnn; n0; p1
│┌repetă
││ ccn%10
││┌dacă c=x atunci c5-c
││└■
││ nc*p+n; cn[cn/10]; pp*10
│└până când cn=0
│ xx-1
└până când x=0
scrie n
a. Scrieţi valoarea afişată dacă se citește numărul 5174. (6p.)
b. Scrieţi trei numere impare, cu cifre distincte, din intervalul
[102,104) care pot fi citite astfel încât, în urma executării
algoritmului, pentru fiecare dintre acestea, să se afișeze
valoarea 34. (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ă repetă...până când cu o
structură de tip pentru...execută. (6p.)
2. Pentru a verifica dacă în tabloul unidimensional (10,12,15,17,20,27,50) există elementul cu valoarea
x=23, se aplică metoda căutării binare. Scrieți succesiunea de elemente din tablou ale căror valori se
compară cu valoarea lui x pe parcursul aplicării metodei indicate. (6p.)
3. Variabilele garda1 și garda2 memorează câte un număr real, reprezentând garda la sol (măsurată în
metri) pentru două motociclete. Declarați corespunzător variabilele precizate și scrieți o secvență de
instrucțiuni în urma executării căreia să se afișeze pe ecran mesajul la fel, dacă cele două motociclete
au aceeași gardă la sol, mesajul prima sus dacă prima are garda la sol mai mare, sau mesajul a doua
sus, dacă a doua are garda la sol mai mare. (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. Se citesc două numere naturale, x și y (2≤x<y), și se cere să se scrie numărul valorilor naturale din
intervalul [x,y] cu trei divizori pozitivi impari.
Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată.
Exemplu: dacă x=4 și y=50, se scrie 6 (pentru valorile 9, 18, 25, 36, 49, 50). (10p.)
2. Scrieți un program C/C++ care citește de la tastatură numărul natural n (n[2,50]), apoi n numere
naturale din intervalul [0,102), elemente ale unui tablou unidimensional. Programul modifică tabloul în
memorie, înlocuind fiecare element al tabloului care are cifra zecilor în mulțimea {2,3} cu valoarea 23.
Elementele tabloului obținut sunt afișate pe ecran, separate prin câte un spațiu.
Exemplu: pentru n=11 și tabloul (9,2,20,75,35,20,40,59,23,16,34) se obține tabloul
(9,2,23,75,23,23,40,59,23,16,23), iar pentru n=4 și tabloul (2,0,2,3) se obține tot (2,0,2,3).
(10p.)
3. Pentru a studia un metal, s-a urmărit comportamentul său într-o succesiune de pași, la fiecare pas metalul
fiind supus unei anumite temperaturi. Pașii sunt numerotați cu valori naturale consecutive, începând de
la 1. Un pas se numește reprezentativ dacă la niciunul dintre pașii anteriori nu este utilizată o temperatură
strict mai mare decât la acest pas.
Fișierul bac.txt conține cel mult 106 numere naturale din intervalul [0,104], separate prin câte un
spațiu, reprezentând temperaturile la care este supus metalul, în ordinea pașilor corespunzători. Se cere
să se afișeze pe ecran, separați prin câte un spațiu, pașii reprezentativi pentru datele din fișier. Proiectați
un algoritm eficient din punctul de vedere al timpului de executare și al spațiului de memorie utilizat.
Exemplu: dacă fișierul conține numerele 7 4 9 10 10 10 3 9 2 10 10 8 2 30
se afișează pe ecran 1 3 4 5 6 10 11 14
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 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 2023 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) 1d 2a 3c 4b 5c 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a. Răspuns corect: 474 6p. b. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare dintre cele trei numere conform cerinței (oricare dintre valorile 521, 531, 5021, 5031). 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ă numai una dintre instrucțiunile repetitive este conform cerinței. d. Pentru algoritm pseudocod corect -utilizare a unei structuri repetitive de tip pentru...execută (*) -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ă conform cerinței (pentru...execută, for...do etc.). (**) Se acordă câte 1p. pentru fiecare aspect specific (valoare de inițializare a contorului, valoare finală a contorului, doar actualizare implicită a contorului) conform cerinței. 2. Răspuns corect: 17, 27, 20 6p. Se acordă numai 2p. dacă s-a precizat corect doar prima valoare, numai 4p. dacă s-au precizat corect doar primele două valori sau dacă, în continuarea valorilor corecte, s-au precizat și alte valori. 3. Pentru rezolvare corectă -declarare a variabilelor cerute -afișare a datelor conform cerinței (*) -corectitudine globală a secvenței1) 6p. 2p. 3p. 1p. (*) Se acordă câte 1p. pentru fiecare mesaj afișat conform cerinței. SUBIECTUL al III - lea (30 de puncte) 1. Pentru subprogram corect -citire a datelor -determinare a numărului cerut (*) -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 (algoritm de bază pentru numărarea unui șir de valori, identificare a unui divizor, identificare a unui număr impar, divizori suport numărați, identificare a unui număr cu trei divizori impari, valori suport din interval numărate) conform cerinței. (**) Se va puncta orice formă corectă de structură repetitivă sau decizională.
Baremul · pagina 2
Ministerul Educaţiei 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ă memoreze un tablou unidimensional -citire a datelor -modificare a tabloului conform cerinței (*) -afişare a datelor -declarare a variabilelor simple, corectitudine globală a programului1) 10p. 1p. 1p. 6p. 1p. 1p. (*) Se acordă câte 2p. pentru fiecare aspect (identificare a cifrei zecilor unui număr cu cel puțin două cifre, elemente suport înlocuite/păstrate, modificare în memorie) conform cerinței. 3. a. Pentru răspuns corect -coerenţă a descrierii algoritmului (*) -justificare a unor elemente 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 liniar, care utilizează eficient memoria. O soluţie posibilă determină, pe măsura citirii din fișier, valoarea ultimei temperaturi reprezentative (tr) pe baza temperaturii curente (x). Poziția curentă (px), care se actualizează la fiecare pas, se afișează doar dacă se întâlnește o temperatură mai mare sau egală cu tr (x≥tr), când se actualizează, după caz, tr (trx). b. Pentru program corect -operaţii cu fişiere: declarare, pregătire în vederea citirii, citire din fişier -determinare a valorilor 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.