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 62

♦ 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 consider✂ primii 6 termeni din ✁ irul Fibonacci: 1,1,2,3,5,8. Preciza i care dintre secven ele
de numere urm✂ toare nu reprezint✂ trei termeni succesivi din ✁ irul Fibonacci:
1) 144,233,376 2) 34,55,89 3) 89,144,233
a. numai 3 b. atât 2 cât ✁ i 3 c. numai 1 d. numai 2
2. Care dintre urmãtoarele afirma ii este adevãratã?
a. În limbajul C/C++ nu exist✂ no iunea de operator rela ional
b. +, -, *, / sunt operatori rela ionali
c. <,>, <=, >= sunt operatori rela ionali
d. &&, ||, ! sunt operatori rela ionali
3. Care dintre urm✂ toarele ✁ iruri de numere reprezint✂ ✁ irul gradelor nodurilor unui arbore cu 10 noduri
?
a. 1,1,1,1,1,2,2,3,4,4 b. 1,1,1,1,1,1,1,2,2,5
c. 1,1,1,1,1,1,1,3,4,4 d. 2,2,2,2,2,2,2,2,3,1
4. ☎ tiind c✂ tabloul b este declarat prin int void f(int a[5],int n,int i)
b[5]={1,2,3,4,5}; stabili i ce se {if (i>=0)
afi✁ eaz✂ în urma apelului f(b,m,m-1), {cout<<a[i]%10;/printf(“%d”,a[i]%10);
a func iei f cu defini ia al✂turat✂ , în care f(a,n,i-1);
m este egal cu 5? if (a[i]<9)
cout<<i; /printf(“%d”,i); }}
a. 1234554321 b. 5432154321 c. 1234512345 d. 5432101234
5. Într-o list✂ simplu înl✂n uit✂ circular✂, fiecare element re ine în câmpul adr adresa elementului
urm✂tor din list✂ . Dac✂ p ✁ i q sunt adresele a dou✂ elemente distincte din list✂ astfel încât sunt
satisf✂cute condi iile p== q->adr ✁ i q == p->adr , atunci lista are:
a. un numar impar de elemente b. exact 2 elemente
c. cel putin 3 elemente d. exact 1 element
6. Care dintre urm✂toarele declar✂ri nu poate fi o declarare corect✂ a unei variabile a utilizat✂ pentru
memorarea simultan✂ a cel mult 100 de numere reale?
a. struct b. float a[20][5];
{ float c[50]; float b[50];} a;
c. float a[100]; d. int a[99];
7. Num✂ rul minim de muchii care trebuie ad✂ ugate grafului din desenul
al✂turat pentru a deveni eulerian este:

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

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


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

8. Subprogramul p realizeaz✂ permutarea circular✂ a numerelor re inute de parametri de tip int x,y i
z cu o pozi ie spre dreapta, noile valori fiind trasmise tot prin intermediul parametrilor. De exemplu
pentru x=1, y=2, z=3, în urma apelului p(x,y,z) ob inem x=3, y=1, z=2. Dac✂ valorile
ini iale ale variabilelor de tip int x, y ✁ i z sunt : x=1, y=2, z=3, atunci dup✂ executarea apelurilor
succesive : p(y,z,x); p(z,y,x); noile valori memorate de variabilele x, y, z vor fi:
a. 1,2,3 b. 3,1,2 c. 1,3,2 d. 3,2,1

SUBIECTUL II (20 de puncte)


cite te n {n natural}
Se consider programul pseudocod al turat:
i 2
S-a notat cu x%y restul împãr irii numerelor întregi x ✁ i y ✁ i cu [z] ┌repetă
│┌cât timp n%i=0 execută
partea întreag✂ a num✂rului real z
││ scrie i
1. Ce valori se vor afi✁ a pentru n=40? (3 p.) ││ n [n/i]
│└■
2. Scrie i o valoare a lui n pentru care, în urma execut✂rii │ i i+1
algoritmului, singura valoare afi✁ at✂ este n. (4 p.) │
└până când n=1
3. Scrie i programul C/C++ corespunz✂tor algoritmului dat.(5 p.)
4. Scrie i programul pseudocod care s✂ fie echivalent cu
algoritmul dat ✁ i care s✂ con in✂ o singur✂ structur✂
repetitiv✂. (8 p.)

SUBIECTUL III (30 de puncte)


1. Fi✁ ierele text f1.txt ✁ i f2.txt con in, fiecare, elementele a câte unui ✁ ir de numere reale a,
respectiv b. Fi✁ ierele con in maxim 100 de numere distincte scrise pe o linie ✁ i separate printr-un
singur spa iu. Scrie i un program în limbajul C/C++ care cite✁ te cele dou✂ ✁ iruri de numere din
fi✁ ierele f1.txt ✁ i f2.txt, ✁ i care scrie în fi✁ ierul f3.txt toate elementele comune ✁ irurilor a ✁ i b,
pe o linie ✁ i separate printr-un spa iu.
Exemplu: Dac✂ con inutul fi✁ ierelor f1.txt ✁ i f2.txt este: 10.3 2.05 5 7.12, respectiv 67
7.12 5 3 7.33 9, atunci f3.txt va con ine: 7.12 5 (10p.)
2. International Standard Book Number (ISBN) este un cod unic utilizat pentru identificarea fiec✂rei
c✂ r i, format din 9 cifre urmate de o “cifr✂ de control” care poate fi o cifr✂ sau caracterul x ce
reprezint✂ num✂ rul 10. Semnifica ia cifrelor din cadrului unui cod ISBN de forma a1 a 2... a10 este
urm✂toarea: a1 a 2 a3 identific✂ ara, a 4 a5 a6 a 7 identific✂ editura, a8 a 9 identific✂ num✂rul asociat
10
c✂ r ii iar a10 reprezint✂ cifra de control calculat✂ astfel încât ∑ a[i] * i s
i =1
✂ fie divizibil✂ cu 11. De

exemplu 973 8934 05 2 este un cod ISBN cu cifra de control 2. Scrie i un program C/C++ care
cite✁ te de la tastatur✂ un num✂r natural cu 9 cifre care reprezint✂ primele 9 pozi ii ale unui cod ISBN
✁ i afi✁ eaz✂ pe ecran cifra de control corespunz✂ toare. (10p.)
3. a) Scrie i un program în limbajul C/C++, eficient din punctul de vedere al duratei de executare, care
afi✁ eaz✂ toate numerele naturale formate din cifre identice, mai mari decât 10 ✁ i mai mici decât o
valoare dat✂ n , n<= 2.000.000.000.
De exemplu pentru n=195 , se afi✁ eaz✂ : 11,22,33,44,55,66,77,88,99,111 (8p.)
b) Explica i în limbaj natural metoda utilizat✂, justificând eficien a ei (4-6 rânduri). (2p.)

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

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