1. Ministerul Educaiei i Cercetrii
Centrul Naional de Evaluare i Examinare
Prob scris la informatic Testul 7
Limbajul C/C++
Filier teoretic, profil real, specializare matematic-informatic / matematic-informatic intensiv informatic
Filier vocaional, profil militar, specializare matematic-informatic
Pagina 1 din 2
Examenul de bacalaureat naional 2020
Proba E. d)
Informatic
Limbajul C/C++
Testul 7
Filier teoretic, profil real, specializare matematic-informatic / matematic-informatic intensiv informatic
Filier vocaional, profil militar, specializare matematic-informatic
Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.
Timpul de lucru efectiv este de 3 ore.
Identificatorii utilizai 樽n rezolvri trebuie s respecte precizrile din enun (bold), iar 樽n lipsa unor
precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual
樽n form prescurtat). Datele de intrare se consider corecte, validarea lor nefiind necesar.
n grafurile din cerine oricare arc/muchie are extremiti distincte i oricare dou arce/muchii
difer prin cel puin una dintre extremiti.
SUBIECTUL I (20 de puncte)
Pentru fiecare dintre itemii de la 1 la 5, scriei pe foaia de examen litera corespunztoare rspunsului
corect. Fiecare rspuns corect se noteaz cu 4 puncte.
1. Expresia C/C++
!(x<2001) && (x<=2002) || (x>=2019) && !(x>2020)
are valoarea 1 dac i numai dac valoarea memorat de variabila real x aparine reuniunii:
a. {2001} [2002,2019] {2020} b. [2001,2002] {2019} {2020}
c. [2001,2002] {2019,2020} d. [2001,2002] [2019,2020]
2. Subprogramul f este definit alturat. Indicai ce se
afieaz 樽n urma apelului de mai jos.
f(12345);
void f (int x)
{ cout<<+; | printf(+);
if(x>0)
{ f(x/100);
cout<<x; | printf(%d,x);
}
cout<<+; | printf(+);
}
a. +++++1+123+12345+ b. ++++112312345
c. +12345+123+1+++++ d. +1+123+12345+
3. Utiliz但nd metoda backtracking, se genereaz toate modalitile de forma un grup de patru arbori cu flori
din mulimea {albizia, jacaranda, laburnum, magnolie, mimoza, sakura}. Dou grupuri difer
prin cel puin un arbore. Primele cinci soluii generate sunt, 樽n aceast ordine: (albizia, jacaranda,
laburnum, magnolie), (albizia, jacaranda, laburnum, mimoza), (albizia, jacaranda,
laburnum, sakura), (albizia, jacaranda, magnolie, mimoza), (albizia, jacaranda,
magnolie, sakura). Indicai o enumerare care este generat ca soluie.
a. (magnolie, mimoza,laburnum, sakura)
b. (jacaranda, magnolie, mimoza, sakura)
c. (jacaranda, laburnum, magnolie, mimoza, sakura)
d. (albizia, jacaranda, magnolie, laburnum)
4. Un graf orientat cu 5 v但rfuri este reprezentat prin matricea de adiacen alturat.
Indicai numrul v但rfurilor cu gradul interior 2.
0 1 0 0 0
0 0 1 0 0
1 0 0 1 0
0 0 0 0 1
1 0 1 1 0
a. 1 b. 2 c. 3 d. 4
5. Un graf neorientat are 20 de noduri i 5 componente conexe, fiecare dintre acestea fiind arbore. Indicai
numrul de muchii ale grafului.
a. 7 b. 11 c. 15 d. 19
2. Ministerul Educaiei i Cercetrii
Centrul Naional de Evaluare i Examinare
Prob scris la informatic Testul 7
Limbajul C/C++
Filier teoretic, profil real, specializare matematic-informatic / matematic-informatic intensiv informatic
Filier vocaional, profil militar, specializare matematic-informatic
Pagina 2 din 2
SUBIECTUL al II-lea (40 de puncte)
1. Algoritmul alturat este reprezentat 樽n pseudocod.
S-a notat cu a%b restul 樽mpririi numrului natural a la numrul
natural nenul b i cu [c] partea 樽ntreag a numrului real c.
citete n
(numr natural nenul)
x1; m0; p1
c但t timp x<10 execut
cnn
c但t timp cn0 execut
ccn%10; cn[cn/10]
dac c=x atunci
mc*p+m; pp*10
xx+2
scrie m
a. Scriei ce se afieaz dac se citete numrul 253387. (6p.)
b. Scriei cel mai mic i cel mai mare numr din intervalul [10,102)
care pot fi citite astfel 樽nc但t, pentru fiecare dintre acestea, 樽n urma
executrii algoritmului, s se afieze 0. (6p.)
c. Scriei programul C/C++ corespunztor algoritmului dat. (10p.)
d. Scriei 樽n pseudocod un algoritm echivalent cu cel dat, 樽nlocuind
adecvat prima structur repetitiv cu o structur repetitiv de alt
tip. (6p.)
2. Variabila c memoreaz simultan numrul de cri dintr-o bibliotec (numr natural din intervalul
[3,102)) i date despre fiecare carte (titlu i autor, iruri de cel mult 20 de caractere). Expresiile C/C++
de mai jos au ca valori numrul de cri, titlul i numele autorului celei de a treia cri. Scriei definiia
unei structuri cu eticheta biblio, care permite memorarea datelor despre o bibliotec, i declarai
corespunztor variabila c.
c.numar c.carte[2].titlu c.carte[2].autor (6p.)
3. Variabila s poate memora un ir de cel mult 20
de caractere. Scriei ce se afieaz 樽n urma
executrii secvenei alturate. (6p.)
strcpy(s,"stilou");
cout<<s+4<<endl; | printf("%sn",s+4);
s[0]=s[0]-1; s[1]=s[0]-3;
s[2]=s[0]+1; s[3]=s[0]+3;
s[4]='0';
cout<<s; | printf("%s",s);
SUBIECTUL al III-lea (30 de puncte)
1. Subprogramul putere are doi parametri, n i p, prin care primete c但te un numr natural (n[2,109],
p[0,109]). Subprogramul returneaz puterea la care apare numrul p 樽n descompunerea 樽n factori
primi a lui n, dac p este numr prim, sau valoarea -1 樽n caz contrar.
Scriei definiia complet a subprogramului.
Exemplu: dac n=80 i p=2, subprogramul returneaz numrul 4 (80=245). (10p.)
2. O valoare k polarizeaz dou iruri dac exist doi termeni care au acea valoare, unul fiind 樽n primul
ir, iar cellalt 樽n al doilea ir.
Scriei un program C/C++ care citete de la tastatur numere naturale din intervalul [1,20]: m, n i
elementele unui tablou bidimensional cu m linii i n coloane, cu proprietatea c nu exist dou elemente
egale situate pe aceeai linie sau pe aceeai coloan. Programul afieaz pe ecran valorile care pot
polariza dou iruri, i anume irul format din elementele de pe prima coloan, respectiv irul format din
elementele ultimei coloane a tabloului.
Valorile sunt afiate 樽ntr-o ordine oarecare, separate prin c但te un spaiu, iar dac nu
exist astfel de valori se afieaz pe ecran mesajul nepolarizate.
Exemplu: pentru m=4, n=5 i tabloul alturat se afieaz pe ecran, nu neaprat 樽n
aceast ordine, numerele 5 6 (10p.)
3 7 1 2 5
2 4 5 9 6
6 2 7 8 1
5 3 2 7 8
3. Fiierul bac.txt conine un ir de cel mult 106 numere 樽ntregi din intervalul [-103,103], separate prin
c但te un spaiu. Se cere s se afieze pe ecran suma minim obinut adun但nd numere de pe poziii
consecutive 樽n irul aflat 樽n fiier. Proiectai un algoritm eficient din punctul de vedere al memoriei
utilizate i al timpului de executare.
Exemplu: dac fiierul bac.txt conine valorile -4 6 -7 -2 1 -4 10 3 -9 -2 2
se afieaz pe ecran numrul -12
a. Scriei programul C/C++ corespunztor algoritmului proiectat. (8p.)
b. Descriei 樽n limbaj natural algoritmul proiectat, justific但nd eficiena acestuia. (2p.)