Sunteți pe pagina 1din 8

1.

Alege adevărat (A) sau fals (F) în funcţie de faptul, dacă este sau nu adevărată afirmaţia:
Nr. d/o Afirmaţia A sau F
1. În antetul procedurii parametrii variabilă sunt precedaţi de cuvântul cheie var. F
2. Apelul procedurii poate apare în partea dreaptă a unei instrucţiuni de atribuire. A
Variabilele globale sunt cunoscute pe tot parcursul programului în care au fost A
3.
declarate.

2. Argumentează care din următoarele antete de funcţii sunt corecte:


Antet Argument
 function mama(a,b:integer): real; A ,functia contine denumirea dunctie,parametri formali
si tipul rezultatului
 functie cc :real; Funtia nu este corecta,deoarece nu contine parametri
formali si cuvantul necesar este function
 function abb (s:char) : integer; Functia contine toate elementel necesare
 nici un unul din antete nu este corect. Nu este adevarat

3. Explică termenii:
Program principal-programul in care se efectueaza toate operatiile necesare problemei
Subprogram-o parte din program prin care o problema se poate rezolva prin mai multe probleme mai
mici

4. Completează tabelul de valori pentru programul de mai jos şi enumără:


 variabilele globale_x,y______________  parametrii formali__k_____________
 variabilele locale_m_______________  parametrii actuali___x,y____________
Program prog_v1;
uses crt;
Var x,y :integer;
Function f (k:integer):integer;
Var m: integer;
Begin m:=k+3; f:=sqr( -m + 2); writeln('In functie m=',m:6,’ k=’,k:6); end;
begin clrscr;
x:=3; y:=f(x); writeln(x:6, y:6); Readln; End.
Arată calculele efectuate!!!
Tabelul de valori: Apel Ecranul rezultatului
x x 3 x:=3 3
m x+3 6 3+3=6 Nu este Nu este afisat
apelat
y Sqr(- 16 2 y:=f(x) 16
(-6+2)
m+2) =16

5. Arată ce va afişa programul următor în tabelul de valori:


