Sunteți pe pagina 1din 3

1

Test la informatic

Tema :Recursivitate. Metode de programare: trierii, tehnica Greedy.

Item 1. Indicai valoarea de adevr sau fals a propoziiei:
Pentru rezolvarea aceleiasi probleme un algoritmu recursiv are nevoie de mai
mult memorie dect un algoritmu iterativ.
a) Adevrat b) Fals

Item 2. Indicai valoarea de adevr sau fals a propoziiei:
Pentru rezolvarea aceleiai probleme un algoritmu recursiv are nevoie de un
volum de munc mai mare dect un algoritmu iterativ.
a) Adevrat b) Fals

Item 3. Alegei sfritul corect al propoziiei de mai jos:
Definiia recursiv a unei funcii este consistent, dac n procesul derulrii
calculelor exist:

a) - numai cazuri elementare;

b) - cazuri care nu se rezolv direct i apeleaz subprogramul recursiv de un numr infinit de ori;

c) - cazuri elementare;
- cazuri care nu se rezolv direct i apeleaz subprogramul recursiv de un numr infinit de ori;

d) - cazuri elementare;
- cazuri care nu se rezolv direct i n procesul de calcul progreseaz ctre un caz elementar.

Item 4.Care din definiiile recursive de mai jos snt consistente?

a) f : NlN,

> +
=
=
; 0 ), 1 (
0; , 1
) (
n dac n f n
n dac
n f

b) f : NlN,

> +
=
=
; 0 ), (
0; , 1
) (
n dac n f n
n dac
n f

c) f : ZlZ,

= +
=
=
; 0 ), 1 (
0; , 1
) (
i dac i f i
i dac
i f

d) f : NlN,

> +
<
=
. 10 ), 10 ( ) 10 mod (
0; 1 ,
) (
n dac div n f n
n dac n
n f

Item 5. n descrierea funciei ce calculeaz recursiv factorialul numrului n lipsete o
instruciune:

function fact ( n : byte ) : integer;
begin if n=0 then fact:=1 else .... end;

Care din urmtoarele instruciuni trebuie plasat n locul punctelor:

a) fact := n*(n-1)*(n-2)**1; b) fact := fact(n-1); c) fact :=n!; d) fact := n * fact(n-1);


2
Item 6. Ce va afia urmtorul program?
Program exemplu;
Var n :integer ;
Function calcul(q:integer) :integer;
Var s;integer;
begin
s:=0; while q>0 do begin s:=s+1; q:=q div 10; end; calcul := s;
end;
begin n:=13579; writeln( calcul (n) );
end.
a) 25 b) 1 c) 9 d) 5

Item 7. Punei n coresponden metodele de programare din stinga i schemele
genelale corespunztoare.
a. Metoda
trierii

1. while ExistaElemente do
begin
AlegeUnElement(x);
IncludeElementul(x);
end
b. Tehnica
Greedy
2. for i:= 1 to k do
if SolutiePosibila(s
i
) then
PrelucrareaSolutiei(s
i
);

unde s
i
este una din soluiile posibile.
3. procedure pp(k:integer);
begin
if k<=n then
begin
X[k]:=PrimulElement(k);
if Continuare(k) then pp(k+1);
while ExistaSuccesor(k) do
begin
X[k]:=Succesor(k);
if Continuare(k) then pp(k+1)
end;
end else PrelucrareaSolutiei;
end;

Item 8. Care din metodele de programare de mai jos examineaz mulimea tuturor
soluiilor ale unei probleme.

a) metoda trierii b) tehnica Greedy

Item 9. Care din metodele de programare de mai jos pot s nu gseasc soluia
optimal sau chiar nici o soluie a unei probleme rezolvabile.

a) metoda trierii b) tehnica Greedy

Item 10. Care din metodele de programare de mai jos au complexitate exponenial.
a) metoda trierii b) tehnica Greedy

Item 11. Scriei metodele de programare de mai jos aplicate pentru rezolvarea
aceleiai probleme n ordinea creterii timpului de execuie.

a) metoda trierii b) tehnica Greedy



3