Sunteți pe pagina 1din 5

I.

Completai (1,5p)
a) In traducere Divide et Impera nseamn............................................... (0,5p)
b) Algoritmii Divide et Impera se implementeaz, de obicei, ntr-un
subprogram .......................................... deoarece recompunerea solutiei este mai simpla. (0,5p)
c) Problema dat se descompune n dou sau mai multe probleme de aceeai natur. Acestea pot
fi de dou tipuri....................... sau ........................... (0,5p)

d) In traducere Divide et Impera nseamn............................................... (0,5p)


e) Problema dat se descompune n dou sau mai multe probleme de aceeai natur. Acestea pot
fi de dou tipuri....................... sau ........................... (0,5p)
f) Algoritmii Divide et Impera se implementeaz, de obicei, ntr-un
subprogram .......................................... deoarece recompunerea solutiei este mai simpla.
(0,5p)

II. Se da programul urmator: (2p) a) Precizati ce realizeaza secventa de subprogram


int f(int ls, int ld){int a,b; descrisa alaturat. (0,5p)
if(ls==ld) b) Sunt corect implementate cele trei etape ale
if(v[ls]%2==0) metodei divide et impera ? Daca da, evidentiati in
return v[ls]; partea stanga, secventele de instructiuni
else return 0; corespunzatoare fiecarei din cele trei etape ale
else{ int m=(ls+ld)/2; metodei. (0,5p)
a=f(ls,m); c) Se considera un vector de maxim 100 de
b=f(m+1,ld); elemente intregi. Pentru n=6 elementele acestuia
if (a>b) sunt: 12, 10, 11, 1, 7, 8. Demonstrati grafic cum se
return a; realizeaza impartirea in subprobleme, rezolvarea
else return b;} cazului de baza si recompunerea solutiei pentru
} vectorul dat. (0,5p)
d) Scrieti forma apelului din programul principal
pentru functia data. (0,5p)

II. Se da programul urmator: (2p)


int f(int ls, int ld){int a,b;
if(ls==ld) a) Precizati ce realizeaza secventa de subprogram
if(v[ls]>0) descrisa alaturat. (0,5p)
return v[ls]; b) Sunt corect implementate cele trei etape ale
else return 0; metodei divide et impera ? Daca da, evidentiati in
else{ int m=(ls+ld)/2; partea stanga, secventele de instructiuni
a=f(ls,m); corespunzatoare fiecarei din cele trei etape ale
b=f(m+1,ld); metodei. (0,5p)
if (a>b) c) Se considera un vector de maxim 100 de
return a; elemente intregi.Pentru n=7 , elementele acestuia
else return b;} sunt: 12, 10, 11, 1, 7, 8, 9. Demonstrati grafic cum
} se realizeaza impartirea in subprobleme, rezolvarea
cazului de baza si recompunerea solutiei pentru
vectorul dat. (0,5p)
d) Scrieti forma apelului din programul principal
pentru functia data. (0,5p)

Se va utiliza pentru rezolvare metoda divide et


impera
O1 a) imparte si 0,5p Se acorda
stapaneste 0,5p punctajul si
b) recursivNR 1/ pentru
elementare sau utilizarea altor
neelementareNR 2 0,5p sinonime
apropiate de
c) elementare raspunsurile
sau corecte.
neelementare NR
1
/) recursivNR 2

O2 a)determina 0,5p
maximul
elementelor 0,5p -Se acorda
pareNR punctajul pentru
1
/pozitiveNR 2 0,5p schitarea pe
din vector 0,5p program a celor
b) evidentierea 3 etape
etapelor

c) realizarea
desenului
d) f(1,n)
Test NR 1
Divide et Impera
Clasa:_____

Se acorda 1punct din oficiu. SPOR LA TREABA


Test NR 1
Divide et Impera
Clasa:_____

Se acorda 1punct din oficiu. SPOR LA TREABA

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