Sunteți pe pagina 1din 50

Ministerul Educaiei, Cercetrii i Inovrii

Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar



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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
n secvena de mai jos, variabila a memoreaz un tablou bidimensional cu 20 de linii i 20 de
coloane, numerotate de la 1 la 20, cu elementele reale. Variabila p este real, iar i este de tip
ntreg.
1.
Care dintre instruciunile de mai jos poate nlocui punctele de
suspensie din secvena de program alturat astfel nct
executarea acesteia s determine memorarea n variabila p a
valorii produsului celor 40 de elemente aflate pe diagonalele
matricei. (4p.)
p=1;
for(i=1;i<=20;i++)
....
a.
p=p*a[21-i][i]*a[i][21-i];
b.
p=p*a[i][i]*a[i][20-i];
c.
p=p*a[i][i]*a[21-i][21-i];
d.
p=p*a[21-i][21-i]*a[i][21-i];
2. ntr-un graf orientat cu 7 noduri suma gradelor interioare ale tuturor nodurilor este egal cu
10. Care este valoarea sumei gradelor exterioare ale tuturor nodurilor? (4p.)
a.
5
b.
20
c.
10
d.
17

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
Se consider declarrile de mai jos, n care variabila ev memoreaz date despre un anumit
elev. Scriei instruciunea C/C++ prin care se iniializeaz anul naterii acestui elev cu
valoarea 1990. (6p.)
3.
struct data{
int zi;
int luna;
int an;
};
struct elev {
char nume[30];
struct data data_nasterii;
float media;
}ev;
4. Stiva S i coada C memoreaz numere ntregi. n ambele se introduc, n ordine, numerele 1,
2, 3, 4. Se noteaz cu SC operaia de extragere a unui element din stiva S i adugarea
acestuia n coada C, iar cu CS operaia de eliminare a unui element din coada C i
introducerea acestuia n stiva S.
Care este ultima valoare introdus n stiva S i care este ultima valoare care a fost adugat
n coada C la executarea urmtoarei secvene de operaii: CS; CS; SC; CS;
SC; SC; CS; (6p.)
Se consider un text alctuit din cel mult 250 de caractere, n care cuvintele sunt formate doar
din litere mici ale alfabetului englez i sunt separate prin unul sau mai multe caractere *.
Scriei un program C/C++ care citete de la tastatur textul i afieaz pe ecran, pe cte o
linie, toate secvenele formate din cte dou litere identice, ca n exemplu.
5.
Exemplu: dac textul citit este: se afieaz
perechile alturate.

(10p.)
ii
ii
oo


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. ntr-o stiv ce memoreaz numere ntregi se introduc, n ordine, urmtoarele numere:
1,2,3,4,5,6,7. Cte numere trebuie s eliminm din stiv astfel ca n vrful stivei s se
gseasc numrul 5 (4p.)
a.
5
b.
2
c.
3
d.
4
2. Pentru declaraia alturat precizai care din
instruciunile de atribuire este greit:
(6p.)
struct elev
{char nume[20];
int nota1;
int nota2;} e1,e2;
a.
e1=e2+1;
b.
e1.nume[2]=x;
c.
e1=e2;
d.
e1.nota1=e2.nota2+1;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Ce valoare are expresia de mai jos dac variabila s memoreaz irul de caractere
alfabet?
strlen(strcpy(s,s+2)) (4p.)
4. ntr-un graf neorientat cu 10 noduri, numerotate de la 1 la 10, exist cte o muchie ntre
oricare dou noduri numerotate cu numere consecutive i cte o muchie ntre nodul
numerotat cu 10 i fiecare dintre celelalte noduri. Cte subgrafuri cu exact 3 noduri, toate
adiacente dou cte dou, are graful dat? Scriei pentru fiecare dintre aceste subgrafuri
nodurile din care este format. (6p.)
Scriei un program C/C++ care citete de la tastatur numerele naturale m i n din intervalul
[1,24], apoi construiete n memorie i afieaz pe ecran un tablou bidimensional cu m
linii i n coloane astfel nct prin parcurgerea acestuia linie cu linie de sus n jos i fiecare
linie de la stnga la dreapta, se obin n ordine descresctoare toate numerele naturale de
la 1 la m*n, ca n exemplu.
5.
Fiecare linie a tabloului este afiat pe cte o linie a ecranului, elementele
aceleiai linii fiind separate prin cte un spaiu.
Exemplu: pentru m=4 i n=3 se va construi i afia tabloul alturat. (10p.)
12 11 10
9 8 7
6 5 4
3 2 1


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care din urmtoarele expresii are valoarea 1 dac i numai dac irul de caractere s,
format din exact 10 caractere, este obinut prin concatenarea a dou iruri identice? (6p.)
a.
strcmp(s,s+5)==0
b.
s==strstr(s,s+5)
c.
s==s+5
d.
strcmp(s,strcat(s,s+5))==0
2. Care dintre urmtoarele arce trebuie adugat unui graf orientat cu 5
noduri i cu matricea de adiacen alturat astfel nct n acest graf
s existe cel puin un drum ntre oricare dou vrfuri? (4p.)
0 1 0 1 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 1
1 0 0 0 0
a.
(3 , 5)
b.
(4 , 1)
c.
(5 , 3)
d.
(3 , 2)


Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Care sunt nodurile care au exact 2 descendeni pentru un arbore cu rdcin, cu 7 noduri,
numerotate de la 1 la 7, dat de vectorul de tai: (3,3,0,1,2,2,4)? (4p.)
4. Pentru declaraiile alturate, care este
numrul maxim de numere ntregi ce pot fi
memorate n variabila a? (6p.)
struct punct3D {
int x; int y; int z;};
struct punct3D a[10][10];
5. Un tablou bidimensional A cu m linii i n coloane (1m100, 1n100) conine pe prima linie
numerele 1,2,...,n, iar pe prima coloan numerele 1,2,...,m. Celelalte elemente ale
tabloului sunt date de relaia: A
i,j
=A
i-1,j
+A
i,j-1
. Scriei un program C/C++ care citete de la
tastatur numerele m i n i afieaz pe ecran ultima cifr a elementului de pe ultima linie i
ultima coloan a tabloului.

Exemplu: pentru m=3 i n=4 se va afia 5 deoarece elementele
tabloului A sunt:
(10p.)
1 2 3 4
2 4 7 11
3 7 14 25


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. ntr-o list simplu nlnuit, alocat dinamic, cu cel puin patru elemente, fiecare element
reine n cmpul urm adresa elementului urmtor din list sau NULL dac nu exist un
element urmtor. Dac variabilele p, q i r memoreaz adresele a trei noduri din list astfel
nct p -> urm = = q -> urm -> urm i r-> urm = = q atunci ordinea logic a nodurilor n
list (noduri identificate prin adrese) este: (4p.)
a.
r, q, p
b.
p, r, q
c.
p, q, r
d.
q, r, p
2. Care din urmtoarele proprieti este adevrat pentru un graf orientat cu n vrfuri i n arce
(n>3) care are un circuit de lungime n: (6p.)
a. exist un vrf cu gradul intern n-1 b. pentru orice vrf gradul intern i gradul
extern sunt egale
c. graful nu are drumuri de lungime strict
mai mare dect 2
d. gradul intern al oricrui vrf este egal cu
2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Stiva S i coada C memoreaz numere ntregi.n ambele se introduc, n ordine, numerele 1,
2, 3, 4. Se noteaz cu SC operaia de extragere a unui element din stiva S i adugarea
acestuia n coada C, iar cu CS operaia de eliminare a unui element din coada C i
introducerea acestuia n stiva S.
Care este ultima valoare introdus n stiva S i care este ultima valoare care a fost adugat
n coada C la executarea urmtoarei secvene de operaii: SC; CS; CS; SC;
CS ? (4p.)
4. Scriei o secven de instruciuni C/C++ care s iniializeze elementele unui tablou
bidimensional A, cu n linii i n coloane, 1<n100, cu numerele naturale 1,2,...,n, astfel
nct pe fiecare linie sau coloan s existe toate numerele din mulimea {1,2,...,n}.
(6p.)
5. Scriei un program C/C++ care citete de la tastatur dou iruri de caractere formate din
maximum 100 litere mici ale alfabetului englez i afieaz pe ecran cel mai lung sufix
comun al celor dou iruri de caractere. Dac cele dou iruri nu au niciun sufix comun,
atunci programul va afia pe ecran mesajul NU EXISTA.
Exemplu: pentru irurile marina i elena se va afia na (10p.)


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Structura de date la care se aplic principiul primul venit, primul ieit: (first in, first out)
este: (4p.)
a. lista nlnuit b. stiva
c. coada d. graf orientat
2. Un graf neorientat cu 8 noduri are gradele nodurilor egale cu 1,2,4,2,3,2,1,x. Pentru
ce valoare a lui x graful este arbore? (6p.)
a.
x=1
b.
x<3
c.
x>3
d. nicio valoare

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Se consider graful orientat din figura alturat. Care este numrul minim
de arce ce trebuie adugate grafului i care sunt aceste arce, astfel nct
oricare dou vrfuri din graf s fie unite prin drumuri elementare?
(6p.)

4. Scriei o secven de instruciuni C/C++ care determin, n urma executrii ei, afiarea pe
ecran a mesajului Corect dac un ir de maximum 100 caractere, memorat de variabila s,
este palindrom sau mesajul Incorect n caz contrar. Un ir de caractere este palindrom dac
citit de la nceput la sfrit este identic cu irul citit de la sfrit la nceput.
Exemplu: irul de caractere cojoc este palindrom (4p.)
Se consider un tablou bidimensional cu m linii i n coloane (1m100, 1n100), ale crui
elemente aparin mulimii {0,1,2}. Scriei un program C/C++ citete de la tastatur valorile m,
n i elementele tabloului i care afieaz pe ecran numerele de ordine ale coloanelor pentru
care produsul elementelor situate pe ele, este maxim. Liniile i coloanele tabloului se
numeroteaz de la 1 la m, respectiv de la 1 la n. Numerele se vor afia separate prin cte
un spaiu.
5.
Exemplu: pentru m=4 i n=4 i tabloul alturat se va afia:
1 2
(10p.)
2 1 1 0
1 1 1 1
2 2 2 1
1 2 1 1


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II
Specializarea Matematic-informatic intensiv informatic
Subiectul II (30 de puncte) - Varianta 026
Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Pentru graful neorientat din figura alturat, care este numrul de
muchii ale celui mai lung lan, format din noduri distincte, ce are
ca extremiti nodurile 1 i 3? (4p.)


a.
2
b.
3
c.
1
d.
4
2. Care este nodul ce poate fi ales ca rdcin a arborelui din figura
alturat, astfel nct fiecare nod care nu este de tip frunz s aib
un numr impar de descendeni direci (fii) ? (4p.)

a.
3
b.
4
c.
6
d.
1

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Care va fi irul de caractere afiat dup executarea
secvenei de program alturate, n care variabila s
memoreaz un ir cu cel mult 5 caractere ? (6p.)
char s[]=RATON;
s[1]=s[3];
cout<<s; | printf(%s,s);
4. ntr-o stiv care memoreaz numere, o valoare x poate fi adugat
numai dac n vrful stivei se afl un element cu o valoare strict mai mare
dect x; n caz contrar sunt eliminate toate elementele care nu
ndeplinesc aceast condiie i apoi se adaug valoarea x.
Exemplu: pentru stiva din fig.1, adugarea elementului 11 este
precedat de eliminarea elementelor ce conin valorile 2 i 10. Dup
adugare, stiva va avea coninutul din fig.2.


