Informatică, întrebare adresată de PiTiCanCa, 8 ani în urmă

Program Test;
Var z,y:integer;
Procedure Pro (a:integer; Var b:integer);
Begin
A:=a+1; b:=b+3; End;
Begin
X:=5; y:=3;
Pro(x,y); writeln(x, ` `, y); end.
a) Ce va afișa programul ?
b) Care sunt parametrii formali valoare ____ , parametri formali variabilă _____, parametri actuali ______


grigore2018: x=5 si y=6
grigore2018: Nu inteleg ( parametri formali variabila ) parametrii formali nu sunt variabile deoarece o variabila are nume,tip,adresa ( sau poate gresesc ceva eu??) : )

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

Explicație:

parametrii  formali sunt în antetul unui subprogram, la tine sun aici:

Procedure Pro (a:integer; Var b:integer);

b) a se numeşte parametru valoare, iar b este parametru variabilă (are în faţă cuvântul-cheie var)

c) Parametrii actuali sunt în apelul subprogramului, în programul tău apelul subprogramului Pro se află în partea executabilă a programului şi este:

Pro(x,y); şi deci parametrii actuali sunt x şi y.

a) concretizări: parametrul formal valoarea primeşte valoare la apel şi dacă în subrogram se modifică valoarea, ea nu va fi trimisă în programul principal, dar orice schimbare a parametrului formal variabilă va trimite în blocul apelant valoarea schimbată.

Acum ce va afişa programul:

Se execută instrucţiunile părţii executabile a programului principal:

Begin

X:=5; y:=3;  

Pro(x,y); writeln(x, ` `, y);

end.

Deci x ia valoarea 5, iar z devine 3. Se apelează procedura Pro. x trimite valoarea parametrului a, iar y trimite valoarea sa parametrului formal variabila b. Deci a=5, b=3, după transmiterea valorilor. În procedură se execută două instzrucţiuni A:=a+1; b:=b+3;

Deci a:=a+1=5+1=6, iar b:=b+3=3+3=6. parametrul b, fiind parametru formal variabilă întoarce parametrului actual apelant valoarea sa, deci y va obţine valoarea 6. Procedura şi-a încheiat activitatea, deci se revine în programul principal şi se execută următoarea instrucţiune writeln(x, ` `, y);

Deci se afişează valorile 5 6. Asta e răspunsul la puncrul a)

Alte întrebări interesante