Tworzenie funkcji i procedur w Turbo Pascalu

Procedury to „części” kodu programu, które wykonują przydzielone im zadanie. Procedury które pewnie znasz to np. Write. Powoduje ona wypisanie na ekranie tego, co podaliśmy w nawiasie. Jest zawarta w standardowych bibliotekach, więc nie musimy pisać jej kodu, wystarczy wpisać jej nazwę. Co mamy jednak począć, gdy musimy np. w kilku miejscach w programie wypisać na ekran taki sam domek? Mamy pisać kilka domków, co zajmuje dużo miejsca w naszym programie? Nie! Wystarczy napisać go raz, a później tylko wywoływać naszą procedurę!
Struktura naszej procedury wygląda następująco:

Procedure nazwa_procedury(przekazywane_zmienne);
var zmienna; {tutaj znajdują się zmienne naszej procedury}
begin
kod procedury {tu znajduje się treść naszej procedury}
end;

begin
clrscr;
nazwa_procedury; {tutaj procedura zostanie wykonana}
readkey;
end.

A teraz przykład:

procedure domek;
begin
Writeln(' ');
Writeln(' II /\');
Writeln(' II/ \');
Writeln(' I/ () \');
Writeln('----------');
Writeln('I [] [] I');
Writeln('I [] [] I');
Writeln('I [] [] I');
Writeln('I _ I');
Writeln('I I I I');
Writeln('----------');
end;
begin
clrscr;
domek;
readkey;
end.

Funkcja różni się tym od procedury, że zwraca nam wynik wykonanego zadania.
A teraz struktura funkcji:

function nazwa_funkcji(przekazywane_zmienne):typ_wyniku;
var zmienna; {tu znajdują się zmienne funkcji}

begin
kod funkcji {tu znajduje się treść naszej funkcji}
nazwa_funkcji:=wynik_funkcji;
end;

begin
write(nazwa_funkcji(zmienne znajdujące się w nawiasie przy nazwie funkcji);
readkey;
end.

A teraz przykład gotowej funkcji obliczającej pole kwadratu:

function kwadrat(a:integer):integer;
var pole:integer;
begin
pole:=a*a;
kwadrat:=pole;
end;

begin
clrscr;
write('Podaj bok kwadratu: ');
readln(a);
write(kwadrat(a));
readkey;
end.

Mam nadzieję, że opisałem to w miarę zrozumiale. To mój pierwszy artykuł o Pascalu więc bądźcie wyrozumiali;)

Related Articles