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 89

♦ 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. Într-o list✂ dublu înl✂n uit✂ alocat✂ dinamic, cu cel pu in patru elemente, fiecare element re ine în
câmpul urm , respectiv pred, adresa elementului urm✂tor, respectiv precedent, din list✂. Dac✂
variabilele p, q ✁ i r re in adresele a trei elemente din list✂ astfel încât r->urm->urm==q ✁ i
q->pred==p atunci este adev✂rat✂ condi ia:
a. q->pred->pred==p b. r->urm->pred==q
c. p->urm->pred==r d. p->urm==q
2. Fie graful orientat cu nodurile numerotate cu numerele distincte 1,2,3,4,5 ✁ i care con ine arcele:
(1,2), (1,4), (1,5), (5,4), (4,3), (3,2), (3,1). Care din urm✂toarele succesiuni
reprezint✂ un drum elementar (cu toate nodurile distincte)?
a. 1, 2, 3 b. 1, 5, 4, 3, 2 c. 3, 1, 4, 3, 2 d. 1, 2, 5, 4, 3
3. Se consider✂ un arbore. Care dintre urm✂toarele afirma ii este adev✂rat✂?
a. are cel pu ☎in un nod izolat b. toate nodurile au grad par
c. are cel pu ☎in dou ✆ componente d. este aciclic
conexe
4. Pentru a cauta un ✁ ir de caractere în alt ✁ ir de caractere se poate utiliza func ia predefinit✂ :
a. strcat b. strchr c. strstr d. strcmp
5. Pentru fiecare dintre cei 15 elevi ai unei clase trebuie memorate simultan într-un program mediile
semestriale la cele 18 discipine studiate ✁ i media general✂ semestrial✂ a fiec✂ruia. O variabil✂ care
corespunde acestei cerin e se poate declar✂ astfel:
a. real a[15][19]; b. float a[270];
c. int a[15][18]; d. float a[15][19];
6. Se consider✂ subprogramul f cu void f(int x)
defini ia al✂ turat✂. Ce se afi✁ eaz✂ {if (x>=0)
în urma apelului f(6)? {cout<<x; / printf(“%d”, x);
f(x-1);
if(x%2==0)
cout<<x; / printf(“%d”, x);
}}
a. 65432100246 b. 65432106420 c. 0123456 d. 6543210
7. Se consider✂ graful neorientat dat prin matricea de adiacen ✂ al✂turat✂ . 0 1 1 0 0 0 1
Care este num✂rul maxim de noduri ale unui subgraf eulerian al grafului 1 0 1 1 0 0 1
dat? 1 1 0 0 0 1 0
0 1 0 0 1 0 1
0 0 0 1 0 1 0
0 0 1 0 1 0 0
1 1 0 1 0 0 0
a. 6 b. 3 c. 5 d. 4
8. Un elev, folosind metoda backtracking, construie te toate numerele cu cifre distincte, numere

care au suma cifrelor egal✂ cu 5 ✁ i nu sunt divizibile cu 10. El ob ine, în aceast✂ ordine, numerele:
104; 14; 203; 23; 302; 32; 401; 41; 5. Folosind aceea✁ i metod✂ , el construie✁ te toate
numerele naturale cu cifre diferite, nedivizibile cu 10 ✁ i cu suma cifrelor egal✂ cu 6. Care sunt
primele patru numere pe care le construie✁ te?
a. 1023; 105; 15; 6 b. 123; 132; 15; 213
c. 1023; 123; 1032; 132 d. 1023; 1032; 105; 1203;

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


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

SUBIECTUL II (20 de puncte)


cite te n {num✂ r natural}
Se consider programul pseudocod al turat:
ok 1
✁dac✆ n%10>[n/10]%10
S-a notat cu cu x%y restul împ✂ r irii num✂ rului intreg x la num✂ rul ✂
întreg y ✁ i cu [z] partea întreag✂ a num✂rului z. ✂ atunci x 1
✄ altfel x 0

