[ amanteo @ 21.07.2009. 22:05 ] @
Code zadatka: 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; -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... |