Sunteți pe pagina 1din 3

Ministerul Educaiei Naionale

Centrul Naional de Evaluare i Examinare



Prob scris la informatic MODEL
Limbajul C/C++
Filiera teoretic, profilul real, specializrile: matematic-informatic, matematic-informatic intensiv informatic
Filiera vocaional, profilul militar, specializarea matematic-informatic
1
Examenul de bacalaureat naional 2014
Proba E. d)
Informatic
Limbajul C/C++
MODEL

Filiera teoretic, profilul real, specializrile: matematic-informatic
matematic-informatic intensiv informatic
Filiera vocaional, profilul militar, specializarea matematic-informatic

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. Indicai expresia care are valoarea 1 dac i numai dac numrul natural memorat n
variabila ntreag x are exact trei cifre. (4p.)
a.
x/1000==0 && x>99
b.
x/1000==0 || x<1000
c.
x%1000==0 && x<1000
d.
x%1000==0 || x>99

2. Se consider algoritmul
alturat, reprezentat n
pseudocod.
S-a notat cu x%y restul mpririi
numrului natural x la numrul
natural nenul y i cu [z] partea
ntreag a numrului real z.
citete a,b
(numere naturale nenule, ab)
nr 0
i a
repet
x i
ct timp x>9 i 1+x%10=[x/10]%10 execut
x [x/10]

dac x<10 atunci
nr nr+1

i i+1
pn cnd i>b
scrie nr
a) Scriei numrul afiat dac
pentru variabila a se citete
valoarea 20, iar pentru
variabila b se citete
valoarea 35. (6p.)
b) Dac pentru variabila a se citete valoarea 1000, scriei cel mai mare numr de patru cifre
care poate fi citit pentru variabila b astfel nct, n urma executrii algoritmului, valoarea
afiat s fie 5. (4p.)
c) Scriei n pseudocod un algoritm, echivalent cu cel dat, n care s se nlocuiasc structura
repet...pn cnd cu o structur repetitiv de tip pentru...execut. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)
Ministerul Educaiei Naionale
Centrul Naional de Evaluare i Examinare

Prob scris la informatic MODEL
Limbajul C/C++
Filiera teoretic, profilul real, specializrile: matematic-informatic, matematic-informatic intensiv informatic
Filiera vocaional, profilul militar, specializarea matematic-informatic
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. Variabila a memoreaz elementele unui tablou bidimensional cu 100 de linii i 100 de
coloane, numerotate de la 0 la 99. n limbajul C/C++ un element aflat pe linia 21 i coloana
50 a tabloului poate fi accesat prin: (4p.)
a.
a(50,21)
b.
a(50)(21)
c.
a[21;50]
d.
a[21][50]
2. ntr-un arbore cu rdcin considerm c un nod se afl pe nivelul x dac lanul elementar
care are o extremitate n nodul respectiv i cealalt extremitate n rdcina arborelui are
lungimea x. Pe nivelul 0 se afl un singur nod (rdcina).
Se consider un arbore cu rdcin, cu cinci niveluri. Toate nodurile de pe acelai nivel (cu
excepia ultimului nivel) au un numr egal (nenul) de descendeni direci (fii) i nu exist
dou niveluri cu acelai numr de noduri. Numrul minim de noduri de pe nivelul 4 este:(4p.)
a.
4
b.
9
c.
16
d.
18

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Se consider declararea alturat. Scriei o secven de
instruciuni n urma executrii creia cmpul mii al variabilei x
s memoreze litera M, dac numrul memorat n cmpul v al
acesteia este strict mai mare dect 999, sau litera A altfel.(6p.)
struct numar
{ int v;
char mii;
} x;
4. Scriei toate ciclurile elementare distincte ale unui graf neorientat cu 6 noduri, numerotate
de la 1 la 6, i muchiile [1,2], [1,4], [1,5], [2,3], [2,4], [3,4], [4,6].
Dou cicluri se consider distincte dac ele difer prin cel puin o muchie. (6p.)
5. Se consider un text cu cel mult 100 de caractere (litere mici ale alfabetului englez i
spaii), n care cuvintele sunt separate prin unul sau mai multe spaii.
Scriei un program C/C++ care citete de la tastatur un text de tipul menionat mai sus i
determin transformarea acestuia n memorie prin eliminarea unor vocale, astfel nct n
niciun cuvnt din text s nu existe dou vocale pe poziii alturate. Programul afieaz pe
ecran textul obinut. Se consider vocale literele a, e, i, o, u.
Exemplu: pentru textul oaia aceea e foarte blanda
se poate obine textul o ace e forte blanda
iar pentru textul ea e o oaie
se poate obine textul e e o o (10p.)
Ministerul Educaiei Naionale
Centrul Naional de Evaluare i Examinare

Prob scris la informatic MODEL
Limbajul C/C++
Filiera teoretic, profilul real, specializrile: matematic-informatic, matematic-informatic intensiv informatic
Filiera vocaional, profilul militar, specializarea matematic-informatic
3
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1. Se consider subprogramele f1 i f2, definite mai jos.

long f1 (int n)
{ if(n<10)
return n*f1(n+1);
return 10;
}
long f2 (int n)
{ if(n>1)
return n*f2(n-1);
return 1;
}
Identificai subprogramul care, la apel, pentru parametrul n=10, returneaz produsul
primelor 10 numere naturale nenule. (4p.)
a. att f1, ct i f2 b. numai f1 c. numai f2 d. nici f1, nici f2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
2.
Alfabetul Morse este format doar din simbolurile linie (notat cu -) i punct (notat cu ).
Utiliznd metoda bactracking se genereaz toate cuvintele scrise n alfabetul Morse,
formate din cte 5 simboluri, care ncep i se termin cu punct. Primele patru soluii
generate sunt, n aceast ordine:
- - - - - - - -
Scriei cea de a cincea i cea de a asea soluie, n ordinea generrii acestora. (6p.)
3. Se consider subprogramul divizor, cu doi parametri:
n, prin care primete un numr natural cu cel mult nou cifre (n>1);
d, prin care furnizeaz cel mai mare divizor prim al lui n.
Scriei definiia complet a subprogramului.
Exemplu: pentru n=50, dup apel d=5, iar pentru n=11, dup apel d=11. (10p.)
4. Fiierul bac.txt conine pe prima linie un numr natural par n cu cel mult patru cifre, iar
pe urmtoarea linie un ir de n numere naturale cu cel mult nou cifre. Numerele din ir
sunt n ordine descresctoare i sunt separate prin cte un spaiu.
Se cere s se afieze pe ecran cel mai mic numr din prima jumtate a irului care s fie
strict mai mare dect oricare numr din a doua jumtate a irului. Dac n fiier nu se afl
o astfel de valoare, pe ecran se afieaz mesajul Nu exista.
Pentru determinarea numrului cerut se utilizeaz un algoritm eficient din punctul de
vedere al memoriei i al timpului de executare.
Exemplu: dac fiierul bac.txt are coninutul
30
16 8 7 7 ... 7 7 2 1
de 26 de ori
atunci pe ecran se afieaz 8, iar dac fiierul are coninutul
6
7 7 7 7 2 1
atunci pe ecran se afieaz Nu exista.
a) Descriei n limbaj natural algoritmul utilizat, justificnd eficiena acestuia. (4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris. (6p.)

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