1. Ce se afiseaz✂ pentru n=2589? (5p.) n [n/10]
✁cât timp n>9 execut✆
2.
Scrie i o valoare pentru variabila n astfel încât s✂ se afi✁ eze ✂✁
valoarea 0. (5p.) ✂✂dac✆ n%10>[n/10]%10
Scrie i programul C sau C++ corespunz✂ tor algoritmului dat. ✂✂ atunci y 1
3. (6p.) ✂✄ altfel y 0

Scrie i programul pseudocod care s✂ fie echivalent cu ✂✁
4. algoritmul dat, dar în care s✂ se înlocuiasc✂ structura cât ✂✂dac✆ x ≠ y
timp…execut cu un alt tip de structura repetitiv✂ . ✂✄☎ atunci ok 0
(4p.) ✂
✄☎ n [n/10]
scrie ok

SUBIECTUL III (30 de puncte)

Scrie i un program C sau C++ care cite✁ te de la tastatur✂ un num✂r natural n cu cel mult nou✂ cifre
1.
✁i care determin✂ dac✂ exist✂ un num✂r natural k cu proprietatea c✂ n=1⋅⋅2⋅⋅3⋅⋅…⋅⋅k. Dac✂ exist✂ un
astfel de num✂ r, programul va afi✁ a pe ecran mesajul DA urmat de num✂ rul k, separate printr-un
spa iu, altfel va afi✁ a mesajul NU (ca în exemple).
Exemple: pentru n=720 se va afisa „DA 6” pentru c✂ 6!=720; 6!=1*2*3*4*5*6
pentru n=721 se va afisa „NU
(10p.)
2. a) Scrie i în limbajul C sau C++ defini ia complet✂ a subprogramului f care prime✁ te prin intermediul
parametrului n un num✂ r natural de cel mult 8 cifre iar prin intermediul parametrului k un num✂r prim
cu cel mult 8 cifre. Subprogramul returneaz✂ prin parametrul p num✂rul care reprezint✂ puterea la
care apare k în descompunerea în factori primi a num✂rului n ✁ i prin parametrul n câtul ob inut prin
împ✂r irea num✂rului n la num✂rul kp.
Exemplu : Dac✂ n ✁ i p sunt variabile întregi iar n re ine ini ial valoarea 500, în urma apelului
f(n,5,p) n va primi valoarea 4 iar p va primi valoarea 3. (4p.)
b) Scrie i un program C sau C++ care cite✁ te de la tastur✂ un num✂r natural nenul n cu cel mult opt
cifre ✁ i care folosind apeluri ale subprogramului definit la punctul a) determin✂ o valoare minim✂ b
care verific✂ rela ia
n = a2 ✆ b, a,b ∈ N*
Exemple : pentru n=21560 se afi✁ eaz✂ 110 deoarece 21560=142 ✆110 ; exist✂ ✁ i alte posibilit✂ i de
a-l scrie pe 21560 sub forma cerut✂, dar în acestea valoarea lui b este mai mare decât 110 (de
exemplu, 21560 =72 ✆440)
(6p.)
Se consider✂ fi✁ ierul DATE.IN care con ine cel mult 100000 de numere naturale formate fiecare din
3.
cel mult opt cifre, separate prin câte un spa iu. Scrie i un program C sau C++ care scrie în fi✁ ierul
DATE.OUT o valoare care reprezint✂ num✂ rul de cifre care NU au ap✂rut în niciunul din numerele
aflate în fi✁ ierul DATE.IN.
Exemple:
DATE.IN DATE.OUT
12 222 12 21 87 6 89 788 3 900 2
Explica ii:
-sunt dou✂ cifre care nu au ap✂ rut în scrierea numerelor din fi✁ ierul DATE.IN. ✁ i anume 4 ✁ i 5 (10p.)

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

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