Sunteți pe pagina 1din 3

Ministerul Educaiei Naionale

Centrul Naional de Evaluare i Examinare



Prob scris la informatic Varianta 10
Limbajul C/C++
Filiera teoretic, profilul real, specializarea tiine ale naturii
1
Examenul de bacalaureat naional 2014
Proba E. d)
Informatic
Limbajul C/C++
Varianta 10

Filiera teoretic, profilul real, specializarea tiine ale naturii

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.
Timpul de lucru efectiv este de 3 ore.
n rezolvrile cerute, identificatorii utilizai 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).
n programele cerute, datele de intrare se consider corecte, validarea acestora
nefiind necesar.

SUBIECTUL I (30 de puncte)
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1. Variabila x este de tip ntreg i poate memora un numr natural cu cel mult dou
cifre. Valoarea maxim pe care o poate avea expresia C/C++ alturat este: (4p.)
x%7
a.
6
b.
14.14
c.
93
d.
693

2. Se consider algoritmul alturat, reprezentat n
pseudocod.
n 0
repet
citete x
(numr natural)
a 0
b 1
repet
c a+b
a b
b c
pn cnd cx
dac x=c atunci
n n+1

pn cnd x=0
scrie n
a) Scriei valoarea afiat dac se citesc, n
aceast ordine, numerele 10, 8, 11, 1, 21, 0.
(6p.)
b) Scriei un set de patru numere distincte din
intervalul [0,9] care pot fi citite astfel nct, n
urma executrii algoritmului, s se afieze
valoarea 0. (4p.)
c) Scriei n pseudocod un algoritm, echivalent cu
cel dat, n care s se nlocuiasc prima
structur repet...pn cnd cu o
structur repetitiv cu test iniial. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)
Ministerul Educaiei Naionale
Centrul Naional de Evaluare i Examinare

Prob scris la informatic Varianta 10
Limbajul C/C++
Filiera teoretic, profilul real, specializarea tiine ale naturii
2
SUBIECTUL al II-lea (30 de puncte)
Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera corespunztoare
rspunsului corect.
1. Indicai cel mai mare numr cu dou cifre pe care l poate
memora variabila ntreag x astfel nct expresia C/C++
alturat s aib valoarea 1. (4p.)
sqrt(x/10+x%10)==4
a.
16
b.
17
c.
88
d.
97
2. Se consider secvenele de mai jos, notate cu S1, S2 i S3, n care toate variabilele sunt
ntregi, iar variabilele k i n memoreaz cte un numr natural cu cel mult dou cifre (k<n).

//S1
p=((n*n-k*k+n+k)/2)%10;
//S2
p=0;
for(i=k;i<=n;i++)
p=(p+i)%10;
//S3
p=k;
for(i=k+1;i<=n;i++)
p=p%10+i;
Variabila p memoreaz ultima cifr a sumei numerelor naturale distincte din intervalul
[k,n] n urma executrii, independent, numai a secvenelor: (4p.)
a. S1 i S2 b. S2 i S3 c.
S2
d.
S1

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Variabila s este de tip char i memoreaz o liter mic a alfabetului englez. Scriei o
secven de instruciuni n urma executrii creia s se afieze pe ecran litera care i
urmeaz imediat n alfabetul englez celei memorate n variabila s, dac aceasta este o
vocal din mulimea {a,e,i}, sau litera care o precede imediat n alfabetul englez pe
aceasta n caz contrar.
Exemplu: dac s memoreaz litera e se afieaz f, iar dac s memoreaz litera c se
afieaz b. (6p.)
4. Se citete un numr natural, n (n2), i se cere s se afieze toate tripletele de numere
naturale (x, y, z) cu proprietatea c x<y<z i xy+yz=n. Numerele din fiecare triplet se
afieaz separate prin cte o virgul i ncadrate ntre paranteze rotunde, ca n exemplu.
Exemplu: pentru n=8 se afieaz, nu neaprat n aceast ordine, tripletele:
(0,1,8) (0,2,4) (1,2,3)
a) Scriei, n pseudocod, algoritmul de rezolvare pentru problema enunat. (10p.)
b) Menionai rolul tuturor variabilelor care au intervenit n algoritmul realizat la punctul a) i
indicai datele de intrare, respectiv datele de ieire ale problemei enunate. (6p.)
Ministerul Educaiei Naionale
Centrul Naional de Evaluare i Examinare

Prob scris la informatic Varianta 10
Limbajul C/C++
Filiera teoretic, profilul real, specializarea tiine ale naturii
3
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1. Pentru a verifica dac ntr-un tablou unidimensional exist elementul cu valoarea x=21, se
aplic metoda cutrii binare, iar succesiunea de elemente ale tabloului a cror valoare se
compar cu valoarea lui x pe parcursul aplicrii metodei indicate este: 49, 16, 21.
Elementele tabloului pot fi (n ordinea n care apar n tablou): (4p.)
a.
(16,17,21,29,49,80,95)
b.
(4,16,21,49,56,70,85)
c.
(7,9,10,16,21,45,49)
d.
(16,20,21,49,50,56,59)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
2. n secvena alturat toate variabilele sunt de tip
ntreg, iar numerele citite sunt naturale.
Scriei secvena nlocuind punctele de suspensie
astfel nct, n urma executrii secvenei
obinute, valoarea variabilei ok s fie 1 dac
toate valorile citite au fost strict mai mici dect
2014, sau 0 altfel. (6p.)
ok=.........;
for(i=1;i<=10;i++)
{ cin>>x; | scanf(%d,&x);
.......
}
3. Scriei un program C/C++ care citete de la tastatur un numr natural, n (2n50), i
construiete n memorie un tablou unidimensional cu n elemente, astfel nct,
parcurgndu-l de la stnga la dreapta, se obine irul primelor n numere naturale, pare,
care NU sunt divizibile cu 5, ordonat strict cresctor, ca n exemplu. Programul afieaz
pe ecran elementele tabloului obinut, separate prin cte un spaiu.
Exemplu: dac n=7, se obine tabloul (2,4,6,8,12,14,16). (10p.)
4. Fiierul bac.txt conine pe prima linie un numr natural, n (1n10
6
), iar pe a doua linie
cel mult 1000000 de numere naturale de forma 10
p
(0p9), separate prin cte un spaiu.
Se cere s se afieze pe ecran numrul care ar aprea pe poziia n n irul ordonat strict
cresctor obinut din toate numerele distincte aflate pe a doua linie a fiierului. Dac irul
are mai puin de n termeni distinci, se afieaz pe ecran mesajul Nu exista.
Pentru determinarea numrului cerut se utilizeaz un algoritm eficient din punctul de
vedere al timpului de executare.
Exemplu: dac fiierul bac.txt conine numerele
4
100 100000 1 100000 1000 100 10 100
atunci pe ecran se afieaz valoarea
1000
a) Descriei n limbaj natural algoritmul utilizat, justificnd eficiena acestuia. (4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris. (6p.)