Sunteți pe pagina 1din 3

Ministerul Educaţiei Naționale

Centrul Naţional de Evaluare şi Examinare


Examenul de bacalaureat naţional 2018
Proba E. d)
Informatică
Limbajul C/C++
SIMULARE

Filiera teoretică, profilul real, specializarea științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.


• Timpul de lucru efectiv este de 3 ore.
• În rezolvările cerute, identificatorii utilizaţi 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Valoarea expresiei C/C++ alăturate este: (4p.) 2018/3/22
a. 30 b. 30.5758 c. 14784 d. 14798.7

2. Algoritmul alăturat este reprezentat în citeşte n


pseudocod. (număr natural)
S-a notat cu [a] partea întreagă a numărului real x 1
a și cu a%b restul împărțirii numărului natural a la ┌cât timp x≤[n/3] execută
numărul natural nenul b. │ y x+1
│┌cât timp y≤[n/3] execută
a) Scrieţi ce se afișează dacă se citește ││ z n-x-y
numărul 9. (6p.) ││┌dacă z%2=x%2 atunci
b) Scrieți cel mai mic număr natural care poate │││ scrie x,y,z,’*’
fi citit astfel încât, în urma executării ││└■
algoritmului, să se afișeze o singură dată ││ y y+1
simbolul *. (4p.) │└■
│ x x+1
c) Scrieţi în pseudocod un algoritm echivalent └■
cu cel dat, înlocuind adecvat prima structură scrie ’#’
cât timp...execută cu o structură
repetitivă de tip pentru...execută. (6p.)
d) Scrieţi programul C/C++ corespunzător
algoritmului dat. (10p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
1 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
SUBIECTUL al II-lea (30 de puncte)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera corespunzătoare
răspunsului corect.
1. Variabilele di și dj sunt de tip întreg. Indicați expresia C/C++ care are valoarea 1 dacă și
numai dacă perechea (di,dj) este una dintre următoarele: (-2018,0), (0,-2018), (0,2018),
(2018,0). (4p.)
a. abs(di)-abs(dj)==2018 && abs(di)*abs(dj)==0
b. abs(di)-abs(dj)==0 && abs(di)/abs(dj)==2018
c. abs(di)+abs(dj)==2018 && abs(di)*abs(dj)==0
d. abs(di)+abs(dj)==0 && abs(di)-abs(dj)==2018
2. În secvența C/C++ alăturată toate variabilele sunt întregi, iar r=0;
m>n. Expresia care poate înlocui punctele de suspensie x=n;
astfel încât, în urma executării secvenţei obţinute, variabila r y=m;
să memoreze diferenţa m-n este: do
(4p.) { x=x+1;
y=y-1;
r=r+1;
}while(......);
r=2*r;
if(x!=y)r=r-1;
a. r<=x/2 b. r<y/2 c. x<y d. x<=y

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


3. Variabilele întregi temp1 și temp2 memorează două temperaturi (în grade Celsius), iar
variabilele întregi an1 și an2 memorează anul în care a fost înregistrată prima, respectiv
cea de a doua dintre cele două temperaturi.
Scrieți o secvență de instrucțiuni C/C++ în urma executării căreia să se afișeze pe ecran
media celor două temperaturi și, pe rândul următor, mesajul ACTUAL în cazul în care
ambele temperaturi sunt înregistrate în anul 2018, sau mesajul ISTORIC în caz contrar.
Exemplu: dacă valorile variabilelor temp1 și temp2 sunt 20, respectiv 21, iar valoarea
fiecăreia dintre variabilele an1 și an2 este 2018, se afișează pe ecran
20.5
ACTUAL (6p.)
4. Se citește un număr natural, n (n≥1), și se cere să se scrie, în această ordine, numerele
naturale x și y, cu proprietatea că √n poate fi scris sub forma x ∙ y, unde x are o valoare
maximă.
Exemplu: pentru numărul n=15000, se scriu numerele 50 6, iar pentru numărul n=9, se
scriu numerele 3 1.
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
2 din 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele i şi j sunt de tip întreg. Indicați expresia care 1 1 1 1 1 1 1 8 8
poate înlocui punctele de suspensie astfel încât, în urma 1 1 1 1 1 1 8 8 8
executării secvenţei obţinute, să se afișeze pe ecran, în 1 1 1 1 1 8 8 8 1
această ordine, valorile alăturate. 1 1 1 1 8 8 8 1 1
for(i=0;i<9;i++) 1 1 1 8 8 8 1 1 1
{ for(j=0;j<9;j++) 1 1 8 8 8 1 1 1 1
if( ..................) 1 8 8 8 1 1 1 1 1
cout<<”8 ”; | printf(”8 ”); 8 8 8 1 1 1 1 1 1
else 8 8 1 1 1 1 1 1 1
cout<<”1 ”; | printf(”1 ”);
cout<<endl; | printf(”\n”);
} (4p.)
a. i+j>=7 || i+j<=9 b. i+j>=7 && i+j<=9
c. i+j>7 || i+j<9 d. i+j>7 && i+j<9

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.


2. Pentru a verifica dacă printre cele 7 elemente ale unui tablou unidimensional există unul
cu valoarea x=20, se aplică metoda căutării binare. Scrieți elementele unui tablou (în
ordinea în care apar în acesta), astfel încât succesiunea celor a căror valoare se compară
cu valoarea lui x pe parcursul aplicării metodei indicate să fie: 22, 3, 18. (6p.)
3. O pereche de valori naturale, una cu număr par de cifre, iar cealaltă cu număr impar de
cifre, se numește descentrată dacă se poate obține valoarea cu număr par de cifre din
cealaltă, prin duplicarea cifrei din mijlocul acesteia.
Exemplu: perechile 32345 și 323345, respectiv 1 și 11 sunt descentrate.
Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (n∈ ∈[2,102]),
apoi un șir de n numere naturale din intervalul [1,104) şi afișează pe ecran mesajul DA,
dacă acesta conține cel puțin o pereche descentrată, sau mesajul NU în caz contrar.
Exemplu: dacă se citesc numerele
7
233 2018 2333 11 3 1221 233
se afișează pe ecran mesajul
DA (10p.)
4. Se consideră un șir ai cărui termeni sunt numere naturale nenule, de o singură cifră.
Numim număr asociat al acestui șir un număr natural format cu termenii șirului, în ordinea
în care aceștia apar în șir.
Exemplu: numărul asociat șirului 1, 2, 5, 3, 2 este 12532.
Fişierul text bac.txt conţine numere naturale din intervalul [1,9]: pe prima linie un
număr, x, iar pe a doua linie un șir de cel puţin trei şi cel mult 105 termeni. Numerele aflate
pe aceeași linie a fișierului sunt separate prin câte un spațiu.
Se cere inserarea valorii x în șirul aflat pe a doua linie fișierului, astfel încât numărul
asociat șirului obținut să fie minim. Termenii șirului obținut se afișează pe ecran, separați
prin câte un spațiu.
Proiectați un algoritm eficient din punctul de vedere al memoriei utilizate și al timpului de
executare.
Exemplu: dacă fişierul bac.txt conţine numerele
6
1 7 5
atunci, pentru că numerele asociate șirurilor care se pot obține sunt
6175, 1675, 1765, 1756, pe ecran se afişează șirul:
1 6 7 5
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (8p.)

Probă scrisă la informatică Simulare


Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
3 din 3

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