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.)