Sunteți pe pagina 1din 2

Numele şi prenumele……………………….

Clasa

Fişă de evaluare

I. Scrieţi litera sau literele corespunzătoare răspunsului sau răspunsurilor corecte la următoarele
întrebări referitoare la metoda backtracking:
1. Dacă pentru nivelul k oarecare al vectorului soluţie am verificat toate valorile posibile:
a) algoritmul se încheie;
b) se revine pe nivelul anterior;
c) se trece pe nivelul următor.
2. După ce s-a găsit o valoare convenabilă pentru componenta k, următorul pas este:
a) se trece la componenta următoare, k+1;
b) se rămâne la componenta k, căutând în continuare o altă valoare convenabilă;
c) se revine la componenta k-1.
3. Iniţializarea componentei x[k] se realizează:
a) când se trece de pe nivelul k-1 pe nivelul k;
b) când se revine de pe nivelul k+1 pe nivelul k;
c) când pe nivelul k+1 au fost testate toate valorile posibile.
4. În ce condiţii se trece de la componenta k la componenta k+1 ?
a) după ce am găsit o valoare convenabilă pentru componenta k;
b) după ce am testat toate valorile posibile pentru componenta k;
c) dacă nu am găsit nici o valoare convenabilă pentru componenta k.
5. Algoritmul backtracking se încheie dacă:
a) s-au testat toate valorile posibile pentru primul nivel;
b) s-au testat toate valorile posibile pentru ultimul nivel;
c) pe un nivel oarecare k, nu am găsit nici o valoare care să verifice condiţiile de
continuitate.
6. După găsirea unei soluţii, pasul următor este:
a) se revive pe nivelul următor;
b) se rămâne pe acelaşi nivel, testându-se următoarea valoare disponibilă;
c) se încheie algoritmul.
7. Care dintre următoarele afirmaţii sunt adevărate şi care sunt false?
a) metoda Backtracking se poate implementa numai cu ajutorul subprogramelor recursive;
b) metoda Backtracking evită generarea tuturor soluţiilor posibile, deoarece verifică
condiţiile interne pentru fiecare soluţie posibilă;
c) indiferent de problemă (una cu mai multe soluţii), aplicarea metodei Backtracking
conduce la cei mai eficienţi algoritmi.
8. Fiecărei situaţii din prima coloană îi corespund una sau mai multe operaţii din coloana a doua.
Realizaţi asociaţiile corecte:
a) se revine de la componenta k+1 la k 1) iniţializare pentru x[k]
b) se trece de la componenta k-1 la k 2) se testează următoarea valoare pentru x[k]
c) se rămâne pe nivelul k 3) se tipăreşte o soluţie

II. Pentru problema „Se dau n tipuri de monezi , având valorile v1, v2 , …. , vn. Să se
găsească toate modalităţile n prin care se poate plăti o sumă S utilizând aceste
tipuri de monede (se consideră numărul monezilor nelimitat)” completaţi spaţiile libere
ale procedurii BKTR. Scrieţi alături procedura BKTR recursivă.
procedure bktr;
begin
k:=1;
x[k]:= ….;
while ….. do
if ……………….. then begin
x[k]:=x[k]+1;
if cont(k) then
if …………………. then tipar(k)
else begin
k:= ………….;
x[k]:=……….;
end;
end
else ……………..;
end;

III. Pentru problema : „Să se găsească toate modalităţile de a colora o hartă cu n ţări,
utilizând cel mult 4 culori, astfel încât două ţări vecine să fie colorate diferit (este
demonstrat că sunt suficiente 4 culori pentru ca orice hartă să poată fi colorată)” scrieţi
funcţia de continuitate şi programul principal.

function cond (k:integer):boolean;


begin

end;

{Program principal}
begin

readln;
end.

Barem de notare
Subiect I II III oficiu
1 2 3 4 5 6 7 8 completare recursiv functie p.p.
Punctaj 0.5 p 0.5 p 0.5 p 0.5 p 0.5 p 0.5 p 0.5 p 0.5 p 1p 1p 1p 2p 1p

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