Sunteți pe pagina 1din 3

SIMULARE EXAMENUL DE BACALAUREAT – Decembrie 2022

Proba scrisă la INFORMATICĂ , PROBA E, limbajul C/C++


Specializarea Matematică-informatică
♦ Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.
♦ Timpul efectiv de lucru este de 3 ore.
Subiectul I (20p)
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.

2. Utilizând metoda backtracking, sunt generate în ordine lexicografică toate anagramele


cuvântului ecran. Să se precizeze care sunt cuvintele generate imediat înainte și după secvența
următoare: ernac, ernca, nacer. (4p)
a. ercan, nacre b. ercna, narce
c. ercna, nacre d. ercan, narce
3. Considerând declarările alăturate , care struct datan { int zi, ln, an;};
dintre următoarele referiri este corectă din struct elev {char nume[30];
punct de vedere sintactic ? datan dn, da;} e; (4p)
a. e.datan.ln b. nume.e c. e.dn.an[2] d. e.dn.zi
4. Subprogramul C/C++  bac este definit mai jos. Ce valori vor fi afișate pe ecran în urma
apelului bac(15);? (4p)
void bac(int n)
{if (n!=1)
{printf("%d ",n); | cout<<n<<" ";
if (n%3= =0) bac(n/3);
else bac(2*n-1);}
else printf("%d",1); | cout<<1;
}
a. 15 5 3 1 1 b. 15 5 9 3 3 c. 15 5 9 3 1 d. 15 9 3 1 1
Subiectul al II -lea (40 p)

(6 p)

2. Care sunt nodurile care au exact 2 descendenți pentru un arbore cu rădăcină, cu 7 noduri,
numerotate de la 1 la 7, dat de vectorul de ”tați”: (3,3,0,1,2,2,4)? (6p)
3. In declararea următoare variabila e[30] memorează in câmpurile de mai jos datele despre elevii
unei clase, respectiv numele și data nașterii. Scrieți struct data {int zi,luna,an;};
o secvență de instrucțiuni în urma executării căreia struct elev {char nume[20];
să se ordoneze elevii în ordinea crescătoare după data datan;} e[30];
data nașterii . (6p)
(6p)
Subiectul al III -lea (30p)

1. Subprogramul multiplu are un singur parametru n, prin care primește un număr natural (
n ∈ [1 , 104 ]). Subprogramul returnează cel mai mic multiplu nenul al lui n cu proprietatea că
este pătrat perfect. Scrieți definiția completă a subprogramului. (10p)
2
Exemplu : dacă n=72 sau n=144 , subprogramul returnează numărul 144 (144=12 )
2. Fișierul poezie.in conține un text pe mai multe linii reprezentând o poezie având numărul total
de caractere de cel mult 5000. Textul conține litere mari si mici ale alfabetului englez, spatii,
newline si semne de punctuație . , ! ? In fișierul poezie.out se va afișa textul inițial, din care vor
fi eliminate toate semnele de punctuație, mai puțin cele aflate la capăt de linie. (10p)
Exemplu:
poezie.in poezie.out
A fost!... odată!, A fost odată,
Ca, niciodată,, Ca niciodată,
O fata? frumoasă... de împărat! O fata frumoasă de împărat!

3. Fișierul Date.in conține un șir de cel mult 106 numere naturale din intervalul [ 0 , 109 ] , separate
prin câte un spațiu. Se cere să se afișeze pe ecran, separate printr-un spațiu, două numere naturale
a și b (a<b), astfel încât oricare termen al șirului care are exact două cifre să aparțină intervalului
(a,b), iar valoarea expresiei b-a să fie minimă. Dacă șirul nu are niciun termen de două cifre, pe
ecran se afișează mesajul nu există. Proiectați un algoritm eficient din punct de vedere al
timpului de executare și al spațiului de memorie utilizat.
Exemplu : dacă fișierul conține valorile 7 2 40 5 11 15 10 122 18 350 se afișează pe ecran 9 41.
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)

S-ar putea să vă placă și