Witam,mam problem ze zrozumieniem celu parametru formalnego i aktualnego w pascalu,tylko prosiłbym o wytłumaczenie tego swoimi słowami,bo na wikipedi juz czytałem…z góry dzieki;)
ewentualnie bym prosił o jakis prosty przykła:)
Witam,mam problem ze zrozumieniem celu parametru formalnego i aktualnego w pascalu,tylko prosiłbym o wytłumaczenie tego swoimi słowami,bo na wikipedi juz czytałem…z góry dzieki;)
ewentualnie bym prosił o jakis prosty przykła:)
Zacznijmy od tego że niema nić o tym w wikipedii …
function Razy2(x:Integer):Integer;begin:= x shl 1;end;[/code]Formalny parametr - to nazwa zmiennej jaka jest zdefiniowana w funkcji czyli [b]x[/b].
[code=php]z:=54;z2:=Razy2(z); Aktualny parametr - to wartość z którą funkcja została wywołana czyli z lub tez 54.
czyli formalny slyzy do wkladania danych do funcki/procedury a aktualny do wykladania?
Wszystko zależy od tego co rozumiesz pod pojęciami wkładania/wykładania?
a mam takie pytanie,czemu parametr formalny nie mozna zastapic zmienna globalna?
Co znaczy zastąpić?
Można coś wpisać do zmiennej globalnej, potem wywołać funkcję/procedurę w której to znowu posługiwać się zmienną globalną. To jest pewnym zastąpieniem, tylko że posługiwanie się taką funkcją/procedurą było by niezbyt wygodne.
Można, ale istnieje z tysiąc powodów, by tak nie robić. Znaczne zmniejszenie czytelności to tylko jeden z nich. Wyobraź sobie, że masz funkcje “sqrt”, która pierwiastkuje. W sygnaturze funkcji czytasz: “function sqrt(x: Real): Real” i od razu widzisz, co musisz do tej funkcji przekazać i co otrzymasz. Natomiast jakbyś miał to robić przez zmienną globalną, to byś miał np. “procedure sqrt()”. No i zgaduj sobie, do której zmiennej globalnej musisz wstawić liczbę, żeby Ci spierwiastkowało. Musiałbyś popatrzeć w TREŚĆ tej procedury - sama sygnatura (nagłówek) nie wystarczy. A co, jeśli treść zajmowałaby 3 ekrany? Straciłbyś godzinę na znalezienie tej paskudnej zmiennej globalnej.
Na tym etapie najlepiej, jakbyś o zmiennych globalnych w ogóle nie wiedział, że istnieją.
Każdy program da się napisać bez zmiennych globalnych.
Co do tematu, odsyłam do literatury, w najnowszej Symfonii jest to bardzo dobrze opisane, rozdział o funkcjach.