Code:
program Parametri;
var
{globalne promenljive}
a,b:integer;
{definisanje procedure}
procedure Q(x:integer;var y:integer); {formalni parametri(X-vrednosni,Y-promenjivi)}
begin
y:=x+1;
end;
{glavni program}
begin
a:=2;
b:=0;
Q(sqr(a)+a,b); {poziv procedure Q}
writeln(b);
readln
end;
program Parametri;
var
{globalne promenljive}
a,b:integer;
{definisanje procedure}
procedure Q(x:integer;var y:integer); {formalni parametri(X-vrednosni,Y-promenjivi)}
begin
y:=x+1;
end;
{glavni program}
begin
a:=2;
b:=0;
Q(sqr(a)+a,b); {poziv procedure Q}
writeln(b);
readln
end;
-Kada procedura prima parametre , to mora biti u formi X,Y...
-kapiram da X uzima vrednost 2 , a Y:=X+1 , dakle Y:=3
-Kada izvršim zadatak dobijam za rezultat b=7
Iz udžbenika:
Prenos po vrednosti se koristi za čisto ulazne parametre čiju vrednost u glavnom
programu potprogram ne treba da menja.
Zbog toga na mestu poziva parametra po vrednosti može da stoji i neki izraz.
Uopšte mi nije jasno zašto je vrednost izraza sqr(x) dodata vrednosti Y tj:
Zar Y nije jednak X+1 ,kakve veze ima izraz sqr(x) sa vrednošću Y ?
Ufff,verovatno sam mogao i bolje da pitam ali bi bogami potrajala formulacija,
hvala unapred na utrošenim živcima...