Ministerul Educaţiei și Cercetării
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Testul 4
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Examenul de bacalaureat naţional 2020
Proba E. d)
Informatică
Limbajul C/C++
Testul 4
Filieră teoretică, profil real, specializare științe ale naturii
• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.
• Timpul de lucru efectiv este de 3 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. Variabile x, y şi z sunt de tip întreg. Indicați o expresie C/C++ care are valoarea 1 dacă şi numai dacă
x, y şi z au valori identice.
a. x==y && x==z b. x==y==z
c. !( x!=y && x!=z) d. !(x!=y!=z)
2. Pentru a verifica dacă într-un tablou unidimensional există elementul cu valoarea x=21 se aplică
metoda căutării binare, iar succesiunea de elemente a căror valoare se compară cu x pe parcursul
aplicării metodei este 10, 45, 21. Elementele tabloului pot fi:
a. (2,5,10,21,45,50,70) b. (10,45,21,47,50,55)
c. (2,5,7,10,21,45,70) d. (10,10,45,45,21,21)
3. Tablourile unidimensionale A şi B au valorile: A=(3,5,6,19,20) și B=(56,15,14,11,1). În urma
interclasării lor în ordine crescătoare se obţine tabloul cu elementele:
a. (3,5,6,11,1) b. (3,56,5,15,6,14,11,19,1,20)
c. (1,3,5,6,11,14,15,19,20,56) d. (3,5,6,19,20,56,15,14,11,1)
4. Variabilele x şi y sunt de tip real. Indicaţi instrucţiunea care realizează o prelucrare
echivalentă cu cea alăturată. (4p.)
x=abs(y);
a. if(x<0) x=-y;
else x=y;
b. if(y<0) x=-y;
else x=y;
c. while(y>0)
{ x=x*x; y=y-1;}
d. while(y>0)
{ x=x*y; y=y-1;}
5. Variabilele reale x şi y memorează coordonatele, în planul xOy, ale centrului unui cerc. O expresie
C/C++ care are valoarea 1, dacă şi numai dacă centrul cercului este pe una dintre cele două axe ale
sistemului de coordonate al planului xOy, poate fi:
a. x-y==0 b. x+y==0 c. x/y==0 d. x*y==0
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)
┌repetă
│ c1n%10; n[n/10]; c2n%10
│┌dacă c1>c2 atunci
││ c2c1; c1n%10
│└■
│┌cât timp c1<c2 execută
││ scrie c1
││ c2[c2/2]
│└■
└până când n≤9
a. Scrieţi ce se afișează în urma executării algoritmului dacă se
citeşte numărul 49335. (6p.)
b. Scrieţi trei numere de patru cifre care pot fi citite astfel încât,
pentru fiecare dintre acestea, în urma executării algoritmului,
valoarea afişată să fie 1100. (6p.)
c. Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)
d. Scrieţi în pseudocod un algoritm, echivalent cu cel dat, înlocuind adecvat structura
cât timp...execută cu o structură repetitivă de alt tip. (6p.)
Ministerul Educaţiei și Cercetării
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Testul 4
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
2. Variabilele nrv1 și lgm1 memorează numărul de vârfuri și lungimea muchiei pentru un poliedru regulat,
iar variabilele nrv2 și lgm2 memorează numărul de vârfuri și lungimea muchiei pentru un alt poliedru
regulat. Știind că numărul de vârfuri este un număr natural, iar lungimea muchiei este un număr real,
declarați corespunzător variabilele și scrieți o secvență de instrucțiuni în urma executării căreia să se
afișeze pe ecran, separate printr-un spațiu, lungimile muchiilor celor două poliedre, astfel încât cea care
corespunde poliedrului cu mai multe vârfuri să apară prima. (6p.)
3. Variabila a memorează un caracter, iar variabilele i şi k sunt de tip întreg. De la tastatură se citesc
numai litere mici ale alfabetului englez.
Fără a utiliza alte variabile, scrieţi secvența înlocuind punctele
de suspensie astfel încât, în urma executării secvenţei
obținute, variabila k să memoreze valoarea 1 dacă s-a citit cel
puțin o consoană, și valoarea 0 altfel.
Exemplu: dacă se citesc literele
o p t s p r e z e c e
variabila k va memora 1. (6p.)
...........
for(i=1;i<=11;i++)
{ cin>>a; | scanf(“%c”,&a);
.................
}
SUBIECTUL al III-lea (30 de puncte)
1. Două numere a și b sunt numite generatoare ale unui număr natural n dacă a∙b+[a/b]=n, unde s-a notat
cu [c] partea întreagă a numărului real c.
Se citește un număr natural n (n≥2) și se cere să se afișeze pe ecran toate perechile distincte de numere
naturale cu proprietatea că sunt generatoare ale lui n și că primul număr din pereche este par. Numerele din
fiecare pereche sunt separate prin simbolul minus (-), iar perechile sunt separate prin câte un spațiu. Dacă
nu există astfel de perechi, se scrie mesajul nu exista. Scrieţi, în pseudocod, algoritmul de rezolvare a
problemei enunțate.
Exemplu: dacă n=2020 se afișează pe ecran
2-1010 4-505 10-202 20-101 96-21 200-10 606-3 808-2 1010-1 (10p.)
2. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n [2,20]), şi cele n elemente
ale unui tablou unidimensional, numere naturale din mulţimea {0,1}. Programul afişează pe ecran numărul
de perechi de elemente egal depărtate de extremitățile tabloului care sunt complementare. Două elemente
sunt complementare dacă suma lor este 1: 0 este complementar lui 1 și 1 este complementar lui 0.
Exemplu: dacă n=10, și tabloul (1,0,1,1,0,0,0,1,1,1), se afişează pe ecran 2. (10p.)
3. Fişierul bac.txt conţine, în ordine descrescătoare, cel puţin două şi cel mult 106 numere naturale
din intervalul [0,109], separate prin câte un spaţiu. Se cere să se afişeze pe ecran, în ordine strict
descrescătoare, separate prin câte un spaţiu, numai numerele care apar în fişier o singură dată. Dacă
nu există niciun astfel de număr, se afișează pe ecran mesajul nu exista. Proiectați un algoritm
eficient din punctul de vedere al memoriei utilizate şi al timpului de executare.
Exemplu: dacă fişierul conţine numerele 100 100 50 50 50 49 16 12 12 12 10 9 9 7
pe ecran se afişează, în această ordine, numerele 49 16 10 7
a. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)
b. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)

