1. Care dintre următoarele antete de proceduri sunt corecte: (1 p)
a. procedure pro_b(a, var b:integer); b. procedure pro_d(a:integer, var c:real); c. procedure pro_a(b:integer; a:real):integer; d. procedure pro_c(b:integer; var a:real);
2. Care dintre următoarele antete de funcții sunt corecte: (1 p)
a. function f1(x:integer; ):integer; b. function f3(y:Boolean; var x:integer):integer; c. function f2(x,y,var z:integer ):boolean; d. function f4(x:Boolean, y:real):integer;
3. Care dintre următoarele proceduri citește corect un tablou cu n elemente de la tastatură ? (2
p) a. Procedure citite(var t:tablou; n:word); b. Procedure citite(var t:tablou; var n:word); var i:integer; var i:integer; begin begin writeln(’dati numarul de elemente ale writeln(’dati numarul de elemente ale tabloului ’); tabloului’); readln(n); readln(n); for i:=1 to n do for j:=1 to n do begin begin writeln(’dati t[’,j, ’]: ’); writeln(’dati t[’,i, ’]: ’); readln(t[i]); readln(t[i]); end; end; end; end; end; end; c. Procedure citite(var t:tablou; var n:word); d. Procedure citite(t:tablou; n:word); var i:integer; var i:integer; begin begin writeln (’dati numarul de elemente ale writeln(’dati numarul de elemente ale tabloului’); tabloului’); readln(n); readln(n); for i:=1 to n do for i:=1 to n do begin begin writeln(’dati t[’,i, ’]: ’); writeln(’dati t[’,i, ’]: ’); readln(t[i]); readln(t[i]); end; end; end; end; end; end;
4. Care dintre următoarele funcţii returnează valoarea 10n, cu n număr natural nenul ? (2 p)
a. Function f(n:word):longint; c. Function f(n:word):longint;
var i, x:integer; var i, x:integer; begin begin x:=1; x:=10; for i:=1 to n do for i:=1 to n do x:=x*n; x:=x*i; f:=x; f:=x; end; end; b. Function f(n:word):longint; d. Function f(n:word):longint; var i, x:integer; var i, x:integer; begin begin x:=1; x:=1; for i:=1 to n do i:=0; x:=x*10; while i<n do f:=x; x:=x*10; end; i:=i+1; f:=x; end; 5. Ce va afișa următorul program ? (2 6. Ce va afișa următorul program ? (2 p) p) var a,b:integer; var x:integer; y:real; Procedure f (var x:integer; y:integer); Function f(var x:real):real; var z:longint; begin begin x:=2*x; z:=x*y; f:=x*x+1; write(z,’ ’); end; x:=z-y; y:=x; begin end; x:=1; y:=f(x); begin writeln(’f(’,x, ’) =’,f(x)); a:=3; b:=2; end. f(a,b); write(a,’ ’,b); end. a. 6 2 4 b. 2 4 6 a. f(1)=2 b. f(2)=19 c. 6 4 2 d. 4 2 6 c. f(4)=19 d. f(2)=17 7. Ce va afișa următorul program ? (2 8. Ce va afișa următorul program ? (2 p) p) var i: integer; var x, y, z: integer;
var begin i: integer; if x>y then begin x:=x-y for i:=1 to n do else write('Hello_'); y:=y-x; writeln; end; end; function Nod(x, y: integer): integer; begin begin Hello(5); while x<>y do for i:=1 to 3 do Step(x, y); Hello(i-1); Nod:=x; Hello(3); end; end. begin x:=9; y:=27; z:=3; writeln(Nod(Nod(x, y), z)); end. Probă de evaluare la informatică Clasa 11-a (ambele profile) Nume, prenume ________________________________ Instituția ___________________________
9. Se dă un vector x .Să se scrie un program Pascal care calculează х[1]!+x[2]!+x[3]!+…+x[n]!,
foosind o procedură pentru citirea vectorul numărului k! șo o funcție pentru calcularea sumei componentelor unui vector (12 p)