Svaka funkcija ili procedura (potprogram) u Paskalu, može imati parametre kroz koje:
1. glavni program (ili potprogram) može proslediti neke vrednosti potprogramu ili
2. vraća neke vrednosti glavnom programu (ili potprogramu iz kojeg je bila pozvana)
Promenljivi parametri potprograma uvode se rezervisanom rečju var
npr: procedure razmena (var a,b:integer);
Parametri koji su u zaglavlju potprograma navedeni bez reči var nazivaju se vrednosni parametri
npr: function rastojanje (x1,y1,x2,y2:real): real;
Obično se promenljivi parametri koriste da bi potprogram vratio neke vrednosti u glavni program, a vrednosni parametri da bi potprogram prihvatio neke vrednosti iz glavnog programa.
Primer:
a) Napisati funkciju funcrast koja određuje rastojanje između dve tačke u ravni.
b) Napisati proceduru procrast koja određuje rastojanje između dve tačke u ravni
c) Napisati program fjaiproc koji testira f-ju funcrast i proceduru procrast
Progam fjaiProc;
var x1,x2,y1,y2,d1,d2:real;
function funcrast (x1,y1,x2,y2:real):real;
begin
funcrast := sqrt (sqr(x1-x2)+sqr(y1-y2));
end;
procedure procrast (x1,y1,x2,y2:real; var d:real);
begin
d := sqrt (sqr(x1-x2)+sqr(y1-y2));
end;
BEGIN
readln (x1,y1,x2,y2);
d1 := funcrast(x1,y1,x2,y2);
procrast(x1,y1,x2,y2,d2);
writeln ('rastojanje je', d1:10:5);
writeln ('rastojanje je', d2:10:5);
END.
Dakle u proceduri procrast parametar d je promenljivi parametar kroz koji procedura vraća vrednost izračunate dužine između dve tačke.
|