Sunteți pe pagina 1din 1

Ministerul Educaiei, Cercetrii i Tineretului

Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar



BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul II
Specializarea Matematic-informatic intensiv informatic
Subiectul II (30 de puncte) - Varianta 018

Pentru fiecare dintre itemii urmtori, scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Fiecare element al unei liste circulare, nevide, alocat dinamic, memoreaz n cmpul val
o valoare ntreag, iar n cmpul adr adresa elementului urmtor. tiind c variabila p
reine adresa unui element oarecare din list, iar variabila q este de acelai tip cu p,
precizai care dintre urmtoarele variante tiprete toate elementele listei? (4p.)
a.
q=p;
while(q!=p) {cout<<q->val;
q=q->adr;}
q=p;
while(q!=p) {printf(%d,q->val);
q=q->adr;}
b. q=p;
while(q->adr!=p){cout<<q->val;
q=q->adr;}
q=p;
while(q->adr!=p){printf(%d,q->val);
q=q->adr;}
c. q=p;
do{ cout<<q->val;
q=q->adr;
}while(q!=p);
q=p;
do{ printf(%d,q->val);
q=q->adr;
}while(q!=p);
d.
q=p->adr;
while(q!=p) {cout<<q->val;
q=q->adr;}
q=p->adr;
while(q!=p) {printf(%d,q->val);
q=q->adr;}
2. Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan coordonatele reale (abscisa i ordonata) ale unui punct n planul
xOy? (4p.)
a.
struct punct{float ox,oy;} x;
b.
char x[2];
c.
struct x{float ox,oy;};
d.
float x;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Un arbore binar este un arbore cu rdcin n care fiecare nod are cel mult 2 descendeni
direci (fii). nlimea unui arbore este reprezentat de numrul maxim de muchii ale unui
lan elementar ce unete rdcina cu un vrf terminal (frunz).
Pentru un arbore binar cu exact 8 noduri, care este nlimea minim posibil i care este
numrul de noduri terminale (frunze) n acest caz? (6p.)
4. In secvena alturat, variabila a
memoreaz un ir cu cel mult 100 de
caractere, iar variabila i este de tip ntreg.
Completai punctele de suspensie din
secven astfel nct aceasta s afieze
irul de caractere *nf*rm*t*c*. (6p.)
strcpy(a,informatica);
for(i=0;i<strlen(a);i++)
if(...)
cout<<...; | printf(...);
else
cout<<...; | printf(...);
Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20),
construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, numerotate
de la 1 la n. Fiecare element din matrice aflat pe o linie impar va fi egal cu numrul liniei pe
care se afl i fiecare element aflat pe o linie par va fi egal cu numrul coloanei pe care se
afl.
5.
Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe
cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii.
Exemplu: pentru n=5 se va afia matricea alturat. (10p.)
1 1 1 1 1
1 2 3 4 5
3 3 3 3 3
1 2 3 4 5
5 5 5 5 5

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