program prog;
var a,b: integer;
procedure suma(var x:integer);
begin x:=2*x; b:=x+b;
writeln('In procedura x=’, a:6,’ b=’, b:6);
end;
begin
a:=1; b:=2; writeln (a:6 ,b:6); suma(a); writeln (a:6 ,b:6);
end.
Arată calculele efectuate şi modul de returnare a rezultatelor!!!
Tabelul de valori: Apel Ecranul rezultatului
a 1 2 a:=1 1,2
b 2 4 b:=2 In procedura x=2, b=4
x x 2,4

6. Elaborează o funcţie şi o programă ce află suma a 3 numere pozitive citite de la tastatură.

Intrare: Numerele pozitive citite de la tastatură.

Ieşire: Suma numerelor afişată pe 6 poziţii.

Program p1;
Var s,m:real;
Function F(a,b,c:real):real;
Begin
If (a<0) or (b<0) or (c<0) then writeln(’numerele nu sunt pozitive’) else
S:=a+b+c;
F:=s
End;
Begin
Writeln(’Dati cele 3 numere pozitive’);readln(a):readln(b);readln(c);
Writeln(‘Suma numerelor positive este’,F(a,b,c):6:3);
End.

7. Se consideră următoarea declaraţie:


var a: array[1..100] of integer;
Defineşte o procedură cu parametru variabilă ce află suma elementelor tabelului liniar. Scrie
un program ce afişează rezultatul utilizînd procedura definită.
Intrare: Numărul de linii n, numărul de coloane m, valorile componentelor matricei.
Ieşire: Afişarea elementelor matricei si suma elementelor.
1. Alege adevărat (A) sau fals (F) în funcţie de faptul, dacă este sau nu adevărată afirmaţia:
Nr. d/o Afirmaţia A sau F
1. În antetul procedurii parametrii variabila sunt precedaţi de cuvântul cheie var.
2. Apelul funcţiei poate apare în orice instrucţiune.
3. Variabilele locale sunt cunoscute pe tot parcursul subprogramului în care au fost declarate.

2. Argumentează care din următoarele antete de funcţii sunt corecte:


Antetul Argumentul
function 123 (m,n:integer):real;
function sa:real;
function non (r:char) : array;
function f (r:char) : integer;

3. Expune următoarele noțiuni:


Definiţia
procedurii
Textul de definire

4. Completează tabelul de valori pentru programul de mai jos şi enumără:


 variabilele globale_______________  parametrii formali_______________
 variabilele locale________________  parametrii actuali_______________
Program prog_v2;
uses crt;
Var a,b:integer;
Function g (t:integer):integer;
Var m: integer;
Begin m:= -5*t+8; g:=abs(-m); writeln(’In functie m=’ ‚ m:6,’ t=’, t:6); end;
begin clrscr;
a:=10; b:=g(a); writeln(a:6, b:6); Readln; End.
Arată calculele efectuate!!!
Tabelul de valori: Apel Ecranul rezultatului

5. Expune ce va afişa programul următor în tabelul de valori:


program prog52;
var a: integer;
procedure proced(var x: integer);
begin
x:=x+1;
x:=x+a; writeln('In subprogram x=’, x:6);
end;
begin
a:=5; writeln(a:6);
proced(a); writeln(a:6); readln;
end.
Arată calculele efectuate şi modul de returnare a rezultatelor!!!

6. Elaborează o funcţie şi o programă ce află produsul a 3 numere întregi pozitive citite de la tastatură.

Intrare: Numerele pozitive sunt citite de la tastatură.

Ieşire: Produsul numerelor afişat pe 6 poziţii.

7. Se consideră următoarea declaraţie:


var a: array[1..20,1..20] of integer;
Defineşte o procedură cu parametru ce află suma elementelor pare a matricei. Scrie un program ce
afişează rezultatul utilizînd procedura definită.
Intrare: Numărul de linii n, numărul de coloane m, valorile componentelor matricei.
Ieşire: Afişarea elementelor matricei si suma elementelor pare.
1. Arată în tabel ce se va afişa în rezultatul executării următoarei secvenţe de instrucţiuni a limbajului
PASCAL:
new(a); a^:= c ;
new(b); b^:=17;
new (b); b^:=sqr(5)+2;
writeln (b^:6, succ(a^):6);

2. Arată se va afişa pe ecran în urma execuţiei programului următor în tabelul alăturat:


var p, q: ^Integer;
Begin
New(p); New(q);
p^:=67; q^:=-3;
p^:=q^+p^;
Writeln (sqrt(p^=:6:2, q^:6) End.
3. Scrie ce se va afişa în rezultatul executării următoarei secvenţe de instrucţiuni în tabelul de mai jos:
Var a1, a2: ^Integer;
Begin new(a1); new(a2);
a1^:=10 - abs(-4);
a2^:=a1^+ sqr(3);
writeln(a1^:6,a2^:5);end.
4. Arată ce se va afişa pe ecran în urma execuţiei programului următor în tabelul de mai jos:
Program elena;
var p, q: ^Integer;
Begin
New(p); New(q);
p^:=81; q^:=succ(p^);;
Writeln ( sqrt(p^):6:2, q^:6) ;
End.
5. Arată ce se va afişa în tabelul de mai jos, în rezultatul executării următoarei secvenţe de instrucţiuni a
limbajului PASCAL, dacă sunt date declaraţiile:
var a: ^char;
c: ^integer;
begin
new(a); a^:= z ; new (c); c^:=18;
writeln ( pred(a^):6, c^:6); end.
6. Arată ce se va afişa în rezultatul executării următoarei secvenţe de instrucţiuni a limbajului PASCAL
în tabelul alăturat:
var a: ^char;
b: ^integer;
begin
new(a); new(b); b^:=16; a^:= 'd' ;
writeln (abs(- b^+2):6, pred(a^):6); end.

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