Sunteți pe pagina 1din 2

Analiza algoritmilor

N.P________________________ grupa___________
1.Prin necesarul de memorie i durata de execuie se caracterizeaz:
a)aplicarea practic a unui algoritm; c)volumul de memorie;
b)numrul natural; d)complexitatea algoritmului
2.De caracteristica n a datelor depinde:
a)algoritmul rezolvrii problemei; c)timpul de execuie;
b)volumul de memorie;
3. Necesarul de memorie a unui algoritm pentru variabilele statice poate fi de:
a)nu mai mare de 64 Koctei; b)nu mai mare de 64 octei; c) nu mai mare de 112 octei;
4. Timpul cerut pentru executarea unui program PASCAL depinde de
__________________________________________________
5. Determinai numrul de operaii elementare Q1 necesar pentru execuia urmtoarei instruciuni Pascal:
p:=(a in r) and (b in p)
a) 2 b) 4 c) 5
6. Estimai numrul operaiilor elementare Q(n) din procedura ce urmeaz:
procedure PrelucrareSolutie;
var s:real;
begin
s:=(c-a)*(d-b);
if s>=smax then
begin
smax:=s;
amax:=a; bmax:=b; cmax:=c; dmax:=d;
end;
end;
a) 15 b) 13
7. Care noiune aparine conceptului Complexitatea Temporal a algoritmului:
a) algoritmi ciclici; b) algoritmi repetitivi; c)algoritmi polinomiali;
8. Numrul de octei alocat unei variabile depinde de:
a)implementarea limbajului; b)mediul de programare Turbo c)numrul de variabile declarate
PASCAL 7.0;

9. Calculai necesarul de memorie pentru variabilele din urmtoarele declaraii:


a) Type M=array [1..n,1..n] of integer;
A=array[1..n] of integer; b) Type M=array [1..n] of real;
Var d,i,s:M; Var q,u: ^M;
b,q: A; t: M;
p:boolean;

10. Determinai numrul de operaii elementare QI necesare pentru execuia urmtoarelor instruciuni Pascal:.
a) a:=sqrt(b*c+d*c);
b) u:=(r div s) or not(a<>t);
c) if (a mod d=0) and (b mod d=0) then x:=x+1;
d) case op of
+: r:=x+y;
-: r:=x-y;
*: r:=x*y;
/: r:=x/y;
e) for i:=n div 2 downto 2 do f:=f*i;
f) while 1/i>=n do begin s:=s+1/i; i:=i+1; end;
g) repeat inc(j); p:=sqr(j); t:=p+3; until i>=n
h) with p do begin s:=x+1; r:=8; end;

11. Estimai numrul de operaii elementare Q(n) din secvenele de program ce urmeaz
Function Verifica (j:integer):boolean;
Var i:integer;
begin
Verifica:=true;
For i:=1 to j-1 do
If (r[i]=r[j]) or (abs (r[i]-r[j])=j-1) then begin verifica:=false; end;
end;

Begin
writeln(ntrodu nr. de regine);readln(n);
j:=1;nr_sol:=0;
while j>0 do
begin
f:=false;
while not f and (r[i]<=n-1) do
begin
inc(r[j]);
if verifica (j) then f:=true;
end;
if not f then dec(j) else if j<n then
begin
inc(j);
r[j]:=0;
end
else solutie;
end;
if nr_sol=0 then write (nu exista solutii);
End;

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