This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
(Pentru fiecare afirmaţie corectă se acordă 2 puncte.)
4
Itemul 2. Pentru fiecare afirmaţie din coloana A, alegeţi din coloana B noţiunea pe care o defineşte, scrieţi cifra corespunzătoare în căsuţele de mai jos:
Soluţie: a ; b ; ; c ; d .
Se acordă 4 puncte.
5
A
a. O variabilă ale cărei valori sunt cunoscute numai în subprogramul în care a fost declarată şi în subprogramele apelate de acestaeste
b. O valoare concretă a unui parametru, care se transmite la apelul unui subprogram este
c. O variabilă ale cărei valori sunt cunoscute în tot programul este
d. Un simbol definit la declararea unui subprogram
B
1. valoarea unei variabile
2. variabilă globală
3. valoare returnată
4. parametru formal
5. variabilă locală
6. parametru actual
Itemul 3. Se consideră următorul program:
Care este domeniul de vizibilitate al variabilelor din program? Precizaţi şi
5. Aplicarea metodelor de analiză, de sinteză şi de programare pentru soluţionarea problemelor legate de prelucrarea automatizată a informaţiei.
12
Itemul 1. Bifaţi petru fiecare din afirmaţiile de mai jos dacă este corect sau greşit, apoi justificaţi răspunsul în rîndurile de mai jos:
a) Parametrii actuali ai unei proceduri/funcţii trebuie să coincidă ca număr şi
tip cu parametrii formali
Corect
Greşit
b) Parametrii formali ai unei proceduri/funcţii sunt valori concrete cu care lucrează programul, iar
cei actuali sunt nişte simboluri.
Corect
Greşit
c) Valoarea returnată de către o funcţie poate fi transmisă ca parametru
altui subprogram.
Corect
Greşit
(Pentru fiecare răspuns corect se acordă 1 punct.)
_a) parametrii actuali trebuie să corespundă ca număr, tip şi ordine cu parametrii formali.
_b)parametrii formali sunt cei precizaţi la declararea funcţiei şi sunt nişte simboluri, în timp ce parametrii actuali se transmit la apelul subprogramului şi sunt valori concrete ale parametrilor formali. (Pentru fiecare afirmaţie corectă se acordă 2 puncte.)
13
Itemul 2. Pentru fiecare afirmaţie din coloana A, alegeţi din coloana B noţiunea pe care o defineşte, scrieţi cifra corespunzătoare în căsuţele de mai jos:
Soluţie: a ; b ; ; c ; d .
Se acordă 4 puncte.
14
A
a. O variabilă ale cărei valori sunt cunoscute numai în subprogramul în care a fost declarată şi în subprogramele apelate de acestaeste
b. O valoare concretă a unui parametru, care se transmite la apelul unui subprogram este
c. O variabilă ale cărei valori sunt cunoscute în tot programul este
d. Un simbol definit la declararea unui subprogram
B
1. valoarea unei variabile
2. variabilă globală
3. valoare returnată
4. parametru formal
5. variabilă locală
6. parametru actual
5 6 2 4
Itemul 3. Se consideră următorul program:
Care este domeniul de vizibilitate al variabilelor din program? Precizaţi şi
tipul lor locale/globale.
x- variabilă globală, vizibilă în tot programul, adică în modulul principal P, şi în procedurile P1, P2, P3. ______________________________________________________________________________________________
y- variabilă locală, vizibilă în programul P1 şi P2.. ______________________________________________________________________________________________
z- variabilă locală , vizibilă doar în rpogramul P2. ______________________________________________________________________________________________
15
Program P;Var x: integer;Procedure P1;Var y: integer;BeginP2;End.Procedure P2;Var z: integer;Begin{corpul procedurii}End;Procedure P3;Var m: integer;BeginP1;End;Begin {modul principal P}P3;end.
m- variabilă locală, vizibilă în programul P3. ______________________________________________________________________________________________
Se acordă 12 puncte.
Itemul 4. Ce va afişa în urma execuţiei programului de mai jos, pentru n=3:
(Se acordă 6 puncte.)
16
Program suma a n elemente;
Var s, n, i:integer;
Procedure suma;
Begin
s:=0;
for i:=1 to n do
s:=s+i;
end;
begin {PP}
write(`n:`);readln(n);
suma;
writeln(`Suma este:`,s);
readln;
end.
Soluţia:
1. Citeşte n=3 în programul principal
2. Apelez procedura suma; s=0 Pas1:
i=1 atunci s=s+i rezultă s=0+1=1 ,
Pas2: i=2 atunci s=s+i rezultă
s=1+2=3, Pas3: i=3 atunci s=s+i
rezultă s=3+3=6, Pas4: i=4, 4>3
STOP .
3. Afişează rezultatul: s=6.
Itemul 5. Găsiţi erorile din rpogramul de mai jos, şi după corectarea lor precizaţi ce afiează programul.
(Se acordă 5 puncte.)
17
var a,b:integer;
function
calcul(x, y:integer):integer;
begin
calcul:=(x+y)/2;
end;
begin
a:=10; b:=3;
writeln(calcul (a,b))
end.
Greşeala se află în antetul funcţiei, ea trebuie să returneze o valoare reală, de aceea antetul trebuie să fie:
Calcul(x,y:integer):real;
Valoarea returnată deprogram va fi: x=10, y=3 calcul :=(10+3)/2
funcţia returnează valoarea 6.5, care va fi şi afişată.