Funkcje i procedury
Funkcje, procedury - pozwalają dzielić program na części oraz wielokrotnie wykorzystać ten sam algorytm, kod programu.
Funkcja (procedura) to wyodrębniony fragment programu, realizujący określone zadanie, który może być wielokrotnie wykorzystywany w programie.
Funkcja zwraca wynik będący jedną wartością określonego typy prostego. Deklaracja funkcji, składa się z identyfikatora (nazwy), ewentualnej listy parametrów formalnych, nazwy typu wartości zwracanej oraz bloku funkcji, w którym występuje instrukcja podstawienia pod nazwę funkcji wartości zwracanej. Wywołanie funkcji następuje bezpośrednio w wyrażeniach, w których potrzebna jest wartość funkcji. Funkcję stosujemy najczęściej wówczas gdy mamy otrzymać jedną konkretną wartość.
function nazwa (lista parametrów formalnych) : typ_wyniku;
definicja stałych oraz typów lokalnych;
deklaracja zmiennych lokalnych;
begin
. . .
instrukcje;
. . .
nazwa := wynik;
end;
Procedura jest ciągiem poleceń (instrukcji) wykonujących określone czynności. Deklaracja procedury, składa się z nazwy i ewentualnej listy parametrów formalnych.
procedure nazwa (lista parametrów formalnych);
definicja stałych oraz typów lokalnych;
deklaracja zmiennych lokalnych;
begin
. . .
instrukcje;
. . .
end;
***********************************************************************************
Przykład:
Program prz1;
uses crt;
{program dodający 2 liczby z wykorzystaniem funkcji}
var a,b,wynik:integer;
function dodaj (a,b:integer):integer;
begin
writeln('Dodaje twoje liczby'); definicja funkcji dodaj
dodaj:=a+b;
end;
begin
Writeln('podaj liczby ktore chesz dodac');
readln(a,b);
wynik:=dodaj(a,b); program główny
writeln('wynik wynosi=',wynik);
readkey;
end.
Program prz2;
uses crt;
{program dodający 2 liczby wczytane przez użytkownika z wykorzystaniem procedury }
var a,b:integer;
procedure dodaj (x,y:integer);
var wynik:integer;
begin
writeln('Dodaje twoje liczby'); definicja procedury dodaj
wynik:=x+y;
writeln(`Suma wynosi: ',wynik);
end;
begin
Writeln('podaj liczby ktore chesz dodac');
readln(a,b);
dodaj(a,b); program główny
readkey;
end.
Funkcje jak i procedury mogą być uruchomiane w programie głównym jak i w innych funkcjach, procedurach. Należy tylko pamiętać, że deklaracja procedury lub funkcji musi poprzedzać jej wywołanie.
Uwaga: procedury jak i funkcje mogą nie posiadać parametrów. Wywoływane są wtedy tylko przez swoją nazwę (bez ()). Np.
Program inform;
procedure info;
begin
writeln('informacja');
end;
begin
info;
info;
end.