Ce va afișa la execuția acestui program. +Argumentare
Urgent!
program p5;
var k:integer; d:real;
procedure suma(n:integer; var s:real);
begin
s:=0;
for i:=1 to n do
s:=s+2*i ;
end;
begin
k:=4; suma(k,d); writeln(′d=′ , d:5:0);
end.
Răspunsuri la întrebare
Nu este declarat i, deci nu se va afișa nimic, se va afișa eroare.
Însă să presupunem că ai uitat să declari i, în așa caz se va afișa la ecran:
d=___20
Se va afișa cu 3 spații în fațăm, deoarece în writeln(′d=′ , d:5:0); avem :5:0 ceea ce înseamnă că valoarea lui d se va afișa pe 5 poziții cu 0 cifre după virgulă.
Acum de ce se va afișa 20. Se va afișa 20, deoarece valoarea lui k se transmite procedurii suma ca fiind ulterior n, iar valoarea lui d este transmisă la aceeași adresă care o deține variabila s, asta înseamnă că atunci când se va afișa variabila d, se va afișa valorea schimbată în procedură a lui s.
Operația s:=s+2*i va fi executată de 4 ori, deoarece n este valorea lui k, care este 4 și astfel:
s=0+2*1=2;
s=2+2*2=6;
s=6+2*3=12;
s=12+2*4=20;