FUNKCJE I PROCEDURY.doc

(34 KB) Pobierz
Paweł Grądzki Kl

Paweł Grądzki Kl. II Ti

Funkcje i procedury

 

Do czego służą procedury i funkcje?

Procedury służą do zamknięcia pewnych standardowych, wielokrotnie wykonywanych ciągów czynności w pewną całość "widzianą" przez program pod konkretną nazwą i operującą w danej chwili na konkretnych argumentach. Funkcja jest podobna do procedury, różni się od niej tym, że pod swoją nazwą zwraca pewną wartość. Zastosowanie procedur i funkcji pozwala na optymalizację wykorzystania pamięci. Pamięć jest przydzielana dynamicznie podczas wywołania.

 

Procedury

 

Deklaracja procedury

procedure nazwa [(lista_parametrów_formalnych)];

   {deklaracje lokalnych stałych, zmiennych i typów}

begin

   {część operacyjna}

end;

Deklaracja procedury powinna znajdować się przed częścią operacyjną programu, czyli przed głównym słowem begin, a po deklaracji zmiennych, z których ona korzysta. Nie jest konieczne umieszczanie po deklaracji zmiennych, ale stosowanie się do tej zasady pozwala na zastosowanie porządku w zapisie programu.

Jeżeli chcemy aby procedura była zadeklarowana za miejscem jej pierwszego wywołania, należy użyć słowa kluczowego forward:

procedure nazwa [(lista-parametrów-formalnych)]; forward;

 

 

 

 

Wewnątrz procedury można deklarować zmienne lokalne, czyli zmienne wewnętrzne, obowiązujące tylko w tej procedurze, w której zostały zadeklarowane. Zmienne lokalne mogą mieć takie same identyfikatory jak zmienne globalne (zmienne zewnętrzne, obowiązujące w całym programie), wtedy znaczenie zmiennej globalnej zostanie przysłonięte znaczeniem zmiennej lokalnej. Wewnątrz deklaracji można używać zmiennych globalnych (nie przysłaniając ich), pokazane na przykładzie, jednak należy pamiętać o częstych błędach przy drobnej nieuwadze.

 

Przykład deklaracji

procedure srednia;

var

   i:integer;

   s:real;

begin

   s:=0.0;

   for i:=1 to ilosc do  //ilosc - zmienna zewnętrzna

     s:=s+dane[i];

   wynik:=s/ilosc

end;

 

Wywołanie procedury

nazwa_procedury [(lista_parametrów_aktualnych)];

Wyłowanie procedury polega na podaniu w zapisie programu jej nazwy, a także listy parametrów aktualnych, czyli zawierających ich bieżące wartości. Lista ta nie istnieje, gdy nie określimy żadnych parametrów formalnych przy deklarowaniu procedury.

 

 

 

 

 

 

 

 

 

 

 

Funkcje

Funkcja jest rodzajem procedury, która po wywołaniu zwraca obliczoną przez siebie wartość pod swoją nazwą.

 

Deklaracja funkcji

function nazwa [(lista-parametrów-formalnych)] : typ_wyniku;

   {deklaracje lokalnych stałych, zmiennych i typów}

begin

   {część operacyjna}

end;

Deklaracja funkcji powinna znajdować się przed częścią operacyjną programu, czyli przed głównym słowem begin,a po deklaracji zmiennych, z których ona korzysta. Nie jest konieczne umieszczanie po deklaracji zmiennych, ale stosowanie się do tej zasady pozwala na zastosowanie porządku w zapisie programu.

Jeżeli chcemy aby funkcja była zadeklarowana za miejscem jej pierwszego wywołania, należy użyć słowa kluczowego forward:

function nazwa [(lista-parametrów-formalnych)]:typ_wyniku; forward;

Wewnątrz funkcji można deklarować zmienne lokalne tak samo jak to jest przy procedurach.

W części operacyjnej funkcji przynajmniej raz powinna wystąpić instrukcja przypisania postaci:

nazwa:=wyrażenie;

lub

RESULT:=wyrażenie;

 

 

 

 

 

Przykład deklaracji

function srednia;

var

   i:integer;

   s:real;

begin

   s:=0.0;

   for i:=1 to ilosc do  //ilosc - zmienna zewnętrzna

     s:=s+dane[i];

   srednia:=s/ilosc

end;

 

Wywołanie funkcji

Wywołanie funkcji ma miejsce w wyrażeniu po prawej stronie instrukcji przypisania lub w instrukcji wywołania procedury:

zmienna:=nazwa [(lista-parametrów-aktualnych)];

 

Przykład wywołania

Srednia_ocen:=srednia;

writeln(srednia);

 

Zgłoś jeśli naruszono regulamin