More Related Content

PDF
E d informatica_2020_sp_mi_c_var_test_09
PDF
E d informatica_2020_sp_sn_c_var_test_02
PDF
E d informatica_2020_sp_mi_c_var_test_06
PDF
E d informatica_2020_sp_mi_c_var_test_01
PDF
E d informatica_2020_sp_mi_c_var_test_08
PDF
E d informatica_2020_sp_mi_c_var_test_05
PDF
E d informatica_2020_sp_sn_c_var_test_05
PDF
E info intensiv_c_si_001
E d informatica_2020_sp_mi_c_var_test_09
E d informatica_2020_sp_sn_c_var_test_02
E d informatica_2020_sp_mi_c_var_test_06
E d informatica_2020_sp_mi_c_var_test_01
E d informatica_2020_sp_mi_c_var_test_08
E d informatica_2020_sp_mi_c_var_test_05
E d informatica_2020_sp_sn_c_var_test_05
E info intensiv_c_si_001

What's hot (18)

PDF
E d informatica_2020_sp_sn_c_var_test_01
PDF
E d informatica_2020_sp_mi_c_var_test_04
PDF
E d informatica_2020_sp_mi_c_var_test_03
PDF
E d informatica_2020_sp_mi_c_var_test_02
PDF
E d informatica_2020_sp_mi_c_var_test_07
PDF
E d informatica_2020_sp_sn_c_var_test_03
PDF
E info pascal_siii_011
PDF
E c matematica_m1_var_07_lro
PDF
Simulare martie 2013 muras
PPS
Test funcții - 1
PDF
T 1 grafuri_2017_2018_sem_ii_rezolvat
DOCX
Probleme grafuri arbori
PDF
Quiz proiect AP
PDF
Calculul numeric teorie
DOC
Breviar teoretic
PPTX
Proiect nr complexe (1)
PPT
Aplicatii ale matematicii abordari interdisciplinare
PPT
Algebra clasa a vi a
E d informatica_2020_sp_sn_c_var_test_01
E d informatica_2020_sp_mi_c_var_test_04
E d informatica_2020_sp_mi_c_var_test_03
E d informatica_2020_sp_mi_c_var_test_02
E d informatica_2020_sp_mi_c_var_test_07
E d informatica_2020_sp_sn_c_var_test_03
E info pascal_siii_011
E c matematica_m1_var_07_lro
Simulare martie 2013 muras
Test funcții - 1
T 1 grafuri_2017_2018_sem_ii_rezolvat
Probleme grafuri arbori
Quiz proiect AP
Calculul numeric teorie
Breviar teoretic
Proiect nr complexe (1)
Aplicatii ale matematicii abordari interdisciplinare
Algebra clasa a vi a
Ad

