際際滷

際際滷Share a Scribd company logo
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
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.)

More Related Content

E d informatica_2020_sp_mi_c_var_test_07

  • 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.)