Procedury.



Procedury (PROCEDURE) są to wyodrębnione części programu, stanowiące pewną całość, posiadające jednoznaczną nazwę i ustalony sposób wymiany informacji z pozostałymi częściami programu. Są stosowane do wykonania czynności, które mogą być wykorzystane w różnych programach lub do wykonania czynności wielokrotnie powtarzanych przez dany program.

Zadaniem procedury jest wykonanie pewnej sekwencji czynności, polegających zwykle na obliczaniu jedej lub wielu wartości.



Definicja procedury powinna znajdować się przed częścią operacyjną lecz po deklaracji zmiennych oraz przed miejscem jej pierwszego wywołania i ma postać :
PROCEDURE Nazwa_Procedury(Lista_parametrów);
...Część_opisowa
BEGIN
...Ciąg_instrukcji
END;
Lista parametrów zawiera deklarację parametrów, przy czym poszczególne deklaracje oddziela się średnikami (Listę parametrów można pominąć).

W części opisowej znajdują się delkaracje stałych, zmiennych i typów lokalnych.



Korzystanie z procedury polega na jej wywołaniu, czyli podaniu nazwy i ewentualnie listy parametrów, zawierającej ich bieżące wartości, i ma ogólną postać :
Nazwa_Procedury(Lista_parametrów);


Przykład :






Pojawia się nowe pojęcie : Zmienne Lokalne są to zmienne tworzone w momencie rozpoczęcia wykonywania procedury i znikające po jej zakończeniu. Przechowywane są one w tzw. Stosie, który jest podczas działania programu wykorzystywany jako miejsce przechowywania zmiennych tymczasowych.



Lista Parametrów pozwala na przekazywanie parametrów do i z procedury i ma ogólną postać :
(Lista_nazw : Typ; ...; Lista_nazw : Typ)
lub
(VAR Lista_nazw : Typ; ...; VAR Lista_nazw : Typ)
gdzie Lista_nazw jest grupą nazw parametrów tego samego typu, rozdzielonych przecinkami; lub pojedyńczym parametrem.

Słowo kluczowe VAR przed paramertem oznacza że procedura ma możliwość Zwrócenia tego parametru czyli zmiany jego wartości.



Mechanizm przekazywania parametrów.

Parametr nie poprzedzony słowem kluczowym VAR jest Przekazywany przez Wartość. Oznacza to, że procedura otrzymuje kopię wartości zmiennej i może z nią robić wszystko, ale wyłącznie na własny użytek.

Natomiast poprzedzenie parametru słowem VAR powoduje, że procedura otrzymuje nie kopię zmiennej lecz adres zmiennej w pamięci, co umożliwia jej dowolną modyfikację ze skutkiem widzianym poza procedurą. Ten sposób przekazywania parametrów nazywany jest Przekazywaniem przez zmienną.

Gdy przekazujemy parametry przez nazwę, to odpowiednie parametry aktualne w wywołaniu procedury muszą być zmiennymi. Przekazywanie parametrów przez wartość dopuszcza użucie zarówno zmiennych jak i wyrażeń.



Przykład :