Similar to E d informatica_2020_sp_sn_c_var_test_04 (20)

PDF
Bacalaureat INFO 203 matematica informatica
PDF
tap alfa
PDF
culegere-de-probleme-rezolvate-c-c-informatica_compress.pdf
TXT
Problemeinfo27.09
PPT
Proiect cl ix
PPS
Curs5-PC-Cl9
PPT
Proiect tic a_2b_andrei_andreea adina
PPT
Proiect tic a_2b_andrei_andreea adina
PPT
Proiect tic a_2b_andrei_andreea adina
PDF
Test i
PDF
Auxiliar clasa v
PDF
00007 backtracking
PDF
Probacl IX
PDF
Probacl ix
PDF
Probacl ix
PPS
Tehnici de programare triere
PDF
Test i
DOC
Probacl ix
PPT
Tehnici de programare_triere_1522
PPT
Algoritmi
Bacalaureat INFO 203 matematica informatica
tap alfa
culegere-de-probleme-rezolvate-c-c-informatica_compress.pdf
Problemeinfo27.09
Proiect cl ix
Curs5-PC-Cl9
Proiect tic a_2b_andrei_andreea adina
Proiect tic a_2b_andrei_andreea adina
Proiect tic a_2b_andrei_andreea adina
Test i
Auxiliar clasa v
00007 backtracking
Probacl IX
Probacl ix
Probacl ix
Tehnici de programare triere
Test i
Probacl ix
Tehnici de programare_triere_1522
Algoritmi
Ad