Dac stiva este iniial vid, care este numrul elementelor aflate n aceast stiv dup
adugarea, respectnd condiiile de mai sus, n ordine, a numerelor 20,5,16,9,3,7,5,4,8 ? (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural
n (2<=n<=9) i elementele unui tablou bidimensional A cu n linii i n
coloane, care memoreaz numere naturale mai mici dect 10, i
afieaz pe ecran (dac exist), separate prin cte un spaiu,
elementele din matrice care au proprietatea c sunt egale cu produsul
celorlalte elemente aflate pe aceeai coloan. Dac nu exist astfel de
elemente, programul va afia pe ecran mesajul NU EXISTA.
Exemplu: pentru matricea din figura alturat se afieaz, nu neaprat n
aceast ordine, valorile: 4 9 (4=1*2*2; 9=3*1*3). (10p.)


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II
Specializarea Matematic-informatic intensiv informatic
Subiectul II (30 de puncte) - Varianta 027
Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care este numrul minim de arce ce trebuie adugate n graful orientat
din figura alturat astfel nct fiecare vrf s aparin unui circuit?
(4p.)

a.
1
b.
2
c.
3
d.
4
2. Care este numrul nodurilor de tip frunz din arborele cu rdcin, cu 8 noduri, numerotate
de la 1 la 8, reprezentat prin vectorul de tai (2,0,6,2,4,4,5,5)? (6p.)
a.
3
b.
4
c.
5
d.
2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. n declararea alturat, cmpurile x i y ale nregistrrii reprezint
numrtorul, respectiv numitorul unei fracii de forma
y
x
.
Scriei instruciunile prin executarea crora se memoreaz n variabila
H fracia obinut prin adunarea fraciilor reinute n F i G. (6p.)
struct fractie
{
int x,y;
} F,G,H;
4. O list liniar simplu nlnuit, alocat dinamic,
reine n cmpul nr al fiecrui element cte un
numr natural, iar n cmpul urm, adresa
elementului urmtor din list sau NULL dac nu
exist un astfel de element. Lista memoreaz, n
acest ordine, doar numerele: 1, 2, 3, 4, 5.
p=prim;
while(p->urm!=NULL)
{p->urm->nr=p->nr*p->urm->nr;
p=p->urm;
}

tiind c variabila prim memoreaz adresa primului element al listei i c p este o variabil
de acelai tip cu prim, care va fi valoarea reinut n ultimul element al listei dup
executarea secvenei de program de mai sus? (4p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural
n (2<n<=10) i construiete n memorie o matrice A cu n linii i n
coloane n care toate elementele de pe prima linie, prima i ultima
coloan au valoarea 1 i oricare alt element A
ij
din matrice este egal cu
suma a 3 elemente situate pe linia i-1: primul aflat pe coloana j-1, al
doilea pe coloana j, iar al treilea pe coloana j+1, ca n exemplu.
Matricea va fi afiat pe ecran, linie cu linie, numerele de pe aceeai
linie fiind separate prin cte un spaiu.
Exemplu: pentru n=5 , se afieaz matricea alturat. (10p.)


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care este numrul minim de muchii ce pot fi eliminate din graful
alturat astfel nct n graful parial rezultat s existe exact un vrf de
grad 0? (6p.)

a.
1
b.
3
c.
2
d.
5
2. ntr-un arbore cu rdcin nivelul unui nod este egal cu lungimea lanului format din noduri
distincte care unete rdcina cu acel nod. Rdcina se afl pe nivelul 0. Dac toate
frunzele se afl pe nivelul 3 i oricare nod neterminal aflat pe un nivel k are exact k+1
descendeni direci (fii), care este numrul de noduri din acest arbore ? (4p.)
a.
8
b.
9
c.
10
d.
6

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. ntr-un tablou bidimensional A, cu n linii i n coloane, notm cu A
ij
elementul aflat pe linia i i
coloana j (1in, 1jn). Care este valoarea expresiei j-i dac elementul A
ij
este situat
pe diagonala principal a tabloului A? (4p.)
4. O list liniar simplu nlnuit, alocat dinamic, reine n
cmpul nr al fiecrui element cte un numr natural, iar n
cmpul urm, adresa elementului urmtor din list sau NULL
dac nu exist un element urmtor. Lista memoreaz, n
aceast ordine, ncepnd cu primul element al listei, doar
numerele: 1, 2, 3, 4, 5.
tiind c variabila prim memoreaz adresa primului element al
listei i c p este o variabil de acelai tip cu prim, care sunt, n
ordine, numerele memorate n elementele listei dup executarea
secvenei de program alturate? (6p.)
p=prim; x=p->nr;
while(p->urm!=NULL)
{p->nr = p->urm->nr;
p=p->urm;
}
p->nr=x;
5. irul de caractere s2 este clona irului de caractere s1 dac se poate obine din s1 prin
eliminarea tuturor apariiilor unei singure vocale. Se consider vocal orice liter din
mulimea {a,e,i,o,u}.
Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 20 litere
mici ale alfabetului englez i afieaz pe ecran (dac exist), toate clonele acestui cuvnt,
fiecare pe cte o linie a ecranului.
Exemplu: pentru cuvntul informatica se afieaz, nu neaprat n
aceast ordine, clonele scrise alturat. (10p.)
nformatca
infrmatica
informtic


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care este numrul maxim de noduri de grad 3 ntr-un graf neorientat cu 5 noduri? (4p.)
a.
4
b.
5
c.
3
d.
2
2. ntr-un arbore cu rdcin, nivelul unui nod este egal cu lungimea lanului
format din noduri distincte care unete rdcina cu acel nod. Care dintre
noduri trebuie ales ca rdcin n arborele din figura alturat astfel nct
pe fiecare nivel s se gseasc un numr impar de noduri? (6p.)

a.
2
b.
3
c.
6
d.
4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Care va fi irul de caractere afiat pe ecran dup
executarea secvenei de program alturate n
care variabila s memoreaz un ir cu cel mult 4
caractere iar variabila t un caracter? (4p.)
char s[]=arac;
t=s[1]; s[1]=s[3];
s[3]=t;
cout<<s; | printf(%s,s);
4. O list liniar dublu nlnuit, alocat dinamic, reine n
cmpul nr al fiecrui element cte un numr natural, n
cmpul urm, adresa elementului urmtor din list sau
NULL dac nu exist un element urmtor, iar n cmpul
prec, adresa elementului precedent din list sau NULL
dac nu exist un element precedent. Variabilele p i q
memoreaz adresa primului, respectiv ultimului element
al listei.
Care este numrul maxim de elemente pe care le poate
avea lista astfel nct, dup executarea secvenei
alturate, valoarea variabilei n s fie 3? (6p.)

n=0;
while(p!=q && q->urm!=p)
{
p=p->urm;
q=q->prec;
n=n+1;
}

Scriei un program C/C++ care citete de la tastatur un numr
natural n (1n6) i elementele unui tablou bidimensional A cu n linii
i n coloane, care memoreaz numere naturale nenule mai mici dect
100, i afieaz pe ecran produsul numerelor pivot pentru matricea
A dac exist astfel de numere, altfel va afia mesajul NU EXISTA.
Un numr natural x este pivot pentru matricea A dac nmulind
fiecare element de pe prima coloan cu numrul x, se obin, n
aceeai ordine, elementele unei alte coloane din matrice.
5.
Exemplu: pentru matricea din figura alturat se afieaz 8. (10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care este numrul minim de muchii ce trebuie mutate n graful din
figura alturat astfel nct acesta s fie conex i fiecare nod s
aparin unui ciclu? (6p.)

a.
0
b.
1
c.
2
d.
3
2. Care este valoarea expresiei strlen(s) pentru variabila s de tip ir de caractere,
declarat i iniializat astfel: char s[15]=Proba_E; (4p.)
a.
7
b.
15
c.
6
d.
5

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Care sunt nodurile de tip frunz din arborele alturat dac se alege ca
rdcin nodul 6? (6p.)

4. O list liniar simplu nlnuit, cu cel puin 5 elemente, alocat
dinamic, reine n cmpul nr al fiecrui element cte un numr
natural, iar n cmpul urm, adresa elementului urmtor din list sau
NULL dac nu exist un element urmtor. Variabila prim
memoreaz adresa elementului aflat pe prima poziie n list,
ultim adresa elementului aflat pe ultima poziie n list, iar p i q
sunt dou variabile de acelai tip cu prim. Pe ce poziie se va gsi
n lista modificat n urma executrii secvenei alturate, elementul
aflat pe poziia a doua, n lista iniial? (4p.)
p=prim;
prim=ultim;
while(p!=prim)
{q=p;p=p->urm;
ultim->urm=q;
ultim=q;
}
ultim->urm=NULL;
5. Scriei un program C/C++ care citete de la tastatur un numr
natural n (2<n<=15) i construiete n memorie o matrice A cu n linii
i n coloane n care orice element aflat pe prima linie sau pe prima
coloan are valoarea 1 i oricare alt element A
ij
din matrice este
egal cu suma a dou elemente din matrice, primul aflat pe linia i i pe
coloana j-1, iar cel de-al doilea pe coloana j i pe linia i-1.
Matricea va fi afiat pe ecran, linie cu linie, numerele de pe
aceeai linie fiind separate prin cte un spaiu.
Exemplu: pentru n=4 , se obine matricea alturat. (10p.)


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider graful neorientat cu 7 noduri, numerotate de la 1 la 7, i muchiile[1,3],
[2,3], [3,4], [3,5], [5,4], [1,2], [2,5], [2,4], [6,7], [3,6]. Care dintre
urmtoarele succesiuni de noduri reprezint un lan care trece o singur dat prin toate
nodurile grafului? (4p.)
a.
(1, 2, 3, 4, 5, 6, 7)
b.
(4, 5, 3, 6, 7)
c.
(7, 6, 3, 5, 4, 2, 1)
d.
(1, 3, 5, 4, 2, 3, 6)
2. Un arbore cu 11 noduri, numerotate de la 1 la 11, este memorat cu ajutorul vectorului de
tai t=(2,5,5,3,0,2,4,6,6,2,3). Mulimea tuturor ascendenilor nodului 8 este: (4p.)
a.
{1, 2, 5, 6, 10}
b.
{6, 2, 5}
c.
{6}
d.
{5, 2}

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare:
3. Scriei definiia corect a unui tip de date necesar pentru a memora simultan, ntr-o singur
variabil de acest tip, urmtoarele caracteristici ale unui autoturism: marca (cuvnt de
maximum 20 caractere) i anul fabricaiei (numr natural format din exact 4 cifre), astfel
nct expresia C/C++ de mai jos s aib ca valoare vechimea mainii ale crei caracteristici
sunt memorate n variabila x.
2008-x.anul_fabricatiei (6p.)
4. n secvena alturat, variabilele i i j sunt de tip ntreg, iar
variabila a memoreaz o matrice n care prima linie i prima
coloan sunt numerotate cu 1. Toate elementele matricei
primesc valori n urma executrii secvenei.
Scriei n ordine, ncepnd cu prima linie, doar elementele situate
pe cea de-a treia coloan a matricei. (6p.)
for(j=1;j<=6;j++)
for(i=1;i<=4;i++)
a[i][j]=2*i+j;
5. Se consider o list liniar simplu nlnuit alocat dinamic n care fiecare nod memoreaz
n cmpul info un cuvnt format din cel mult 20 de caractere, doar litere mari ale
alfabetului englez, iar n cmpul urm, adresa urmtorului nod al listei sau NULL dac nu
exist un element urmtor.
Scriei un program C/C++ care citete de la tastatur un numr natural n (n100) i apoi n
cuvinte distincte, fiecare cuvnt fiind format din cel mult 20 de caractere, doar litere mari ale
alfabetului englez, i construiete o list simplu nlnuit, cu acele cuvinte citite, care ncep
i se termin cu aceeai liter. Cuvintele se vor memora n list n ordine invers citirii lor.
Programul va afia pe ecran cuvintele din list, n linie, separate prin cte un spaiu.
Exemplu: pentru n=9 i cuvintele citite:
URSUZU IRI E SUPARAT POP DORIS SI ANA CITESC
lista va fi:
(10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Un graf orientat este reprezentat cu ajutorul listelor de
adiacen scrise alturat. Nodurile grafului care au gradul
exterior egal cu 2 sunt: (4p.)
1:(5,6)
2:(1,5,4)
3:(1,5)
4:(1,2)
5:(2)
6:(2,4,5)
a. 2 i 5 b. 1,3 i 4 c.
6
d. 2 i 3
2. Graful neorientat cu 8 noduri, numerotate de la 1 la 8, este
reprezentat cu ajutorul matricei de adiacen alturate. Pentru acest
graf este adevrat afirmaia: (4p.)



a. Graful este hamiltonian b. Graful nu are noduri de grad 0
c. Gradul maxim al unui nod este 3 d. Graful are trei componente conexe

Scriei pe foaia de examen rspunsul pentru fiecare dintre ntrebrile urmtoare:
3. ntr-o structur de date de tip coad au fost adugate, n aceast ordine, urmtoarele valori:
3, 10, 2, 8 i 6. Care este ultima valoare care s-a extras din coad dac s-au efectuat, n
aceast ordine, urmtoarele operaii: extragerea unui element, adugarea valorii 100,
extragerea a trei elemente. (6p.)
4. n secvena alturat, variabilele i i j sunt de tip ntreg, iar
variabila A memoreaz o matrice n care prima linie i prima
coloan sunt numerotate cu 1. Toate elementele matricei
primesc valori n urma executrii secvenei.
Scriei n ordine, ncepnd cu prima coloan, doar elementele
situate pe a doua linie a matricei. (6p.)
for(j=1;j<=6;j++)
for(i=3;i>=1;i--)
a[i][j]=i+j
5. Scriei un program C/C++ care citete de la tastatur dou caractere c1 i c2 (litere
distincte ale alfabetului englez), i un text avnd cel mult 250 caractere (doar spaii i litere
ale alfabetului englez), pe care l modific nlocuind toate apariiile caracterului memorat n
c1 cu cel memorat n c2 i toate apariiile caracterului memorat n c2 cu cel memorat n c1.
Programul afieaz pe linii separate ale ecranului att textul iniial ct i textul obinut dup
efectuarea nlocuirilor. (10p.)
Exemplu: dac pentru c1 se citete a, pentru c2 se citete o iar textul citit este:
hocus pocus preparatus
se va afia :
hocus pocus preparatus
hacus pacus preporotus

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider graful neorientat cu 6 noduri, definit cu ajutorul
listelor de adiacen alturate. Care dintre mulimile urmtoare
de noduri are toate elementele extremiti ale unor lanuri
elementare de lungime 2 cu cealalt extremitate n nodul 5?
(4p.)
1: 4,5,6
2: 5
3: 4

4: 1,3
5: 1,2,6
6: 1,5

a.
{1,4,6}
b.
{2}
c.
{3}
d.
{2,6}
2. Un arbore cu rdcin are nodurile numerotate de la 1 la 18 i este reprezentat prin
vectorul de tai t=(8,8,0,3,4,3,4,7,1,2,3,3,7,8,3,5,6,8). Numrul tuturor
descendenilor nodului 3 este egal cu: (4p.)
a.
3
b.
6
c.
17
d.
18

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare
3. Scriei definiia corect a unui tip de date necesar pentru a memora simultan ntr-o singur
variabil de acest tip, urmtoarele caracteristici ale unui cerc: abscisa i ordonata centrului
cercului (numere ntregi cu cel mult 4 cifre) i raza acestuia (numr real), astfel nct
expresia de mai jos s calculeze diametrul cercului ale crui caracteristici sunt memorate n
variabila x.
2*x.raza (6p.)
4. n secvena alturat, variabilele i, j i x sunt de tip ntreg, iar
variabila a memoreaz o matrice n care prima linie i prima
coloan sunt numerotate cu 1. Toate elementele matricei
primesc valori n urma executrii secvenei.
Scriei n ordine, ncepnd cu prima coloan, elementele
situate pe fiecare linie a matricei care se va construi n urma
executrii secvenei alturate. (6p.)
x=2;
for(j=1;j<=5;j++)
for(i=1;i<=3;i++)
{ a[j][i]=x;
x=x+1;
}
5. O list dublu nlnuit, alocat dinamic, memoreaz n cmpul info al fiecrui nod un
numr real, iar n cmpurile urm i prec adresa nodului urmtor, respectiv precedent din
list sau NULL dac nu exist un element urmtor, respectiv precedent. Adresa primului nod
este memorat n variabila prim.
Considerndu-se creat lista dublu nlnuit, scriei declarrile de date necesare definirii
listei precum i secvena de program C/C++ care modific lista, insernd n list dup
fiecare nod ce memoreaz n cmpul info o valoare negativ, un nou nod ce va memora
n cmpul info valoarea 0, i afieaz toate informaiile din nodurile listei dup efectuarea
acestei operaii. (10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Graful neorientat cu 60 de noduri, numerotate de la 1 la 60, are numai muchiile: [1,60],
[60,20], [2,30] i [4,30]. Numrul componentelor conexe ale grafului este egal cu:
(4p.)
a.
3
b.
56
c.
54
d.
0
2. ntr-un arbore cu rdcin, cu 10 noduri, numerotate de la 1 la 10, nodul 10 este rdcin,
iar ntre celelate noduri exist relaia: nodul cu numrul i+1 este tatl celui cu numrul i,
pentru i{1,2,3,4,5,6,7,8,9}. Vectorul de tai al arborelui astfel definit, este: (4p.)
a.
(0,1,2,3,4,5,6,7,8,9)
b.
(1,2,3,4,5,6,7,8,9,0)
c.
(2,3,4,5,6,7,8,9,10,0)
d.
(9,8,7,6,5,4,3,2,1,0)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. ntr-o list simplu nlnuit alocat dinamic sunt memorate
n ordine, urmtoarele valori:
2 ->3 ->4 ->7 ->5 ->9 ->14
Dac p este este o variabil care reine adresa primului
element al listei i fiecare element reine n cmpul urm
adresa elementului urmtor din list sau NULL dac nu
exist un element urmtor, care este informaia din
elementul a crui adres o va reine p n urma executrii
secvenei alturate? (6p.)
p=p->urm;
while(p->urm->urm!=0)
p=p->urm->urm;

4. Ce se va afia n urma executrii secvenei
alturate, n care variabila c memoreaz un ir cu
cel mult 20 de caractere, iar i este o variabil de
tip ntreg? (6p.)
char c[21]="tamara",*p;
for(i=0;i<strlen(c);i=i+1)
{ p=strchr(c,'a');
cout<<p-c; | printf(%d,p-c);}
5. Scriei programul C/C++ care citete de la tastatur un numr natural n (n20),
construiete n memorie i afieaz pe ecran, matricea cu n linii i n coloane, n care se vor
memora n ordinea cresctoare a valorii, pe linii i coloane, primele n
2
numere naturale
nenule, pare, care nu sunt divizibile cu 3.

Fiecare linie a matricei se va afia pe cte o linie a ecranului, cu
elementele de pe aceeai linie separate prin cte un spaiu.
Exemplu: pentru n=4 se va construi i afia matricea alturat.
(10p.)
2 4 8 10
14 16 20 22
26 28 32 34
38 40 44 46



Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider graful neorientat cu mulimea nodurilor {1,2,3,4,5,6,7,8} i mulimea
muchiilor {[1,2], [2,3], [2,4], [4,7], [2,6], [1,5], [5,6], [6,8], [7,8]}.
Pentru a trasforma graful ntr-un arbore, putem elimina: (4p.)
a. muchiile [1,5] i [1,2] b. muchia [5,6]
c. nodul 3 d. muchiile [2,6] i [4,7]
2. Se consider o list alocat dinamic care are cel puin 10 elemente i fiecare element al
listei memoreaz n cmpul info un numr ntreg, iar n cmpul next adresa elementului
urmtor n list sau NULL dac nu exist un element urmtor.

Variabila p memoreaz adresa de nceput a
listei, iar variabila aux este de acelai tip cu p.
Dac n urma executrii secvenei alturate de
program, variabila p are valoarea NULL,
atunci: (4p.)
while (p!=NULL && p->info%5!=0)
{ aux=p;
p=aux->next;
delete aux; | free(aux);
}
a. toate numerele din list sunt divizibile cu
5
b. doar primul element din list este divizibil
cu 5
c. n list nu s-a memorat niciun numr
divizibil cu 5
d. doar ultimul element memorat n list este
divizibil cu 5

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Ce se va afia n urma executrii secvenei
alturate, n care variabila c memoreaz un ir cu
cel mult 20 de caractere, iar variabila i este de tip
ntreg? (6p.)
char c[]="tamara";
for(i=0;i<3;i++)
c[i]=c[i+1];
cout<<c; | printf("%s",c)
4. Un graf neorientat cu 10 noduri, numerotate de la 1 la 10,
este reprezentat cu ajutorul listelor de adiacen alturate.
Cte componente conexe are graful i care este numrul
minim de muchii ce trebuie adugate pentru ca graful s fie
conex? (6p.)
1:3,5
2:4
3:1,5
4:2,8
5:1,3

6:
7:10
8:4
9:
10:7
5. Scriei programul C/C++ care citete de la tastatur un numr natural n (n50) i
construiete n memorie o matrice cu n linii i n coloane, ale crei elemente sunt
numere ntregi citite de la tastatur. Pentru fiecare coloan a matricei, n ordine, programul
afieaz pe ecran cel mai mic numr de pe respectiva coloan. Numerele afiate vor fi
separate prin cte un spaiu. (10p.)

Exemplu: pentru n=4 i matricea alturat, se vor afia
pe ecran valorile: -7 18 -10 2.
122 103 5 10
-7 18 -10 2
107 999 59 4
1 200 100 7

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. tiind c n urma executrii secvenei
alturate s-a afiat succesiunea de
caractere EXAMEN, care este irul de
caractere memorat de variabila s? (6p.)
x=strlen(s);
for (i=0;i<x/2;i++)
cout<<s[i]<<s[x-i-1];
| printf(%c%c,s[i],s[x-i-1]);
a.
ENXAME
b.
EAENMX
c.
NEEXMA
d.
NEMAXE
2. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul adr
adresa urmtorului element din list sau NULL dac nu exist un element urmtor, iar n
cmpul info un numr ntreg. Adresa primului element al listei este memorat n variabila
p. tiind c lista conine exact 4 elemente, atunci expresia p->adr->info reprezint:
(4p.)
a. adresa celui de al doilea element b. adresa celui de al treilea element
c. valoarea memorat n al doilea element d. valoarea memorat n al treilea element

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Se consider un graf neorientat cu 7 noduri numerotate de la 1 la 7 i muchiile
[1,2],[1,3],[2,3],[2,4],[2,5],[2,6],[4,6],[5,7],[6,7]. Care este numrul
minim de muchii ce trebuie adugate astfel nct graful s devin eulerian i care sunt
aceste muchii? (6p.)
4. Cte muchii trebuie eliminate dintr-un graf neorientat complet cu 20 de noduri, pentru ca
graful parial obinut s fie arbore? (4p.)
5. Se consider o matrice cu n linii i m coloane (1n30, 1m30),
ce memoreaz numere ntregi de cel mult 4 cifre fiecare. Scriei un
program C/C++ care citete de la tastatur valorile n, m i
elementele matricei i care afieaz pe ecran, separate prin cte
un spaiu, valorile minime de pe fiecare coloan, n ordine de la
ultima la prima coloan.
Exemplu: pentru n=4, m=4 i matricea alturat se vor afia pe
ecran valorile 3 7 2 3. (10p.)


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Fie declarrile alturate. Dac variabila x
reine informaii despre un elev, precizai
care este varianta corect ce afieaz prima
liter din numele acestuia? (4p.)
struct elev{
char nume[30];
float nota;};
elev x;
a. cout<<nume; | printf(%c,nume);
b. cout<<x; | printf(%c,x);
c. cout<<x.nume; | printf(%c,x.nume);
d. cout<<x.nume[0]; | printf(%c,x.nume[0]);
2. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare nod reine n cmpul adr
adresa urmtorului nod din list sau NULL dac nu exist un nod urmtor, iar n cmpul
info un numr ntreg. Variabilele d i q rein adresele cte unui nod (nodul referit de d
este inclus n list, iar cel referit de q nu aparine listei). S se identifice secvena de
instruciuni care realizeaz inserarea corect, n list, a nodului referit de variabila q, ca
succesor al nodului referit de variabila d. (4p.)
a.
d->adr=q; q->adr=d;
b.
q->adr=d->adr; d->adr=q;
c.
d->adr=q; q->adr=d->adr;
d.
d=q; q->adr=d->adr;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Se consider un graf orientat cu 5 vrfuri reprezentat n
figura alturat.
a) Care este matricea de adiacen corespunztoare
grafului? (6p.)
b) Scriei vrfurile care au gradul intern maxim. (6p.)


4. Un ir cu maximum 255 de caractere conine cuvinte separate prin unul sau mai multe spaii.
Cuvintele sunt formate numai din litere mici ale alfabetului englez. Scriei un program C/C++
care citete un astfel de ir i l afieaz modificat, prima i ultima liter a fiecrui cuvnt fiind
afiat ca liter mare.
Exemplu: pentru irul: maine este proba la informatica se va afia:
MainE EstE ProbA LA InformaticA (10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare nod reine n cmpul adr
adresa urmtorului nod din list sau NULL dac nu exist un nod urmtor, iar n cmpul
info un numr ntreg. Considerm c o astfel de list memoreaz, n ordine, doar valorile
7, 5, 4, 9, 3. Variabila d reine adresa nodului la care este memorat valoarea 4. Care
este secvena de instruciuni care trebuie executat pentru ca lista s conin, n ordine,
doar valorile 7, 5, 9, 3? (4p.)
a.
d->adr=d->adr; d->info=d->adr->info;
b.
d->adr=d->adr->adr;
c.
d->info=d->adr->info; d->adr=d->adr->adr;
d.
d->adr->adr=d->adr; d->adr->info=d->info;
2. Considerm c variabila s memoreaz irul de caractere
examen. Care va fi valoarea lui s dup executarea
instruciunilor scrise alturat? (4p.)
s[0]= E;
s[strlen(s)-1]= A;
s[strlen(s)/2-1]= N;
s[strlen(s)/2]= M;
a.
ExameN
b.
exAMen
c.
ExNMeA
d.
ExAMeN

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3.

Se consider un graf neorientat cu 7 noduri, numerotate de la 1 la 7 i muchiile [1,5],
[2,3], [2,4], [2,5], [3,4], [4,5], [4,7], [5,6], [5,7].
a) Cte cicluri elementare distincte exist n graf? Dou cicluri sunt distincte dac difer prin
cel puin o muchie. (3p.)
b) Care este lungimea maxim a unui ciclu elementar din acest graf? (3p.)
c) Care este numrul minim de muchii care trebuie eliminate astfel nct graful parial obinut
s aib 3 componente conexe? (6p.)
4. Se consider o matrice ptratic cu n linii i n coloane (1n30), ce
memoreaz numere ntregi nenule de cel mult dou cifre fiecare.
Scriei un program C/C++ care citete de la tastatur valoarea n i
elementele matricei i care afieaz pe ecran, ultima cifr a produsului
acelor elemente de pe diagonala secundar ce au proprietatea c sunt
valori minime pe coloanele lor. Dac nu exist astfel de elemente n
matrice, se va afia mesajul NU EXISTA.
Exemplu: pentru n=4 i matricea alturat se va afia pe ecran
valoarea 1 (3*7=21). (10p.)



Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Stabilii care dintre urmtorii vectori este vector de tai pentru
arborele cu 7 noduri, numerotate de la 1 la 7, cu rdcina 1,
reprezentat prin matricea de adiacen alturat: (4p.)


0 1 0 0 1 0 0
1 0 1 1 0 0 0
0 1 0 0 0 0 0
0 1 0 0 0 0 0
1 0 0 0 0 1 1
0 0 0 0 1 0 0
0 0 0 0 1 0 0
a.
(1, 0, 2, 2, 1, 5, 5)
b.
(0, 1, 2, 2, 1, 5, 5)
c.
(3, 1, 0, 2, 1, 5, 6)
d.
(2, 1, 0, 2, 1, 5, 2)
2. Un graf neorientat cu 7 noduri, numerotate de la 1 la 7 are muchiile [1,5], [2,3],
[2,4], [2,5], [3,4], [4,5], [4,7], [5,6], [5,7]. Cte cicluri elementare
distincte exist n graf? Dou cicluri sunt distincte dac difer prin cel puin o muchie. (4p.)
a.
7
b.
4
c.
5
d.
6

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. ntr-o list liniar simplu nlnuit, alocat dinamic,
fiecare element reine n cmpul info un numr ntreg,
iar n cmpul leg adresa urmtorului nod din list sau
NULL dac nu exist un nod urmtor. Adresa primului
element al listei este memorat n variabila p. Ce
valoare se va afia, n urma executrii secvenei
alturate, dac lista memoreaz, n ordine, doar valorile
5, 4, 3, 2, 6 ? (6p.)
x=1;
while (p->leg!=NULL)
{
x=x * p->leg->info;
p=p->leg;
}
cout<<x;|printf(%d,x);
4. Considerm declaraiile:
int i,j,a[10][10];
Ce se va afia dup
executarea secvenei de
instruciuni alturate?
(6p.)
for(i=1;i<=3;i++)
for(j=1;j<=3;j++) a[i][j]=i+j;
for(i=1;i<=3;i++){
for(j=1;j<=3;j++)
cout<<a[i][j]; | printf(%d,a[i][j]);
cout<<endl; | printf(\n);
}
5. Un ir cu maximum 255 de caractere conine cuvinte separate prin cte un spaiu. Cuvintele
sunt formate numai din litere mici ale alfabetului englez. Scriei un program C/C++ care
citete de la tastatur un astfel de ir i l afieaz pe ecran modificat, inversnd prin
oglindire doar cuvintele care ncep cu vocal, ca n exemplu. Se consider ca fiind vocale
urmtoarele litere: a, e, i, o, u.
Exemplu: pentru irul: maine este proba la informatica se va afia:
maine etse proba la acitamrofni (10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider vectorul de tai" al unui arbore cu rdcin t=(3,4,0,3,3,5) ale crui
noduri sunt numerotate de la 1 la 6. Alegei afirmatia corect: (4p.)
a. nodurile 4 i 6 sunt noduri de tip frunz b. nodul 3 are un singur descendent direct
(fiu)
c. nodul 6 este tatl nodului 5 d. nodurile 1, 2, 6 sunt noduri de tip frunz
2. Se consider o coad, n care au fost introduse iniial, n aceast ordine,
dou numere: 2 i 1. Coninutul cozii este reprezentat n figura alturat.
Notm cu AD X operaia prin care se adaug informaia X n coad i cu EL
operaia prin care se elimin un element din coad. Asupra cozii se
efectueaz, exact n aceast ordine, operaiile AD 10; AD 15; EL; AD 4;
EL; AD 20; EL. Care este coninutul cozii dup executarea operaiilor de
mai sus? (4p.)
a.
15 4
b.
15 4 20
c.
4 20
d.
20

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Se consider un graf neorientat cu 8 noduri, numerotate de la 1 la 8, i muchiile [1,5],
[1,6], [2,6], [3,4], [3,6], [3,7], [4,6], [6,8], [7,8]. Dac se elimin nodul 6 i
toate muchiile incidente cu acesta cte componente conexe va avea subgraful rezultat?(6p.)
4. Considerm declaraiile:
int i,j,a[10][10];
Ce se va afia dup executarea
secvenei de instruciuni alturate?
(6p.)
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
if(i<j)a[i][j]=i;
else a[i][j]=j;
for(i=1;i<=3;i++){
for(j=1;j<=3;j++)
cout<<a[i][j]; | printf(%d,a[i][j]);
cout<<endl; | printf(\n);
}
5. Un ir cu maximum 255 de caractere conine cuvinte cuvinte formate numai din litere mici
ale alfabetului englez. Fiecare cuvnt este urmat de un caracter *. Scriei un program
C/C++ care citete un astfel de ir i afieaz pe ecran irul obinut prin eliminarea tuturor
apariiilor primului cuvnt, ca n exemplu.
Exemplu: pentru irul: bine*albine*foarte*bine* se va afia:
*albine*foarte** (10p.)



Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Cte dintre vrfurile grafului neorientat G, reprezentat prin matricea de
adiacen alturat, au gradul un numr par? (4p.)
0 1 0 0 1
1 0 1 1 0
0 1 0 1 1
0 1 1 0 1
1 0 1 1 0
a.
3
b.
1
c.
2
d.
5
2. Fiecare nod al unei liste simplu nlnuite, alocat dinamic, cu cel puin 4 noduri, reine in
cmpul urm adresa nodului urmtor din list sau NULL dac nu are un nod urmtor. tiind
c variabila p reine adresa primului nod din list, variabila q reine adresa celui de-al doilea
nod din list, iar variabila r reine adresa celui de-al treilea nod din list, care este secvena
prin care se interschimb al doilea cu al treilea element din lista iniial? (4p.)
a.
p->urm=r;
q->urm=r->urm;
r->urm=q;
b.
p->urm=r;
r->urm=q->urm;
q->urm=r->urm;
c.
r->urm=q->urm;
q->urm=r->urm;
p->urm=r;
d.
q->urm=r->urm;
p->urm=r;
r->urm=q->urm;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Pentru reprezentarea unui arbore cu rdcin, cu 10 noduri, etichetate cu numerele
naturale de la 1 la 10, se utilizeaz vectorul de tai: TATA=(4, 8, 8, 0, 10, 4, 8,
6, 2, 6). Care sunt frunzele arborelui? (6p.)
4. Ce se afieaz pe ecran n urma executrii
secvenei de program scris alturat, n
care i este o variabil de tip char? (6p.)
for (i='a';i<='z';i++)
if (strchr("info",i))
cout<<i; | printf("%c",i);
5. Scriei un program C/C++ care citete de la tastatur un numr natural n
(1n23) i apoi construiete n memorie o matrice cu n linii i n coloane,
numerotate de la 1 la n, astfel nct fiecare element situat pe o linie i
(1in) i pe o coloan j (1jn) va fi egal cu suma dintre i i j.
Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a
ecranului, elementele de pe aceeai linie fiind separate prin cte un spaiu.
Exemplu: dac n=4, se va afia matricea alturat. (10p.)
2 3 4 5
3 4 5 6
4 5 6 7
5 6 7 8

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Cte dintre vrfurile grafului neorientat G, reprezentat prin matricea de
adiacen alturat, au gradul 0? (4p.)
0 0 0 1 1
0 0 0 0 0
0 0 0 0 0
1 0 0 0 0
1 0 0 0 0
a.
2
b.
1
c.
3
d.
0
2. ntr-o list simplu nlnuit alocat dinamic, cu cel puin dou noduri, fiecare nod reine n
cmpul urm adresa nodului urmtor din list sau NULL dac nu are un nod urmtor. tiind
c variabila p reine adresa primului nod din list, iar variabila q este de acelai tip cu p,
care este secvena ce realizeaz eliminarea celui de-al doilea nod din list? (4p.)
a.
q=p->urm;
q->urm=p->urm->urm;
delete q; | free(q);
b.
p->urm=p->urm->urm;
delete p; | free(p);
c.
q=p->urm;
p->urm=p->urm->urm;
delete q; | free(q);
d.
p=q->urm;
q->urm=p->urm->urm;
delete q; | free(q);

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Pentru reprezentarea unui arbore cu rdcin, cu 9 noduri, etichetate cu numerele naturale
de la 1 la 9, se utilizeaz vectorul de tai: T=(5,0,2,7,3,3,2,4,7). Din cte muchii
este format un lan elementar de lungime maxim, n arborele dat? (6p.)
4. Variabila a memoreaz un tablou bidimensional cu 5 linii
si 5 coloane, numerotate de la 1 la 5, ale crui elemente
sunt numere ntregi. Care este cea mai mare valoare,
memorat n tablou, deasupra diagonalei principale a
tabloului construit n urma executrii secvenei de program
alturate ? (6p.)
for(i=1;i<=5;i++)
for(j=1;j<=5;j++)
a[i][j]=j%i+i%j;
5. Scriei programul C/C++ care citete de la tastatur un ir de cel mult 40 de caractere,
format doar din litere mici ale alfabetului englez, i care afieaz pe ecran, pe o singur
linie, toate vocalele ce apar n irul citit. Vocalele vor fi afiate n ordinea apariiei lor n ir,
separate prin cte un spaiu, ca n exemplu. Se consider ca fiind vocale urmtoarele litere:
a, e, i, o, u. Dac irul citit nu conine nicio vocal, se va afia pe ecran mesajul fara
vocale.
Exemplu: dac se citete irul calculator atunci pe ecran se va afia: a u a o (10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Un graf neorientat este reprezentat prin matricea de adiacen
alturat. Cte grafuri pariale distincte, formate doar din noduri cu
gradul egal cu 2, se pot obine din graful dat? Dou grafuri sunt
distincte dac matricele lor de adiacen difer. (4p.)
0 1 0 0 1
1 0 1 1 0
0 1 0 1 1
0 1 1 0 1
1 0 1 1 0
a.
3
b.
1
c.
2
d.
0
2. ntr-o list simplu nlnuit, alocat dinamic, fiecare element reine n cmpul urm adresa
elementului urmtor din list sau NULL dac nu are un element urmtor. Lista are cel puin
dou elemente, variabila p reine adresa primului element, iar q reine adresa ultimului
element din list. Care este numrul de elemente din list dac expresia de mai jos are
valoarea 1?
p->urm->urm==q (4p.)
a.
2
b.
3
c.
4
d.
5

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Pentru reprezentarea unui arbore cu rdcin, cu 10 noduri, etichetate cu numerele
naturale de la 1 la 10, se utilizeaz vectorul de tai: TATA=(4, 8, 8, 0, 10, 4, 8,
6, 2, 6). Care este rdcina arborelui i cte frunze are acesta? (6p.)
4. Ce se afieaz pe ecran n urma executrii
secvenei de program alturate, unde a este o
variabil de tip ir de caractere? (6p.)
strcpy(a,"informatica");
strcpy(a+2,a+5);
cout<<a; | printf("%s",a);
Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n23) i apoi
construiete n memorie o matrice cu n linii i n coloane astfel nct elementele situate pe
diagonala principal s fie egale cu 2, cele situate deasupra diagonalei principale s fie
egale cu 1, iar cele situate sub diagonala principal s fie egale 3.
5.
Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a
ecranului, cu cte un spaiu ntre elementele fiecrei linii.
Exemplu: dac n este 4 atunci programul va construi i va afia
matricea alturat. (10p.)
2 1 1 1
3 2 1 1
3 3 2 1
3 3 3 2

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Graful orientat G este reprezentat prin matricea de adiacen alturat.
Cte vrfuri din graful dat au gradul interior egal cu gradul exterior?
(4p.)
0 1 0 0 1
1 0 1 0 0
0 0 0 1 1
0 1 0 0 1
1 0 0 0 0
a.
0
b.
1
c.
3
d.
2
2. ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 4 elemente, fiecare nod reine in
cmpul urm adresa nodului urmtor din list sau NULL dac nu are un nod urmtor. tiind
c iniial variabila p reine adresa primului nod din list, care dintre secvenele de program
urmtoare determin, n urma executrii, memorarea n variabila p a adresei ultimului nod
din list? (4p.)
a.
while(p->urm!=NULL) p=p->urm;
b.
while(p!=NULL) p=p->urm;
c.
p=p->urm;
d.
p=p->p->urm;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Pentru reprezentarea unui arbore cu rdcin, cu 9 noduri, etichetate cu numerele naturale
de la 1 la 9, se utilizeaz vectorul de tai: T=(7,0,2,7,6,2,3,6,5). Care sunt nodurile
arborelui ce au exact 2 descendeni direci (fii)? (6p.)
4. Ce valoare se va afia pe ecran n urma executrii
secvenei de program alturate, tiind c variabila
a este de tip ir de caractere, iar i este o variabil
de tip ntreg? (6p.)
strcpy(a,"info");
for(i=0;i<strlen(a);i++)
a[i]=a[i]+1;
cout<<a; | printf("%s",a);
5. Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n23) i apoi
construiete n memorie o matrice cu n linii i n coloane, format din numere naturale
nenule, mai mici sau egale cu n, astfel nct s nu existe dou linii cu aceeai sum a
elementelor i nici dou coloane cu aceeai sum a elementelor.
Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a ecranului, cu un
spaiu ntre elementele fiecrei linii.
Exemplu: dac n=3 atunci o soluie posibil este urmtoarea matrice:
1 1 1
1 1 2
1 2 3 (10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Graful neorientat G este dat prin matricea de adiacen alturat.
Cte vrfuri ale grafului G au gradul 1? (4p.)
0 0 0 0 1
0 0 1 1 0
0 1 0 1 1
0 1 1 0 1
1 0 1 1 0
a.
1
b.
2
c.
3
d.
0
2. ntr-o list simplu nlnuit nevid, alocat dinamic, fiecare element reine n cmpul urm
adresa elementului urmtor din list sau NULL dac nu are un nod urmtor. tiind c
variabila p reine adresa primului element din list, variabila q reine adresa ultimului
element din list, iar lista este format din exact 3 elemente, care dintre urmtoarele
secvene de instruciuni determin, n urma executrii, eliminarea celui de-al doilea element
din list? (4p.)
a.
p->urm=q;
delete q; | free(q);
b.
p->urm=q;
delete p->urm; | free(p->urm);
c.
p=q;
delete p->urm; | free(p->urm);
d.
delete p->urm; | free(p->urm);
p->urm=q;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Pentru reprezentarea unui arbore cu rdcin, cu 9 noduri, etichetate cu numerele naturale
de la 1 la 9, se utilizeaz vectorul de tai: T=(2,0,1,7,3,1,2,4,1). Care sunt
descendenii direci ai rdcinii i cte frunze are arborele dat? (6p.)
4. Variabila a memoreaz elementele unui tablou bidimensional
cu 5 linii i 5 coloane (numerotate de la 1 la 5), numere ntregi.
Care este suma elementelor aflate pe diagonala secundar a
tabloului construit n urma executrii secvenei de program
alturate? (6p.)
for(i=1;i<=5;i++)
for(j=1;j<=5;j++)
a[i][j]=i-j;
5. Scriei programul C/C++ care citete de la tastatur un ir de cel mult 40 de caractere,
format doar din litere ale alfabetului englez, i care afieaz pe ecran toate irurile obinute
prin eliminarea succesiv a cte unei singure litere din irul citit, ca n exemplu. irurile se
vor afia cte unul pe cte o linie a ecranului.
Exemplu: dac se citete irul abbc atunci pe ecran se va afia:
bbc
abc
abc
abb (10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care dintre urmtoarele propoziii este fals pentru graful orientat G,
dat prin matricea de adiacen alturat? (4p.)
0 1 1 0 0
0 0 1 1 0
0 0 0 1 1
1 1 0 0 0
0 0 0 1 0
a. exist cel puin un nod n graful G care
are gradul intern egal cu cel extern
b. graful G nu are circuite
c. exist cel puin un drum ntre oricare
dou noduri ale grafului G
d. graful G are 9 arce
2. n secvena alturat, variabila v memoreaz
elementele unei matrice cu n linii, numerotate
de la 1 la n, si m coloane, numerotate de la 1
la m, iar toate celelalte variabile sunt ntregi.
Dac 1k<n, atunci executarea secvenei
determin: (4p.)
for ( i=k+1; i<=n; i++)
for (j=1; j<=m; j++)
v[i-1][j] = v[i][j];
n=n-1;
a. eliminarea liniei k din matrice b. adugarea liniei k n matrice
c. eliminarea coloanei k din matrice d. adugarea coloanei k n matrice

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Care sunt nodurile de tip frunz ale arborelui cu rdcin cu 9 noduri, numerotate de la 1 la
9, al crui vector de tai este (6, 6, 8, 8, 7, 7, 0, 7, 7)? (6p.)
4. ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 3 elemente, fiecare element reine
n cmpul inf un numr natural, iar n cmpul urm adresa elementului urmtor din list
sau NULL dac nu exist un element urmtor. Variabila p reine adresa primului element
din list. Dac se prelucreaz lista de mai jos, care este valoarea memorat de variabila
ntreag k, la finalul executrii urmtoarei secvene de instruciuni?


k=0;
while(p->urm->urm && p->inf > p->urm->inf)
{ p = p->urm; k = k + p->urm->inf; } (6p.)
5. Se consider un text format doar din spaii i litere mici ale alfabetului englez, care ncepe
cu o liter i care conine cel puin o vocal din multimea {a,e,i,o,u}. Scriei programul
C/C++ care citete de la tastatur un ir cu cel mult 100 de caractere, ca cel descris mai
sus i care determin transformarea acestuia prin nlocuirea fiecrei vocale din text cu litera
imediat urmtoare din alfabet (a se nlocuiete cu b, e se nlocuiete cu f .a.m.d.).
Programul va afia pe ecran irul obinut.
Exemplu: dac irul citit este examen de bacalaureat, dup modificare se afieaz:
fxbmfn df bbcblbvrfbt (10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care dintre urmtorii vectori NU poate reprezenta vectorul de tai al unui arbore cu
rdcin, cu 5 noduri, numerotate de la 1 la 5? (4p.)
a.
3 1 0 1 2
b.
2 0 1 1 2
c.
3 4 0 2 3
d.
4 1 1 0 2
2. Variabila s reine irul de caractere bacalaureat. Ce se afieaz la executarea
instruciunii de mai jos?
cout<<strchr(s,a); | printf(%s,strchr(s,a)); (4p.)
a.
2
b.
acalaureat
c.
4
d.
bcluret

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 2 elemente, fiecare element reine
n cmpul inf un numr natural, iar n cmpul urm adresa elementului urmtor din list sau
NULL dac nu exist un element urmtor. Variabila p reine adresa primului element din list.
Dac se prelucreaz lista de mai jos, care este valoarea memorat de variabila ntreag k,
la finalul executrii urmtoarei secvene de instruciuni?
k=0;
while((p->urm!=NULL) && (p->inf*p->urm->inf%10!=0))
{ p = p->urm; k ++; }
(6p.)
4. n declararea alturat, cmpurile a i b ale nregistrrii
reprezint numrtorul, respectiv numitorul unei fracii. Care este
expresia cu care se pot nlocui punctele de suspensie n secvena
de mai jos astfel nct dac fracia memorat n variabila f se
simplific prin numrul natural nenul k se afieaz mesajul DA?
if ( ) cout<< DA; | printf(DA); (6p.)
struct rap
{ int a, b; } f;
int k;
5. Scriei un program C/C++ care citete de la tastatur dou numere naturale m i n
(0<m10, 0<n10) i elementele unui tablou bidimensional cu m linii i n coloane care
reine numere naturale mai mici dect 100; programul va construi i va afia pe ecran un
nou tablou bidimensional cu n linii i m coloane, obinut din primul prin rotirea acestuia n
sens trigonometric cu 90
o
, ca n exemplu. (10p.)

Exemplu: pentru m=4,
n=5 i tabloul:

21 22 23 24 25
26 27 28 29 30
31 32 33 34 35
36 37 38 39 40
se va afia:

25 30 35 40
24 29 34 39
23 28 33 38
22 27 32 37
21 26 31 36

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 3 elemente, fiecare element reine
n cmpul inf un numr natural, iar n cmpul urm adresa elementului urmtor din list
sau NULL dac nu exist un element urmtor. Variabila p reine adresa primului element
din list, iar variabilele q i aux sunt de acelai tip cu p. Dac se prelucreaz lista de mai
jos, care va fi coninutul listei dup executarea urmtoarei secvene de instruciuni?
q=p;
while(q->urm->urm !=NULL && q->inf >= p->inf) q = q->urm;
aux=q->urm;
q->urm=aux->urm;
delete aux;

a.
8 5 8 9 3
b.
7 8 8 9 3
c.
7 8 5 8 9 3
d.
7 8 5 9 3
2. In secvena alturat, variabilele s1,
s2 i s3 rein iruri de caractere.
Dup executarea acesteia, variabila
ntreag val primete valoarea 1
dac: (4p.)
if(!(strcmp(s1,s2) || strcmp(s1,s3)))
val=1;
else val=2;
a. s1, s2, s3 rein iruri identice de
caractere
b. s1, s2, s3 rein iruri de caractere
ordonate lexicografic
c. s1, s2, s3 rein iruri de caractere de
lungimi diferite
d. s1 este obinut prin concatenarea irurilor
reinute n s2 i s3

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Care sunt arcele care alctuiesc un drum elementar de lungime
maxim de la nodul 1 la nodul 5 pentru graful orientat cu ase noduri
numerotate de la 1 la 6, reprezentat prin matricea de adiacen
alturat? (6p.)
0 1 1 1 0 0
0 0 0 0 0 1
0 1 0 1 0 0
0 0 1 0 0 1
0 1 0 0 0 0
0 0 0 0 1 0
4. n declararea alturat variabila a reine n cmpurile x i y
coordonatele unui punct n planul xOy. Care este expresia a crei
valoare reprezint distana punctului respectiv fa de originea
axelor de coordonate? (6p.)
struct punct
{ float x,y;
}a;
5. Scriei un program C/C++ care citete de la tastatur un numr
natural n (2<n<10) i care construiete n memorie i afieaz pe
ecran un tablou bidimensional cu n linii i n coloane astfel nct,
parcurgndu-l linie cu linie de sus n jos i fiecare linie de la stnga
la dreapta, se obin primele n
2
numere pare nenule, n ordine strict
cresctoare, ca n exemplu.
Exemplu: pentru n=4, se construiete i se afieaz tabloul
alturat. (10p.)
2 4 6 8
10 12 14 16
18 20 22 24
26 28 30 32

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care dintre urmtoarele propoziii NU este adevrat pentru graful orientat cu 6 vrfuri,
numerotate de la 1 la 6 i ale crui arce sunt: (2,1), (3,6), (4,1), (4,3), (4,5),
(5,2), (6,4)? (4p.)
a. vrful numerotat cu 6 aparine unui circuit b. vrful numerotat cu 1 are gradul extern 0
c. gradul intern al vrfului numerotat cu 4 este 1 d. graful nu are circuite
2. Fiind dat un tablou bidimensional cu 20 linii i 20 coloane, cte elemente se gsesc strict
deasupra diagonalei secundare a tabloului? (4p.)
a.
180
b.
200
c.
190
d.
210

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Variabila x, declarat alturat, memoreaz n cmpurile med1 i
med2 mediile semestriale ale unui elev. Scriei o expresie a crei
valoare va fi media anual a acestui elev. (6p.)
struct elev {
int matricol;
float med1,med2;
}x;
4. ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 2 elemente, fiecare element reine n
cmpul inf un numr natural, iar n cmpul urm adresa elementului urmtor din list sau
NULL dac nu exist un element urmtor. Variabila p reine adresa primului element din list,
iar variabila q este de acelai tip cu p. Dac se prelucreaz lista de mai jos, care va fi
coninutul listei dup executarea urmtoarei secvene de instruciuni?
q=p;
while(q->urm!=NULL && q->inf<=q->urm->inf) q=q->urm;
q->inf=q->urm->inf+1;
(6p.)
5. Un cuvnt s, de cel mult 20 caractere, format doar din litere mici ale alfabetului englez,
conine cel puin o consoan i cel puin o vocal. Scriei programul C/C++ care citete de la
tastatur cuvntul s, construiete n memorie i afieaz pe ecran cuvntul obinut prin
eliminarea tuturor consoanelor din cuvntul s. Se consider consoan oricare liter care nu
se afl n mulimea {a, e, i, o, u}.
Exemplu: dac se citete cuvntul bacalaureat, pe ecran se afieaz: aaauea (10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care este numrul de circuite distincte ale grafului orientat dat prin
matricea de adiacen alturat? Dou circuite sunt distincte dac
difer prin cel puin un arc. (4p.)
0 0 1 0 0 0
1 0 1 0 1 1
0 0 0 0 0 0
0 0 1 0 0 0
0 0 0 0 0 0
0 0 0 1 1 0
a.
0
b.
1
c.
2
d.
3
2. ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 2 elemente, fiecare element reine
n cmpul inf un numr natural, iar n cmpul urm adresa elementului urmtor din list
sau NULL dac nu exist un element urmtor. Variabila p reine adresa primului element
din list. Dac se prelucreaz lista de mai jos, care este valoarea memorat de variabila
ntreag k, la finalul executrii urmtoarei secvene de instruciuni?

k=3;
while(p->urm!=NULL && p->inf > p->urm->inf) p = p->urm;
k = k + p->urm->inf; (4p.)
a.
8
b.
10
c.
12
d.
13

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Care dintre nodurile arborelui din figura alturat pot fi
considerate ca fiind rdcin astfel nct n arborele cu
rdcin rezultat fiecare nod s aib cel mult doi
descendeni direci? (6p.)

4. Elementele tabloului bidimensional din figura alturat, cu 5 linii i
5 coloane, sunt toate numerele naturale cuprinse ntre 1 i 25
aezate n spiral, ncepnd cu primul element al primei linii i
continund n sens invers trigonometric ca n figura alturat.
Care este ultima cifr a produsului numerelor impare aflate sub
diagonala secundar (exclusiv diagonala secundar), n cazul
unui tablou bidimensional cu 4 linii i 4 coloane generat dup
aceeai regul? (6p.)
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
5. Scriei programul C/C++ care citete de la tastatur un cuvnt s de cel mult 20 litere mici ale
alfabetului englez, construiete n memorie i afieaz pe ecran cuvntul s dup eliminarea
primei i a ultimei vocale. Cuvntul s conine cel puin dou vocale i cel puin o consoan. Se
consider vocale literele: a, e, i, o, u.
Exemplu: dac se citete cuvntul bacalaureat, pe ecran se afieaz: bcalauret (10p.)


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Considerm declararea alturat
folosit pentru a memora numele,
prenumele i media unui elev.
Care dintre expresiile de mai jos are ca
valoare prima liter a numelui unui
elev ale crui informaii sunt memorate
n variabila p? (4p.)
struct elev{
char nume[10],prenume[20];
float medie;
}p;
a.
p.nume[1]
b.
p.nume[0]
c.
p.nume
d.
nume[1]
2. Se consider un graf neorientat cu 5 noduri i 9 muchii. Care dintre urmtoarele iruri de
numere poate fi irul gradelor nodurilor grafului? (4p.)
a.
4, 2, 6, 4, 2
b.
2, 2, 1, 2, 2
c.
1, 1, 1, 1, 1
d.
4, 3, 3, 4, 4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. n secvena alturat, variabila a memoreaz elementele
unui tablou bidimensional cu 4 linii (numerotate de la 0 la
3) i 4 coloane (numerotate de la 0 la 3), iar toate
celelalte variabile sunt de tip ntreg.
Dup executarea secvenei de instruciuni scris alturat
a) ce valoare va avea elementul a[1][3]? (3p.)
b) care este suma elementelor de pe diagonala principal
a acestui tablou? (3p.)
x=1;
for (i=0;i<=3;i++)
for (j=0;j<=3;j++)
{
if (i==j)
a[i][j]=2*x;
else a[i][j]=x;
x=x+1;
}

4. Care este numrul maxim de muchii pe care l poate avea un graf neorientat cu 6 noduri i
3 componente conexe? (6p.)
5. Se consider un ir s avnd maximum 52 de caractere, ir ce conine numai litere mici ale
alfabetului englez i cifre. Primul caracter al irului este o liter mic, ultimul caracter al
irului este o cifr i fiecare liter mic din ir este urmat de o cifr nenul. Scriei un
program C/C++ care citete de la tastatur irul s, apoi construiete i afieaz pe ecran un
nou ir de caractere, format numai din litere mici ale alfabetului englez, ir construit dup
urmtoarea regul: fiecare liter mic se va repeta de attea ori de cte ori o indic cifra
situat pe poziia imediat urmtoare n irul iniial, ca n exemplu.
Exemplu: dac se citete de la tastatur irul a2b1f2 atunci irul cerut este aabff
(10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Considerm declararea alturat folosit
pentru a memora numele, prenumele i cele
2 note ale unui elev.
Care dintre instruciunile de mai jos
calculeaz n variabila real m media
aritmetic a notelor elevului ale crui
informaii sunt memorate n variabila x? (4p.)
struct elev{
char nume[10],prenume[20];
float nota1,nota2;
} x;

a.
m=(x.nota1+x.nota2)/2;
b.
m=(nota1+nota2)/2;
c.
x.m=(x.nota1+x.nota2)/2;
d.
m=(x,nota1+x,nota2)/2;
2. Se consider graful neorientat din figura alturat. Care
este numrul minim de muchii ce se pot elimina astfel
nct graful parial obinut s aib exact 3 componente
conexe? (4p.)

a.
2
b.
4
c.
1
d.
3

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. n secvena alturat, variabila a memoreaz elementele
unui tablou bidimensional cu 4 linii (numerotate de la 0 la
3) i 4 coloane (numerotate de la 0 la 3), iar toate
celelalte variabile sunt de tip ntreg.
Ce valoare va avea elementul a[3][3] i care este
suma elementelor de pe prima linie a tabloului dup
executarea secvenei de instruciuni scris alturat? (6p.)
x=5;
for (i=0;i<=3;i++)
for (j=0;j<=3;j++)
{if(i==j)
a[i][j]=x;
else
a[i][j]=i;
x=x+1;
}
4. Se consider o list liniar simplu nlnuit, alocat dinamic, cu cel puin 5 noduri, n care
fiecare nod al listei conine n cmpul urm adresa nodului urmtor din list sau NULL dac
nu exist un nod urmtor. Adresa primului nod este memorat n variabila prim, iar variabila
p este de acelai tip cu prim.
Ce modificare se produce asupra listei prin executarea
secvenei de instruciuni alturate? (6p.)
p=prim;
prim=p->urm;
delete(p); | free(p);
5. Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n100),
apoi n iruri de caractere, fiecare ir avnd maximum 30 de caractere, doar litere mici ale
alfabetului englez, i afieaz pe ecran cte dintre cele n iruri de caractere sunt formate
numai din vocale. Se consider vocale literele a, e, i, o, u.
Exemplu: dac n=3, iar irurile citite sunt date alturat, atunci
programul va afia pe ecran 1 deoarece irul ae este format
numai din vocale. (10p.)
arc
ae
creion

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. n secvena alturat, variabila x
memoreaz un ir cu cel mult 100 de
caractere, iar variabila i este de tip ntreg.
Care este numrul maxim de caractere pe
care l poate avea irul x astfel nct
secvena alturat s afieze exact 3
caractere ale acestuia? (4p.)
for(i=0;i<=strlen(x)-1;i=i+3)
cout<<x[i]; | printf(%c,x[i]);




a.
7
b.
3
c.
9
d.
8
2. Se consider un graf orientat cu 5 vrfuri i 8 arce. Care dintre urmtoarele iruri de
numere poate fi irul gradelor exterioare ale vrfurilor acestui graf? (4p.)
a. 2, 3, 1, 1, 1 b. 2, 2, 6, 5, 1
c. 1, 0, 1, 1, 1, 1 d. 1, 1, 0, 2, 1

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. n secvena de program urmtoare, variabila a memoreaz elementele unui tablou
bidimensional cu 5 linii (numerotate de la 1 la 5) i 5 coloane (numerotate de la 1 la 5), iar
celelalte variabile sunt de tip ntreg.
Ce valoare se va afia n urma executrii secvenei dac se prelucreaz tabloul bidimensional
alturat? (6p.)
x=0;
for (i=1;i<=5;i++)
if(a[i][i]%2!=0)
x=x+a[i][6-i];
cout<<x; | printf(%d,x);
1 2 3 4 2
6 7 8 9 4
1 2 0 4 3
7 2 1 4 5
1 2 3 4 5
4. n secvena de program urmtoare, variabila s memoreaz un ir de caractere, iar variabila
i este de tip ntreg. Ce valoare se va afia n urma executrii secvenei?

strcpy(s,bacalaureat);
i=strchr(s,a)-s;
cout<<i+1; | printf(%d,i+1); (6p.)
Se consider o list simplu nlnuit alocat dinamic, n care fiecare nod memoreaz n
cmpul info un numr ntreg, iar n cmpul urm adresa elementului urmtor sau NULL
dac nu exist un nod urmtor.
Scriei un program C/C++ care citete de la tastatur 3 numere naturale nenule n, a i r
(n20, a10, r10), construiete n memorie o list simplu nlnuit i o afieaz pe
ecran, astfel nct parcurgnd lista de la primul nod pn la ultimul nod, se vor afia,
separate prin cte un spaiu, numerele memorate n cmpul info al fiecrui nod,
obinndu-se n ordine strict cresctoare toate elementele mulimii M={a, a+r,
a+2r,...,a+(n-1)r}.
5.
Exemplu: dac n=4, a=10, r=2 atunci se vor afia elementele alturate.
(10p.)
10 12 14 16



Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider un graf neorientat complet cu 10 vrfuri. Cte lanuri elementare distincte de
lungime 3 exist ntre vrful 2 i vrful 4? Dou lanuri sunt distincte dac difer prin cel
puin o muchie. (4p.)
a.
90
b.
28
c.
45
d.
56
2. Se consider graful orientat din figura
alturat. Cte dintre vrfurile grafului au
gradul intern egal cu gradul extern?
(4p.)

a.
3
b.
2
c.
1
d.
4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. n secvena alturat, variabila x
memoreaz un ir de caractere, iar toate
celelalte variabile sunt de tip ntreg.
Ce valori au variabilele k1 i k2 dup
executarea secvenei de instruciuni
alturate? (6p.)
strcpy(x,bac2009);
k1=strlen(x);
k2=0;
for (i=0;i<strlen(x);i++)
if( x[i]>=0 && x[i]<=9)
k2=k2+1;
4. Se consider lista liniar simplu nlnuit, alocat dinamic, cu 6 noduri, reprezentat mai
jos, n care fiecare nod conine n cmpul info un numr natural, iar n cmpul urm adresa
nodului urmtor din list sau NULL dac nu exist un nod urmtor.


Dac adresa primului nod este memorat n variabila prim, iar variabila p este de acelai
tip cu prim, ce se afieaz la executarea secvenei de mai jos?
for(p=prim->urm;p->urm!=NULL;p=p->urm->urm)
cout<<p->info<< ; | printf(%d ,p->info); (6p.)
Scriei un program C/C++ care citete de la tastatur un numr natural par, n (4n10), i
un numr natural x, cu exact 3 cifre, i care construiete n memorie un tablou
bidimensional cu n linii i n coloane, ce are elementele de pe diagonala principal egale cu
prima cifr a numrului x, elementele de pe diagonala secundar egale cu ultima cifr a
numrului x, iar restul elementelor egale cu cifra din mijloc a numrului x.
5.
Tabloul bidimensional se va afia pe ecran, cte o linie a tabloului pe cte o
linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: dac se citesc de la tastatur n=4 i x=123 atunci se afieaz
tabloul alturat. (10p.)
1 2 2 3
2 1 3 2
2 3 1 2
3 2 2 1



Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Considerm declararea alturat. Care dintre urmtoarele
instruciuni este corect din punct de vedere sintactic?
(4p.)
struct punct{
int x,y;
} p;
a.
p->y=p->y+1;
b.
p=9;
c.
p.x=7;
d.
p=p+1;
2. Variabila n memoreaz un numr natural nenul. Care este numrul total de grafuri orientate
distincte cu n noduri? Dou grafuri orientate sunt distincte dac matricele lor de adiacen
sunt diferite. (4p.)
a. 4
n*(n-1)/2
b. 3
n*(n-1)/2
c. 4
n*(n-1)
d. 2
n*(n-1)/2


Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Considerm urmtoarele declarri:
int i,aux,a[10][10];
Ce valori se afieaz n urma executrii
secvenei alturate dac liniile i
coloanele tabloului bidimensional sunt
numerotate de la 0 la 9 i iniial fiecare
linie a tabloului conine, de la stnga la
dreapta, n ordine descresctoare, toate
numerele naturale, de la 10 la 1? (6p.)
for (i=0;i<=8;i++)
if( a[i][9-i]<a[i+1][8-i])
{aux=a[i][9-i];
a[i][9-i]=a[i+1][8-i];
a[i+1][8-i]=aux;}
cout<<a[0][9]<< <<a[9][0];
| printf(%d %d,a[0][9],a[9][0]);


Se consider o list liniar simplu nlnuit, alocat dinamic, cu cel puin 5 noduri, n care
fiecare nod al listei conine n cmpul urm adresa nodului urmtor din list sau NULL dac
nu exist un nod urmtor.
4.
Dac adresa primului nod este memorat n variabila prim,
iar variabila p este de acelai tip cu prim, ce prelucrare
realizeaz urmtoarea secven de instruciuni? (6p.)
p=prim->urm;
prim->urm=p->urm;
delete(p); | free(p);
5. Scriei un program C/C++ care citete de la tastatur un ir de caractere format din
maximum 10 caractere, reprezentnd un numr real n care partea ntreag este separat
de partea zecimal prin caracterul punct. Programul afieaz pe ecran valoarea obinut
prin adunarea numrului corespunztor prii ntregi i a numrului corespunztor prii
zecimale ale datei citite.
Exemplu: dac se citete de la tastatur irul de caractere 120.456 atunci se va afia
576, iar dac se citete de la tastatur irul de caractere 121.090 atunci se va afia 130.
(10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Variabila x este utilizat pentru a memora numele, prenumele i salariul unei persoane.
Numele i prenumele pot avea cel mult 20 de litere fiecare, iar salariul este un numr
natural nenul mai mic dect 30000 . Care dintre urmtoarele declarri este corect? (4p.)
a.
float x[3][21];
b.
int x[3][21];
c.
struct persoana{
char nume[21],prenume[21];
int sal;} x;
d.
struct x[
char nume[21],prenume[21];
int sal;] x;
2. Care este numrul maxim de muchii pe care-l poate avea un graf neorientat cu 6 noduri,
care nu este conex? (4p.)
a.
4
b.
15
c.
12
d.
10

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Fie T un arbore cu rdcin. Arborele are 8 noduri numerotate de la 1 la 8 i este descris
prin urmtorul vector de tai: (4,1,6,0,1,1,4,7). Care sunt frunzele arborelui? (6p.)
4. Scriei o expresie C/C++ care s fie nenul dac i numai dac variabila c de tip char este
o liter mic a alfabetului englez. (6p.)
Scriei un program C/C++ care citete de la tastatur dou numere naturale n i k
(2<n<25, 0<k<n) i construiete n memorie o matrice cu n linii i n coloane format
numai din valori 1,2,3 i 4 astfel nct: elementele aflate la intersecia primelor k linii cu
primele k coloane sunt egale cu 1, elementele aflate la intersecia primelor k linii cu ultimele
n-k coloane sunt egale cu 2, elementele aflate la intersecia ultimelor n-k linii cu primele k
coloane sunt egale cu 3, elementele aflate la intersecia ultimelor n-k linii cu ultimele n-k
coloane sunt egale cu 4 ca n exemplul de mai jos.
5.
Programul afieaz pe ecran matricea construit, fiecare linie a
matricei pe o linie a ecranului i elementele de pe aceeai linie
separate prin cte un singur spaiu.
Exemplu: pentru n=5, k=3 se construiete n memorie i se afieaz
matricea alturat. (10p.)
1 1 1 2 2
1 1 1 2 2
1 1 1 2 2
3 3 3 4 4
3 3 3 4 4

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Variabila t este utilizat pentru a memora valoarea i numele autorului unei cri. Valoarea
crii este un numr natural de cel mult 3 cifre, iar numele autorului nu poate avea mai mult
de 20 de litere. Care dintre urmtoarele declarri este corect? (4p.)
a.
struct carte{ int val;char nume;} t;
b.
struct carte{int val,nume;} t;
c.
struct carte{ int val;char nume[21];} t;
d.
struct carte{ int val[21][21];char nume;} t;
2. Care dintre urmtoarele afirmaii este adevrat pentru orice graf neorientat G cu 5 noduri
i 6 muchii? (4p.)
a. G are cel puin un ciclu b. G este conex
c. G are gradele tuturor nodurilor numere
pare
d. G nu poate avea noduri cu gradul 0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Fie T un arbore cu rdcin. Arborele are 8 noduri numerotate de la 1 la 8 i este descris
prin urmtorul vector de tai:(3,5,0,3,3,5,5,5).
a) Care este nodul cu cei mai muli descendeni direci (fii)? (3p.)
b) Care sunt nodurile frunz ale acestui graf? (3p.)
4. Se consider mulimea vocalelor {a,e,i,o,u}. Scriei o expresie C/C++ care s fie
nenul dac i numai dac variabila c de tip char este o vocal. (6p.)
5. Scriei un program C/C++ care citete de la tastatur trei numere naturale n, a i b
(2<n<25, 0<a<n, 0<b<n) i construiete n memorie o matrice cu n linii i n coloane
numerotate de la 1 la n, format numai din valori 0,1,2,3 i 4 astfel nct: elementele
aflate pe linia a sau coloana b sunt egale cu 0, cele aflate deasupra liniei a i la stnga
coloanei b sunt egale cu 1, cele aflate deasupra liniei a i la dreapta coloanei b sunt egale
cu 2, cele aflate sub linia a i la stnga coloanei b sunt egale cu 3, iar elementele aflate
sub linia a i la dreapta coloanei b sunt egale cu 4 ca n exemplul de mai jos.

Programul afieaz pe ecran matricea construit, fiecare linie a
matricei pe o linie a ecranului i elementele de pe aceeai linie
separate prin cte un singur spaiu.
Exemplu: pentru n=5, a=4, b=3 se construiete n memorie i se
afieaz matricea alturat: (10p.)
1 1 0 2 2
1 1 0 2 2
1 1 0 2 2
0 0 0 0 0
3 3 0 4 4

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Variabila t este utilizat pentru a memora numrul de exemplare disponibile ntr-o
bibliotec i titlul unei cri. Numrul de exemplare este un numr natural de cel mult 2
cifre, iar titlul nu poate avea mai mult de 20 de litere. Care dintre urmtoarele declarri este
corect? (4p.)
a.
struct carte{float nr,titlu;} t;
b.
struct carte{int nr; char titlu[21];} t;
c.
struct carte{char nr; int titlu ;} t;
d.
struct carte{long nr,titlu;} t;
2. Dac G este un graf neorientat cu 11 noduri i 13 muchii, fr noduri cu gradul 0, atunci
numrul maxim de componente conexe pe care le poate avea graful este: (4p.)
a.
2
b.
4
c.
3
d.
5

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Se consider o stiv iniial vid n care se introduc, n aceast ordine, numerele
1,2,3,4,5, apoi se fac dou extrageri, se introduc, n aceast ordine, numerele 6,7 i 8 i
apoi se mai fac 4 extrageri.
a) Ce numr se va afla n vrful stivei dup efectuarea acestor operaii? (3p.)
b) Care este suma elementelor aflate n stiv dup efectuarea acestor operaii? (3p.)
4. Variabila a memoreaz o matrice cu 10 linii i 10 coloane, numerotate de la 1 la 10, iar i i
j sunt variabile ntregi cu valori cuprinse ntre 1 i 10. Scriei o expresie C/C++ care s fie
nenul dac i numai dac elementul a[i][j] nu se afl pe niciuna dintre diagonalele
acestei matrice. (6p.)
5. Scriei un program C/C++ care citete de la tastatur un ir de cel mult 50 de caractere
(cifre, litere ale alfabetului englez i spaii; irul conine cel puin o liter), apoi construiete
n memorie i afieaz pe ecran irul de caractere obinut din irul citit prin eliminarea tuturor
caracterelor care nu sunt litere.
Exemplu: dac se citete irul: Voi lua 10 la informatica atunci se va afia:
Voilualainformatica (10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Variabila s memoreaz un ir de caractere. Care dintre urmtoarele expresii C/C++ este
nenul dac i numai dac lungimea efectiv a irului este strict mai mic dect 10? (4p.)
a.
strlen(s)<10
b.
strlen(s,10)<0
c.
leng(s)<10
d.
s-0<10
2. Fie n un numr natural, n>4. Orice graf neorientat cu n noduri i n muchii : (4p.)
a. are gradele tuturor nodurilor numere pare b. este conex
c. are cel puin un ciclu d. este arbore

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Fie T un arbore cu rdcin. Arborele are 8 noduri numerotate de la 1 la 8 i este descris
prin urmtorul vector de tai: (4,5,0,3,4,5,4,5). Care sunt frunzele arborelui? (6p.)
4. Variabila a memoreaz o matrice cu 10 linii i 10 coloane, numerotate de la 1 la 10, iar i i
j sunt variabile ntregi cu valori cuprinse ntre 1 i 10. Scriei o expresie C/C++ care s fie
nenul dac i numai dac elementul a[i][j] se afl pe penultima linie i sub diagonala
secundar a matricei. (6p.)
5. Scriei un program C/C++ care citete de la tastatur un ir de cel mult 50 de caractere
(litere mici i mari ale alfabetului englez, cifre, puncte, virgule i spaii) i afieaz pe ecran
cifra care apare de cele mai multe ori n irul citit. Dac irul conine mai multe cifre cu
numr maxim de apariii, atunci se va afia cea mai mic dintre acestea. Dac irul nu
conine cifre, se va afia pe ecran mesajul NU.
Exemplu: dac se citete irul:
Voi lua 9,5 la matematica 10 la informatica si 10 la romana
atunci se va afia cifra 0 (pentru c cifrele 0 i 1 apar de cele mai multe ori n ir, iar 0 este
cea mai mic dintre ele) (10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Variabila s memoreaz un ir de caractere. Care dintre urmtoarele expresii C/C++ este
nenul dac i numai dac lungimea efectiv a irului este un numr par? (4p.)
a.
s-2==0
b.
strlen(s,2)=0
c.
leng(s)%2
d.
strlen(s)%2==0;
2. Dac G este un graf neorientat cu 8 noduri i 2 componente conexe, atunci graful are cel
mult: (4p.)
a. 28 de muchii b. 12 muchii c. 21 de muchii d. 16 muchii

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Dac T este un arbore cu rdcin, cu 100 de noduri, care este numrul minim de frunze pe
care le poate avea T? (6p.)
4. Fie a o matrice cu 5 linii i 5 coloane numerotate de la 1 la 5. Pentru fiecare element
a[i][j] (1i5, 1j5) expresia a[i][j]==(i-1)*5+j este nenul. Care este
valoarea sumei elementelor de pe diagonala secundar a matricei? (6p.)
5. Scriei un program C/C++ care citete de la tastatur un ir de cel mult 50 de caractere
(litere mici i mari ale alfabetului englez, cifre i spaii) i afieaz pe ecran litera mic cel
mai des ntlnit n irul citit. Dac exist mai multe litere mici cu numr maxim de apariii,
programul o va afia pe prima dintre ele n ordine alfabetic. Dac irul nu conine litere
mici, atunci pe ecran se va afia mesajul nu.
Exemplu: dac se citete irul:
mergem la munte
atunci se va afia: e (pentru c literele e i m apar de cele mai multe ori n ir, iar e este
prima dintre ele n ordine alfabetic). (10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care este numrul minim de
muchii pe care le poate avea graful
neorientat G, dac graful din figura
1 reprezint un subgraf al lui G,
iar graful reprezentat n figura 2
este graf parial al lui G?
(4p.)

(Figura 1)

(Figura 2)
a.
8
b.
7
c.
5
d.
6
2. Care vor fi valorile afiate dup
executarea secvenei de program
alturate? (4p.)
char s1[20]=algoritm,
s2[20]=bioritm,s3[20]=ritm;
if (strlen(s1)< strlen(s2))
strcat(s3,s1);
else
strcat(s3,s2);
printf(%s %s %s,s1,s2,s3); |
cout<<s1<< <<s2<< <<s3;
a.
algoritmritm bioritm ritm
b.
algoritm bioritm ritmalgoritm
c.
algoritm bioritm ritmbioritm
d.
algoritm bioritmritm ritm

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Se consider un arbore cu rdcin, cu 100 noduri, numerotate de la 1 la 100. Dac nodul
13 are exact 14 frai i nodul 100 este tatl nodului 13, care este numrul total de
descendeni direci (fii) ai nodului 100? (6p.)
4. Se consider o stiv, iniial vid, n care s-au introdus n ordine valorile 1, 2, 3 i o
coad, iniial vid, n care au fost introduse, n ordine, valorile 6, 5, 4. Care va fi valoarea
elementului din vrful stivei dac se extrag toate elementele din coad i se adaug, n
ordinea extragerii, n stiva dat? (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n15) i
construiete n memorie o matrice ptrat cu n linii i n coloane n care ultima linie conine,
n ordine, numerele 1,2,3,..,n, elementele situate deasupra diagonalei principale sunt
nule i oricare alt element este obinut prin nsumarea elementelor vecine cu el, aflate pe
linia imediat urmtoare, pe aceeai coloan cu el sau pe una din coloanele alturate.
Programul va afia pe ecran matricea obinut pe n linii, elementele fiecrei linii fiind
separate prin cte un spaiu.

Exemplu: pentru n=4 pe ecran se va afia:
(10p.)
27 0 0 0
9 18 0 0
3 6 9 0
1 2 3 4

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care dintre urmtoarele afirmaii referitoare la graful
neorientat G, reprezentat n figura alturat, este
adevrat? (4p.)

a. Graful parial al lui G obinut prin eliminarea muchiilor: [5,6], [2,5], [2,3], [2,10],
[10,8], [1,3], este un arbore.
b. Graful conine un singur ciclu.
c. Cel mai lung lan elementar are lungimea 8.
d. Numrul nodurilor de grad par este egal cu numrul nodurilor de grad impar.
2. Considernd declarrile alturate, care dintre
urmtoarele referiri este corect din punct de vedere
sintactic ? (4p.)
struct complex
{float re,im;};
complex x,y;
a.
complex.re
b.
x.re
c.
complex.x
d.
re.x

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare:
3. Se consider graful orientat G, cu 6 vrfuri numerotate cu numerele
de la 1 la 6, definit cu ajutorul listelor de adiacen alturate.
Construii matricea de adiacen corespunztoare grafului orientat
G1, cu 6 vrfuri, n care exist arc ntre vrfurile distincte i i j
dac i numai dac n graful G exist cel puin un drum de la i la j.
(6p.)
1: 2 6
2: 3
3:
4: 3
5: 4 6
6: 3
4. Se consider o stiv S1, iniial vid, n care s-au introdus, n aceast ordine, valorile 10,
12, 3 i o alt stiv, S2, iniial vid, n care au fost introduse, n aceast ordine, valorile 6,
5, 4, 3. Care va fi valoarea elementului din vrful stivei S1 i care va fi valoarea elementului
din vrful stivei S2 dac se extrag jumtate dintre elementele din stiva S2 i se adaug, n
ordinea extragerii, n stiva S1? (6p.)
5. Scriei un program C/C++ care citete de la tastatur un text de cel mult 255 de caractere,
dintre care cel puin unul este o liter mic a alfabetului englez, i afieaz pe ecran, pe o
singur linie, desprite prin cte un spaiu, toate literele mici ale alfabetului englez care
apar n text. Fiecare liter va fi afiat o singur dat, n ordinea primei ei apariii n text.

Exemplu: pentru textul:
Calculati valoarea expresiei
(10p.)
Pe ecran se va afia:
a l c u t i v o r e x p s


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider un arbore G, cu rdcin, memorat cu ajutorul vectorului de tai urmtor:
T=(2,0,4,2,4,7,2). Care dintre urmtoarele afirmaii este adevrat? (4p.)
a. Nodurile 1,4 i 6 sunt frai.
b. G este conex i prin eliminarea unei muchii oarecare din G, graful obinut nu este conex.
c. Prin eliminarea muchiei [6,7] se obine un graf parial, conex.
d. Arborele G are 5 frunze.
2. ntr-o list simplu nlnuit circular, alocat dinamic, fiecare element reine n cmpul
adr adresa elementului urmtor din list.
Dac variabilele p i q memoreaz adresele a dou elemente distincte din list astfel nct
s fie ndeplinite condiiile p==q->adr i q == p->adr , atunci lista are: (4p.)
a. un numar impar de elemente b. exact 2 elemente
c. cel putin 3 elemente d. exact 1 element

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare:
3.
Cte vrfuri ale grafului din figura alturat,
au gradul interior mai mare dect gradul
exterior? (6p.)

4. Se consider variabilele s1 i s2 de tip ir de caractere. Scriei o secven de instruciuni
care, n urma executrii, afieaz pe ecran cele 2 iruri n ordine lexicografic cresctoare,
separate printr-un spaiu.
Exemplu: dac s1 reine irul mama i s2 reine irul macara, pe ecran se va afia
macara mama (6p.)
5. Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i m
(1n24, 1m24) i construiete n memorie un tablou bidimensional cu n linii i m coloane
format din toate numerele naturale de la 1 la n*m, ca n exemplu. Programul va afia pe
ecran, pe n linii, tabloul obinut, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=5 i m=4 se va afia:
20 15 10 5
19 14 9 4
18 13 8 3
17 12 7 2
16 11 6 1

(10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Considernd declarrile alturate, care
dintre urmtoarele referiri este corect din
punct de vedere sintactic ? (4p.)
struct datan{int zi,ln,an;};
struct elev {char nume[30];
datan dn,da;} e;
a.
e.datan.ln
b.
nume.e
c.
e.dn.an[2]
d.
e.dn.zi
2. ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 1000 de elemente identificate prin
adrese, fiecare element reine n cmpul adr adresa elementului urmtor din list sau
NULL dac nu exist un nod urmtor. Dac q este adresa unui element din list i p o
variabil de acelai tip cu q, ce reine adresa unui alt element care nu face parte din list,
atunci inserarea elementului de la adresa p, n list, imediat dup elementul de la adresa q
se realizeaz cu ajutorul secvenei de instruciuni: (4p.)
a.
p->adr=q->adr; q->adr=p;
b.
p=q; q->adr= p->adr;
c.
q->adr=p; p->adr=q;
d.
q=p->adr; p->adr= q->adr;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Se consider un graf neorientat dat prin listele de adiacen alturate.
Care este numrul maxim de muchii care pot fi eliminate din graf astfel
nct graful parial rezultat s fie conex ? (6p.)

1: 2 3
2: 1 3 4
3: 1 2 4 5
4: 2 3 5
5: 3 4
4. ntr-un graf orientat G cu 6 vrfuri numerotate cu numere distincte de la 1 la 6, exist arc de
la vrful i la vrful j dac i numai dac i<j i j-i>1. Care sunt vrfurile din graf ce au
gradul interior mai mare dect gradul exterior? (6p.)
Scriei un program C/C++ care citete de la tastatur un text format din cel mult 200 de
litere ale alfabetului englez, n care cuvintele sunt separate printr-un singur spaiu i
afieaz pe ecran numrul de cuvinte din textul citit, care au prima respectiv ultima liter
vocal. n cazul n care n text nu exist un astfel de cuvnt, se va afia pe ecran mesajul
NU EXISTA. Se consider vocal orice liter din mulimea {a,A,e,E,i,I,o,O,u,U}.
5.
Exemplu: dac textul introdus este:
Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani
pe ecran se va afia:
4 (10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Considernd declarrile alturate, care
dintre urmtoarele referiri este corect din
punct de vedere sintactic ? (4p.)
struct punct{float x,y;};
struct cerc
{float raza;
punct centru;} c;
a.
c.punct.y
b.
c.raza.punct
c.
c.centru.x
d.
c.y.centru
2. ntr-o list liniar dublu nlnuit, alocat dinamic, fiecare
element reine n cmpul dr adresa urmtorului nod din list
sau NULL dac nu exist un nod urmtor, n cmpul st
adresa nodului precedent din list sau NULL dac nu exist
un nod precedent, iar n cmpul info un numr ntreg.
Adresa primului element al listei este reinut n variabila p iar
variabilele q i r sunt de acelai tip cu p. Variabila r reine
adresa unui alt element care nu face parte din list. Dac n
list sunt memorate, ncepnd cu elementul de la adresa p,
toate numerele naturale de la 10000 la 1, n ordine
descresctoare, care va fi numrul memorat n cmpul info
al celui de-al 4-lea element din list dup executarea
secvenei alturate? (4p.)

r->info=0;
q= p->dr->dr->dr;
q->st=r;
r->dr=q;
r->st= p->dr->dr;
p->dr->dr->dr=r;
a.
9998
b.
9999
c.
9997
d.
0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Care este numrul minim de muchii care
trebuie adugate grafului alturat pentru a
deveni conex i eulerian? ( 6p.)

4. Care este numrul de noduri ale unui arbore cu 100 de muchii? (6p.)
5. Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i m
(1n24, 1m24) i construiete n memorie un tablou bidimensional cu n linii i m coloane
format din toate numerele naturale de la 1 la n*m, ca n exemplu. Programul va afia pe
ecran, pe n linii, tabloul obinut, elementele fiecrei linii fiind separate prin cte un spaiu.

Exemplu: pentru n=4 i m=5 se va afia:
16 17 18 19 20
15 14 13 12 11
6 7 8 9 10
5 4 3 2 1

(10p.)

Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Cum se poate accesa prima liter a denumirii unui
produs ale crui caracteristici sunt memorate n
variabila p, declarat alturat? (4p.)
struct produs{
char denumire[15];
int pret;}p;
a.
produs.denumire[0]
b.
denumire.p[0]
c.
p.denumire[0]
d.
p->denumire[0]
2. Se consider graful neorientat definit prin mulimea nodurilor {1,2,3,4,5,6} i muchiile
[1,2],[1,3],[2,3],[6,5],[3,4],[4,5],[4,6]. Care este numrul maxim de muchii care pot fi
eliminate din graf pentru a se obine un graf parial al su care s fie conex? (4p.)
a.
1
b.
2
c.
0
d.
3

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Un arbore cu rdcin avnd 9 noduri, numerotate de la 1 la 9, este memorat cu ajutorul
vectorului de tai t=(2,5,5,3,0,2,4,1,1). Scriei toi ascendenii nodului 4. (6p.)
ntr-o list simplu nlnuit, alocat
dinamic, cu cel puin 2 elemente,
fiecare element memoreaz n
cmpul info un numr ntreg, iar n
cmpul urm adresa elementului
urmtor din list sau NULL dac nu
exist un element urmtor.
p=primul;
while (p->urm!=NULL) p=p->urm;
printf(%d,p->info); | cout<<p->info;

4.
tiind c primul reprezint adresa primului element din list, iar variabila p este de acelai
tip cu primul, ce realizeaz secvena alturat de program? (6p.)
5. Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 50 de
caractere, doar litere mari ale alfabetului englez, i afieaz pe ecran, fiecare pe cte o linie,
toate prefixele acestuia, n ordine cresctoare a lungimilor. Un prefix de lungime k al unui
cuvnt este un subir format din primele k caractere ale acestuia. (10p.)

Exemplu: dac se citete cuvntul BACALAUREAT se vor afia prefixele:
B
BA
BAC
BACA
BACAL
BACALA
BACALAU
BACALAUR
BACALAURE
BACALAUREA
BACALAUREAT


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Cum se poate accesa prima liter a numelui unei
persoane ale crei date de identificare sunt
memorate n variabila p, declarat alturat? (4p.)
struct persoana{
char nume[20],prenume[20];
int varsta;} p;
a.
p.nume[0]
b.
persoana.nume[0]
c.
p->nume[0]
d.
nume.p[0]
2. Se consider graful orientat definit prin mulimea vrfurilor {1,2,3,4,5,6} i arcele (1,2),
(1,6), (1,5), (2,3), (3,6), (4,1), (6,4).
Care este vrful accesibil din toate celelalte vrfuri ale grafului prin intermediul unor drumuri
elementare? (4p.)
a.
4
b.
1
c.
5
d.
6

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Un arbore cu rdcin avnd 8 noduri, numerotate de la 1 la 8, este memorat cu ajutorul vectorului
de tai t=(8,8,0,3,4,3,4,6). Care sunt descendenii nodului 4? (6p.)
4. Se consider o list liniar simplu
nlnuit, alocat dinamic, ale crei
noduri rein n cmpul data o valoare
numeric ntreag. tiind c
variabilele x, y i z rein adresele unor
elemente din list, ce se va afia dup
executarea secvenei alturate de
program? (6p.)
x->data=2;
z=x;
y->data=5;
y=z;
cout<<x->data<<y->data<<z->data; |
printf("%d%d%d",x->data,y->data,z->data);
5. Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 50
caractere, doar litere mari ale alfabetului englez, i afieaz pe ecran, fiecare pe cte o linie,
toate sufixele acestuia, n ordine cresctoare a lungimilor. Un sufix de lungime k al unui
cuvnt este un subir format din ultimele k caractere ale acestuia. (10p.)

Exemplu: dac se citete cuvntul EXAMEN se vor afia sufixele :
N
EN
MEN
AMEN
XAMEN
EXAMEN


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Cum se poate accesa prima liter a denumirii unui material ale
crui caracteristici sunt memorate n variabila m, declarat
alturat? (4p.)
struct material{
char denumire[20];
int pret;} m;
a.
denumire.m[0]
b.
m->denumire[0]
c.
material.denumire[0]
d.
m.denumire[0]
2. Se consider graful orientat cu vrfurile numerotate cu numere distincte 1,2,3, ... . Graful
este reprezentat printr-o matrice de adiacen A. Precizai care este semnificaia sumei
valorilor de pe o linie oarecare x a matricei A. (4p.)
a. reprezint numrul arcelor care au ca
extremitate iniial vrful x
b. reprezint numrul drumurilor care conin
vrful x
c. reprezint numrul arcelor care au ca
extremitate final x
d. reprezint numrul drumurilor care
pornesc din vrful x

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Care este vectorul de tai asociat arborelui cu
rdcin din figura alturat n care nodul 5 este nodul
rdcin? (6p.)

4. Fie o list liniar simplu nlnuit, alocat dinamic, ale crei noduri rein in cmpul next
adresa nodului urmtor sau NULL dac nu exist un element urmtor n list. Lista are cel
puin dou elemente. Variabila x reine adresa primului nod din list, variabila y reine adresa
celui de al doilea nod din list, , iar variabila z, de acelai tip cu x i y, reine adresa unui nod
ce nu aparine listei. Scriei o secven de instruciuni n limbajul C/C++ prin executarea creia
se insereaz n list nodul referit de z ntre cele dou noduri referite de x i y. (6p.)
5. Scriei programul C/C++ care citete de la tastatur dou numere naturale m i n
(1m50, 1n50) i m* n numere ntregi de cel mult 5 cifre ce reprezint elementele
unui tablou bidimensional, i afieaz pe ecran ultima cifr a produsului elementelor pozitive
aflate pe linii cu numere de ordine pare i coloane cu numere de ordine impare.
Numerotarea liniilor, respectiv a coloanelor, se va face ncepnd cu valoarea 1. Dac nu
exist elemente pozitive aflate pe linii cu numere de ordine pare i coloane cu numere de
ordine impare, se va afia mesajul NU EXISTA. (10p.)

Exemplu: pentru m=4, n=4 i matricea alturat se va afia 5
(care reprezint ultima cifr a valorii 355=5*71).
11 -21 31 41
5 -61 71 -81
91 11 21 31
-11 31 -41 0


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Cum se poate accesa prima liter a numelui unui
elev ale crui date de identificare sunt memorate
n variabila e, declarat alturat? (4p.)
struct elev{
char nume[20],prenume[20];
int varsta;}e;
a.
e->nume[0]
b.
e.nume[0]
c.
elev.nume[0]
d.
nume.e[0]
2. Se consider graful orientat dat prin matricea de adiacen alturat.
Care este numrul de vrfuri ale grafului care au gradul interior
(intern) egal cu gradul exterior (extern)? (4p.)
0 0 0 0 0
1 0 1 1 1
0 0 0 1 0
1 0 0 0 1
0 1 0 0 0
a.
0
b.
3
c.
2
d.
1

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Care este vectorul de tai asociat arborelui cu
rdcin din figura alturat n care nodul 1 este nodul
rdcin? (6p.)

4. Se consider o list liniar simplu nlnuit, alocat dinamic, ale crei noduri rein n cmpul
next adresa nodului urmtor sau NULL dac nu exist un element urmtor n list. Lista are
cel puin un element. tiind c variabila u reine adresa ultimului nod din list, scriei o
secven de instruciuni n limbajul C/C++ prin care se insereaz n list dup ultimul nod,
cu adresa reinut de u, un nou nod a crui adres este reinut de variabila v, de acelai tip
cu u? (6p.)
5. Scriei programul C/C++ care citete de la tastatur un numr natural n (1n50) i n* n
numere naturale de cel mult 5 cifre ce reprezint elementele unui tablou bidimensional a, cu
n linii i n coloane, i verific dac matricea este triunghiular superior. Programul va afia
pe ecran mesajul corespunztor: Este triunghiular superior respectiv Nu
este triunghiular superior. O matrice se numete triunghiular superior dac
toate elementele aflate sub diagonala principal a ei sunt nule. (10p.)

Exemplu: pentru n=3 i matricea alturat se va afia mesajul:
Este triunghiular superior
1 2 3
0 5 6
0 0 9


Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. tiind c fiecare dintre variabilele var1, var2 memoreaz numele
i nota cte unui elev n forma dat de declararea alturat,
indicai care dintre urmtoarele instruciuni determin, n urma
executrii, memorarea n variabila real m a mediei aritmetice a
notelor celor doi elevi. (4p.)
struct elev
{ char nume[30];
float nota;
}var1,var2;
a.
m=(var1.nota+var2.nota)/2;
b.
m=var1.nota+var2.nota/2;
c.
m=(var1+var2).nota/2;
d.
m=nota(var1+var2)/2;
2. Se consider un graf orientat dat prin matricea de adiacen alturat.
Cte vrfuri ale grafului au proprietatea c diferena absolut a gradelor
(intern i extern) este egal cu 2? (4p.)
0 1 1 0 1
0 0 1 1 0
1 1 0 0 0
0 1 1 0 1
0 1 0 1 0
a.
5
b.
3
c.
4
d.
2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Care este vectorul de tai asociat arborelui cu rdcin din
figura alturat n care nodul 5 este nodul rdcin? (6p.)

4. Se consider o list liniar simplu nlnuit, alocat dinamic, ale crei noduri rein n cmpul
next adresa nodului urmtor sau NULL dac nu exist un element urmtor. Lista are cel
puin dou elemente. tiind c variabila p1 reine adresa primului nod din list, iar variabila
u1 adresa ultimului nod, scriei o secven de instruciuni n limbajul C/C++, prin executarea
creia lista liniar se transform ntr-o list circular? (6p.)
5. Scriei programul C/C++ care citete de la tastatur dou numere naturale m i n (1m24,
1n24), un numr natural x (1xm) i apoi m*n numere naturale de cel mult 5 cifre ce
reprezint elementele unui tablou bidimensional a, cu m linii, numerotate de la 1 la m, i n
coloane, numerotate de la 1 la n. Programul va determina eliminarea liniei cu numrul de
ordine x din matrice, modificarea corespunztoare a numrului de linii din matrice i afiarea
matricei obinute n urmtorul format: cte o linie a matricei pe cte o linie a ecranului,
elementele fiecrei linii fiind separate prin cte un spaiu. (10p.)

Exemplu: pentru m=3, n=4,
x=2 i matricea alturat
11 21 31 41 se va afia matricea
51 61 71 81
91 11 21 31
11 21 31 41
91 11 21 31

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