Sunteți pe pagina 1din 300

Ministerul Educaiei, Cercetrii i Inovrii

Varianta 1
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 001

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabila x este de tip real. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i
numai dac numrul real memorat n variabila x aparine intervalului (5,8]? (4p.)
a. (x<8) && (x>=5) b. (x<=8) || (x>5)
c. (x>8) || (x<=5) d. (x<=8) && (x>5)

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


2. Se consider algoritmul alturat, descris n pseudocod. citete n (numr natural)
S-a notat cu x%y restul mpririi numrului ntreg x la numrul z0
ntreg nenul y i cu [a] partea ntreag a numrului real a. p1
ct timp n>0 execut
a) Scriei valoarea care se va afia dac se citete cn%10
n=103456. (6p.) n[n/10]
b) Scriei toate numere naturale impare, distincte, fiecare dac c%3=0 atunci
avnd exact dou cifre, care pot fi citite pentru variabila zz+p*(9-c)
n astfel nct s se afieze valoarea 3. (4p.) pp*10

c) Scriei n pseudocod un algoritm, echivalent cu cel dat,
n care s se nlocuiasc structura ct timp...execut scrie z
cu o structur repetitiv de alt tip. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 1
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 001

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider o coad n care iniial au fost introduse, n aceast ordine, elementele cu
1 2
valorile 1 i 2: . Se noteaz cu AD(x) operaia prin care se adaug elementul cu
valoarea x n coad i cu EL operaia prin care se elimin un element din coad. Cte
elemente va conine coada n urma executrii secvenei de operaii:
AD(4);EL;EL;AD(5);EL;AD(3)? (4p.)
a. 3 b. 1 c. 2 d. 5
2. Cte grafuri neorientate, distincte, cu 4 vrfuri, se pot construi? Dou grafuri se consider
distincte dac matricele lor de adiacen sunt diferite. (4p.)
6 6
a. 24 b. 4 c. 4 d. 2

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


3. n declararea alturat, cmpurile x i y ale nregistrrii pot memora struct punct
coordonatele carteziene ale unui punct din planul xOy. Scriei o {
secven de instruciuni prin executarea creia se memoreaz n float x,y;
variabila C coordonatele mijlocului segmentului cu capetele n punctele }A,B,C;
ale cror coordonate sunt memorate n variabilele A i B. (6p.)
4. Prin nlimea unui arbore cu rdcin nelegem numrul de muchii ale celui mai lung lan
format din noduri distincte care are una dintre extremiti n rdcina arborelui. Scriei care
este nlimea i care sunt frunzele arborelui descris prin urmtorul vector de tai:
(6,6,5,0,6,4,4,7). (6p.)
5. Scriei un program C/C++ care citete de la tastatur dou numere naturale nenule n i m
(2m10, 2n10) i care construiete n memorie i apoi afieaz o matrice A cu n linii
(numerotate de la 1 la n) i m coloane (numerotate de la 1 la m) cu proprietatea c fiecare
element Aij memoreaz cea mai mic dintre valorile indicilor i i j (1in, 1jm).
Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a ecranului, elementele
fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=4 i m=5 se va afia matricea alturat. 1 1 1 1 1
(10p.) 1 2 2 2 2
1 2 3 3 3
1 2 3 4 4

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 1
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 001

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utiliznd metoda backtracking se genereaz n ordine lexicografic cuvintele de cte patru
litere din mulimea A={a,b,c,d,e}, cuvinte care nu conin dou vocale alturate. Primele
opt cuvinte generate sunt, n ordine: abab, abac, abad, abba, abbb, abbc, abbd, abbe.
Cte dintre cuvintele generate ncep cu litera b i se termin cu litera e? (4p.)
a. 9 b. 15 c. 12 d. 20

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


2. Pentru definiia de mai jos a subprogramului f, ce se afieaz ca urmare a apelului
f(121,1);? (6p.)
//C //C++
void f(long n, int i) void f(long n, int i)
{ if(n!=0) { if(n!=0)
if(n%3>0) if(n%3>0)
{ printf("%d",i); f(n/3,i+1); } { cout<<i; f(n/3,i+1); }
} }
3. Fiierul text bac.txt conine, pe o singur linie, cel mult 1000 de numere naturale nenule
cu cel mult 4 cifre fiecare, numerele fiind separate prin cte un spaiu. Scriei un program
C/C++ care citete de la tastatur un numr natural nenul n (n999) i numerele din fiierul
bac.txt i care afieaz pe ecran, separate prin cte un spaiu, toate numerele din fiier
care sunt divizibile cu n. Dac fiierul nu conine niciun astfel de numr, atunci se va afia
pe ecran mesajul NU EXISTA.
Exemplu: dac fiierul bac.txt conine numerele: 3 100 40 70 25 5 80 6 3798,
pentru n=10 atunci pe ecran se va afia: 100 40 70 80 (10p.)
Subprogramul sub, cu trei parametri, primete prin intermediul parametrilor:
4.
v un tablou unidimensional cu cel mult 100 de componente ce memoreaz numere
ntregi de cel mult 4 cifre fiecare;
n un numr natural nenul mai mic sau egal cu 100 ce reprezint numrul efectiv de
componente ale tabloului primit prin intermediul parametrului v;
a un numr ntreg cu cel mult 4 cifre.
Subprogramul sub returneaz numrul componentelor tabloului primit prin intermediul
parametrului v ale cror valori sunt strict mai mici dect valoarea parametrului a.
Exemplu: pentru valorile n=5, v=(1,21,9,21,403), a=20 ale parametrilor, n urma
apelului, subprogramului sub va returna valoarea 2.
a) Scriei definiia complet a subprogramului sub. (4p.)
b) S se scrie un program C/C++ care s citeasc de la tastatur un numr natural nenul n
(n100) i n numere ntregi, fiecare avnd cel mult 4 cifre, i care, folosind apeluri utile ale
subprogramului sub, s afieze pe ecran mesajul DA dac oricare dou dintre cele n
numere ntregi citite sunt distincte dou cte dou, sau mesajul NU n caz contrar.
Exemplu: pentru n=6 i cele n numere citite de la tastatur: 47 183 69 8 134 -56
se va afia pe ecran mesajul DA (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 2
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 002

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabilele x i y sunt tip int. Care dintre expresiile C/C++ de mai jos are valoarea 1
dac i numai dac valorile ntregi nenule memorate n variabilele x i y sunt egale? (4p.)
a. (x%y==0) && (y%x==0) && (x*y>0) b. (x<=y) && (y<x)
c. (x<=y) || (y<=x) d. x*x==y*y

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


2. Se consider algoritmul alturat, descris n citete x (numr natural nenul)
pseudocod. ct timp x>0 execut
S-a notat cu x%y restul mpririi numrului ntreg x la citete y (numr natural)
numrul ntreg nenul y. dac x>y atunci
scrie x%10
a) Scriei ce se va afia dac se citesc, n aceast altfel
ordine, numerele: 17 22 13 101 2 7 5 0. scrie y%10
(6p.) (
b) Scriei un ir de date de intrare, format doar din xy
numere naturale cu cel mult dou cifre fiecare,
care s determine afiarea valorii 9877. (4p.)
c) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura
ct timp...execut cu o structur repetitiv de alt tip. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 2
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 002

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Cte grafuri neorientate, distincte, cu 8 vrfuri se pot construi? Dou grafuri se consider
distincte dac matricele lor de adiacen sunt diferite. (4p.)
14 14 28
a. 4 b. 2 c. 4 d. 64
2. Variabila t, declarat alturat, memoreaz n cmpurile struct triunghi
a, b i c lungimile laturilor unui triunghi. Care dintre {
urmtoarele instruciuni atribuie cmpului p al variabilei float a,b,c,p;
t valoarea perimetrului triunghiului respectiv? (4p.) }t;
a. p.t=t.a+t.b+t.b; b. p.t=a.t+b.t+c.t;
c. t.p=t.a+t.b+t.c; d. t.p==t.a+t.b+t.c;

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


3. Se consider o stiv n care iniial au fost introduse, n aceast ordine, elementele cu valorile
1, 2 i 3. Se noteaz cu AD(x) operaia prin care se adaug elementul cu valoarea x n
vrful stivei i cu EL operaia prin care se elimin elementul din vrful stivei. Asupra acestei
stive se execut urmtoarea secven de operaii: AD(4);EL;AD(5);EL;AD(6);EL;EL.
a) Care este valoarea elementului din vrful stivei n urma executrii acestei secvene de
operaii? (3p.)
b) Care este suma valorilor elementelor aflate n stiv n urma executrii acestei secvene de
operaii? (3p.)
4. n secvena de program alturat, variabila a s = 0;
memoreaz o matrice cu n linii i n coloane (numerotate for(j = 0; j < n/2; j++)
de la 0 la n-1) cu elemente numere ntregi, iar toate {
celelalte variabile sunt ntregi. tiind c n este un numr .............
natural par, nenul, scriei instruciunile care pot nlocui }
punctele de suspensie din secvena de program
printf("%d",s);|cout<<s;
alturat astfel nct, n urma executrii acesteia, s se
afieze ultima cifr a sumei elementelor pozitive de pe
linia k (0k<n) a matricei a. (6p.)
5. S se scrie un program C/C++ care citete de la tastatur un cuvnt format din cel mult 20
de caractere, doar litere mici ale alfabetului englez. Programul determin transformarea
cuvntului citit prin nlocuirea fiecrei vocale a cuvntului, cu un ir format din dou caractere
i anume vocala respectiv urmat de litera mare corespunztoare, restul literelor
nemodificndu-se, ca n exemplu. Programul afieaz pe ecran cuvntul obinut, pe o
singur linie. Se consider vocale literele din mulimea {a,e,i,o,u}.
Exemplu: pentru cuvntul bacalaureat se va afia pe ecran: baAcaAlaAuUreEaAt
(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 2
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 002

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utiliznd metoda backtracking se genereaz n ordine lexicografic cuvintele de cte patru
litere din mulimea A={a,b,c,d,e}, cuvinte care nu conin dou vocale alturate. Primele
opt cuvinte generate sunt, n ordine: abab, abac, abad, abba, abbb, abbc, abbd, abbe.
Care este ultimul cuvnt generat? (4p.)
a. edcb b. eeee c. edde d. eded

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


2. Pentru definiia de mai jos a subprogramului f, ce se afieaz ca urmare a apelului
f(12345);? (6p.)
//C //C++
void f(long n) void f(long n)
{ printf("%d",n%10); { cout<<n%10;
if(n!=0) if(n!=0)
{ f(n/100); printf("%d",n%10); } { f(n/100); cout<<n%10;}
} }
3. Fiierul text NR.TXT conine pe o singur linie, separate prin cte un spaiu, cel mult 100 de
numere ntregi, fiecare numr avnd cel mult 4 cifre. Scriei un program C/C++ care citete
numerele din fiierul NR.TXT i afieaz pe ecran, separate prin cte un spaiu, n ordine
cresctoare, toate numerele naturale nenule din fiier. Dac nu exist astfel de numere se
va afia pe ecran mesajul NU EXISTA.
Exemplu: dac fiierul NR.TXT conine numerele: -3 -10 0 7 -5 7 51 -800 6 3798,
atunci pe ecran se va afia: 6 7 7 51 3798 (10p.)
4. Un numr n se numete extraprim dac att el, ct i orice numr obinut prin permutarea
cifrelor lui n, sunt numere prime. De exemplu, numrul 113 este un numr extraprim
deoarece 113, 311, 131 sunt numere prime.
a) Scriei definiia complet a unui subprogram f, cu un parametru, subprogram care:
- primete prin intermediul parametrului a un numr natural cu cel mult 3 cifre (a>1)
- returneaz suma tuturor exponenilor din descompunerea n factori primi a valorii
parametrului a.
Exemplu: pentru a=90 subprogramul va returna valoarea 4, deoarece a=2*32*5 i
1+2+1=4. (4p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n, 2n999 i,
folosind apeluri utile ale subprogramului f, verific dac n este un numr extraprim. n caz
afirmativ, programul afieaz pe ecran mesajul DA, n caz contrar afind mesajul NU. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 3
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 003

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul real
memorat n variabila x se afl n intervalul (-2,2)? (4p.)
a. x*x-4<=0 b. 4-x*x>0 c. (2<x)&&(x<-2) d. (x-2)*(x+2)>0

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


2. Se consider algoritmul alturat, descris n citete z,x
pseudocod. (numere naturale nenule)
S-a notat cu x%y restul mpririi numrului ntreg x la ct timp x>0 execut
numrul ntreg nenul y. citete y (numr natural)
dac z<y-x atunci
a) Scriei ce se va afia dac se citesc, n aceast scrie x%10
ordine, numerele: 2 5 16 9 12 13 5 0. (6p.) altfel
scrie y%10
b) Scriei un ir de date de intrare, format doar din
numere naturale cu o singur cifr fiecare, care s xy
determine afiarea valorii 7310. (4p.)

c) Scriei n pseudocod un algoritm, echivalent cu cel dat, n care s se nlocuiasc
structura ct timp...execut cu o structur repetitiv de alt tip. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 3
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 003

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider un graf orientat cu 6 noduri numerotate de la 1 la 6 i cu mulimea arcelor
format doar din arcele:
- de la fiecare nod numerotat cu un numr neprim i (i>1) la toate nodurile numerotate cu
numere ce aparin mulimii divizorilor proprii ai lui i (divizori diferii de 1 i de i)
- de la nodul numerotat cu 1 la nodul numerotat cu 6
- de la fiecare nod numerotat cu un numr prim i la nodul numerotat cu i-1
Pentru graful dat, care este lungimea celui mai mare drum, format doar din noduri distincte?
(4p.)
a. 6 b. 5 c. 3 d. 4
2. Cte frunze are arborele cu rdcin descris prin urmtorul vector de tai:
(6,5,5,2,0,3,3,3,8,7,7)? (4p.)
a. 1 b. 2 c. 5 d. 4

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


3. n declararea alturat, cmpurile x i y ale nregistrrii pot struct fractie
memora numrtorul, respectiv numitorul unei fracii. Scriei {
secvena de instruciuni prin executarea creia se construiete n int x,y;
variabila f o fracie obinut prin nsumarea fraciilor memorate n }f,f1,f2;
variabilele f1 i f2. (6p.)
4. n secvena de instruciuni de mai jos, variabila s memoreaz un ir de caractere format
doar din litere ale alfabetului englez, iar variabilele i i n sunt de tip int. tiind c n urma
executrii secvenei s-a afiat succesiunea de caractere eied*eael* scriei care este
irul de caractere memorat de variabila s. (6p.)
//C //C++
n=strlen(s); n=strlen(s);
for(i=0;i<n;i++) for(i=0;i<n;i++)
if (s[i]==e) printf(%c,*); if (s[i]==e) cout<<*;
else printf("%c%c",e,s[i]); else cout<<'e'<<s[i];
5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2n24) i
construiete n memorie o matrice cu n linii i n coloane ale crei elemente vor primi valori
dup cum urmeaz:
- elementele aflate pe diagonala principal a matricei vor primi valoarea 0
- elementele de pe prima coloan, cu excepia celui aflat pe diagonala principal vor primi
valoarea n
- elementele de pe a doua coloan, cu excepia celui aflat pe diagonala principal vor primi
valoarea n-1
...
- elementele de pe ultima coloan, cu excepia celui aflat pe diagonala principal vor primi
valoarea 1
Programul va afia matricea astfel construit pe ecran, cte o linie a matricei 0 3 2 1
pe cte o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii (ca n 4 0 2 1
exemplu). 4 3 0 1
Exemplu: pentru n=4 se va afia matricea alturat. (10p.) 4 3 2 0

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 3
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 003

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utiliznd metoda backtracking se genereaz n ordine lexicografic cuvintele de cte patru
litere din mulimea A={a,b,c,d,e}, cuvinte care nu conin dou vocale alturate. Primele
opt cuvinte generate sunt, n ordine: abab, abac, abad, abba, abbb, abbc, abbd, abbe.
Care este penultimul cuvnt generat? (4p.)
a. edec b. eded c. edde d. edcb

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


2. Pentru definiia alturat a void f (int x)
subprogramului f, ce se afieaz ca {
if(x>0)
urmare a apelului f(26);? (6p.)
if(x%4==0)
{ cout<<x; | printf(%c,x);
f(x-1); }
else
{ f(x/3);
cout<<y; | printf(%c,y);
}
}
3. Fiierului text NR.TXT conine pe o singur linie, separate prin cte un singur spaiu, cel
mult 100 de numere naturale, fiecare numr avnd cel mult 4 cifre. Scriei un program
C/C++ care citete toate numerele din fiierul NR.TXT i afieaz pe ecran, separate prin
cte un spaiu, n ordine cresctoare, toate numerele din fiier care au cel puin 3 cifre.
Dac fiierul nu conine astfel de numere se va afia pe ecran mesajul NU EXISTA. (10p.)
4. Subprogramul cif, cu doi parametri, primete prin intermediul parametrului a un numr
natural cu cel mult 8 cifre i prin intermediul parametrului b o cifr; subprogramul returneaz
numrul de apariii ale cifrei b n scrierea numrului a.
Exemplu: pentru a=125854 i b=5, subprogramul va returna valoarea 2.
a) Scriei definiia complet a subprogramului cif. (4p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n cu exact 8 cifre
i care determin i afieaz pe ecran, folosind apeluri utile ale subprogramului cif, cel mai
mare numr palindrom ce poate fi obinut prin rearanjarea tuturor cifrelor numrului n. Dac
nu se poate obine un palindrom din toate cifrele numrului n, programul va afia pe ecran
numrul 0. Un numr natural este palindrom dac este egal cu numrul obinut prin scrierea
cifrelor sale n ordine invers.
Exemplu: dac n=21523531 atunci se va afia pe ecran numrul 53211235, iar dac
n=12272351 atunci se va afia pe ecran numrul 0. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 4
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 004

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care este rezultatul evalurii expresiei C/C++ alturate? (4p.) 11*3/2*2/3
a. 2 b. 10 c. 2.75 d. 11

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


2. Se consider algoritmul alturat, descris n citete a,b (numere ntregi)
pseudocod.
dac a<b atunci
S-a notat cu x%y restul mpririi numrului ntreg x la ab
numrul ntreg nenul y i cu xy operaia de
interschimbare a valorilor variabilelor x i y. pentru xa,b,-1 execut
a) Scriei ce se afieaz pentru a=5 i b=17. (6p.) dac x%20 atunci
scrie x,
Scriei toate perechile de valori care pot fi citite
b)
pentru variabilele a i b, astfel nct s se afieze, n

acest ordine, numerele: 1 -1.
(4p.)
c) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura
pentru...execut cu o structur repetitiv de alt tip. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 4
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 004

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider un graf orientat cu 6 noduri numerotate de la 1 la 6 i cu mulimea arcelor
format doar din arcele:
- de la fiecare nod numerotat cu un numr neprim i (i>1) la toate nodurile numerotate cu
numere ce aparin mulimii divizorilor proprii ai lui i (divizori diferii de 1 i de i)
- de la nodul numerotat cu 1 la nodul numerotat cu 6
- de la fiecare nod numerotat cu un numr prim i la nodul numerotat cu i-1
Pentru graful dat, care este lungimea celui mai mare drum, format doar din noduri distincte,
ce unete nodul 6 cu nodul 1? (4p.)
a. 1 b. 3 c. 4 d. 6
2. Cte frunze are arborele cu rdcin, cu 8 noduri, numerotate de la 1 la 8, descris prin
urmtorul vector de tai: (6,5,5,2,0,3,3,3)? (4p.)
a. 4 b. 6 c. 5 d. 3

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


3. Se consider o stiv n care iniial au fost introduse, n aceast ordine, vrf
elementele cu valorile 1, 2 i 3, ca n figura alturat. Se noteaz cu 3
AD(x) operaia prin care se adaug elementul cu valoarea x n vrful 2
stivei i cu EL operaia prin care se elimin elementul din vrful stivei.
Reprezentai, dup modelul alturat, coninutul stivei, rezultat n urma 1
executrii secvenei de operaii: AD(4);EL;EL;AD(5);EL. (6p.)
4. Fie s o variabil ce memoreaz un ir de caractere, format doar din litere ale alfabetului
englez, i i o variabil de tip int. Scriei instruciunile ce pot nlocui punctele de suspensie
din secvena de program alturat astfel nct i=0;
executarea ei s determine eliminarea tuturor while (i<strlen(s))
literelor mici din irul s i apoi afiarea irului ...............
obinut. (6p.) printf("%s",s); | cout<<s;

5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2n24) i


construiete n memorie o matrice cu n linii i n coloane ale crei elemente vor primi valori
dup cum urmeaz:
- elementele aflate pe diagonala secundar a matricei vor primi valoarea 0
- elementele de pe prima linie, cu excepia celui aflat pe diagonala secundar vor primi
valoarea n
- elementele de pe a doua linie, cu excepia celui aflat pe diagonala secundar vor primi
valoarea n-1
...
- elementele de pe ultima linie, cu excepia celui aflat pe diagonala secundar vor primi
valoarea 1
Programul va afia matricea astfel construit pe ecran, cte o linie a matricei 4 4 4 0
pe cte o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii (ca 3 3 0 3
n exemplu). 2 0 2 2
Exemplu: pentru n=4 se va afia matricea alturat. (10p.)
0 1 1 1

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 4
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 004

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utiliznd metoda backtracking se genereaz n ordine lexicografic cuvintele de cte patru
litere din mulimea A={a,b,c,d,e}, cuvinte care nu conin dou vocale alturate. Primele
opt cuvinte generate sunt, n ordine: abab, abac, abad, abba, abbb, abbc, abbd, abbe.
Care este antepenultimul cuvnt generat? (4p.)
a. edde b. eddb c. edeb d. edcb

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


2. Pentru definiia alturat a subprogramului f, void f (int n, int x)
ce se afieaz ca urmare a apelului { if(x>n)
cout<<0; | printf(%d,0);
f(15,2);? (6p.)
else
if(x%4<=1) f(n,x+1);
else
{ f(n,x+3);
cout<<1; | printf(%d,1);
}
}
3. Fiierul text NR.TXT conine pe o singur linie, separate prin cte un singur spaiu, cel mult
100 de numere naturale, fiecare numr avnd cel mult 4 cifre. Scriei un program C/C++
care citete numerele din fiierul NR.TXT i afieaz pe ecran, separate prin cte un spaiu,
n ordine descresctoare, toate numerele din fiier care au cel mult 2 cifre. Dac fiierul nu
conine astfel de numere se va afia pe ecran mesajul NU EXISTA. (10p.)
4. Subprogramul cif, cu doi parametri, primete prin intermediul parametrului a un numr
natural cu cel mult 8 cifre i prin intermediul parametrului b o cifr; subprogramul returneaz
numrul de apariii ale cifrei b n scrierea numrului a.
Exemplu: pentru a=125854 i b=5, subprogramul va returna valoarea 2.
a) Scriei definiia complet a subprogramului cif. (4p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n cu exact 8 cifre,
fiecare cifr fiind nenul, i care determin i afieaz pe ecran, folosind apeluri utile ale
subprogramului cif, cel mai mic numr palindrom ce poate fi obinut prin rearanjarea
tuturor cifrelor numrului n. Dac nu se poate obine un palindrom din toate cifrele numrului
n, programul va afia pe ecran numrul 0. Un numr natural este palindrom dac este egal
cu numrul obinut prin scrierea cifrelor sale n ordine invers.
Exemplu: dac n=21523531 atunci se va afia pe ecran numrul 12355321, iar dac
n=12272351 atunci se va afia pe ecran numrul 0. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 5
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 005

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabila x este de tip real. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i
numai dac numrul real memorat n variabila x nu aparine intervalului (2,9]? (4p.)
a. (x>2) && (x<=9) b. (x<=2) && (x>9)
c. (x<=2) || (x>9) d. (x<2) || (x>9)

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


2. Se consider algoritmul alturat, citete x,z (numere naturale)
descris n pseudocod. y0
S-a notat cu x%y restul mpririi numrului repet
ntreg x la numrul ntreg nenul y i cu [a] yy*10+x%10
partea ntreag a numrului real a. x[x/100]
pn cnd x=0
a) Scriei ce se va afia dac se citesc, ct timp y*z>0 i y%10=z%10 execut
n aceast ordine, valorile 729385 i y[y/10]
532. (6p.) z[z/10]
b) Dac pentru z se citete valoarea 99,
dac y+z=0 atunci
scriei cte numere naturale, cu exact
scrie 1
3 cifre fiecare, pot fi citite pentru x
altfel
astfel nct s se afieze valoarea 0 n scrie 0
fiecare dintre aceste cazuri. (4p.)

c) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se foloseasc o singur


structur repetitiv. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 5
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 005

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. ntr-un graf neorientat cu 20 muchii, fiecare nod al grafului are gradul un numr nenul. Doar
patru dintre noduri au gradul un numr par, restul nodurilor avnd gradele numere impare.
Care este numrul maxim de noduri pe care poate s le aib graful? (4p.)
a. 32 b. 36 c. 10 d. 16
2. Variabila d, declarat alturat, memoreaz n cmpurile a i b struct dreptunghi
limea i, respectiv, lungimea unui dreptunghi. Care dintre {
urmtoarele instruciuni atribuie cmpului aria al variabilei d float a,b,aria;
valoarea ariei dreptunghiului respectiv? (4p.) }d;
a. d.aria==d.a*d.b; b. aria.d=a.d*b.d;
c. aria.d=d.a*d.b; d. d.aria=d.a*d.b;

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


3. Se consider un arbore cu rdcin n care doar 13 dintre nodurile arborelui au exact 2
descendeni direci (fii), restul nodurilor avnd cel mult un descendent direct (fiu). Care este
numrul frunzelor arborelui? (6p.)
4. Fie s o variabil ce memoreaz un ir de caractere, c o variabil i=0;
de tip char, iar i i j dou variabile de tip int. Scriei j=strlen(s)-1;
instruciunile ce pot nlocui punctele de suspensie din secvena while (i<j)
de program alturat astfel nct executarea ei s determine {
modificarea coninutul irului s prin interschimbarea caracterelor .........
aflate pe poziii simetrice fa de mijlocul irului (primului caracter }
cu ultimul, al doilea cu penultimul, etc). (6p.)
5. Scriei un program C/C++ care citete de la tastatur dou numere naturale n i m
(2m10, 2n10) i care construiete n memorie i apoi afieaz o matrice A cu n linii
(numerotate de la 1 la n) i m coloane (numerotate de la 1 la m) cu proprietatea c fiecare
element Aij memoreaz cea mai mare dintre valorile indicilor i i j (1in, 1jm).
Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a ecranului, elementele
fiecrei linii fiind separate prin cte un spaiu. (10p.)
Exemplu: pentru n=4 i m=5 se va afia matricea alturat. 1 2 3 4 5
2 2 3 4 5
3 3 3 4 5
4 4 4 4 5

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 5
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 005

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Folosind modelul combinrilor se genereaz numerele naturale cu cte trei cifre distincte din
mulimea {1,2,3,7}, numere cu cifrele n ordine strict cresctoare, obinndu-se, n ordine:
123, 127, 137, 237. Dac se utilizeaz exact aceeai metod pentru a genera numerele
naturale cu patru cifre distincte din mulimea {1,2,3,4,5,6,7,8}, cte dintre numerele
generate au prima cifr 2 i ultima cifr 7? (4p.)
a. 8 b. 3 c. 4 d. 6

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


2. Pentru subprogramul f definit mai jos, ce se afieaz ca urmare a apelului f(3,17)?(6p.)
//C //C++
void f ( int a, int b) void f ( int a, int b)
{ if(a<=b) { if(a<=b)
{f(a+1,b-2); printf(%c,*);} { f(a+1,b-2); cout<<*;}
else printf(%d,b); else cout<<b;
} }
3. Scriei un program C/C++ care citete de la tastur un numr natural n cu cel mult 8 cifre
(n10) i care creeaz fiierul text NR.TXT ce conine numrul n i toate prefixele nenule
ale acestuia, pe o singur linie, separate prin cte un spaiu, n ordine descresctoare a
valorii lor.
Exemplu: pentru n=10305 fiierul NR.TXT va conine numerele:
10305 1030 103 10 1 (10p.)
4. Subprogramul f, cu un parametru:
- primete prin intermediul parametrului a un numr natural cu cel mult 8 cifre (a>1)
- returneaz cel mai mic divizor prim al valorii parametrului a.
Exemplu: pentru valoarea 45 a parametrului a, subprogramul va returna valoarea 3
deoarece a=32*5, iar cel mai mic divizor prim al su este 3.
a) Scriei definiia complet a subprogramului f. (4p.)
b) Scriei un program C/C++ care s citeasc de la tastatur un numr natural nenul n
(n100) i apoi un ir de n numere naturale de cel mult 8 cifre fiecare, toate numerele din
ir fiind strict mai mari dect 1. Folosind apeluri utile ale subprogramului f, programul va
determina i va afia pe ecran toate numerele prime din irul citit. Numerele determinate se
vor afia pe ecran, separate prin cte un spaiu, n ordine cresctoare a valorii lor. Dac nu
exist astfel de numere se va afia pe ecran mesajul NU EXISTA.
Exemplu: pentru n=7, irul: 1125, 2, 314, 101, 37, 225, 12 pe ecran se va afia:
2 37 101 (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 6
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 006

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Care dintre urmtoarele expresii C/C++, are ca valoare cel mai mic dintre numerele
naturale nenule, cu cel mult 4 cifre fiecare, memorate n variabilele ntregi x i y? (4p.)
a. (x+y-abs(x-y))/2 b. x+y-abs(x-y)/2
c. (x+y+abs(x-y))/2 d. (x+y+abs(x+y))/2

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


2. Se consider algoritmul alturat, descris n pseudocod: citete n (numr natural)
S-a notat cu [c] partea ntreag a numrului real c, iar cu a%b s-1
restul mpririi numrului ntreg a la numrul ntreg nenul b. ct timp n>0 execut
dac n%10>s atunci
a) Scriei valoarea care se afieaz, n urma executrii sn%10
algoritmului, dac se citete numrul 9321. (6p.) altfel
b) Scriei cea mai mare valoare de 4 cifre distincte care s11
poate fi citit pentru n astfel nct s se afieze valoarea
n[n/10]
11. (4p.)

c) Scriei n pseudocod un algoritm echivalent cu cel dat n scrie s
care s se nlocuiasc structura ct timp ... execut
cu o structur repetitiv cu test final. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 6
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 006

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.

1. Care dintre urmtoarele expresii reprezint un element al tabloului int a[5][6];


bidimensional a, declarat alturat? (4p.)
a. a[40] b. a[6][7] c. a[2][3] d. a[10*5]
2. Se consider o list liniar simplu nlnuit while (...)
alocat dinamic, cu cel puin dou p=p->urm;
elemente. Fiecare element al listei reine n delete p->urm; | free (p->urm);
cmpul urm adresa elementului urmtor din p->urm=NULL;
list sau NULL dac nu exist un element
urmtor.
tiind c variabila p reine adresa primului element din list, care dintre expresiile urmtoare
poate nlocui punctele de suspensie n secvena de instruciuni de mai sus astfel nct, n
urma executrii acesteia, s fie eliminat ultimul element al listei? (4p.)
a. p->urm->urm!=NULL b. p->urm!=NULL
c. p!=NULL d. p->urm->urm==NULL

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


3. Se consider un arbore cu 11 muchii. Care este numrul de noduri ale arborelui? (6p.)
4. Se consider un graf neorientat G cu 12 noduri si 7 muchii. Care este numrul maxim de
componente conexe din care poate fi format graful G? (6p.)
5. Se consider un text cu maximum 255 de caractere n care cuvintele sunt separate prin
unul sau mai multe spaii. Primul caracter din textul citit este o liter, iar cuvintele sunt
formate numai din litere mici ale alfabetului englez. Scriei un program C/C++ care citete
de la tastatur textul i l transform, nlocuind prima liter a fiecrui cuvnt cu litera mare
corespunztoare, restul caracterelor rmnnd nemodificate. Textul astfel transformat va fi
afiat pe ecran.
Exemplu: dac de la tastatur se introduce textul: mare frig rosu
se va afia pe ecran: Mare Frig Rosu (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 6
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 006

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Utiliznd metoda backtracking sunt generate numerele de 3 cifre, avnd toate cifrele
distincte i cu proprietatea c cifrele aflate pe poziii consecutive sunt de paritate diferit.
tiind c primele ase soluii generate sunt, n aceast ordine, 103, 105, 107, 109, 123,
125, care este a zecea soluie generat? (4p.)
a. 145 b. 147 c. 230 d. 149

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


2. Se consider subprogramul alturat: int f(int a, int b){
Ce valoare are f(15,2)? Dar f(128,2)? if (b<1) return -1;
(6p.) else
if (a%b==0)
return 1+f(a/b,b);
else
return 0; }
3. Scriei un program C/C++ care citete de la tastatur un numr natural n (n100) i apoi
cele n elemente, numere naturale cu cel mult 4 cifre fiecare, ale unui tablou unidimensional
a. Programul afieaz pe o linie a ecranului suma celor n elemente ale tabloului, pe
urmtoarea linie a ecranului suma primelor n-1 elemente i aa mai departe, astfel nct
ultima linie afiat s conin doar primul element al tabloului.
Exemplu: dac n=4 iar tabloul are elementele 15
a=(1,7,3,4) programul va afia valorile 11
alturate: (10p.) 8
1

4. Se consider fiierul BAC.TXT ce conine un ir cresctor cu cel mult un milion de numere


naturale de cel mult nou cifre fiecare, separate prin cte un spaiu.
a) S se scrie un program C/C++ care, folosind un algoritm eficient din punct de vedere al
memoriei utilizate i al timpului de executare, citete din fiier toi termenii irului i afieaz
pe ecran, pe o singur linie, fiecare termen distinct al irului urmat de numrul de apariii ale
acestuia n ir. Valorile afiate sunt separate prin cte un spaiu.
Exemplu: dac fiierul BAC.TXT are urmtorul coninut:
1 1 1 5 5 5 5 9 9 11 20 20 20
programul va afia:
1 3 5 4 9 2 11 1 20 3
deoarece 1 apare de 3 ori, 5 apare de 4 ori, etc. (6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 7
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 007

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Fiecare dintre variabilele ntregi x i y memoreaz cte un numr natural. Care dintre
expresiile C/C++ de mai jos are valoarea 1 dac i numai dac numrul memorat n x este
strict mai mare dect 0 i numrul memorat n y este strict mai mare dect 5? (4p.)
a. x*y-5!=0 b. x*(y-5)!=0
c. x*(y-5)>=0 d. !(x*(y-5)<=0)

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


2. Se consider algoritmul alturat descris n citete n (numr natural nenul)
pseudocod: nr0
S-a notat cu [c] partea ntreag a numrului pentru a9,0,-1 execut
real c, iar cu a%b restul mpririi numrului mn
ntreg a la numrul ntreg nenul b. ct timp m0 i m%10a execut
m[m/10]
a) Scriei valoarea afiat, n urma
executrii algoritmului, dac se citete
dac m0 atunci
pentru n valoarea 232493. (4p.)
nrnr*10+m%10
b) Scriei dou valori naturale distincte care
pot fi citite pentru n astfel nct, n urma
executrii algoritmului s se afieze scrie nr
numrul 9654. (6p.)
c) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura
pentru...execut cu o structur repetitiv cu test final. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 7
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 007

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care dintre variantele de mai jos reprezint declararea eficient i corect a unui tablou
bidimensional cu exact 20 de elemente, numere ntregi cu cel mult 4 cifre fiecare? (4p.)
a. int a[2][10]; b. float a[40];
c. char a[2][10]; d. int a[40];
2. O list liniar simplu nlnuit cu while (p->urm!=NULL)
cel puin dou elemente, alocat { if (p->urm->info<p->info)
dinamic, reine n cmpul info al p->urm->info=p->info;
fiecrui element cte un numr
p=p->urm;
natural de maximum 4 cifre, iar n
cmpul urm adresa elementului }
cout<<p->info;
urmtor din list sau NULL dac nu
| printf(%d,p->info);
exist un element urmtor.
Dac variabila p reine adresa primului element al listei atunci, n urma executrii secvenei
de program de mai sus se afieaz ntotdeauna: (4p.)
a. cea mai mic dintre valorile memorate de b. cea mai mare dintre valorile memorate de
elementele din list elementele din list
c. valoarea memorat de penultimul d. valoarea memorat de primul element din
element din list list

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


3. Se consider graful neorientat definit prin mulimea vrfurilor {1,2,3,4,5,6} i mulimea
muchiilor {[1,2],[2,3],[3,4],[3,5],[4,5],[1,3],[2,6],[2,4],[4,6]}.
Care este numrul minim de muchii ce pot fi eliminate i care sunt aceste muchii astfel
nct graful parial obinut s nu mai fie conex? (6p.)
4. Se consider graful orientat cu 6 noduri reprezentat prin matricea de 0 1 0 1 0 1
adiacen alturat. Care este numrul tuturor grafurilor pariale distincte 0 0 0 0 1 0
ale grafului dat? Dou grafuri pariale sunt distincte dac matricele lor de 0 0 0 0 0 0
adiacen sunt diferite. (6p.) 0 0 0 0 1 0
0 0 0 0 0 1
0 0 1 0 0 0
5. Se consider un text cu maximum 255 de caractere, format din litere mici ale alfabetului
englez i spaii. Textul conine cel puin o consoan. Scriei un program C/C++ care citete
de la tastatur textul i apoi determin transformarea acestuia, eliminnd numai ultima
consoan care apare n text, ca n exemplu. Programul va afia pe ecran textul obinut.
Exemplu: dac de la tastatur se introduce textul: mare frig saci
pe ecran se va afia: mare frig sai (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 7
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 007

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. void f(long int n)
Se consider subprogramul f definit { if (n!=0)
alturat. Ce se va afia n urma {if (n%2 == 0)
apelului f(12345);? (4p.) cout<<n%10; | printf(%d,n%10);
f(n/10);
}
}
a. 513 b. 24 c. 42 d. 315

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


2. Folosind tehnica bactracking un elev a scris un program care genereaz toate numerele de
cte n cifre (0<n9), cifrele fiind n ordine strict cresctoare. Dac n este egal cu 5, scriei
n ordine cresctoare toate numerele avnd cifra unitilor 6, care vor fi generate de
program. (6p.)
3. Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n100)i cele
3*n elemente ale tabloului unidimensional v, fiecare element fiind un numr natural cu cel
mult patru cifre fiecare. Tabloul este mprit n trei zone, cu cte n elemente: prima zon
conine primele n elemente din tablou, a doua zon conine urmtoarele n elemente din
tablou, restul elementelor fiind n zona a treia. Programul va interschimba primul element
par (dac exist) al zonei unu cu ultimul element impar (dac exist) al zonei trei i apoi va
scrie pe prima linie a fiierului text BAC.TXT toate elementele tabloului, separate prin cte
un spaiu. n cazul n care unul dintre aceste dou elemente, care urmeaz a fi
interschimbate, nu exist, programul nu va efectua nici o modificare asupra tabloului dat.
Exemplu: pentru n=3 i v=(1 2 3 4 5 6 7 8 9), fiierul BAC.TXT va conine:
1 9 3 4 5 6 7 8 2 (10p.)
4. Se consider irul definit de relaia de
recuren alturat:

a) Scriei definiia complet a unui subprogram sub, care primete prin intermediul
singurului su parametru n un numr natural de maximum 8 cifre, i care returneaz cel
mai mare termen al irului f care este mai mic sau cel mult egal cu n.
Exemplu: dac n=83 atunci subprogramul va returna valoarea 80. (4p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural s (s10000000)
i determin scrierea lui s ca sum de termeni distinci ai irului dat folosind apeluri utile ale
subprogramului sub. Numerele astfel determinate se vor scrie pe ecran, pe aceeai linie,
separate prin cte un spaiu. i
Exemplu: dac valoarea citit de la tastatur este 63, se va afia:
40 20 3 (6p.)ce const eficiena(4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 8
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 008

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre urmtoarele expresii C/C++ are ca valoare cel mai mare dintre numerele
naturale nenule, cu cel mult 4 cifre fiecare, memorate n variabilele ntregi a i b? (4p.)
a. (a+b+abs(a-b))/2 b. a+b+abs(a-b)/2
c. (a+b-abs(a-b))/2 d. (a+b-abs(a+b))/2

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


2. Se consider algoritmul alturat descris n citete n,k (numere naturale nenule)
pseudocod: nr0
S-a notat cu [c] partea ntreag a numrului real p1
c, iar cu a%b restul mpririi numrului ntreg a la ct timp n0 i k0 execut
numrul ntreg b. dac n%2=0 atunci
nrnr+ n%10*p
a) Scriei valoarea care se afieaz, n urma pp*10
executrii algoritmului, dac se citete altfel
pentru n valoarea 932125 i pentru k kk-1
valoarea 3. (4p.)
b) Scriei un set de date de intrare astfel nct, n[n/10]
n urma executrii algoritmului, s se
afieze valoarea 0. (6p.) scrie nr
c) Scriei n pseudocod un algoritm echivalent
cu cel dat n care s se nlocuiasc
structura ct timp ... execut cu o
structur repetitiv cu test final. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 8
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 008

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.

1. Se consider graful orientat reprezentat prin listele de adiacen


alturate. Cte noduri au gradul extern mai mare dect gradul
intern? (4p.)

a. 3 b. 2 c. 1 d. 4
2. Se consider un graf neorientat cu 50 noduri i 32 muchii. Care este numrul maxim de
vrfuri cu gradul 0 pe care le poate avea graful? (4p.)
a. 45 b. 40 c. 41 d. 50

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


3. Ce se afieaz n urma executrii secvenei de strcpy(s+2,s+4);
program alturate dac variabila s memoreaz cout<<s<< <<strlen(s);
irul de caractere abcdefgh? (6p.) | printf(%s %d,s,strlen(s));

4. ntr-o list liniar simplu nlnuit, alocat s=...;


dinamic, cu cel puin 4 elemente, fiecare element while ( ... )
reine n cmpul urm adresa elementului urmtor {
sau NULL dac nu exist un element urmtor, iar p=p->urm;
n cmpul info o valoare ntreag. tiind c s=s+p->info;
}
variabila p reine adresa primului element din list,
cout<<s; | printf(%d,s);
nlocuii punctele de suspensie cu expresiile
corespunztoare, astfel nct secvena alturat
s calculeze n variabila s suma tuturor valorilor
elementelor listei. (6p.)
5. Scriei un program C/C++ care citete de la tastatur dou numere naturale n i p
(2n20, 1p20) i construiete n memorie un tablou bidimensional cu n linii i p
coloane. Tabloul va fi construit astfel nct, parcurgnd tabloul linie cu linie de sus n jos i
fiecare linie de la stnga la dreapta, s se obin irul primelor n*p ptrate perfecte
impare, ordonat strict cresctor, ca n exemplu. Tabloul astfel construit va fi afiat pe
ecran, fiecare linie a tabloului pe cte o linie a ecranului, cu cte un spaiu ntre elementele
fiecrei linii.
Exemplu: pentru n=2, p=3 se va afia tabloul alturat: 1 9 25
(10p.) 49 81 121

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 8
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 008

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Utiliznd metoda backtracking sunt generate numerele de 3 cifre care au cifrele n ordine
cresctoare, iar cifrele aflate pe poziii consecutive sunt de paritate diferit. tiind c primele
cinci soluii generate sunt, n aceast ordine, 123, 125, 127, 129, 145, care este cel de al
8-lea numr generat? (4p.)
a. 169 b. 149 c. 167 d. 147

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


2. Se consider subprogramul f, void f(int n)
descris alturat. Ce se va afia { if (n!=0)
n urma apelului f(3);? (6p.) { if (n%2==0)
cout<<n<< ; | printf("%d ",n);
f(n-1);
cout<<n<< ; | printf("%d ",n);
}
else cout<<endl; | printf("\n");
}
3. Pe prima linie a fiierului text BAC.TXT se afl o valoare natural n (1<n50), iar pe a doua
linie n numere naturale cu maximum 4 cifre fiecare, desprite prin cte un spaiu. n irul
numerelor de pe a doua linie a fiierului exist cel pzin dou numere ptrate perfecte.
Scriei un program C/C++ care citete toate numerele din fiier i afieaz pe ecran
expresia aritmetic reprezentnd suma numerelor de pe a doua linie a fiierului care au
proprietatea c sunt ptrate perfecte, cu simbolul + ntre ele i, dup un semn =, valoarea
acestei sume, ca n exemplu. Termenii sumei afiate se pot afla n orice ordine.
Exemplu: dac fiierul BAC.TXT are urmtorul coninut
5
9 5 36 9 8
atunci pe ecran se poate afia:
9+9+36=54 sau 9+36+9=54 sau 36+9+9=54 (10p.)
4. Subprogramul sub primete prin intermediul parametrilor:
n i m dou numere naturale (1<n<100, 1<m<100)
a i b dou tablouri unidimensionale, fiecare avnd componente numere naturale de
maximum patru cifre, ordonate cresctor; tabloul a conine n numere pare, iar tabloul b
conine m numere impare.
Subprogramul va afia pe ecran, n ordine cresctoare, separate prin cte un spaiu, un ir
format dintr-un numr maxim de elemente care aparin cel puin unuia dintre tablouri, astfel
nct orice dou elemente aflate pe poziii consecutive s fie de paritate diferit.
Exemplu: pentru n=5, m=3 i tablourile a=(2,4,8,10,14) i b=(3,5,11), subprogramul
va afia 2 3 4 5 8 11 14 sau 2 3 4 5 10 11 14.
a) Scriei definiia complet a subprogramului sub, alegnd pentru rezolvare un algoritm
eficient din punctul de vedere al timpului de executare. (6p.)
b) Descriei succint, n limbaj natural, algoritmul pe baza cruia a fost scris subprogramul de
la punctul a), explicnd n ce const eficiena metodei utilizate. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 9
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 009

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre expresiile C/C++ de mai jos este ((a>3) && (a<15)) || (a!=b)
echivalent cu expresia alturat? (4p.)
a. ((a>3) || (a<15)) && (a==b) b. !((a<=3) || (a>=15)) || (a!=b)
c. ((a>3) || (a<15)) && (a!=b) d. !(a<3 || a>15) && (a!=b)

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


2. Se consider algoritmul alturat, descris n pseudocod: citete n (numr natural)
S-a notat cu [c] partea ntreag a numrului real c, iar cu s10
a%b restul mpririi numrului ntreg a la numrul ntreg nenul ct timp n>0 execut
b. dac n%10<s atunci
sn%10
a) Scriei valoarea care se afieaz, n urma executrii altfel
algoritmului, dac se citete pentru n valoarea 1239. s-1
(6p.)
b) Scriei cea mai mic valoare de 4 cifre distincte care n[n/10]

poate fi citit pentru n astfel nct s se afieze
scrie s
valoarea -1. (4p.)
c) Scriei n pseudocod un algoritm echivalent cu cel dat
n care s se nlocuiasc structura ct timp ...
execut cu o structur repetitiv cu test final. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 9
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 009

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Considernd declararea alturat, care dintre urmtoarele secvene struct {
realizeaz n mod corect citirea de la tastatur a valorilor celor dou int a;
cmpuri ale variabilei x? (4p.) int b;} x;
a. cin>>x.a>>x.b; | scanf(%d%d, &x.a, &x.b);
b. cin>>a.x>>b.x; | scanf(%d%d, &a.x, &b.x);
c. cin>>x; | scanf(%d, &x);
d. cin>>a->x>>b->x; | scanf(%d%d, &a->x, &b->x);
2. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul info
o valoare ntreag, 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.
Lista conine, n aceast ordine, while(p!=NULL && p->urm!=NULL) {
pornind de la primul element, cout<<p->info; | printf(%d,p->info);
valorile: 2, 3, 4, 5, 6, 7, 8. Ce se va p->urm=p->urm->urm;
afia n urma executrii secvenei p=p->urm;
de instruciuni alturat? (4p.) }
a. 2 4 6 b. 2 4 6 8 c. 2 4 8 d. 2 5 8

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


3. Se consider un graf orientat cu 6 noduri care are urmtoarele proprietti:
- suma gradelor externe ale tuturor vrfurilor grafului este egal cu 6
- sunt numai 3 vrfuri care au gradul intern egal cu 1
Care este valoarea maxim pe care o poate avea gradul extern al unui vrf din graful dat?
(6p.)
4. Se consider declararea de mai jos: strcpy(x,s+4);
char s[50], x[50]; strcpy(s+4,123);
Ce se afieaz n urma executrii secvenei de strcat(s,x);
program scris alturat dac variabila s memoreaz cout<<s; | printf(%s,s);
irul abcdefg? (6p.)
5. Se consider tabloul bidimensional cu n linii i n coloane ce conine numere naturale cu cel
mult patru cifre fiecare. Scriei programul C/C++ care citete de la tastatur numrul natural
n (2n23) i cele n*n elemente ale tabloului i apoi afieaz pe ecran elementele primului
ptrat concentric, separate prin cte un spaiu. Ptratul este parcurs n sensul acelor de
ceasornic ncepnd din colul su stnga-sus, ca n exemplu. Primul ptrat concentric este
format din prima i ultima linie, prima i ultima coloan a tabloului.
Exemplu: pentru n=5 i tabloul alturat, se va 1 2 3 4 5
afia: 6 7 8 9 1
2 3 4 5 6
1 2 3 4 5 1 6 2 7 6 5 4 3 7 2 6 7 8 9 1 2
(10p.) 3 4 5 6 7

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 9
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 009

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Se consider subprogramul f cu definiia int f (long n, int k){
alturat. Ce valoare are f(1213111,1)? if (n!=0)
if(n%10==k)
(4p.) return 1+f(n/10,k);
else return 0;
else return 0;}
a. 5 b. 3 c. 2 d. 1

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


2. Utiliznd metoda backtracking, sunt generate n ordine cresctoare toate numerele de 3
cifre, astfel nct cifrele sunt n ordine cresctoare, iar cifrele aflate pe poziii consecutive
sunt de paritate diferit. tiind c primele trei soluii generate sunt, n aceast ordine, 123,
125, 127, scriei toate numerele generate care au suma cifrelor egal cu 12. (6p.)
3. Scriei definiia complet a subprogramului sub cu doi parametri: n (numr natural,
0<n50) i k (numr natural, 0<k20). Subprogramul determin afiarea pe o linie nou a
ecranului, n ordine descresctoare, a primelor n numere naturale nenule divizibile cu k.
Numerele vor fi separate prin cte spaiu.
Exemplu: dac n=3 i k=5 la apelul subprogramului se va afia pe ecran:
15 10 5 (10p.)
4. Se consider fiierul BAC.TXT ce conine cel mult un milion de numere naturale separate
prin spatii, fiecare numr avnd cel mult nou cifre.
a) Scriei un program C/C++ care citete toate numerele din fiierul BAC.TXT i determin,
folosind un algoritm eficient din punct de vedere timpului de executare, cele mai mari dou
numere de trei cifre care nu se afl n fiier. Cele dou numere vor fi afiate pe ecran n
ordine descresctoare, cu un spaiu ntre ele. Dac nu pot fi determinate dou astfel de
numere, programul va afia pe ecran valoarea 0.
Exemplu: dac fiierul BAC.TXT conine numerele:
12 2345 123 67 989 6 999 123 67 989 999
atunci programul va afia
998 997 (6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 10
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 010

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care este valoarea expresiei C/C++ alturate? (4p.) 9/2*2-5
a. 3 b. 4
c. -3 d. -3.75

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


2. Se consider algoritmul alturat, descris n citete n,k
pseudocod (numere naturale nenule)
S-a notat cu [c] partea ntreag a numrului real c, nr0
iar cu a%b restul mpririi numrului ntreg a la p1
numrul ntreg nenul b. ct timp n0 i k0 execut
dac n%20 atunci
a) Scriei valoarea care se afieaz, n urma nrnr + [n/10]%10*p
executrii algoritmului, dac se citete pentru pp*10
n valoarea 23456 i pentru k valoarea 3. (4p.) altfel
b) Scriei dou seturi distincte de date de intrare, kk-1
astfel nct, pentru fiecare dintre ele, n urma
executrii algoritmului, s se afieze valoarea n[n/10]
234. (6p.)
scrie nr
c) Scriei n pseudocod un algoritm echivalent cu
cel dat n care s se nlocuiasc structura ct
timp ... execut cu o structur repetitiv cu
test final. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 10
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 010

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.

1. Considernd declararea alturat, care dintre urmtoarele secvene struct {


de instruciuni afieaz valorile memorate n cele dou cmpuri ale int a, b;
variabilei x, separate printr-un spaiu? (4p.) }x;
a. cout<<x.a<< <<x.b; | printf(%d %d, x.a, x.b);
b. cout<<a.x<< <<b.x; | printf(%d %d, a.x, b.x);
c. cout<<x; | printf(%d, x);
d. cout<<a->x<< <<b->x; | printf(%d %d, a->x, b->x);
2. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul info
o valoare ntreag, 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.
Lista conine, ncepnd de la while((p->urm!=NULL)&&(p!=NULL))
primul element, n aceast ordine, { p->urm=p->urm->urm;
valorile: 2, 3, 4, 5, 6, 7, 8. Ce se p=p->urm;
va afia n urma executrii cout<<p->info<< ; | printf(%d ,p->info);
secvenei de instruciuni
}
alturate? (4p.)
a. 2 5 8 b. 2 4 8
c. 2 4 6 8 d. 4 6 8

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


3. Se consider un graf neorientat cu 80 de noduri i 3160 muchii. Care este numrul de
muchii ce pot fi eliminate astfel astfel nct graful parial obinut s fie arbore? (6p.)
4. Ce se va afia n urma executrii secvenei de i=0;
instruciuni alturate dac variabila s memoreaz while (i<strlen(s)-1)
irul de caractere abbacdde, iar variabila i este de if (s[i]==s[i+1])
tip ntreg? (6p.) strcpy(s+i,s+i+1);
else
i=i+1;
cout<<s; | printf(%s,s);
5. Scriei un program C/C++ care citete de la tastatur dou numere naturale n i p
(2n20, 1p20) i construiete n memorie un tablou bidimensional cu n linii i p
coloane. Tabloul va fi construit astfel nct, parcurgnd matricea linie cu linie de sus n jos i
fiecare linie de la stnga la dreapta, s se obin irul primelor n*p ptrate perfecte pare,
ordonat strict cresctor, ca n exemplu. Tabloul astfel construit va fi afiat pe ecran, fiecare
linie a tabloului pe cte o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii.
Exemplu: pentru n=2, p=3 programul va afia tabloul alturat: 0 4 16
(10p.) 36 64 100

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 10
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 010

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. int f(int n,int y)
Se consider subprogramul cu definiia { if(n!=0)
alturat. Ce valoare are f(3,1)? { y=y+1;
(4p.) return y+f(n-1,y);
}
else return 0;
}
a. 9 b. 6 c. 7 d. 8

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


2. Un elev a scris un program care, folosind metoda backtracking, genereaz toate numerele
de cte 5 cifre, cifrele fiind n ordine strict cresctoare. Scriei toate numerele generate de
program care au prima cifr 5. (6p.)
3. Scriei definiia complet a subprogramului sub cu trei parametri: n (numr natural,
5<n30000), a i b; subprogramul furnizeaz prin intermediul parametrilor a i b cele mai
mari dou numere prime distincte mai mici dect n.
Exemplu: dac n= 28 la apelul subprogramului se va furniza prin parametrul a valoarea
23 i prin parametrul b valoarea 19. (10p.)
4. Evidena produselor vndute de o societate comercial este pstrat n fiierul
PRODUSE.TXT. Pentru fiecare vnzare se cunosc: tipul produsului (un numr natural de cel
mult 4 cifre), cantitatea vndut exprimat in kilograme (un numr natural mai mic sau egal
cu 100) i preul unui kilogram (un numr natural mai mic sau egal cu 100).
Fiierul PRODUSE.TXT are cel mult 200000 de linii i fiecare linie conine trei numere
naturale, separate prin cte un spaiu, ce reprezint, n aceast ordine tipul, cantitatea i
preul de vnzare al unui produs la momentul vnzrii respective.
a) S se scrie un program C/C++ care, utiliznd un algoritm eficient din punct de vedere al
timpului de executare, determin pentru fiecare tip de produs vndut suma total obinut
n urma vnzrilor. Programul va afia pe cte o linie a ecranului tipul produsului i suma
total obinut, separate prin cte un spaiu, ca n exemplu.
Exemplu: dac fiierul PRODUSE.TXT are coninutul alturat, programul va afia 3 1 5
perechile urmtoare, nu neaprat n aceast ordine: 1 20 5
1 150 2 10 3
2 30 1 10 5
3 5 (6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena (3 - 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 11
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 011

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Variabilele x i y sunt de tip ntreg, x memornd valoarea 8, iar y valoarea 6. Care dintre
expresiile C/C++ de mai jos are valoarea 0? (4p.)
a. 3*x-4*y==0 b. (x+y)/2 > x%y+1
c. !(x/2+2==y) d. x-y+3!=0

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


2. Se consider algoritmul alturat, descris n citete n,k (numere naturale)
pseudocod. p1
ct timp n>0 i k>0 execut
S-a notat cu x%y restul mpririi numrului natural x
cn%10
la numrul natural nenul y i cu [z] partea ntreag a
dac c%2=1 atunci
numrului real z.
pp*c
a) Scriei valoarea care se va afia dac se
citete pentru n valoarea 296385, iar pentru k n[n/10]
valoarea 3. (6p.) kk-1

b) Dac se citete pentru k valoarea 4, scriei scrie p
cea mai mare valoare de 5 cifre care poate fi
citit pentru n astfel nct numrul afiat n
urma executrii algoritmului s fie 1. (4p.)
c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu algoritmul dat, n care s se nlocuiasc
structura repetitiv ct timp...execut, cu o structur repetitiv
pentru...execut. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 11
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 011

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider graful orientat reprezentat prin matricea de adiacen 0 1 1 0 0 0
alturat. Care este lungimea maxim a unui drum, de la vrful 4 pn 0 0 0 0 1 1
la vrful 6, format din vrfuri distincte dou cte dou (lungimea unui 0 0 0 0 0 0
drum este egal cu numrul de arce care compun acel drum)? (4p.) 0 0 1 0 1 0
1 1 0 0 0 1
1 0 1 0 0 0
a. 4 b. 3 c. 1 d. 5
2. Cte grafuri neorientate, distincte, cu 5 vrfuri, se pot construi? Dou grafuri se consider
distincte dac matricele lor de adiacen sunt diferite. (4p.)
4 2 10 10
a. 5 b. 5 c. 2 d. 4

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


strcpy(s,abracadabra);
3. Ce se afieaz pe ecran n urma i=0;
executrii secvenei de program
cout<<strlen(s); | printf(%d,strlen(s));
alturate, n care variabila s
while (i<strlen(s))
memoreaz un ir cu cel mult 12 if (s[i]=='a')
caractere, iar variabila i este de strcpy(s+i,s+i+1);
tip ntreg? else
(6p.) i=i+1;
cout<< <<s; | printf( %s,s);
4. ntr-o list liniar simplu nlnuit, alocat dinamic, cu cel puin 3 noduri, fiecare element
reine n cmpul nr un numr real, iar n cmpul urm adresa urmtorului element din list
sau valoarea NULL n cazul n care este ultimul nod al listei. Dac p reine adresa primului
element din list, scriei o expresie C/C++ a crei valoare este egal cu suma valorilor reale
reinute n primele trei noduri ale listei. (6p.)
5. Scriei un program C/C++ care citete de la tastatur dou valori naturale nenule m i n
(m10, n10) i apoi m*n numere naturale nenule cu cel mult 4 cifre fiecare, reprezentnd
elementele unei matrice cu m linii i n coloane. Programul determin apoi valorile minime de
pe fiecare linie a matricei i afieaz pe ecran cea mai mare valoare dintre aceste minime.
3 6 5 4 7

Exemplu: pentru m=3, n=5 i matricea 9 6 12 9 10 , se afieaz pe ecran valoarea 6
5 13 7 2 3

(cea mai mic valoare de pe prima linie a matricei este 3, cea mai mic valoare de pe linia a
doua este 6, cea mai mic valoare de pe linia a treia este 2. Cea mai mare dintre aceste trei
valori este 6). (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 11
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 011

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Un algoritm de tip backtracking genereaz, n ordine lexicografic, toate irurile de 5 cifre 0
i 1 cu proprietatea c nu exist mai mult de dou cifre 0 pe poziii consecutive. Primele 7
soluii generate sunt: 00100, 00101, 00110, 00111, 01001, 01010, 01011. Care este a
8-a soluie generat de acest algoritm? (4p.)
a. 01110 b. 01100 c. 01011 d. 01101

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


2. Pentru funcia f definit alturat, stabilii care int f(int n){
este valoarea f(5). Dar f(23159)? (6p.) int c;
if (n==0) return 9;
else
{c=f(n/10);
if (n%10<c) return n%10;
else return c;
}
}
3. Fiierul text numere.txt conine pe prima linie un numr natural n (n<30000), iar pe a
doua linie n numere ntregi avnd maximum 4 cifre fiecare. Se cere s se afieze pe ecran
un ir de n numere ntregi, cu proprietatea c valoarea termenului de pe poziia i
(i=1,2,,n) din acest ir este egal cu cea mai mare dintre primele i valori de pe a doua
linie a fiierului numere.txt.
a) Descriei pe scurt un algoritm de rezolvare, eficient din punct de vedere al timpului de
executare i al spaiului de memorie utilizat, explicnd n ce const eficiena sa. (4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris. (6p.)
Exemplu: dac fiierul numere.txt are coninutul 12
alturat, se afieaz pe ecran numerele 4 6 3 7 8 1 6 2 7 9 10 8
4 6 6 7 8 8 8 8 8 9 10 10
4. a) Scriei doar antetul funciei sum care primete ca parametru un numr natural nenul x cu
maximum 9 cifre i returneaz suma divizorilor numrului x.
Exemplu: sum(6) are valoarea 12 (=1+2+3+6). (3p.)
b) S se scrie un program C/C++ care citete de la tastatur un numr natural n (0<n<25) i
apoi n numere naturale nenule cu maximum 9 cifre fiecare. Programul calculeaz, folosind
apeluri ale funciei sum, i afieaz pe ecran cte numere prime conine irul citit.
Exemplu: pentru n=5 i valorile 12 3 9 7 1 se va afia pe ecran valoarea 2 (n irul dat
exist dou numere prime i anume 3 i 7). (7p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 12
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 012

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac variabilele x i
y memoreaz dou numere naturale pare consecutive? (4p.)
a. (x-y==2) && (y-x==2) b. (x==2) && (y==4)
c. x-y==2 d. ((x-y==2) || (y-x==2)) && (x%2==0)

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


2. Se consider algoritmul alturat, descris citete x
n
pseudocod. (numr natural)
y0
S-a notat cu [c] partea ntreag a numrului real c.
ct timp x0 execut
a) Scriei valoarea care va fi afiat dac se citesc, n ct timp x>9 execut
aceast ordine, numerele 12, 7, 354, 9, 630, 0. x[x/10]

(6p.) yy*10+x
b) Scriei un ir de numere ce pot fi citite astfel nct citete x
valoarea afiat s fie 321. (4p.)
scrie y
c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc fiecare
dintre cele dou structuri ct timp...execut, cu cte o structur repetitiv cu test
final. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 12
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 012

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Un graf orientat cu 6 vrfuri, numerotate de la 1 la 6, este 0 1 1 0 0 0
reprezentat prin matricea de adiacen alturat. Care dintre 0 0 1 1 0 1
vrfurile grafului au gradul exterior un numr impar? (4p.) 1 1 0 1 0 0
0 0 0 0 1 0
0 1 0 0 0 0
0 1 0 0 1 0
a. 1, 3, 4, 5 b. 2, 3, 4, 5 c. 1, 4, 5, 6 d. 2, 3, 5
2. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul inf
un numr ntreg, iar n cmpul urm adresa urmtorului nod din list sau NULL n cazul
ultimului nod al listei. Adresa primului element al listei este reinut n variabila prim, iar p
este o variabil de acelai tip cu prim. Dac n list sunt memorate, n aceast ordine,
numerele 1, 2, 3, 4 ca n figura de mai jos, care va fi coninutul listei n urma executrii
secvenei de instruciuni alturate? (4p.)
p=prim;
prim=p->urm;
p->urm=NULL;
prim->urm->urm->urm=p;

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

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


3. Pentru arborele cu rdcin, cu 9 noduri, numerotate de la 1 la 9, avnd urmtorul vector de
tai tata=(8,7,6,6,7,7,8,0,8), care este rdcina arborelui i care sunt descendenii
nodului 7? (6p.)
4. Scriei ce se afieaz pe char s[13]="informatica";
ecran n urma executrii cout<<strlen(s); | printf("%d",strlen(s));
secvenei de program for (i=0;i<strlen(s);i++)
alturate, n care variabila s if (strchr("aeiou",s[i])!=NULL)
memoreaz un ir de cel mult s[i]= '*';
12 caractere, iar variabila i cout<<" "<<s; | printf(" %s",s);
este de tip ntreg. (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<25) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, ale crei
elemente primesc valori dup cum urmeaz: elementul din linia i i coloana j primete ca
valoare ultima cifr a produsului i*j (1in i 1jn).
Programul va afia matricea astfel construit pe ecran, cte o linie a matricei 1 2 3 4
pe o linie a ecranului, elementele fiecrei linii fiind separate prin cte un 2 4 6 8
spaiu. 3 6 9 2
4 8 2 6
Exemplu: pentru n=4 se va afia matricea alturat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 12
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 012

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se consider subprogramul P, definit alturat. void P(int &x)
tiind c valoarea variabilei ntregi a este nainte {
de apel 4, care este valoarea ei imediat dup x=x+5;
apelul P(a)? (4p.) }
a. 10 b. 4 c. 9 d. 5

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


2. Pentru a scrie valoarea 10 ca sum de numere prime se folosete metoda backtracking i
se genereaz, n aceast ordine, sumele distincte: 2+2+2+2+2, 2+2+3+3, 2+3+5, 3+7,
5+5. Folosind exact aceeai metod, se scrie valoarea 9 ca sum de numere prime. Care
sunt primele trei soluii, n ordinea generrii lor? (6p.)
3. Fiierele text NR1.TXT i NR2.TXT conin, separate prin cte un spaiu, mai multe numere
ntregi de cel mult 9 cifre fiecare. Fiecare dintre fiiere conine cel mult 100 de valori i
numerele din fiecare fiier sunt ordonate strict cresctor. Se cere s se afieze pe ecran, n
ordine cresctoare, numerele divizibile cu 5 care se gsesc doar n unul din cele dou
fiiere.
Exemplu: dac fiierul NR1.TXT conine numerele 1 2 3 4 7 20 60, iar fiierul
NR2.TXT conine numerele 3 5 7 8 9 10 12 20 24, atunci se vor afia pe ecran
valorile 5 10 60.
a) Descriei un algoritm de rezolvare a acestei probleme, eficient din punct de vedere al
timpului de executare i al spaiului de memorie utilizat, explicnd n ce const eficiena
acestuia. (4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris. (6p.)
4. Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n (n20),
apoi un ir de n numere naturale, avnd fiecare exact 5 cifre. Dintre cele n numere citite,
programul determin pe acelea care au toate cifrele egale i le afieaz pe ecran, n ordine
cresctoare, separate prin cte un spaiu.
Exemplu: pentru n=5 i numerele 11111 33333 12423 59824 11111 33443 se va
afia: 11111 11111 33333. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 13
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 013

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre expresiile C/C++ de mai jos este echivalent cu !((a<5)&&(b>7))
expresia alturat? (4p.)
a. (a>=5)&&(b<=7) b. !(a<5) || !(b>7)
c. !(a<5) && !(b>7) d. !(a>=5) && !(b<=7)

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


2. Se consider algoritmul alturat, descris n citete a,b
pseudocod. (numere naturale, ab)
k0
S-a notat cu x%y restul mpririi numrului natural x la
pentru ia,b execut
numrul natural nenul y i cu [z] partea ntreag a
ni; c0
numrului real z.
ct timp n>0 execut
a) Scriei numrul ce se va afia dac pentru a se dac n%2=1 atunci
citete valoarea 404, iar pentru b se citete valoarea cc+1
413. (6p.)
n[n/10]
b) Dac pentru variabila a se citete valoarea 58
scriei toate valorile care, citite pentru variabila b, dac c>0 atunci
determin afiarea numrului 3. (4p.) kk+1
c) Scriei programul C/C++ corespunztor algoritmului

dat. (10p.)
scrie k
d) Scriei n pseudocod un algoritm echivalent cu
algoritmul dat n care s se nlocuiasc structura
repetitiv pentru...execut cu o structur
repetitiv de un alt tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 13
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 013

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care este vectorul "de tai" pentru arborele cu rdcin
din figura alturat? (4p.)

a. 0 0 5 7 6 5 1 b. 1 0 0 7 6 5 0
c. 7 4 5 0 4 5 4 d. 7 4 5 0 4 5 7
2. O list liniar simplu nlnuit, alocat dinamic, a=p;
memoreaz n cmpul ref al fiecrui nod adresa while (a->ref != NULL)
urmtorului nod din list sau NULL n cazul n care nu { b=a;
exist un nod urmtor. Lista conine cel puin 5 noduri, a=a->ref;
adresa primului nod este memorat n variabila p, iar }
variabilele a i b sunt de acelai tip cu p. Adresa crui nod
va fi memorat n variabila b, dup executarea secvenei
alturate de program? (6p.)
a. Nodul aflat n mijlocul listei b. Penultimul nod al listei
c. Ultimul nod al listei d. Nodul al treilea din list

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


3. Scriei listele de adiacen prin care este reprezentat un exemplu de graf neorientat conex,
cu 6 noduri, numerotate de la 1 la 6, care este eulerian, dar NU este hamiltonian. (4p.)
4. Scriei ce se afieaz pe char s[13]="abcdefghoid";
ecran n urma executrii i=0;
secvenei de program cout<<strlen(s); | printf("%d",strlen(s));
alturate, n care variabila s while (i<strlen(s))
memoreaz un ir de cel mult if (strchr("aeiou",s[i])!=NULL)
12 caractere, iar variabila i strcpy(s+i,s+i+1);
este de tip ntreg. (6p.) else i++;
cout<<" "<<s; | printf(" %s",s);

5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<25) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, ale crei
elemente primesc valori dup cum urmeaz:
- elementele aflate pe diagonala secundar sunt toate nule;
- elementele de pe coloana i (1in), aflate deasupra diagonalei secundare, au valoarea
egal cu i;
- elementele de pe linia n-i+1 (1in), aflate sub diagonala secundar, au valoarea egal
cu i.
Programul afieaz pe ecran matricea construit, cte o linie a matricei pe 1 2 3 0
cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un 1 2 0 3
spaiu. 1 0 2 2
Exemplu: pentru n=4 se va afia matricea alturat. (10p.) 0 1 1 1

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 13
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 013

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Fie subprogramul fct definit alturat, parial. Iniial, variabile ntregi void fct(....)
a, b i c au valorile a=8, b=31 i c=9, iar dup apelul fct(a,b,c), { x=x+1;
valorile celor trei variabile sunt a=9, b=31 i c=39. Care poate fi y=y-1;
antetul subprogramului fct? (4p.) z=x+y;
}
a. void fct(int &x,int &y,int &z) b. void fct(int x,int &y,int &z)
c. void fct(int x,int y,int z) d. void fct(int &x,int y,int &z)

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


2. Trei biei, Alin, Bogdan i Ciprian, i trei fete, Delia, Elena i Felicia, trebuie s
formeze o echip de 3 copii, care s participe la un concurs. Echipa trebuie s fie mixt
(adic s conin cel puin o fat i cel puin un biat). Ordinea copiilor n echip este
important deoarece aceasta va fi ordinea de intrare a copiilor n concurs (de exemplu
echipa Alin, Bogdan, Delia este diferit de echipa Bogdan, Alin, Delia).
Cte echipe se pot forma, astfel nct din ele s fac parte simultan Alin i Bogdan?
Dai exemplu de o echip corect format din care s nu fac parte nici Alin i nici
Bogdan. (6p.)
3. Se consider irul 1, 2,1, 3,2,1, 4,3,2,1, ...
construit astfel: prima grup este format din numrul 1, a doua grup este format din
numerele 2 i 1, iar grupa a k-a, este format din numerele k, k-1,..., 1.
Se cere s se citesc de la tastatur un numr natural n (n1000) i s se afieze pe ecran
cel de al n-lea termen al irului dat.
a) Descriei un algoritm de rezolvare a acestei probleme, eficient din punct de vedere al
timpului de executare i al spaiului de memorie, explicnd n ce const eficiena acestuia.
(4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris (6p.)
4. Se consider subprogramul P care are doi parametri:
n, prin intermediul cruia primete un numr natural de cel mult 9 cifre
c, prin intermediul cruia primete o cifr.
Subprogramul va furniza tot prin intermediul parametrului n numrul obinut din n prin
eliminarea tuturor apriiilor cifrei c. Dac, dup eliminare, numrul nu mai conine nicio cifr
sau conine doar cifre 0, rezultatul returnat va fi 0.
a) Scriei doar antetul subprogramului P. (2p.)
b) Pe prima linie a fiierului text BAC.IN se gsesc, separate prin cte un spaiu, mai multe
numere naturale de cel mult 9 cifre fiecare. Scriei programul C/C++ care citete numerele
din acest fiier, utiliznd apeluri ale subprogramului P elimin toate cifrele impare din fiecare
dintre aceste numere i apoi scrie n fiierul text BAC.OUT numerele astfel obinute,
separate prin cte un spaiu. Dac un numr din fiierul BAC.IN nu conine nicio cifr par
nenul, acesta nu va mai aprea deloc n fiierul de ieire. (8p.)
Exemplu: dac fiierul BAC.IN conine numerele 25 7 38 1030 45127 0 35 60 15,
atunci BAC.OUT va avea coninutul: 2 8 42 60.

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 14
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 014

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Pentru care dintre perechile de valori (a%100==b%100) && (a>99) || (b>99)
de mai jos expresia C/C++ alturat
are valoarea 1? (4p.)
a. a=1003 i b=3 b. a=35 i b=35
c. a=1100 i b=10 d. a=1234 i b=12

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


2. Se consider algoritmul alturat, descris n citete x
pseudocod. (numr natural)
n0
S-a notat cu x%y restul mpririi numrului natural x la
ct timp x0 execut
numrul natural nenul y i cu [z] partea ntreag a yx; c0
numrului real z. ct timp y>0 execut
a) Scriei valoarea ce se va afia dac se citesc, n dac y%10>c atunci
aceast ordine, numerele 12, 7, 354, 9, 1630, 0. (6p.) cy%10

b) Scriei un set de date de intrare format din numere y[y/10]
pare, care s determine, n urma executrii
algoritmului, afiarea valorii 751. (4p.) nn*10+c
c) Scriei programul C/C++ corespunztor algoritmului citete x
dat. (10p.)
scrie n
d) Scriei n pseudocod un algoritm echivalent cu cel dat,
n care s se nlocuiasc fiecare structur ct
timp...execut, cu cte o structur repetitiv cu
test final. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 14
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 014

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider un graf neorientat cu 5 noduri, etichetate cu cte o liter distinct din
mulimea {a, b, c, d, e}, n care orice nod etichetat cu o vocal este adiacent cu toate
nodurile etichetate cu consoane i numai cu acestea, iar orice nod etichetat cu o consoan
este adiacent numai cu nodurile etichetate cu vocale. Cte muchii are acest graf? (4p.)
a. 12 b. 6 c. 4 d. 3
2. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul inf
un numr ntreg, iar n cmpul ref adresa urmtorului nod din list sau NULL n cazul
ultimului element al listei.
Adresa primului element al listei este reinut n p=prim; s=0;
variabila prim, iar variabila p este de acelai tip cu while (p->ref!=NULL)
prim. Dac n list sunt memorate, n aceast { if (p->inf%5==0)
ordine, numerele 3, 5, 18, 20, ce se va afia pe s=s+p->inf;
ecran n urma executrii secvenei alturate de p=p->ref;
program? (6p.) }
cout<<s; | printf("%d",s);
a. 21 b. 25 c. 5 d. 46

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


3. Ce se afieaz pe ecran n urma char s[11]="abcduecda";
executrii secvenei de program cout<<strlen(s); | printf("%d",strlen(s));
alturate, n care variabila s i=0; j=strlen(s)-1;
memoreaz un ir cu cel mult 10 while (i<j)
caractere, iar variabilele i i j if (s[i]==s[j])
sunt de tip ntreg? (4p.) { strcpy(s+j,s+j+1);
strcpy(s+i,s+i+1); j=j-2;
}
else
{ i=i+1; j=j-1; }
cout<<" "<<s; | printf(" %s",s);
4. Care sunt etichetele nodurilor de tip frunz ale arborelui cu rdcin, avnd 7 noduri,
numerotate de la 1 la 7, i urmtorul vector de tai: (5,1,5,1,0,7,5)? (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural nenul, cu maximum
8 cifre, construiete n memorie i afieaz apoi pe ecran o matrice ptratic, avnd
numrul de linii i de coloane egal cu numrul de cifre ale numrului dat, completat cu
cifrele numrului citit.
Astfel, elementele de pe prima coloan a matricei vor fi toate egale cu
cifra unitilor numrului dat, elementele de pe a doua coloan a
matricei vor fi toate egale cu cifra zecilor numrului dat, i aa mai
departe, ca n exemplu.
Exemplu: dac se citete numrul 1359, matricea construit va fi cea
alturat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 14
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 014

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Utiliznd metoda backtracking se genereaz permutrile cuvntului info. Dac primele trei
soluii generate sunt: fino, fion, fnio care este cea de-a cincea soluie? (4p.)
a. foin b. fnoi c. foni d. ifon

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


2. Pentru funciile f1 i f2 definite long f1(int c)
alturat, stabilii care este valoarea lui { if (c%2==1) return 1;
else return 2;
f1(3). Dar f2(41382)? (6p.)
}

long f2(long n)
{ if (n==0) return 0;
else return f1(n%10)+f2(n/10);
}
3. Se citete de la tastatur un numr natural n (n500) i apoi n cifre separate prin spaii. Se
cere s se afieze pe ecran cele n cifre citite, n ordine cresctoare, separate prin cte un
spaiu.
Exemplu: pentru n=19 i cifrele 3 3 0 9 2 1 2 1 3 7 1 5 2 7 1 0 3 2 3 se va
afia pe ecran 0 0 1 1 1 1 2 2 2 2 3 3 3 3 3 5 7 7 9.
a) Descriei pe scurt un algoritm de rezolvare al problemei, eficient din punct de vedere al
spaiului de memorie utilizat i al timpului de executare, explicnd n ce const eficiena
metodei alese. (4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris. (6p.)
4. Fiierul text BAC.TXT conine mai multe numere naturale, cu cel mult 6 cifre fiecare, cte
un numr pe fiecare linie a fiierului.
Scriei un program C/C++ care citete toate numerele din fiierul BAC.TXT i le 11
afieaz pe ecran, n aceeai ordine, cte cinci pe fiecare linie, separate prin cte 21
un spaiu, cu excepia ultimei linii care poate conine mai puin de cinci numere. 30
Programul va afia apoi pe ecran, pe o linie separat, cte numere din fiier au 40
suma cifrelor par. 51
16
Exemplu: dac fiierul are coninutul alturat, pe ecran se vor afia numerele
17
de mai jos:
11 21 30 40 51 10
16 17 10 1 1
4 (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 15
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 015

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabilele x i y sunt de tip ntreg, x memornd valoarea 4, iar y valoarea 2. Care dintre
expresiile C/C++ de mai jos are valoarea 0? (4p.)
a. x-y!=0 b. x+y>x%y+1 c. x-2*y==0 d. !(x==2*y)

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


2. Se consider algoritmul alturat, descris n pseudocod. citete a,n
(numere naturale)
S-a notat cu x%y restul mpririi numrului natural x la
pentru i1,n execut
numrul natural nenul y. dac i%2=0 atunci
a) Scriei valoarea care se afieaz dac pentru a se aa-i*i
citete valoarea 25, iar pentru n se citete valoarea 6. altfel
(6p.) aa+i*i

b) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.) scrie a
c) Dac pentru variabila a se citete valoarea 18, scriei valoarea care trebuie citit pentru
variabila n, astfel nct s se afieze numrul 8. (6p.)
d) Dac se citete pentru a valoarea 0, cu ce instruciune de atribuire trebuie nlocuit
atribuirea aa-i*i n algoritmul dat, astfel nct algoritmul obinut s afieze valoarea
expresiei n2 dac numrul citit pentru n este impar i respectiv 0 dac numrul citit
pentru n este par. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 15
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 015

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 element reine n cmpul ref
adresa urmtorului nod din list sau NULL n cazul ultimului element al listei, iar n cmpul
inf un numr ntreg.
Adresa primului element al p=prim;
listei este reinut n variabila while ((p->inf%2==0) && (p!=NULL))
prim, iar p este o variabil de p=p->ref;
acelai tip cu prim. Ce va if (p!=NULL)
afia pe ecran n urma cout<<(p->inf); | printf("%d",p->inf);
executrii secvenei de else
program alturate? (6p.) cout<<"NU"; | printf("NU");

a. Prima valoare impar din list, dac b. Prima valoare par din list, dac
aceasta exist i NU n caz contrar. aceasta exist i NU n caz contrar.
c. Toate valorile impare din list dac astfel d. Toate valorile pare din list dac astfel de
de valori exist i NU n caz contrar. valori exist i NU n caz contrar.
2. Ci frai are nodul 1 din arborele cu rdcin, cu 7 noduri, numerotate de la 1 la 7, avnd
urmtorul vector de tai: (5,1,5,1,0,7,5)? (4p.)
a. 3 b. 1 c. 0 d. 2

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


3. Ce se va afia pe ecran n urma i=0; char s[11]="abaemeiut";
executrii secvenei de program cout<<strlen(s); | printf("%d",strlen(s));
alturate, n care variabila s while (i<strlen(s))
memoreaz un ir cu cel mult if (strchr("aeiou",s[i])!=NULL))
10 caractere, iar variabila i este { strcpy(s+i,s+i+1); i=i+1; }
de tip ntreg? (4p.) else
i=i+2;
cout<<" "<<s; | printf(" %s",s);
4. Se consider graful neorientat cu 8 noduri, numerotate de la 1 la 8, i muchiile [1,2],
[1,6], [1,7], [2,3], [2,6], [3,6], [3,4], [4,5], [4,8], [5,6], [7,8]. Care este
gradul minim al unui nod din acest graf? Care sunt nodurile care au acest grad minim? (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural cu exact 5 cifre i
construiete n memorie o matrice cu 6 linii i 6 coloane, numerotate de la 1 la 6, format
astfel:
- elementele aflate pe diagonala principal sunt toate nule;
- elementele de pe linia 1, aflate deasupra diagonalei principale precum i elementele de pe
coloana 1, aflate sub diagonala principal au toate valoarea egal cu cifra unitilor
numrului citit;
- elementele de pe linia 2, aflate deasupra diagonalei principale precum i elementele de pe
coloana 2, aflate sub diagonala principal au toate valoarea egal cu cifra zecilor numrului
citit, i aa mai departe, ca n exemplu.
Matricea astfel construit va fi afiat pe ecran, cte o linie a 0 1 1 1 1 1
matricei pe cte o linie a ecranului, elementele de pe aceeai linie 1 0 3 3 3 3
fiind separate prin cte un spaiu. 1 3 0 7 7 7
Exemplu: dac se citete numrul 28731 matricea construit va fi 1 3 7 0 8 8
cea scris alturat. (10p.) 1 3 7 8 0 2
1 3 7 8 2 0

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 15
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 015

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Cte numere cu exact dou cifre pot fi construite folosind doar cifre pare distincte? (4p.)
a. 12 b. 16 c. 20 d. 25

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


2. Pentru funciile f i g definite mai jos, scriei care este rezultatul returnat la apelul g(11).
Dar rezultatul returnat la apelul f(6)? (6p.)
long g(long x) long f(int c)
{ if (x>9) { if (c<1)
return (x/10 + x%10); return 1;
else else
return x; return g(c+f(c-1));
} }

3. Scriei un program C/C++ care citete de la tastatur un numr natural n (n32000) i


afieaz pe ecran numrul natural din intervalul nchis [1,n] care are cei mai muli divizori.
Dac exist mai multe numere cu aceast proprietate se va afia cel mai mic dintre ele.
Exemplu: pentru n=20 se va afia valoarea 12 (12, 18 i 20 au cte 6 divizori, iar 12 este
cel mai mic dintre ele). (10p.)
4. n fiierul text BAC.IN se gsesc, pe o singur linie, separate prin cte un spaiu, mai multe
numere naturale de cel mult 6 cifre fiecare. Se cere s se determine i s se afieze pe
ecran, separate printr-un spaiu, ultimele dou numere impare (nu neaprat distincte) din
fiierul BAC.IN. Dac n fiier se gsete un singur numr impar sau niciun numr impar se
va scrie pe ecran mesajul Numere insuficiente.
Exemplu: dac fiierul BAC.IN conine valorile: 12 15 68 13 17 90 31 42 se va
afia 17 31.
a) Descriei n limbaj natural un algoritm eficient din punct de vedere al spaiului de memorie
i al timpului de executare, pentru rezolvarea acestei probleme, explicnd n ce const
eficiena acestuia. (4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 16
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 016

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre urmtoarele instruciuni C/C++ determin inserarea cifrei 7 n faa ultimei cifre a
unui numr natural, cu mai mult de 2 cifre, memorat n variabila x? (4p.)
a. x=(x/10*10+7)*10+x%10; b. x=x/10+7+x%10;
c. x=(x%10*10+7)*10+x/10; d. x=(x/10+7)*10+x%10;

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


2. Se consider algoritmul alturat, descris n citete n (numr natural nenul)
pseudocod. pentru i1,n-1 execut
S-a notat cu cu x%y restul mpririi numrului natural x la dac i%2=0 atunci
numrul natural, nenul, y. scrie #

a) Scriei caracterele care se vor afia n urma pentru ji+1,n execut
executrii algoritmului dac se citete valoarea 4. scrie *
(6p.)

b) Scriei o valoare care poate fi citit pentru variabila
n, astfel nct caracterul * s fie afiat de exact 66
de ori. (4p.)
c) Scriei programul C/C++ corespunztor
algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel
dat, n care s se nlocuiasc fiecare structur
repetitiv pentru...execut cu cte o structur
repetitiv ct timp...execut. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 16
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 016

Pentru fiecare dintre itemii urmtori, scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Dac n este un numr natural impar mai mare dect 2, atunci un graf neorientat cu n
noduri, n care fiecare nod este adiacent cu exact n-1 noduri, este ntotdeauna : (4p.)
a. arbore b. graf eulerian
c. graf neconex d. graf aciclic (graf care nu conine niciun
ciclu)
2. Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan vrsta n ani mplinii i media la bacalaureat a unui elev? (4p.)
a. struct {float media; b. struct x {float media;
int varsta;} x; int varsta;};
c. float x.media; d. struct elev {float x.media;
int x.varsta; int x.varsta};

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


3. ntr-o list liniar simplu nlanuit, alocat dinamic, fiecare element conine n cmpul nr un
numr real, iar n cmpul urm adresa elementului urmtor sau NULL dac nu exist un
element urmtor. Lista are cel puin dou elemente, iar variabila x memoreaz adresa
primului element din list. Cu ce pot fi completate punctele de suspensie din secvena
urmtoare, astfel nct, n urma executrii, s afieze cuvntul ADEVARAT dac media
aritmetic dintre valorile cmpului nr ale primelor dou elemente din list este mai mic sau
cel puin egal cu 4.75, respectiv cuvntul FALS n caz contrar?
if (.....)cout << ADEVARAT; | printf(ADEVARAT);
else cout << FALS; | printf(FALS); (6p.)
4. Ce se va afia n urma k=a-A;
executrii secvenei de program strcpy(a,clasa a-XII-a A);
alturate tiind c variabila a cout<<a<<endl; | printf(%s\n,a);
memoreaz un ir cu cel mult for(i=0;i<strlen(a);i++)
100 de caractere, iar variabilele if(a[i]>=a&& a[i]<=z) a[i]=a[i]-k;
i i k sunt de tip ntreg? (6p.) cout<<a; | printf(%s,a);

5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<16),


construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane n care
elementele de pe cele dou diagonale sunt egale cu 0, elementele care se afl deasupra
ambelor diagonale sunt egale cu 1, elementele care se afl sub ambele diagonale sunt
egale cu 2, iar restul elementelor sunt egale cu 3.
Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 0 1 1 1 0
cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 3 0 1 0 3
3 3 0 3 3
Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 3 0 2 0 3
0 2 2 2 0

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 16
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 016

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Funcia F are definiia alturat. Ce valoare int F(int n)
are F(3)? (4p.) {if(n==0 || n==1) return 1;
else
return 2*F(n-1)+2*F(n-2);}
a. 1 b. 12 c. 6 d. 10

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare


2. Un algoritm genereaz n ordine cresctoare toate numerele de n cifre, folosind doar cifrele
3, 5 i 7. Dac pentru n=5, primele cinci soluii generate sunt 33333, 33335, 33337,
33353, 33355, precizai care sunt ultimele trei soluii generate, n ordinea generrii.(6p.)
3. Scriei definiia complet a subprogramului multiplu care are 3 parametri: a, prin care
primete un tablou unidimensional cu maximum 100 de numere naturale mai mici dect
1000, n, numrul efectiv de elemente ale tabloului i k, un numr natural (k9).
Subprogramul returneaz numrul de elemente din tablou care sunt multipli ai numrului k
i au ultima cifr egal cu k.
Exemplu: dac n=6, a=(9,273,63,83,93,123), iar k=3, subprogramul va returna
valoarea 4. (10p.)
4. n fiierul numere.txt sunt memorate maximum 10000 de numere naturale cu cel mult 9
cifre fiecare. Fiecare linie a fiierului conine cte un numr. Se cere afiarea pe ecran, n
ordine descresctoare, a tuturor cifrelor care apar n numerele din fiier. Alegei un algoritm
de rezolvare eficient din punct de vedere al timpului de executare.
Exemplu: dac fiierul numere.txt conine:
267
39628
79
se va tipri 9987766322.
a) Descriei succint, n limbaj natural, strategia de rezolvare i justificai eficiena algoritmului
ales. (4p.)
b) Scriei programul C/C++ corespunztor algoritmului ales. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 17
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 017

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care este valoarea pe care poate s o aib y=0;
iniial variabila ntreag x dac, la sfritul do
executrii secvenei alturate, variabila { x=x/10;
ntreag y are valoarea 2? (4p.) y=y+1;
} while(x%100==0);
a. 300 b. 5000 c. 120 d. 0

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


2. Se consider algoritmul alturat, descris n pseudocod. citete x,y
(numere naturale)
a) Scriei succesiunea de caractere pe care le va afia dac x<y atunci
algoritmul dac se citesc, n aceasta ordine, valorile 2,
xx-y
respectiv 9. (6p.) yx+y
b) Scriei numrul de perechi de valori aparinnd xy-x
intervalului [1,20], care pot fi citite pentru variabilele x
i y, astfel nct rezultatul afiat s fie format din exact ct timp xy execut
12 caractere ? (4p.) scrie A
xx-y
c) Scriei programul C/C++ corespunztor algoritmului scrie B
dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat,
n care s se nlocuiasc structura repetitiv ct
timp...execut cu o structur repetitiv de alt tip.
(6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 17
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 017

Pentru fiecare dintre itemii urmtori, scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element memoreaz n cmpul
nr un numr ntreg, iar n cmpul urm adresa elementului urmtor din list sau valoarea
NULL dac nu exist un element urmtor. Lista conine exact trei elemente ale cror
adrese sunt memorate n variabilele p, q i r. tiind c p->nr==1, q->nr==2, r->nr==3,
p->urm!=NULL i r->urm==q, care este ordinea numerelor din list? (4p.)
a. 1 3 2 b. 1 2 3 c. 2 1 3 d. 3 2 1
2. Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan codul de identificare al unui candidat la un examen, exprimat printr-un
numr natural de cel mult 4 cifre i media obinut de acesta la examen, exprimat printr-un
numr real? (4p.)
a. struct x { int cod; b. struct {int cod;
float media;}; float media;} x;
c. int x.cod ; d. struct candidat {int x.cod;
float x.media; float x.media;};

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


3. Care este gradul maxim posibil i care este gradul minim posibil pentru un nod dintr-un
arbore cu n noduri (n>1)? (6p.)
4. Ce se va afia n urma strcpy(a,bacalaureat);
executrii secvenei de cout<<strlen(a)<<endl; | printf(%d\n,strlen(a));
program alturate tiind c for(i=0;i<strlen(a);i++)
variabila a memoreaz un
if(strchr(aeiou,a[i])!=0)
ir cu cel mult 100 de
caractere, iar variabila i cout<<*; | printf(*);
este de tip ntreg ? (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20),
construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, n care
fiecare element de pe diagonala secundar are valoarea n, fiecare element aflat deasupra
diagonalei secundare este mai mic cu o unitate dect vecinul aflat pe aceeai linie n
dreapta lui i fiecare element aflat sub diagonala secundar este mai mare cu o unitate
dect vecinul aflat pe aceeai linie n stnga lui.
Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 1 2 3 4 5
cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 2 3 4 5 6
3 4 5 6 7
Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 4 5 6 7 8
5 6 7 8 9

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 17
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 017

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Subprogramul f are definiia void f(long n)
alturat. Ce se va afia n urma {if (n>9)
apelului f(12345);? {cout<<n/100; | printf(%d,n/100);
(4p.) f(n/10);
}
}
a. 1231210 b. 123121 c. 1234123121 d. 123

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare


2. Un algoritm genereaz n ordine descresctoare toate numerele de 5 cifre, fiecare dintre ele
avnd cifrele n ordine strict cresctoare. tiind c primele cinci soluii generate sunt 56789,
46789, 45789, 45689, 45679, precizai care sunt ultimele trei soluii generate, n ordinea
generrii. (6p.)
3. Scriei definiia complet a subprogramului interval care are doi parametri a i n, prin
care primete un tablou unidimensional cu maximum 100 de numere naturale mai mici
dect 1000 i respectiv numrul efectiv de elemente din tabloul unidimensional.
Subprogramul returneaz numrul de elemente din tabloul unidimensional care aparin
intervalului nchis determinat de primul i respectiv ultimul element al tabloului.
Exemplu: dac tabloul are 6 elemente i este de forma (12,27,6,8,9,2), subprogramul
va returna valoarea 5. (10p.)
4. n fiierul numere.txt pe prima linie este memorat un numr natural n (n10000), iar pe
linia urmtoare un ir de n numere naturale distincte dou cte dou, separate prin cte un
spaiu, cu maximum 4 cifre fiecare. Se cere afiarea pe ecran a poziiei pe care s-ar gsi
primul element din irul aflat pe linia a doua a fiierului, n cazul n care irul ar fi ordonat
cresctor. Numerotarea poziiilor elementelor n cadrul irului este de la 1 la n. Alegei un
algoritm de rezolvare eficient din punct de vedere al memoriei utilizate i al timpului de
executare.
Exemplu: dac fiierul numere.txt conine:
6
267 13 45 628 7 79
se va afia 5, deoarece primul element din irul iniial, 267, s-ar gsi pe poziia a cincea n
irul ordonat cresctor (7 13 45 79 267 628).
a) Descriei succint, n limbaj natural, strategia de rezolvare i justificai eficiena algoritmului
ales. (4p.)
b) Scriei programul C/C++ corespunztor algoritmului ales. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 18
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 018

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre urmtoarele instruciuni C/C++ determin eliminarea cifrei din mijloc a unui
numr natural, cu exact 5 cifre, memorat n variabila x? (4p.)
a. x=x/1000*100+x%100; b. x=x%1000*100+x/100;
c. x=x/100*100+x%100; d. x=x/1000+x%100;

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


2. Se consider algoritmul alturat, descris n pseudocod. citete x,y
S-a notat cu a%b restul mpririi numrului natural a la (numere naturale)
numrul natural, nenul, b i cu ab interschimbarea dac x>y atunci
yx
valorilor reinute de variabilele a i b.

a) Scriei succesiunea de caractere care se vor afia n dac x%2=0 atunci
urma executrii algoritmului dac se citesc, n acest xx+1
ordine, valorile 2 i 9. (6p.)
b) tiind c pentru variabila y se citete valoarea 79, ct timp xy execut
xx+2
scriei dou valori distincte care pot fi citite pentru
scrie *
variabila x, astfel nct s fie afiat de exact 40 de ori

caracterul *. (4p.)
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat,
n care s se nlocuiasc structura repetitiv ct
timp...execut cu o structur repetitiv de alt tip.
(6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 18
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 018

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

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


3. Un arbore binar este un arbore cu rdcin n care fiecare nod are cel mult 2 descendeni
direci (fii). nlimea unui arbore este reprezentat de numrul maxim de muchii ale unui
lan elementar ce unete rdcina cu un vrf terminal (frunz).
Pentru un arbore binar cu exact 8 noduri, care este nlimea minim posibil i care poate fi
numrul maxim de noduri terminale (frunze) ale arborelui n acest caz? (6p.)
4. n secvena de program alturat, variabila a strcpy(a,informatica);
memoreaz un ir cu cel mult 100 de caractere, for(i=0;i<strlen(a);i++)
iar variabila i este de tip ntreg. Completai if(...)
punctele de suspensie din secven astfel nct, cout<<...; | printf(...);
n urma executrii secvenei, aceasta s afieze else
irul de caractere *nf*rm*t*c*. (6p.) cout<<...; | printf(...);

5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20),


construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, numerotate
de la 1 la n n care fiecare element din matrice aflat pe o linie impar va fi egal cu numrul
liniei pe care se afl i fiecare element aflat pe o linie par va fi egal cu numrul coloanei pe
care se afl.
Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 1 1 1 1 1
cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 1 2 3 4 5
Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 3 3 3 3 3
1 2 3 4 5
5 5 5 5 5

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 18
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 018

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Funcia f are definiia alturat. Ce se void f(long n, int i)
va afia n urma apelului {if (i<n%10)
f(12345,0);? (4p.) {cout<<n%10; | printf(%d,n%10);
f(n/10,i+1);
}
}
a. 54321 b. 543 c. 54 d. 5432

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare


2. Un algoritm genereaz, n ordine lexicografic, toate irurile alctuite din cte n cifre binare
(0 i 1). tiind c pentru n=5, primele patru soluii generate sunt 00000, 00001, 00010,
00011, precizai care sunt ultimele trei soluii generate, n ordinea obinerii lor. (6p.)
3. Scriei definiia complet a subprogramului count care are doi parametri, a i n, prin care
primete un tablou unidimensional cu maximum 100 de numere reale i respectiv numrul
efectiv de elemente din tablou. Subprogramul returneaz numrul de elemente din tabloul a
care sunt mai mari sau cel puin egale cu media aritmetic a tuturor elementelor din tablou.
Exemplu: dac tabloul are 6 elemente i este de forma (12, 7.5, 6.5, 3, 8.5, 7.5),
subprogramul va returna valoarea 4 (deoarece media tuturor elementelor este 7.5 i
numerele subliniate sunt cel puin egale cu aceast medie). (10p.)
4. n fiierul numere.txt este memorat un ir de maximum 10000 numere naturale, distincte
dou cte dou, cu maximum 4 cifre fiecare, separate prin cte un spaiu. Pentru un numr
k citit de la tastatur, se cere afiarea pe ecran a poziiei pe care se va gsi acesta n irul
de numere din fiier, dac irul ar fi ordonat descresctor, sau mesajul nu exist, dac
numrul k nu se afl printre numerele din fiier. Alegei un algoritm eficient de rezolvare din
punct de vedere al memoriei utilizate i al timpului de executare.
Exemplu: dac fiierul numere.txt conine numerele 26 2 5 30 13 45 62 7 79, iar
k are valoarea 13, se va afia 6 deoarece 13 s-ar gsi pe poziia a asea n irul
ordonat descresctor (79 62 45 30 26 13 7 5 2).
a) Descriei succint, n limbaj natural, strategia de rezolvare i justificai eficiena algoritmului
ales. (4p.)
b) Scriei programul C/C++ corespunztor algoritmului ales. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 19
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 019

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Cte atribuiri se execut, n total, n p=1; n=279;
secvena alturat, dac n i p sunt while (n>=100)
variabile de tip ntreg? (4p.) { p=p*10;
n=n-100;
}
a. 4 b. 6 c. 2 d. 8

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


2. Se consider algoritmul alturat, descris n citete a,b
pseudocod. (numere naturale)
S-a notat cu cu x%y restul mpririi numrului natural x laa[a/10]%10*10+a%10
numrul natural nenul y i cu [z] partea ntreag a b[b/10]%10*10+b%10
numrului real z. pentru ia,b execut
dac[i/10]=i%10 atunci
a) Scriei numerele care se vor afia n urma scrie i%10
executrii algoritmului dac se citesc valorile
a=312 i b=1354. (6p.)
b) Scriei cte o valoare care poate fi citit pentru
variabila a, respectiv b, astfel nct algoritmul s
afieze exact 2 valori. (4p.)
c) Scriei programul C/C++ corespunztor
algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel
dat, n care s se nlocuiasc structura
pentru...execut cu o structur repetitiv de
alt tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 19
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 019

Pentru fiecare dintre itemii urmtori, scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Un graf neorientat este complet dac oricare dou noduri distincte ale sale sunt adiacente.
Care este numrul de muchii care trebuie eliminate dintr-un graf neorientat, complet, cu 7
noduri, astfel nct graful parial obinut s fie arbore? (4p.)
a. 15 b. 1 c. 6 d. 21
2. Fiecare element al unei liste liniare, simplu nlnuite, alocat dinamic, reine n cmpul nr
un numr ntreg, iar n cmpul adr adresa elementului urmtor din list sau NULL dac nu
exist un element urmtor. Dac p reine adresa primului element, iar lista are cel puin
dou elemente, care dintre urmtoarele secvene de instruciuni copiaz n cmpul nr al
celui de-al doilea element al listei, coninutul cmpului nr al primului element din list?(4p.)
a. p->nr=p->adr->nr; b. p->adr=p->nr;
c. p->adr->nr=p->nr; d. p->adr->adr->nr=p->nr;

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


3. Ce se va afia n urma executrii strcpy(x,bac2009);
secvenei de program alturate, tiind cout<<x<<endl; | printf(%s\n,x);
c variabila x memoreaz un ir cu cel for(i=0;i<strlen(x);i++)
mult 100 de caractere, iar variabila i if (strchr(0123456789,x[i])==0)
este de tip ntreg ? (6p.) cout<<x[i]; | printf(%c,x[i]);

4. Fiecare dintre variabilele a i b, declarate alturat, struct punct{


memoreaz simultan coordonatele reale ale cte unui float x,y;}a,b;
punct n planul xOy.
Completai punctele de suspensie din secvena urmtoare de program, astfel nct, n urma
executrii ei, s se afieze cuvntul DA dac dreapta, determinat de punctele cu
coordonatele memorate n variabilele a i b, este paralel cu axa Ox, respectiv cuvntul NU
n caz contrar.
if() cout<<DA; | printf(DA);
else cout<<NU | printf(NU); (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20),
construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, numerotate
de la 1 la n, n care fiecare element aflat pe o linie impar este egal cu suma dintre indicii
liniei i coloanei pe care se afl i fiecare element aflat pe o linie par este egal cu cel mai
mic dintre elementele aflate pe linia anterioar i pe aceeai coloan cu el sau pe linia
anterioar i pe una dintre coloanele vecine cu cea pe care se afl el.
Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 2 3 4 5 6
cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 2 2 3 4 5
Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 4 5 6 7 8
4 4 5 6 7
6 7 8 9 10

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 19
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 019

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


int F(int x){
1. Funcia F are definiia alturat. Ce valoare
are F(18)? (4p.) if (x<=1) return x;
else return x+F(x-2);
}
a. 90 b. 171 c. 91 d. 18

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare


2. Un algoritm genereaz n ordine cresctoare, toate numerele de n cifre (n<9), cu cifre
distincte, care nu au dou cifre pare alturate. Dac pentru n=5, primele cinci soluii
generate sunt 10325, 10327, 10329, 10345, 10347, precizai care sunt urmtoarele trei
soluii generate, n ordinea obinerii lor. (6p.)
3. Subprogramul aranjare are doi parametri: a prin care primete un tablou unidimensional
cu maximum 100 de numere reale nenule i n, numrul de elemente din tablou.
Subprogramul rearanjeaz elementele tabloului unidimensional astfel nct toate valorile
negative s se afle pe primele poziii, iar valorile pozitive n continuarea celor negative.
Ordinea n cadrul secvenei de elemente pozitive, respectiv n cadrul secvenei de elemente
negative, poate fi oricare. Tabloul modificat va fi furnizat tot prin intermediul parametrului a.
Exemplu: dac tabloul are 6 elemente i este de forma (12, -7.5, 6.5, -3, -8,
7.5), dup apel, acesta ar putea fi: (-7.5, -3, -8, 12, 6.5, 7.5).
Scriei definiia complet a subprogramului aranjare. (10p.)
4. n fiierul nr1.txt este memorat pe prima linie o valoare natural n de cel mult 8 cifre,
iar pe linia urmtoare sunt memorate n numere naturale, cu maximum 4 cifre fiecare,
ordonate strict cresctor i separate prin cte un spaiu. n fiierul nr2.txt este memorat
pe prima linie o valoare natural m de cel mult 8 cifre, iar pe linia urmtoare sunt memorate
m numere naturale, cu maximum 4 cifre fiecare, ordonate strict cresctor i separate prin
cte un spaiu. Se cere afiarea pe ecran, separate prin cte un spaiu, n ordine strict
cresctoare, a tuturor numerelor aflate pe a doua linie n cel puin unul dintre cele dou
fiiere. n cazul n care un numr apare n ambele fiiere, el va fi afiat o singur dat.
Alegei un algoritm de rezolvare eficient din punct de vedere al memoriei utilizate i al
timpului de executare.
Exemplu: pentru urmtoarele fiiere:
nr1.txt nr2.txt
5 6
3 6 8 9 12 2 3 5 7 9 13
se va afia 2 3 5 6 7 8 9 12 13.
a) Descriei succint, n limbaj natural, strategia de rezolvare i justificai eficiena algoritmului
ales. (4p.)
b) Scriei programul C/C++ corespunztor algoritmului ales. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 20
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 020

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care este valoarea tiprit de secvena de x=30;
program C/C++ alturat, tiind c x i y y=5;
sunt variabile ntregi, iar z este o variabil z=(x+y)/6.0;
real? (4p.) z=floor(z*100);
z=z/100;
cout<<z; | printf(%0.2f,z);
a. 5 b. 5.833333 c. 5.83 d. 583

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


2. Se consider algoritmul alturat, descris n pseudocod. citete n (numr natural)
S-a notat cu cu x%y restul mpririi numrului natural x la an%10
numrul natural nenul y i cu [z] partea ntreag a ma
numrului real z. ct timp n>9 execut
n[n/10]
a) Scriei valoarea pe care o va afia algoritmul dac se bn%10
citete numrul 16389. (6p.) dac a>b atunci
b) Scriei cea mai mic valoare de patru cifre distincte mm*10+b
care poate fi citit pentru variabila n, astfel nct s se ab
afieze valoarea 0. (4p.)

c) Scriei programul C/C++ corespunztor algoritmului scrie m
dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat,
n care s se nlocuiasc structura ct
timp...execut cu o structur repetitiv de alt tip.
(6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 20
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 020


Pentru fiecare dintre itemii urmtori, scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Matricea de adiacen a unui graf neorientat G are numrul valorilor de 1 egal cu jumtate
din numrul valorilor de 0. Care dintre numerele de mai jos poate fi numrul de noduri ale
grafului G? (4p.)
a. 12 b. 14 c. 11 d. 13
2. Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan numrtorul i numitorul unei fracii ireductibile: (4p.)
a. float x; b. char x[2];
c. struct x{int n1,n2;}; d. struct fractie {int n1,n2;} x;

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


3. ntr-o list circular, simplu nlnuit, nevid, alocat dinamic, cu exact 9 elemente,
fiecare element memoreaz n cmpul val o valoare ntreag, iar n cmpul adr adresa
elementului urmtor.
tiind c n list sunt memorate, n ordine, q=p;
numerele de la 1 la 9, i variabila p reine cout<<q->adr->val<<endl;
adresa elementului cu valoarea 4, iar | printf(%d,q->adr->val);
variabila q este de acelai tip cu p, precizai while(q->adr!=p)
ce se va afia n urma executrii secvenei q=q->adr;
de program alturate? (6p.) cout<<q->adr->val;
| printf(%d,q->adr->val);

4. In secvena de program alturat, variabila a strcpy(a,Bac 2009 iulie);


memoreaz un ir cu cel mult 100 de caractere, for(i=0;i<strlen(a);i++)
iar variabila i este de tip ntreg. Completai if(...)
punctele de suspensie, astfel nct, n urma cout<<a[i];
executrii secvenei, s se afieze doar literele
mici i literele mari din irul de caractere
memorat n variabila a. (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20) i
construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, n care
fiecare element aflat pe chenarul exterior al matricei este egal cu suma dintre indicele liniei
i indicele coloanei pe care se afl, iar fiecare dintre celelalte elemente este egal cu suma
celor trei vecini situai n matrice pe linia anterioar. Dou elemente din matrice se numesc
vecine dac se gsesc alturi pe linie, coloan sau diagonal. Chenarul exterior al unei
matrice este format din prima linie, ultima linie, prima coloan i ultima coloan.
Elementele matricei vor fi afiate pe ecran, cte o linie a matricei 2 3 4 5 6
pe cte o linie a ecranului cu cte un spaiu ntre elementele 3 9 12 15 7
fiecrei linii. 4 24 36 34 8
5 64 94 78 9
Exemplu: pentru n=5 se va obine matricea alturat. (10p.) 6 7 8 9 10

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 20
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 020

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Funcia F are definiia alturat. Ce valoare int F(int x)
are F(5)? (4p.) {if(x!=0) return x+F(x-1);
else
return x;
}
a. 5 b. 10 c. 15 d. 6

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare


2. Un algoritm genereaz n ordine descresctoare, toate numerele de n cifre (n<9), cu cifrele
n ordine strict cresctoare, care nu au dou cifre pare alturate. Dac pentru n=5, primele
cinci soluii generate sunt 56789, 45789, 45679, 45678, 36789, precizai care sunt
urmtoarele trei soluii generate, n ordinea obinerii lor. (6p.)
3. Subprogramul nule are doi parametri: a, prin care primete un tablou unidimensional cu
maximum 100 de numere ntregi, cu cel mult 4 cifre fiecare i n, numrul de elemente din
tablou. Subprogramul rearanjeaz elementele tabloului unidimensional astfel nct toate
valorile nule s se afle la sfritul tabloului. Ordinea n cadrul secvenei de elemente nenule
poate fi oricare. Tabloul modificat este furnizat tot prin parametrul a.
Exemplu: dac n=6, a=(12,0,0,-3,-8,0), dup apel, acesta ar putea fi:
a=(12,-3,-8,0,0,0).
Scriei definiia complet a subprogramului nule. (10p.)
4. n fiierul nr1.txt este memorat pe prima linie o valoare natural n de cel mult 8 cifre,
iar pe linia urmtoare sunt memorate n numere naturale, cu maximum 4 cifre fiecare,
ordonate strict cresctor i separate prin cte un spaiu. n fiierul nr2.txt este memorat
pe prima linie o valoare natural m de cel mult 8 cifre, iar pe linia urmtoare sunt memorate
m numere naturale, cu maximum 4 cifre fiecare, ordonate strict cresctor i separate prin
cte un spaiu. Se cere afiarea pe ecran, separate prin cte un spaiu, n ordine strict
cresctoare, a tuturor numerelor aflate pe a doua linie att n primul ct i n al doilea fiier.
Alegei un algoritm de rezolvare eficient din punct de vedere al memoriei utilizate i al
timpului de executare.
Exemplu: pentru urmtoarele fiiere:
nr1.txt nr2.txt
5 6
3 6 8 9 12 2 3 5 7 9 13
se va afia 3 9.
a) Descriei succint, n limbaj natural, strategia de rezolvare i justificai eficiena algoritmului
ales. (4p.)
b) Scriei programul C/C++ corespunztor algoritmului ales. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 21
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 021

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


v1=0; v2=0;
1. Care dintre expresiile C/C++ de mai jos are for(i=1;i<=3;i++)
valoarea 1 dup executarea secvenei de { for (j=1;j<=i;j++)
instruciuni C/C++ alturat, n care toate variabilele v1=v1+1;
sunt ntregi? (4p.) for (k=i;k<=3;k++)
v2=v2+1;
}
a. v1>v2 b. v1<v2 c. v1==v2 d. v1+v2==9

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


2. Se consider algoritmul alturat, descris n citete a,b,n (numere naturale)
pseudocod. dac b=0 atunci
S-a notat cu [z] partea ntreag a numrului real z scrie greit
i cu x%y restul mpririi numrului ntreg x la altfel
scrie [a/b]
numrul ntreg nenul y.
dac n>0 i a%b 0 atunci
a) Scriei valorile care se vor afia dac se scrie ,
citesc, n ordine, valorile 17, 6, 4. (6p.) aa%b; i0
b) Scriei n pseudocod un algoritm echivalent repet
cu cel dat n care s se nlocuiasc structura scrie [(a*10)/b]
repet...pn cnd cu o structur a(a*10)%b
repetitiv de tip ct timp...execut. ii+1
pn cnd i=n sau a=0
(6p.)

c) Scriei programul C/C++ corespunztor
algoritmului dat. (10p.)
d) Scriei un set de date de intrare astfel nct,
la finalul executrii algoritmului, valorile
variabilelor n i i, s satisfac condiia:
n-i=2. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 21
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 021

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. 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.
Care dintre instruciunile de mai jos poate nlocui punctele de p=1;
suspensie din secvena de program alturat astfel nct for(i=1;i<=20;i++)
executarea acesteia s determine memorarea n variabila p a ....
valorii produsului celor 40 de elemente aflate pe diagonalele
matricei. (4p.)
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.


3. 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.)
struct data{ struct elev {
int zi; char nume[30];
int luna; struct data data_nasterii;
int an; 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.)
5. 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.
Exemplu: dac textul citit este: se afieaz ii
perechile alturate. ii
oo
(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 21
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 021

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Urmtoarele probleme se refer la mulimea de numere reale M={x1, x2, , xn} (n>1000).
Care dintre acestea, comparativ cu celelalte, admite un algoritm care se ncheie dup un
numr minim de pai? (4p.)
a. sortarea elementelor mulimii M b. generarea elementelor produsului
cartezian M x M
c. determinarea elementului minim al d. generarea tuturor permutrilor mulimii M
mulimii M

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


int f(int n)
2. Se consider subprogramul, f, definit { if(n==0) return 0;
alturat. else return n%2+f(n/2);
Ce valoare are f(100)? }
Scriei o valoare pentru x astfel nct
f(x)=1 (6p.)
3. Scriei definiia complet a unui subprogram i_prim care primete prin singurul su
parametru, n, un numr natural din intervalul [2,30000] i returneaz diferena minim
p2-p1 n care p1 i p2 sunt numere prime i p1np2.
Exemplu: dac n=20 atunci i_prim(n)=4, valoare obinut pentru p1=19 i p2=23.
(10p.)
4. Fiierul text BAC.TXT conine pe prima linie dou numere naturale n i k separate de un
spaiu (3n10000, 2kn/2), iar pe a doua linie un ir de n numere naturale x1, x2, ...,
xn separate prin cte un spaiu, fiecare numr din acest ir avnd cel mult patru cifre.
a) Scriei un program C/C++ care citete numerele din fiier i determin, utiliznd o
metod eficient din punct de vedere al timpului de executare, cel mai mic indice i (1in-
k+1) pentru care media aritmetic a numerelor xi, xi+1, ..., xi+k-1 este maxim. Programul
afieaz valoarea lui i pe ecran.
Exemplu: pentru fiierul alturat se afieaz 2, deoarece media 8 3
maxim se obine pentru 9, 4, 7. (6p.) 2 9 4 7 5 2 9 9
b) Explicai succint, n limbaj natural, metoda utilizat la punctul a, justificnd eficiena
acesteia. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 22
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 022

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. (a/b%c<=b)||!(b==a)
Care este valoarea expresiei C/C++ alturate dac
variabilele ntregi a, b, c au valorile a=20, b=3,
c=5? (4p.)
a. 0 b. 1 c. 2 d. true

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


2. Se consider algoritmul alturat, descris n citete n (numr ntreg)
pseudocod. dac n < 0 atunci
S-a notat cu [a] partea ntreag a numrului real a i cu n-n
y|x faptul c numrul ntreg x este divizibil cu numrul
ntreg nenul y. d1
pentru i2,[n/2] execut
a) Scriei valoarea care se va afia pentru n=45. (6p.) dac i|n atunci
b) Scriei n pseudocod un algoritm echivalent cu cel di
dat n care s se nlocuiasc structura
pentru...execut cu o structur repetitiv de
scrie d
tip ct timp...execut. (6p.)
c) Scriei programul C/C++ corespunztor
algoritmului dat. (10p.)
d) Scriei o valoare pentru n astfel nct n urma executrii algoritmului obinut prin nlocuirea
structurii
pentru i2,[n/2] execut
...

cu
pentru i[n/2],2,-1 execut
...

s se afieze aceeai valoare, ca n algoritmul iniial. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 22
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct elev
instruciunile de atribuire este greit: {char nume[20];
(6p.) 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.)
5. 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.
Fiecare linie a tabloului este afiat pe cte o linie a ecranului, elementele 12 11 10
aceleiai linii fiind separate prin cte un spaiu. 9 8 7
6 5 4
Exemplu: pentru m=4 i n=3 se va construi i afia tabloul alturat. (10p.) 3 2 1

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 22
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 022

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. In timpul procesului de generare a permutrilor mulimii {1,2,,n} prin metoda
backtracking, n tabloul unidimensional x este plasat un element xk (1kn). Acesta este
considerat valid dac este ndeplinit condiia: (6p.)
a. xk{x1, x2, , xk-1} b. xkxk-1
c. xk{x1, x2, , xn} d. xkxk-1 i xkxk+1

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


void f(char c)
2. Considerm subprogramul recursiv definit { if (c>A) f(c-1);
alturat. Ce se va afia n urma apelului de cout<<c; | printf(%c,c);
mai jos? if (c>A) f(c-1);
f(C); (4p.) }
3. a) Scriei definiia complet a unui subprogram, nz, cu un parametru ntreg n (0<n32000),
care returneaz numrul zerourilor de la sfritul numrului n!. (6p.)
b) Scriei programul C/C++ care citete de la tastatur un numr natural k (0<k3) i
determin, folosind apeluri ale subprogramului nz, cel mai mic numr natural n pentru care
n! are cel puin k zerouri la sfrit. Numrul determinat se afieaz pe ecran. (4p.)
4. Scriei programul C/C++ care citete din fiierul text BAC.TXT numrul ntreg n
(1n10000) i un ir de n perechi de numere ntregi a b (1ab32000), fiecare pereche
fiind scris pe o linie nou a fiierului, cu un spaiu ntre cele dou numere. Programul
afieaz pe ecran pentru fiecare pereche a,b cel mai mare numr natural din intervalul
nchis [a,b]care este o putere a lui 2 sau numrul 0 dac nu exist nicio putere a lui 2 n
intervalul respectiv. Numerele afiate pe ecran se scriu n linie, separate prin cte un
spaiu. Un numr p este putere a lui 2 dac exist un numr natural k astfel nct p=2k.
Exemplu: dac fiierul BAC.TXT conine numerele
3
2 69
10 20
19 25
se va afia: 64 16 0. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 23
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 023

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre expresiile C/C++ de mai jos este !((a<=b && a>=c) || a<=d)
echivalent cu cea alturat? (4p.)
a. a<=b || a>=c && a<=d b. a>b || a<c && a>d
c. a>b || a<c || a>d d. (a>b || a<c) && a>d

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


2. Se consider algoritmul alturat, descris n pseudocod. citete a,b
(numere naturale nenule)
S-a notat cu x%y restul mpririi numrului natural x la
c0
numrul natural nenul y i cu [z] partea ntreag a numrului repet
real z. ia%2
a) Scriei valoarea care se va afia dac se citesc, n jb%2
ordine, valorile 24 i 36. (6p.) dac i+j=0 atunci
cc+1
b) Scriei dou valori care trebuie citite (una pentru
variabila a i una pentru variabila b) astfel nct, n aa*i+(1-i)*[a/2]
urma executrii algoritmului, s se afieze valoarea 0. bb*j+(1-j)*[b/2]
(4p.) pn cnd i*j=1
c) Scriei programul C/C++ corespunztor algoritmului scrie c
dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat n
care s se nlocuiasc structura repet...pn cnd
cu o structur repetitiv cu test iniial. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 23
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 0 1 0 1 0
noduri i cu matricea de adiacen alturat astfel nct n acest graf 0 0 1 0 0
s existe cel puin un drum ntre oricare dou vrfuri? (4p.) 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 struct punct3D {
numrul maxim de numere ntregi ce pot fi int x; int y; int z;};
memorate n variabila a? (6p.) 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: Ai,j=Ai-1,j+Ai,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 1 2 3 4
tabloului A sunt: 2 4 7 11
(10p.) 3 7 14 25

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 23
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 023

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Algoritmul de generare a tuturor numerelor de 5 cifre nenule, fiecare avnd cifrele ordonate
strict cresctor, este echivalent cu algoritmul de generare a: (6p.)
a. submulimilor unei mulimi cu 5 elemente b. produsului cartezian a unor mulimi de
cifre
c. aranjamentelor de 9 elemente luate cte 5 d. combinrilor de 9 elemente luate cte 5

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


int suma (int a,int b)
2. Pentru subprogramul suma definit { if (a==0 && b==0) return 0;
alturat, scriei valoarea expresiei else if (a==0) return 1+suma(a,b-1);
suma(5,4). (4p.) else return 1+suma(a-1,b);
}
3. a) Scriei definiia complet a subprogramului shift care primete prin intermediul
parametrului n o valoare natural nenul (n100), iar prin intermediul parametrului x, un
tablou unidimensional cu maximum 100 de componente. Fiecare component a acestui
tablou este un numr ntreg care are cel mult 4 cifre. Subprogramul permut circular cu o
poziie spre stnga primele n elemente ale tabloului x i furnizeaz tabloul modificat tot prin
parametrul x.
Exemplu: dac nainte de apel n=4 i x=(1,2,3,4), dup apel x=(2,3,4,1). (4p.)
b) Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n
(n100), apoi cele n elemente ale unui tablou unidimensional x. Programul va inversa
ordinea elementelor tabloului x folosind apeluri utile ale subprogramului shift i va afia
pe ecran, separate prin cte un spaiu, elementele tabloului rezultat n urma acestei
prelucrri.
Exemplu: dac se citesc pentru n valoarea 5, iar tabloul x este (1,2,3,4,5) programul
va determina ca x s devin (5,4,3,2,1). (6p.)
4. Fiierul text BAC.TXT conine pe prima linie un numr natural nenul n (1n1000), iar pe
fiecare dintre urmtoarele n linii, cte dou numere ntregi a i b (1ab32000), fiecare
pereche reprezentnd un interval nchis de forma [a,b]. Scriei un program C/C++ care
determin intervalele care au proprietatea c intersecia cu oricare dintre celelalte n-1
intervale este vid i afieaz pe cte o linie a ecranului, separate printr-un spaiu,
numerele care reprezint capetele intervalelor determinate. (10p.)
Exemplu: dac fiierul BAC.TXT are coninutulalturat, pe ecran se va afia: 4
2 6 sau 17 20 17 20
17 20 2 6 2 6
10 15
8 16

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 24
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 024

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care din urmtoarele afirmaii despre operatorii din C/C++ este fals? (4p.)
a. > este operator relaional b. % este operator aritmetic
c. && este operator logic d. <= este operator logic

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


2. Se consider algoritmul alturat, descris n citete a,b
pseudocod. (numere naturale)
pa; qb
a) Scriei valoarea care se va afia pentru a=15 i
dac p=0 sau q=0 atunci
b=25. (6p.) pp*q; qp*q
b) Scriei toate valorile care, citite pentru b, determin
afiarea valorii 60, dac pentru a s-a citit valoarea ct timp pq execut
10. (6p.) dac p<q atunci
pp+a
c) Scriei programul C/C++ corespunztor altfel
algoritmului dat. (10p.) qq+b
d) Scriei un algoritm echivalent n care s se
nlocuiasc structura ct timp...execut cu o
structur repetitiv cu test final. (4p.) scrie p

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 24
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 d. gradul intern al oricrui vrf este egal cu
mai mare dect 2 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 EXIST.
Exemplu: pentru irurile marina i elena se va afia na (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 24
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 024

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Genernd irurile de maximum 3 caractere distincte din mulimea {A,B,C,D,E}, ordonate
lexicografic, obinem succesiv: A, AB, ABC, ABD, ... . Ce ir va fi generat imediat dup
BAE? (4p.)
a. BCA b. CAB
c. BC d. BEA

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


2. Funcia f are definiia alturat. int f(int n)
a) Ce valoarea are f(17)? (3p.) {if (n<=9) return 0;
b) Ce valoare are f(22)? (3p.) if (n%4==0) return 0;
return 1+f(n-3);
}
3. a) Scriei definiia complet a subprogramului p care primete prin intermediul parametrului
n un numr natural nenul (n100), iar prin intermediul parametrului x un tablou
unidimensional cu n componente ntregi, de maximum patru cifre fiecare. Subprogramul
furnizeaz prin intermediul parametrului mini valoarea minim din tabloul x, prin
intermediul parametrului maxi valoarea maxim din x, iar prin intermediul parametrului sum
suma elementelor din tabloul x. (6p.)
b) Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n,
(3n100), apoi cele n elemente distincte ale unui tablou unidimensional x. Fiecare dintre
aceste elemente este un numr natural avnd cel mult patru cifre. Folosind apeluri utile ale
subprogramului p, programul calculeaz i afieaz pe ecran media aritmetic a
elementelor care ar rmne n tabloul x dac s-ar elimina valoarea minim i valoarea
maxim din tablou. Valoarea afiat va avea cel mult 3 cifre dup virgul.
Exemplu: dac se citesc pentru n valoarea 5, iar pentru tabloul x valorile (1,9,4,8,5),
programul va afia una dintre valorile 5.667 sau 5.666. (4p.)
4. Fiierul text bac.txt conine pe prima linie numrul natural n, 1n30000, pe urmtoarele
n linii un ir de n numere ntregi, ordonate cresctor, iar pe ultima linie dou numere ntregi
a i b (ab) separate de un spaiu. Fiecare dintre cele n numere, precum i valorile a i b,
au cel mult patru cifre.
a) Scriei un program C/C++, eficient din punct de vedere al timpului de executare, care
afieaz pe ecran cel mai mic numr ntreg din intervalul nchis [a,b] care se gsete n
irul dat. Dac nu exist un astfel de numr, programul afieaz textul NU.
Exemplu: dac fiierul bac.txt are coninutul alturat, programul afieaz 4
valoarea 11 (6p.) -2
7
b) Descriei n limbaj natural metoda utilizat i explicai n ce const eficiena 11
ei. (4p.) 35
8 15

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 25
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 025

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


a...
1. n secvena pseudocod alturat, toate variabilele
b...
memoreaz numere naturale. Cu ce valori pot fi
nlocuite punctele de suspensie din secven astfel pentru i3,7 execut
nct, la finalul executrii secvenei s se afieze, n ca+b; xa; ab; bc
acest ordine, valorile 16 i 41? (4p.)
scrie x,c
a. 1 i 1 b. 3 i 4 c. 5 i 2 d. 2 i 7

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


2. Se consider algoritmul alturat descris n pseudocod. citete a,b,c
S-a notat cu y|x faptul c x este divizibil cu y. (numere naturale nenule)
a) Scriei care sunt valorile ce se vor afia pentru a=10, dac a>b atunci
b=20 i c=6. (6p.) ta; ab; bt

b) Scriei un algoritm echivalent cu cel dat n care s se ct timp ab execut
nlocuiasc structura ct timp...execut cu o dac c|a atunci
structur pentru...execut. (6p.) scrie a

c) Scriei programul C/C++ corespunztor algoritmului
aa+1
dat. (10p.)

d) Scriei o formul care s calculeze cte numere se
afieaz dac ab. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 25
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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.)
5. 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.
Exemplu: pentru m=4 i n=4 i tabloul alturat se va afia: 2 1 1 0
1 1 1 1
1 2 2 2 2 1
(10p.) 1 2 1 1

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 25
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 025

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Un program citete o valoare natural nenul impar pentru n i apoi genereaz i afieaz
n ordine cresctoare lexicografic toate combinaiile formate din n cifre care ndeplinesc
urmtoarele proprieti:
- ncep i se termin cu 0;
- modulul diferenei ntre oricare dou cifre alturate dintr-o combinaie este 1.
Astfel, pentru n=5, combinaiile afiate sunt, n ordine, urmtoarele: 01010, 01210. Dac
se ruleaz acest program i se citete pentru n valoarea 7, imediat dup combinaia
0101210 va fi afiat combinaia: (4p.)
a. 0121210 b. 0123210 c. 0111210 d. 0121010

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


int f(int n)
2. Funcia f are definiia alturat: { if (n<=0) return -1;
a) Ce valoare are f(16)? (3p.) if (n%2==0) return 0;
b) Scriei cea mai mare valoare de dou cifre pe care o if (n%3==0) return 0;
poate avea n astfel nct f(n) s fie egal cu 2. (3p.) return 1+f(n-10);
}
3. Subprogramul f primete prin intermediul parametrului n un numr natural nenul (1n9),
iar prin intermediul parametrului a, un tablou unidimensional care conine n valori naturale,
fiecare dintre acestea reprezentnd cte o cifr a unui numr. Astfel, a0 reprezint cifra
unitilor numrului, a1 cifra zecilor etc.
Subprogramul furnizeaz prin parametrul k o valoare natural egal cu numrul obinut din
cifrele pare reinute n tabloul a sau valoarea -1 dac n tablou nu exist nicio cifr par.
Scriei definiia complet a subprogramului f.
Exemple: dac subprogramul se apeleaz pentru n=6 i pentru taboul a avnd valorile
(2,3,5,6,4,1), parametrul k va furniza valoarea 462. Dac subprogramul se apeleaz
pentru n=4 i pentru a reinnd valorile (0,0,1,1), k va furniza valoarea 0. Dac
subprogramul se apeleaz pentru n=3 i pentru a reinnd valorile (3,7,1), k va furniza
valoarea -1. (10p.)
4. Fiierul text NUMAR.TXT conine pe prima linie un numr real pozitiv x care are cel mult
dou cifre la partea ntreag i cel mult apte cifre dup punctul zecimal..
a) Scriei un program C/C++ care, utiliznd un algoritm eficient din punct de vedere al
timpului de executare i al memoriei utilizate, afieaz pe ecran, separate printr-un spaiu,
dou numere naturale al cror raport este egal cu x i a cror diferen absolut este
minim.
Exemplu: dac fiierul conine valoarea alturat, se vor afia pe ecran 0.375
numerele 3 8. (6p.)
b) Descriei n limbaj natural metoda utilizat i explicai n ce const eficiena ei. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 26
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 026

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care este cea mai mic valoare pe care o poate avea expresia C/C++ x/7-x%7
alturat dac variabila x, de tip int, memoreaz un numr natural cu o
singur cifr? (4p.)
a. 0 b. 1.14 c. -6 d. 1

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


2. Se consider algoritmul alturat descris n pseudocod. citeste n (numr natural)
S-a notat cu x%y restul mpririi numrului natural x la c0
numrul natural nenul y. pentru i1,n execut
c(c+1)%10
a) Scriei valorile care se afieaz pentru n=11. (6p.) scrie c
b) Scriei programul C/C++ corespunztor algoritmului dat.
(10p.)
c) Scriei n pseudocod un algoritm echivalent cu cel dat, n
care s se nlocuiasc structura pentru...execut cu
o structur repetitiv de un alt tip. (6p.)
d) Scriei numrul de valori distincte, numere naturale nenule,
cu cel mult dou cifre fiecare, care pot fi citite pentru n, astfel
nct cifra 1 s fie afiat de exact 3 ori. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 26
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 char s[]=raton;
secvenei de program alturate, n care variabila s s[1]=s[3];
memoreaz un ir cu cel mult 5 caractere ? (6p.) 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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 26
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 026

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Pentru generarea numerelor cu n cifre formate cu elementele mulimii {0,2,9} se
utilizeaz un algoritm backtracking care, pentru n=2, genereaz, n ordine, numerele
20,22,29,90,92,99.
Dac n=4 i se utilizeaz acelai algoritm, care este numrul generat imediat dup numrul
2009? (4p.)
a. 2002 b. 2020 c. 2090 d. 2010

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


2. Subprogramul afis este definit alturat. void afis (int n)
Ce se afieaz ca urmare a apelului afis(8); ? {
cout<<n; | printf(%d,n);
(4p.)
for (int i=n/2;i>=1;i--)
if(n%i==0)afis(i);
}
3. Scriei programul C/C++ care citete de la tastatur dou numere naturale nenule n i k
(n100, k100) i afieaz pe ecran, separai prin cte un spaiu, n ordine
descresctoare, cei mai mici k multipli naturali nenuli ai numrului n.
Exemplu: pentru n=6 i k=5 se afieaz 30 24 18 12 6. (6p.)
4. a) Scriei definiia complet a subprogramului sterge, care primete prin cei 4 parametri
v,n,i,j:
- v, un tablou unidimensional cu maximum 100 de elemente ntregi din intervalul [-1000,1000]
- n, un numr natural reprezentnd numrul de elemente din tabloul v
- i i j dou valori naturale cu 1ijn
i elimin din tabloul v elementele vi,vi+1,,vj actualiznd valoarea parametrului n.
Tabloul modificat este furnizat tot prin parametrul v. (6p.)
b) Fiierul text NUMERE.IN conine pe prima linie un numr natural nenul n (1n100) i pe
urmtoarea linie n numere ntregi din intervalul [-1000;1000], separate prin cte un spaiu.
Scriei un program C/C++ care citete din fiierul NUMERE.IN numrul natural n,
construiete n memorie un tablou unidimensional v cu cele n numere ntregi aflate pe linia a
doua n fiier i utilizeaz apeluri utile ale subprogramului sterge pentru a elimina din
tablou un numr minim de elemente astfel nct s nu existe dou elemente alturate cu
aceeai valoare. Elementele tabloului obinut se afieaz pe ecran, separate prin cte un
spaiu.
Exemplu: Dac fiierul NUMERE.IN are coninutul:
12
10 10 2 2 19 9 9 9 9 15 15 15 atunci se afieaz 10 2 19 9 15. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 27
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 027

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
n expresia C/C++ alturat variabila x este de tip ntreg. Aceast x%2+(x+1)%2
expresie: (4p.)
a. are valoarea 1 pentru orice numr natural x.
b. are valoarea 1 dac i numai dac x este un numr par.
c. are valoarea 1 dac i numai dac x este un numr impar.
d. are o valoare strict mai mare dect 1 pentru orice numr natural x.

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


2. Se consider algoritmul alturat descris n citeste a,b
pseudocod. (numere naturale)
S-a notat cu x%y restul mpririi numrului natural x la c0
numrul natural nenul y i cu [x] partea ntreag a d0
numrului real x. p1
ct timp a+b+c>0 execut
a) Scriei valoarea care se afieaz dac se citesc ca%10+b%10+c
numerele a=493 i b=1836. (6p.) dd+(c%10)*p
b) Scriei programul C/C++ corespunztor algoritmului pp*10
dat. (10p.) a[a/10]
b[b/10]
c) Scriei n pseudocod un algoritm echivalent cu cel c[c/10]
dat, n care s se nlocuiasc structura
ct timp...execut cu o structur repetitiv de scrie d
un alt tip. (6p.)
d) Scriei n pseudocod un algoritm echivalent cu cel
dat, care s NU foloseasc structuri repetitive sau
recursive. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 27
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct fractie
{
x int x,y;
numrtorul, respectiv numitorul unei fracii de forma .
y } F,G,H;
Scriei instruciunile prin executarea crora se memoreaz n variabila
H fracia obinut prin adunarea fraciilor reinute n F i G. (6p.)
4. O list liniar simplu nlnuit, alocat dinamic, p=prim;
reine n cmpul nr al fiecrui element cte un while(p->urm!=NULL)
numr natural, iar n cmpul urm, adresa {p->urm->nr=p->nr*p->urm->nr;
elementului urmtor din list sau NULL dac nu p=p->urm;
exist un astfel de element. Lista memoreaz, n }
acest ordine, 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 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 Aij 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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 27
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 027

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Pentru generarea n ordine cresctoare a numerelor cu n cifre formate cu elementele
mulimii {0,2,8} se utilizeaz un algoritm backtracking care, pentru n=2, genereaz, n
ordine, numerele 20,22,28,80,82,88.
Dac n=4 i se utilizeaz acelai algoritm, precizai cte numere generate sunt divizibile
cu 100? (4p.)
a. 8 b. 90 c. 6 d. 10

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


2. Subprogramul scrie este definit alturat. void scrie (int x,int y)
Ce se afieaz ca urmare a apelului {
cout<<x<<y; | printf(%d%d,x,y);
scrie(2,6); ? (6p.)
if(x<y)
{
scrie(x+1,y-1);
cout<<(x+y)/2;|printf(%d,(x+y)/2);
}
}
3. Scriei definia complet a subprogramului nreal cu doi parametri x i y, numere naturale
din intervalul [1;1000] ce returneaz un numr real cu proprietatea c partea sa ntreag
este egal cu x, iar numrul format din zecimalele sale, n aceeai ordine, este egal cu y.
Exemplu: pentru x=12 i y=543, subprogramul returneaz valoarea 12.543. (10p.)
4. Fiierul text NUMERE.IN conine pe prima linie un numr natural nenul n (2n100) i pe
urmtoarea linie n numere reale pozitive, n ordine strict cresctoare, separate prin cte un
spaiu.
a) Scriei un program C/C++ care, utiliznd un algoritm eficient din punct de vedere al
memoriei utilizate, determin i afieaz pe ecran cel mai mare numr natural x cu
proprietatea c n orice interval deschis avnd drept capete oricare dou dintre cele n numere
aflate pe linia a doua n fiierul NUMERE.IN se gsesc cel puin x numere ntregi.
Exemplu: dac fiierul NUMERE.IN are coninutul:
6
3.5 5.1 9.2 16 20.33 100
atunci se afieaz 2
Explicaie: n oricare dintre intervalele (3.5,5.1), (3.5,9.2), (3.5,16), (3.5,20.33),
(3.5,100), (5.1,9.2), (5.1,16), (5.1,20.33), (5.1,100), (9.2,16), (9.2,20.33),
(9.2,100), (16,20.33), (16,100), (20,33,100) exist cel puin dou numere ntregi.
b) Descriei n limbaj natural metoda utilizat i explicai n ce const eficiena ei. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 28
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 028

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Cte valori distincte, numere naturale, poate primi variabila x pentru ca valoarea expresiei
x/2/2 scris n C/C++ s fie egal cu 1? (4p.)
a. 1 b. 4 c. 2 d. 0

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


2. Se consider algoritmul alturat descris n pseudocod. citeste x
S-a notat cu [x]partea ntreag a numrului real x. (numr real pozitiv)
y[x]
a) Scriei valoarea afiat dac se citete numrul xx-y
120.12. (6p.) ct timp x[x] execut
b) Scriei programul C/C++ corespunztor algoritmului dat. xx*10
(10p.)
dac x=y atunci
c) Scriei n pseudocod un algoritm echivalent cu cel dat, scrie 1
n care s se nlocuiasc structura altfel
ct timp...execut cu o structur repetitiv de un scrie 2
alt tip. (6p.)
d) Scriei un numr real, cu exact dou cifre la partea
ntreag, care poate fi citit pentru x, astfel nct
algoritmul s afieze valoarea 1. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 28
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 Aij elementul aflat pe linia i i
coloana j (1in, 1jn). Care este valoarea expresiei j-i dac elementul Aij este situat
pe diagonala principal a tabloului A? (4p.)
4. O list liniar simplu nlnuit, alocat dinamic, reine n p=prim; x=p->nr;
cmpul nr al fiecrui element cte un numr natural, iar n while(p->urm!=NULL)
cmpul urm, adresa elementului urmtor din list sau NULL {p->nr = p->urm->nr;
dac nu exist un element urmtor. Lista memoreaz, n p=p->urm;
acest ordine, doar numerele: elementele 1, 2, 3, 4, 5. }
tiind c variabila prim memoreaz adresa primului element al p->nr=x;
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.)
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.
nformatca
Exemplu: pentru cuvntul informatica se afieaz, nu neaprat n infrmatica
aceast ordine, clonele scrise alturat. (10p.) informtic

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 28
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 028

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Generarea tuturor cuvintelor de trei litere mici, nu neaprat distincte, ale alfabetului englez,
se poate realiza cu ajutorul unui algoritm echivalent cu cel de generare a: (4p.)
a. produsului cartezian b. combinrilor
c. aranjamentelor d. permutrilor

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


2. Subprogramul f este definit alturat. int f (int x,int y)
Ce valoare are f(8,4)? (4p.) {
if(x<y)return 1+f(x+1,y);
if(y<x)return 1+f(y+1,x);
return 1;
}
3. Scriei un program C/C++ care citete de la tastatur un numr natural n din intervalul
[2,50] i apoi n numere reale i afieaz pe ecran cte dintre cele n numere reale sunt
egale cu media aritmetic a celorlalte n-1 numere reale. (6p.)
4. a) Scriei definiia complet a unui subprogram primul, care
- primete prin singurul su parametru, a, o valoare natural din intervalul [2,10000]
- returneaz o valoare natural reprezentnd cel mai mic divizor al numrului a mai mare strict
dect 1. (6p.)
b) Fiierul text NUMERE.IN conine pe prima linie un numr natural nenul n(1n100) i pe
urmtoarea linie n numere naturale din intervalul [2,10000] separate prin cte un spaiu.
Un numr natural n se numete aproape prim dac este egal cu produsul a dou numere
prime distincte. De exemplu, numrul 14 este aproape prim pentru c este egal cu produsul
numerelor prime 2 i 7.
Scriei un program C/C++ care determin, folosind apeluri utile ale suprogramului primul,
cel mai mare numr aproape prim de pe linia a doua a fiierului NUMERE.IN. n cazul n
care exist un astfel de numr se afieaz pe ecran mesajul DA, urmat de numrul
determinat, iar n caz contrar mesajul NU.
Exemplu: dac fiierul NUMERE.IN are coninutul:
6
100 14 21 8 77 35
atunci se afieaz pe ecran DA 77 pentru c numrul 77 este cel cel mai mare dintre numerele
aproape prime din fiier (14=7*2,21=7*3,77=7*11, 35=7*5). (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 29
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 029

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul natural
nenul memorat n variabila x, de tip int, este divizibil cu 100? (4p.)
a. x%10+x/10%10==0 b. x/100==0
c. x%10+x/10==0 d. x%10+x%10/10==0

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


2. Se consider algoritmul alturat descris n pseudocod. citeste n,m
(numere naturale)
a) Scriei valoarea care se afieaz dac se citesc numerele n=6 ct timp nm execut
i m=12. (6p.) nn+1
b) Scriei programul C/C++ corespunztor algoritmului dat. mm-1
(10p.)
ct timp m<n execut
c) Scriei dou perechi distincte de numere ce pot fi introduse mm+1
pentru n i m astfel nct s se afieze valoarea 10, n nn-1
urma executrii algoritmului, pentru fiecare dintre perechi. (6
d) Scriei n pseudocod un algoritm echivalent cu cel dat, care s scrie n
NU foloseasc structuri repetitive sau recursive. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 29
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 char s[]=arac;
executarea secvenei de program alturate n t=s[1]; s[1]=s[3];
care variabila s memoreaz un ir cu cel mult 4 s[3]=t;
caractere iar variabila t un caracter? (4p.) 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 n=0;
cmpul urm, adresa elementului urmtor din list sau while(p!=q && q->urm!=p)
NULL dac nu exist un element urmtor, iar n cmpul {
prec, adresa elementului precedent din list sau NULL p=p->urm;
dac nu exist un element precedent. Variabilele p i q q=q->prec;
memoreaz adresa primului, respectiv ultimului element n=n+1;
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.)
5. 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.
Exemplu: pentru matricea din figura alturat se afieaz 8. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 29
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 029

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. n cte dintre permutrile elementelor mulimii {I,N,F,O} vocalele apar pe
poziii consecutive? (4p.)
a. 24 b. 6 c. 12 d. 4

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


2. Ce se afieaz ca urmare a void p (int x)
apelului p(123); dac {cout<<x; | printf(%d,x);
subprogramul p are definiia if(x!=0){p(x/10);
alturat? (6p.) cout<<x%10; | printf(%d,x%10);}}
3. Scriei definiia complet a subprogramului multipli, cu trei parametri a,b,c (ab),
numere naturale din intervalul [1,10000] ce returneaz numrul numrul multiplilor lui c
din intervalul [a;b].
Exemplu: pentru a=10, b=27,c=5 subprogramul returneaz valoarea 4. (10p.)
4. Se consider dou tablouri unidimensionale A i B cu elemente numere naturale din
intervalul [1,10000]. Spunem c tabloul A se poate reduce la tabloul B dac exist o
mprire a tabloului A n secvene disjuncte de elemente aflate pe poziii consecutive n
tabloul A astfel nct prin nlocuirea secvenelor cu suma elementelor din secven s se
obin, n ordine, elementele tabloului B.
De exemplu tabloul

se poate reduce la tabloul

Fiierul text NUMERE.IN conine pe prima linie dou numere naturale nenule n i m
(1mn100), pe linia a doua n numere naturale din intervalul [1;10000] i pe linia a
treia alte m numere naturale din intervalul [1;10000]. Pe fiecare linie numerele sunt
separate prin cte un spaiu.
a) Scriei un program C/C++ care citete toate numerele din fiierul NUMERE.IN i verific,
utiliznd un algoritm eficient din punctul de vedere al timpului de executare, dac tabloul
construit cu cele n numere aflate pe linia a doua n fiier se poate reduce la tabloul construit
cu cele m numere aflate pe linia a treia n fiier. Programul afieaz pe ecran mesajul DA n
caz afirmativ i mesajul NU n caz negativ. (6p.)
b) Descriei n limbaj natural metoda utilizat i explicai n ce const eficiena ei. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 30
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 030

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul natural
memorat de variabila x de tip int are exact dou cifre? (4p.)
a. x/100==0 b. x/100==0 && x%10==0
c. x/10!=0 d. x/100==0 && x/10!=0

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


2. Se consider algoritmul alturat descris n pseudocod. citeste n (numr natural)
S-a notat cu x%y restul mpririi numrului natural x la m0
numrul natural nenul y i cu [z] partea ntreag a p1
numrului real z. ct timp n>0 execut
cn%10
a) Scriei valoarea care se afieaz dac se citete dac c>0 atunci
numrul n=5172. (6p.) cc-1
b) Scriei programul C/C++ corespunztor algoritmului dat.
(10p.) mm+c*p
pp*10
c) Scriei n pseudocod un algoritm echivalent cu cel dat, n[n/10]
n care s se nlocuiasc structura
ct timp...execut cu o structur repetitiv de un scrie m
alt tip. (6p.)
d) Scriei toate valorile distincte, fiecare avnd exact patru
cifre, care pot fi citite pentru variabila n astfel nct s se
afieze valoarea 2008, pentru fiecare dintre acestea.
(4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 30
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 p=prim;


dinamic, reine n cmpul nr al fiecrui element cte un numr prim=ultim;
natural, iar n cmpul urm, adresa elementului urmtor din list sau while(p!=prim)
NULL dac nu exist un element urmtor. Variabila prim {q=p;p=p->urm;
ultim->urm=q;
memoreaz adresa elementului aflat pe prima poziie n list,
ultim=q;
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
ultim->urm=NULL;
n lista modificat n urma executrii secvenei alturate, elementul
aflat pe poziia a doua, n lista iniial? (4p.)
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 Aij 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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 30
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 030

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Pentru generarea numerelor cu n cifre formate cu elementele mulimii {0,4,8} se
utilizeaz un algoritm backtracking care, pentru n=2, genereaz, n ordine, numerele
40,44,48,80,84,88.
Dac n=4 i se utilizeaz acelai algoritm, care este numrul generat imediat dup numrul
4008 ? (4p.)
a. 4040 b. 4004 c. 4080 d. 8004

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


2. Subprogramul f este definit alturat. void f (int x,int y)
Ce se afieaz ca urmare a apelului {int i;
for (i=x;i<=y;i++)
f(1,3);? (6p.)
{
cout<<i; | printf(%d,i);
f(i+1,y);
}
}
3. Scriei definiia complet a subprogramului suma, care primete prin cei 4 parametri,
v,n,i,j:
- v, un tablou unidimensional cu maximum 100 de elemente ntregi din intervalul
[-1000,1000], numerotate de la 1 la n;
- n, un numr natural reprezentnd numrul de elemente din tabloul v;
- i i j, dou valori naturale cu 1ij100
i returneaz suma elementelor v1,vi-1, vj+1,,,vn din tabloul v. (10p.)
4. Fiierul text NUMERE.IN conine pe prima linie un numr natural nenul n (1n100) i pe
urmtoarea linie n numere reale pozitive ordonate cresctor, separate prin cte un spaiu.
a) Scriei un program C/C++ care citete din fiierul NUMERE.IN numrul natural n, i
determin, utiliznd un algoritm eficient din punct de vedere al timpului de executare i al
memoriei utilizate, numrul minim de intervale nchise de forma [x,x+1], cu x numr
natural, a cror reuniune include toate numerele reale din fiier.

Exemplu: Dac fiierul NUMERE.IN are coninutul:


6
2.3 2.3 2.8 5.7 5.7 6.3
atunci se afieaz 3 (intervalele [2,3], [5,6], [6,7] sunt cele 3 intervale de forma
cerut care conin numere din ir). (6p.)
b) Descriei n limbaj natural metoda utilizat i explicai n ce const eficiena ei. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 31
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 031

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se consider variabila a care memoreaz un numr cu exact 6 cifre. Care dintre expresiile
C/C++ de mai jos are ca valoare numrul format din cele dou cifre din mijloc ale valorii
memorate n a? (4p.)
a. (a%100)/100 b. a/100%100
c. a/1000+a%1000 d. a/100%10+a/1000%10

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


citete a
2. Se consider algoritmul alturat, descris n pseudocod:
(numr natural, a>0)
S-a notat cu [x], partea ntreag a numrului real x. k0
a) Scriei valorile care se vor afia pentru a=9. b[(a+1)*(a+2)/2]
(4p.) ct timp ba execut
bb-a
b) Scriei numrul valorilor din intervalul [1,5] care, citite kk+1
pentru variabila a, determin, dup executarea
algoritmului alturat, memorarea valorii 1 n variabila b. scrie b,k
(6p.)
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat,
n care s nu se utilizeze structuri repetitive sau
subprograme recursive. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 31
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 for(j=1;j<=6;j++)


variabila a memoreaz o matrice n care prima linie i prima for(i=1;i<=4;i++)
coloan sunt numerotate cu 1. Toate elementele matricei a[i][j]=2*i+j;
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.)
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.
Exemplu: pentru n=9 i cuvintele citite:
URSUZU IRI E SUPARAT POP DORIS SI ANA CITESC
lista va fi:

(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 31
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 031

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Avnd la dispoziie cifrele 0, 1 i 2 putem genera, n ordine cresctoare, numere care au
suma cifrelor egal cu 2 astfel nct primele 6 numere generate sunt, n aceast ordine: 2,
11, 20, 101, 110, 200. Folosind acelai algoritm se genereaz numere cu cifrele 0, 1, 2 i
3 care au suma cifrelor egal cu 4. Care va fi al 7-lea numr din aceast generare ? (4p.)
a. 103 b. 301 c. 220 d. 130

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


2. Se consider subprogramul recursiv f1 void f1(int x)
definit alturat. Ce se va afia n urma { if (x<=9)
apelului f1(5);? { cout<<x+1; | printf("%d",x+1);
(6p.) f1(x+2);
cout<<x+3; | printf("%d",x+3);
}
}
3. Scriei definiia complet a subprogramului suma care primete ca parametru un tablou
unidimensional x cu cel mult 100 de elemente, numere reale, un numr natural n ce
reprezint numrul efectiv de elemente ale tabloului x (n100), i un numr natural m (nm).
Subprogramul returneaz suma obinut din cele mai mici m elemente ale tabloului x.
(10p.)
4. n fiierul numere.txt se afl memorate, pe prima linie un numr natural n (1n100), iar
pe fiecare dintre urmtoarele n linii, cte dou numere ntregi x,y (-100xy100),
reprezentnd capetele cte unui segment [x,y] desenat pe axa Ox de coordonate.
a) Scriei n limbajul C/C++ un program eficient din punct de vedere al timpului de executare
i al spaiului de memorare, care citete din fiier datele existente, determin segmentul
rezultat n urma interseciei tuturor celor n segmente date i afieaz pe ecran dou numere
desprie printr-un spaiu ce reprezint capetele segmentului cerut. Dac segmentele nu au
nici un punct comun se va afia pe ecran valoarea 0. (6p.)
b) Descriei n limbaj natural algoritmul utilizat, justificnd eficiena acestuia. (4p.)
5
Exemplu: dac fiierul numere.txt are coninutul alturat, se va afia -7 10
pe ecran 3 20
3 5 -5 5
0 12
-8 30

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 32
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 032

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect


1. Stabilii care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul
ntreg memorat n variabila x nu aparine intervalului (-35,-20)[17,100]. (4p.)
a. (x<=-35) || ((x<=16)|| (x>=-20)) || (x>100)
b. (x<=-35) || ((x<=17) && (x>=-20)) || (x>=100)
c. (x<-35) || ((x<16) && (x>-20)) || (x>100)
d. (x<=-35) || ((x<=16) && (x>=-20)) || (x>100)

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


citete a,b
2. Se consider algoritmul alturat, descris n pseudocod.
(numere naturale)
dac a>b atunci
a) Scriei numerele care sunt afiate dac pentru a i b cb
se citesc valorile a=150 i b=9. (4p.) ba
b) Dac pentru b se citete valoarea 150, scriei cea mai ac
mare valoare care se poate citi pentru a, astfel nct
algoritmul s afieze exact 4 valori. (6p.) ct timp a<=b execut
scrie a
c) Scriei programul C/C++ corespunztor algoritmului aa*2
dat. (10p.)
scrie a
d) Scriei n pseudocod un algoritm echivalent cu cel dat,
n care s se nlocuiasc structura ct timp
execut cu o structur repetitiv cu test final. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 32
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 1:(5,6) 4:(1,2)
adiacen scrise alturat. Nodurile grafului care au gradul 2:(1,5,4) 5:(2)
exterior egal cu 2 sunt: (4p.) 3:(1,5) 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 for(j=1;j<=6;j++)
variabila A memoreaz o matrice n care prima linie i prima for(i=3;i>=1;i--)
coloan sunt numerotate cu 1. Toate elementele matricei a[i][j]=i+j
primesc valori n urma executrii secvenei.
Scriei n ordine, ncepnd cu prima coloan, doar elementele
situate pe a doua linie a matricei. (6p.)
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

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 32
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 032

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
n vederea participrii la un concurs, elevii de la liceul sportiv au dat o prob de selecie, n
urma creia primii 6 au obinut punctaje egale. n cte moduri poate fi format echipa
selecionat tiind c poate avea doar 4 membri, alei dintre cei 6, i c ordinea acestora n
cadrul echipei nu conteaz? (4p.)
a. 24 b. 30 c. 15 d. 4

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


void afis(int x)
2. Subprogramul afis este definit alturat. { if (x>3)
Ce se va afia n urma apelului { cout<<x-1; | printf("%d",x-1);
afis(17);? afis(x/3);
(6p.) cout<<x+1; | printf("%d",x+1);
}
}
3. Scriei definiia complet a subprogramului nr_prim care are ca parametru un numr
natural x i returneaz cel mai mic numr prim, strict mai mare dect x.
Exemplu: pentru x=25 subprogramul returneaz numrul 29, iar pentru x=17 valoarea
returnat va fi 19. (10p.)
4. n fiierul numere.txt sunt memorate pe mai multe linii, numere ntregi (cel mult 100),
numerele de pe aceeai linie fiind desprite prin cte un spaiu, fiecare numr avnd cel
mult 9 cifre. S se determine cele mai mici dou valori avnd exact dou cifre fiecare,
memorate n fiier i s se afieze pe ecran aceste valori, desprite printr-un spaiu. Dac
n fiier nu se afl dou astfel de valori, pe ecran se va afia valoarea 0.
a) Descriei n limbaj natural o metod de rezolvare eficient din punct de vedere al
gestionrii memoriei i al timpului de executare. (4p.)
b) Scriei programul C/C++ corespunztor metodei descrise la punctul a. (6p.)
Exemplu: dac fiierul numere.txt are coninutul alturat, se 5 10
va afia pe ecran, nu neaprat n aceast ordine: 3 -77 20
-77 10 50 5 0 12 18 30

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 33
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 033

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabila a memoreaz un numr natural care are exact 3 cifre. Care dintre expresiile
C/C++ de mai jos are ca valoare numrul format din prima i ultima cifr a numrului
memorat de a? (4p.)
a. a/10+a%100 b. a/100+a%10
c. a/100*10+a%10 d. a-a/10%10

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


2. Se consider algoritmul alturat descris in pseudocod. citete a,n
(numere naturale)
S-a notat cu x%y restul mpririi numrului natural x la j3
numrul natural nenul y. pentru i=1,n execut
dac i%2=0 atunci
a) Scriei care este valoarea afiat dac pentru a i n se aa-j
citesc numerele a=12 i n=10. (6p.) altfel
aa+j
b) Dac pentru a se citete valoarea 32, scriei un numr
natural care poate fi citit pentru variabila n, astfel nct, j7-j
n urma executrii algoritmului, s se afieze 34. (6p.)
scrie a
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)
d) Scriei n pseudocod, un algoritm echivalent cu cel dat,
n care s nu se utilizeze structuri repetitive sau
subprograme recursive. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 33
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 1: 4,5,6 4: 1,3
listelor de adiacen alturate. Care dintre mulimile urmtoare 2: 5 5: 1,2,6
de noduri are toate elementele extremiti ale unor lanuri 3: 4 6: 1,5
elementare de lungime 2 cu cealalt extremitate n nodul 5?
(4p.)
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 x=2;
variabila a memoreaz o matrice n care prima linie i prima for(j=1;j<=5;j++)
coloan sunt numerotate cu 1. Toate elementele matricei for(i=1;i<=3;i++)
primesc valori n urma executrii secvenei. { a[j][i]=x;
Scriei n ordine, ncepnd cu prima coloan, elementele x=x+1;
situate pe fiecare linie a matricei care se va construi n urma }
executrii secvenei alturate. (6p.)
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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 33
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 033

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Folosind un algoritm de generare putem obine numere naturale de k cifre care au suma
cifrelor egal cu un numr natural s. Astfel, pentru valorile k=2 i s=6 se genereaz, n
ordine, numerele: 15, 24, 33, 42, 51, 60. Care va fi al treilea numr generat pentru k=4 i
s=5? (4p.)
a. 1301 b. 1022 c. 2201 d. 1031

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


2. Subprogramul re este definit alturat. Ce valoarea int re(int i)
are re(1)? Dar re(14)? {
if (i<9) return 3+re(i+2);
(6p.) else
if (i==9) return -2;
else return 1+re(i-1);
}
3. Subprogramul sum3 primete prin parametrul x un tablou unidimensional, cu cel mult 100
de elemente, numere ntregi cu cel mult 4 cifre fiecare, iar prin parametrul n un numr
natural ce reprezint numrul efectiv de elemente ale tabloului x (n100). Scriei definiia
complet a subprogramului sum3 care returneaz suma elementelor tabloului care sunt
divizibile cu 3. Dac tabloul nu conine nicio valoare divizibil cu 3, subprogramul va returna
0. (6p.)
4. Pe prima linie a fiierului numere.txt se afl un numr natural n (n100), iar pe
urmtoarele n linii, cte n numere naturale desprite prin cte un spaiu, fiecare avnd cel
mult 9 cifre. Printre aceste numere se afl cel puin unul cu 3 cifre i cel puin unul cu 4 cifre.
a) Scriei n limbajul C/C++, un algoritm eficient din punct de vedere al gestionrii memoriei
care citete din fiier datele existente i determin i afieaz pe ecran, separate printr-un
spaiu, dou numere din fiier, x i y, unde x este cel mai mare numr de trei cifre, iar y
este acel numr pentru care |x-y| are valoare minim. Dac sunt mai multe valori pentru y
care respect condiia impus se va afia numai una dintre ele. (10p.)
b) Explicai n limbaj natural metoda utilizat justificnd eficiena acesteia. (4p.)
5
Exemplu: dac fiierul numere.txt are 112 333 1 500 1100
coninutul alturat, se va afia: 1 95 7 97 12
800 1100 45 800 0 7 89
1 5 17 197 102
45 86 0 7 9

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 34
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 034

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. n secvena alturat de program, instruciunea de for (i=1;i<=3;i++)
afiare se va executa de un numr de ori egal cu: for (j=10;j>=i+1;j--)
(4p.) cout<<j; | printf(%d,j);
a. 24 b. 21 c. 3 d. 30

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


citete x,y
2. Se consider algoritmul alturat, descris n pseudocod.
(numere naturale)
S-a notat cu x%y, restul mpririi numrului natural x la xx%10
numrul natural nenul y. yy%10
dac y<x atunci
a) Scriei care sunt numerele afiate dac se citesc
valorile x=148 i y=203. (6p.) auxy
yx
b) Scriei un set de valori care pot fi citite pentru xaux
variabilele x i y astfel nct, dup executarea
algoritmului alturat, s se afieze exact 5 valori. (4p.) ct timp xy execut
scrie x*10+y
c) Scriei programul C/C++ corespunztor algoritmului xx+1
dat. (10p.) yy-1
d) Scriei n pseudocod un algoritm echivalent cu cel dat,
n care s se nlocuiasc structura ct
timp...execut cu o structur
pentru...execut. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 34
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 p=p->urm;
n ordine, urmtoarele valori: while(p->urm->urm!=0)
p=p->urm->urm;
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.)
4. Ce se va afia n urma executrii secvenei char c[21]="tamara",*p;
alturate, n care variabila c memoreaz un ir cu for(i=0;i<strlen(c);i=i+1)
cel mult 20 de caractere, iar i este o variabil de { p=strchr(c,'a');
tip ntreg? (6p.) 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 n2 numere naturale
nenule, pare, care nu sunt divizibile cu 3.
Fiecare linie a matricei se va afia pe cte o linie a ecranului, cu 2 4 8 10
elementele de pe aceeai linie separate prin cte un spaiu. 14 16 20 22
26 28 32 34
Exemplu: pentru n=4 se va construi i afia matricea alturat. 38 40 44 46
(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 34
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 034

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Completarea unui bilet de LOTO presupune colorarea a 6 numere dintre cele 49, nscrise
pe bilet. O situaie statistic pe o anumit perioad de timp arat c cele mai frecvente
numere care au fost extrase la LOTO sunt: 2, 20, 18, 38, 36, 42, 46, 48. Cte
bilete de 6 numere se pot completa folosind doar aceste valori, tiind c numrul 42 va fi
colorat pe fiecare bilet? (4p.)
a. 21 b. 6! c. 42 d. 56

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


2. Se consider definit subprogramul f . int f(int i)
{
Scriei dou valori naturale, x1 i x2 (x1x2, x1<12 i if (i>12) return 1;
x2<12) pentru care f(x1)=f(x2). (6p.) else return 1+f(i+2);
}
3. a) Subprogramul max primete ca parametru un tablou unidimensional x cu cel mult 100 de
elemente numere ntregi, care sunt, n ordine, termenii unei progresii aritmetice i un numr
natural n, care reprezint dimensiunea tabloului. Scriei definiia complet a subprogramului
max care returneaz cel mai mare termen al progresiei aritmetice. Alegei un algoritm de
rezolvare eficient din punct de vedere al timpului de executare. (6p.)
b) Explicai n limbaj natural metoda utilizat justificnd eficiena acesteia. (4p.)
c) Pe prima linie a fiierului numere.txt se afl un numr natural n (n100), iar pe
urmtoarele n linii, cte n numere ntregi cu cel mult 4 cifre fiecare. Scriei programul C/C++
care citete din fiier datele existente, determin liniile din fiier pe care s-au memorat n
ordine termenii unei progresii aritmetice i afieaz pe ecran, folosind apeluri ale
subprogramului max cel mai mare numr (diferit de cel situat pe prima linie) din fiier, care n
plus este termenul unei progresii aritmetice. (10p.)
5
Exemplu: dac fiierul numere.txt are coninutul 5 7 3 1 9
alturat, se va afia 50, deoarece progresiile aritmetice -9 -7 -5 -3 -1
sunt: 2 5 8 14 11
(-9 -7 -5 -3 -1), 50 40 30 20 10
(50 40 30 20 10) i 18 17 16 15 14
(18 17 16 15 14)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 35
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 035

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Stabilii care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac
numrul ntreg memorat n variabila x nu aparine intervalului (-35,-20]. (4p.)
a. (x<-35) || (x>-20) b. (x<=-35) || (x>=-20)
c. (x<=-35) || (x>-20) d. (x<=-35) && (x>20)

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


citete x
2. Se consider algoritmul alturat, descris n
(numr natural)
pseudocod.
s0
S-a notat cu [z] partea ntreag a numrului real z, iar cu f2
x%y restul mpririi numrului natural x la numrul natural ct timp x>1 execut
nenul y. p0
ct timp x%f=0 execut
a) Scriei valoarea care va fi afiat dac se citete x[x/f]
numrul x=140. (6p.) pp+1
b) Scriei o valoare de 3 cifre care poate fi citit pentru
x, astfel nct valoarea afiat s fie 6. (4p.) ss+p
ff+1
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.) scrie s
d) Scriei valorile naturale din intervalul [7,28] care
pot fi introduse pentru variabila x, astfel nct, dup
executarea programului, valoarea afiat s fie 1.
(6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 35
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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

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


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

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 122 103 5 10
pe ecran valorile: -7 18 -10 2. -7 18 -10 2
107 999 59 4
1 200 100 7

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 35
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 035

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Pentru generarea tuturor mulimilor de cte 5 cifre, avnd la dispoziie cifrele de la 1 la 9,
se poate utilza un algoritm echivalent cu algoritmul de generare a: (4p.)
a. permutrilor de 5 elemente b. submulimilor mulimii
{1,2,3,4,5,6,7,8,9}
c. combinrilor de 9 elemente luate cte 5 d. aranjamentelor de 9 elemente luate cte
5

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


void f(int &a,int b)
2. Subprogramul f este definit alturat. Ce {
se va afia n urma executrii secvenei a=a-5;b=a-2;
de mai jos, n care variabilele a i b sunt cout<<a<<b; | printf("%d%d",a,b);
de tip ntreg? }
a=3; b=9; f(b,a);f(b,b); (6p.)
3. Fiierul text numere.in conine pe prima linie un numr natural n (0<n<1000), iar pe a
doua linie n numere naturale cu cel mult 9 cifre fiecare, desprite prin cte un spaiu.
Scriei un program C/C++ care citete toate numerele din fiier i afieaz pe ecran,
separate prin cte un spaiu, numerele de pe a doua linie a fiierului, care ncep i se
termin cu aceeai cifr. (10p.)
9
Exemplu: dac fiierul numere.in are 55 107 3 101 92 7 208 2782
coninutul alturat, se numerele ce se vor afia 80
sunt: 55 3 101 7 2782

4. a) Scriei definiia complet a unui subprogram sum care primete prin parametrul x un
numr natural de cel mult 4 cifre i returneaz suma divizorilor numrului x, diferii de 1 i
de el nsui.
Exemplu: dac x=10 se va returna valoarea 7 (7=2+5). (4p.)
b) Scriei programul C/C++ care citete de la tastatur un numr natural n (0<n<100), apoi
n numere naturale (cu cel mult 4 cifre fiecare). Programul determin, folosind apeluri utile
ale subprogramului sum, pentru fiecare numr natural citit, suma divizorilor si proprii i
afieaz pe ecran sumele determinate, n ordinea cresctoare a valorilor lor, separate prin
cte un spaiu. (6p.)
Exemplu: dac n=5 i numerele citite sunt 10 2 33 6 11
valorile afiate pe ecran vor fi: 0 0 5 7 14
deoarece suma divizorilor lui 10 este 7, suma divizorilor lui 2 este 0, suma divizorilor
lui 33 este 14, suma divizorilor lui 6 este 5, suma divizorilor lui 11 este 0.

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 36
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 036

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. n secvena de instruciuni alturat, y=x;
variabilele x i y sunt de tip int. Care este while(x<=3)
valoarea pe care trebuie s o aib iniial {
variabila x dac la finalul executrii cout<<"*"; | printf("*");
secvenei s-a afiat un singur caracter y=y+1; x=x+y;
asterisc (*)? (4p.) }
a. 0 b. 2 c. 1 d. 4

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


2. Se consider algoritmul alturat descris n s0
pseudocod. citete v (valoare natural)
S-a notat cu x%y restul mpririi numrului natural x la ct timp v 0 execut
numrul natural nenul y i cu [z] partea ntreag a a v%10
numrului real z. b [v/10]%10
s s + a*10 + b
a) Scriei ce valoare se va afia dac se citesc, n citete v
ordine, urmtoarele valori : 114, 123, 517, 3312,
14, 412, 22, 0. (6p.) scrie s
b) Scriei ce valoare se va afia dac se citesc, n
ordine, primele 99 de numere naturale nenule,
urmate de 0 (adic 1,2,3,4,,98,99,0). (4p.)

c) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura


ct timp...execut cu o structur repetitiv de un alt tip. (6p.)

d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 36
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 x=strlen(s);
alturate s-a afiat succesiunea de for (i=0;i<x/2;i++)
caractere EXAMEN, care este irul de cout<<s[i]<<s[x-i-1];
caractere memorat de variabila s? (6p.) | 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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 36
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 036

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Subprogramul scif returneaz suma cifrelor unui numr natural transmis ca parametru.
Care este valoarea expresiei scif(scif(518)+scif(518))? (4p.)
a. 14 b. 10 c. 28 d. 1

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


2. Utilizm metoda backtracking pentru generarea tuturor modalitilor de a scrie numrul 9
ca sum a cel puin dou numere naturale nenule distincte. Termenii fiecrei sume sunt n
ordine strict cresctoare. Soluiile se genereaz n ordinea: 1+2+6, 1+3+5, 1+8, 2+3+4,
2+7, 3+6 i 4+5. Se aplic exact aceeai metod pentru scrierea lui 12. Scriei, n
ordinea generrii, toate soluiile de forma 2+... (6p.)
3. Subprogramul cifra primete prin intermediul parametrului a un numr natural cu cel mult
4 cifre i returneaz ultima cifr par a sa. Dac numrul nu conine cifre pare,
subprogramul returneaz valoarea -1. De exemplu, dac a=8345, subprogramul va
returna 4.
a) S se scrie definiia complet a subprogramului cifra. (10p.)
b) Pe prima linie a fiierului bac.in se afl un numr natural nenul n (n15000), iar pe
a doua linie a fiierului se afl un ir de n numere naturale, desprite prin cte un spaiu,
fiecare numr fiind format din cel mult 4 cifre.
Scriei un program C/C++ care citete numerele din fiier i afieaz pe ecran, folosind
apeluri utile ale subprogramului cifra, cel mai mare numr care se poate forma cu
ultimele cifre pare ale fiecrui element, dac acestea exist. Alegei o metod de rezolvare
eficient ca timp de executare. Dac toate numerele de pe a doua linie a fiierului au
numai cifre impare, programul va afia mesajul NU EXISTA.
Exemplu: dac fiierul bac.in are coninutul 7
alturat, pe ecran se va afia: 64220 (6p.) 369 113 2 0 33 1354 42
c) Descriei succint n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 - 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 37
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 037

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care este valoarea pe care trebuie s o while (x!=3){
aib iniial variabila ntreag x pentru ca, n x=x-1;
urma executrii secvenei alturate, s se cout<<"HH"; | printf(HH);
afieze irul de mai jos? }

HHHHHH (4p.)
a. 0 b. 4 c. 6 d. 5

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


2. Se consider algoritmul alturat descris n citete n,k
pseudocod. (numere naturale, k9)
S-a notat cu x%y restul mpririi numrului natural x la nr0; p1
numrul natural nenul y i cu [z] partea ntreag a ct timp n 0 execut
numrului real z. c n%10
nr nr+c*p
a) Scriei numrul afiat dac se citesc valorile n=1232 i p p*10
k=2. (6p.) dac c=k atunci
nr nr+c*p
b) Scriei toate perechile de valori care pot fi citite pentru
n i k, cu n<100, astfel nct n urma executrii pp*10

algoritmului valoarea afiat s aib 4 cifre. (4p.)
n [n/10]
c) Scriei n pseudocod un algoritm echivalent cu cel dat,
n care s se nlocuiasc structura ct nnr
timp...execut cu o structur repetitiv de un alt scrie n
tip. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 37
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct elev{
reine informaii despre un elev, precizai char nume[30];
care este varianta corect ce afieaz prima float nota;};
liter din numele acestuia? (4p.) 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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 37
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 037

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se utilizeaz un algoritm pentru a genera n ordine lexicografic invers toate permutrile
mulimii {1,2,3,4,5}. Primele patru permutri generate sunt: 54321, 54312, 54231,
54213. A cincea permutare este: (4p.)
a. 53421 b. 54321 c. 54132 d. 54123

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


2. Considerm subprogramul f definit alturat. int f(int x,int y)
Ce valoare are f(7,11)? Dar f(11,7)? {
(6p.) if(x<=y) return x-y;
return f(y-x,x-1)+3;
}
3. Scriei un program C/C++ care citete numerele naturale nenule n i k (kn100) i un
tablou unidimensional cu n elemente numere ntregi, fiecare avnd cel mult 4 cifre.
Programul modific tabloul, permutnd circular, cu k poziii spre stnga, elementele
acestuia i afieaz pe ecran, separate prin cte un spaiu, elementele tabloului obinut.
Exemplu: dac n=4, k=3 i tabloul v=(1,2,3,4), atunci se vor afia n ordine
elementele: 4 1 2 3. (10p.)
4. a) Scriei doar antetul subprogramului nrdiv, care primete prin intermediul parametrului x
un numr natural nenul cu cel mult 4 cifre, i returneaz numrul de divizori primi ai lui x.
(4p.)
b) Pe prima linie a fiierului bac.in se afl un numr natural nenul n (n1000), iar pe a
doua linie a fiierului se afl un ir format din n numere naturale nenule, desprite prin
cte un spaiu, fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++
care citete numerele din fiier i care afieaz pe ecran, folosind apeluri utile ale
subprogramului nrdiv, prima i ultima valoare din irul celor n numere citite, care au un
numr par de divizori primi. Numerele afiate vor fi separate printr-un spaiu.
Exemplu: dac fiierul bac.in are coninutul alturat, pe 7
ecran se va afia: 20 10 (6p.) 30 105 20 140 7 10 5

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 38
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 038

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre expresiile urmtoare, scrise n limbajul C/C++, are valoarea 1 dac i numai
dac valorile variabilelor ntregi x i y sunt numere pare? (4p.)
a. x-y==0 b. (x+y)%2==0
c. (x%2==0) || (y%2==0) d. (x%2==0) && (y%2==0)

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


2. Se consider algoritmul alturat descris n citete n (numr natural)
pseudocod. pentru i1,n execut
S-a notat cu [z] partea ntreag a numrului real z. p1
a) Scriei valorile afiate n urma executrii pentru ji,2,-1 execut
algoritmului, dac se citete numrul n=3. (6p.) pp*j

b) Scriei cea mai mic valoare care poate fi citit scrie [p/(i*2)]
pentru n astfel nct, n urma executrii
algoritmului, n irul valorilor afiate s existe cel
puin 3 numere care au ultima cifr 0 i care s se
afle pe poziii consecutive. (4p.)
c) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se utilizeze o singur
structur repetitiv. (6p.)

d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 38
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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;
s[0]= E;
2. Considerm c variabila s memoreaz irul de caractere
s[strlen(s)-1]= A;
examen. Care va fi valoarea lui s dup executarea
s[strlen(s)/2-1]= N;
instruciunilor scrise alturat? (4p.)
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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 38
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 038

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utilizm metoda backtracking pentru generarea tuturor modalitilor de a scrie numrul 9
ca sum a cel puin dou numere naturale nenule distincte. Termenii fiecrei sume sunt
n ordine strict cresctoare. Soluiile se genereaz n ordinea: 1+2+6, 1+3+5, 1+8,
2+3+4, 2+7, 3+6 i 4+5. Se aplic exact aceeai metod pentru scrierea lui 8. Cte
soluii vor fi generate? (4p.)
a. 3 b. 4 c. 6 d. 5

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


2. Pentru definiia alturat a subprogramului int sc(long x)
sc, stabilii ce valoare are sc(10). Dar {
sc(901324)? (6p.) if(x<10) return x;
return sc(x/10)+x%10;
}
3. Scriei n limbajul C/C++ definiia complet a subprogramul Del care are doi parametri: x,
un numr ntreg de cel mult 9 cifre, i y, un numr natural nenul de o cifr. Subprogramul
determin eliminarea tuturor cifrelor lui x mai mari strict dect y i furnizeaz numrul
obinut tot prin intermediul parametrului x. Dac toate cifrele lui x sunt mai mari strict dect
y, atunci x va primi valoarea -1.
Exemplu: dac x=37659 i y=6, dup apel x=365, iar y=6. (10p.)
4. Se consider subprogramul inter, cu doi parametri: x i y (numere ntregi formate din cel
mult patru cifre fiecare); subprogramul interschimb valorile a dou variabile transmise prin
intermediul parametrilor x i y.
a) Scriei n limbajul C/C++ definiia complet a subprogramului inter. (4p.)
b) Pe prima linie a fiierului bac.in se afl un numr natural nenul n1000, iar pe a doua
linie a fiierului se afl un ir de n numere naturale nenule, desprite prin cte un spaiu,
fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care afieaz pe
ecran, n ordine cresctoare, numerele aflate pe a doua linie a fiierului. Numerele vor fi
afiate pe o singur linie, iar ntre dou numere se va lsa un spaiu. Se vor folosi apeluri
utile ale subprogramului inter. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 39
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 039

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care este numrul total de atribuiri efectuate la executarea x=4; y=6;
secvenei de instruciuni alturate? (4p.) while (y==6) y=y+1;
if (x==y) x=x+1;
a. 4 b. 3 c. 2 d. 5

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


2. Se consider algoritmul alturat descris n citete n (numr natural)
pseudocod. nr0
S-a notat cu x%y restul mpririi numrului natural x la p1
numrul natural nenul y i cu [z] partea ntreag a ct timp n0 execut
numrului real z. c n%10
dac c>0 i c < 9 atunci
a) Scriei numrul afiat dac se citete valoarea cc+1
n=12939. (6p.)
b) Scriei toate valorile care pot fi citite pentru nr nr+c*p
variabila n astfel nct, n urma executrii p p*10
algoritmului, valoarea afiat s fie 2009. (4p.) n [n/10]

scrie nr
c) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura
ct timp...execut cu o structur repetitiv de un alt tip. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 39
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 0 1 0 0 1 0 0
arborele cu 7 noduri, numerotate de la 1 la 7, cu rdcina 1, 1 0 1 1 0 0 0
reprezentat prin matricea de adiacen alturat: (4p.) 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, x=1;
fiecare element reine n cmpul info un numr ntreg, while (p->leg!=NULL)
iar n cmpul leg adresa urmtorului nod din list sau {
NULL dac nu exist un nod urmtor. Adresa primului x=x * p->leg->info;
element al listei este memorat n variabila p. Ce p=p->leg;
}
valoare se va afia, n urma executrii secvenei
alturate, dac lista memoreaz, n ordine, doar valorile cout<<x;|printf(%d,x);
5, 4, 3, 2, 6 ? (6p.)
4. Considerm declaraiile: for(i=1;i<=3;i++)
int i,j,a[10][10]; for(j=1;j<=3;j++) a[i][j]=i+j;
Ce se va afia dup for(i=1;i<=3;i++){
executarea secvenei de for(j=1;j<=3;j++)
instruciuni alturate? cout<<a[i][j]; | printf(%d,a[i][j]);
(6p.) 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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 39
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 039

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utilizm metoda backtracking pentru generarea tuturor modalitilor de a scrie numrul 6 ca
sum a cel puin dou numere naturale nenule. Termenii fiecrei sume sunt n ordine
cresctoare. Soluiile se genereaz n ordinea: 1+1+1+1+1+1, 1+1+1+1+2, 1+1+1+3,
1+1+4, 1+5, 2+2+2, 2+4 i 3+3. Se aplic exact aceeai metod pentru scrierea lui 9.
Care este penultima soluie? (4p.)
a. 3+3+3 b. 3+6 c. 4+5 d. 2+7

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


2. Pentru definiia alturat a subprogramului int f(int x)
f, ce valoare are f(3)? Dar f(8)? (6p.) {
if(x<=4) return x*x-3;
return f(x-3)+4;
}
3. Pe prima linie a fiierului bac.in se afl un numr natural nenul n (n1000), iar pe a
doua linie a fiierului se afl un ir format din n numere naturale, desprite prin cte un
spaiu, fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care
citete valorile din fiier i care afieaz pe ecran mesajul DA dac toate elementele pare
din ir sunt n ordine cresctoare i mesajul NU n caz contrar.
Exemplu: dac fiierul bac.in are coninutul 7
alturat, pe ecran se va afia: DA (10p.) 10 113 12 33 42 1354 421

4. Se consider subprogramul pr, care primete prin intermediul parametrului a un numr


natural nenul cu cel mult 9 cifre i returneaz 1 dac numrul este prim i 0 n caz contrar.
a) Scriei numai antetul subprogramului pr. (4p.)
b) Considerm un numr natural nenul n>99 cu cel mult 9 cifre. Din n se obine un ir de
valori prin eliminarea succesiv a ultimei cifre, apoi a ultimelor dou cifre, apoi a ultimelor
trei cifre etc., pn ce se obine un numr de dou cifre, ca n exemplu. S se realizeze un
program C/C++ care citete de la tastatur numrul n i care, folosind apeluri utile ale
subprogramul pr, afieaz pe ecran, separate prin cte un spaiu, doar valorile prime din
irul numerelor obinute din n, prin procedeul descris mai sus.
Exemplu: pentru n=193124 se obine irul de valori 19312,1931, 193, 19. din care se
vor afia pe ecran doar valorile 1931 193 19 (nu neaprat n aceast ordine). (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 40
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 040

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care este valoarea expresiei C/C++ alturate? (4p.) 50-(100300/2/(2+3))
a. -30 b. 70 c. -20 d. 60

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


2. Se consider algoritmul alturat descris n citete x
pseudocod. (numr natural nenul)
S-a notat cu x%y restul mpririi numrului natural x la d2; y0; z0
numrul natural nenul y i cu [z] partea ntreag a ct timp x 1 execut
numrului real z. p 0
ct timp x%d=0 execut
a) Scriei numerele afiate dac se citete valoarea p p+1
x=168. (6p.) x [x/d]

b) Scriei cea mai mare valoare din intervalul nchis dac p0 atunci
[1,50] care poate fi citit pentru variabila x dac y=0 atunci yd
astfel nct, n urma executrii algoritmului, s se
afieze dou valori egale. (4p.) zd
c) Scriei n pseudocod un algoritm echivalent cu cel
dat, n care s se nlocuiasc fiecare structur d d+1
ct timp...execut cu cte o structur
repetitiv cu test final. (6p.) scrie y
scrie z
d) Scriei programul C/C++ corespunztor
algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 40
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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: for(i=1;i<=3;i++)
int i,j,a[10][10]; for(j=1;j<=3;j++)
Ce se va afia dup executarea if(i<j)a[i][j]=i;
secvenei de instruciuni alturate? else a[i][j]=j;
(6p.) 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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 40
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 040

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utilizm metoda backtracking pentru generarea tuturor modalitilor de a scrie numrul 6 ca
sum a cel puin dou numere naturale nenule. Termenii fiecrei sume sunt n ordine
cresctoare. Soluiile se genereaz n ordinea: 1+1+1+1+1+1, 1+1+1+1+2, 1+1+1+3,
1+1+4, 1+5, 2+2+2, 2+4 i 3+3. Se aplic exact aceeai metod pentru scrierea lui 9.
Cte soluii de forma 2+... vor fi generate? (4p.)
a. 2 b. 3 c. 4 d. 5

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


2. n secvena alturat variabilele i, j i aux sunt ntregi, for(i=1;i<5;i++)
iar v memoreaz un tablou unidimensional ale crui for(j=5;j>i;j--)
elemente au urmtoarele valori: v[1]=2, v[2]=13, if(v[i]<v[j])
v[3]=1, v[4]=5, v[5]=-4. Care este numrul de {
aux=v[i];
interschimbri care se efectueaz n urma executrii
v[i]=v[j];
secvenei alturate? Dai un exemplu de alte 5 valori
v[j]=aux;
pentru elementele tabloului astfel nct, n urma executrii }
secvenei alturate, s nu se efectueze nicio
interschimbare. (6p.)
3. a) Pe prima linie a fiierului bac.in se afl un numr natural nenul n (n1000), iar pe a
doua linie a fiierului se afl un ir format din n numere naturale, desprite prin cte un
spaiu, fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care
citete numerele din fiier i care afieaz pe ecran mesajul DA dac elementele pare n ir
sunt n ordine cresctoare, iar cele impare sunt n ordine descresctoare i mesajul NU n
caz contrar. Alegei un algoritm eficient ca timp de executare i spaiu de memorie utilizat.
(6p.)
b) Descriei succint, n limbaj natural, metoda utilizat, justificnd eficiena acesteia. (4p.)
Exemplu: dac fiierul bac.in are coninutul 8
alturat, pe ecran se va afia: DA 10 1133 12 331 42 1354 221 13
4. a) Scriei definiia complet a subprogramului sdiv care primete prin intermediul
parametrului y un numr natural cu cel mult 6 cifre i returneaz suma tuturor divizorilor
numrului y. (5p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n (n<10000) i
care, folosind apeluri ale subprogramului sdiv verific dac suma divizorilor lui n este un
numr prim. n caz afirmativ, programul va afia pe ecran mesajul Da i n caz contrar va
afia mesajul NU.
Exemplu: dac n=206, atunci programul va afia: NU (1+2+103+206=312, iar 312 nu
este un numr prim). (5p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 41
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 041

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. tiind c variabilele x i y sunt de tip ntreg, care este instruciunea prin care variabilei x i
se atribuie ultima cifr a numrului natural memorat n variabila y? (4p.)
a. x=y%10; b. y=x%10; c. y=x/10; d. x=x/10;

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


2. Se consider algoritmul alturat, descris n
pseudocod.
S-a notat cu [x] partea ntreag numrului real x, iar cu citete x (numr natural)
x%y restul mpririi numrului ntreg x la numrul ntreg d2
nenul y. scrie x
a) Scriei numrul care se afieaz dac se citete ct timp xd execut
ct timp x%d=0 execut
valoarea 100. (6p.)
x[x/d]
b) Scriei cel mai mare numr natural de dou cifre care scrie x
trebuie citit pentru variabila x, astfel nct algoritmul
s afieze exact dou valori. (4p.) dd+1

c) Scriei n pseudocod un algoritm echivalent cu cel dat,
care s conin o singur structur repetitiv. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat
(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 41
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 0 1 0 0 1
adiacen alturat, au gradul un numr par? (4p.) 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; b. p->urm=r; c. r->urm=q->urm; d. q->urm=r->urm;
q->urm=r->urm; r->urm=q->urm; q->urm=r->urm; p->urm=r;
r->urm=q; 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 for (i='a';i<='z';i++)
secvenei de program scris alturat, n if (strchr("info",i))
care i este o variabil de tip char? (6p.) cout<<i; | printf("%c",i);
5. Scriei un program C/C++ care citete de la tastatur un numr natural n 2 3 4 5
(1n23) i apoi construiete n memorie o matrice cu n linii i n coloane, 3 4 5 6
numerotate de la 1 la n, astfel nct fiecare element situat pe o linie i 4 5 6 7
(1in) i pe o coloan j (1jn) va fi egal cu suma dintre i i j. 5 6 7 8
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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 41
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 041

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Cea mai mare dintre valorile strict negative memorate ntr-un tablou unidimensional NU
exist dac: (4p.)
a. n tablou sunt memorate numai valori strict negative
b. n tablou exist cel puin o valoare negativ
c. n tablou sunt memorate valori nenule pozitive i negative
d. n tablou sunt memorate numai valori strict pozitive

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


2. tiind c p este un vector cu 3 void G(int k)
componente ntregi (vector declarat {int i;
global), stabilii cu ce trebuie nlocuite for(i=1;i<=;i++)
i n definiia subprogramului G { p[k]=i;
alturat astfel nct n urma apelului
if()G(k+1);
G(0) s se afieze toate numerele de
else
3 cifre nenule, fiecare numr fiind
cout<<p[0]<<p[1]<<p[2]<<endl; |
afiat o singur dat. (6p.)
printf("%d%d%d\n",p[0],p[1],p[2]);
}
}
3. Scriei un subprogram DIST, cu doi parametri, care primete prin intermediul parametrului a
un tablou unidimensional cu cel mult 100 de elemente, numere naturale de cel mult 4 cifre
fiecare, i prin intermediul parametrului n un numr natural nenul, n<100, ce reprezint
numrul de elemente din tablou. Subprogramul returneaz valoarea 1 dac toate
elementele tabloului a sunt distincte i dac diferena absolut a oricror dou elemente
vecine din tablou este diferit de 1, altfel returnnd valoarea 0. (10p.)
4. Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000), iar pe a
doua linie un ir format din n cifre, separate prin cte un spaiu.
a) Scriei un program C/C++ care determin n mod eficient din punct de vedere al
timpului de executare, cea mai mare cifr dintre cele situate pe a doua linie a fiierului,
precum i numrul de apariii ale acesteia. Cele dou numere vor fi afiate pe o singur
linie a ecranului, separate printr-un spaiu.
Exemplu: daca fiierul numere.txt are urmtorul coninut:
7
3 5 2 1 5 3 1
atunci pe ecran se va afia: 5 2. (6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 42
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 042

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. tiind c variabilele x i y sunt de tip ntreg, care este instruciunea prin care variabilei x i
se atribuie cifra zecilor numrului natural cu cel puin dou cifre memorat de variabila y?
(4p.)
a. x=y%10/10; b. x=y/10%10; c. x=y%10; d. x=x/100;

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


citete x,y (numere naturale)
2. Se consider algoritmul alturat, descris n
pseudocod.
ct timp y>0 execut
S-a notat cu x%y restul mpririi numrului natural x la zx%y
numrul natural nenul y. x2*y
y2*z
a) Scriei valoarea care se va afia la finalul executrii
algoritmului dac se citesc valorile x=15 i y=25. scrie x
(6p.)
b) Dac pentru y se citete valoarea 3, scriei toate numerele formate dintr-o singur cifr
care pot fi citite pentru variabila x astfel nct, pentru fiecare dintre acestea, la finalul
executrii algoritmului s se afieze o valoare de forma 2p, unde p este un numr
natural. (4p.)
c) Scriei n pseudocod un algoritm echivalent cu cel dat n care structura ct
timp...execut s fie nlocuit cu o structur repetitiv cu test final. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 42
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 042

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
0 0 0 1 1
1. Cte dintre vrfurile grafului neorientat G, reprezentat prin matricea de 0 0 0 0 0
adiacen alturat, au gradul 0? (4p.) 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; b. p->urm=p->urm->urm;
q->urm=p->urm->urm; delete p; | free(p);
delete q; | free(q);
c. q=p->urm; d. p=q->urm;
p->urm=p->urm->urm; q->urm=p->urm->urm;
delete q; | free(q); 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 for(i=1;i<=5;i++)
si 5 coloane, numerotate de la 1 la 5, ale crui elemente for(j=1;j<=5;j++)
sunt numere ntregi. Care este cea mai mare valoare, a[i][j]=j%i+i%j;
memorat n tablou, deasupra diagonalei principale a
tabloului construit n urma executrii secvenei de program
alturate ? (6p.)
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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 42
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 042

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utiliznd metoda backtracking se genereaz toate permutrile mulimii {1,2,3,4}. Dac
primele trei permutri generate sunt, n acest ordine: 1234, 1243, 1324 precizai care
este permutarea generat imediat dup 3412. (4p.)
a. 3214 b. 3413 c. 4123 d. 3421

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


2. Subprogramul f are definiia alturat. Ce valoare int f(int x)
are f(7)? Dar f(100)? (6p.) {if(x%6==0)return x;
else return f(x-1);
}
3. Scriei definiia complet a unui subprogram P, cu trei parametri, care primete prin
intermediul primului parametru, a, un tablou unidimensional de cel mult 100 de numere
ntregi, cu cel mult 4 cifre fiecare, prin intermediul celui de-al doilea parametru, n, numrul
efectiv de elemente ale tabloului, iar prin parametrul k, un numr natural (k<101) i
returneaz cea mai mare sum cu k termeni care se poate obine adunnd k elemente ale
tabloului.
Exemplu: dac n=6 i k=4, iar irul este format din elementele (5, 2, 5, 4, 1, 3),
atunci la apel se va returna 17. (10p.)
4. Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000) iar pe
doua linie, separate prin cte un spaiu, n numere naturale formate din cel mult dou cifre
fiecare.
a) Scriei un program C/C++ care determin n mod eficient, din punct de vedere al timpului
de executare, numerele ce apar o singur dat n a doua linie a fiierului. Aceste numere
vor fi afiate pe ecran n ordine cresctoare, separate prin cte un spaiu.
Exemplu: dac fiierul numere.txt are urmtorul coninut:
7
3 5 2 1 5 23 1
atunci pe ecran se va afia: 2 3 23. (6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 43
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 043

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care este instruciunea prin care variabilei x i se atribuie valoarea sumei cifrelor numrului
natural format din exact trei cifre, memorat de variabila ntreag y? (4p.)
a. x=y/100+y/10%10+y%10; b. x=y+y/10+y/100;
c. x=y%10+y%10/10+y/100; d. x=y%10+y%100+y%1000;

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


citete x,y (numere naturale)
2. Se consider algoritmul alturat, descris n
pseudocod.
ct timp x*y0 execut
S-a notat cu x%y restul mpririi numrului natural x la daca x>y atunci
numrul natural nenul y. xx%y
altfel
a) Scriei valoarea pe care o va afia algoritmul dac se yy%x
citesc, n aceast ordine, numerele 30 i 25. (6p.)

b) Dac se citete pentru variabila y valoarea 26, scriei scrie x+y
toate numerele naturale de cel mult dou cifre care pot fi
citite pentru variabila x, astfel nct la finalul executrii
algoritmului s se afieze valoarea 13. (4p.)
c) Scriei n pseudocod un algoritm care s fie echivalent
cu cel dat n care structura ct timp...execut s
fie nlocuit cu o structur repetitiv cu test final. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 43
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 0 1 0 0 1
alturat. Cte grafuri pariale distincte, formate doar din noduri cu 1 0 1 1 0
gradul egal cu 2, se pot obine din graful dat? Dou grafuri sunt 0 1 0 1 1
distincte dac matricele lor de adiacen difer. (4p.) 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 strcpy(a,"informatica");
secvenei de program alturate, unde a este o strcpy(a+2,a+5);
variabil de tip ir de caractere? (6p.) 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 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.
Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a 2 1 1 1
ecranului, cu cte un spaiu ntre elementele fiecrei linii. 3 2 1 1
Exemplu: dac n este 4 atunci programul va construi i va afia 3 3 2 1
matricea alturat. (10p.) 3 3 3 2

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 43
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 043

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utiliznd metoda backtracking se genereaz numerele formate din cte 3 cifre distincte din
mulimea {1,3,5,7}. Dac primele trei numere generate sunt, n acest ordine: 135,
137, 153 care este cel de-al patrulea numr generat? (4p.)
a. 315 b. 173 c. 157 d. 357

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


2. Subprogramul f are definiia alturat. Ce valoare int f(int x)
are f(3)? Dar f(10)? (6p.) {if(x==0)return 0;
else return f(x-1)+2;
}
3. Scriei definiia complet a unui subprogram P cu doi parametri, care primete prin
intermediul primului parametru, n, un numr natural nenul (1n100) i prin intermediul
celui de-al doilea parametru, a, un tablou unidimensional cu elementele numerotate de la 1
la n, numere ntregi de cel mult 4 cifre fiecare. Subprogramul returneaz suma tuturor
numerelor impare aflate pe poziii pare din tablou.
Exemplu: dac n=6, iar irul a este format din elementele (3,12,7,1,4,3), atunci la apel se
va returna 4. (10p.)
4. Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000) iar pe a
a doua linie n cifre, separate prin cte un spaiu.
a) Scriei un program C/C++ care determin n mod eficient, din punct de vedere al timpului
de executare, cel mai mare numr ce se poate forma cu toate cifrele coninute de a doua
linie a fiierului numere.txt. Numrul determinat se va afia pe ecran.
Exemplu: daca fiierul numere.txt are urmtorul coninut:
7
2 5 3 1 5 8 9
atunci pe ecran se va afia: 9855321. (6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 44
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 044

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care este instructiunea prin care variabilei ntregi x i se atribuie valoarea cifrei sutelor
numrului natural cu cel puin 4 cifre memorat n variabila ntreag y? (4p.)
a. x=y%10/10; b. x=y/10/10; c. x=y%100; d. x=y/100%10;

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


citete x (numr natural)
2. Se consider algoritmul alturat, descris n
pseudocod.
y0
S-a notat cu x%y restul mparirii numrului natural x la ct timp x>y execut
numrul natural nenul y. yy*10+9-x%10;

a) Scriei numrul care se afieaz dac se citete scrie y
valoarea 274. (6p.)
b) Scriei un numr natural de 3 cifre care poate fi citit pentru variabila x, astfel nct, la finalul
executrii algoritmului s se afieze valoarea 1111. (4p.)
c) Scriei n pseudocod un algoritm echivalent cu cel dat n care structura ct
timp...execut s fie nlocuit cu o structur repetitiv cu test final. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 44
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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. 0 1 0 0 1
Cte vrfuri din graful dat au gradul interior egal cu gradul exterior? 1 0 1 0 0
0 0 0 1 1
(4p.) 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 strcpy(a,"info");
secvenei de program alturate, tiind c variabila for(i=0;i<strlen(a);i++)
a este de tip ir de caractere, iar i este o variabil a[i]=a[i]+1;
de tip ntreg? (6p.) 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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 44
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 044

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Care dintre urmtoarele variante reprezint antetul corect al unui subprogram care primete
prin parametrii x i y dou numere ntregi i furnizeaz prin parametrul m cea mai mic
dintre cele dou valori x i y? (4p.)
a. int minim(int x,int y,int m) b. void minim(int x,int y,int &m)
c. int minim(int x,int y) d. void minim(int& x,int& y,int m)

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


2. Subprogramul f are definiia alturat. Ce int f(int x,int y)
valoare are f(6,5)? Dar f(5,10)? (6p.) {if(x==y)return x;
else if(x<y)return f(x+1,y-1);
else return f(x-1,y);
}
3. Scriei definiia complet a unui subprogram P, cu doi parametri, a i b, numere naturale cu
cel mult 4 cifre fiecare, care afieaz pe ecran, separate prin cte un spaiu, numerele aflate
n intervalul nchis determinat de valorile a i b, care sunt ptratele unor numere prime.
Exemplu: pentru a=40 i b=1 se vor afia valorile: 4 9 25 (nu neaprat n aceast ordine).
(10p.)
4. Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000), iar pe a
doua linie n numere naturale, formate din cel mult 4 cifre, separate prin cte un spaiu.
a) Scriei un program C/C++ care determin n mod eficient, din punct de vedere al timpului
de executare, cifrele ce apar n scrierea numerelor situate pe a doua linie a fiierului.
Programul va afia pe ecran aceste cifre in ordine cresctoare, separate prin cte un spaiu.
Exemplu: daca fiierul numere.txt are urmtorul coninut:
7
243 32 545 74 12 1344 90
atunci pe ecran se va afia: 0 1 2 3 4 5 7 9 (6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 45
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 045

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care este instruciunea prin care variabilei x i se atribuie numrul obinut prin inversarea
ordinii cifrelor numrului natural format din exact 2 cifre, memorat n variabila ntreag y?(4p.)
a. x=y/10*10+y%10; b. x=y%10*10+y/10;
c. x=y%10+y/10*10; d. x=y%10+y/10;

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


citete x,y (numere naturale)
2. Se consider algoritmul alturat, descris n
pseudocod: z1
t0
S-a notat cu x%y restul mpririi numrului natural x la ct timp xz execut
numrul natural nenul y. dac x%z=y atunci
a) Scriei valoarea care va fi afiat de algoritm dac se tz
citesc, n aceast ordine, valorile 12 i 3. (6p.)
zz+1
b) Dac valoarea citit pentru variabila y este 7, scriei
care este cea mai mare valoare care trebuie citit pentru scrie t
x, astfel nct algoritmul s afieze numrul 0. (4p.)
c) Scriei n pseudocod un algoritm echivalent cu cel
dat n care s se nlocuiasc structura ct
timp...execut cu o structur repetitiv cu test
final. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 45
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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. 0 0 0 0 1
Cte vrfuri ale grafului G au gradul 1? (4p.) 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; b. p->urm=q;
delete q; | free(p->urm); delete p->urm; | free(p->urm);
c. p=q; d. delete p->urm; | free(p->urm);
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 for(i=1;i<=5;i++)
cu 5 linii i 5 coloane(numerotate de la 1 la n), numere ntregi. for(j=1;j<=5;j++)
Care este suma elementelor aflate pe diagonala secundar a a[i][j]=i-j;
tabloului construit n urma executrii secvenei de program
alturate? (6p.)
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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 45
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 045

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utiliznd metoda backtracking se genereaz toate cuvintele de cte 3 litere din mulimea
{a,b,c}. Dac primele patru cuvinte generate sunt, n acest ordine: aaa, aab, aac,
aba, care este cel de-al optulea cuvnt generat? (4p.)
a. acb b. acc c. aca d. bca

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


2. Subprogramul f are definiia alturat. Ce valoare are int f(int x)
f(4)? Dar f(11)? (6p.) {if(x<1)return 1;
else return f(x-3)+1;
}
3. Scriei programul C/C++ care citete de la tastatur numrul natural n (0<n<100) i un ir
format din n numere reale. Aceste numere au att partea ntreag ct i partea fracionar
formate din cel mult trei cifre. Programul determin i afieaz pe ecran toate numerele din
ir care apar o singur dat n acesta.
Exemplu: dac n=7, iar irul este format din elementele (3.4, -151, 0.291, 3.4,
4.09, 3.4, 0.291), atunci pe ecran se va afia -151 4.09. (10p.)
4. Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000), iar pe a
doua linie n numere naturale, formate din cel mult dou cifre, separate prin cte un spaiu.
a) Scriei un program C/C++, eficient att din punct de vedere al timpului de executare, care
afieaz pe ecran toate numerele situate pe a doua linie a fiierului, n ordinea cresctoare
a valorilor lor, separate prin cte un spaiu.
Exemplu: dac fiierul numere.txt are urmtorul coninut:
7
12 21 22 11 9 12 3
atunci pe ecran se va afia: 3 9 11 12 12 21 22 (6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 46
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 046

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Variabila ntreag n memoreaz un numr natural impar. Care dintre urmtoarele expresii
C/C++ are valoarea 1? (4p.)
a. !(n%2) b. n%2==0 c. n%2!=0 d. !((n+1)%2==0)

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


2. Se consider algoritmul alturat, descris n pseudocod. citete n
S-a notat cu x%y restul mpririi numrului ntreg x la numrul (numr natural)
ntreg nenul y i cu [a] partea ntreag a numrului real a. s0
nr0
a) Scriei valoarea afiat dac se citete numrul ct timp n0 execut
n=10326. (6p.) dac n%2=0 atunci
b) ss*10+n%10
Scriei pentru cte numere de forma , unde a

este cifra sutelor, b este cifra unitilor i ab, valoarea
n[n/10]
afiat este 1. (4p.)
c) Scriei programul C/C++ corespunztor algoritmului dat. dac s0 atunci
(10p.) nr1
d) Scriei n pseudocod un algoritm echivalent cu cel dat n
care s se nlocuiasc structura ct timp...execut scrie nr
cu o structur repetitiv cu test final. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 46
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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, 0 1 1 0 0
dat prin matricea de adiacen alturat? (4p.) 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 b. graful G nu are circuite
are gradul intern egal cu cel extern
c. exist cel puin un drum ntre oricare d. graful G are 9 arce
dou noduri ale grafului G
2. n secvena alturat, variabila v memoreaz for ( i=k+1; i<=n; i++)
elementele unei matrice cu liniile i coloanele for (j=1; j<=n; j++)
numerotate de la 1 la n, iar toate celelalte v[i-1][j] = v[i][j];
variabile sunt ntregi. Dac 1k<n, atunci n=n-1;
executarea secvenei determin: (4p.)
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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 46
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 046

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Un program genereaz, n ordine cresctoare, numerele naturale de exact 5 cifre din


mulimea {1, 2, 3, 4, 5}. Fiecare dintre numerele generate are cifrele distincte dou cte
dou. Primele 3 numere astfel generate sunt: 12345, 12354, 12435. Care este numrul
generat imediat dup 12543? (4p.)
a. 15342 b. 12534 c. 13245 d. 13452

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


2. Funcia f are definiia alturat. Dac f(x) are long f(int n)
valoarea 10100, care este valoarea lui x? {
if(n<=0) return 0;
(6p.) else return f(n-1)+2*n;
}
3. Fiierul bac.txt conine pe prima linie un numr natural n (n100), iar pe a doua linie,
separate prin cte un spaiu, n numere naturale nenule, cu cel mult 4 cifre fiecare. Scriei
programul C/C++ care citete de la tastatur un numr natural k (k25), construiete n
memorie i afieaz pe ecran un tablou unidimensional ce conine, n ordinea n care au
fost citite, numerele de pe a doua linie a fiierului bac.txt care au cel puin k divizori.
Exemplu: pentru k=5 i fiierul bac.txt cu coninutul 6
alturat, tabloul care se afieaz este: 100 9 400 56 7 10
100 400 56 (10p.)
4. a) Scriei n limbajul C/C++ doar antetul subprogramului cifre, care prin intermediul
parametrului nr primete un numr natural de cel mult 9 cifre i furnizeaz prin intermediul
parametrilor nc i sc numrul de cifre i respectiv suma cifrelor din scrierea lui nr. (4p.)
b) Scriei programul C/C++ care citete de la tastatur un numr natural n (10n109) i
verific, folosind apeluri utile ale subprogramului cifre, dac n scrierea n baza 10 a lui n
se gsete cel puin o cifr care s fie media aritmetic a celorlalte cifre din componena lui
n.Programul afieaz pe ecran mesajul DA n caz afirmativ i mesajul NU n caz contrar.
Exemplu: pentru n=27989 programul va afia mesajul DA, deoarece n scrierea lui n apare
cifra 7 care este media aritmetic a celorlalte cifre din scrierea lui n: 7=(2+9+8+9)/4.
Pentru n=7351 se va afia mesajul NU. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 47
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 047

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


c=2*a-b;
1. Care dintre urmtoarele variabile nu i modific valoarea n urma
executrii secvenei de instruciuni alturate, oricare ar fi valorile lor a=a-b; a=c-a;
iniiale? (a,b,c sunt variabile de tip int). (4p.) b=2*a-c;
a. niciuna b. doar c c. doar a i c d. doar a i b

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


2. Se consider algoritmul alturat, descris n pseudocod. citete n
S-a notat cu x%y restul mpririi numrului ntreg x la numrul (numr natural nenul)
ntreg nenul y i cu [a] partea ntreag a numrului real a. max0
repet
a) Scriei valoarea afiat dac se citete numrul 27349. n[n/10]
(6p.) dac max<n%10 atunci
b) Scriei cte numere naturale de trei cifre pot fi citite maxn%10
pentru variabila n, astfel nct valoarea afiat s fie 3.
pn cnd n=0
(4p.)
scrie max
c) Scriei n pseudocod un algoritm echivalent cu cel dat
n care s se nlocuiasc structura repet...pn
cnd cu o structur repetitiv cu test iniial. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat.
(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 47
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct rap
reprezint numrtorul, respectiv numitorul unei fracii. Care este { int a, b; } f;
expresia cu care se pot nlocui punctele de suspensie n secvena int k;
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.)
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 90o, ca n exemplu. (10p.)
Exemplu: pentru m=4, 21 22 23 24 25 se va afia: 25 30 35 40
n=5 i tabloul: 26 27 28 29 30 24 29 34 39
31 32 33 34 35 23 28 33 38
36 37 38 39 40 22 27 32 37
21 26 31 36

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 47
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 047

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


ntr-un penar sunt opt creioane: trei sunt roii, dou albastre i trei negre. Dac scoatem din
1.
penar cinci creioane, cte posibiliti exist ca cel puin dou dintre ele s fie roii? (4p.)
a. 6 b. 12 c. 15 d. 3

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


2. Se consider subprogramul f definit alturat. long f(int n)
Ce valoare are f(5)? Dar f(100)? (6p.) {
if(n<0) return 0;
else return f(n-2)+n;
}
3. Fiierul text bac.txt conine pe prima linie un numr natural n (n<100), iar pe a doua
linie, separate prin cte un spaiu, n numere naturale de cel mult 8 cifre fiecare.
Scriei un program C/C++ care citete de la tastatur un numr natural k (k<50) precum
i numerele din fiierul bac.txt i afieaz pe ecran, cu cte un spaiu ntre ele, toate
numerele de pe a doua linie a fiierului care sunt puteri ale lui k. Un numr natural x este
y
putere a lui k dac exist un numr natural y astfel nct x=k . Dac nu exist un
asemenea numr pe a doua linie a fiierului, se afieaz pe ecran mesajul NU.
Exemplu: dac se citete de la tastatur k=2, iar 8
fiierul are coninutul alturat, atunci pe ecran se 32 56 317 809 256 2 1 60
afieaz numerele:
32 256 2 1 (10p.)

4. a) Scriei n limbajul C/C++ doar antetul unui subprogram cif, care primete prin
intermediul primului parametru, nr, un numr natural cu cel mult 9 cifre i furnizeaz prin
intermediul celui de-al doilea parametru, s, suma cifrelor din scrierea lui nr. (4p.)
b) Scriei programul C/C++ care citete de la tastatur un numr natural n (0<n<25), apoi
un ir de n numere naturale nenule cu cel mult 9 cifre fiecare i care afieaz pe ecran,
separate prin cte un spaiu, numerele din ir care au suma cifrelor maxim, folosind
apeluri utile ale subprogramului cif.
Exemplu: dac pentru n=8 se citete irul de numere 274 56018 354 8219 293 287
932 634 atunci, pe ecran, se afieaz numerele 56018 8219. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 48
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 048

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Variabilele a, b i c, de tip int, pot fi iniializate cu oricare numere naturale impare


distincte. tiind c c este divizor al lui a, iar b nu este multiplu al lui c, care dintre
urmtoarele expresii scrise n C/C++ are valoare 1? (4p.)
a. !((a % c!=0) || !(b % c!=0)) b. (a % c!=0) && !(b % c!=0)
c. (a % c!=0) || !(b % c!=0) d. !(c % a!=0) && (c % b!=0)

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


2. Se consider algoritmul alturat, descris n pseudocod. citete n
S-a notat cu x%y restul mpririi numrului ntreg x la numrul (numr natural nenul )
ntreg nenul y i cu [z] partea ntreag a numrului real z. pentru i1,n execut
citete x
a) Scriei valorile afiate dac pentru n se citete valoarea (numr. natural)
6, iar pentru x se citesc n ordine urmtoarele valori: nr0
2008, 1965, 2727, 1861, 11021, 165. (6p.) ct timp x>0 execut
nrnr*100+x%10
b) tiind c valoarea citit pentru n este 4, scriei un set
x[x/100]
de valori distincte, numere naturale cu exact 3 cifre,

care trebuie citite pentru variabila x, astfel nct setul ct timp nr>0 execut
de valori afiate n urma executrii algoritmului s fie xx*10+nr%10
identic cu setul de valori citite pentru x . (4p.) nr[nr/10]
c) Scriei n pseudocod un algoritm echivalent cu cel dat, n
care s se nlocuiasc structura pentru...execut cu scrie x
o structur repetitiv cu test final. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 48
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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, if(!(strcmp(s1,s2) || strcmp(s1,s3)))
s2 i s3 rein iruri de caractere. val=1;
Dup executarea acesteia, variabila else val=2;
ntreag val primete valoarea 1
dac: (4p.)
a. s1, s2, s3 rein iruri identice de b. s1, s2, s3 rein iruri de caractere
caractere ordonate lexicografic
c. s1, s2, s3 rein iruri de caractere de d. s1 este obinut prin concatenarea irurilor
lungimi diferite 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 0 1 1 1 0 0
maxim de la nodul 1 la nodul 5 pentru graful orientat cu ase noduri 0 0 0 0 0 1
numerotate de la 1 la 6, reprezentat prin matricea de adiacen 0 1 0 1 0 0
alturat? (6p.) 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 struct punct
coordonatele unui punct n planul xOy. Care este expresia a crei { float x,y;
valoare reprezint distana punctului respectiv fa de originea }a;
axelor de coordonate? (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr 2 4 6 8
natural n (2<n<10) i care construiete n memorie i afieaz pe 10 12 14 16
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 18 20 22 24
la dreapta, se obin primele n2 numere pare nenule, n ordine strict 26 28 30 32
cresctoare, ca n exemplu.
Exemplu: pentru n=4, se construiete i se afieaz tabloul
alturat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 48
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 048

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Se consider subprogramul f definit int f(int x)


alturat. Ce valoare are f(250)? (4p.) {
if(x%3==0) return 0;
else return 1+f(x/3);
}
a. 5 b. 2 c. 3 d. 4

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


2. Se genereaz prin metoda backtracking mulimile distincte ale cror elemente sunt numere
naturale nenule i care au proprietatea c suma elementelor fiecrei mulimi este egal cu
7. Astfel, sunt generate, n aceast ordine, mulimile: {1,2,4}, {1,6}, {2,5}, {3,4},
{7}. Folosind aceeai metod pentru a genera mulimile distincte ale cror elemente sunt
numere naturale nenule i care au proprietatea c suma elementelor fiecrei mulimi este
egal cu 9, stabilii n ce ordine sunt generate urmtoarele mulimi: M1={2,3,4};
M2={3,6}; M3={2,7}; M4={4,5}. (6p.)
3. Se consider subprogramul cmdiv care primete prin parametrii x i y dou valori ntregi
pozitive (0<x<100 i 0<y<100) i returneaz cel mai mare divizor comun al lor.
a) Scriei definiia complet a subprogramului cmdiv. (4p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n (1n100) i
determin, utiliznd apeluri ale subprogramului cmdiv, numrul fraciilor ireductibile de
x
forma cu x numr natural (1xn). Numrul obinut va fi afiat pe ecran.
n
1 2 3 4 5 6
Exemplu: pentru n=6 se afieaz 2, deoarece, dintre fraciile , , , , , doar dou
6 6 6 6 6 6
1 5
sunt ireductibile : i . (6p.)
6 6
4. Fiierul text bac.in conine pe prima linie un numr natural n (0<n<5000), iar pe a doua
linie, separate prin cte un spaiu, n numere naturale, formate din cel mult 4 cifre fiecare.
Scriei un program C/C++ care determin i scrie n fiierul bac.out toate numerele de pe
a doua linie a fiierului care apar o singur dat pe aceast linie. Numerele determinate se
vor afia n ordinea cresctoare a valorilor lor, separate prin cte un spaiu.
Exemplu: dac pe prima linie a fiierului bac.in se afl 10, iar pe linia a doua se gsesc
numerele 2 4548 568 4548 57 89 5974 2 89 32 atunci valorile cutate sunt 32 57
568 5974. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 49
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 049

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabila a, de tip int, memoreaz un numr natural impar, iar variabila b, de tip int,
memoreaz un numr natural par. Care dintre urmtoarele expresii C/C++ are valoarea 1? (4p.)
a. a%2 && b%2 b. !(!(a%2) || b%2)
c. (a+b+1)%2 d. !(a%2) || b%2

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


2. Se consider algoritmul alturat, descris n pseudocod. citete x
S-a notat cu x%y restul mpririi numrului ntreg x la numrul (numr natural nenul)
ntreg nenul y i cu [a] partea ntreag a numrului real a. k0
ct timp x0 execut
a) Scriei valoarea afiat dac pentru x se citete kk*10+x%10
numrul 210345. (6p.) x[x/10]
b) Scriei cea mai mare valoare format din cifre distincte
care poate fi citit astfel nct numrul afiat s fie 987. ct timp k0 execut
(4p.) xx*10+k%10
c) Scriei n pseudocod un algoritm echivalent cu cel dat, k[k/100]
n care s se nlocuiasc fiecare structur ct
timp...execut cu cte o structur repetitiv cu test scrie x
final. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 49
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct elev {
med2 mediile semestriale ale unui elev. Scriei o expresie a crei int matricol;
valoare va fi media anual a acestui elev. (6p.) 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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 49
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 049

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Se genereaz n ordine strict cresctoare numerele de cte ase cifre care conin: cifra 1 o
singur dat, cifra 2 de dou ori i cifra 3 de trei ori. Se obin, n aceast ordine, numerele:
122333, 123233, 123323, , 333221. Cte numere generate prin aceast metod au
prima cifr 1 i ultima cifr 2? (4p.)
a. 1 b. 3 c. 4 d. 8

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


2. Pentru o valoare natural mai mare dect void divi(long i)
1 memorat n variabila global n, {
subprogramul recursiv alturat afieaz if(==0)
cel mai mare divizor al lui n, mai mic dect cout<< ; | printf(%ld, );
n, la apelul divi(n). Cu ce trebuie else divi(i-1);
}
nlocuite i ? (6p.)
3. Scriei un program C/C++ care citete de la tastatur un numr natural n ( 1n50) i apoi
un ir de n numere naturale cu cel mult 4 cifre fiecare i care verific dac elementele irului
pot fi rearanjate astfel nct s respecte regula: al doilea element este cu 1 mai mare dect
primul, al treilea cu 2 mai mare dect al doilea, ... , ultimul este cu n-1 mai mare dect
penultimul. Programul afieaz pe ecran mesajul DA n caz afirmativ i mesajul NU n caz
contrar.
Exemplu: pentru n=4 i irul 8,5,11,6 se afieaz DA (elementele pot fi rearajate astfel
nct s respecte regula dat: 5, 6, 8, 11) (10p.)
4. Se consider subprogramul cmax care prin parametrul a primete un numr natural nenul
mai mic dect 30000, iar prin parametrul b furnizeaz cifra maxim din numrul a.
a) Scriei, folosind limbajul C/C++, doar antetul subprogramului cmax. (4p.)
b) Fiierul bac.txt conine cel mult 1000 numere naturale nenule, mai mici dect 30000
fiecare, separate prin cte un spaiu. Scriei programul C/C++ care citete din fiierul
bac.txt toate numerele i care determin cea mai mare cifr din scrierea lor i cel mai mic
dintre numerele care conin aceast cifr, folosind apeluri utile ale subprogramului cmax.
Cifra i numrul determinate se vor afia pe ecran, separate printr-un spaiu.
Exemplu: dac fiierul bac.txt conine valorile: 23 12 64 12 72 345 67 23 71 634
atunci pe ecran se afieaz 7 67. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 50
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 050

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Variabilele a i b sunt de tip int, iar variabilele c i d sunt de tip double. Care dintre
urmtoarele instruciuni de atribuire nu este corect din punct de vedere sintactic? (4p.)
a. c=d+2*c; b. c=2-d%2*a; c. c=sqrt(b*b); d. b=(d<=c);

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


2. Se consider algoritmul alturat, descris n pseudocod. citete n
S-a notat cu x%y restul mpririi numrului ntreg x la numrul (numr natural nenul)
ntreg nenul y i cu [a] partea ntreag a numrului real a. k9
pentru i1,n execut
a) Scriei numrul care va fi afiat dac pentru n se citete citete x
valoarea 3, iar pentru x se citesc n ordine urmtoarele (numr. natural)
valori: 90, 965, 727. (6p.) c[x/10]%10
dac c<k atunci
b) tiind c valoarea citit pentru n este 4, scriei un set de
kc
valori care pot fi citite pentru variabila x astfel nct la finalul

executrii algoritmului s se afieze numrul 9. (4p.)
c) Scriei n pseudocod un algoritm echivalent cu cel dat, n scrie k
care s se nlocuiasc structura pentru...execut cu
o structur repetitiv cu test final. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat.
(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 50
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 0 0 1 0 0 0
matricea de adiacen alturat? Dou circuite sunt distincte dac 1 0 1 0 1 1
difer prin cel puin un arc. (4p.) 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 1 2 3 4 5


5 coloane, sunt toate numerele naturale cuprinse ntre 1 i 25 16 17 18 19 6
aezate n spiral, ncepnd cu primul element al primei linii i 15 24 25 20 7
continund n sens invers trigonometric ca n figura alturat. 14 23 22 21 8
Care este ultima cifr a produsului numerelor impare aflate sub 13 12 11 10 9
diagonala secundar (exclusiv diagonala secundar), n cazul
unui tablou bidimensional cu 4 linii i 4 coloane generat dup
aceeai regul? (6p.)
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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 50
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 050

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


Valorile memorate de componentele int t (int i, int v[])
1.
tabloului v, cu indicii de la 0 la 5, sunt, n {
aceast ordine: 973, 51, 75, 350, 350, 15. if(i==0) return 0;
Se consider subprogramul t cu definiia if(v[i]!=v[i-1]) return t(i-1,v);
alturat. Care dintre urmtoarele expresii return 1;
are valoarea 2 ? (4p.) }
a. tablou(0,v)+tablou(3,v) b. tablou(1,v)+tablou(4,v)
c. tablou(4,v)+tablou(5,v) d. tablou(3,v)+tablou(4,v)

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


2. Se genereaz n ordine strict cresctoare toate numerele de cte ase cifre care conin:
cifra 1 o singur dat, cifra 2 de dou ori i cifra 3 de trei ori. Se obin, n aceast ordine,
numerele: 122333, 123233, 123323, , 333221. Ce numr se afl imediat naintea i ce
numr se afl imediat dup numrul 332312 n irul numerelor generate? (6p.)
3. Se consider subprogramul divxy care primete prin parametrii x i y dou valori ntregi
pozitive (0<x<1000 i 0<y<1000) i returneaz valoarea 1 dac y este divizor al lui x sau x
este divizor al lui y i returneaz valoarea 0 n caz contrar.
a) Scriei definiia complet a subprogramului divxy. (4p.)
b) Scriei un program C/C++ care citete de la tastatur trei numere naturale nenule a, b i
n, cu cel mult 3 cifre fiecare i care afieaz pe ecran toi divizorii lui n din intervalul nchis
determinat de a i b folosind apeluri utile ale subprogramului divxy. Intervalul nchis
determinat de a i b este [a,b] dac a<b sau [b,a] dac ba. Numerele afiate sunt
separate prin cte un spaiu. Dac nu exist niciun astfel de numr se afieaz mesajul NU
EXISTA.
Exemplu: pentru a=85, b=10 i n=40 se afieaz: 10 20 40 (nu neaprat n aceast
ordine). (6p.)
4. Fiierul bac.in conine pe prima linie un numr natural n (0<n<5000), iar pe a doua linie,
separate prin cte un spaiu, n numere naturale, formate din cel mult 4 cifre fiecare.
Scriei un program C/C++ care determin i scrie n fiierul bac.out, toate numerele, citite de
pe a doua linie a fiierului bac.in, care apar de cel puin dou ori. Numerele determinate se
vor scrie n ordine cresctoare, pe aceeai linie, separate prin cte un spaiu.
Exemplu: dac fiierul bac.in conine pe prima linie numrul 11, iar pe linia a doua
valorile 23 12 54 12 78 345 67 23 78 934 23
atunci fiierul bac.out va conine: 12 23 78 (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 51
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 051

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabila ntreag x memoreaz un numr natural cu exact 4 cifre. Care dintre urmtoarele
instruciuni C/C++ determin, n urma executrii, eliminarea cifrei sutelor numrului
memorat de variabila x? (4p.)
a. x=x%10+x/10+x/1000; b. x=x%1000*100+x/100;
c. x=x%1000+x%100+x%10; d. x=x/1000*100+x%100;

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


2. Se consider algoritmul alturat descris n pseudocod. citete x
S-a notat cu x%y restul mpririi numrului ntreg x la (numr natural nenul)
z 0
numrul ntreg nenul y i cu [a] partea ntreag a numrului
repet
real a.
c x%10
a) Scriei ce valoare se va afia dac pentru x se citete dac c%20 atunci
numrul 1234. (6p.) zz*10+c-1
b) Scriei cea mai mare valoare format din exact 4 cifre altfel
distincte, care poate fi citit pentru variabila x, astfel zz*10+c
nct algoritmul s afieze un numr format din toate
cifrele lui x, dar n ordine invers. (4p.) x [x/10]
pn cnd x = 0
c) Scriei n pseudocod un algoritm echivalent cu cel dat, scrie z
n care s se nlocuiasc structura repetitiv cu test
final cu o structur repetitiv cu test iniial. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 51
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct elev{
folosit pentru a memora numele, char nume[10],prenume[20];
prenumele i media unui elev. float medie;
Care dintre expresiile de mai jos are ca }p;
valoare prima liter a numelui unui
elev ale crui informaii sunt memorate
n variabila p? (4p.)
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 x=1;
unui tablou bidimensional cu 4 linii (numerotate de la 0 la for (i=0;i<=3;i++)
3) i 4 coloane (numerotate de la 0 la 3), iar toate for (j=0;j<=3;j++)
celelalte variabile sunt de tip ntreg. {
Dup executarea secvenei de instruciuni scris alturat if (i==j)
a) ce valoare va avea elementul a[1][3]? (3p.) a[i][j]=2*x;
else a[i][j]=x;
b) care este suma elementelor de pe diagonala principal
x=x+1;
a acestui tablou? (3p.)
}

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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 51
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 051

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Care este antetul corect al subprogramului cifre, care primete prin intermediul primului
parametru, x, un numr natural i furnizeaz prin intermediul celui de-al doilea parametru,
y, suma cifrelor numrului natural x? (4p.)
a. void cifre(int x, int &y) b. int cifre(int x)
c. void cifre(int x, int y) d. void cifre(int &x, int y)

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


2. Se consider numrul x=21034085. Permutnd cifrele lui x se obin alte numere naturale.
a) Dai exemplu de un astfel de numr care s fie divizibil cu 25.
b) Cte dintre numerele obinute au exact 7 cifre? (6p.)
3. Se consider subprogramul dist2, care primete prin intermediul parametrilor xa, ya i
respectiv xb, yb, coordonatele carteziene ntregi (abscis, ordonat) pentru dou puncte
din plan, A i respectiv B. Subprogramul returneaz ptratul distanei dintre cele dou
puncte.
a) Scriei n limbajul C/C++ definiia complet a subprogramului dist2. (4p.)
b) Scriei un program C/C++ care citete de la tastatur 8 valori ntregi reprezentnd
coordonatele carteziene pentru patru puncte din plan i afieaz mesajul Da dac cele
patru puncte pot fi vrfurile unui ptrat, iar n caz contrar afieaz mesajul Nu,folosind
apeluri utile ale subprogramului dist2.
Exemplu: dac coordonatele punctelor sunt cele alturate 0 0
atunci se va afia mesajul Da (6p.) 3 0
3 3
0 3
4. Fiierul text date.in conine pe prima linie un numr natural nenul n (n100), iar pe a
doua linie n numere naturale nenule, separate prin cte un spaiu, fiecare numr avnd
maximum 4 cifre. Scriei un program C/C++ care citete toate numerele din fiierul text
date.in, construiete n memorie un tablou unidimensional a, cu cele n elemente din fiier
i afieaz pe ecran perechile (ai, aj) , 1i<jn, cu proprietatea c elementele fiecreia
dintre aceste perechi au aceeai paritate. Fiecare pereche se va afia pe cte o linie a
ecranului, elementele perechii fiind separate prin cte un spaiu. n cazul n care nu exist
nicio pereche, se va afia valoarea 0.
5
Exemplu: dac fiierul date.in are coninutul alturat,
se vor afia: 16 22 3 6 1
16 22
16 6
22 6
3 1 (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 52
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 052

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Crui interval i aparine valoarea memorat de variabila real x astfel nct expresia
urmtoare, scris n limbajul C/C++, s aib valoarea 1?
(x<=-2) || (x>-1) && !(x>=1) || (x>50) (4p.)
a. (-,-2] (-1,1) (50, ) b. (-,-2) (-1,50)
c. (-,-2) (-1,1] (50, ) d. (-,-2) (-1,1) (50, )

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


2. Se consider algoritmul alturat, descris n citete n
pseudocod. (numr natural nenul)
S-a notat cu x%y restul mpririi numrului ntreg x la d 0
numrul ntreg nenul y i cu [a] partea ntreag a c 0
numrului real a. pentru i1,n execut
citete x
a) Scriei care este valoarea afiat dac se citesc, (numr natural nenul)
n aceast ordine, numerele 5, 12, 4, 13, 25, 17. ct timp x%2=0 execut
(6p.) x [x/2]; d d+1
b) Scriei un ir de date de intrare ce pot fi citite
astfel nct valoarea afiat s fie 4. (4p.) ct timp x%5=0 execut
x [x/5]; c c+1
c) Scriei n pseudocod un algoritm echivalent cu cel
dat, n care s se nlocuiasc structura repetitiv
pentru... execut cu o structur repetitiv dac c<d atunci
cu test final. (6p.) scrie c
d) Scriei programul C/C++ corespunztor altfel
algoritmului dat. (10p.) scrie d

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 52
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct elev{
pentru a memora numele, prenumele i cele char nume[10],prenume[20];
2 note ale unui elev. float nota1,nota2;
Care dintre instruciunile de mai jos } x;
calculeaz n variabila real m media
aritmetic a notelor elevului ale crui
informaii sunt memorate n variabila x? (4p.)
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 x=5;
unui tablou bidimensional cu 4 linii (numerotate de la 0 la for (i=0;i<=3;i++)
3) i 4 coloane (numerotate de la 0 la 3), iar toate for (j=0;j<=3;j++)
celelalte variabile sunt de tip ntreg. if(i==j)
Ce valoare va avea elementul a[3][3] i care este {a[i][j]=x;
x=x+1;}
suma elementelor de pe prima linie a tabloului dup
executarea secvenei de instruciuni scris alturat? (6p.)
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 p=prim;
secvenei de instruciuni alturate? (6p.) 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 arc
programul va afia pe ecran 1 deoarece irul ae este format ae
numai din vocale. (10p.) creion

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 52
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 052

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utiliznd metoda backtracking, se genereaz n ordine lexicografic toate anagramele
cuvntului caiet ( cuvinte formate din aceleai litere, eventual n alt ordine). Cte cuvinte
care ncep cu litera t vor fi generate? (4p.)
a. 1 b. 6 c. 12 d. 24

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


2. Se consider subprogramul f, definit int f(int n)
alturat. Ce valoare are f(4)? Dar f(9)? { if (n==0) return 0;
(6p.) if(n%2==1)return n-f(n-1);
return f(n-1)-n
}
3. Subprogramul mult, cu doi parametri, primete prin intermediul primului parametru, n, un
numr natural nenul cu maximum trei cifre i prin intermediul celui de-al doilea parametru,
a, un tablou unidimensional avnd n componente numere naturale cu cel mult 8 cifre
fiecare. Subprogramul returneaz valoarea true dac cele n componente ale lui a pot
forma o mulime i returneaz false n caz contrar.
a) Scriei definiia complet a subprogramului mult. (6p.)
b) Fiierul text date.in conine cel mult 400 de numere naturale avnd maximum 8 cifre
fiecare. Scriei un program C/C++ care, folosind apeluri utile ale subprogramului mult,
afieaz pe ecran valoarea maxim k, astfel nct primele k numere succesive din fiier s
poat forma o mulime.
Exemplu: dac fiierul date.in conine
16 17 8 31 8 2 10
atunci se va afia 4 (deoarece primele patru numere din fiier pot forma o mulime i
acesta este cardinalul maxim posibil n condiiile impuse de enunul problemei) (4p.)
4. Scriei un program C/C++ care citete de la tastatur dou numere naturale nenule n i k
(k<n10000) i afieaz pe ecran un ir format din k numere naturale consecutive care au
suma n. Numerele se vor afia pe ecran, n ordine cresctoare, desprite ntre ele prin
cte un spaiu. n cazul n care nu exist un astfel de ir, se va afia mesajul Nu exist.
(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 53
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 053

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabila ntreag x memoreaz un numr natural. Care dintre urmtoarele expresii C/C++
are valoarea 0 dac i numai dac numrul memorat de x NU este divizibil cu 3? (4p.)
a. x%3 b. (1-x%3)+(2-x%3)
c. (1-x%3)*(2-x%3) d. 3-x%3

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


2. Se consider algoritmul alturat descris n pseudocod. citete x
S-a notat cu x%y restul mpririi numrului ntreg x la (numr natural nenul)
numrul ntreg nenul y i cu [a] partea ntreag a numrului z0
real a. p1
repet
a) Scriei care este valoarea ce se va afia dac pentru cx%10
x se citete numrul 1234. (6p.) dac c%20 atunci
zz+c*p
b) Scriei cea mai mic valoare format din exact 4 cifre,
pp*10
care poate fi citit pentru variabila x, astfel nct

algoritmul s afieze valoarea 0. (4p.)
x[x/10]
c) Scriei n pseudocod un algoritm echivalent cu cel dat, pn cnd x = 0
n care s se nlocuiasc structura repetitiv cu test scrie z
final cu o structur repetitiv cu test iniial. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 53
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 for(i=0;i<=strlen(x)-1;i=i+3)
memoreaz un ir cu cel mult 100 de cout<<x[i]; | printf(%c,x[i]);
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.)

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; 1 2 3 4 2
for (i=1;i<=5;i++) 6 7 8 9 4
if(a[i][i]%2!=0) 1 2 0 4 3
x=x+a[i][6-i]; 7 2 1 4 5
cout<<x; | printf(%d,x); 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.)
5. 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) i construiete n memorie o list simplu nlnuit astfel nct
parcurgnd lista de la primul nod pn la ultimul nod i afind pe ecran, separate prin cte
un spaiu, numerele memorate n cmpul info al fiecrui nod, se obin n ordine strict
cresctoare toate elementele mulimii M={a, a+r, a+2r,...,a+(n-1)r}.
Exemplu: dac n=4, a=10, r=2 atunci se vor afia elementele alturate. 10 12 14 16
(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 53
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 053

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Subprogramul f realizeaz interschimbarea valorilor a dou variabile ntregi transmise prin
intermediul parametrilor x i y. Care este antetul corect al subprogramului f? (4p.)
a. void f(int &x, int &y) b. int f(int x,int y)
c. void f(int x, int &y) d. void f(int &x, int y)

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


2. Se consider subprogramul f, definit int f(unsigned int n)
alturat. Pentru ce valori ale lui n {
if (n==0) return 0;
aparinnd intervalului [10, 20] se
else if(n%2==0)
obine la apel f(n)= 0? ( 6p.) return n%10+f(n/10);
else return f(n/10);
}
3. Se consider subprogramul cmmdc, care primete prin intermediul a doi parametri, a i b,
dou numere naturale nenule, cu maximum 8 cifre fiecare, i returneaz cel mai mare
divizor comun al valorilor parametrilor a i b.
a) Scriei definiia complet a subprogramului cmmdc. (4p.)
b) Scriei un program Pascal care citete de la tastatur un numr natural n (n<300), i,
cu ajutorul subprogramului cmmdc, determin numrul perechilor de valori naturale (a,b),
1<a<b<n, cu proprietatea c a i b nu au niciun divizor comun n afar de 1. Numrul
obinut se va afia pe ecran.
Exemplu: dac se citete n=6, atunci se va afia 6 (deoarece perechile (2,3), (2,5),
(3,4), (3,5), (4,5), (5,6) satisfac condiiile din enun).
4. Fiierul text bac.txt are dou linii: pe prima linie conine un numr natural nenul n
(n<=100), iar pe linia a doua un ir format din n numere naturale de cel mult 4 cifre fiecare,
desprite prin spaii. Scriei un program C/C++ care adaug n fiier toate permutrile
circulare distincte ale irului de pe linia a doua a fiierului. Astfel, se vor aduga la sfritul
fiierului nc n-1 linii, fiecare linie coninnd permutarea circular cu o poziie ctre
stnga, a elementelor irului aflat pe linia precedent din fiier. Elementele fiecrei
permutari vor fi separate prin cte un spaiu.
Exemplu: dac fiierul bac.txt conine liniile: 4
4 10 20 30 49
10 20 30 49 20 30 49 10
atunci, dup rularea programului, fiierul va avea coninutul 30 49 10 20
reprezentat alturat. (10p.) 49 10 20 30

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 54
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 054

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Crui interval i aparine valoarea memorat de variabila real x astfel nct expresia
urmtoare, scris n limbajul C/C++, s aib valoarea 1?
!((x<=1) || (x>50)) (4p.)
a. (1,50) b. (-,1] (50, )
c. [1,50) d. (1,50]

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


citete n (numr natural nenul)
2. Se consider algoritmul alturat, descris n
pseudocod.
s0
S-a notat cu x%y restul mpririi numrului ntreg x la ct timp n>0 execut
numrul ntreg nenul y i cu [a] partea ntreag a cn%10
numrului real a. dac c%2=0 atunci
a) Scriei care este valoarea afiat dac se p1
citete numrul 1234. (6p.) pentru i2,c execut
pp*i

b) Scriei un numr natural, de exact 4 cifre, ss+p
care poate fi citit pentru variabila n, astfel nct
valoarea afiat s fie 3. (4p.) n[n/10]

c) Scriei n pseudocod un algoritm echivalent cu
cel dat, n care s se nlocuiasc structura
scrie s
repetitiv pentru...execut cu o structur
repetitiv cu test final. (6p.)
d) Scriei programul C/C++ corespunztor
algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 54
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 strcpy(x,bac2009);
memoreaz un ir de caractere, iar toate k1=strlen(x);
celelalte variabile sunt de tip ntreg. k2=0;
Ce valori au variabilele k1 i k2 dup for (i=0;i<strlen(x);i++)
executarea secvenei de instruciuni if( x[i]>=0 && x[i]<=9)
alturate? (6p.) 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.)
5. 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.
Tabloul bidimensional se va afia pe ecran, cte o linie a tabloului pe cte o 1 2 2 3
linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu. 2 1 3 2
Exemplu: dac se citesc de la tastatur n=4 i x=123 atunci se afieaz 2 3 1 2
tabloul alturat. (10p.) 3 2 2 1

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 54
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 054

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utiliznd metoda backtracking se genereaz n ordine lexicografic toate anagramele
cuvntului caiet ( cuvinte formate din aceleai litere, eventual n alt ordine). Care este a
asea soluie? (4p.)
a. catei b. actie
c. actei d. catie

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


2. Se consider subprogramul f void f(int i)
definit alaturat. Ce se afieaz la {
if(i<=5){
apelul f(1)?
cout<<i<< ;| printf(%d ,i);
(6p.) f(i+1);
cout<<i/2<< ;| printf(%d ,i/2);
}
3. Se consider subprogramul inv, care primete prin intermediul primului parametru a un
numr natural, cu minimum dou cifre i maximum 8 cifre, i furnizeaz prin intermediul
celui de-al doilea parametru, b, valoarea numrului natural format cu aceleai cifre ca i a,
considerate n ordine invers. De exemplu, pentru a=3805, dup apel b va avea valoarea
5083., iar dac a=3800, dup apel b va avea valoarea 83.
a) Scriei definitia complet a subprogramului inv. (4p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n de minimum
dou i maximum 8 cifre i afieaz pe ecran un numr palindrom cu valoarea cea mai
apropiat de valoarea lui n citit. n cazul n care exist dou astfel de numere, se va afia
cel mai mic dintre ele. Se vor folosi apeluri utile ale subprogramului inv.
Spunem c un numr natural x este palindrom dac numrul format din cifrele lui x
considerate de la stnga ctre dreapta este acelai cu numrul format din cifrele lui x
considerate de la dreapta ctre stnga.
Exemplu: dac n=16, atunci se afieaz valoarea 11, dac n=126, atunci se afieaz
121, iar dac a=33, atunci se afieaz 33. (6p.)
4. Fiierul text date.in conine pe prima linie un numr natural nenul n (n100), iar pe a
doua linie un ir de n numere naturale nenule distincte, separate prin cte un spaiu,
fiecare numr avnd maximum 8 cifre.
a) Scriei un program C/C++ care citete numerele din fiier i determin cte dintre
comopnentele irului citit pot fi scrise ca sum a altor dou numere din acelai ir.
Rezultatul obinut se va afia pe ecran. n cazul n care nu exist niciun astfel de element,
se va afia valoarea 0.
Exemplu: dac fiierul date.in conine
6
1 10 25 2 15 3
atunci se va afia valoarea 2 (deoarece 25=10+15, 3=1+2). (8p.)
b) Descriei pe scurt, n limbaj natural, metoda de rezolvare. (2p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 55
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 055

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre urmtoarele expresii C/C++ este !((x>=5)&&(x<10))
echivalent cu cea scris alturat? (4p.)
a. (x<5) || (x>=10) b. (x<5) || (x>10)
c. (!(x>=5)) && (!(x>10)) d. (x>=5) || (x<10)

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


2. Se consider algoritmul alturat, descris n citete n
pseudocod. (numr natural nenul)
S-a notat cu x%y restul mpririi numrului ntreg x la citete a
numrul ntreg nenul y. (numr natural)
k0
a) Scriei care este valoarea afiat dac se citesc, n
aceast ordine, valorile: 5, 12, 22, 1232, 3, 563. pentru i2,n execut
citete b
(6p.)
(numr natural)
b) Pentru n=7, scriei un set de valori ce trebuie citite n dac a%10=b%10 atunci
continuare, astfel nct valoarea afiat s fie 4. (4p.) kk+1
altfel
c) Scriei n pseudocod un algoritm echivalent cu
kk-1
algoritmul dat, n care s se nlocuiasc structura

repetitiv pentru...execut cu o structur
ab
repetitiv cu test final. (6p.)

d) Scriei programul C/C++ corespunztor algoritmului scrie k
dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 55
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct punct{
instruciuni este corect din punct de vedere sintactic? int x,y;
(4p.) } 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. 4n*(n-1)/2 b. 3n*(n-1)/2 c. 4n*(n-1) d. 2n*(n-1)/2

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


3. Considerm urmtoarele declarri: for (i=0;i<=8;i++)
if( a[i][9-i]<a[i+1][8-i])
int i,aux,a[10][10];
{aux=a[i][9-i];
Ce valori se afieaz n urma executrii a[i][9-i]=a[i+1][8-i];
secvenei alturate dac liniile i a[i+1][8-i]=aux;}
coloanele tabloului bidimensional sunt cout<<a[0][9]<< <<a[9][0];
numerotate de la 0 la 9 i iniial fiecare | printf(%d %d,a[0][9],a[9][0]);
linie a tabloului conine, de la stnga la
dreapta, n ordine descresctoare, toate
numerele naturale, de la 10 la 1? (6p.)
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..
Dac adresa primului nod este memorat n variabila prim, p=prim->urm;
iar variabila p este de acelai tip cu prim, ce prelucrare prim->urm=p->urm;
realizeaz urmtoarea secven de instruciuni? (6p.) 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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 55
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 055

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utiliznd metoda backtracking se genereaz toate matricele ptratice de ordinul 4 ale cror
elemente aparin mulimii {0,1}, cu proprietatea c pe fiecare linie i pe fiecare coloan
exist o singur valoare 1. Primele 4 soluii generate sunt, n aceast ordine:
1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0
0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1
0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0
Care este a opta soluie? (4p.)
a. 0 1 0 0 b. 0 1 0 0 c. 0 1 0 0 d. 0 0 1 0
1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0
0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1

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


2. Se consider subprogramul f, definit alturat. int f(int n)
a) Ce valoare are f(25)? { if (n>20) return 0;
else return 5+f(n+5);
b) Dar expresia f(1)+f(5)+f(15)? (6p.)
}

3. Se consider subprogramul cifre, care primete prin intermediul primului parametru, a, un


numr natural cu maximum 8 cifre nenule i returneaz, prin intermediul celui de-al doilea
parametrul b, cel mai mic numr care se poate forma cu toate cifrele distincte ale lui a.
a) Scriei definiia complet a subprogramului cifre. (4p.)
b) Se consider fiierul text date.in ce conine pe prima linie un numr natural nenul n
(n100), iar pe a doua linie n numere naturale, separate prin cte un spaiu, fiecare numr
avnd maximum 8 cifre nenule. Scriei un program C/C++ care citete toate numerele din
fiierul text date.in i afieaz pe ecran, desprite prin cte un spaiu, numerele situate
pe a doua linie a fiierului, formate numai din cifre distincte ordonate strict cresctor,
folosind apeluri utile ale subprogramului cifre. n cazul n care nu exist niciun astfel de
numr se va afia valoarea 0.
Exemplu: dac fiierul date.in are coninutul 6
alturat, atunci se vor afia numerele: 16 269 (6p.) 16 175 333 242477 321 269

4. Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n100)
i 2*n numere naturale de maximum 3 cifre; primele n reprezint elementele tabloului
unidimensional a, iar urmtoarele n elementele tabloului unidimensional b; fiecare tablou
are elementele numerotate ncepnd de la 1. Programul construieste n memorie i
afieaz pe ecran, cu spaii ntre ele, cele n elemente ale unui tablou unidimensional c, n
care orice element ci (1in) se obine conform definiiei urmtoare:
ci = ai concatenat cu bi, dac ai<bi
bi concatenat cu ai, altfel
Exemplu: dac se citesc n=3, a=(12,123,345) i b=(1,234,15), atunci se afieaz
elementele tabloului c astfel:
112 123234 15345 (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 56
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 056

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabilele ntregi x i y memoreaz cte un numr natural nenul. Cel mai mic multiplu
comun al valorilor lor este egal cu numrul memorat n y dac i numai dac urmtoarea
expresie C/C++ are o valoare nenul: (4p.)
a. y%x b. y%x==0 c. x%y d. x%y==0

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


2. Se consider algoritmul alturat, descris n pseudocod: citete n (numr natural)
r0
S-a notat cu [x] partea ntreag a numrului real x i cu a%b
repet
restul mpririi numrului ntreg a la numrul ntreg nenul b. r(r*10+n%10)*10
a) Scriei valoarea care se va afia pentru n=8291. (6p.) n[n/100]
pn cnd n<10
b) Scriei o valoare de 5 cifre distincte care poate fi citit scrie r
pentru variabila n astfel nct numrul afiat s fie 7080.
(4p.)
c) Scriei programul C/C++ corespunztor algoritmului dat.
(10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura
repet...pn cnd cu o structur repetitiv de alt tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 56
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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{ d. struct x[
char nume[21],prenume[21]; char nume[21],prenume[21];
int sal;} x; 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.)
5. 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.
Programul afieaz pe ecran matricea construit, fiecare linie a 1 1 1 2 2
matricei pe o linie a ecranului i elementele de pe aceeai linie 1 1 1 2 2
separate prin cte un singur spaiu. 1 1 1 2 2
Exemplu: pentru n=5, k=3 se construiete n memorie i se afieaz 3 3 3 4 4
matricea alturat. (10p.) 3 3 3 4 4

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 56
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 056

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Pentru a genera toate numerele naturale cu exact 4 cifre i care au cifrele n ordine strict
descresctoare, se poate utiliza un algoritm echivalent cu cel pentru generarea: (4p.)
a. aranjamentelor de 4 obiecte luate cte 10 b. combinrilor de 10 obiecte luate cte 4
c. permutrilor a 10 obiecte d. permutrilor a 4 obiecte

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


2. Se consider subprogramul f, definit int f(int n,int c)
alturat. Ce valoare are f(12,3)? Dar {
f(21114,1)? (6p.) if(n==0)return 0;
if(n%10==c)
return n%100+f(n/10,c);
return f(n/10,c);
}
3. Fiierul text numere.txt conine, pe o singur linie, cel mult 1000 de numere naturale
nenule cu cel mult 4 cifre fiecare, numerele fiind separate prin cte un spaiu. Scriei un
program C/C++ care citete toate numerele din fiier i scrie pe ecran toate numerele pare
citite, ordonate cresctor. Dac fiierul numere.txt nu conine niciun numr par, atunci se
va afia pe ecran mesajul nu exista.
Exemplu: dac fiierul numere.txt conine numerele 2 3 1 4 7 2 5 8 6, atunci pe
ecran se va afia: 2 2 4 6 8 (10p.)
4. Se consider subprogramele
prim, care primete prin intermediul unicului su parametrului x un numr natural nenul
de cel mult 4 cifre i returneaz valoarea 1 dac x este un numr prim i 0 n caz contrar;
numar, care primete prin intermediul parametrului x un numr natural nenul de cel mult
4 cifre i furnizeaz prin intermediul parametrului nrp numrul de numere prime mai mici
dect x.
a) Scriei numai antetul subprogramului prim i definiia complet a subprogramului
numar. (6p.)
b) Scriei un programul C/C++ n care se citesc de la tastatur dou numere naturale
nenule de cel mult 4 cifre, a i b (a<b), i, prin apeluri utile ale subprogramului numar, se
verific dac intervalul nchis [a,b] conine cel puin un numr prim. Programul va afia pe
ecran, n caz afirmativ, mesajul DA, iar n caz contrar, mesajul NU. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 57
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 057

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabilele ntregi x i y memoreaz numere naturale nenule. Care dintre urmtoarele
expresii C/C++ este nenul dac i numai dac numrul obinut prin nsumarea valorilor
variabilelor x i y are ultima cifr 0? (4p.)
a. x%10+y%10==0 b. y%10==x%10
c. x+y%10==0 d. (x%10+y%10)%10==0

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


2. Se consider algoritmul alturat, descris n citete n (numr natural)
pseudocod: q1
S-a notat cu a%b restul mpririi numrului ntreg a la i1
numrul ntreg nenul b i cu [x] partea ntreag a ct timp i<[n/i] execut
dac n%i=0 atunci
numrului real x.
qq+i
a) Scriei valoarea care se va afia pentru n=20. (6p.)
ii+3
b) Scriei o valoare care poate fi citit pentru variabila
n astfel nct numrul afiat s fie 9. (4p.) scrie q
c) Scriei programul C/C++ corespunztor
algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm, echivalent cu cel dat, n care s se nlocuiasc structura
ct timp...execut cu o structur repetitiv de alt tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 57
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 d. G nu poate avea noduri cu gradul 0
pare

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 1 1 0 2 2
matricei pe o linie a ecranului i elementele de pe aceeai linie 1 1 0 2 2
separate prin cte un singur spaiu. 1 1 0 2 2
Exemplu: pentru n=5, a=4, b=3 se construiete n memorie i se 0 0 0 0 0
afieaz matricea alturat: (10p.) 3 3 0 4 4

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 57
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 057

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se utilizeaz metoda backtracking pentru a genera n ordine lexicografic toate cuvintele de
cte patru litere din mulimea {d,a,n,s}, astfel nct n niciun cuvnt s nu existe dou litere
alturate identice. tiind c primele trei cuvinte generate sunt, n ordine, adad, adan i adas,
care va fi ultimul cuvnt obinut? (4p.)
a. snns b. nsns c. snsn d. dans

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


2. Se consider subprogramul f, void f(int x)
definit alturat. Ce se va afia la {
apelul f(38);? (6p.) if(x) {
if(x%3==0){
cout<<3; | printf("3");
f(x/3);
}
else{
f(x/3);
cout<<x%3; | printf("%d",x%3);
}
}
}
3. Fiierul text INTRARE.TXT conine, pe o singur linie, cel mult 100 de numere naturale
nenule de cel mult patru cifre fiecare, numerele fiind separate prin cte un spaiu. Scriei un
program C/C++ care citete numerele din fiier i scrie n fiierul text IESIRE.TXT, n
ordine cresctoare, toate valorile distincte obinute ca sum de dou elemente distincte
aflate pe linia a doua a fiierului.
Exemplu:
INTRARE.TXT IESIRE.TXT
1 4 3 2 3 4 5 6 7 (10p.)
4. Se consider subprogramul multiplu, cu doi parametri, care:
primete prin intermediul parametrilor a i k dou numere ntregi de cel mult 4 cifre;
returneaz cel mai mic multiplu al lui k mai mare sau egal cu a.
a) Scriei numai antetul subprogramului multiplu. (4p.)
b) Scriei declarrile de date i programul principal C/C++ care citete de la tastatur trei
numere naturale nenule x, y, z, de cel mult 4 cifre fiecare, (xy), i care, prin apeluri utile
ale subprogramului multiplu, verific dac intervalul [x,y] conine cel puin un multiplu
al lui z. Programul va afia pe ecran, n caz afirmativ, mesajul DA, iar n caz contrar
mesajul NU. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 58
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 058

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. tiind c variabila ntreag n memoreaz un numr natural cu cel puin 3 cifre, care dintre
urmtoarele expresii C/C++ are ca valoare numrul obinut dup eliminarea ultimelor 2
cifre ale lui n? (4p.)
a. n%10/10 b. n%10 c. n/100 d. n/10%10

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


2. Se consider algoritmul alturat, descris n pseudocod: citete n (numr natural)
S-a notat cu [x] partea ntreag a numrului real x i cu a%b q1
restul mpririi numrului ntreg a la numrul ntreg nenul b. ct timp n>0 execut
dac n%5=0 atunci
a) Scriei valoarea care se va afia pentru n=53. (6p.) qq*10
altfel
b) Scriei o valoare care poate fi citit pentru variabila n qq*10+1
astfel nct numrul afiat s fie 1001. (4p.)
n[n/5]
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.) scrie q
d) Scriei n pseudocod un algoritm, echivalent cu cel dat,
n care s se nlocuiasc structura ct
timp...execut cu o structur repetitiv de alt tip.
(6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 58
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 58
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 058

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se utilizeaz metoda backtracking pentru a genera n ordine lexicografic toate cuvintele de
cte trei litere distincte din mulimea {d,a,n,s}. Care este cel de-al treilea cuvnt obinut?
(4p.)
a. ads b. ans c. dan d. and

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


2. Se consider subprogramul f, definit int f(int n,int c){
alturat. Ce valoare are f(88,1)? Dar if(n==0)
f(3713,3)? (6p.) return 0;
if(n%10==c)
return f(n/10,c)*10+c;
return f(n/10,c);
}
3. Fiierul text BAC.TXT conine, pe o singur linie, cel puin 3 i cel mult 100 de numere
naturale nenule distincte de cel mult 4 cifre fiecare, numerele fiind separate prin cte un
spaiu. Scriei un program C/C++ care citete toate numerele din fiierul BAC.TXT i scrie
pe ecran, n ordine descresctoare, cele mai mici 3 numere citite.
Exemplu: dac fiierul BAC.TXT conine numerele 1017 48 310 5710 162, atunci se
va afia: 310 162 48 (10p.)
4. Se consider subprogramul divizor, care:
primete prin intermediul parametrului a un numr natural strict mai mare dect 1, de cel
mult 4 cifre;
furnizeaz prin intermediul parametrului d cel mai mare divizor al lui a strict mai mic dect
a.
a) Scriei numai antetul subprogramului divizor. (4p.)
b) Scriei declarrile de date i programul principal C/C++ care citete de la tastatur un
numr natural nenul x, de cel mult 4 cifre i, prin apeluri utile ale subprogramului divizor,
verific dac x este numr prim. Programul va afia pe ecran n caz afirmativ mesajul DA, iar
n caz contrar mesajul NU. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 59
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 059

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Fiecare dintre variabilele ntregi x, y i t memoreaz cte un numr natural de cel mult 4
cifre. tiind c x<y, care dintre urmtoarele expresii C/C++ este egal cu 1 dac i numai
dac numrul memorat de variabila t aparine intervalului nchis [x,y]? (4p.)
a. (t<x) && (t>y) b. (t>=x) && (t<=y)
c. (t>=x) || (t<=y) d. (t<x) || (t>y)

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


2. Se consider algoritmul alturat, descris n pseudocod: citete n (numr natural)
S-a notat cu [x] partea ntreag a numrului real x i cu a%b repet
restul mpririi numrului ntreg a la numrul ntreg nenul b. nn+n%10
n[n/10]
a) Scriei valoarea care se va afia pentru n=76261. (6p.) pn cnd n<10
scrie n
b) Scriei o valoare care poate fi citit pentru variabila n
astfel nct numrul afiat s fie 6. (4p.)
c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura
repet...pn cnd cu o structur repetitiv de alt tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 59
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 59
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 059

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se utilizeaz metoda backtracking pentru a genera n ordine lexicografic toate cuvintele
care conin toate literele din mulimea {a,m,i,c}, astfel nct fiecare liter s apar exact o
dat ntr-un cuvnt. Cte soluii sunt generate dup cuvntul amic i nainte de cuvntul
cami? (4p.)
a. 6 b. 4 c. 1 d. 3

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


2. Se consider subprogramul f, definit int f(int a,int b)
alturat. Ce valoare are f(12,5)? Dar {
f(261,31)? (6p.) if(a<10)
return b;
return f(a/10,b)*10+b+1;
}
3. Fiierul text bac.txt conine, pe o singur linie, cel puin 3 i cel mult 100 de numere
naturale nenule distincte de cel mult 4 cifre fiecare, numerele fiind separate prin cte un
spaiu. Scriei un program C/C++ care citete numerele din fiier i scrie pe ecran ultima
cifr a produsului celor mai mari 3 numere citite.
Exemplu: dac fiierul bac.txt conine numerele:
1017 48 312 5742 162
atunci se va afia: 8 (ultima cifr a produsului numerelor 1017, 5742, 312) (10p.)
4. Se consider subprogramul divizor, care:
primete prin intermediul parametrului, a, un numr natural nenul de cel mult 4 cifre,
strict mai mare ca 1;
furnizeaz prin intermediul parametrului d, cel mai mic divizor al lui a strict mai mare
dect 1.
a) Scriei numai antetul subprogramului divizor. (4p.)
b) Scriei declarrile de date i programul principal C/C++ care citete de la tastatur un
numr natural x (x>1), i, prin apeluri utile ale subprogramului divizor, verific dac x
este numr prim. Programul va afia pe ecran, n caz afirmativ, mesajul DA, iar n caz
contrar mesajul NU. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 60
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 060

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Fiecare dintre variabilele ntregi x, y i t memoreaz cte un numr natural de cel mult 4
cifre. tiind c x<y, care dintre urmtoarele expresii C/C++ este egal cu 1 dac i numai
dac numrul memorat de variabila t nu aparine intervalului deschis (x,y)? (4p.)
a. (t<=x) || (t>=y) b. (t>x) || (t<y)
c. (t<=x) && (t>=y) d. (t>x) && (t<y)

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


2. Se consider algoritmul alturat, descris n pseudocod: citete n (numr natural)
S-a notat cu [x] partea ntreag a numrului real x i cu a%b c10
restul mpririi numrului ntreg a la numrul ntreg nenul b. ct timp n%2=1 execut
cn%10
a) Scriei valoarea care se va afia pentru n=32751. (6p.) n[n/10]
b) Scriei cea mai mic valoare de 5 cifre distincte care
scrie c
poate fi citit pentru variabila n astfel nct numrul
afiat s fie 5. (4p.)
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura
ct timp...execut cu o structur repetitiv de alt tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 60
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 60
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 060

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se utilizeaz metoda backtracking pentru a genera toate cuvintele care conin toate literele din
mulimea {i,n,f,o}, astfel nct fiecare liter s apar exact o dat ntr-un cuvnt i literele n
i o s nu se afle pe poziii vecine. tiind c primul cuvnt generat este info, iar al treilea, al
patrulea i al cincilea sunt nifo, niof, nfio care este cel de-al doilea cuvnt obinut?
(4p.)
a. iofn b. inof c. ionf d. niof

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


Se consider subprogramul f, definit int f(int a,int b)
2.
alturat. Ce valoare are f(3,13)? Dar {
f(1000,2009)? (6p.) if(2*a>=b)
return 0;
if(b%a==0)
return b-a;
return f(a+1,b-1);
}
3. Fiierul text bac.txt conine, pe prima sa linie, 100 de numere naturale de cel mult 4 cifre
fiecare, numerele fiind ordonate cresctor i separate prin cte un spaiu, iar pe a doua
linie un singur numr natural x. Scriei un program C/C++ care citete toate numerele din
fiier i verific dac x se afl n irul celor 100 de numere aflate pe prima linie a fiierului.
n caz afirmativ, se va afia pe ecran mesajul DA, altfel se va afia mesajul NU.
Exemple: dac fiierul bac.txt conine:
17 38 40 45 50 51 52 53 54 55 ... 145
52
atunci se va afia: DA ;
dac fiierul bac.txt conine:
2 11 15 16 20 25 30 35 40 ... 495
33
atunci se va afia: NU. (10p.)
4. Se consider subprogramul radical, care:
primete prin intermediul parametrului a, un numr natural nenul de cel mult 4 cifre;
furnizeaz prin intermediul parametrului x cel mai mare numr natural cu proprietatea
c x2 este mai mic sau egal cu a; de exemplu, dac a=20, subprogramul va furniza prin
x valoarea 4.
a) Scriei numai antetul subprogramului radical. (4p.)
b) Scriei declarrile de date i programul principal C/C++ care citete de la tastatur un
numr natural nenul de cel mult 4 cifre, n, i prin apeluri utile ale subprogramului radical,
verific dac n este ptrat perfect. Programul va afia pe ecran n caz afirmativ mesajul DA,
iar n caz contrar mesajul NU. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 61
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 061


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1. Variabilele ntregi x i y memoreaz dou numere naturale cu cel mult 4 cifre fiecare. Care
dintre expresiile de mai jos are valoarea 1, dac i numai dac valoarea memorat de x
aparine intervalului [10,100] i valoarea memorat de y aparine intervalului [5,30]?
(4p.)
a. (x<=100 && x>10) && (y>=5 || y<30) b. (x<=100 && x>=10) && (y<5 && y<=30)
c. (x<=100 && x>=10)|| (y>=5 && y<=30) d. !((x>100 || x<10) || (y<5 || y>30))

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


citete a,b
2. Se consider algoritmul alturat, descris n pseudocod.
(numere naturale care au
S-a notat cu x%y restul mpririi numrului natural x la acelai numr de cifre )
numrul natural nenul y i cu [z], partea ntreag a n0
numrului real z. ct timp ab execut
xa%10
a) Scriei ce valoare se va afia dac se citesc numerele yb%10
a=8231 i b=3074. (6p.) dac x<y atunci
b) Scriei cte perechi de numere formate din cte o nn*10+x
singur cifr pot fi citite pentru a i b (a>b), astfel altfel
nct, de fiecare dat, valoarea afiat s fie nenul? nn*10+y
(4p.)
a[a/10]
c) Scriei programul C/C++ corespunztor algoritmului b[b/10]
dat. (10p.)
Scriei n pseudocod un algoritm echivalent cu cel dat scrie n
d)
n care structura ct timp...execut s fie
nlocuit cu o structur repetitiv cu test final.
(6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 61
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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? (Figura 1)
(4p.)
(Figura 2)
a. 8 b. 7 c. 5 d. 6
2. Care vor fi valorile afiate dup char s1[20]=algoritm,
executarea secvenei de program s2[20]=bioritm,s3[20]=ritm;
alturate? (4p.) 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: 27 0 0 0
(10p.) 9 18 0 0
3 6 9 0
1 2 3 4

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 61
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 061

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Generarea matricelor ptratice de ordinul n, cu elemente 0 i 1, cu proprietatea c pe
fiecare linie i pe fiecare coloan exist un singur element egal cu 1, se poate realiza
utiliznd metoda backtracking. Algoritmul utilizat este echivalent cu algoritmul de generare
a: (4p.)
a. combinrilor b. permutrilor c. aranjamentelor d. produsului
cartezian

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


2. Se consider tabloul unidimensional a definit int f(int x)
global, ce memoreaz elementele a1=12, a2=35, {if(x>=1)
a3=2, a4=8 i subprogramul f, definit alturat. Ce return (a[x]+f(x-1))%10;
valoare are f(1)? Dar f(4)? (6p.) else
return 0;
}
3. Subprogramul cifra primete prin parametrul x un numr real nenul pozitiv i furnizeaz
prin parametrul y valoarea cifrei unitilor prii ntregi a lui x.
Exemplu: dac x=34.567, dup apel y=4.
a) Scriei definiia complet a subprogramului cifra. (6p.)
b) Scriei un program C/C++ care citete de la tastatur dou numere reale cu cel mult dou
zecimale, numere reprezentnd mediile semestriale obinute de un elev. Programul stabilete,
folosind apeluri utile ale subprogramului cifra, dac cele dou medii citite se afl n aceeai
categorie de medii sau nu. Precizm c orice medie, n funcie de intervalul n care se
ncadreaz, face parte din una dintre categoriile: [3,3.99], [4,4.99], [5,5.99],
[6,6.99], [7,7.99], [8,8.99] sau [9,10]. n cazul n care ambele medii fac parte din
aceeai categorie, programul va afia mesajul Da, altfel va afia mesajul Nu. (4p.)
4. n fiierul text.in se afl un text scris pe mai multe linii, pe fiecare linie fiind caractere
diverse: litere mici ale alfabetului englez, cifre, spaii i semne de punctuaie. Gsii o metod
eficient din punctul de vedere al timpului de executare i al gestionrii memoriei ce permite
afiarea celor mai frecvente perechi de vocale alturate din text. Menionm c vocalele
sunt: a, e, i, o i u.
De exemplu, dac text.in conine textul:
Aleea ce strabate valea
e-o unduire de pietris scanteietor,
De-aceea nu stii daca zboara sau doar inoata in unde aurii
cele mai frecvente perechi de vocale ntlnite n acest text sunt: ea i oa (ele apar de 3 ori,
spre deosebire de alte perechi de vocale alturate care apar de mai puine ori).
a) Descriei succint, n limbaj natural, metoda de rezolvare aleas, explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)
b) Scriei programul C/C++ corespunztor metodei descrise la cerina a. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 62
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 062

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Toate variabilele din secvena de instruciuni if (a>b)
C/C++ alturat sunt ntregi. Care dintre { aux=a;a=b; b=aux;}
urmtoarele afirmaii este adevarat? (4p.) for(i=a;i<=b;i++)
printf(%d,i); | cout<<i;

a. Secvena conine o instruciune repetitiv b. Secvena conine o instruciune


inclus ntr-o instruciune alternativ. alternativ urmat de o instruciune
repetitiv.
c. Secvena conine o instruciune d. Secvena conine o instruciune
alternativ, urmat de o instruciune alternativ inclus ntr-o instruciune
repetitiv, urmat de o instruciune de repetitiv.
afiare.

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


2. Se consider algoritmul alturat, descris n citete x
pseudocod. (numr natural)
auxx
S-a notat cu x%y restul mpririi numrului natural x la t1
numrul natural nenul y, iar cu [z] partea ntreag a ct timp aux>9 execut
numrului real z. auxaux/10
tt*10
a) Scriei valorile care se afieaz dac se citete
numrul x=1628. (6p.) auxx
repet
b) Scriei o valoare cu minimum 3 cifre ce poate fi citit
cx%10
pentru x, astfel nct toate numerele afiate s fie
x[x/10]
egale ntre ele. (4p.)
xc*t+x
c) Scriei programul C/C++ corespunztor algoritmului scrie x
dat. (10p.) pn cnd x=aux

d) Scriei n pseudocod un algoritm echivalent cu cel


dat n care structura ct timp...execut s fie
nlocuit cu o structur repetitiv cu test final. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 62
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct complex
urmtoarele referiri este corect din punct de vedere {float re,im;};
sintactic ? (4p.) 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 1: 2 6
de la 1 la 6, definit cu ajutorul listelor de adiacen alturate. 2: 3
Construii matricea de adiacen corespunztoare grafului orientat 3:
G1, cu 6 vrfuri, n care exist arc ntre vrfurile distincte i i j 4: 3
dac i numai dac n graful G exist cel puin un drum de la i la j. 5: 4 6
6: 3
(6p.)
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. 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: Pe ecran se va afia:
Calculati valoarea expresiei a l c u t i v o r e x p s
(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 62
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 062

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Utiliznd metoda backtracking pentru afiarea tuturor modalitilor de descompunere a unui
numr natural ca o sum de numere naturale nenule, pentru n=3 se obin, n ordine,
soluiile: 1+1+1; 1+2; 2+1; 3. Ordinea de scriere a termenilor dintr-o descompunere este
semnificativ. Folosind aceeai metod pentru n=10, care este soluia generat imediat
dup 1+1+3+5? (4p.)
a. 1+1+4+1+1+1+1 b. 1+1+7+1 c. 1+2+7 d. 1+1+4+4

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


2. Considerm subprogramul f, definit alturat. Care va void f(int n,int &a)
fi valoarea variabilei globale x dup apelul {int c;
f(4962,x), dac nainte de apel, x are valoarea 0? if(n!=0){
Dar dac nainte de apel x are valoarea 52? (6p.) c=n%10;
if(a<c) a=c;
f(n/10,a);
}
}
3. Scriei definiia complet a unui subprogram fibo cu doi parametri, n i v, care primete
prin intermediul parametrului n un numr natural (1<n<30) i returneaz prin intermediul
parametrului v un tablou unidimensional care conine primii n termeni impari ai irului lui
Fibonacci (amintim c irul lui Fibonacci este: 1,1,2,3,5,8,13,21,). (10p.)
4. a) Fiierul date.in conine un ir de cel mult 10000 numere naturale (printre care cel
puin un numr par i cel puin un numr impar), cu cel mult 2 cifre fiecare, separate prin
cte un spaiu. Scriei un program C/C++ care citete numerele din fiierul date.in i
scrie n fiierul text date.out valorile distincte citite, separate prin cte un spaiu,
respectndu-se regula: pe prima linie vor fi scrise numerele impare n ordine cresctoare,
iar pe linia a doua numerele pare, n ordine descresctoare. Alegei o metod eficient din
punctul de vedere al timpului de executare. (6p.)
Exemplu: dac pe prima linie a fiierului date.in se afl numerele:
75 12 3 3 18 75 1 3
atunci fiierul date.out va conine:
1 3 75
18 12
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 63
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 063

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Considerm variabilele ntregi i i j. Care dintre urmtoarele secvene de instruciuni
C/C++ determin afiarea pe ecran , n urma executrii, a succesiunii de cifre 55? (4p.)
a. i=5; j=6; b. i=5; j=6;
while(j>4){ while(j>4)
printf(%d,i); | cout<<i; printf(%d,j); | cout<<j;
j--; j--;
}
c. j=5; d. j=5;
for(i=5;i<=5;i++) for(i=1;i<2;i++)
printf(%d,i); | cout<<i; printf(%d,j); | cout<<j;

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


2. Se consider algoritmul alturat, descris n citete n, d
pseudocod. (numere naturale nenule)
b0
S-a notat cu x%y restul mpririi numrului natural v0
x la numrul natural nenul y i cu [z] partea pentru i1,n execut
ntreag a numrului real z. citete x (numr natural nenul)
a0
a) Scriei ce se afieaz dac n=3, d=2, iar auxx
valorile citite pentru x sunt, n ordine, 40, 19, ct timp x % d = 0 execut
56. (6p.) aa+1
x[x/d]
b) Pentru n=3 i d=2, scriei 3 valori distincte
care pot fi citite n ordine pentru x, astfel dac a>b atunci
nct valorile afiate s fie 0 0. (4p.) ba
vaux
c) Scriei programul C/C++ corespunztor
algoritmului dat. (10p.)
scrie v, ,b
d) Scriei un algoritm pseudocod echivalent cu
cel dat n care structura ct
timp...execut s fie nlocuit cu o
structur repetitiv cu test final. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 63
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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.
1 6 11 16
Exemplu: pentru n=5 i m=4 se va afia: 2 7 12 17
3 8 13 18
4 9 14 19
5 10 15 20
(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 63
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 063

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se genereaz, prin metoda backtracking, toate partiiile mulimii A={1,2,3} obinndu-se
urmtoarele soluii: {1}{2}{3}; {1}{2,3}; {1,3}{2}; {1,2}{3}; {1,2,3}. Se observ
c dintre acestea, prima soluie e alctuit din exact trei submulimi. Dac se folosete
aceeai metod pentru a genera partiiile mulimii {1,2,3,4} stabilii cte dintre soluiile
generate vor fi alctuite din exact trei submulimi. (4p.)
a. 3 b. 12 c. 6 d. 5

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


2. Se consider tabloul unidimensional a definit int f(int b,int i)
global, ce memoreaz elementele a1=1, a2=2, {if(i>=1)
a3=0 i subprogramul f, definit alturat. Ce return f(b,i-1)*b+a[i];
valoare are f(2,1)? Dar f(3,3)? (6p.)
else return 0;
}
3. Subprogramul verif primete prin singurul su parametru, x, un numr natural nenul cu
cel mult 9 cifre i returneaz valoarea 1 dac numrul conine cel puin o secven de 3
cifre impare alturate i 0 n caz contrar.
Exemplu: dac x=7325972 se va returna valoarea 1.
a) Scriei definiia complet a subprogramului verif. (6p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural nenul n cu exact
6 cifre i, folosind apeluri utile ale subprogramului verif, verific dac n are primele trei
cifre impare. Programul afieaz pe ecran mesajul Da n caz afirmativ i mesajul Nu n caz
contrar. (4p.)
4. Pentru un ir de numere naturale, numim nod al irului un termen din ir care are doi
vecini, termenul precedent i termenul urmtor din ir, i valoarea termenului respectiv este
strict mai mic dect suma valorilor celor doi vecini ai si.
a) Fiierul text date.in conine un ir de cel puin dou i cel mult 10000 de numere
naturale avnd maximum 6 cifre fiecare, numere separate prin cte un spaiu. Scriei un
program C/C++ care citete toate numerele din fiier i afieaz numrul de noduri ale
irului citit, folosind un algoritm eficient din punctul de vedere al memoriei utilizate. (6p.)
Exemplu: dac fiierul date.in are urmtorul coninut:
51 20 100 43 43 618 5000 31 2020 114 116 4
atunci pe ecran se afieaz 6 (cele ase numere subliniate reprezint noduri ai irului)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 64
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 064


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1. Variabila ntreag a memoreaz un numr natural format din exact trei cifre, toate cifrele
fiind nenule i distincte. Care dintre urmtoarele instruciuni C/C++ atribuie variabilei e
suma cifrelor lui a? (4p.)
a. e=a%10/10+a/100%10+a%10; b. e=a/10+a/100+a/1000;
c. e=a*10/1000+a/10%10+a%10; d. e=a*10/1000+a%100%10+a%10;

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


citete n
2. Se consider algoritmul alturat, descris n
(numr natural nenul)
pseudocod. k0
pentru i1,n execut
a) Scriei ce se afieaz pentru n=4. (6p.) pentru j1,i execut
b) Scriei o valoare care poate fi citit pentru scrie i+j
variabila n astfel nct, n urma executrii kk+1
algoritmului, valoarea 20 s fie afiat de

exact 6 ori. (4p.)
scrie k
c) Scriei programul C/C++ corespunztor
algoritmului dat. (10p.)
d) Scriei un algoritm pseudocod echivalent cu
cel dat n care fiecare structur de tip
pentru...execut s fie nlocuit cu cte
o structur repetitiv de tip ct
timp...execut. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 64
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct datan{int zi,ln,an;};
dintre urmtoarele referiri este corect din struct elev {char nume[30];
punct de vedere sintactic ? (4p.) 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. 1: 2 3
Care este numrul maxim de muchii care pot fi eliminate din graf astfel 2: 1 3 4
nct graful parial rezultat s fie conex ? (6p.) 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.)
5. 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}.
Exemplu: dac textul introdus este:
Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani
pe ecran se va afia:
4 (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 64
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 064

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se genereaz, prin metoda backtracking, toate modalitile de aezare a numerelor
naturale de la 1 la 5, astfel nct oricare 2 numere consecutive s nu se afle pe poziii
alturate. Dac primele dou soluii sunt: (1,3,5,2,4) i (1,4,2,5,3), care este prima
soluie generat n care primul numr este 4? (4 p.)
a. (4, 1, 3, 2, 5) b. (4,2,5,1, 3) c. (4, 3, 5, 3, 1) d. (4, 1, 3, 5, 2)

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


2. Se consider subprogramul f, definit void f(int i,int j)
alturat. Ce se va afia n urma apelului { if(j<=9) f(i,j+1);
f(5,0);? printf(%d*%d=%d\n,i,j,i*j);/
(6p.) cout<<i<<*<<j<<=<<i*j<<endl;
}
3. Subprogramul diviz primete prin intermediul parametrului n un numr natural nenul
(2n200), iar prin intermediul parametrului a, un tablou unidimensional care conine n
valori naturale nenule, fiecare dintre acestea avnd cel mult patru cifre. Elementele tabloului
sunt numerotate de la 1 la n.
Subprogramul returneaz o valoare egal cu numrul de perechi (ai,aj), 1i<jn, n
care ai este divizor al lui aj , sau aj este divizor al lui ai.
Scriei definiia complet a subprogramului diviz, n limbajul C/C++.
Exemplu: pentru n=5 i a=(4,8,3,9,4) subprogramul returneaz valoarea 4. (10p.)
4. Fiierul text date.in conine pe prima linie , separate prin cte un spaiu, cel mult 1000 de
numere naturale, fiecare dintre ele avnd maximum 9 cifre.
a) Scriei un program C/C++ care citete numerele din fiierul date.txt i determin cea
mai lung secven ordonat strict descresctor, format din valori citite consecutiv din
fiier. Numerele din secvena gsit vor fi afiate pe ecran, pe o linie, separate prin cte un
spaiu. Dac sunt mai multe secvene care respect condiia impus, se va afia doar prima
dintre acestea. Alegei o metod de rezolvare eficient din punctul de vedere al timpului de
executare.
Exemplu: dac fiierul date.in conine pe ecran se afieaz:
5 2 19 4 3 6 3 2 1 0 8 6 3 2 1 0
(6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). ( 4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 65
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 065


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1. Variabilele a,b i z sunt reale, iar ab. Care dintre expresiile C/C++ urmtoare are
valoarea 1 dac i numai dac valoarea variabilei z nu aparine intervalului nchis
determinat de valorile variabilelor a i b ? (4p.)
a. (z>a||(z>b) b. (z<a)||(z>b) c. z<a && z>b d. z>=a && z<=b

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


2. Se consider algoritmul alturat, descris n pseudocod. citete n
S-a notat cu x%y restul mpririi numrului natural x la (numr natural nenul, n10000)
numrul natural nenul y i cu [z] partea ntreag a m0
vn
numrului real z.
un%10
a) Scriei valorile care se vor afia dac se citete repet
numrul n=1327. (6p.) cn%10
vv*10+c
b) Scriei dou valori diferite, cu exact 4 cifre fiecare, ce dac c=u atunci
pot fi citite pentru variabila n astfel nct, n urma mm+1
executrii algoritmului, valoarea afiat pentru m s
fie 3. (4p.) n[n/10]
pn cnd n=0
c) Scriei programul C/C++ corespunztor algoritmului scrie v, m
dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat
n care structura repet... pn cnd s fie
nlocuit cu o structur repetitiv cu test iniial. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 65
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct punct{float x,y;};
dintre urmtoarele referiri este corect din struct cerc
punct de vedere sintactic ? (4p.) {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 r->info=0;
element reine n cmpul dr adresa urmtorului nod din list q= p->dr->dr->dr;
sau NULL dac nu exist un nod urmtor, n cmpul st q->st=r;
adresa nodului precedent din list sau NULL dac nu exist r->dr=q;
un nod precedent, iar n cmpul info un numr ntreg. r->st= p->dr->dr;
Adresa primului element al listei este reinut n variabila p iar p->dr->dr->dr=r;
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.)
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.
1 2 3 4 5
Exemplu: pentru n=4 i m=5 se va afia: 10 9 8 7 6
11 12 13 14 15
20 19 18 17 16

(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 65
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 065

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se genereaz, prin metoda backtracking, toate modalitile de aezare a numerelor
naturale de la 1 la 5 astfel nct oricare dou numere consecutive s nu se afle pe poziii
alturate. Dac primele dou soluii sunt: (1,3,5,2,4) i (1,4,2,5,3), care este prima
soluie generat care ncepe cu 2? (4p.)
a. (2, 4, 1, 3, 5) b. (2, 5, 4, 3, 1) c. (2, 4, 1, 3, 1) d. (2, 3, 5, 4, 1)

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


2. Se consider funcia f, definit alturat. int f( int &a, int &b)
Ce se afieaz ca urmare a executrii secvenei de { while (a !=b)
mai jos n care variabilele a i b sunt de tip int? if (a>b) a=a-b;
a=4; b=18; else b=b-a;
printf(%d,f(a,b));/ cout<<f(a,b); return a;}
printf(%d %d,a,b);/ cout<<a<<b;
(6p.)
3. Subprogramul sfx primete prin singurul su parametru, x, un numr natural din intervalul
[100,2000000000] i returneaz valoarea 1 dac ultimele trei cifre ale numrului sunt n
ordine strict descresctoare sau valoarea 0 n caz contrar.
Exemplu: dac x=24973 se va returna valoarea 1.
a) Scriei definiia complet a subprogramului sfx. (5p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n format din exact
6 cifre i verific, utiliznd apeluri ale subprogramului sfx, dac acest numr are toate cifrele
n ordine strict descresctoare. Programul va afia mesajul Da n caz afirmativ i mesajul Nu
n caz contrar.
Exemplu: dac n=756543 se va afia Nu, iar dac n=976532 se va afia Da. (5p.)
4. Pentru un ir de numere naturale, numim pol al irului un termen din ir care are doi vecini,
termenul precedent i termenul urmtor din ir, i valoarea termenului respectiv este strict
mai mare dect valoarea fiecruia dintre cei doi vecini ai si.
a) Fiierul text date.in conine un ir de cel mult 10000 de numere naturale avnd
maximum 6 cifre fiecare, numere separate prin cte un spaiu. Scriei un program C/C++
care citete toate numerele din fiier i afieaz numrul de poli ai irului citit, folosind un
algoritm eficient din punctul de vedere al memoriei utilizate. (6p.)
Exemplu: dac fiierul date.in are urmtorul coninut:
51 20 100 43 43 618 5000 31 2020 114 116 4
atunci pe ecran se afieaz 4 (cele patru numere subliniate reprezint poli ai irului)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). ( 4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 66
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 066

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabilele x, y i z sunt ntregi, x memoreaz valoarea 7, y memoreaz
valoarea 20, iar z memoreaz valoarea 5. Care este rezultatul evalurii x+y+x*z/y
expresiei aritmetice C/C++ alturate? (4p.)
a. 28.75 b. 28 c. 29 d. 27

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


2. Se consider algoritmul alturat, descris n n0
pseudocod. repet
S-a notat cu a%b restul mpririi numrului ntreg a la citete x (numr natural)
numrul ntreg nenul b. dac x0 atunci
dac x%5=0 atunci
a) Scriei ce se afieaz n urma executrii nn+1
algoritmului dac se citesc, n aceast ordine, altfel
valorile 10, 13, 46, 70, 35, 0. (6p.) nn-1
b) Scriei un ir de valori care pot fi citite pentru
variabila x astfel nct programul s afieze, n
urma executrii, mesajul DA. (4p.) pn cnd x=0
c) Scriei programul C/C++ corespunztor algoritmului dac n=0 atunci
dat. (10p.) scrie DA
altfel
d) Scriei n pseudocod un algoritm echivalent cu cel scrie NU
dat n care s se nlocuiasc structura
repet...pn cnd cu o structur repetitiv cu
test iniial. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 66
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct produs{
produs ale crui caracteristici sunt memorate n char denumire[15];
variabila p, declarat alturat? (4p.) 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.)
4. ntr-o list simplu nlnuit, alocat p=primul;
dinamic, cu cel puin 2 elemente, while (p->urm!=NULL) p=p->urm;
fiecare element memoreaz n printf(%d,p->info); | cout<<p->info;
cmpul info un numr ntreg, iar n
cmpul urm adresa elementului
urmtor din list sau NULL dac nu
exist un element urmtor.
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

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 66
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 066

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Se genereaz n ordine cresctoare, toate numerele naturale de 5 cifre distincte, care se


pot forma cu cifrele 2,3,4,5 i 6. S se precizeze numrul generat imediat naintea i
numrul generat imediat dup secvena urmtoare : 34256, 34265, 34526, 34562 (4p.)
a. 32645 i 34625 b. 32654 i 34655
c. 32654 i 34625 d. 32645 i 34655

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


2. Se consider subprogramul recursiv definit int functie(int x)
alturat. Ce valoare are functie(1)? Dar {
functie(4)? (6p.) if (x<=0) return 3 ;
else return functie(x-3)*4 ;
}
3. S se scrie n limbajul C/C++ definiia complet a subprogramului calcul, care primete
prin intermediul parametrului n un numr natural nenul (1n10000), iar prin intermediul
parametrului a, un tablou unidimensional care conine n valori naturale, fiecare dintre
aceste valori avnd cel mult 9 cifre. Subprogramul returneaz cel mai mare divizor comun
al elementelor tabloului a. (10p.)
Exemplu: n urma apelului, pentru n=5 i tabloul unidimensional (12,36,48,6,60) se va
returna 6.
4. Fiierele text A.TXT i B.TXT conin cel mult 10000 de numere naturale cu cel mult 9
cifre fiecare, scrise fiecare pe cte o linie.
a) Scriei un program C/C++ care citete numerele din cele dou fiiere i, printr-o metod
eficient din punct de vedere al timpului de executare i al spaiului de memorie utilizat,
afieaz pe ecran cte dintre numerele din fiierul A.TXT sunt strict mai mici dect toate
numerele memorate n fiierul B.TXT. (6p.)
Exemplu: dac fiierul 41111 iar fiierul B.TXT are coninutul 91111
A.TXT are coninutul alturat, 81111 alturat: 91111
11111 61111
91111 91111
51111 91111
111111 81111
31111 61111
431111 91111
61111
201111
atunci programul va afia valoarea 4, deoarece 41111, 11111, 51111, 31111 sunt mai
mici dect toate elementele din fiierul B.TXT.
b) Descriei succint, n limbaj natural, metoda utilizat la punctul a, justificnd eficiena
acesteia. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 67
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 067

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabilele x, y, z i w sunt ntregi, x memoreaz valoarea 2, y memoreaz valoarea 3, z
memoreaz valoarea 5, iar w memoreaz valoarea 7. Care dintre urmtoarele expresii,
scrise n limbajul C/C++, are valoarea 1? (4p.)
a. (y>z) || (x>3) b. (x==z) && ((y==3)||(w==7))
c. (z<=w) && (x>0) || (y>=x) d. (y>=3) && (w<7)

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


2. Se consider algoritmul alturat, descris n pseudocod. citete n (numr natural)
S-a notat cu x%y restul mpririi numrului natural x la z0
numrul natural nenul y i cu [z] partea ntreag a numrului ct timp n>0 execut
real z. cn%10
n[n/10]
a) Scriei valoarea afiat dac pentru n se citete dac c<5 atunci
valoarea 52381. (6p.) zz*10+2*c
b) Scriei o valoare de 3 cifre care poate fi citit pentru
variabila n astfel nct s se afieze numrul 0. (4p.)
scrie z
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat n
care s se nlocuiasc structura ct timp...execut
cu o structur repetitiv cu test final. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 67
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct persoana{
persoane ale crei date de identificare sunt char nume[20],prenume[20];
memorate n variabila p, declarat alturat? (4p.) 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 x->data=2;
nlnuit, alocat dinamic, ale crei z=x;
noduri rein n cmpul data o valoare y->data=5;
numeric ntreag. tiind c y=z;
variabilele x, y i z rein adresele unor cout<<x->data<<y->data<<z->data; |
elemente din list, ce se va afia dup printf("%d%d%d",x->data,y->data,z->data);
executarea secvenei alturate de
program? (6p.)
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

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 67
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 067

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Se genereaz n ordine cresctoare, toate numerele naturale de 5 cifre distincte, care se


pot forma cu cifrele 5,6,7,8 i 9. S se precizeze numrul generat imediat naintea i
numrul generat imediat dup secvena urmtoare : 67589,67598,67859,67895. (4p.)
a. 65987 i 67958 b. 65978 i 67988
c. 65978 i 67958 d. 65987 i 67988

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


2. Se consider subprogramul recursiv definit int alfa(int u)
alturat. Ce valoare are alfa(6)? Pentru ce {if (u==0) return 3;
valoare a parametrului u, alfa(u) are else return alfa(u-1)+3*u-2;
valoarea 25 ? (6p.) }

3. S se scrie n limbajul C/C++ definiia complet a subprogramului calcul, care primete


prin intermediul parametrului n un numr natural nenul (1n10000), iar prin intermediul
parametrului a, un tablou unidimensional care conine n valori naturale, fiecare dintre
aceste valori avnd cel mult 9 cifre. Subprogramul returneaz numrul de numere prime
din tablou. (10p.)
Exemplu: pentru n=5 i tabloul unidimensional (12,37,43,6,71) n urma apelului se va
returna 3.
4. Fiierul text NUMERE.TXT conine pe prima linie un numr natural n (1n10000) i pe a
doua linie un ir cresctor de n numere naturale, fiecare avnd cel mult 9 cifre. Numerele
de pe a doua linie sunt separate prin cte un spaiu.
a) Scriei un program C/C++ care, utiliznd o metod eficient din punct de vedere al
timpului de executare i al spaiului de memorie, afieaz pe ecran elementele distincte ale
irului aflat pe a doua linie a fiierului. (6p.)
Exemplu: dac fiierul NUMERE.TXT are 7
coninutul alturat 111 111 111 2111 4111 71111 71111

atunci programul va afia pe ecran 111 2111 4111 71111.


b) Descriei succint, n limbaj natural, metoda utilizat la punctul a), justificnd eficiena
acesteia. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 68
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 068

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabilele x, y i z memoreaz valori reale, iar x<y. Care dintre expresiile de mai jos,
scrise n limbajul C/C++, are valoarea 1 dac valoarea variabilei z este situat n intervalul
nchis determinat de valorile memorate n variabilele x i y? (4p.)
a. (z>=x) && (z<=y) b. (z<=x) && (z<=y)
c. (y<x) || (z<=x) d. (z<x) || (z>y)

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


2. Se consider algoritmul alturat, descris n pseudocod. citete x
S-a notat cu x%y restul mpririi numrului natural x la (numr natural nenul)
numrul natural nenul y. nr 0
pentru i1,x execut
a) Scriei valoarea afiat n urma executrii algoritmului dac
citete n (numr ntreg)
se citesc, n ordine, valorile: 5, 14, 6, 15, 16, 90. (6p.) dac n%x=0 atunci
b) tiind c valoarea citit pentru x este 7, scriei un ir nrnr+1
de numere distincte care pot fi citite n continuare astfel
nct valoarea afiat s fie 0. (4p.)
c) Scriei programul C/C++ corespunztor algoritmului dat. scrie nr
(10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat n
care s se nlocuiasc structura pentru...execut
cu o structur repetitiv ct timp...execut. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 68
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct material{
crui caracteristici sunt memorate n variabila m, declarat char denumire[20];
alturat? (4p.) 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 b. reprezint numrul drumurilor care conin
extremitate iniial vrful x vrful x
c. reprezint numrul arcelor care au ca d. reprezint numrul drumurilor care
extremitate final x 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 naturale 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 11 -21 31 41
(care reprezint ultima cifr a valorii 355=5*71). 5 -61 71 -81
91 11 21 31
-11 31 -41 0

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 68
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 068

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


Se utilizeaz metoda backtracking pentru a genera toate submulimile cu 4 elemente ale
1.
mulimii {1,2,3,4,5,6}. Numrul de submulimi generate este: (4p.)
a. 30 b. 35 c. 5 d. 15

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


2. Se consider subprogramul void gama(int n)
recursiv definit alturat. Ce valori {int i;
vor fi afiate pe ecran n urma if(n>=3)
apelului gama(6);? (6p.) {for(i=3;i<=n;i++)
printf(%d ,n); | cout<<n<< ;
gama(n-3);
}
}
3. a) S se scrie definiia complet a subprogramului calcul, care primete prin intermediul
celor doi parametri ai si dou numere ntregi, n i k (1n100000000 i 1k9), i
returneaz cifra de rang k a numrului n. Rangul unei cifre este numrul su de ordine,
numerotnd cifrele de la dreapta la stnga; cifra unitilor avnd rangul 1. Dac numrul k
este mai mare dect numrul de cifre ale lui n, atunci funcia returneaz valoarea -1.
Exemplu: dac n=9243 i k=3, n urma apelului se va returna 2. (5p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n cu cel mult 8
cifre. Programul va verifica, utiliznd apeluri ale subprogramului calcul, dac orice cifr a
lui n are rangul cifrei mai mare sau egal cu valoarea cifrei respective i va afia mesajul Da n
caz afirmativ i mesajul Nu n caz contrar.
Exemplu : pentru n=4160 se va afia Nu. (5p.)
rang 4 3 2 1
cifr 4 1 6 0
4. Fiierul text SIR.TXT conine pe prima linie un numr natural n (1n10000) i pe a
doua linie, separate prin spaii, un ir cresctor de n numere naturale cu cel mult 9 cifre
fiecare.
Numim platou ntr-un ir de valori o secven de elemente identice situate pe poziii
alturate. Lungimea unui platou este egal cu numrul de elemente care l formeaz.
a) Scriei un program C/C++ care citete valorile din fiier i, printr-o metod eficient din
punct de vedere al timpului de executare i al spaiului de memorie utilizat afieaz pe
ecran, separate printr-un spaiu, lungimea maxim a unui platou, precum i valoarea care
formeaz platoul. n cazul n care sunt mai multe platouri de aceeai lungime se va afia
valoarea cea mai mare care formeaz unul dintre aceste platouri. (6p.)
Exemplu: dac fiierul SIR.TXT 10
are coninutul alturat, 11 211 211 211 328 400 400 1201 1201 1201
atunci programul va afia pe ecran 3 1201.
b) Descriei succint, n limbaj natural, metoda utilizat la punctul a, justificnd eficiena
acesteia. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 69
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 069

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


x=20; y=5;
1. n secvena de instruciuni C/C++ alturat, variabilele x i y x=x+y;
sunt ntregi. Ce valoare va reine variabila x dup executarea y=x-2*y;
acesteia? (4p.) x=y+x;
a. -10 b. 25 c. 15 d. 40

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


2. Se consider algoritmul alturat, descris n citete x,y
pseudocod. (numere naturale nenule)
S-a notat cu x%y restul mpririi numrului natural x la t0
numrul natural nenul y i cu [z] partea ntreag a u1
numrului real z. repet
dac x%10 > y%10
a) Scriei valoarea afiat dac pentru x se citete atunci
valoarea 4589 i pentru y se citete valoarea z x%10
723. (6p.) altfel
b) Scriei toate perechile de valori care pot fi citite z y%10
pentru x i y astfel nct valoarea afiat s fie
200. (4p.) tt+z*u
uu*10
c) Scriei programul C/C++ corespunztor x[x/10]
algoritmului dat. (10p.) y[y/10]
d) Scriei n pseudocod un algoritm echivalent pn cnd x=0 i y=0
cu cel dat n care s se nlocuiasc structura scrie t
repet...pn cnd cu o structur
repetitiv cu test iniial. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 69
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct elev{
elev ale crui date de identificare sunt memorate char nume[20],prenume[20];
n variabila e, declarat alturat? (4p.) 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. 0 0 0 0 0
Care este numrul de vrfuri ale grafului care au gradul interior 1 0 1 1 1
(intern) egal cu gradul exterior (extern)? (4p.) 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: 1 2 3
Este triunghiular superior 0 5 6
0 0 9

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 69
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 069

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Construim anagramele unui cuvnt c1c2c3c4 prin generarea n ordine lexicografic a


permutrilor indicilor literelor cuvntului i obinem c1c2c3c4 c1c2c4c3 c1c3c2c4 c4c3c1c2
c4c3c2c1. Pentru anagramele cuvntului pateu, dup irul paetu, paeut, paute cuvintele
imediat urmtoare sunt: (4p.)
a. pauet i ptaeu b. ptaeu i ptaue
c. pauet i ptaue d. ptaeu i patue

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


2. Se consider subprogramul recursiv void beta(int n)
definit alturat. Ce valori vor fi {if (n!=1)
afiate pe ecran n urma apelului {printf(%d ,n); | cout<<n<< ;
beta(15);? (6p.) if (n%3==0) beta(n/3);
else beta(2*n-1);}
else printf(%d,1); | cout<<1;
}
3. a) S se scrie definiia complet a subprogramului calcul, care primete prin intermediul
parametrului ntreg n un numr natural de cel mult 9 cifre i returneaz valoarea absolut a
diferenei dintre numrul de cifre pare i numrul de cifre impare coninute de n.
Exemplu: dac n=92465, n urma apelului se va returna valoarea 1 (2 cifre impare, 3 cifre
pare). (5p.)
b) S se scrie n limbajul C/C++ un program care citete de la tastatur un numr natural n
de cel mult 7 cifre i, utiliznd apeluri ale subprogramului calcul, determin i afieaz pe
ecran cel mai mic numr natural m, mn, care are tot attea cifre pare cte cifre impare.
Exemple: dac se citete n=5513, atunci se afieaz m=5520, iar dac se citete n=311,
atunci se afieaz m=1001. (5p.)
4. Fiierul text NUMERE.TXT conine pe prima linie un numr natural n (1n10000) i pe a
doua linie, n numere naturale cu cel mult 9 cifre fiecare. Aceste numere sunt dispuse n
ordine cresctoare i separate ntre ele prin cte un spaiu.
a) Scriei un program C/C++ care citete valorile din fiier i, printr-o metod eficient din
punct de vedere al timpului de executare, afieaz pe ecran, separate prin cte un spaiu, n
ordine cresctoare, numerele pare de pe a doua linie a fiierului, urmate de cele impare n
ordine descresctoare. (6p.)
Exemplu: dac fiierul NUMERE.TXT are 6
coninutul alturat 212 412 5111 71113 81112 101112
atunci programul va afia pe ecran 212 412 81112 101112 71113 5111
b) Descriei succint, n limbaj natural, metoda utilizat la punctul a, justificnd eficiena
acesteia. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 70
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 070

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre expresiile C/C++ de mai jos, are valoarea 1 dac valoarea variabilei ntregi x este
un numr ntreg par i strict pozitiv ? (4p.)
a. !((x%2!=0)||(x<=0)) b. (x%2!=0)||(x<0)
c. !((x%2==0)||(x>0)) d. ((x+1)%2==0)&&(x>=2)

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


2. Se consider algoritmul alturat, descris n citete x,y
pseudocod. (numere naturale nenule)
S-a notat cu ab operaia de interschimbare a valorilor dac x<y atunci
variabilelor a i b. xy

a) Scriei ce valori se vor afia dac pentru x se n0
citete valoarea 19, iar pentru y se citete ct timp x>=y execut
valoarea 4. (6p.) xx-y
b) Scriei toate perechile de valori, fiecare valoare nn+1
fiind un numr de o cifr, care pot fi citite pentru
variabilele x i respectiv y, astfel nct valorile scrie n, x
afiate n urma executrii algoritmului s fie 2 1, n
aceast ordine. (4p.)
c) Scriei programul C/C++ corespunztor
algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura
ct timp...execut cu o structur repetitiv cu test final. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 70
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

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 struct elev
i nota cte unui elev n forma dat de declararea alturat, { char nume[30];
indicai care dintre urmtoarele instruciuni determin, n urma float nota;
executrii, memorarea n variabila real m a mediei aritmetice a }var1,var2;
notelor celor doi elevi. (4p.)
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. 0 1 1 0 1
Cte vrfuri ale grafului au proprietatea c diferena absolut a gradelor 0 0 1 1 0
(intern i extern) este egal cu 2? (4p.) 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, 11 21 31 41 se va afia matricea 11 21 31 41
x=2 i matricea alturat 51 61 71 81 91 11 21 31
91 11 21 31

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 70
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 070

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Pentru rezolvarea crei probleme dintre cele enumerate mai jos se poate utiliza metoda
backtracking ? (4p.)
a. determinarea reuniunii a 3 mulimi b. determinarea tuturor divizorilor unui
numr din 3 cifre
c. determinarea tuturor elementelor mai mici d. determinarea tuturor variantelor n care
dect 30000 din irul lui Fibonacci se pot genera steagurile cu 3 culori (din
mulimea: rou, galben, albastru i
alb), avnd la mijloc culoarea galben

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


2. Se consider subprogramul recursiv definit alturat. int bac(int u, int x)
Ce valoare are expresia bac(10,4)? Care este cea {if (u<x)return 0;
mai mic valoare de 2 cifre a lui u pentru care funcia if (x==u)return 1;
bac(u,2) are valoarea 1? (6p.) if (u%x==0)return 0;
return bac(u,x+1);
}
3. S se scrie n limbajul C/C++ definiia complet a subprogramului calcul, care primete
prin parametrul n un numr natural nenul de cel mult 9 cifre i furnizeaz prin parametrul x
numrul obinut prin alturarea cifrelor pare ale lui n considerate de la dreapta ctre
stnga. Dac n nu conine nicio cifr par, x primete valoarea 0. (10p.)
Exemplu: n urma apelului calcul(9278,x), x primete valoarea 82.
4. Fiierul text NUMERE.TXT conine pe prima linie un numr natural n (1n10000) i pe a
doua linie, n numere naturale cu cel mult 9 cifre fiecare, numere nu neaprat distincte.
Aceste numere sunt dispuse n ordine cresctoare i separate ntre ele prin cte un
spaiu.
a) Scriei un program C/C++ care citete valorile din fiier i, printr-o metod eficient din
punct de vedere al timpului de executare i al spaiului de memorie utilizat, afieaz pe
ecran, cu un spaiu ntre ele, valoarea care apare de cele mai multe ori n fiier i de cte
ori apare ea. Dac exist mai multe valori care apar de un numr maxim de ori, se va afia
cea mai mic dintre ele. (6p.)
Exemplu: dac fiierul 8
NUMERE.TXT are coninutul 711 711 711 11111 11111 11111 191111 231111
alturat,
atunci programul va afia pe ecran 711 3.
b) Descriei succint, n limbaj natural, metoda utilizat la punctul a, justificnd eficiena
acesteia. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 71
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 071

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Variabila ntreag x reine un numr natural cu cel puin dou cifre. Care dintre urmtoarele
expresii C/C++ are valoarea egal cu cifra zecilor numrului natural memorat n variabila
x? (4p.)
a. x % 10 / 10 b. x (x / 10) * 10
c. x / 10 % 10 d. x (x / 10) % 10

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


s 0
2. Se consider algoritmul alturat, descris n
pseudocod. citete n (numr natural, n<10)
pentru i1,n execut
S-a notat cu [a/b] ctul mpririi ntregi a numrului
citete x (numr natural)
natural a la numrul natural nenul b. ct timp x>9 execut
a) Scriei valoarea ce se va afia dac se citesc x [x/10]
pentru n valoarea 5 i pentru x, n aceast ordine,
valorile: 523, 4256, 324, 4, 86935. (6p.) pentru j1,i-1 execut
x x*10
b) Dac n = 4, scriei un ir de valori pare care pot fi
citite pentru x astfel nct s se afieze 1234. s s + x
(6p.)
scrie s
c) Scriei programul C/C++ corespunztor
algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat care s utilizeze n locul structurii
ct timp...execut o structur repetitiv condiionat posterior. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 71
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 071

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Cte noduri ale grafului orientat cu ase noduri numerotate de la 1 la 6 i urmtoarele arce:
(1,5), (1,6), (2,1), (2,3), (3,1), (3,4), (4,3), (4,5), (5,4), (6,5) au gradul
interior egal cu gradul exterior? (4p.)
a. 4 b. 6 c. 5 d. 3
2. ntr-o list liniar simplu nlnuit, alocat dinamic, cu cel puin 3 noduri, fiecare nod reine
n cmpul urm, adresa urmtorului nod din list sau NULL dac nu exist un nod urmtor.
Dac n variabila p se reine adresa primului nod din list i q este o variabil de acelai tip
cu p, atunci care dintre secvenele de mai jos elimin din list al doilea nod ? (4p.)
a. q=p->urm; b. q=p->urm;
p->urm=q->urm; delete q; | free(q);
delete q; | free(q); p->urm=q->urm;
c. delete p->urm; | free(p->urm); d. q=p->urm->urm;
p->urm=p->urm->urm; p->urm=q->urm;
delete q; | free(q);

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare:


3. Variabila i este de tip ntreg, iar variabila a memoreaz o s1 = 0; s2 = 0;
matrice cu n linii i n coloane, numerotate de la 0 la n-1, ale for(i=0; i<n; i++)
crei elemente sunt numere ntregi. { ... }
nlocuii punctele de suspensie din secvena de program alturat cu instruciunile
corespunztoare, astfel nct, n urma executrii secvenei, variabila ntreag s1 s
memoreze suma elementelor de pe diagonala principal din matricea a, iar variabila
ntreag s2 suma elementelor de pe diagonala secundar din matricea a. (6p.)
4. Fiecare dintre variabilele declarate alturat memoreaz numele struct elev{
i nota cte unui elev. char nume[20];
Scriei secvena de instruciuni prin care se citesc de la float nota;
tastatur numele i nota pentru fiecare dintre variabilele e1 i
};
e2 i apoi se afieaz numele elevului cu nota cea mai mare.
Dac cele dou note sunt egale, se va afia numele elevului elev e1,e2;
memorat n variabila e1. (6p.)

5. Scriei programul C/C++ care citete de la tastatur, separate prin Enter, dou iruri de
caractere: un ir s de maximum 255 de caractere, care pot fi litere ale alfabetului englez i
spaii, apoi un ir c de maximum 20 de caractere. Programul va nlocui n irul s toate
apariiile irului c cu un ir de exact aceeai lungime efectiv cu c, format doar din caractere
*, ca n exemplu. irul s obinut n urma acestei prelucrri va fi afiat pe ecran. n cazul n
care c nu apare n s, programul va afia mesajul NU APARE.
Exemplu: dac irul S citit este Din departare se vede tare iar c este tare
atunci pe ecran se va afia: Din depar**** se vede **** (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 71
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 071

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se genereaz n ordine cresctoare toate numerele de exact 4 cifre care se pot forma cu
elementele mulimii {0,1,2,3,4}. Primele 8 soluii generate sunt, n ordine: 1000, 1001,
1002, 1003, 1004, 1010, 1011, 1012. Care sunt primele trei numere ce se vor genera
imediat dup numrul 3443? (4p.)
a. 4000,4001,4002 b. 3444,4443,4444
c. 3444,4444,4000 d. 3444,4000,4001

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


2. Ce valoare va avea variabila ntreag x, n void F(int i, int &x)
urma apelului F(1,x), tiind c, nainte de { if (i <= 10)
apel, variabila x are valoarea 0, iar { if(i % 2) x = x + 2;
subprogramul F este definit alturat? else x = x 1;
F(i + 1, x);
(6p.) }
}

3. Un numr natural se numete palindrom dac numrul citit de la stnga la dreapta este egal
cu numrul citit de la dreapta la stnga.
a) Scriei definiia complet a subprogramului Palindrom care primete prin intermediul
parametrului n un numr natural de cel mult nou cifre i returneaz 1 dac acesta este
palindrom i 0 n caz contrar. (10p.)
b) Fiierul text NUMERE.IN conine cel mult 100000 numere naturale de cel mult nou cifre
fiecare, numerele fiind desprite prin cte un spaiu. Cel puin unul dintre numere este
palindrom.
Scriei programul C/C++ care citete numerele din fiierul NUMERE.IN i, folosind apeluri
utile ale subprogramului Palindrom determin n mod eficient, din punct de vedere al
memoriei utilizate i al timpului de executare, care este cel mai mare numr palindrom citit i
de cte ori apare el n fiierul NUMERE.IN. Programul scrie n fiierul text NUMERE.OUT
numrul astfel determinat precum i numrul de apariii ale acestuia, pe rnduri diferite.
Exemplu: dac NUMERE.IN conine numerele:
23 565 78687 7887 7865 78687 7887 23 78687 98798
atunci NUMERE.OUT va conine:
78687
3 (6p.)
c) Descriei succint, n limbaj natural, metoda de rezolvare folosit la punctul b, explicnd n
ce const eficiena ei (3 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 72
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 072

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac numrul natural memorat de
variabila n este divizibil cu 12? (4p.)
a. (n%4 == 0) || (n%3 == 0) b. (n/4 == 0) && !(n%3)
c. (n%4 != 0) && n%3 d. (n%4 == 0) && (n%3 == 0)

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


2. Se consider algoritmul alturat, descris n citete n (numr natural nenul)
pseudocod. pentru i1,2*n-1 execut
a) Scriei ce se va afia dac pentru n se b 0
dac n-i < 0 atunci
citete valoarea 5. (6p.)
ji-n
b) Se nlocuiete prima structur altfel
dac...atunci cu atribuirea j4. jn-i
Modificai condiia logic din cadrul
ct timp j 0 execut
structurii ct timp...execut astfel scrie *
nct, pentru n=4, algoritmul s afieze: jj-1
**** b1
***
** dac b 0 atunci
* (4p.) salt la rnd nou (sfrit de rnd)
c) Scriei programul C/C++ corespunztor

algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc prima
structur dac...atunci cu o operaie de atribuire. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 72
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 072

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Fie un arborele cu rdcin, cu 9 noduri, numerotate de la 1 la 9. Care este vectorul de
tai al acestui arbore tiind c nodurile 1, 2, 3, 4 ,5, 6, 7, 8 au exact cte un descendent
direct (fiu)? (4p.)
a. (1,2,3,4,5,6,7,8) b. (1,2,3,4,5,6,7,8,9)
c. (0,1,2,3,4,5,6,7,8) d. (0,1,2,3,4,5,6,7,8,9)
2. n secvena alturat, fiecare dintre variabilele x i s for(i=0; i<strlen(s); i++)
sunt de tipul ir de caracter, iar i este de tip ntreg. if(strcmp(x, s+i)<0)
Dac variabilele x i s memoreaz iniial irul strcpy(x,s+i);
absolvent, ce se va memora n variabila x n urma
executrii secvenei alturate? (4p.)
a. nt b. absolvent c. solvent d. vent

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,4],
[1,8], [2,1], [2,3], [3,1], [4,5], [4,7], [5,7], [6,5]. Scriei cte componente
conexe are graful dat i care este nodul ce trebuie eliminat astfel nct subgraful obinut s
aib un numr maxim de componente conexe. (6p.)
4. Se consider lista simplu nlnuit, alocat dinamic, ........
n care fiecare nod memoreaz n cmpul info un ........
numr ntreg, iar n cmpul urm adresa nodului
while(u != NULL)
urmtor sau NULL dac nu exist un nod urmtor. n
list sunt memorate, n aceast ordine, numai { printf(%d , u->info);
valorile 1, 2, 3. Dac variabila p reine adresa | cout<<u->info<< ;
primului nod din list, iar variabila u adresa ultimului u = u->urm;
nod din list, scriei instruciunile care pot nlocui }
zona punctat din secvena alturat, astfel nct, n
urma executrii acesteia, s se afieze 3 2 1. (6p.)
5. Scriei programul C/C++ care citete de la tastatur o valoare natural n (2n24),
construiete n memorie i apoi afieaz pe ecran o matrice a, cu n linii i n coloane,
simetric fa de diagonala secundar. Elemente matricei situate deasupra diagonalei
n(n + 1)
secundare, inclusiv diagonala secundar, sunt toate numerele naturale de la 1 la .
2
Elementele fiecrei linii, de la stnga la dreapta i ale fiecrei coloane, de 1 3 6 10
sus n jos, situate deasupra diagonalei secundare, inclusiv cele de pe 2 5 9 6
diagonala secundar, sunt n ordine strict cresctoare, ca n exemplu. 4 8 5 3
Matricea se va afia pe ecran, cte o linie a matricei pe o linie a ecranului,
elementele fiecrei linii fiind separate ntre ele prin cte un spaiu. 7 4 2 1
Exemplu: pentru n = 4 se va afia matricea alturat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 72
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 072

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se genereaz n ordine cresctoare toate numerele de 4 cifre, cu cifre distincte, astfel nct
diferena n valoare absolut dintre prima i ultima, respectiv a doua i a treia cifr este
egal cu 2. Primele 11 soluii generate sunt, n ordine: 1023, 1203, 1243, 1423, 1463,
1573, 1643, 1683, 1753, 1793, 1863. Care dintre urmtoarele numere se va genera
imediat naintea numrului 9317? (4p.)
a. 9247 b. 9357 c. 9207 d. 8976

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


2. Scriei ce se va afia n urma void F(int x)
executrii subprogramului alturat, { if(x != 0)
la apelul F(57);. (6p.) { F(x/2);
cout << x%2; | printf(%d, x%2);
}
}
3. a) Scriei definiia complet a subprogramului Ecuatie care primete prin parametrii a, b i
c trei numere ntregi, a 0, de cel mult patru cifre fiecare, reprezentnd coeficienii ecuaiei
de gradul al II-lea: ax 2 +bx+c=0. n funcie de soluiile ecuaiei subprogramul va returna:
cea mai mare dintre soluii dac ecuaia are dou soluii reale distincte, dintre care cel
puin una pozitiv.
una dintre soluii dac ecuaia are dou soluii egale i pozitive.
-32000 n celelalte cazuri. (10p.)
b) Se consider irul s: 1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6, 1, 2,... .
Pentru un numr natural k, 0<k10000, se cere s se determine valoarea elementului ce
se afl pe poziia k n irul s.
Exemplu: pentru k=5 numrul cerut este 2.
Scriei un program C/C++ care citete de la tastatur valoarea numrului natural k i, prin
apeluri utile ale funciei Ecuatie, determin valoarea elementului ce se afl pe poziia k n
irul s, folosind un algoritm eficient din punctul de vedere al spaiului de memorie alocat i
al timpului de executare. Valoarea astfel determinat se va scrie n fiierul text sir.out.
(6p.)
c) Descriei succint, n limbaj natural, metoda de rezolvare folosit la punctul b, explicnd n
ce const eficiena ei (3 4 rnduri) (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 73
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 073

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabilele numerice a, b i aux sunt de acelai tip. Care dintre urmtoarele secvene
interschimb corect valorile variabilelor a i b? (4p.)
a. aux = b; b = a; a = aux; b. aux = a; b = a; b = aux;
c. aux = b; aux = a; a = b; d. b = aux; aux = a; a = b;

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


2. Se consider algoritmul alturat, descris n citete a, b, p
pseudocod. (numere naturale nenule, a < b)
S-a notat cu x%y restul mpririi numrului nr0
natural x la numrul natural nenul y, iar prin pentru ia,b execut
[x/y] ctul mpririi ntregi a numrului natural x i
x la numrul natural nenul y. ct timp x0 i x%p0 execut
x[x/10]
a) Scriei ce se va afia dac se citesc
pentru a valoarea 260, pentru b valoarea dac x 0 atunci
288 i pentru p valoarea 9. (6p.) nrnr+1

b) Dac a=110, iar p=18, scriei cel mai

mare numr care poate fi citit pentru b, scrie nr
astfel nct s se afieze valoarea 0. (4p.)
c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura
ct timp...execut cu o structur repetitiv de un alt tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 73
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 073

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider arborele cu 12 noduri, numerotate de la 1 la 12, definit prin urmtorul vector
de tai: (4, 8, 0, 3, 10, 1, 8, 3, 2, 4, 7, 10). Care dintre nodurile arborelui au exact un
descendent direct (fiu)? (4p.)
a. 6, 9, 11 b. 1, 2, 7
c. 5, 12, 6, 9, 11 d. 10, 1, 2, 7
2. Se consider declarrile struct A struct B struct C
alturate. Care este tipul { int x; { float x; { struct A x;
expresiei x.x.y ? (4p.) char y; long y; struct B y;
}; }; } x, y;.
a. long b. int c. char d. float

Scriei pe foaia de examen rspunsul pentru fiecare dintre ntrebrile urmtoare.


3. Se consider graful orientat cu 6 noduri, numerotate de la 1 la 6, i arcele (1,2), (1,5),
(1,6), (2,3), (4,3), (4,5), (6,5). Care este numrul minim de arce ce trebuie
adugate grafului astfel nct acesta s conin cel puin un circuit elementar de lungime 4?
Pentru graful rezultat, dai un exemplu de astfel de circuit. (6p.)
4. Variabilele n, i, p i q sunt de tip ntreg, iar variabila a memoreaz un tablou bidimensional
cu n linii i n coloane numerotate de la 0 la n-1 (0<n<50), cu elemente numere reale.
nlocuii punctele de suspensie din secvena de program for(i = 0; i < n; i++)
alturat cu instruciunile corespunztoare, astfel nct, n {........}
urma executrii acesteia, s se interschimbe elementele
liniei q cu elementele liniei p ale tabloului a (0qn-1,
0pn-1). Dac sunt necesare i alte variabile, scriei
declarrile acestora. (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n<101) i apoi
n propoziii. Fiecare propoziie este format din maximum 255 de caractere care sunt numai
litere mici ale alfabetului englez i spaii. tiind c fiecare propoziie se termin cu caracterul
Enter, s se afieze pe ecran propoziia care are cele mai puine vocale (sunt considerate
vocale caracterele a, e, i, o, u). Dac dou sau mai multe propoziii au acelai numr de
vocale, se va afia ultima propoziie, n ordinea citirii, care ndeplinete condiia.
Exemplu: pentru n = 4 i urmtoarele propoziii:
azi a plouat tare
a fost innorat peste tot
maine va fi soare
acum nu mai vreau sa ploua
se va afia: maine va fi soare (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 73
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 073

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se genereaz n ordine cresctoare toate numerele de 4 cifre, cu cifre distincte, astfel nct
diferena n valoare absolut dintre ultimele dou cifre ale fiecrui numr generat este egal
cu 2. Primele opt soluii generate sunt, n ordine: 1024, 1035, 1042, 1046, 1053, 1057,
1064, 1068. Care dintre urmtoarele numere se va genera imediat dup numrul 8975?
(4p.)
a. 8979 b. 9013 c. 8957 d. 9024

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


2. Ce se va afia n urma executrii void F(int x)
subprogramului alturat, la apelul { if(x)
F(56);? (6p.) { F(x/2);
cout << x%10; | printf(%d,x%10);
}
}
3. a) Scriei definiia complet a subprogramului Cautare, cu trei parametri, n, x i v, care
primete prin parametrul n un numr natural (1n1000), prin parametrul x un tablou
unidimensional format din n componente (numere ntregi de cel mult patru cifre fiecare: x1,
x2, , xn) memorate n ordine cresctoare i prin parametrul v un numr ntreg de cel mult
patru cifre, diferit de oricare dintre elementele tabloului unidimensional x.
Subprogramul va cuta, n mod eficient din punct de vedere al timpului de executare, poziia
pe care ar trebui inserat valoarea v n irul x astfel nct s se obin tot un ir ordonat i
returneaz aceast poziie. (6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)
c) Fiierul text sir.in conine cel mult 1000 numere naturale de maximum patru cifre
fiecare, numerele fiind diferite dou cte dou i desprite prin cte un spaiu.
Scriei un program C/C++ care citete numerele din fiierul sir.in i, folosind apeluri utile
ale subprogramului Cautare, construiete n memorie un tablou unidimensional care va
conine toate numerele din fiierul sir.in ordonate cresctor. Programul scrie n fiierul
text sir.out irul obinut, cte 10 elemente pe un rnd, elementele de pe acelai rnd
fiind desprite printr-un singur spaiu.
Exemplu: dac fiierul sir.in conine numerele: 7 -5 635 -456 0 8 587 -98 65 3 -8
atunci dup executarea programului fiierul sir.out va conine:
-456 -98 -8 -5 0 3 7 8 65 587
635 (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 74
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 074

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac variabila x memoreaz un
numr natural ptrat perfect? (4p.)
a. sqrt(x) == floor(sqrt(x)) b. sqrt(x) != floor(sqrt(x))
c. floor(sqrt(x))!=ceil(sqrt(x)) d. x-floor(x)==ceil(x)

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


2. Se consider algoritmul alturat, descris n citete a,b (numere naturale nenule)
pseudocod. c 0
S-a notat cu x%y restul mpririi numrului natural p 0
x la numrul natural nenul y, iar cu [x/y] ctul ct timp a + b > 0 execut
mpririi ntregi a numrului natural x la numrul dac a%10 = b%10 i a%2=0
natural nenul y. atunci c c*10 + b%10
altfel p p*10 + a%10
a) Scriei ce se va afia dac se citesc pentru
a valorea 625231, iar pentru b valoarea a [a/10]
425271. (6p.) b [b/10]

b) Dac a=12345 scriei o valoare de cinci scrie c, p
cifre care poate fi citit pentru b, astfel nct
s se afieze pentru p valoarea 42. (6p.)
c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)
d) Efectuai un numr minim de modificri asupra algoritmului dat astfel nct prin
executarea algoritmul obinut s se calculeze n variabila c numrul de cifre pare,
comune i aflate pe poziii identice, pe care le au cele dou valori citite. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 74
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 074

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, cu cel puin 3 elemente, fiecare
element reine n cmpul urm adresa urmtorului element din list sau NULL dac nu exist
un element urmtor, iar n cmpul info informaia util de tip ntreg. Dac variabila p reine
adresa primului element din list atunci care dintre secvenele de mai jos atribuie cmpului
info al celui de al treilea element informaia util din primul element al listei? (4p.)
a. p->urm->urm->info=p->info; b. p->urm->urm->info=p->urm->info;
c. p->info->info->info = p->info; d. p->urm->urm = p->info;
2. Ce se va afia n urma executrii secvenei de program de mai jos dac variabila x
memoreaz cuvntul bacalaureat, iar variabila y memoreaz cuvntul banal?
if(strcmp(x, y) > 0) cout << x; | printf(%s, x);
else
if(strcmp(x,y) < 0) cout << y; | printf(%s, y);
else cout << imposibil; | printf(imposibil); (4p.)
a. imposibil b. bacalaureat
c. banal d. bacalaureatimposibil

Scriei pe foaia de examen rspunsul pentru fiecare dintre ntrebrile urmtoare:


3. Se consider un arbore cu rdcin, cu 9 noduri, numerotate de la 1 la 9, i cu vectorul de
tai urmtor: (8, 8, 8, 2, 6, 2, 9, 0, 2).
a) Enumerai descendenii nodului 2. (3p.)
b) Cte noduri de tip frunz are acest arbore? (3p.)
4. Se consider graful neorientat cu 6 noduri, numerotate de la 1 la 6 i urmtoarele muchii:
[1,3] [1,5] [2,3] [2,4] [2,6] [5,3] [6,4].
a) Care este numrul minim de muchii ce trebuie eliminate din acest graf, astfel nct graful
parial obinut s nu conin niciun ciclu? (3p.)
b) Care este numrul minim de muchii ce trebuie eliminate din graful iniial dat, astfel nct
graful parial obinut s aib exact dou componente conexe? (3p.)
5. Se consider irul lui Fibonacci, definit astfel: f0 = 0, f1 = 1, fn = fn-1 + fn-2, dac n>1.
Scriei un program C/C++ care citete de la tastatur o valoare natural n (2n24),
construiete n memorie i afieaz pe ecran o matrice a cu n linii i n coloane ale crei
elemente sunt numere naturale, fiecare reprezentnd ultima cifr a cte unui termen al
irului lui Fibonacci, ncepnd de la termenul de indice 1 i pn la termenul de indice n2, n
ordine, linie cu linie de sus n jos, i n cadrul fiecrei linii de la stnga la dreapta, ca n
exemplu.
Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a 1 1 2 3
ecranului, elementele de pe aceeai linie fiind separate ntre ele prin 5 8 3 1
cte un spaiu. 4 5 9 4
Exemplu: pentru n = 4 se va obine matricea alturat. (10p.) 3 7 0 7

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 74
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 074

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Prin metoda backtracking se genereaz toate anagramele (cuvintele obinute prin permutarea
literelor) unui cuvnt dat. tiind c se aplic aceast metod pentru cuvntul solar,
precizai cte cuvinte se vor genera astfel nct prima i ultima liter din fiecare cuvnt
generat s fie vocal (sunt considerate vocale caracterele a, e, i , o, u)? (4p.)
a. 24 b. 6 c. 10 d. 12

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


2. Se consider funcia Suma, definit int Suma(int x)
alturat. Ce valoare are Suma(3)? Dar { if(x == 1 ) return 0;
Suma(8)? if(x%2==0) return Suma(x-1)+(x-
(6p. 1)*x;
) return Suma(x-1)-(x-1)*x;
}
3. a) Scriei definiia complet a subprogramului Cifra, cu doi parametri, n i x, care primete
prin intermediul parametrului n un numr natural de cel mult nou cifre i furnizeaz prin
parametrul x cea mai mare cifr a numrului transmis prin parametrul n. (6p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n,
n<1000000000, i afieaz pe ecran mesajul Da n cazul n care numrul citit este format
doar din cifre aparinnd mulimii {0,1,2,3,4} i afieaz mesajul Nu n caz contrar. (4p.)
4. Se numete numr mare orice numr natural care are mai mult de nou cifre.
a) Scriei un program C/C++ care citete de pe prima linie a fiierului text NUMERE.IN un
numr natural n (10<n<1000), iar de pe a doua linie n cifre desprite prin cte un spaiu,
dintre care cel puin una nenul, i afieaz pe ecran cel mai mic numr mare format cu toate
cele n cifre din fiier. Alegei o metod eficient din punct de vedere al utilizrii memoriei.
(6p.)
b) Descriei succint n limbaj natural metoda de rezolvare folosit explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)
Exemplu: dac fiierul NUMERE.IN conine
10
7 9 4 0 9 0 1 1 8 8
atunci se va afia pe ecran numrul mare :
1001478899

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 75
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 075

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Care dintre urmtoarele instruciuni C/C++ sunt corecte sintactic dac x i y sunt dou
variabile de tip ntreg? (4p.)
a. if (x < 2) && (x > - 5) b. if -5 < x < 2
{x=x+1; y=y-1;} { x=x+1; y=y-1;}
c. if x < 2 && x >-5 d. if (x < 2 && x > -5)
{ x=x+1; y=y-1;} {x=x+1; y=y-1;}

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


2. Se consider algoritmul alturat, descris n a0
pseudocod. k0
S-a notat cu [a/b] ctul mpririi ntregi a repet
numrului natural a la numrul natural nenul b. citete x (numr natural)
ct timp x > 99 execut
a) Scriei ce se va afia dac se citesc, n x [x/10]
aceast ordine, valorile: 62521, 2571, 2,
56, 614. (6p.) dac x > 9 atunci
aa*100 + x
b) Scriei un set de date de intrare, format din kk+1
exact ase numere, pentru care algoritmul
s afieze valoarea 12345678. (4p.) pan cnd k = 4
c) Scriei programul C/C++ corespunztor scrie a
algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat n care structura repet...pn
cnd s fie nlocuit cu o structur repetitiv de alt tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 75
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 075

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Ce se va afia n urma executrii secvenei strcpy(x, ExAMeNe NaTiOnALe);
de program alturate tiind c i este o for(i = 0; i < strlen(x); i++)
variabil de tip ntreg, iar variabila x este de if(x[i] >= A && x[i] <=N)
tip ir de caractere? (4p.) x[i] = x[i] + a-A;
cout << x; | printf(%c, x);
a. examene nationale b. examene naTiOnale
c. EXAMENE NATIONALE d. exAmeNe nAtIoNalE
2. Se consider graful neorientat cu 6 noduri, numerotate de la 1 la 6, 1: 3 5
definit prin listele de adiacent alturate. Cte muchii trebuie 2: 3 4 6
adugate n acest graf astfel nct el s devin graf complet? 3: 1 2 5
(4p.) 4: 2 6
5: 1 3
6: 2 4.

a. 16 b. 14 c. 6 d. 8

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


3. ntr-o list liniar simplu nlnuit, alocat dinamic, cu p = prim; q = prim->urm;
cel puin 3 elemente, fiecare element reine n cmpul p->urm = NULL;
urm adresa urmtorului element din list sau NULL while(q != NULL)
dac nu exist un element urmtor. Dac n variabila { r = q -> urm;
prim se reine adresa primului element din list, iar p, q
i r sunt variabile de acelai tip cu prim, scriei .........
instruciunile cu care trebuie nlocuite punctele de .........
suspensie din secvena de program alturat, astfel q = r;
nct, n urma executrii ei, s se inverseze sensul }
legturilor n list. (6p.)
4. Se consider graful orientat cu 7 vrfuri, numerotate de la 1 la 7, i arcele (1,2), (2,5),
(3,2), (3,4), (3,6), (5,6), (5,7), (6,1). Care este numrul minim de arce care trebuie
adugate acestui graf astfel nct, pentru orice dou noduri x i y, din mulimea {1,2,3,4}
s existe cel puin un drum de la x la y? Enumerai arcele care trebuie adugate. (6p.)
5. ntr-o matrice a, cu n linii i n coloane, numerotate de la 1 la n, numim semidiagonal de
indice k mulimea format din elementele ai,j ale matricei pentru care relaia: i+j=k+1
este adevrat (1k<2*n, 1in, 1jn, iN,jN,kN).
Scriei programul C/C++ care citete de la tastatur o valoare natural n (2n24),
construiete n memorie i apoi afieaz pe ecran o matrice a cu n linii i n coloane,
numerotate de la 1 la n, n care elementele fiecrei semidiagonale de indice k sunt egale cu
(k+1)2, ca n exemplu.
Matricea se va afia pe ecran, cte o linie a matricei pe o linie a 4 9 16 25
ecranului, elementele unei linii fiind separate ntre ele prin cte un 9 16 25 36
spaiu. 16 25 36 49
Exemplu: pentru n = 4 se va obine matricea alturat. (10p.) 25 36 49 64

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 75
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 075

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Ce valoare are F(2758), pentru int F(int x)
funcia F definit alturat? (4p.) {
if(x == 0) return 0;
if(x%10%2 == 0) return 2 + F(x/10);
return 10 F(x/10);
}
a. 0 b. 20 c. 12 d. 4

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


2. Variabilele i, j i aux sunt de tip ntreg, iar for(int i = 0; i < 4; i++)
elementele tabloului unidimensional x sunt for(int j = i + 1; j< 6; j++)
urmatoarele: x0=10, x1=5, x2=-6, x3=7, if(x[i] > x[j])
x4=0, x5=-2. { aux = x[i];
x[i] = x[j];
Ce valori se vor afia n urma executrii x[j] = aux;
secvenei de program alturate? (6p.) }
for(i = 0; i < 6; i++)
cout<<x[i]<< ;
| printf(%d ,x[i]);
3. a) Scriei definiia complet a funciei UltimaCifra care primete prin cei doi parametri a
i b cte un numr natural (0<a<1000000, 0<b<1000000), calculeaz n mod eficient din
punct de vedere al timpului de executare i returneaz ultima cifr a numrului ab (a la
puterea b). (6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri) (4p.)
c) Fiierul text SIR.IN conine pe prima sa linie un numr natural n (0<n<1001), iar pe
fiecare dintre urmtoarele n linii cte o pereche de numere naturale, xi yi (1in,
xi30000, yi30000).
Scriei programul C/C++ care citete numerele din fiierul SIR.IN i scrie n fiierul text

SIR.OUT ultima cifr expresiei: x1 + x 2 +...+ x n ,folosind apeluri ale funciei


y1 y2 yn

UltimaCifra.
Exemplu: dac fiierul SIR.IN are coninutul alturat, atunci 3
SIR.OUT va conine cifra 0. (10p.) 25 6
8 10
1 4589

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 76
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 076

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac valoarea real
memorat de variabila y nu aparine intervalului deschis determinat de valorile reale distincte
memorate de variabilele x i z (x<z)? (4p.)
a. !((z<x) || (z>y)) b. (z>x) && (z<y)
c. !((y>x) && (y<z)) d. (z<x) && (z>y)

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


2. Se consider algoritmul alturat, reprezentat n citete a (numr natural)
pseudocod. x2
S-a notat cu x|y relaia x divide pe y sau y este divizibil cu p1
x i cu [z] partea ntreag a numrului real z. ct timp a>1 execut
c0
a) Scriei valoarea care se va afia dac se citete ct timp x|a execut
numrul a=245. (6p.) cx
b) Scriei un numr par, de trei cifre, care poate fi citit a[a/x]
pentru variabila a astfel nct s se afieze o valoare
egal cu cea citit. (4p.) dac c0 atunci
pp*c
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.) xx+1
d) Scriei n pseudocod un algoritm echivalent cu cel dat,
n care s se nlocuiasc fiecare structur ct scrie p
timpexecut cu cte o structur repetitiv de alt
tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 76
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 076

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.

1. n secvena de program alturat, variabila t memoreaz o x=0;


matrice cu 5 linii i 5 coloane, numerotate de la 0 la 4, cu for(i=0;i<5;i++)
elemente numere ntregi, iar celelalte variabile sunt ntregi. for(j=i+1;j<5;j++)
Executarea acestei secvene determin memorarea n x=x+t[i][j];
variabila x a sumei elementelor situate: (4p.)
a. deasupra diagonalei principale, b. strict deasupra diagonalei principale
inclusiv diagonala principal
c. strict sub diagonala principal d. strict deasupra diagonalei secundare
2. ntr-o list simplu nlnuit, alocat dinamic, fiecare p=prim;
element reine n cmpul urm adresa elementului while(p->urm!=NULL)
urmtor din list sau NULL dac nu exist un element {x=p->inf;
urmtor, iar n cmpul inf un numr ntreg. Adresa p->inf=p->urm->inf;
primului element al listei este memorat n variabila p->urm->inf=x;
prim, variabila p este de acelai tip cu prim, iar p=p->urm;
variabila x este de tip ntreg. Iniial, n list sunt }
memorate, n aceast ordine, numerele de mai jos,.
Care este coninutul listei n urma executrii
secvenei de instruciuni scrise alturat? (4p.)

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

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


3. Fie graful orientat cu 8 vrfuri, numerotate de la 1 la 8, i arcele (1,2), (2,3), (3,1),
(4,5), (5,6), (5,7), (6,7), (7,4), (8,7). Care este numrul minim de arce ce trebuie
adugate astfel nct, pentru oricare dou vrfuri x i y din graf s existe cel puin un drum
de la nodul x la nodul y? (6p.)
4. Care este vectorul de tai pentru arborele cu 8 noduri, numerotate de la 1 la 8, i muchiile
[1,5], [2,3], [3,6], [3,8], [4,6], [5,7], [6,7], dac se alege ca rdcin nodul
numerotat cu 6? (6p.)
5. Scriei programul C/C++ care citete de la tastatur un cuvnt de maximum 20 de litere i
minimum o liter i afieaz pe ecran toate cuvintele obinute din cuvntul citit prin
eliminarea primei i a ultimei litere. Prima prelucrare se refer la cuvntul citit, iar
urmtoarele la cuvntul rezultat din prelucrarea anterioar. Procedeul de eliminare i afiare
se va repeta pn cnd se obine cuvntul vid, ca n exemplu. Fiecare cuvnt obinut se va
afia pe cte o linie a ecranului.
Exemplu: dac se citete cuvntul bacalaureat, se va afia:
bacalaureat
acalaurea
calaure
alaur
lau
a (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 76
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 076

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Dac se utilizeaz metoda backtracking pentru a genera toate permutrile de 4 obiecte i
primele 5 permutri generate sunt, n aceast ordine, 4 3 2 1, 4 3 1 2, 4 2 3 1, 4 2 1
3, 4 1 3 2, atunci a 6-a permutare este: (4p.)
a. 3 2 1 4 b. 3 4 2 1 c. 1 4 3 2 d. 4 1 2 3

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


2. Pentru definiia alturat a subprogramului long sub(long n)
sub, scriei ce valoare are sub(3). Dar {if (n!=0)
sub(132764)? if(n%2!=0) return n%10*sub(n/10);
else return sub(n/10);
(6p.)
else return 1;
}
3. Scriei definiia complet a unui subprogram s cu trei parametri care primete prin
intermediul parametrului n un numr natural de maximum 9 cifre, prin intermediul
parametrului c o cifr i furnizeaz prin intermediul parametrului k numrul de cifre ale
numrului n care aparin intervalului [c-1,c+1].
Exemplu: pentru n=1233 i c=3, k va avea valoarea 3, iar pentru n=650 i c=3, k va
avea valoarea 0. (10p.)
4. Fiierul BAC.TXT are pe prima linie dou numere naturale n i m (0<n<1000, 0<m<1000)
separate prin cte un spaiu, pe linia a doua n numere ntregi ordonate strict cresctor, iar
pe linia a treia m numere naturale distincte. Numerele din fiier aflate pe linia a doua i a
treia au cel mult 6 cifre fiecare i sunt desprite n cadrul liniei prin cte un spaiu. S se
scrie un program care citete toate numerele din fiier i afieaz pe ecran, desprite prin
cte un spaiu, toate numerele de pe a doua linie a fiierului care apar cel puin o dat i pe
linia a treia a acestuia.
Exemplu: dac fiierul are urmtorul coninut:
6 5
2 3 4 5 8 9
4 5 2 11 8
atunci se va afia: 5 2 8, nu neaprat n aceast ordine.
a) Descriei n limbaj natural o metod de rezolvare eficient ca timp de executare. (4p.)
b) Scriei programul C/C++ corespunztor metodei descrise la punctul a). (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 77
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 077

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabila ntreag n memoreaz un numr natural de exact 5 cifre. Instruciunea care
determin eliminarea din numrul n a primei i ultimei cifre este: (4p.)
a. n=n%100/10; b. n=n/10%1000;
c. n=n/10%10000; d. n=n%10/1000;

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


2. Se consider algoritmul alturat, reprezentat n citete a (numr natural)
pseudocod: k0
ct timp a0 execut
a) Scriei valoarea care se va afia dac se citesc, n citete b (numr natural)
acest ordine, valorile: 2, 4, 6, 5, 7, 3, 9, 8, 0. (6p.) dac a < b atunci
b) Scriei toate irurile de date de intrare avnd suma kk+1
elementelor egal cu 4, care s determine afiarea
ab
valorii 0. (4p.)

c) Scriei programul C/C++ corespunztor algoritmului scrie k
dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat,
algoritm n care s se nlocuiasc structura ct
timpexecut cu o structur repetitiv de alt tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 77
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 077

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Pentru o matrice t cu 8 linii i 8 coloane, numerotate de z=0;
la 0 la 7, cu elemente numere ntregi, secvena de for(i=0;i<8;i++)
program alturat, n care variabilele z, i, i j sunt de tip for(j=0;j<i;j++)
ntreg, determin, n urma executrii ei, memorarea n z a z=z+t[i][j];
sumei tuturor elementelor situate: (4p.)
a. strict sub diagonala principal b. deasupra diagonalei principale, inclusiv
diagonala principal
c. strict deasupra diagonalei principale d. strict deasupra diagonalei secundare
2. ntr-o list simplu nlnuit, alocat dinamic, fiecare element reine p=prim->urm;
n cmpul urm adresa elementului urmtor din list sau NULL dac q=p->urm;
nu exist un element urmtor, iar n cmpul inf un numr ntreg. p->urm=q->urm;
Adresa primului element al listei este memorat n variabila prim, prim->urm=q;
iar variabilele p i q sunt de acelai tip cu prim. Iniial, n list sunt q->urm=p;
memorate, n aceast ordine, numerele de mai jos. Care va fi
coninutul listei dup executarea secvenei alturate? (4p.)

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

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


3. Fie graful orientat cu 6 vrfuri, numerotate de la 1 la 6, i arcele (1,2), (2,3), (3,1),
(4,5), (5,6), (3,5). Care este numrul minim de arce ce trebuie adugate pentru ca
toate vrfurile s aib gradul interior egal cu gradul exterior? (6p.)
4. Care este numrul minim de noduri cu gradul 1 pentru un graf neorientat conex cu 21 noduri
i 20 muchii? (6p.)
5. Scriei programul C/C++ care citete de la tastatur un text de cel mult 50 de caractere,
(litere mici ale alfabetului englez i spaii), text format din mai multe cuvinte, separate prin
cte un spaiu, i afieaz pe ecran textul obinut din cel iniial prin transformarea primei
litere i a ultimei litere ale fiecrui cuvnt n majuscul, restul caracterelor rmnnd
nemodificate.
Exemplu: dac se citete textul azi este examen de bacalaureat, se va afia AzI
EstE ExameN DE BacalaureaT. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 77
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 077

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. La un concurs particip 50 de sportivi mprii n 5 echipe, astfel nct n fiecare echip s


fie cte 10 sportivi. Problema determinrii tuturor grupelor de cte 5 sportivi, cte unul din
fiecare echip, este similar cu generarea tuturor: (4p.)
a. elementelor produsului cartezian b. submulimilor cu 5 elemente ale mulimii
AxAxAxAxA, unde A={1,2,,10} {1,2,,10}
c. permutrilor mulimii {1,2,3,4,5} d. partiiilor mulimii {1,2,,10}

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


2. Pentru definiia alturat a subprogramului int sub(long n)
sub, scriei ce valoare are sub(4). Dar {if (n!=0)
sub(132764)? (6p.) if(n%2!=0)
return n%10+sub(n/10);
else return sub(n/10);
else return 0;
}
3. Scriei un program C/C++ care citete de la tastatur dou numere naturale nenule n i k
(0<n<100, 0<k<4) i apoi n numere reale pozitive care au cel mult 3 cifre la partea
ntreag i cel mult 5 cifre zecimale i afieaz pe ecran numrul de valori reale citite care
au mai mult de k cifre zecimale.
Exemplu: dac pentru n se citete valoarea 5 i pentru k valoarea 2 i apoi irul de
numere reale 6.2 4.234 2 8.13 10.001 pe ecran se va afia valoarea 2. (10p.)
4. Fiierul text bac.in conine pe prima sa linie un numr natural n (0<n<10000), iar pe
urmtoarea linie n numere naturale din intervalul [1,100] separate prin cte un spaiu.
Se cere s se citesc din fiier toate numerele i s se afieze pe ecran numrul sau
numerele care apar de cele mai multe ori printre numerele citite de pe a doua linie a
fiierului. Numerele afiate vor fi separate prin cte un spaiu. Alegei un algoritm de
rezolvare eficient att din punctul de vedere al timpului de executare ct i al gestionrii
memoriei. .
Exemplu: dac fiierul bac.in are urmtorul coninut:
12
1 2 2 3 2 9 3 3 9 9 7 1
pe ecran se vor afia valorile 2, 3 i 9, nu neaprat n aceast ordine.
a) Explicai n limbaj natural metoda utilizat justificnd eficiena acesteia (4-6 rnduri) (4p.)
b) Scriei programul C/C++ ce rezolv problema enunat, corespunztor metodei
descrise la punctul a). (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 78
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 078

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabila ntreag n memoreaz un numr natural de exact 7 cifre. Instruciunea care
determin eliminarea din numrul n a celor 3 cifre din mijlocul lui este: (4p.)
a. n=n/100000*100+n%100; b. n=n%10000/100+n/100;
c. n=n/10%10000; d. n=n/1000;

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


2. Se consider algoritmul alturat, reprezentat n
citete a (numr natural)
pseudocod.
k0
S-a notat cu x%y restul mpririi numrului natural x la ct timp a0 execut
numrul natural nenul y . citete b (numr natural)
dac a%10 = b%10 atunci
Scriei valoarea care se va afia dac se citesc, n kk+1
a)
acest ordine, valorile: 23, 423, 673, 55, 77, 3, 93,
38, 0. (6p.) ab

b) Dac se citete un ir de numere naturale distincte
scrie k
dou cte dou, numere de exact dou cifre, scriei
care poate fi valoarea maxim afiat. (4p.)
c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm, echivalent cu cel dat, n care s se nlocuiasc
structura ct timpexecut cu o structur repetitiv de alt tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 78
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 078

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.
Pentru o matrice t cu 8 linii i 8 coloane, z=0;
numerotate de la 0 la 7, cu elemente numere for(i=0;i<8;i++)
ntregi, secvena de program alturat, n care for(j=0;j<8-i;j++)
variabilele z, i, i j sunt de tip ntreg, determin, z=z+t[i][j];
n urma executrii ei, memorarea n z a sumei
tuturor elementelor situate: (4p.)
a. strict sub diagonala secundar b. deasupra diagonalei principale, inclusiv
diagonala principal
c. deasupra diagonalei secundare, inclusiv d. strict deasupra diagonalei secundare
diagonala secundar
2.
ntr-o list simplu nlnuit, alocat dinamic, fiecare element reine n cmpul urm adresa
elementului urmtor din list, sau NULL dac nu exist un element urmtor. Adresa primului
element al listei este memorat n variabila prim, iar variabilele p i q sunt de acelai tip cu
prim. Care va fi coninutul listei de mai jos dup executarea secvenei alturate?
p=prim;
while(p->urm->urm->urm!=NULL)
p=p->urm;
q=p->urm;
(4p.) p->urm=p->urm->urm;
delete q; | free(q);
a. 1 2 3 4 5 b. 1 2 3 4 6 c. 1 3 4 5 6 d. 2 3 4 5 6

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


3. Fie graful orientat cu 7 vrfuri, numerotate de la 1 la 7, i arcele (1,2), (2,3), (3,1),
(4,5), (5,6), (5,7), (6,7), (7,4). Care este numrul minim de arce i care sunt
respectivele arce ce ar trebui eliminate pentru ca graful parial obinut s nu mai conin
circuite? (6p.)
4. Care este numrul minim de muchii ale unui graf neorientat conex, cu 100 de noduri? (6p.)
5. Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de caractere
(doar litere mici ale alfabetului englez i spaii) i un cuvnt cu cel mult 15 caractere, doar
litere mici ale alfabetului englez, i care afieaz pe ecran irul obinut prin inserarea n
textul iniial a caracterului ? dup fiecare apariie a cuvntului citit. Dac n text nu apare
cuvntul citit, se va afia mesajul NU APARE.
Exemplu: dac se citete de la tastatur textul
examenului examenul de bacalaureat si examenul de atestat
i cuvntul examenul se va afia:
examenului examenul? de bacalaureat si examenul? de atestat (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 78
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 078

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Un program construiete i afieaz elementele produsului cartezian AxBxC pentru


mulimile A={1,2,3,4}, B={1,2,3}, C={1,2}. Care dintre urmtoarele triplete NU va fi
afiat? (4p.)
a. (3,2,1) b. (1,3,2) c. (1,2,3) d. (2,2,2)

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


2. Pentru definiia alturat a subprogramului int sub(long n)
sub, scriei ce valoare are sub(4). Dar {if (n!=0)
sub(123986)? (6p.) if(n%2!=0) return 1+sub(n/10);
else return sub(n/10);
else return 0;
}
3. a) Scriei doar antetul unui subprogram prim cu doi parametri, care primete prin
intermediul parametrului n un numr natural cu cel mult patru cifre i returneaz prin
intermediului parametrului p valoarea 1 dac n este prim i 0 n caz contrar. (2p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n (3<n<10000)
i afieaz pe ecran, desprite prin cte un spaiu, primele n numerele prime, folosind
apeluri utile ale subprogramului prim. (8p.)
Exemplu: pentru n=4 pe ecran vor fi afiate numerele 2 3 5 7
4. Fiierul text bac.in conine pe prima sa linie un numr natural n (0<n<10000), iar pe
urmtoarea linie n numere naturale din intervalul [1,100]. Se cere s se citesc din fiier
toate numerele i s se afieze pe ecran, n ordine descresctoare, toate numerele care
apar pe a doua linie a fiierului i numrul de apariii ale fiecruia. Dac un numr apare de
mai multe ori, el va fi afiat o singur dat. Fiecare pereche valoare - numr de apariii va
fi afiat pe cte o linie a ecranului, numerele fiind separate printr-un spaiu, ca n exemplu.
Alegei un algoritm de rezolvare eficient din punctul de vedere al timpului de executare.
Exemplu: dac fiierul bac.in are urmtorul coninut:
12
1 2 2 3 2 2 3 3 2 3 2 1
pe ecran se vor afia, n aceast ordine, perechile:
3 4
2 6
1 2
a) Explicai n limbaj natural metoda utilizat justificnd eficiena acesteia (4-6 rnduri) (4p.)
b) Scriei programul C/C++ ce rezolv problema enunat, corespunztor metodei
descrise la punctul a). (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 79
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 079

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Stabilii ce se afieaz n urma executrii secvenei y=10.1234;
de instruciuni C/C++ alturate, dac y este o x=(int)(y*100)/100;
variabil real, iar x o variabil ntreag. (4p.) printf(%d,x); | cout<<x;
a. 1012.34 b. 10.12 c. 0.12 d. 10

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


2. Se consider algoritmul alturat, reprezentat n citete a (numr natural)
pseudocod. x2
k0
S-a notat cu x|y relaia x divide pe y sau y este divizibil cu ct timp a>1 execut
x i cu [z] partea ntreag a numrului real z. c0
ct timp x|a execut
a) Scriei valoarea care se va afia dac se citete cx
numrul 245. (6p.) a[a/x]
b) Scriei dou numere naturale care pot fi citite pentru
variabila a astfel nct valoarea afiat n fiecare caz dac c0 atunci
s fie 10. (4p.) kk+x

c) Scriei programul C/C++ corespunztor algoritmului dat. xx+1
(10p.)
scrie k
d) Scriei n pseudocod un algoritm echivalent cu cel dat,
algoritm n care s se nlocuiasc fiecare structur ct
timp...execut cu cte o structur repetitiv de alt
tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 79
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 079

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.

1. Pentru o matrice t cu 8 linii i 8 coloane, z=0;


numerotate de la 0 la 7, cu elemente numere for(i=0;i<8;i++)
ntregi, secvena de program alturat, n care for(j=7-i;j<8;j++)
variabilele z, i, i j sunt de tip ntreg, determin, z=z+t[i][j];
n urma executrii ei, memorarea n z a sumei
tuturor elementelor situate: (4p.)
a. sub diagonala secundar, inclusiv b. deasupra diagonalei principale, inclusiv
diagonala secundar diagonala principal
c. strict sub diagonala principal d. strict deasupra diagonalei secundare
2. Se consider lista simplu nlnuit, alocat p=prim;
dinamic, n care fiecare nod memoreaz n k=0;
cmpul nr o valoare ntreag i n cmpul while(p->urm!=NULL && k>=0)
urm adresa nodului urmtor sau NULL dac {if(p->nr%2==0) k=k+1;
este ultimul nod din list. else k=k-1;
n list sunt memorate, n aceast ordine, p=p->urm;
valorile 4, 3, 2, 5, 7, 9, 6, 1, 8. Variabila }
prim reine adresa primului element din printf(%d,p->nr); | cout<<p->nr;
list, variabila p este de acelai tip cu prim.,
iar variabila k este de tip ntreg. Care este
valoarea ce se va afia n urma executrii
secvenei alturate ? (4p.)
a. 9 b. 4 c. 3 d. 8

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


3. Se consider arborele cu 13 noduri, numerotate de la 1 la 13, i mulimea muchiilor
{[1,4], [2,5], [3,8], [4,7], [4,9], [4,11], [6,3], [6,10], [6,12], [5,6],
[13,2], [2,9]}. Dac se alege nodul numerotat cu 2 drept rdcin, care este vectorul
de tai pentru acest arbore? (6p.)
4. Fie graful neorientat cu 6 noduri, numerotate de la 1 la 6, i muchiile [1,2], [1,3],
[1,4], [2,3], [2,4], [3,4], [3,5], [4,5], [4,6], [5,6]. Care este numrul maxim
de muchii ce pot fi eliminate astfel nct graful parial obinut s-i pstreze proprietatea de
graf hamiltonian? (6p.)
5. Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de caractere
(doar litere ale alfabetului englez i spaii), construiete n memorie i apoi afieaz pe
ecran irul de caractere obinut din irul iniial, n care se insereaz dup fiecare vocal
caracterul *. Se consider vocale literele a, e, i, o, u, A, E, I, O, U. Dac textul citit nu
conine vocale, se va afia mesajul FARA VOCALE.
Exemplu: dac se citete de la tastatur textul Examenul de bacalaureat se va obine
i afia: E*xa*me*nu*l de* ba*ca*la*u*re*a*t. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 79
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 079

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Problema generrii tuturor codurilor formate din exact 4 cifre nenule, cu toate cifrele
distincte dou cte dou, este similar cu generarea tuturor: (4p.)
a. aranjamentelor de 9 elemente luate cte b. permutrilor elementelor unei mulimi cu
4 4 elemente
c. elementelor produsului cartezian d. submulimilor cu 4 elemente ale mulimii
AxAxAxA unde A este o mulime cu 9 {1,2,3,4,5,6,7,8,9}
elemente

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


2. Pentru definiia alturat a subprogramului f, scriei int f(long x)
ce valoare are f(8). Dar f(1209986)? { int y,z;
if (x==0) return x;
(6p.)
else {y=x%10;
z=f(x/10);
if(y>z) return y;
else return z;
}
}
3. Scriei definiia complet a subprogram max, cu trei parametri, a, b, c, care primete prin
intermediul parametrilor a i b dou numere reale cu exact dou cifre la partea ntreag i
exact dou zecimale fiecare. Subprogramul determin cel mai mare numr real dintre
urmtoarele patru valori: a, b i numerele reale obinute din a i b prin interschimbarea
prii ntregi cu partea fracionar n cadrul aceluiai numr. Aceast valoare este furnizat
prin intermediul parametrului real c.
Exemplu: dac a=33.17 i b=15.40, c va avea valoarea 40.15 (cea mai mare valoare
dintre 33.17, 15.40, 17.33 i 40.15) (10p.)
4. Se citete de pe prima linie a fiierului numere.in un numr natural n (0<n<10000) i, de
pe a doua linie a fiierului, n numere naturale din intervalul [1,100] i se cere s se
afieze pe ecran, desprite prin cte un spaiu, numrul sau numerele ntregi din intervalul
[1,100] care nu apar printre numerele citite. Dac pe a doua linie a fiierului apar toate
numerele din intervalul precizat, se va afia mesajul NU LIPSESTE NICIUN NUMAR.
Alegei un algoritm de rezolvare eficient din punctul de vedere al timpului de executare.
Exemplu: pentru fiierul numere.in cu urmtorul coninut
12
4 2 3 1 6 5 7 8 9 11 10 100
se vor afia valorile 12 13 99.
a) Explicai n limbaj natural metoda utilizat, justificnd eficiena acesteia (4-6 rnduri).
(4p.)
b) Scriei programul C/C++ ce rezolv problema enunat, corespunztor metodei
descrise la punctul a). (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 80
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 080

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabilele n, z i u sunt ntregi, iar n memoreaz un numr natural cu cel puin 2 cifre.
Secvena C/C++ care determin interschimbarea ultimelor dou cifre din scrierea numrului
memorat de n este: (4p.)
a. n=(n/100*10+n%10)*10+n%100/10; b. u=n%10;
z=n/100%10;
n=n/100+u*10+z;
c. n=(n/100*10+n%10)*10+n/100%10; d. u=n%10;
z=n/100%10;
n=n/100*100+z*10+u;

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


2. Se consider algoritmul alturat, reprezentat n citete a
pseudocod. (numr natural)
b0
S-a notat cu x%y restul mpririi numrului natural x la numrul p1
natural nenul y i cu [z] partea ntreag a numrului real z. ct timp a>0 execut
ca%10
a) Scriei valoarea care se va afia dac se citete numrul dac c%20 atunci
a=245903. (6p.) bb+p*c
b) Scriei o valoare care poate fi citit pentru variabila a pp*10
astfel nct s se afieze o valoare egal cu cea citit.
a[a/10]
(4p.)

c) Scriei programul C/C++ corespunztor algoritmului dat. scrie b
(10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat n
care s se nlocuiasc structura ct timpexecut cu
o structur repetitiv de alt tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 80
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 080

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. n secvena de program alturat, variabila a for(i = 1; i<=8; i++)
memoreaz o matrice cu 8 linii i 8 coloane { k=i;
(numerotate de la 1 la 8), cu elemente numere for(j = 1; j<=8; j++)
ntregi, iar toate celelalte variabile sunt ntregi. { a[i][j]=k; k=k+1; }
Ce valoare va avea elementul a[8][8] dup }
executarea secvenei? (4p.)
a. 16 b. 15 c. 64 d. 10

2. Se consider o list simplu nlnuit, alocat p=prim;


dinamic, n care fiecare nod memoreaz n s=0;
cmpul nr o valoare ntreag i n cmpul urm while(p->urm!=NULL)
adresa nodului urmtor sau NULL dac este {
ultimul nod din list. n list sunt memorate, n if(p->nr%2==0)
aceast ordine, valorile 8, 5, 4, 6, 3, 7, 2. s=s+p->nr;
Variabila prim reine adresa primului element p=p->urm->urm;
}
din list, variabila p este de acelai tip cu
printf(%d,s); | cout<<s;
variabila prim, iar variabila s este de tip ntreg.
Ce valoare se va afia n urma executrii
secvenei de program alturate? (4p.)
a. 18 b. 20 c. 12 d. 14

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


3. Un graf orientat are 8 arce i fiecare nod al grafului are gradul exterior un numr nenul. Doar
dou dintre noduri au gradul exterior un numr impar, restul avnd gradele exterioare
numere pare. Care este numrul maxim de noduri pe care le poate avea graful? (6p.)
4. Se consider graful neorientat cu 6 noduri, numerotate cu 1, 2, 3, 4, 5, 6, 1: 2,5,6
i 9 muchii dat prin listele de adiacen alturate. 2: 1,3,4
3: 2,4,6
a) Care este cel mai scurt lan cu o extremitate n nodul 1 i cealalt 4: 2,3,5
extremitate n nodul 3? (3p.) 5: 1,4,6
b) Care este numrul maxim de muchii ce pot fi eliminate astfel nct 6: 1,3,5
graful parial obinut s rmn conex? (3p.)
5. Scriei programul C/C++ care citete de la tastatur un cuvnt cu cel puin una i cel mult 20
de litere ale alfabetului englez, construiete i afieaz pe ecran cuvntul obinut prin
interschimbarea primei consoane cu ultima vocal din cuvnt. n cazul n care cuvntul este
format numai din vocale sau numai din consoane, programul afieaz pe ecran mesajul
IMPOSIBIL. Se consider vocale literele a, e, i, o, u, A, E, I, O, U.
Exemplu: dac se citete cuvntul Marmorat se va obine i afia cuvntul aarmorMt
(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 80
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 080

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. O clas de 28 de elevi este la ora de educaie fizic i profesorul dorete s formeze o


echip de 4 elevi. Ordinea elevilor n cadrul echipei nu are importan. Algoritmul de
generare a tuturor posibilitilor de a forma o asfel de echip este similar cu algoritmul de
generare a tuturor: (4p.)
a. aranjamentelor de 28 de elemente luate b. combinrilor de 28 de elemente luate
cte 4 cte 4
c. partiiilor unei mulimi cu28 de elemente d. elementelor produsului cartezian
AxAxAxA, A fiind o mulime cu 28 de
elemente

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


2. Pentru definiia alturat a subprogramului sub, int sub(long n)
ce valoare are sub(9)? Dar sub(132764)? {if (n!=0)
if(n%2!=0)
(6p.)
return n%10+sub(n/10);
else return sub(n/10);
else return 0;
}
3. Fiierul text bac.in conine cel mult 1000 de numere naturale cu cel mult patru cifre
fiecare, desprite prin cte un spaiu. Scriei programul C/C++ care citete numerele din
fiier i afieaz pe ecran, n ordine cresctoare, acele numere din fiier care au toate cifrele
egale. Dac fiierul nu conine niciun astfel de numr, se va afia pe ecran mesajul NU
EXISTA.
Exemplu: dac fiierul bac.in conine numerele: 30 44 111 7 25 5 atunci pe ecran
se va afia 5 7 44 111. (10p.)
4. a) Scriei definiia complet a unui subprogram divi cu doi parametri, care primete prin
intermediul parametrului n un numr natural nenul cu cel mult 6 cifre i returneaz prin
intermediul parametrului d cel mai mic divizor propriu al lui n sau 0 in cazul n care n nu are
niciun divizor propriu. De exemplu, pentru n=15, d va avea valoarea 3. (4p.)
b) Scriei programul C/C++ care citete de la tastatur un numr natural nenul n
(1<n<1000000) i afieaz pe ecran cel mai mare numar natural mai mic dect n care l
divide pe n. Se vor folosi apeluri utile ale subprogramului divi.
Exemple: dac n=120, se afieaz pe ecran 60, iar dac n=43, se afieaz 1. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 81
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 081

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Precizai valoarea expresiei: 8/4/2*2*4*8 (4p.)
a. 64 b. 1 c. 16 d. 0

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


2. Se consider algoritmul alturat, descris n pseudocod. citete a,n
S-a notat cu x%y restul mpririi numrului natural x la (numere naturale)
numrul natural nenul y. pentru i=1,n execut
dac i%2=0 atunci
a) Scriei valoarea care se vor afia dac se citesc aa-i
numerele a=12 i n=10. (6p.) altfel
b) Dac pentru a se citete numrul 32, scriei o valoare aa+i

care poate fi citit pentru n astfel nct s se afieze

34. (6p.) scrie a
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat,
care s nu conin nicio structur repetitiv. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 81
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 081

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Un ir de caractere se numete palindrom dac irul citit de la stnga la dreapta este
identic cu irul citit de la dreapta spre stnga. Care dintre urmtoarele expresii C/C++ are
valoarea 1 dac i numai dac irul de caractere memorat n variabila s, avnd exact 3
caractere, este palindrom? (4p.)
a. s[0]==s[1] b. s[1]==s[2] c. s[0]==s[2] d. s[1]==s[3]
2. Care dintre urmtoarele afirmaii este adevrat pentru graful neorientat avnd mulimea
nodurilor X={1,2,3,4,5} i mulimea muchiilor U={[1,2], [1,5], [2,3], [2,4],
[3,4], [4,5]}? (4p.)
a. Este graf hamiltonian, dar nu este b. Este graf eulerian, dar nu este
eulerian. hamiltonian.
c. Este i graf hamiltonian i graf eulerian. d. Nu este graf hamiltonian, i nici nu este
graf eulerian.

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


3. Se consider un arborele cu rdcin, cu 11 vrfuri numerotate de la 1 la 11, descris prin
urmtorul vector de tai: (6,5,5,2,0,3,3,3,8,7,7). Care sunt descendenii direci ai
rdcinii i cte frunze are arborele dat? (6p.)
4. O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element
cte un numr natural nenul cu cel mult 4 cifre, iar n cmpul adr adresa elementului
urmtor din list sau NULL dac nu exist un element urmtor. Se consider c adresa
primului element al listei este reinut de variabila prim, i c variabila p este de acelai tip
cu variabila prim. S se nlocuiasc punctele de suspensie din secvena de program
urmtoare cu instruciunile corespunztoare, astfel nct, n urma executrii, aceasta s
determine afiarea tuturor numerelor memorate n list, care sunt divizibile cu 7.
p=prim;
while(p!=NULL)
{......} (6p.)
5. Scriei un program C/C++ care citete de la tastatur trei valori naturale nenule k, n, m
(n10, m10, k32000) i apoi n*m numere ntregi, fiecare avnd cel mult 4 cifre,
reprezentnd elementele unui tablou bidimensional cu liniile numerotate de la 1 la n i
coloanele numerotate de la 1 la m.
Programul determin i afieaz pe ecran suma numerelor de ordine 2 4 5 -8
ale coloanelor care conin cel puin o dat valoarea k. Dac nu exist 1 3 7 9
nicio coloan care s conin cel puin o dat valoarea k, programul 4 -2 3 10
va afia pe ecran mesajul NU EXISTA. 5 4 2 37
Exemplu:pentru k=3,n=5,m=4 i matricea alturat se va afia 5, 6 7 3 13
deoarece coloanele 2 i 3 conin numrul k=3. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 81
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 081

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Folosind cifrele {1,2,3} se genereaz, n ordinea cresctoare a valorii, toate numerele
pare formate din trei cifre distincte. Astfel, se obin n ordine, numerele: 132, 312. Folosind
aceeai metod, se genereaz numerele pare formate din patru cifre distincte din mulimea
{1,2,3,4}. Care va fi al 4-lea numr generat ? (4p.)
a. 2134 b. 1432 c. 2314 d. 1423

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


2.
Pentru definiia alturat a subprogramului f, int f(int x,int y)
scriei ce valoare are f(0,0). Dar f(525,5)? { if(x==0)return 0;
(6p.) else
if(x%10==y)
return f(x/10,y)+1;
else return f(x/10,y);
}
3.
Scriei n C/C++ definiia complet a subprogramului medie care are doi parametri:
- n, prin care primete un numr natural (1n100) ;
- v, prin care primete un tablou unidimensional cu n elemente, numere naturale, fiecare
element avnd cel mult patru cifre.
Subprogramul returneaz media aritmetic a elementelor din tablou. (10p.)
4.
Fiierul text NUMERE.IN conine, pe mai multe linii, cel mult 30000 de numere naturale
nenule mai mici sau egale cu 500, desprite prin cte un spaiu.
a) Scriei programul C/C++ care, utiliznd un algoritm eficient din punct de vedere al timpului
de executare, afieaz pe ecran, n ordine cresctoare, toate numerele care au aprut o
singur dat din fiierul NUMERE.IN, desprite prin cte un spaiu.
Exemplu: dac fiierul NUMERE.IN conine numerele scrise alturat, se vor 2 23 34 3
afia valorile urmtoare: 3 4 5 6 34 (6p.) 8 9 9 23
6 8 9 2
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit la punctul a), 4 5 23 9
explicnd n ce const eficiena ei (3 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 82
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 082

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabilele ntregi a i b memoreaz numere naturale. Care dintre
expresiile C/C++ de mai jos este echivalent cu expresia alturat? (a+b)%2==0
(4p.)
a. (a%2==0) && (b%2==0)&& (a%2==1) && (b%2==1)
b. (a%2!=0) && (b%2!=0) && (a%2==1) && (b%2==1)
c. (a%2==1) || (b%2==1) || (a%2==0) && (b%2==0)
d. (a%2==0) && (b%2==0) || (a%2==1) && (b%2==1)

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


2. Se consider algoritmul alturat, descris n pseudocod. citete m
S-a notat cu x%y restul mpririi numrului natural x la (numr natural, m<10)
numrul natural nenul y, iar cu [z] partea ntreag a citete n
numrului real z. (numr natural, n>1)
pentru i1,n execut
a) Scriei valorile care se vor afia dac numerele citite citete x
sunt m=5, n=5, apoi, n aceast ordine: 25, 40, 8, 15, (numr natural)
133. (6p.) auxx
b) Scriei care este cea mai mare valoare care poate fi ok0
citit pentru m dac n=4, iar pentru x se citesc, n ct timp x>0 execut
dac x%10=m atunci
ordine, valorile 121, 781, 961, 4481 astfel nct, la
ok1
finalul executrii algoritmului, s se afieze numai

valoarea 781. (4p.)
x[x/10]
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.) dac ok=1 atunci
scrie aux
d) Scriei n pseudocod un algoritm echivalent cu cel dat,
n care s se nlocuiasc structura ct
timp...execut cu o structur repetitiv de un alt tip.
(6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 82
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 082

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider graful orientat cu nodurile numerotate de la 1 la 5 i arcele (1,2), (1,5),
(2,1), (2,3), (2,5), (3,4), (5,2), (5,4). Care este lungimea maxim a unui drum
de la nodul 1 la nodul 4, format doar din arce distincte? (4p.)
a. 5 b. 6 c. 4 d. 7
2. Un graf neorientat cu nodurile numerotate de la 1 la 4 este reprezentat prin
matricea de adiacen alturat. Care dintre afirmaiile de mai jos este
adevrat pentru acest graf? (4p.)

a. Graful este arbore b. Graful nu este conex


c. Graful este ciclic d. Graful are toate gradele nodurilor numere
pare

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


3. tiind c variabila i este de tip ntreg i c for(i=0;i<strlen(s);i++)
variabila s reine irul de caractere barba, ce if(s[i]==b)
se va afia la executarea secvenei alturate? s[i]=t;
(6p.) cout<<s; | printf(%s,s);
4. O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element
cte un numr natural nenul cu cel mult 4 cifre, iar n cmpul adr adresa elementului
urmtor din list sau NULL dac nu exist un element urmtor. Considernd c adresa
primului element al listei este reinut de variabila prim, i c variabila p este de acelai tip
cu variabila prim, s se nlocuiasc punctele de suspensie din secvena de program
urmtoare cu instruciunile corespunztoare, astfel nct, executarea secvenei s determine
afiarea pe ecran a tuturor numerelor, memorate n list, care au cifra unitilor egal cu 0.
p=prim;
while(p!=NULL)
{.....} (6p.)
5. Scriei un program C/C++ care citete de la tastatur trei valori naturale nenule k, n, m
(n10, m10, k32000) i apoi n*m numere ntregi, fiecare avnd cel mult 4 cifre,
reprezentnd elementele unui tablou bidimensional cu liniile numerotate de la 1 la n i
coloanele numerotate de la 1 la m.
Programul determin i afieaz pe ecran produsul numerelor de 2 4 5 -8
ordine ale coloanelor care conin cel puin o dat valoarea k. Dac 5 3 7 9
nu exist nicio coloan care s conin cel puin o dat valoarea k, 6 -2 3 10
programul va afia pe ecran mesajul NU EXISTA. 7 4 2 37
Exemplu: pentru k=3, n=5, m=4 i matricea alturat se va afia 8 7 3 13
6, deoarece coloanele 2 i 3 conin numrul k=3. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 82
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 082

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Folosind cifrele {2,3,4} se genereaz, n ordinea cresctoare a valorii, toate numerele
impare formate din trei cifre distincte. Astfel se obin, n ordine, numerele: 243, 423.
Folosind aceeai metod, se genereaz numerele pare formate din patru cifre distincte din
mulimea {2,3,4,5}. Care va fi al 5-lea numr generat? (4p.)
a. 3452 b. 3524 c. 2534 d. 3542

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


2. Pentru definiia alturat a subprogramului f, int f(int x)
stabilii ce valoare are f(2). Dar f(123)? { if(x==0)return 0;
(6p.) else
if(x%2==0)return 1+f(x/10);
else return 2+f(x/10);
}
3. Scriei n C/C++ definiia complet a subprogramului suma care are doi parametri:
- n, prin care primete un numr natural (1n100);
- v, prin care primete un tablou unidimensional cu n elemente, numere ntregi situate n
intervalul [10,30000]. Funcia returneaz suma numerelor din tabloul v care au ultimele
dou cifre identice.
Exemplu: dac n=4 i v=(123, 122, 423, 555) funcia va returna 677 (=122+555).
(10p.)
4. Fiierul text NUMERE.IN conine, pe mai multe linii, cel mult 30000 de numere naturale
nenule mai mici sau egale cu 500, numerele de pe fiecare linie fiind desprite prin cte un
spaiu. Fiierul conine cel puin dou numere distincte, fiecare avnd dou cifre.
a) Scriei programul C/C++ care citete toate numerele din fiierul NUMERE.IN i creeaz
fiierul text NUMERE.OUT care s conin pe prima linie cel mai mare numr de dou cifre
din fiierul NUMERE.IN, i de cte ori apare el n acest fiier, iar pe a doua linie, cel mai mic
numr de dou cifre din fiierul NUMERE.IN i de cte ori apare el n acest fiier. Alegei o
metod de rezolvare eficient din punct de vedere al memoriei utilizate i al timpului de
executare. (6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit la punctul a), explicnd n
ce const eficiena ei (3 4 rnduri). (4p.)
Exemplu: dac fiierul 2 253 34 3 atunci fiierul NUMERE.OUT va 88 2
NUMERE.IN are coninutul 6 88 9 2 3 avea urmtorul coninut:
alturat: 34 2
4 54 34 88

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 83
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 083

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabilele ntregi a i b memoreaz numere naturale. Care dintre (a+b)%2==1
expresiile C/C++ de mai jos este echivalent cu expresia alturat? (4p.)
a. (a%2==0) && (b%2==1)|| (a%2==1) && (b%2==0)
b. (a%2!=0) && (b%2!=0) && (a%2==1) && (b%2==1)
c. (a%2==1) || (b%2==1) || (a%2==0) && (b%2==0)
d. (a%2==0) && (b%2==0) && (a%2==1) && (b%2==1)

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


2. Se consider algoritmul alturat, descris n citete x (numr natural, x>1)
pseudocod. auxx
S-a notat cu x%y restul mpririi numrului natural x la ok11
numrul natural nenul y, iar cu [z] partea ntreag a ct timp x10 execut
numrului real z. dac x%10>[x/10]%10 atunci
ok10
a) Scriei ce se afieaz la executarea algoritmului
dac se citete valoarea x=125. (6p.) x[x/10]
b) Scriei cea mai mare valoare cu exact 3 cifre care
dac ok1=1 atunci
poate fi citit pentru x astfel nct s se afieze
scrie aux
mesajul nu. (4p.) altfel
c) Scriei programul C/C++ corespunztor scrie nu
algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel
dat n care s se nlocuiasc structura ct
timp...execut cu o structur repetitiv de alt
tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 83
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 083

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. tiind c variabila i este de tip ntreg i variabila s strcpy(s,bac2009);
reine un ir de caractere, ce se va afia la executarea for(i=0;i<strlen(s);i++)
secvenei alturate? (4p.) if(s[i]<0||s[i]>9)
cout<<s[i];
a. bac2009 b. 2009 c. bac d. 2009bac
2. Se consider graful orientat cu nodurile numerotate de la 1 la 5 i arcele (2,1), (5,1),
(1,2), (3,2), (5,2), (4,3), (2,5), (4,5). Care este lungimea maxim a unui drum
de la nodul 4 la nodul 1, format doar din arce distincte? (4p.)
a. 6 b. 5 c. 4 d. 7

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


3. Scriei matricea de adiacen a unui graf neorientat cu 6 noduri n care toate nodurile au
gradul 2 i care are dou componente conexe. (6p.)
4. Se consider variabilele ntregi m, n i k (1n10, 1m10 i 1kn) i variabila a care
memoreaz un tablou bidimensional cu n linii, numerotate de la 1 la n, i m coloane,
numerotate de la 1 la m, avnd n*m numere ntregi. Scriei secvena de program C/C++ care
s determine i s afieze pe ecran elementele impare de pe linia k ale tabloului a. (6p.)
5. O list liniar dublu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element
cte o liter din alfabetul englez. Considernd c lista este creat i conine un numr par
de elemente i c adresa primului element este reinut n variabila prim, iar adresa
ultimului element este reinut n variabila ultim s se scrie declarrile de tipuri i date
necesare i secvena de program C/C++ care inverseaz ordinea valorilor reinute n list.
Exemplu: dac lista conine iniial valorile
prim ultim
i n f o

se va afia urmtoarea list:


prim ultim
o f n i

(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 83
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 083

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Folosind cifrele {1,2,3} se genereaz, n ordinea cresctoare a valorii, toate numerele
formate din exact trei cifre, n care cifrele alturate au valori consecutive. Astfel se obin n
ordine, numerele: 121, 123, 212, 232, 321 i 323. Folosind aceeai metod se
genereaz numere de patru cifre din mulimea {1,2,3,4} care ndeplinesc aceeai
condiie. Care va fi al 5-lea numr generat ? (4p.)
a. 2121 b. 2123 c. 3121 d. 2323

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


2.
Pentru definiia alturat a subprogramului f, int f(int x)
stabilii ce valoare are f(2). Dar f(123)? { if(x==0)return 0;
(6p.) else
if(x%2==0)return 3+f(x/10);
else return 4+f(x/10);
}
3.
Scriei n C/C++ definiia complet a subprogramului suma care are doi parametri:
- n, prin care primete un numr natural (1n100);
- v, prin care primete un tablou unidimensional cu n elemente, numere ntregi, fiecare
avnd exact trei cifre.
Funcia returneaz suma elementelor din tablou care au prima cifr egal cu ultima cifr.
(10p.)
4.
Fiierul text NUMERE.IN conine mai multe linii, pe fiecare linie existnd cte un ir de
numere naturale nenule mai mici sau egale dect 30000, desprite prin cte un spaiu;
fiecare linie se termin cu numarul 0 (care se consider c nu face parte din irul aflat pe
linia respectiv) i conine cel puin dou valori.
a) Scriei programul C/C++ care afieaz pe ecran valoarea maxim din irul care conine
cele mai puine numere. n cazul n care exist mai multe iruri cu acelai numr minim de
numere, se va afia cea mai mare valoare care apare n unul dintre aceste iruri. Alegei o
metod de rezolvare eficient din punct de vedere al memoriei utilizate i al timpului de
executare. (6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit la punctul a), explicnd n
ce const eficiena ei (3 4 rnduri). (4p.)
Exemplu: dac fiierul NUMERE.IN are coninutul 2 253 34 3 0
alturat, atunci pe ecran se va afia numrul 253. 6 88 9 3 0
4 54 88 12345 98 234 546 0

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 84
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 084

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabila ntreag n memoreaz un numr natural cu exact 4 cifre.
Care dintre expresiile C/C++ de mai jos este echivalent cu cea n/100%10%2==0
alturat? (4p.)
a. n%100/10%2!=1 b. n%1000%2==0
c. n/100%2==0 d. n/10%10!=1

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


2. Se consider algoritmul alturat, descris n citete n
pseudocod. (numr natural, n>1)
S-a notat cu x%y restul mpririi numrului natural x la ok0
numrul natural nenul y, iar cu [z] partea ntreag a ct timp n>0 execut
numrului real z. cn%10
a) dac c>5 i c%2=0 atunci
Scriei ce se afieaz dac numrul citit este ok11
n=4576. (6p.) altfel
b)
Scriei cea mai mare valoare cu exact 3 cifre, ok10

care poate fi citit pentru n astfel nct s se
dac ok1=1 atunci
afieze, n aceast ordine, numerele 8 6. (4p.) scrie c,
c) ok1
Scriei programul C/C++ corespunztor
algoritmului dat. (10p.)
d) n[n/10]
Scriei n pseudocod un algoritm echivalent cu cel
dat care s utilizeze o structur repetitiv de alt dac ok=0 atunci
tip n locul structurii ct timp...execut. (6p.) scrie nu

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 84
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 084

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider graful neorientat cu nodurile numerotate de la 1 la 6 i avnd muchiile
[1,2], [2,3], [2,5], [2,6], [3,4], [4,5], [4,6], [5,6]. Cte lanuri elementare,
distincte i de lungime 3 exist de la nodul 1 la nodul 4 n graful dat? Dou lanuri sunt
distincte dac difer prin cel puin o muchie. (4p.)
a. 2 b. 0 c. 4 d. 3
2. Un arbore cu rdcin, cu 9 noduri, numerotate de la 1 la 9, este memorat cu ajutorul
vectorului de tai t=(9,3,4,7,3,9,0,7,2). Mulimea tuturor nodurilor de tip frunz
este: (4p.)
a. {8, 6, 1, 5} b. {1, 6} c. {8} d. {1, 6, 8}

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


3. Se consider variabila c, de tip char, care memoreaz o liter a alfabetului englez, diferit
de z sau Z. Scriei secvena de program C/C++ care afieaz pe ecran litera care i
urmeaz n alfabet.
Exemplu: dac litera memorat este g se va afia h. (6p.)
4. Variabila a memoreaz un tablou bidimensional, cu 4 linii i 4 coloane, numerotate de la 1
la 4, ce memoreaz numere naturale de cel mult 2 cifre fiecare. Scriei secvena de program
C/C++ care afieaz pe ecran produsul numerelor de pe diagonala secundar a tabloului.
(6p.)
5. O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element
cte un numr natural din intervalul [1,10000], iar n cmpul adr, adresa elementului
urmtor din list sau NULL dac nu exist un element urmtor n list. Considernd c lista
este creat (are cel puin dou elemente) i c adresa primului element este reinut de
variabila prim s se scrie declarrile de tipuri i date necesare i secvena C/C++ care
afieaz pe ecran produsul numerelor memorate n primul i ultimul element al listei.
Exemplu: pentru lista
prim
34 5 19 22 123

se va afia numrul 4182. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 84
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 084

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Folosind cifrele {3,4,5} se genereaz, n ordinea cresctoare a valorii, toate numerele
impare formate din trei cifre distincte. Astfel se obin, n ordine, numerele: 345, 435, 453,
543. Folosind aceeai metod, se genereaz numerele impare formate din patru cifre
distincte din mulimea {2,3,4,5}. Care va fi al 5-lea numr generat? (4p.)
a. 3425 b. 2534 c. 4235 d. 3245

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


2. Pentru definiia alturat a subprogramului f, int f(int x)
stabilii ce valoare are f(1)? Dar f(100)? { if(x==0)return 1;
(6p.) else
return 1+f(x-1);
}
3. Scriei programul C/C++ care citete de la tastatur un numr natural n (1n100), apoi
un ir de n numere ntregi, cu cel mult 2 cifre fiecare, notat a1,a2,a3,an, apoi un al doilea
ir de n numere ntregi, cu cel mult 2 cifre fiecare, notat b1,b2,b3,bn. Fiecare ir conine
att valori pare, ct i impare. Programul afieaz pe ecran suma acelor numere impare din
irul b care sunt mai mici dect suma tuturor numerelor pare din irul a.
Exemplu: pentru n=4 i numerele 2,3,7,8 respectiv 44,3,1,8 se afieaz valoarea 4
pentru c numerele 3 i 1 sunt mai mici dect suma numerelor pare din irul a, care este
10. (10p.)
4. Se consider subprogramul CMMMC care primete prin cei doi parametri, x i y, dou
numere naturale (1x10000, 1y10000) i returneaz cel mai mic multiplu comun al lor.
a) Scriei numai antetul subprogramului CMMMC. (4p.)
b) Fiierul text NUMERE.IN conine, pe fiecare linie, cte dou numere naturale nenule mai
mici sau egale dect 10000, desprite printr-un spaiu. Scriei un program C/C++ care,
pentru fiecare linie k din fiierul NUMERE.IN, citete cele dou numere de pe aceast linie
i scrie n fiierul text NUMERE.OUT , tot pe linia k, cel mai mic multiplu comun al acestora,
ca n exemplu.
Se vor utiliza apeluri utile ale subprogramului CMMMC. (6p.)
Exemplu: dac fiierul 12 14 atunci fiierul 84
NUMERE.IN are coninutul 11 12 NUMERE.OUT va avea 132
alturat: 4 8 urmtorul coninut: 8

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 85
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 085

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabilele ntregi n i m memoreaz numere naturale nenule pare, iar n<m. Care dintre
expresiile C/C++ de mai jos are valoarea egal cu numrul de valori impare din intervalul
nchis [n,m] ? (4p.)
a. (m-n)/2+1 b. m/2-n/2 c. (m-n)/2-1 d. m%2-n%2

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


2. Se consider algoritmul alturat, descris n citete n
pseudocod. (numr natural, n>1)
S-a notat cu x%y restul mpririi numrului natural x la ok0
numrul natural nenul y, iar cu [z] partea ntreag a ct timp n>0 execut
numrului real z. cn%10
dac c%2=1 atunci
a) Scriei ce se afieaz dac numrul citit este ok11
n=9458. (6p.) altfel
b) Scriei cea mai mare valoare cu exact 3 cifre, ok10

care poate fi citit pentru n astfel nct s se
dac ok1=1 atunci
afieze, n aceast ordine, numerele 9 7. (4p.) scrie c,
c) Scriei programul C/C++ corespunztor ok1
algoritmului dat. (10p.)
n[n/10]
d) Scriei n pseudocod un algoritm echivalent celui
dat n care s se nlocuiasc structura ct dac ok=0 atunci
timp...execut cu o structur repetitiv de alt scrie nu
tip. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 85
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 085

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider graful orientat cu vrfurile numerotate de la 1 la 7 i arcele (1,2),
(1,7), (2,3), (3,2), (3,4), (4,3), (5,4), (5,6), (6,4), (7,6).
Cte vrfuri din graful dat au gradul extern impar? (4p.)
a. 4 b. 3 c. 1 d. 2
2. Un arbore cu rdcin, cu 9 noduri, numerotate de la 1 la 9, este memorat cu ajutorul
vectorului de tai t=(9,3,4,7,3,9,0,7,2). Care este numrul minim de noduri ce
trebuie eliminate pentru ca lungimea celui mai lung lan elementar, cu o extremitate n
rdcin, s fie 3 i subgraful obinut s fie tot arbore? (4p.)
a. 4 b. 3 c. 2 d. 5

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


3. Variabila s reine un ir de caractere format din cel puin 2 i cel mult 30 de litere mici ale
alfabetului englez. Scriei secvena de program C/C++ care afieaz pe ecran primul i
ultimul caracter al irului s. (6p.)
4. Variabila a memoreaz un tablou bidimensional, cu 4 linii i 4 coloane, numerotate de la 1
la 4, cu elemente numere naturale de cel mult 2 cifre fiecare. Scriei secvena de program
C/C++ care afieaz pe ecran produsul numerelor de pe diagonala principal a tabloului.
(6p.)
5. O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element
cte un numr natural din intervalul [1,10000], iar n cmpul adr, adresa elementului
urmtor din list sau NULL dac nu exist un element urmtor. Considernd lista creat i
c adresa primului element este reinut n variabila prim, s se scrie declarrile de tipuri i
date necesare i secvena de program C/C++ care afieaz pe ecran numerele memorate
n list, care sunt ptrate perfecte.
Exemplu: pentru lista
prim
34 25 20 16

se vor afia numerele 25 i 16. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 85
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 085

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Folosind cifrele {1,2,3} se genereaz, n ordinea cresctoare a valorii, toate numerele
impare formate din trei cifre distincte. Astfel se obin, n ordine, numerele: 123, 213, 231,
321. Folosind aceeai metod, se genereaz numerele impare formate din patru cifre
distincte din mulimea {1,2,3,4}. Care va fi al 5-lea numr generat ? (4p.)
a. 2413 b. 1423 c. 2431 d. 3241

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


2. Pentru definiia alturat a subprogramului f, int f(int x)
scriei ce valoare are f(51). Dar f(100)? { if(x==50)return 1;
(6p.) else
return 2+f(x-1);
}
3. Scriei programul C/C++ care citete de la tastatur un numr natural n (1n100), apoi
un ir de n numere ntregi, cu cel mult 2 cifre fiecare, notat a1,a2,a3,an, apoi un al doilea
ir de n numere ntregi, cu cel mult 2 cifre fiecare, notat b1,b2,b3,bn. Fiecare ir conine
att valori pare, ct i impare. Programul afieaz pe ecran suma acelor numere din irul b
care sunt strict mai mici dect media aritmetic a tuturor numerelor pare din irul a.
Exemplu: pentru n=4 i numerele 2,3,7,8 respectiv 44,3,1,8 se afieaz valoarea 4
pentru c numerele 3 i 1 sunt mai mici dect media aritmetic a numerelor pare din irul a,
care este 5. (10p.)
4. Se consider subprogramul CMMDC care primete prin cei doi parametri, x i y, dou
numere naturale (1x10000, 1y10000) i returneaz cel mai mare divizor comun al lor.
a) Scriei numai antetul subprogramului CMMDC. (4p.)
b) Fiierul text NUMERE.IN conine, pe fiecare linie, cte dou numere naturale nenule mai
mici sau egale dect 10000, desprite printr-un spaiu, reprezentnd numitorul i
numrtorul cte unei fracii. Scriei un program C/C++ care, pentru fiecare linie k din
fiierul NUMERE.IN, citete numitorul i numrtorul fraciei de pe aceast linie i scrie n
fiierul text NUMERE.OUT , tot pe linia k, numitorul i numrtorul acestei fracii, adus la
forma ireductibil, ca n exemplu. Se vor utiliza apeluri apeluri utile ale subprogramului
CMMDC. (6p.)
Exemplu: dac fiierul 12 14 atunci fiierul 6 7
NUMERE.IN are coninutul 11 12 NUMERE.OUT va avea 11 12
alturat: 2 2 urmtorul coninut: 1 1
4 8 1 2

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 86
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 086

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabila ntreag n memoreaz un numr natural, cu cel puin dou cifre. Care dintre
instruciunile C/C++ de mai jos determin nlocuirea cu 0 a ultimei cifre a numrului
memorat n variabila n? (4p.)
a. n=n*(n%10); b. n=n/10; c. n=n-n%10; d. n=n-n/10;

2. Se consider algoritmul alturat, descris n pseudocod. citete n, k


S-a notat cu x%y restul mpririi numrului natural x la (numere naturale nenule)
numrul natural nenul y, iar cu [z] partea ntreag a
pentru i1,n execut
numrului real z.
dac [i/k]=0 atunci
a) Scriei valorile care se vor afia dac se citesc, n scrie i
ordine, numerele 7 i 5. (6p.) kk-1
altfel
b) Dac n=11, scriei cea mai mic valoare care poate fi scrie i%k
citit pentru k astfel nct, n urma executrii
algoritmului, s se afieze, n ordine, toate numerele
naturale din intervalul nchis [1,11]. (4p.)
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura
pentru...execut cu o structur repetitiv cu test final. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 86
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 086

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. n declararea alturat, variabila p memoreaz n cmpul x struct
abscisa, iar n cmpul y ordonata unui punct din planul xOy. {float x;
Dac punctul se afl chiar n originea axelor, care dintre float y;} p;
expresiile de mai jos are valoarea true? (4p.)
a. (p.x==0)&&(p.y==0) b. (x.p==0)&&(y.p==0)
c. p==0 d. (p(x)==0)&&(p(y)==0)
2. Ce valoare are variabila s de tip ir de caractere dup executarea instruciunilor de mai
jos?
strncpy(s,strstr(examen,am),4); s[4]='\0'; (4p.)
a. amen b. exam c. menn d. men

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


3. Scriei matricea de adiacen a arborelui cu rdcin, cu 6 noduri, numerotate de la 1 la 6,
definit prin urmtorul vector "de tai": (0, 1, 1, 1, 3, 3). (6p.)
4. Fiecare element al unei liste simplu nlnuite, q=p;
alocat dinamic, reine n cmpul nr un numr a=p->urm->nr;
while (q->urm->urm!=NULL)
ntreg, iar n cmpul urm adresa urmtorului {
element din list sau NULL dac nu exist un q=q->urm;
element urmtor. Ce valori au variabilele ntregi a q->urm->nr=q->nr+q->urm->nr;
i b dup executarea secvenei alturate, dac }
variabila p reine adresa primului element al listei b=q->nr;
de mai jos, iar variabila q este de acelai tip cu p?
(6p.)

5. Scriei un program C/C++ care citete de la tastatur un numr natural n (1n10) apoi
construiete n memorie o matrice cu 2*n linii i 2*n coloane, numerotate de la 1 la 2*n,
astfel nct parcurgnd doar liniile impare ale matricei de sus n jos i fiecare linie impar de
la stnga la dreapta se obin n ordine strict cresctoare toate numerele impare cuprinse n
intervalul [1,4*n2], iar parcurgnd doar liniile pare ale matricei de sus n jos i fiecare linie
par de la dreapta la stnga se obin n ordine strict cresctoare toate numerele pare
cuprinse n intervalul [1,4*n2], ca n exemplu.
Programul afieaz pe ecran matricea obinut, cte o linie a matricei 1 3 5 7
pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin 8 6 4 2
cte un spaiu. 9 11 13 15
Exemplu: pentru n=2 se obine matricea alturat. (10p.) 16 14 12 10

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 86
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 086

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. La examenul de bacalaureat, un elev primete un test format dintr-un subiect de tip I, unul
de tip II i unul de tip III. Stiind c pentru fiecare tip de subiect sunt elaborate exact 100
de variante, algoritmul de generare a tuturor posibilitilor de a forma un test este similar
cu algoritmul de generare a: (4p.)
a. elementelor produsului cartezian b. aranjamentelor
c. permutrilor d. submulimilor

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


2. Se consider subprogramul f, definit void f(int n)
alturat. Ce se afieaz la apelul f(4);? {
cout<<"*"; | printf("*");
(6p.) if(n>2)
{
f(n-1);
cout<<"#"; | printf("#");
}
}
3. Scriei definiia complet a subprogramului numar, cu trei parametri, care primete prin
intermediul parametrului n un numr natural format din cel mult 9 cifre, iar prin intermediul
parametrilor c1 i c2 cte o cifr nenul; subprogramul retuneaz numrul obinut prin
nlocuirea n numrul primit prin parametrul n a fiecrei apariii a cifrei c1 cu cifra c2. Dac
c1 nu apare n n, subprogramul returneaz valoarea n.
Exemplu: pentru n=12445, c1=4 i c2=7 valoarea returnat va fi 12775. (10p.)
4. Fiierul text bac.txt conine cel puin dou i cel mult 1000 de numere naturale distincte,
dintre care cel puin dou sunt pare. Numerele sunt separate prin cte un spaiu i fiecare
dintre ele are cel mult 9 cifre.
a) Scriei un program C/C++ care determin cele mai mari dou numere pare din fiier,
utiliznd un algoritm eficient din punct de vedere al timpului de executare i al spaiului de
memorie utilizat. Cele dou numere vor fi afiate pe ecran, n ordine descresctoare,
separate printr-un spaiu.
Exemplu: dac fiierul conine numerele: 5123 8 6 12 3 se va afia: 12 8 (6p.)
b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 87
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 087

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre variantele de mai jos declar constanta x astfel nct aceasta s memoreze
corect numrul real 3,14? (4p.)
a. const int x=314/100; b. const char x=3.14;
c. const unsigned int x=3.14; d. const float x=3.14;

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


2. Se consider algoritmul alturat, descris n citete a,b,c
pseudocod. (numere naturale nenule)
a) Scriei numrul care se va afia dac se citesc,
n ordine, valorile 6, 4 i 10. (6p.) ct timp ab sau ac execut
xa
b) Scriei cele mai mari trei numere naturale dac x>b atunci
nenule, distincte, cu cel mult dou cifre fiecare, xb
care pot fi citite pentru a, b respectiv c, astfel
nct s se afieze valoarea 7 la finalul dac x>c atunci
executrii algoritmului. (4p.) xc
c) Scriei programul C/C++ corespunztor
dac xa atunci
algoritmului dat. (10p.)
aa-x
d) Scriei n pseudocod un algoritm echivalent cu
cel dat n care s se nlocuiasc structura dac xb atunci
repetitiv ct timp...execut cu o bb-x
structur repetitiv cu test final. (6p.)
dac xc atunci
cc-x

scrie a

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 87
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 087

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. n declararea alturat, variabila p memoreaz n cmpul x struct
abscisa, iar n cmpul y ordonata unui punct din planul xOy. Dac {float x;
punctul se afl pe cel puin una dintre axele de coordonate, care float y;}p;
dintre expresiile de mai jos are valoarea 1? (4p.)
a. p.x*p.y==0 b. (p.x==0)&&(p.y==0)
c. x.p+y.p==0 d. (p(x)==0)||(p(y)==0)
2. Ce valoare are variabila s de tip ir de caractere dup executarea instruciunilor de mai
jos?
strncpy(s,strstr("Informatica","form"),strlen("BAC08")); s[5]='\0';
(4p.)
a. form b. forma
c. InfoBAC d. Infor

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


3. Se consider un arbore cu 6 noduri, numerotate de la 1 la 6, 0 1 0 0 0 1
reprezentat prin matricea de adiacen dat alturat. Scriei toate 1 0 1 1 1 0
nodurile care pot fi alese ca rdcin a arborelui astfel nct acesta 0 1 0 0 0 0
s aib un numr maxim de frunze. (6p.) 0 1 0 0 0 0
0 1 0 0 0 0
1 0 0 0 0 0
4. Fiecare element al unei liste simplu nlnuite, alocat dinamic, reine n cmpul nr un
numr ntreg, iar n cmpul urm adresa urmtorului element din list sau NULL dac nu
exist un element urmtor.
Ce valori au variabilele ntregi a i b dup executarea q=p;
secvenei alturate, dac variabila p reine adresa a=p->urm->nr;
while (q->nr>=0)
primului element al listei de mai jos, iar variabila q este {
de acelai tip cu p? q->urm->nr=q->nr-p->nr;
q=q->urm;
}
(6p.) b=q->nr;
5. Scriei un program C/C++ care citete de la tastatur un numr natural n (1n20),
elementele unei matrice cu n linii i n coloane, numere ntregi din intervalul [-100,100] i
afieaz pe ecran media aritmetic a elementelor strict pozitive ale matricei, care sunt
situate sub diagonala principal, ca n exemplu. Dac nu exist elemente strict pozitive
situate sub diagonala principal, programul va afia mesajul NU EXISTA.
Exemplu: pentru n=4 i matricea alturat se afieaz valoarea 2.5 -1 2 4 5
(sunt luate n considerare doar elementele marcate). (10p.) 0 6 3 1
2 4 2 0
3 -5 1 -3

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 87
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 087

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Trei elevi vor s nfiineze o trup de rock format dintr-un chitarist solo, un basist i un
baterist. Toi trei tiu s cnte att la chitar solo, ct i la chitar bas, i se pricep cu toii
i la baterie. Algoritmul de generare a tuturor posibilitilor de a forma trupa este similar cu
algoritmul de generare a: (4p.)
a. aranjamentelor b. permutrilor
c. elementelor produsului cartezian d. submulimilor

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


2. Se consider subprogramul f, definit void f(int n)
alturat. Ce se afieaz la apelul f(4);? {
(6p.) if(n>0)
{
cout<<n; | printf(%d,n);
f(n-1);
cout<<n; | printf(%d,n);
}
}
3. Scriei definiia complet a subprogramului reduce, cu doi parametri, care primete prin
intermediul parametrilor a i b dou numere naturale formate din cel mult 9 cifre fiecare.
Funcia returneaz o valoare obinut din numrul a prin nsumarea acelor cifre diferite de 0
ale numrului a care NU divid numrul b. Dac nu exist asemenea cifre, se va returna
valoarea 0.
Exemplu: pentru a=184465709 i b=18, cifrele corespunztoare cerinei sunt 8, 4, 4, 5 i
7, deci valoarea returnat va fi 28 (28=8+4+4+5+7). Dac a=2402804 i b=8000,
valoarea returnat va fi 0. (10p.)
4. Fiierul text bac.txt conine un ir de cel mult 2009 numere naturale, cu cel mult nou
cifre fiecare, pe mai multe rnduri, numerele de pe acelai rnd fiind separate prin cte un
spaiu.
a) Scriei un program C/C++ care afieaz pe ecran cel mai mic numr din fiier pentru care
suma cifrelor pare este egal cu suma cifrelor impare, precum i numrul de apariii n fiier
ale acestui numr, folosind o metod eficient din punctul de vedere al timpului de
executare. Cele dou valori vor fi afiate pe o linie a ecranului, separate printr-un spaiu.
Exemplu: dac n fiier avem numerele 22031 9021 22031 1021 2011 10012 1021
457008 99882 atunci pe ecran se vor afia numerele: 1021 2. (6p.)
b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 88
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 088

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. In secvenele C/C++ urmtoare toate variabilele sunt de tip ntreg i memoreaz numere
cu cel mult 3 cifre. Care dintre variantele de mai jos determin interschimbarea valorilor
memorate de variabilele a i b? (4p.)
a. aux=b; a=b; b=aux; b. a=a+b; b=a-b; a=a-b;
c. a=b; b=a; d. a=a+b; b=a-b; a=b-a;

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


2. Se consider algoritmul alturat, descris n citete a
pseudocod. (numr natural)
S-a notat cu x%y restul mpririi numrului natural x la
p1
numrul natural nenul y, iar cu [z] partea ntreag a b0
numrului real z. ct timp a0 execut
a) Scriei numrul care se va afia dac se citete ca%10
valoarea 123456. (6p.) dac a%2=0 atunci
bb+c*p
b) Scriei o valoare cu exact 5 cifre care poate fi citit altfel
pentru variabila a astfel nct numrul afiat s fie bb*10+c
format din toate cifrele lui a, scrise n ordine invers.
(4p.) a[a/10]
pp*10
c) Scriei programul C/C++ corespunztor algoritmului

dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel scrie b
dat n care s se nlocuiasc structura ct timp
... execut cu o structur repetitiv cu test final.
(6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 88
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 088

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. n declararea alturat, variabila p memoreaz n cmpul x struct
abscisa, iar n cmpul y ordonata unui punct din planul xOy. {float x;
Dac punctul se afl pe cel puin una dintre axe, care dintre float y;}p;
expresiile de mai jos are valoarea 1? (4p.)
a. p.x*p.y==0 b. (p.x==0)&&(p.y==0)
c. x.p==y.p d. p(x)==0
2. Ce valoare are variabila s de tip ir de caractere dup executarea instruciunii de mai jos?
s=strcat(strstr("bacalaureat", "bac")+ strlen("2009"),"09"); (4p.)
a. BAC2009 b. laureat09 c. Bac200909 d. aur2009

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


3. Se consider un arbore cu 6 noduri, numerotate de la 1 la 6, 0 1 0 0 0 1
reprezentat prin matricea de adiacen dat alturat. Scriei toate 1 0 1 1 1 0
nodurile care pot fi alese ca rdcin a arborelui astfel nct acesta 0 1 0 0 0 0
s aib un numr minim de frunze. (6p.) 0 1 0 0 0 0
0 1 0 0 0 0
1 0 0 0 0 0
4. Fiecare element al unei liste simplu nlnuite, alocat dinamic, reine n cmpul nr un
numr ntreg, iar n cmpul urm adresa urmtorului element din list sau NULL dac nu
exist un element urmtor.
Ce valori au variabilele ntregi a i b dup executarea q=p;
secvenei alturate, dac variabila p reine adresa a=p->urm->nr;
primului element al listei de mai jos, iar variabila q este while (q->urm!=NULL)
{
de acelai tip cu p? q->urm->nr=q->nr*p->nr;
q=q->urm;
}
(6p.) b=q->nr;
5. Scriei un program C/C++ care citete de la tastatur un numr natural n (1n20),
elementele unei matrice cu n linii i n coloane, numere ntregi din intervalul [-100,100] i
afieaz pe ecran media aritmetic a elementelor strict pozitive ale matricei, care sunt
situate deasupra diagonalei principale, ca n exemplu. Dac nu exist elemente strict
pozitive situate deasupra diagonalei principale, programul va afia mesajul NU EXISTA.
Exemplu: pentru n=4 i matricea alturat se afieaz valoarea -1 2 -4 5
2.75 (sunt luate n considerare doar elementele marcate). 0 6 3 1
(10p.)
2 4 2 0
3 -5 1 -3

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 88
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 088

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Ionel dorete s ofere cadouri membrilor familiei sale, format din cei doi prini i o sor.
Decide s le ofere stilouri de diferite culori. La magazin exist stilouri de 5 culori diferite.
Algoritmul de generare a tuturor posibilitilor de a atribui cte un stilou fiecruia dintre cei
trei membri ai familiei, fr s se repete vreo culoare, este similar cu algoritmul de
generare a (4p.)
a. aranjamentelor b. elementelor produsului cartezian
c. permutrilor d. submulimilor

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


Se consider subprogramul f, definit alturat. int f(int n)
2.
Ce valoare are f(1)? Dar f(4)? (6p.) {
if (n==0) return 1;
else if (n==1) return 2;
else return f(n-1)-f(n-2);
}
3. Scriei definiia complet a subprogramului numar, cu patru parametri, care primete prin
intermediul parametrului n un numr natural format din cel mult 9 cifre, iar prin intermediul
parametrilor c1 i c2 cte o cifr cu proprietatea c1<c2; subprogramul furnizeaz prin
intermediul celui de al patrulea parametru, x, o valoare obinut prin eliminarea din numrul
primit prin parametrul n a fiecrei cifre cuprinse n intervalul nchis [c1, c2]. Dac toate
cifrele lui n aparin acestui interval, valoarea furnizat prin x va fi 0.
Exemplu: pentru n=162448, c1=4 i c2=7, valoarea furnizat prin x va fi 128. (10p.)
4. Fiierul text bac.txt conine cel mult 10000 de numere naturale din intervalul nchis
[0,9], dintre care cel puin unul este prim. Numerele se afl pe mai multe rnduri, cele de
pe acelai rnd fiind separate prin cte un spaiu.
a) Scriei un program C/C++ care determin i afieaz pe ecran cel mai mare numr prim
care apare n fiier i numrul de apariii ale acestuia, utiliznd un algoritm eficient din punct
de vedere al timpului de executare i al spaiului de memorie utilizat. Programul afieaz pe
ecran cele dou valori determinate, separate printr-un spaiu.
Exemplu: dac fiierul conine numerele: 5 8 9 1 9 5 1 1 2 2 se va afia 5 2. (6p.)
b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 89
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 089

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabila ntreg n memoreaz un numr natural format din exact dou cifre nenule. Care
dintre urmtoarele instruciuni C/C++ determin memorarea n variabila ntreag t a
numrului care are aceleai cifre ca i n, dar n ordine invers? (4p.)
a. t=n%10*10+n/10; b. t=n/10*10+n%10;
c. t=n%10+n/10; d. t=n%10*10+t/10;

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


2. Se consider algoritmul alturat, descris n citete n
pseudocod. (numr natural)
S-a notat cu x%y restul mpririi numrului natural x la
tn; r0
numrul natural nenul y, iar cu [z] partea ntreag a ct timp t>0 execut
numrului real z. dac (t%10)%2=1 atunci
a) Scriei numrul care se va afia dac se citete numrul rr*10+1
n=3072941. (6p.) altfel
rr*10+t%10
b) Scriei un numr format din exact 5 cifre, ele fiind n
ordine strict cresctoare, care poate fi citit astfel nct t[t/10]
executarea algoritmului s determine afiarea unui
numr egal cu cel citit. (4p.) n0
ct timp r>0 execut
c) Scriei programul C/C++ corespunztor algoritmului dat.
nn*10+r%10
(10p.)
r[r/10]
d) Scriei n pseudocod un algoritm echivalent cu cel dat n
care s se nlocuiasc fiecare structur ct timp
execut cu cte o structur repetitiv cu test final.(6p.) scrie n

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 89
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 089

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. n declararea alturat, variabila p memoreaz n cmpul x struct
abscisa, iar n cmpul y ordonata unui punct din planul xOy. {float x;
Dac punctul se afl n interiorul suprafeei dreptunghiulare float y;}p;
determinate de punctele A(1,1), B(4,1), C(4,3), D(1,3), care
dintre expresiile de mai jos are valoarea 1? (4p.)
a. (p.x>1)&&(p.x<4)&&(p.y>1)&&(p.y<3)
b. (x.p>1)&&(x.p<4)&&(y.p>1)&&(y.p<3)
c. (p.x>1)&&(p.x<4)||(p.y>1)&&(p.y<3)
d. (p(x)>1)&&(p(x)<4)||(p(y)>1)&&(p(y)<3)
2. Ce valoare are variabila s de tip ir de caractere dup executarea instruciunilor de mai
jos?
strncpy(s,strstr("informatica","form"),strlen("BAC009"));
s[6]='\0'; (4p.)
a. format b. informat c. inform d. informBAC

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


3. Determinai ultima valoare (notat cu ?) din vectorului de tai (0, 1, 1, 2, 3, 3, ?) astfel
nct arborele cu rdcin, cu 7 noduri, numerotate de la 1 la 7, descris de acest vector, s
aib pe fiecare nivel n exact 2n noduri, nodul rdcin fiind pe nivelul n=0, i fiecare nod s
aib cel mult doi descendeni. Scriei matricea de adiacen a unui arbore astfel definit.
(6p.)
4. Fiecare element al unei liste simplu nlnuite, alocat q=p;
dinamic, reine n cmpul nr un numr ntreg, iar n a=p->urm->nr;
cmpul urm adresa urmtorului element din list sau while (q->urm!=NULL)
{
NULL dac nu exist un element urmtor. Ce valori au q->urm->nr=2*q->nr+1;
variabilele ntregi a i b dup executarea secvenei q=q->urm;
alturate, dac variabila p reine adresa primului }
element al listei de mai jos, iar variabila q este de b=q->nr;
acelai tip cu p? (6p.)

5. Scriei un program C/C++ care citete de la tastatur un numr natural n (1n6) apoi
construiete n memorie o matrice cu n linii i n coloane, astfel nct parcurgnd liniile
matricei de sus n jos i de la stnga la dreapta se obin, n prima linie primele n numere ale
irului Fibonacci n ordine cresctoare, n linia a doua urmtoarele n numere ale irului
Fibonacci n ordine descresctoare, n linia a treia urmtoarele n numere ale acestui ir n
ordine cresctoare, i aa mai departe, ca n exemplu. Elementele irului Fibonacci se obin
astfel: primul element este 0, al doilea este 1, iar elementele urmtoare se obin nsumnd
cele dou elemente care preced elementul curent. Astfel, primele 16 elemente ale acestui ir
sunt: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610.
Programul afieaz pe ecran matricea obinut, cte o linie a 0 1 1 2
matricei pe cte o linie a ecranului, elementele fiecrei linii fiind 13 8 5 3
separate prin cte un spaiu. 21 34 55 89
Exemplu: pentru n=4 se obine matricea alturat. (10p.) 610 377 233 144

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 89
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 089

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. O clas format din 28 de elevi dorete s trimit la consftuirea reprezentanilor claselor
colii o delegaie format din 3 elevi. Algoritmul de generare a tuturor posibilitilor de a
forma o delegaie este similar cu algoritmul de generare a: (4p.)
a. permutrilor b. aranjamentelor
c. combinrilor d. submulimilor

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


Se consider subprogramul f, definit alturat. long f(int n)
2.
Ce valoare are f(0)? Dar f(4)? (6p.) {
if (n==0) return 0;
else return n*n+f(n-1);
}
3. Scriei definiia complet a subprogramului numar, cu trei parametri, care primete prin
intermediul parametrului n un numr natural format din cel mult 9 cifre, iar prin intermediul
parametrilor c1 i c2 cte o cifr nenul. Subprogramul caut prima apariie (de la stnga
spre dreapta) a cifrei c1 n n, i dac aceasta apare, o nlocuiete cu c2, iar urmtoarele
cifre, dac exist, sunt nlocuite cu cte o cifr 0. Subprogramul furnizeaz tot prin n
numrul astfel obinut. Dac cifra c1 nu apare n n, atunci valoarea lui n rmne
nemodificat.
Exemplu: pentru n=162448, c1=4 i c2=7 valoarea furnizat prin n va fi 162700. (10p.)
4. Fiierul text bac.txt conine pe mai multe rnduri cel mult 50000 de numere naturale din
intervalul nchis [0, 99], numerele de pe acelai rnd fiind separate prin cte un spaiu.
a) Scriei un program C/C++ care afieaz pe ecran, n ordine descresctoare, acele
numere din fiier care sunt mai mari dect un numr natural k, citit de la tastatur, utiliznd
un algoritm eficient din punct de vedere al timpului de executare. Dac un numr apare de
mai multe ori, i este mai mare dect k, se va afia o singur dat. Numerele vor fi afiate
cte 20 pe fiecare linie (cu excepia ultimei linii care poate s conin mai puine valori),
separate prin cte un spaiu.
Exemplu: dac fiierul conine numerele: 15 8 99 15 1 37 1 24 2, iar pentru k se citete
valoarea 7, se vor afia numerele 99 37 24 15 8. (6p.)
b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 90
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 090

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre urmtoarele instruciuni C/C++ atribuie variabilei ntregi t valoarea -1 dac i
numai dac variabilele ntregi a i b sunt nenule i au semne diferite? (4p.)
a. if ((a>0)||(b<0)) t=-1; b. if ((a>0)&&(b<0)) t=-1;
c. if (a*b<0) t=-1; d. if (a*b>0) t=-1;

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


2. Se consider algoritmul alturat, descris n pseudocod. citete a, b, k
(numere naturale)
S-a notat cu x%y restul mpririi numrului natural x la
numrul natural nenul y. t a
p 0
a) Scriei valorile care se vor afia n urma executrii ct timp tb execut
algoritmului dac se citesc numerele a=105, b=118 i dac k=t%10 atunci
k=7. (6p.) scrie t
b) Dac pentru k se citete valoarea 7, iar pentru a valoarea p1
2009, scriei cea mai mare valoare care se poate citi
pentru variabila b, astfel nct numrul afiat s fie -1. tt+1
(4p.)
dac p=0 atunci
c) Scriei programul C/C++ corespunztor algoritmului dat. scrie -1
(10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura
ct timp...execut cu o structur repetitiv cu test final. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 90
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 090

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. n declararea alturat, variabila p memoreaz n cmpul x struct
abscisa, iar n cmpul y ordonata unui punct din planul xOy. {
Dac punctul se afl n semiplanul din dreapta axei Oy (dar nu float x;
pe aceast ax), care dintre expresiile de mai jos are valoarea float y;
1? (4p.) }p;
a. p.x>0 b. p.y>0 c. x.p+y.p>0 d. p(x)+p(y)>0
2. Ce memoreaz variabila s, de tip ir de caractere, dup executarea instruciunilor de mai
jos?
strncpy(s,"informatica",strlen("2009"));
s[strlen("2009")]='\0';
strcat(s,"BAC"); (4p.)
a. info b. infoBAC c. BACinfo d. InformaticaBAC

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


3. Se consider un arbore cu 6 noduri, numerotate de la 1 la 6, 0 1 0 0 0 1
reprezentat prin matricea de adiacen dat alturat. Scriei toate 1 0 1 1 1 0
nodurile care pot fi alese ca rdcin a arborelui astfel nct acesta 0 1 0 0 0 0
s aib un numr par de frunze. (6p.) 0 1 0 0 0 0
0 1 0 0 0 0
1 0 0 0 0 0
4. Fiecare element al unei liste simplu nlnuite, alocat dinamic, reine n cmpul nr un
numr ntreg, iar n cmpul urm adresa urmtorului element din list sau NULL dac nu
exist un element urmtor.
Ce valori au variabilele ntregi a i b dup executarea q=p;
secvenei alturate, dac variabila p reine adresa a=p->urm->nr;
while (q->urm!=NULL)
primului element al listei de mai jos, iar variabila q este {
de acelai tip cu p? q->urm->nr=q->nr*a;
q=q->urm;
}
(6p.) b=q->nr;
5. Scriei un program C/C++ care citete de la tastatur un numr natural n (1n20),
elementele unei matrice cu n linii i n coloane, numere ntregi din intervalul [-100, 100] i
afieaz pe ecran diferena m1-m2, unde m1 este media aritmetic a elementelor strict
pozitive ale matricei, situate deasupra diagonalei principale, iar m2 este media aritmetic a
elementelor strict pozitive ale matricei, situate sub diagonala principal, ca n exemplu. Cele
dou medii se consider egale cu 0 dac nu exist valori strict pozitive n zonele
corespunztoare.
Exemplu: pentru n=4 i matricea alturat se afieaz valoarea 0.25 -1 2 -4 5
(m1=2.75, calculat din elementele aflate deasupra diagonalei 0 6 3 1
principale, marcate cu chenar, i m2=2.5, calculat din elementele
2 4 2 0
subliniate). (10p.)
3 -5 1 -3

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 90
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 090

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. La un bal mascat, magazia colii pune la dispoziia elevilor 10 pelerine, 10 mti i 10
plrii divers colorate. Algoritmul de generare a tuturor posibilitilor de a obine un costum
format dintr-o plrie, o masc i o pelerin este similar cu algoritmul de generare a : (4p.)
a. elementelor produsului cartezian b. aranjamentelor
c. permutrilor d. submulimilor

Scriei pe foaia de examen rspunsul la urmtoarea ntrebare:


2. Se consider subprogramul f, definit void f(char c)
alturat. Ce se afieaz la apelul {
f('a');? if (c != 'e')
(6p.) {
f(c+1);
cout<<c; | printf(%c,c);
}
}
3. Funcia verif primete prin intermediul parametrului n un numr natural format din cel mult
9 cifre, i prin intermediul parametrului a, un numr natural nenul (2a9). Funcia
returneaz valoarea 1 dac n este un numr format din cifre aparinnd intervalului nchis
[0,a] i valoarea 0 n caz contrar.
a) Scriei definiia complet a funciei verif. (4p.)
b) Spunem c n poate fi o reprezentare n baza b (1<b10), dac toate cifrele lui n sunt
strict mai mici dect b. Scriei un program care citete de la tastatur o valoare natural n cu
cel mult 9 cifre i, utiliznd apeluri ale funciei verif, afieaz pe ecran, n ordine
cresctoare, cu spaii ntre ele, toate valorile lui b pentru care valoarea citit nu poate fi o
reprezentare n baza b. (6p.)
Exemplu: Pentru n=4101, se afieaz 2 3 4.
4. Fiierul text bac.txt conine cel mult 1000 de numere ntregi de cel mult 9 cifre fiecare,
numerele fiind separate prin cte un spaiu; printre numerele din fiier exist cel puin dou
numere pozitive, aflate pe poziii consecutive.
a) Scriei un program C/C++ care afieaz dou numere pozitive, aflate unul dup altul n
fiier, a cror sum este maxim, utiliznd un algoritm eficient din punct de vedere al
timpului de executare i al spaiului de memorie utilizat. Dac exist mai multe soluii, se
afieaz doar acea pereche pentru care diferena dintre cele dou numere este maxim.
Numerele vor fi afiate pe ecran, n ordinea din fiier, separate printr-un spaiu.
Exemplu: dac fiierul conine numerele: -2 2 16 4 -1 25 -2 8 12 7 13 se vor
afia numerele 16 4, n aceast ordine, cu un spaiu ntre ele. (6p.)
b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 91
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 091

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. tiind c variabila ntreag nr memoreaz valoarea 5, stabilii ce mesaj se va afia n urma
executrii secvenei urmtoare. (4p.)
//C++ //C
if (nr<7) if (nr>3) if (nr<7) if (nr>3)
cout<<Bine; printf(Bine);
else cout<<Foarte bine; else printf(Foarte bine);
else cout<<Rau; else printf(Rau);
a. BineRau b. Foarte bine c. Rau d. Bine

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


2. Se consider algoritmul alturat descris n pseudocod. citete z, x
S-a notat cu [a] partea ntreag a numrului real a i cu |b| (numere ntregi nenule)
valoarea absolut a numrului ntreg b. z|z|
a) Scriei valoarea care se va afia pentru z=50 i x=1. x|x|
repet
(6p.)
yx
b) Scriei n pseudocod un algoritm echivalent cu cel dat, x[(x+z/x)/2]
n care s se nlocuiasc structura repet...pn pn cnd x=y
cnd cu o structur repetitiv cu test iniial. (6p.) scrie x
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)
d) Dac pentru z se citete numrul 30, scriei o valoare
care, citit pentru x, determin ca atribuirea yx s se
execute o singur dat. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 91
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 091

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider un graf neorientat G cu 101 noduri i 101 muchii. Numrul maxim de vrfuri
izolate ale grafului poate fi: (4p.)
a. 0 b. 10 c. 50 d. 86
2. Un arbore cu rdcin, 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). Descendenii direci (fiii) ai nodului 2
sunt: (4p.)
a. 1, 6 i 10 b. 5 c. 6, 8 i 9 d. 3

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


3. Se consider definit matricea A care are 10 linii, numerotate
de la 1 la 10, i 8 coloane, numerotate de la 1 la 8, ale crei for(j=1;j<=10;j++)
elemente sunt numere ntregi. A[j][8]=0;
Rescriei secvena alturat astfel nct toate elementele de
pe cea de-a treia coloan a matricei s fie iniializate cu
valoarea 100. (6p.)
4. Ce se va afia n urma executrii char c[]="abracadabra";
secvenei alturate de program, n i=6;
care variabila c memoreaz un ir cu cout<<c[i]<<c[i+1] <<endl;
cel mult 20 de caractere, iar variabila | printf(%c%c\n, c[i],c[i+1]);
i este de tip ntreg? while (i>=0)
{cout<<c[i]; | printf(%c,c[i]);
(6p.) i=i-1;}

5. O list dublu nlnuit, alocat dinamic, memoreaz n fiecare nod al su, n cmpul info
un caracter, iar n cmpurile prec i urm adresa nodului precedent, respectiv urmtor din
list sau NULL dac nu exist un nod precedent, respectiv urmtor n list.
Scriei programul C/C++ care citete de la tastatur un cuvnt (avnd maximum 20 de
litere), creeaz lista dublu nlnuit care va conine n ordine, de la stnga la dreapta,
caracterele cuvntului citit (cte o liter n fiecare nod al listei) i afieaz pe ecran
caracterele din list, n ordinea invers a memorrii lor.
Exemplu: dac s-a citit de la tastatur cuvntul IRINA se creaz lista de mai jos, apoi se va
afia ANIRI.

(10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 91
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 091

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Pentru a planifica n orarul unei coli, la clasa a XII-a, 4 ore de informatic n zile lucrtoare
diferite din sptmn, cte o singur or pe zi, se poate utiliza un algoritm echivalent cu
algoritmul de generare a: (4p.)
a. permutrilor de 4 elemente b. aranjamentelor de 4 elemente luate cte 5
c. aranjamentelor de 5 elemente luate cte 4 d. combinrilor de 5 elemente luate cte 4

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


void f(int i)
2. Subprogramul recursiv alturat { if (. . .)
este definit incomplet. Scriei { printf(%d ,i); | cout<<i<< ;
expresia care poate nlocui f(i/2);
punctele de suspensie astfel printf(%d ,i); | cout<<i<< ;
nct, n urma apelului, f(12) s }
se afieze irul de valori: }
12 6 3 1 1 3 6 12. (6p.)
3. Subprogramul par primete prin singurul su parametru, n, un numr natural nenul cu cel
mult 8 cifre i returneaz valoarea 1 dac n conine cel puin o cifr par, sau returneaz
valoarea 0 n caz contrar.
Exemplu: pentru n=723 subprogramul va returna valoarea 1.
a) Scriei numai antetul subprogramului par. (2p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural nenul n cu cel
mult trei cifre, apoi un ir de n numere naturale, cu cel puin dou i cel mult 8 cifre fiecare,
i afieaz pe ecran numrul de valori din irul citit care au numai cifra unitilor par,
celelalte cifre fiind impare. Se vor utiliza apeluri utile ale subprogramului par.
Exemplu: dac n=4, iar irul citit este 7354, 123864, 51731, 570 se va afia 2 (numerele
7354 i 570 respect condiia cerut). (8p.)
4. Fiierul numere.in conine cel mult 5000 de numere reale, cte unul pe fiecare linie. Se
cere s se scrie un program care s citesc toate numerele din fiier i s afieze pe ecran
numrul de ordine al primei, respectiv al ultimei linii pe care se afl cel mai mare numr din
fiier. Cele dou numere vor fi separate printr-un spaiu. Alegei o metod de rezolvare
eficient din punct de vedere al spaiului de memorare i al timpului de executare.
Exemplu: dac fiierul are coninutul alturat, pe ecran se vor afia numerele 2 6. 3.5
7
a) Descriei succint, n limbaj natural, metoda de rezolvare aleas, explicnd n ce -4
const eficiena ei. (4p.)
7
b) Scriei programul C/C++ corespunztor metodei descrise. (6p.) 2
7
6.3
5

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 92
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 092


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.
Stabilii care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul
ntreg x, nu aparine intervalului A=(-10,-2)[50,100]? (4p.)
a. (x<=-10) || (x<50 && x>=-2) || (x>100)
b. (x<=-10) || (x<=50 && x>=-2) || (x>=100)
c. (x<-10) || (x<50 && x>-2) || (x>100)
d. (x<=-10) || (x<=50 || x>=-2) || (x>100)

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


2. Se consider algoritmul alturat, descris n citete n
pseudocod. (numr natural nenul)
nr0
S-a notat cu [x] partea ntreag a numrului real x. y0
pentru i1,n execut
a) Scriei ce se afieaz dac se citesc, n aceast repet
ordine, valorile: 5, 8, 12, 15, 10, 25, 9, 8, 30, 10. citete x (numr real)
(6p.) nrnr+1
pn cnd x>=1 i x<=10
b) Dac pentru n se citete valoarea 3 scriei un ir de yy+x
date de intrare astfel nct ultima valoare care se
afieaz s fie 3. (4p.) scrie [y/n]
scrie nr
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)
d) Scriei un algoritm pseudocod echivalent cu cel dat
n care structura repet...pn cnd s fie
nlocuit cu o structur repetitiv cu test iniial. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 92
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 092

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care din urmtoarele arce aparine grafului
orientat cu 4 vrfuri, avnd gradele din tabelul
alturat (x,yN)? (4p.)
a. (2,3) b. (1,2) c. (1,4) d. (4,1)
2. Variabila s este de tip ir de caractere, iar variabilele c1 i c2 sunt de tip char. Care
expresie are valoarea 1 dac i numai dac irul de caractere s conine caracterele
memorate de variabilele c1 i c2? (6p.)
a. strstr(s,c1+c2)!=0 b. strchr(s,c1)!=0 || strchr(s,c2)!=0
c. strchr(strchr(s,c1),c2)!=0 d. strchr(s,c1)*strchr(s,c2)!=0

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


3. Scriei vectorul de tai corespunztor arborelui cu rdcin, 1: 4,6,7
cu 8 noduri, numerotate de la 1 la 8, dat prin lista alturat a 2: -
descendenilor direci (fiilor)? (6p.) 3: 1,8
4: -
5: -
6: 2
7: -
8: 5

4. Scriei o expresie logic C/C++ care s struct punct {float x; float y;};
codifice condiia ca variabila v din declaraiile struct segment {
alturate s reprezinte segmentul nul struct punct origine;
(segmentul care are originea identic cu struct punct extremitate;} v;
extremitatea). (4p.)
5. Scriei un program C/C++ care citete de la tastatur numerele ntregi m i n (1m24,
1n24) i elementele unui tablou bidimensional cu m linii i n coloane, numere ntregi
distincte de cel mult 4 cifre fiecare, i elimin din tablou, la nivelul memoriei, linia i coloana
corespunztoare elementului de valoare minim. Programul va afia tabloul obinut pe ecran
pe m-1 linii, elementele fiecrei linii fiind separate prin cte un spaiu. (10p.)
Exemplu: pentru m=3 i n=4 i tabloul de mai jos Pe ecran se va afia:
2 7 1 4 14 6 3
14 6 12 3 9 22 5
9 22 8 5

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 92
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 092

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1.
Avnd la dispoziie cifrele 0, 1 i 2 se pot genera, n ordine cresctoare, numere care au
suma cifrelor egal cu 2. Astfel, primele 6 soluii sunt 2, 11, 20, 101, 110, 200. Folosind
acelai algoritm, se genereaz numere cu cifrele 0, 1, 2 i 3 care au suma cifrelor egal
cu 4. Care va fi al 7-lea numr din aceast generare? (4p.)
a. 130 b. 301 c. 220 d. 103

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


2. Se consider subprogramul f definit alturat. void f(int x)
{
Ce se va afia n urma apelului f(14);? if (x<=10)
(6p.) cout<<0<< ;|printf("%d ",0);
else
{f(x-2);
cout<<x<< ;|printf("%d ",x);
}
}
3. Subprogramul ordonare primete prin parametrul x un tablou unidimensional cu cel mult
100 de elemente numere reale, iar prin parametrul n un numr ntreg ce reprezint numrul
efectiv de elemente ale tabloului x. Subprogramul ordoneaz cresctor elementele tabloului
i furnizeaz, tot prin intermediul parametrului x, tabloul ordonat.
a) Scriei numai antetul acestui subprogram. (4p.)
b) Scriei un program C/C++ care citete de la tastatur dou numere naturale, n i m
(1n100 i mn), i apoi un ir de n numere reale distincte. Folosind apeluri utile ale
subprogramului ordonare, programul afieaz pe prima linie a ecranului, cele mai mari m
elemente din irul citit (n ordine cresctoare a valorilor lor), iar pe a doua linie de ecran,
cele mai mici m elemente din ir (n ordine descresctoare a valorilor lor). Numerele afiate
pe aceeai linie vor fi separate prin cte un spaiu. (10p.)
Exemplu : dac n=9, m=3, iar irul este (14.2, 60, -7.5, -22, 33.8, 80, 4, 10, 3) se va
afia pe ecran:
33.8 60 80
3 -7.5 -22
4. Scriei un program C/C++ care creeaz fiierul text SIR.TXT i scrie n el toate irurile
formate din dou caractere distincte, litere mari ale alfabetului englez, astfel nct niciun ir
s nu fie format din dou vocale alturate. Fiecare ir va fi scris pe cte o linie a fiierului.
(6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 93
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 093

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabile ntregi x i y memoreaz cte un numr natural, cu x/10==y%10
exact dou cifre. Care este valoarea expresiei x-y tiind c y/10==x%10
fiecare dintre expresiile C/C++ alturate are valoarea 1? (4p.) x/10==x%10+1
a. 0 b. 9 c. 1 d. 11

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


2. Se consider algoritmul alturat descris n pseudocod. citete n,m
a) (numere naturale, nm)
Scriei valoarea care se afieaz dac se citesc
numerele n=2 i m=11. (6p.) s0
ct timp n<m execut
b) Scriei programul C/C++ corespunztor algoritmului dat. ss+n
(10p.) nn+3
c)
Dac pentru n se citete valoarea 1 scriei numrul de
dac n=m atunci
valori naturale nenule de exact o cifr, care pot fi citite
scrie s+n
pentru variabila m, astfel nct s se afieze valoarea 0. altfel
(6p.) scrie 0
d) Scriei n pseudocod un algoritm echivalent cu cel dat,
care s NU foloseasc structuri repetitive sau recursive.
(4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 93
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 093

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care este numrul minim de noduri ce trebuie eliminate din graful
alturat astfel nct subgraful obinut s nu fie conex? (4p.)

a. 3 b. 0 c. 2 d. 1
2. n declararea alturat, cmpurile x i y ale nregistrrii pot struct punct
memora coordonatele carteziene ale unui punct din planul xOy. {
Care dintre urmtoarele expresii are valoarea 1 dac i numai float x,y;
}P;
dac punctul P este situat pe axa Ox ? (6p.)
a. P.x==0 b. P.y==0 c. P.x+P.y==0 d. P.x==P.y

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


3. Se consider arborele din figura alturat.
a) Care este nodul ce trebuie ales ca rdcin astfel nct aceasta s aib
4 descendeni direci (fii)? (3p.)

b) Care sunt cei patru fii ai nodului ales ca rdcin n acest caz? (3p.)
4. O list liniar simplu nlnuit cu 99 de elemente, reine n p=prim;
cmpul nr al fiecrui element cte un numr natural, iar n while(p->urm!=NULL)
cmpul urm, adresa elementului urmtor din list sau NULL {q=p->urm;
dac nu exist un element urmtor. tiind c prim p->urm=q->urm;
delete q; | free(q);
pstreaz adresa primului element al listei i c p i q sunt
p=p->urm;}
dou variabile de acelai tip cu prim, cte elemente are
lista dup executarea secvenei alturate? (4p.)
5. Un ir de caractere s se numete ablon pentru un alt ir de caractere x, dac este
format din caractere din mulimea {*, ?,#}, are aceeai lungime cu x i pe fiecare poziie
din s n care apare * n x se gsete o vocal, pe fiecare poziie din s n care apare #
n x se gsete o consoan i pe fiecare poziie din s n care apare ? putem avea
orice caracter n x. Se consider vocal orice liter din mulimea {a,e,i,o,u}.
Scriei programul C/C++ care citete de la tastatur dou iruri de caractere, de aceeai
lungime, formate din cel mult 200 de litere mici ale alfabetului englez, i afieaz pe ecran,
un ablon comun celor dou iruri citite, care conine un numr minim de caractere ?.
Exemplu: pentru irurile diamant i pierdut se afieaz #**#??# (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 93
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 093

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. n cte dintre permutrile elementelor mulimii {I,N,F,O} vocala I apare pe
prima poziie? (4p.)
a. 1 b. 24 c. 6 d. 12

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


2. Subprogramul f este definit alturat. void f (int x,int y)
Ce se afieaz ca urmare a apelului { if (x<y){x=x+1;f(x,y);
f(1,3); ? (6p.) y=y-1;f(x,y);
}
else
cout<<x<<y; printf(%d%d,x,y);
}
3. Scriei programul C/C++ care citete de la tastatur un numr natural n (1n99), impar, i
construiete n memorie un tablou unidimensional A=(A1, A2,, An) cu elementele
mulimii {1,2,...,n} astfel nct elementele de pe poziii impare formeaz irul cresctor
1,2,...,[(n+1)/2], iar elementele de pe poziii pare irul descresctor n,n-1,...,
[(n+1)/2]+1.
Exemplu: pentru n=11 se va construi tabloul A :

Programul va crea un fiier text TABLOU.TXT. Elementele tabloului se vor scrie, n ordine, pe
prima linie a fiierului, cu cte un spaiu ntre ele. (10p.)
4. a) Scriei definiia complet a subprogramului dcm, cu doi parametri, care:
- primete prin parametrii a i b dou valori naturale din intervalul [1,30000]
- returneaz o valoare natural reprezentnd cel mai mare numr care este att divizor al lui a
ct i divizor al lui b.
Exemplu: dac a=100 i b=120, subprogramul returneaz valoarea 20. (6p.)
b) Scriei un program C/C++ care citete de la tastatur dou numere naturale a i b,
numere din intervalul [1,30000] i determin, folosind apeluri utile ale subprogramului
dcm, cel mai mare numr care este divizor al fiecruia dintre numerele a i b i are
proprietatea c este un produs de dou sau mai multe numere prime distincte. Programul
afieaz pe ecran numrul cu proprietatea cerut, iar dac nu exist un astfel de numr,
afieaz mesajul nu exista.
Exemplu: dac a=60 i b=72, atunci se afieaz 6
iar dac a=100 i b=75, atunci se afieaz nu exista. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 94
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 094

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


y=1;
1. n secvena alturat de instruciuni, variabilele i,j,k i if (k>0)
y sunt de tip ntreg. Pentru care dintre urmtoarele if (i!=j)
seturi de valori ale variabilelor i,j i k variabila y va y=0;
avea valoarea 1 n urma executrii secvenei? (4p.) else y=2;
a. k=0; i=5; j=5 b. k=10; i=5; j=6
c. k=10; i=5; j=5 d. y nu va avea valoarea 1 indiferent de
valorile variabilelor i,j i k

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


citete n
2. Se consider algoritmul alturat, descris n
(numr natural nenul)
pseudocod.
n1 0
S-a notat cu x%y restul mpririi numrului natural x la
n2 0
numrul natural nenul y, iar cu [x/y] ctul mpririi ntregi
k1 0
a numrului natural x la numrul natural nenul y. ct timp n 0 execut
a) Scriei ce va afia algoritmul dac pentru n se dac (n%10)%2=0 atunci
citete valoarea 123611. (6p.) n2 n2 * 10 + n%10
altfel
b) Scriei cte valori naturale distincte, formate din n1 n1 * 10 + n%10
patru cifre fiecare, pot fi citite pentru variabila n, k1 k1+1
astfel nct, pentru fiecare dintre acestea, valoarea
afiat de algoritm s fie divizibil cu 10. (6p.) n [n/10]

c) Scriei n pseudocod un algoritm echivalent cu cel
p 1
dat care s utilizeze o singur structur repetitiv.
pentru i1,k1 execut
(4p.)
p p * 10
d) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.) x n2*p + n1
scrie x

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 94
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 094

Pentru itemul 1 scriei pe foaia de examen litera care corespunde rspunsului corect.
0 1 1 0 0
1. Care dintre nodurile grafului neorientat cu 5 noduri, numerotate 1 0 1 0 1
de la 1 la 5, dat prin matricea de adiacen alturat, are gradul 1 1 0 1 1
cel mai mare? (4p.) 0 0 1 0 1
0 1 1 1 0
a. 4 b. 3 c. 5 d. 2

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


2. Un graf neorientat cu 5 noduri, numerotate de la 1 la 5, conine urmtoarele muchii: [1,2],
[1,3], [2,3], [2,5], [3,4], [3,5], [4,5]. Eliminai din acest graf numrul necesar de
muchii astfel nct graful parial rezultat s fie arbore. Considernd c acest arbore are ca
rdcin vrful 5, care este vectorul cu legturi de tip tat corespunztor ? (4p.)
1: 2, 3
3. Un graf neorientat cu 5 noduri, numerotate de la 1 la 5, este 2: 1, 3, 5
reprezentat prin listele de adiacen alturate. Transformai acest 3: 1, 2, 4, 5
graf ntr-un graf orientat prin nlocuirea fiecrei muchii cu exact un 4: 3, 5
arc, astfel nct n graful orientat care rezult s existe cel puin un 5: 2, 3, 4
drum de la orice nod x pn la orice nod y, (xy). Scriei
reprezentarea grafului orientat pe care l-ai construit, prin liste de
adiacen. (6p.)
4. Scriei un program n limbajul C/C++ care citete de la tastatur un singur ir format din cel
mult 20 de caractere care reprezint numele i prenumele unei persoane. ntre nume i
prenume se afl un numr oarecare de caractere spaiu (cel puin unul). Att numele ct i
prenumele sunt formate numai din litere ale alfabetului englez. Programul construiete n
memorie i afieaz pe ecran un al doilea ir de caractere, care s conin prenumele,
urmat de exact un spaiu i apoi numele din irul citit iniial.
Exemplu: dac se citete irul:
Popescu Vasile
se va construi i apoi se va afia pe ecran irul
Vasile Popescu (10p.)
5. n memorie este construit o list simplu nlnuit, alocat dinamic, ale crei elemente
memoreaz n cmpul lit un caracter i n cmpul next adresa elementului urmtor din
list sau valoarea NULL dac nu exist un element urmtor. Se tie c acast list conine
cel puin trei elemente. Variabila prim reine adresa primului element al acestei liste, iar
variabila ultim reine adresa ultimului element din aceast list.
Scriei secvena de program care interschimb valorile reinute n cmpurile lit de la al
doilea, respectiv de la ultimul element al acestei liste. n cazul n care vei folosi i alte
variabile dect cele date prin enun, scriei i declarrile necesare pentru aceste variabile.
Exemplu: dac presupunem c iniial lista avea coninutul i forma urmtoare:
prim ultim
V a s i l e
atunci, n urma executrii secvenei, ea va avea urmtorul coninut:
prim ultim
V e s i l a
(6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 94
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 094

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


Un elev realizeaz un program care citete o valoare natural pentru o variabil 3
1.
n i apoi afieaz n fiierul permut.txt, pe prima linie, valoarea lui n, apoi 3 2 1
toate permutrile mulimii {1,2,...,n}, cte o permutare pe cte o linie a 3 1 2
fiierului. Rulnd programul pentru n=3, fiierul va conine cele 7 linii alturate. 2 3 1
Dac va rula din nou programul pentru n=5, ce va conine a 8-a linie din fiier? 2 1 3
1 3 2
(4p.)
1 2 3
a. 2134 b. 2143 c. 3421 d. 3412

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


2. Funcia recursiv f este astfel definit nct f(1)=8, iar f(n+1)=2*f(n)-4 pentru orice n
natural nenul.
a) Ce valoare are f(5) ? (3p.)
b) Care este cea mai mare valoare pe care o poate lua x astfel nct f(x) < 1000 ? (3p.)
3. Scriei definiia complet a funciei f, care primete prin intermediul parametrului n un numr
natural nenul (2n200), iar prin intermediul parametrului a un tablou unidimensional care
conine n valori ntregi, fiecare dintre aceste valori ntregi avnd cel mult patru cifre. Funcia
returneaz valoarea 1 dac elementele tabloului formeaz un ir cresctor, valoarea 2 dac
elementele tabloului formeaz un ir descresctor, valoarea 0 dac elementele tabloului
formeaz un ir constant i valoarea -1 n rest. (10p.)
4. Fiierul text numr.txt conine pe prima linie o valoare natural n cu exact 9 cifre nenule
distincte. Scriei un program eficient din punctul de vedere al timpului de executare care
citete din fiier numrul n i afieaz pe ecran cea mai mic valoare m format din exact
aceleai cifre ca i n, astfel nct m>n. n cazul n care nu exist o astfel de valoare,
programul va afia pe ecran mesajul Nu exista.
Exemplu: Dac fiierul numr.txt conine numrul 257869431, se va afia pe ecran
numrul 257891346.
a) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)
b) Scriei un program C/C++ care rezolv problema conform metodei descrise. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 95
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 095

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. n secvena alturat de instruciuni, variabilele i, j, k, x i if (k>0)
y sunt de tip ntreg. Pentru care dintre urmtoarele seturi if (i!=j) x=0;
de valori ale variabilelor i, j i k variabilele x i y vor primi else x=1;
valori diferite ntre ele n urma executrii acestei secvene? else x=2;
(4p.) if (i!=j)
if (k>0) y=0;
else y=2;
else y=1;
a. x i y primesc aceeai valoare indiferent b. k=0; i=5; j=6
de valorile variabilelor i,j i k
c. k=10; i=5; j=5 d. k=0; i=5; j=5

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


x 0
2. Se consider algoritmul alturat, descris n
citete n,k
pseudocod.
(numere naturale nenule)
S-a notat cu a%b restul mpririi numrului natural a la
numrul natural nenul b, iar cu [a/b] ctul mpririi ct timp n0 execut
ntregi a numrului natural a la numrul natural nenul b. dac n%10<k atunci
a) Scriei numrul care se va afia dac se citesc x x*10 + n%10
pentru n valoarea 528791 i pentru k valoarea 6.
(6p.) n [n/10]

b) Dac pentru k se citete valoarea 9 scriei toate scrie x
valorile formate din exact 5 cifre care se pot citi
pentru variabila n, astfel nct rezultatul afiat s
fie, de fiecare dat, 2008. (6p.)
c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel dat care s utilizeze n locul structurii
ct timp...execut o structur repetitiv condiionat posterior. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 95
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 095

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Cte valori nule pot s apar ntr-un vector cu legturi de tip tat asociat unui arbore cu
rdcin care conine 10 noduri? (4p.)
a. niciuna b. exact una
c. depinde de configuraia arborelui d. exact dou
2. n secvena alturat, i, j i n sunt variabile ntregi, iar a for(i=0; i<n; i++)
este o matrice ptratic format din n linii i n coloane for(j=0; j<n; j++)
numerotate de la 0 la n-1. Care este suma elementelor a[i][j] = (i+j)%n;
de pe diagonala secundar din matricea a, n urma
executrii acestei secvene, dac n=8? (4p.)
a. 8 b. 64 c. 24 d. 56

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


3. Scriei listele de adiacen pentru un graf neorientat, cu 5 noduri, numerotate de la 1 la 5,
care are un numr maxim de muchii i nu este eulerian. (6p.)
4. Se d graful orientat cu 5 noduri, numerotate de la 1 la 5, definit 0 1 0 0 0
prin matricea de adiacen alturat. Determinai un drum de 0 0 1 1 1
lungime maxim de la nodul 1 la nodul 5 , care s fie alctuit din 0 1 0 1 0
arce distincte dou cte dou. Scriei lungimea drumului 0 0 1 0 0
determinat precum i arcele care l compun (lungimea unui drum 0 0 0 0 0
este egal cu numrul de arce care l compun). (6p.)
5. Scriei un program n limbajul C/C++ care citete de la tastatur un singur ir, format din cel
mult 20 de caractere, care reprezint numele i prenumele unei persoane. ntre nume i
prenume se afl un numr oarecare de caractere spaiu (cel puin unul). Att numele, ct i
prenumele, sunt formate numai din litere mici ale alfabetului englez. Programul construiete
n memorie i afieaz pe ecran un alt ir de caractere, care s conin iniiala prenumelui
(prima liter a prenumelui), urmat de un caracter punct, de exact un spaiu i de numele
din irul citit iniial. Toate literele din irul afiat vor fi, de asemenea, litere mici.
Exemplu: dac se citete irul:
popescu vasile
se va construi i apoi se va afia pe ecran irul
v. popescu (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 95
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 095

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Un program citete o valoare natural nenul pentru n i apoi genereaz i afieaz, n


ordine cresctoare lexicografic, toate combinaiile formate din n cifre care aparin mulimii
{0,1}. Astfel, pentru n=2, combinaiile sunt afiate n urmtoarea ordine: 00, 01, 10, 11.
Dac se ruleaz acest program i se citete pentru n valoarea 9, imediat dup combinaia
011011011 va fi afiat combinaia: (4p.)
a. 011100100 b. 011011100 c. 011011011 d. 011100000

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


int f(int n)
2. Funcia f are definiia alturat. Scriei cinci valori {
de apel pe care le poate avea n astfel nct, if (n<=9) return 0;
pentru cele 5 apeluri corespunztoare acestor if (n%5==0) return 0;
valori, s se obin 5 valori ale funciei, disticte return 1+f(n-3);
dou cte dou. (6p.) }
3. Funcia f primete prin intermediul parametrului n un numr natural nenul (2n200), iar
prin intermediul parametrului a un tablou unidimensional care conine n valori ntregi nenule
(fiecare dintre aceste valori ntregi avnd cel mult patru cifre).
Funcia returneaz valoarea -1 dac numrul de valori negative din tabloul a este strict mai
mare dect numrul de valori pozitive din tablou, valoarea 0 dac numrul de valori
negative din a este egal cu numrul de valori pozitive din tablou i valoarea 1 dac numrul
de valori pozitive din tabloul a este strict mai mare dect numrul de valori negative din a.
Scriei definiia complet a funciei f. (10p.)
4. a) Scriei un program C/C++ care citete de la tastatur un numr natural nenul, S, avnd
maximum 9 cifre, i printr-o metod eficient din punct de vedere al timpului de executare,
determin i scrie n fiierul rez.dat trei valori naturale a cror sum este egal cu S, i al
cror produs este maxim. Cele trei valori vor fi scrise n ordine cresctoare pe prima linie a
fiierului rez.dat, separate prin cte un spaiu.
Exemplu: dac se citete valoarea 5, fiierul rez.dat va avea o linie cu coninutul 1 2 2.
(6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri). (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 96
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 096

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. n secvena alturat, variabilele i, j, k i y sunt de tip ntreg. if (k>0)
Pentru care dintre urmtoarele seturi de valori ale variabilelor if (i!=j) y=0;
i, j i k variabila y va avea valoarea 1 n urma executrii else y=1;
secvenei? (4p.) else y=2;
a. k=0; i=5; j=5 b. k=10; i=5; j=6 c. k=10; i=5; j=5 d. k=0; i=5; j=6

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


2. Se consider algoritmul alturat, descris n citete n (numr natural nenul)
pseudocod. pentru i1,n execut
pentru j1,n execut
a) Dac se citete pentru n valoarea 10, scriei pentru k1,n execut
valorile care se afieaz, n forma rezultat n dac i<j<k atunci
urma executrii algoritmului, (6p.) dac i+j+k=n atunci
scrie i,' ',j,' ',k
b) Scriei o valoare format din exact dou cifre care, salt la rnd nou
dac se citete pentru n, determin ca printre
tripletele de valori afiate s existe unul alctuit
din trei numere consecutive. (6p.)

c) Scriei programul C/C++ corespunztor
algoritmului dat. (10p.)
d) Scriei n pseudocod un algoritm echivalent cu cel
dat care s utilizeze numai dou structuri
repetitive. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 96
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 096

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care este numrul maxim de valori egale care pot s apar ntr-un vector cu legturi de tip
tat asociat unui arbore cu rdcin care conine 10 noduri? (4p.)
a. cel mult 2 b. 10
c. nu pot s apar valori egale ntr-un vector d. 9
cu legturi de tip tat
for(i=0; i<n; i++)
2. n secvena alturat, i, j i n sunt variabile ntregi, iar a for(j=0; j<n; j++)
este o matrice ptratic format din n linii i n coloane, a[i][j] = (i+j)%n;
numerotate de la 0 la n-1. Care este suma elementelor
de pe diagonala principal din matricea a, n urma
executrii acestei secvene, dac n=8? (4p.)
a. 24 b. 64 c. 56 d. 8

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


3. Scriei listele de adiacen pentru un graf neorientat cu 5 noduri, numerotate de la 1 la 5,
care este hamiltonian dar NU este eulerian. (6p.)
4. Se d graful orientat cu 5 noduri, numerotate de la 1 la 5, definit prin 0 1 0 0 0
matricea de adiacen alturat. Scriei arcele din care este alctuit 0 0 1 1 1
un drum de la nodul 1 la nodul 5, care trece prin cel puin patru 0 1 0 1 0
noduri. (6p.) 0 0 1 0 0
0 0 0 0 0
5. Scriei un program n limbajul C/C++ care citete de la tastatur dou iruri, formate fiecare
din cel mult 20 de caractere. Primul ir reprezint numele unei persoane, iar al doilea ir
reprezint prenumele aceleiai persoane. Att numele ct i prenumele sunt formate numai
din litere ale alfabetului englez i fiecare conine cel puin o consoan. Programul
construiete n memorie i afieaz pe ecran un al treilea ir de caractere, care conine
consoanele din prenumele citit dispuse n ordinea n care apar n prenume urmate de exact
un spaiu i de numele citit.
Exemplu: dac primul ir citit este Popescu, iar al doilea este Vasile
se va construi i apoi se va afia pe ecran irul
Vsl Popescu (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 96
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 096

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

1. Un program citete o valoare natural nenul pentru n i apoi genereaz i afieaz, n


ordine descresctoare lexicografic, toate combinaiile de n cifre care aparin mulimii
{0,1}. Astfel, pentru n=2, combinaiile sunt afiate n urmtoarea ordine: 11, 10, 01, 00.
Dac se ruleaz acest program i se citete pentru n valoarea 8, imediat dup combinaia
10101000 va fi afiat combinaia: (4p.)
a. 01010111 b. 10100111 c. 10101001 d. 10100100

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


int f(int n)
2. Funcia f are definiia alturat. Scriei 4 valori de {if (n<=9) return 0;
apel pe care le poate avea n astfel nct, pentru if (n%4==0) return 0;
cele 4 apeluri, corespunztoare acestor valori, s return 1+f(n-3);
se obin 4 valori, distincte dou cte dou. (6p.) }
3. Funcia verif primete prin intermediul a trei parametri, notai a, b i c, trei valori naturale
nenule, fiecare de maximum patru cifre. Funcia returneaz valoarea 1 dac cele trei valori
pot constitui laturile unui triunghi i valoarea 0 n caz contrar.
a) Scriei definiia complet a funciei verif. (5p.)
b) Scriei un program C/C++ care citete de la tastatur ase valori naturale nenule, fiecare
de maximum patru cifre, apoi verific, utiliznd apeluri utile ale funciei verif, dac primele
trei numere citite pot constitui laturile unui triunghi i dac ultimele trei numere citite pot
constitui laturile unui triunghi; n caz afirmativ, programul afieaz pe ecran mesajul
congruente dac cele dou triunghiuri sunt congruente sau mesajul necongruente dac
cele dou triunghiuri nu sunt congruente; dac cel puin unul dintre cele dou triplete de
valori nu pot constitui laturile unui triunghi, programul va afia pe ecran mesajul nu. (5p.)
4. Fiierul BAC.DAT conine pe prima linie, separate printr-un spaiu, dou valori naturale n i m
(2n1000, 2m1000), pe a doua linie n valori ntregi i pe a treia linie m valori ntregi.
Valorile de pe a doua i de pe a treia linie apar n fiier n ordine strict cresctoare, sunt
separate prin cte un spaiu i au cel mult 4 cifre fiecare.
Se cere afiarea pe ecran a dou valori, dintre cele aflate n poziii consecutive pe a treia
linie a fiierului, care determin intervalul nchis n care se afl un numr maxim de valori de
pe a doua linie a fiierului. Se va utiliza o metod eficient din punct de vedere al timpului de
executare i al spaiului de memorie utilizat. Se garanteaz c cel puin un numr aflat pe a
doua linie a fiierului aparine unuia dintre intervalele determinate de numerele de pe a treia
linie a fiierului.
Exemplu: dac fiierul BAC.DAT are coninutul 10 4
alturat, programul va afia: 1 9 -1 1 3 4 5 6 10 15 16 117
0 1 9 20
Explicaie: cele patru numere de pe a treia linie a fiierului determin trei intervale:
[0,1], [1,9], [9,20]; n intervalul [1,9] se afl 5 valori de pe a doua linie a fiierului,
acesta fiind numrul maxim de valori aflate n unul dintre cele trei intervale.

a) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const


eficiena ei (3 4 rnduri). (4p.)
b) Scriei un program C/C++ care s rezolve problema conform metodei descrise. (6p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 97
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 097

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


x = y + z;
1. Care dintre variabilele ntregi x, y i z vor avea la finalul z = x z;
executrii secvenei alturate de instruciuni, aceeai valoare y = z;
ca nainte de executare? (4p.) z = x - y;
a. numai x i z b. numai y i z c. numai x i y d. x, y i z

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


2. Se consider algoritmul alturat reprezentat pentru i 1,3 execut
n pseudocod. citete x (numr natural)
S-a notat cu x%y restul mpririi numrului ntreg x s 0
la numrul ntreg nenul y. pentru j 1,i execut
s s + x % 10
a) Scriei ce valori se vor afia dac se citesc, n
ordine, valorile 123, 25, 218. (6p.) scrie s
b) Scriei un de set de date de intrare pentru care
se vor afia trei valori consecutive. (6p.)
c) Scriei n pseudocod un algoritm echivalent cu cel dat, care s nu utilizeze nicio structur
repetitiv. (4p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 97
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 097

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Se consider un graf neorientat 5 noduri i 3 muchii. Care este numrul maxim de noduri
cu grad 1 care pot exista n graf? (6p.)
a. 2 b. 3 c. 4 d. 5
2. Se consider un arbore cu rdcin memorat cu ajutorul vectorului de tai
T=(2,0,1,1,1,2). Stabilii care dintre nodurile arborelui sunt situate pe nivelul 3, dac
rdcina este situat pe nivelul 1? (4p.)
a. 3 4 5 b. 1 c. 2 6 d. 1 2 6

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


3. Se consider variabila s care memoreaz irul de caractere CARACATITA. Ce valoare va
avea s dup executarea instruciunii de mai jos?
strcpy(s,strstr(s,"TI")); (6p.)
4. O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element
cte un numr ntreg de cel mult 4 cifre, iar n cmpul adr, adresa elementului urmtor din
list sau NULL dac nu exist un element urmtor n list. Lista are cel puin trei noduri, iar
variabila p reine adresa primului nod al listei. Scriei, n limbajul C/C++, declarrile ce
definesc lista i o secven de instruciuni prin a crei executare se afieaz pe ecran
valoarea memorat n cel de-al treilea nod al listei. (4p.)
5. Se consider un tablou bidimensional cu n linii i m coloane (1n24, 1m24) ce
memoreaz numere ntregi cu cel mult dou cifre fiecare. Scriei un program n limbajul
C/C++ care citete de la tastatur valorile n, m i elementele tabloului, i care inverseaz
ordinea elementelor n cadrul fiecrei coloane, ca n exemplu. Programul va afia pe ecran,
pe n linii, matricea obinut dup inversare, elementele fiecrei linii fiind separate prin cte
un spaiu. (10p.)
Exemplu: pentru n=4, m=3 i matricea: Pe ecran se va afia:
1 7 3 3 4 5
4 5 6 7 8 9
7 8 9 4 5 6
3 4 5 1 7 3

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 97
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 097

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Subprogramul recursiv alturat este definit incomplet. int f(int x){
Care dintre urmtoarele expresii poate nlocui punctele if (...)
de suspensie astfel nct, n urma apelului, return x%10 + x/10;
subprogramul f s returneze suma primelor dou cifre else
ale numrului primit prin intermediul parametrului x? return f(x/10);
Exemplu: n urma apelului f(2318) valoarea returnat }
este 5. (4p.)
a. x<=100 b. x<=99 c. x==99 d. x!=0

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


2. Se genereaz, utiliznd metoda bactracking, cuvintele cu exact 3 litere din mulimea
{a,x,c,f,g}. Dac primele patru cuvinte generate sunt, n ordine, aaa, aax, aac, aaf,
scriei ultimele trei cuvinte care ncep cu litera a, n ordinea n care vor fi generate. (6p.)
3. Tabloul unidimensional V, declarat global, memoreaz exact 50 de numere ntregi:
V1, V2,...,V50.
Subprogramul Calcul primete prin intermediul parametrului k un numr natural nenul
(k50) i furnizeaz prin intermediul parametrului S suma tuturor elementelor pozitive, din
tabloul V, cu indici mai mari sau egali cu k sau 0 dac toate elementele menionate sunt
negative.
a) Scriei doar antetul subprogramului Calcul. (2p.)
b) Scriei un program n limbajul C/C++ care citete de la tastatur cele 50 de componente
ntregi ale tabloului V i dou numere naturale nenule x i y (x<y50). Programul afieaz
suma elementelor pozitive din tablou, cu indici cuprini ntre x i y inclusiv, sau 0 dac toate
elementele menionate sunt negative, folosind apeluri utile la subprogramul Calcul. (8p.)
4. Pe prima linie a fiierului text DATE.TXT se gsete o valoare natural k (k1000000).
a) Scriei un program C/C++ care citete din fiierul DATE.TXT valoarea k i afieaz, pe
ecran, toate perechile de numere naturale nenule x, y (xy) cu proprietatea c x2+y2=k.
Fiecare pereche va fi afiat pe cte o linie, numerele fiind desprite printr-un spaiu.
Alegei o metod de rezolvare eficient din punctul de vedere al timpului de executare.
Exemplu: dac fiierul DATE.TXT conine numrul 1000000, pe ecran 280 960
se vor afia, nu neaprat n aceast ordine, perechile alturate. (6p.) 352 936
600 800
b) Descriei succint, n limbaj natural, metoda utilizat, justificnd eficiena acesteia (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 98
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 098

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Variabila ntreag x memoreaz o valoare mai mare ca 1000, format doar din cifre
distincte. Care dintre urmtoarele instruciuni C/C++ afieaz o singur cifr? (4p.)
a. cout<<x/1; | printf("%d",x/1); b. cout<<x/100; | printf("%d",x/100);
c. cout<<x%100; | printf("%d",x%100); d. cout<<x%10/1;| printf("%d",x%10/1);

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


2. Se consider algoritmul alturat reprezentat n citete n (numr ntreg)
pseudocod.
dac n<0 atunci
a) Scriei ce valoare se va afia pentru n=10.
n -n
(6p.)

b) Scriei toate valorile care pot fi citite pentru n i 1
astfel nct s se afieze 4. (6p.) ct timp i*i n execut
i i+1
c) Scriei n pseudocod un algoritm echivalent cu
cel dat care s nu utilizeze nicio structur scrie i-1
repetitiv. (4p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 98
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 098

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Fie graful orientat G cu 5 vrfuri, numerotate cu 1,2,3,4,5, i arcele (1,2), (1,3), (1,4),
(2,3), (4,2), (4,5), (5,2), (2,4). Care dintre urmtoarele vrfuri au gradul extern
egal cu gradul intern? (4p.)
a. 2 i 4 b. 4 i 5 c. 1 i 2 d. 3 i 4
2. Ce se va afia n urma executrii secvenei de char a[10]="Examen";
program alturate, considernd c a este o for (i=0;i<=2;i++)
variabil de tip ir de caractere, iar i o strcpy(a+i,a+i+1);
variabil de tip ntreg? (4p.) cout<<a; | printf("%s",a);
a. xmn b. Eae c. men d. Examen

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


3. Scriei vectorul de tai al unui arbore cu rdcin, tiind c:
nodurile arborelui sunt numerotate cu numerele naturale distincte 1,2,3,...;
numrul nodurilor este 4 sau 6;
nodul 1 este desemnat ca rdcin;
numrul nodurilor de tip frunz este egal cu jumtate din numrul total de noduri din
arbore;
numrul de nivele pe care sunt dispuse nodurile arborelui este egal cu numrul nodurilor
de tip frunz. (6p.)
4. Tipul de date structurat COLET permite reinerea a dou numere reale, reprezentnd
valoarea exprimat n euro a unui colet potal, respectiv greutatea exprimat n kilograme,
i un ir de caractere reprezentnd numele oraului expeditorului, format din cel mult 30 de
caractere. Scriei n limbajul C/C++ o declarare pentru tipul de date COLET i o secven de
instruciuni care permite citirea valorilor componentelor variabilei x de tipul COLET. Denumii
sugestiv componentele tipului de date COLET. (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n24) i
construiete n memorie o matrice cu n linii i n coloane care s conin primele n2 numere
naturale pare. Prima linie a matricei va conine, n ordine cresctoare, valorile 0, 2,.., 2n-2;
a doua linie va conine, n ordine, valorile 2n, 2n+2,.., 4n-2; a treia linie va conine, n
ordine, valorile 4n, 4n+2,.., 6n-2, iar ultima linie va conine, n ordine, valorile 2n2-2n,
2n2-2n+2,.., 2n2-2.
Programul afieaz pe ecran matricea construit, cte o linie a matricei 0 2 4
pe cte o linie a ecranului, elementele de pe aceeai linie fiind desprite 6 8 10
prin cte un spaiu. 12 14 16
Exemplu: pentru n=3 se va afia matricea alturat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 98
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 098

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se consider subprogramul recursiv int Min(int x){
alturat, definit incomplet. int c;
Cu ce valoare trebuie nlocuite punctele de if (x==0) return ...;
suspensie, pentru ca funcia s returneze else {
cifra minim a numrului natural nenul c=Min(x/10);
transmis prin intermediul parametrului x? if (c < x%10) return c;
(4p.) else return x%10;
}
}
a. -1 b. 1 c. 9 d. 0

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


2. Utiliznd metoda backtracking se genereaz toate submuimile nevide ale mulimii
{3,6,2,5}. Primele ase submulimi generate sunt, n ordine: {3}, {3,6}, {3,6,2},
{3,6,2,5}, {3,6,5}, {3,2}. Care sunt, n ordinea obinerii, ultimele trei submulimi,
generate dup aceast regul? (6p.)
3. Scriei n limbajul C/C++ definiia complet a subprogramului numar, cu exact doi parametri,
care primete prin intermediul parametrului x un numr natural nenul de cel mult 2 cifre, i
prin intermediul parametrului y un numr natural nenul de cel mult 9 cifre. Subprogramul
returneaz cel mai mare numr natural z pentru care exist un numr natural k astfel nct
z=xk i zy.
Exemplu: pentru y=18 i x=2 subprogramul va returna valoarea 16(=24<18). (10p.)
4. Pe prima linie a fiierului text DATE.TXT se afl dou numere naturale nenule n i m
(n3000, m3000), pe a doua linie un ir de n numere naturale, ordonate cresctor, avnd
fiecare cel mult 9 cifre, iar pe linia a treia un ir de m numere naturale, ordonate
descresctor, avnd fiecare cel mult 9 cifre. Numerele sunt desprite, n cadrul liniilor, prin
cte un spaiu.
a) Scriei programul C/C++ care citete numerele din fiier i afieaz, pe ecran, doar
numerele pare din cele dou iruri, ordonate cresctor. Programul nu va afia nimic dac nu
exist numere pare n cele dou iruri. Alegei o metod de rezolvare eficient ca timp de
executare.
Exemplu: dac fiierul are coninutul alturat, pe ecran se 5 8
va afia: 2 4 4 32 42 42 88 88 (6p.) 2 4 7 37 42
88 88 67 45 42 32 4 1
b) Descriei succint, n limbaj natural, metoda utilizat,
justificnd eficiena acesteia. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 99
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 099

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Care dintre urmtoarele instruciuni C/C++ este echivalent cu x =(x+y+z)/2;
cea alturat, tiind c variabilele x, y i z sunt reale? (4p.)
a. x = x/4/2+ y/4/2 + z/4/2; b. x = x + y/2 + z/2;
c. x = x + y + z/2; d. x = x/1/2+ y/1/2 + z/1/2;

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


2. Se consider algoritmul alturat, descris n pseudocod. citete x (numr ntreg)

S-a notat cu x%y restul mpririi numrului natural x la dac x<0 atunci
numrul natural nenul y. x -x

a) Scriei ce se va afia pentru x=8. (6p.) p 1
pentru i1,x execut
b) Scriei toate numerele naturale, de cte o singur cifr, p (p*4)%10
care, citite pentru x, determin afiarea valorii 4. (6p.)
c) Scriei n pseudocod un algoritm echivalent cu cel dat scrie p
care s nu utilizeze nicio structur repetitiv. (4p.)
d) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 99
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 099

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Considerm un graf orientat cu 7 noduri, numerotate de la 1 la 7, i arcele: (1,6), (2,1),
(3,1), (3,4), (3,5), (6,2), (7,3). Care este lungimea maxim a unui circuit
elementar care se poate obine n graf prin adugarea unui singur arc? (4p.)
a. 6 b. 4 c. 3 d. 5
2. Considerm variabila x care memoreaz irul de caractere ABAC. Care dintre urmtoarele
instruciuni conduc la afiarea caracterului B? (4p.)
a. cout<<x[strlen(x)-3]; b. cout<<x[strlen(x)-1];
| printf("%c",x[strlen(x)-3]); | printf("%c",x[strlen(x)-1]);
c. cout<<x[2]; d. cout<<x[strlen(x)];
| printf("%c",x[2]); | printf("%c",x[strlen(x)]);

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


3. Considerm un graf neorientat cu 5 noduri i 3 muchii format din dou componente conexe.
tiind c doar patru dintre noduri au gradul 1, scriei matricea de adiacen a grafului. (6p.)
4. Se consider o coad, n care au fost introduse iniial, n aceast ordine,
primele trei numere impare 1, 3 i 5. 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 EL; AD 4; AD 6. Reprezentai,
dup modelul din figura alturat, coninutul cozii dup fiecare operaie. (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n24) i
construiete n memorie un tablou bidimensional cu n linii i n coloane care s conin
primele n numere naturale nenule. Prima linie a tabloului va conine, n aceast ordine,
valorile 1,2,...,n; a doua linie va conine, n ordine, valorile 2,2,3,...,n; a treia linie
va conine, n ordine, valorile 3,3,3,4,...,n, iar ultima linie va conine valorile n,
n,..., n.
Programul afieaz pe ecran matricea construit, cte o linie a matricei 1 2 3 4 5
pe cte o linie a ecranului, elementele fiecrei linii fiind desprite prin 2 2 3 4 5
cte un spaiu. 3 3 3 4 5
Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 4 4 4 4 5
5 5 5 5 5

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 99
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 099

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Se consider subprogramul recursiv alturat, S, void S(int x)
definit incomplet. { cout<<'*';
Cu ce expresie pot fi nlocuite punctele de if (...) {
suspensie astfel nct, n urma apelului S(2), s se cout<<'*';
afieze 3 caractere * ? (4p.) S(x-1);
}
}
a. x>1 b. x>2 c. x>=3 d. x>0

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


2. Se utilizeaz metoda backtracking pentru a genera toate cuvintele formate din dou litere
distincte din muimea {w,x,z,y} astfel nct niciun cuvnt s nu nceap cu litera x i
niciun cuvnt s nu conin litera w lng litera z. Cuvintele vor fi generate n ordinea wx,
wy, zx, zy, yw, yx, yz. Folosind aceeai metod se genereaz toate cuvintele de dou
litere distincte din mulimea {w,x,z,y,t} astfel nct niciun cuvnt s nu nceap cu litera
x i niciun cuvnt s nu conin litera w lng litera z. Care sunt a treia i a patra soluie
generat? (6p.)
3. Subprogramul Nr are un singur parametru, k, prin intermediul cruia primete un numr
natural de cel puin 3 cifre i cel mult 9 cifre, cu toate cifrele nenule. Subprogramul
furnizeaz tot prin intermediul parametrului k, valoarea obinut prin eliminarea primei i
ultimei cifre a numrului transmis la apel.
Exemplu: dac subprogramul primete prin intermediul parametrului k valoarea 12438, n
urma apelului subprogramului Nr, k va primi valoarea 243.
Scriei, n limbajul C/C++, definiia complet a subprogramului Nr. (10p.)
4. Pe prima linie a fiierului text DATE.TXT se afl un ir de cel mult 10000 de numere ntregi,
avnd cel mult 4 cifre fiecare. Numerele sunt desprite prin cte un spaiu.
a) Scriei un program C/C++ care citete numerele din fiier i afieaz pe ecran lungimea
maxim a unei secvene de numere din ir, cu proprietatea c oricare dou numere din
secven, aflate pe poziii consecutive, au pariti diferite. Pe a doua linie a ecranului,
programul va afia o secven de lungime maxim, valorile fiind desprite prin cte un
spaiu. Dac exist mai multe secvene de lungime maxim, se va afia una dintre ele,
oricare. Alegei o metod de rezolvare eficient ca timp de executare.
Exemplu: dac fiierul conine, n ordine, numerele 2 4 3 2 7 4 6 2 7 8 12, se va
afia:
5
4 3 2 7 4 (6p.)
b) Descriei succint, n limbaj natural, metoda utilizat, justificnd eficiena acesteia. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 100
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Specializarea Matematic-informatic intensiv informatic

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun
(bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

Subiectul I (30 de puncte) - Varianta 100

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. tiind c iniial variabilele ntregi x, y i z au valorile x=1, y=2 respectiv z=3, n ce ordine
trebuie scrise atribuirile urmtoare astfel nct, n final, expresia x+y+z s aib valoarea
maxim? (4p.)
I) x=x+y-z; II) y=x-y+z; III) z=z-x+y;
a. III II I b. I II III c. III I II d. I III II

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


citete a
2. Se consider algoritmul alturat, descris n pseudocod. (numr natural, a<109)
S-a notat cu x%y restul mpririi numrului natural x la
repet
numrul natural nenul y i cu [z] partea ntreag a numrului
b0
real z. ct timp a0 execut
bb+a%10
a) Scriei care este valoarea afiat n urma executrii
algoritmului dac se citete numrul 199. (6p.) a[a/10]

b) Scriei cel mai mic i cel mai mare numr, fiecare ab
avnd exact 3 cifre, care pot fi citite astfel nct, n pn cnd a<10
ambele cazuri, s se afieze valoarea 7. (6p.)
scrie b
c) Scriei programul C/C++ corespunztor algoritmului
dat. (10p.)
d) Scriei n pseudocod un algoritm, echivalent cu cel dat,
care s utilizeze cel mult o singur structur repetitiv.
(4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 100
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 100

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1. Care este numrul minim de muchii care trebuie eliminate dintr-un graf neorientat complet
cu 100 de noduri astfel nct graful parial obinut s fie eulerian? (4p.)
a. 4851 b. 0 c. 100 d. 50
2. Fiecare element al unei liste simplu nlnuite, alocat dinamic, memoreaz n cmpul urm
adresa urmtorului element din list sau NULL dac nu exist un element urmtor n list,
iar variabilele k1, k2 i k3 rein adresele a 3 elemente succesive n list, ca n figur. Cu ce
instruciune se pot nlocui punctele de suspensie din secvena de mai jos astfel nct
aceasta s determine interschimbarea corect a poziiilor n list a elementelor de la
adresele k2 i k3? (4p.)
k1->urm=k3; ... k3->urm=k2;

a. k2->urm=k3->urm; b. k2->urm=k3;
c. k2->urm=k1->urm; d. k2=k3->urm;

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


3. Se consider arborele cu 6 noduri, numerotate de la 1 la 6, cu muchiile [2,1], [2,4],
[4,5], [6,2], [6,3]. Scriei toate nodurile desemnate ca rdcin astfel nct fiecare
arbore cu rdacin obinut s aib exact 3 frunze. (6p.)
4. Se consider declararea char e[20]=51+73; Care este irul memorat de variabila e
dup executarea instruciunii de mai jos?
strcpy(e,strchr(e,+)+2); (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural n (1n100)i apoi
elementele unui tablou bidimensional cu n linii i n coloane, care memoreaz numere
naturale cu cel mult 9 cifre fiecare; programul afieaz pe ecran acele valori din tablou care
sunt strict mai mici dect toate elementele cu care se nvecineaz direct (aflate pe aceeai
linie dar pe o coloan alturat sau pe aceeai coloan dar pe o linie alturat), ca n
exemplu. Numerele afiate vor fi separate prin cte un spaiu.
Exemplu: pentru n=4 i tabloul alturat se afieaz numerele: 2 0 (2 se 5 4 7 9
nvecineaz direct cu 4, 3, 6 i 9, i este mai mic dect acestea, iar 0 se 6 2 3 4
nvecineaz direct cu 6, 9 i 1 i este mai mic dect acestea). (10p.) 0 9 8 5
1 3 8 6

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II


Specializarea Matematic-informatic intensiv informatic
Ministerul Educaiei, Cercetrii i Inovrii
Varianta 100
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 100

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.


1. Aplicnd metoda backtracking pentru a genera toate permutrile celor n elemente ale unei
mulimi, o soluie se memoreaz sub forma unui tablou unidimensional x1,x2,,xn. Dac
sunt deja generate valori pentru componentele x1,x2,,xk-1, iar pentru componenta
curent, xk (1<k<n), a fost gsit o valoare convenabil, atunci se ncearc alegerea (4p.)
a. unei noi valori pentru componenta xk-1 b. unei valori pentru componenta xk+1
c. unei noi valori pentru componenta xk d. unei noi valori pentru componenta x1

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


2. Ce afieaz subprogramul F, descris void F(int x)
{
alturat, la apelul F(5);? (6p.) cout<<x; | printf(%d,x);
if(x>=3)
F(x-2);
cout<<x-1; | printf(%d,x-1);
}
3. Scriei definiia complet a subprogramului divizor, cu trei parametri, prin care primete 3
numere naturale nenule cu cel mult 9 cifre fiecare i returneaz numrul divizorilor comuni
tuturor celor 3 numere.
Exemplu: dac numerele primite ca parametri sunt 24, 20 i 12, subprogramul returneaz
valoarea 3 (divizorii comuni sunt 1, 2 i 4). (10p.)
4. Se consider un ir s format dup regula alturat, unde
s-a notat cu ab numrul obinut prin concatenarea
cifrelor lui a i b, n aceast ordine.
Exemplu: pentru x=2 se obine irul:
2, 3, 32, 323, 32332,....
Fiierul text SIR.TXT conine pe prima linie dou numere, x (1x20) i k (1k5000),
separate printr-un spaiu, iar pe a doua linie un numr format din exact k cifre, reprezentnd
un termen al irului s (diferit de x). Cifrele numrului nu sunt separate prin spaii.
a) Scriei un program C/C++ care, utiliznd un algoritm eficient din punct de vedere al
timpului de executare i al memoriei utilizate, afieaz pe ecran acel termen din ir care l
precede pe cel citit din fiier.
Exemplu: dac fiierul conine valorile alturate, se va afia pe ecran 2 5
numrul 323. (6p.) 32332
b) Descriei n limbaj natural metoda utilizat i explicai n ce const eficiena ei. (4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic

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