E d informatica_2020_sp_sn_c_var_test_04

  • 1. Ministerul Educaţiei și Cercetării Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Testul 4 Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 1 din 2 Examenul de bacalaureat naţional 2020 Proba E. d) Informatică Limbajul C/C++ Testul 4 Filieră teoretică, profil real, specializare științe ale naturii • Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu. • Timpul de lucru efectiv este de 3 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. Variabile x, y şi z sunt de tip întreg. Indicați o expresie C/C++ care are valoarea 1 dacă şi numai dacă x, y şi z au valori identice. a. x==y && x==z b. x==y==z c. !( x!=y && x!=z) d. !(x!=y!=z) 2. Pentru a verifica dacă într-un tablou unidimensional există elementul cu valoarea x=21 se aplică metoda căutării binare, iar succesiunea de elemente a căror valoare se compară cu x pe parcursul aplicării metodei este 10, 45, 21. Elementele tabloului pot fi: a. (2,5,10,21,45,50,70) b. (10,45,21,47,50,55) c. (2,5,7,10,21,45,70) d. (10,10,45,45,21,21) 3. Tablourile unidimensionale A şi B au valorile: A=(3,5,6,19,20) și B=(56,15,14,11,1). În urma interclasării lor în ordine crescătoare se obţine tabloul cu elementele: a. (3,5,6,11,1) b. (3,56,5,15,6,14,11,19,1,20) c. (1,3,5,6,11,14,15,19,20,56) d. (3,5,6,19,20,56,15,14,11,1) 4. Variabilele x şi y sunt de tip real. Indicaţi instrucţiunea care realizează o prelucrare echivalentă cu cea alăturată. (4p.) x=abs(y); a. if(x<0) x=-y; else x=y; b. if(y<0) x=-y; else x=y; c. while(y>0) { x=x*x; y=y-1;} d. while(y>0) { x=x*y; y=y-1;} 5. Variabilele reale x şi y memorează coordonatele, în planul xOy, ale centrului unui cerc. O expresie C/C++ care are valoarea 1, dacă şi numai dacă centrul cercului este pe una dintre cele două axe ale sistemului de coordonate al planului xOy, poate fi: a. x-y==0 b. x+y==0 c. x/y==0 d. x*y==0 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) ┌repetă │ c1n%10; n[n/10]; c2n%10 │┌dacă c1>c2 atunci ││ c2c1; c1n%10 │└■ │┌cât timp c1<c2 execută ││ scrie c1 ││ c2[c2/2] │└■ └până când n≤9 a. Scrieţi ce se afișează în urma executării algoritmului dacă se citeşte numărul 49335. (6p.) b. Scrieţi trei numere de patru cifre care pot fi citite astfel încât, pentru fiecare dintre acestea, în urma executării algoritmului, valoarea afişată să fie 1100. (6p.) c. Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.) d. Scrieţi în pseudocod un algoritm, echivalent cu cel dat, înlocuind adecvat structura cât timp...execută cu o structură repetitivă de alt tip. (6p.)
  • 2. Ministerul Educaţiei și Cercetării Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Testul 4 Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 2 din 2 2. Variabilele nrv1 și lgm1 memorează numărul de vârfuri și lungimea muchiei pentru un poliedru regulat, iar variabilele nrv2 și lgm2 memorează numărul de vârfuri și lungimea muchiei pentru un alt poliedru regulat. Știind că numărul de vârfuri este un număr natural, iar lungimea muchiei este un număr real, declarați corespunzător variabilele și scrieți o secvență de instrucțiuni în urma executării căreia să se afișeze pe ecran, separate printr-un spațiu, lungimile muchiilor celor două poliedre, astfel încât cea care corespunde poliedrului cu mai multe vârfuri să apară prima. (6p.) 3. Variabila a memorează un caracter, iar variabilele i şi k sunt de tip întreg. De la tastatură se citesc numai litere mici ale alfabetului englez. Fără a utiliza alte variabile, scrieţi secvența înlocuind punctele de suspensie astfel încât, în urma executării secvenţei obținute, variabila k să memoreze valoarea 1 dacă s-a citit cel puțin o consoană, și valoarea 0 altfel. Exemplu: dacă se citesc literele o p t s p r e z e c e variabila k va memora 1. (6p.) ........... for(i=1;i<=11;i++) { cin>>a; | scanf(“%c”,&a); ................. } SUBIECTUL al III-lea (30 de puncte) 1. Două numere a și b sunt numite generatoare ale unui număr natural n dacă a∙b+[a/b]=n, unde s-a notat cu [c] partea întreagă a numărului real c. Se citește un număr natural n (n≥2) și se cere să se afișeze pe ecran toate perechile distincte de numere naturale cu proprietatea că sunt generatoare ale lui n și că primul număr din pereche este par. Numerele din fiecare pereche sunt separate prin simbolul minus (-), iar perechile sunt separate prin câte un spațiu. Dacă nu există astfel de perechi, se scrie mesajul nu exista. Scrieţi, în pseudocod, algoritmul de rezolvare a problemei enunțate. Exemplu: dacă n=2020 se afișează pe ecran 2-1010 4-505 10-202 20-101 96-21 200-10 606-3 808-2 1010-1 (10p.) 2. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n [2,20]), şi cele n elemente ale unui tablou unidimensional, numere naturale din mulţimea {0,1}. Programul afişează pe ecran numărul de perechi de elemente egal depărtate de extremitățile tabloului care sunt complementare. Două elemente sunt complementare dacă suma lor este 1: 0 este complementar lui 1 și 1 este complementar lui 0. Exemplu: dacă n=10, și tabloul (1,0,1,1,0,0,0,1,1,1), se afişează pe ecran 2. (10p.) 3. Fişierul bac.txt conţine, în ordine descrescătoare, cel puţin două şi cel mult 106 numere naturale din intervalul [0,109], separate prin câte un spaţiu. Se cere să se afişeze pe ecran, în ordine strict descrescătoare, separate prin câte un spaţiu, numai numerele care apar în fişier o singură dată. Dacă nu există niciun astfel de număr, se afișează pe ecran mesajul nu exista. Proiectați un algoritm eficient din punctul de vedere al memoriei utilizate şi al timpului de executare. Exemplu: dacă fişierul conţine numerele 100 100 50 50 50 49 16 12 12 12 10 9 9 7 pe ecran se afişează, în această ordine, numerele 49 16 10 7 a. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.) b. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)