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, 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++
Varianta 10

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. 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, 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. Un arbore cu 4 noduri, numerotate de la 1 la 4, NU poate fi reprezentat prin vectorul de
tai: (4p.)
a.
(0,1,2,3)
b.
(2,1,0,3)
c.
(4,4,4,0)
d.
(2,3,4,0)
2. Se consider un graf neorientat complet, cu 9 noduri. Pentru a obine un graf parial al su
cu dou componente conexe, fiecare dintre acestea fiind grafuri complete, numrul maxim
de muchii care pot fi eliminate este: (4p.)
a.
14
b.
18
c.
20
d.
24

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Se consider graful orientat cu 6 vrfuri, numerotate de la 1 la 6,
reprezentat prin matricea de adiacen alturat. Scriei un drum
elementar din graf, cu extremitatea iniial n vrful 4 i extremitatea
final n vrful 6. (6p.)
0 0 0 0 1 0
1 0 0 1 0 1
0 0 0 0 1 0
1 0 0 0 1 0
0 1 0 0 0 0
0 0 0 0 1 0
4. Variabila s poate memora un ir cu maximum 20 de caractere, iar variabila i este de tip
ntreg. Scriei ce se afieaz n urma executrii secvenei de instruciuni de mai jos.
strcpy(s,"BACALAUREAT");
cout<<strlen(s); | printf("%d",strlen(s));
i=0;
while (i<strlen(s)-1)
{ if(strchr("EAIOU",s[i])!=NULL) strcpy(s+i+1,s+i+2);
i++;
}
cout<<s; | printf("%s",s); (6p.)
5. Scriei un program C/C++ care citete de la tastatur dou numere naturale, m i n
(2m20, 2n20), i construiete n memorie un tablou bidimensional A, cu m linii i n
coloane, astfel nct parcurgndu-l linie cu linie, de sus n jos, i fiecare linie de la stnga la
dreapta, s se obin irul primelor nm numere naturale, pare, care NU sunt divizibile cu
5, ordonat strict cresctor. Programul afieaz pe ecran tabloul obinut, fiecare linie a
tabloului pe cte o linie a ecranului, elementele de pe aceeai linie fiind separate prin cte
un spaiu.
Exemplu: pentru m=4 i n=3 se obine tabloul alturat.
(10p.)
2 4 6
8 12 14
16 18 22
24 26 28
Ministerul Educaiei Naionale
Centrul Naional de Evaluare i Examinare

Prob scris la informatic Varianta 10
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. Utiliznd metoda backtracking, se genereaz toate posibilitile de a forma succesiuni de
cte 5 genuri muzicale distincte din mulimea {jazz, rock, latino, house, pop}, astfel
nct n fiecare succesiune genul latino precede genul house. Dou succesiuni sunt
distincte dac genurile muzicale sunt n alt ordine.
Primele cinci soluii generate sunt, n aceast ordine, (jazz, rock, latino, house, pop),
(jazz, rock, latino, pop, house), (jazz, rock, pop, latino, house), (jazz,
latino, rock, house, pop), (jazz, latino, rock, pop, house). Imediat nainte de
(pop, latino, house, jazz, rock) este generat soluia: (4p.)
a. (rock, jazz, house, latino, pop) b. (rock, jazz, latino, house, pop)
c. (pop, latino, rock, house, jazz) d. (pop, rock, latino, house, jazz)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
2. Se consider subprogramul f, definit
alturat. Scriei dou valori naturale distincte
din intervalul [1,50] pe care le poate avea
variabila ntreag x, astfel nct f(30,x) s
aib valoarea 5. (6p.)
int f(int a,int b)
{ if (b==0) return a;
else return f(b,a%b);
}
3. Se consider subprogramul triplete, cu un singur parametru, n, prin care primete o
valoare natural din intervalul [2,10
4
]. Subprogramul afieaz pe ecran toate tripletele
de numere naturale (x, y, z) cu proprietatea c x<y<z i xy+yz=n. Fiecare triplet se
afieaz pe cte o linie a ecranului, iar numerele din fiecare triplet sunt separate prin cte
o virgul i ncadrate ntre paranteze rotunde, ca n exemplu.
Scriei definiia complet a subprogramului.
Exemplu: pentru n=8 se afieaz pe ecran, nu neaprat n aceast ordine, tripletele:
(0,1,8)
(0,2,4)
(1,2,3) (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
cresctor obinut din toate numerele aflate pe a doua linie a fiierului. Dac irul are mai
puin de n termeni, 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
5
100 100000 1 100000 1000 100 10
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.)