Sunteți pe pagina 1din 2

Ministerul Educa iei i Cercetrii - Serviciul Na ional de Evaluare i Examinare

EXAMENUL DE BACALAUREAT – 2007


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Varianta 60

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


♦ Timpul efectiv de lucru este de 3 ore.
♦ În programele cerute la subiectele II i III, identificatorii utiliza i trebuie s respecte
preciz rile din enun (bold), iar în lipsa unor preciz ri explicite, nota iile trebuie s
corespund cu semnifica iile asociate acestora (eventual în form prescurtat ).

SUBIECTUL I (40 de puncte)


Pentru fiecare din itemii de la 1 la 8, scrie i pe foaia de examen litera corespunz toare
r spunsului corect. Fiecare r spuns corect se noteaz cu 5 puncte.
1. Un ir s este format din n valori din mul imea {1,-1} astfel încât suma tuturor termenilor irului este
egal cu 0 i orice secven  format din primele p (p<n) elemente ale irului are proprietatea c suma
componentelor secven ei respective este un numr nenegativ.
De exemplu, pentru n=4, exist dou astfel de iruri: 1 -1 1 -1 i 1 1 -1 -1.
Dac se utilizeaz metoda backtracking, pentru n=6, numrul de iruri s definite dup regula de mai sus
care vor fi generate este:
a. 16 b. 5 c. 8 d. 4
2. tiind c  variabila v este un tablou unidimensional cu for(i=99;i>0;i--)
100 de componente ce memoreaz valori distincte de if(v[i]<v[i-1]){
tip int, care este valoarea re inut de componenta v[i]=v[i]+v[i-1];
v[0] în urma executrii secven ei de instruc iuni v[i-1]=v[i]-v[i-1];
v[i]=v[i]-v[i-1];
alturate?
}
a. valoarea care apare cel mai frecvent în tablou
b. cel mai mic element al tabloului
c. suma elementelor tabloului
d. cel mai mare element al tabloului
3. Pentru defini ia alturat a subprogramului f, ce se int f(long n){
valoare are expresia f(245284003)? if(n==n%10) return n ;
return f(n/10);
}
a. 3 b. 0 c. 2 d. 9
4. Dac s este o variabil de tip ir de caractere (declarat astfel: char s[100];), atunci care dintre
urmtoarele expresii reprezint ultimul caracter memorat în ir?
a. s[strlen(s)] b. s[strlen(s)-1]
c. s[100] d. s[strlen[s]]
5. Dac n este o variabil de tip int ce re ine un numr natural cu exact 3 cifre, atunci care dintre
urmtoarele expresii reprezint cifra zecilor lui n?
a. n/100%10 b. n%100/10
c. n/10 d. n%10*10
6. Subprogramul S returneaz în parametrii d i m, cel mai mare divizor comun i respectiv cel mai mic
multiplu comun a dou numere întregi transmise prin parametrii a i b. Antetul corect al
subprogramului S este:
a. int S(int a,int b,int d, int m)
b. void S(int a,int b,int &d,int &m)
c. void S(int a,b,int &d,&m)
d. float S(int a,b)
7. Într-o list circular simplu înln uit fiecare element re ine în câmpul adr adresa elementului
urmtor din list. Dac p reprezint adresa unui element din list, atunci stabili i care dintre
urmtoarele expresii are valoarea 1 dac i numai dac lista con ine cel mult dou noduri.
a. p->adr==p
b. p->adr->adr==NULL
c. p->adr->adr==p
d. p->adr!=NULL

INFORMATIC , limbajul C/C++ 1 Varianta 60


Ministerul Educa iei i Cercetrii - Serviciul Na ional de Evaluare i Examinare

8. Dac G este un graf neorientat cu proprietatea c între orice dou vârfuri ale sale exist un unic lan
elementar, atunci G este:
a. graf eulerian
b. arbore
c. graf hamiltonian
d. un graf cu toate gradele numere impare

SUBIECTUL II (20 de puncte)


Se consider  programul pseudocod alturat în care s-a
folosit nota ia [x] pentru partea întreag a lui x. citeşte n (numr natural nenul)
1
p
1. Ce se va afia pentru n=35? 0
(5p.) s
┌cât timp p<=n execută
2. Scrie i o valoare pentru variabila n astfel încât │ s s+[n/p]
rezultatul afiat s fie 16. (3p.) │ p
p*2
└■
scrie s
3. Scrie i programul C sau C++ corespunztor algoritmului dat. (10p.)
4. Scrie i un numr natural nenul care nu poate fi afiat de program oricare ar fi valoarea natural
nenul care se citete pentru variabila n. (2p.)

SUBIECTUL III (30 de puncte)


1. Scrie i un program C/C++ care citete un numr natural nenul par, n, n<100 i apoi n numere
naturale de cel mult 4 cifre fiecare i determin cea mai mare sum care poate fi ob inut adunând
numai o jumtate din toate numerele citite. Rezultatul se va afia pe ecran.
De exemplu, pentru n=6 i numerele 728,10,103,44,1000,94 se va afia: 1831 (reprezentând
suma: 728+103+1000) (10p.)
Se citesc de la tastatur trei numere naturale de cel mult 4 cifre fiecare n,a i b i se cere s se
2.
afieze pe ecran câte numere naturale mai mici sau egale cu n sunt multipli ai lui a, dar nu sunt
multipli ai lui b. De exemplu, dac n=100, a=12, b=8, rezultatul afiat va fi 4 (numerele mai mici
sau egale cu 100 care sunt multipli ai lui 12 dar nu i ai lui 8 sunt 12,36,60,84)
a) Alege i o metod eficient de rezolvare i descrie i în limbaj natural metoda aleas justificând
eficien a acesteia (4-6 rânduri). (2p.)
b) Scrie i programul C/C++ corespunztor metodei alese la punctul a). (8p.)
Scrie i un program C/C++ care citete din fiierul text BAC.TXT, cel mult 100 de numere naturale
3.
aflate pe o singur linie, formate din cel mult nou cifre fiecare, separate prin spa ii i dintre acestea
le afieaz pe ecran doar pe acelea care au proprietatea de a fi palindrom. Dac nu se citesc numere
palindrom, se va afia pe ecran valoarea -1. Un numr are proprietatea de a fi palindrom dac citit
de la dreapta la stânga sau de la stânga la dreapta are aceea i valoare. De exemplu 1221 este
palindrom, în timp ce 1210 nu este palindrom.
Exemplu: dac din fiierul BAC.TXT se citesc numerele: 7341 8228 660 2 80 131, atunci pe
ecran se vor afia: 8228 2 131 (10p.)

INFORMATIC , limbajul C/C++ 2 Varianta 60

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