Sunteți pe pagina 1din 2

Ministerul Educa iei ✁ i Cercet✂ rii - Serviciul Na ional de Evaluare ✁ i Examinare

EXAMENUL DE BACALAUREAT – 2007


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

♦ 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. Se considera tabloul unidimensional for (i=0;i<5;i++)


a=(1,2,3,4,5). Care va fi rezultatul afi✁ at în {s=0;
urma execut✂ rii secven ei al✂turate? for(j=0;j<=i;j++) s=s+a[j];
printf(“%d”,s); |cout<<s;
}
a. 1151515 b. 15 c. 6101315 d. 1361015
2. Dac✂ p este adresa primului element al unei liste simplu while(p->urm!=0)
înl✂ n uite alocat✂ dinamic în care fiecare element re ine în p=p->urm;
câmpul urm adresa elementului urm✂ tor, atunci secven a
al✂ turat✂ va atribui variabilei p adresa:
a. antepenultimului nod b. penultimului nod c. ultimului nod d. NULL
3. Se consider✂ func ia al✂ turat✂ . Care va fi int f(int n)
valoarea returnat✂ de func ie dup✂ apelul f(5)? {if (n==1|| n==2) return 1;
else return f(n-1)+f(n-2);
}
a. 4 b. 6 c. 5 d. 8
4. Câte grafuri neorientate distincte cu n noduri numerotate 1,2...n au muchie între nodul 1 ✁ i nodul
2? Dou✂ grafuri se consider✂ distincte dac✂ matricele lor de adiacen ✂ sunt diferite.
a. 2n(n-1)/2 -1 b. 2n(n+1)/2 c. 2n(n-1)/2 d. 2n(n-1)/2 -1
5. Care dintre secven ele urm✂toare afi✁ eaz✂ corect prima zecimal✂ a num✂rului real pozitiv re inut de
a? S-a notat cu [a] partea întreag✂ a num✂ rului real a ✁ i cu |a| valoarea absolut✂ a num✂ rului real
a.
a. a |a-[a]| b. a [a-|a|] c. a [a-|a|] d. a |a-[a]|
scrie [a*10] scrie [a*10] scrie [a]*10 scrie [a]*10
6. Un graf orientat are cinci noduri numerotate cu 1, 2, 3 ,4, 5 ✁ i patru arce: (1,2), (2,1),
(2,3), (3,4). Prin eliminarea nodului 2 ✁ i a arcelor incidente cu acesta ob inem:
a. un subgraf cu patru noduri ✁ i un arc b. un subgraf cu dou✂ noduri ✁ i niciun arc
c. un graf par ial d. un subgraf cu cinci noduri ✁ i trei arce
7. Se consider✂ tabloul unidimensional a=(0,1,3,2). Indica i tabloul unidimensional b astfel încât
pentru orice 0<=i<4 s✂ existe rela ia a[b[i]]=b[a[i]].
a. b=(2,1,0,3) b. b=(3,1,0,2) c. b=(2,3,0,1) d. b=(1,0,2,3)
8. Pentru a determina toate modalit✂ ile de a scrie num✂rul 8 ca sum✂ de numere naturale nenule
distincte (abstrac ie f✂când de ordinea termenilor) se folose✁ te metoda backtracking ob inându-se, în
ordine, toate solu iile: 1+2+5, 1+3+4, 1+7, 2+6, 3+5. Aplicând exact aceea✁ i metod✂, se
determin✂ solu iile pentru scrierea num✂rului 10. Câte solu ii de forma 1+... exist✂?
a. 3 b. 4 c. 5 d. 6

INFORMATIC✄, limbajul C/C++ 1 Varianta 37


Ministerul Educa iei ✁ i Cercet✂ rii - Serviciul Na ional de Evaluare ✁ i Examinare

SUBIECTUL II (20 de puncte)


Se consider programul pseudocod al turat, în care s-a notat cite✁te n (num✂r natural)
cu [x] partea întreag✂ a num✂ rului real x. nr 0
✂pentru i=1,[n/2]execut
1. Care este valoarea afi✁ at✂ pentru n=30? (5p.) ✄ j i
2. Da i exemplu de o valoare pentru n astfel înc✂ t valoarea |✄ s 0

afi✁ at✂ s✂ fie 2. (2p.) ✄ ✄cât timp s<n execut
✄ ✄ s s+j
3. Scrie i programul C/C++ corespunz✂tor algoritmului dat.(10p.) ✄ j j+1

4. Modifica i structura dac ...atunci a programului astfel ✄ ☎
✂dac
✄ ✄ s=n atunci
încât s✂ se afi✁ eze ✁ i toate modurile în care poate fi nr nr+1
descompus n ca sum✂ de numere naturale consecutive. ✄ ✆
Scrie i programul pseudocod modificat astfel. (3p.) ✆☎

scrie nr

SUBIECTUL III (30 de puncte)


Un tablou bidimensional a cu m linii (1<m<11) ✁ i n coloane (1<n<21)cu elemente numere întregi se
1.
nume✁ te palindromic dac✂, ✁ irul format prin parcurgerea sa linie cu linie, are primul element al
parcurgerii egal cu ultimul element al parcurgerii, al doilea egal cu penultimul, etc. S✂ se scrie un
program C/C++ care cite✁ te dou✂ numere m ✁ i n ✁ i apoi elementele tabloului bidimensional a de la
tastatur✂ ✁ i afi✁ eaz✂ pe ecran mesajul „DA” în cazul în care tabloul a este palindromic ✁ i „NU” în caz
contrar.
De exemplu dac✂ tabloul a citit este cel al✂ turat, 1 2 3
se va afi✁ a mesajul „DA”. 4 5 4 (10p.)
3 2 1
a) S✂ se scrie defini ia complet✂ a unui subprogram elimin care prime✁ te ca parametru un num✂r
2.
întreg >10 de cel mult nou cifre nenule ✁ i returneaz✂ num✂rul ob inut prin eliminarea primei sale
cifre. (4p.)
b) Scrie i programul C/C++ care cite✁ te dou✂ numere: n >100 de cel mult nou cifre nenule, iar p
cuprins strict între 1 ✁ i num✂rul de cifre ale lui n ✁ i care, folosind apeluri utile ale subprogramului
anterior, elimin✂ primele p cifre ale num✂rului n, afi✁ ând num✂ rul asfel ob inut.
De exemplu dac✂ n=1223 ✁ i p=3 se va afi✁ a 3. (6p.)
3. Se cite✁ te un num✂r n natural, 2<n<10000 de la tastatur✂ . S✂ se scrie un program C/C++ care
creeaz✂ fi✁ ierul text BAC.TXT ✁ i scrie în el, pe aceea✁ i linie, cu separare prin spa iu, primele n cifre
din ✁ irul 1,2,3,4,5,6,7,8,9,1,2,3,...Cifrele i cu i<9 sunt consecutive, iar dup✂ fiecare
cifr✂ de 9 urmeaz✂ cifra 1.
De exemplu, dac✂ pentru n se cite✁ te valoarea 14, atunci fi✁ ierul va con ine, în aceast✂ ordine,
valorile: 1 2 3 4 5 6 7 8 9 1 2 3 4 5 . (10p.)

INFORMATIC✄, limbajul C/C++ 2 Varianta 37

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