Algorytmy i Programowanie - Ćwiczenia 4


Poprzednie Następne
Temat: Zadania. Procedury i funkcje. Stałe. Użycie innych typów zmiennych.

Procedury i funkcje

Procedury i funkcje to takie kawałki programów, które mogą być wywoływane z innych miejsc w programie dowolną liczbę razy. Czasem są nazywane po prostu podprogramami. Procedura i funkcja może operować na pewnych danych wejściowych. Różnica między nimi polega na tym, że funkcja zwraca pewną wartość, podczas gdy procedura nie. Procedurę definiuje się następująco:
procedure nazwa_procedury(nazwa_parametru_int: integer)
begin
  // kod procedury
end;
Funkcję definiuje się następująco:
function nazwa_funckji(nazwa_parametru_int: integer): integer // typ liczby, którą funkcja zwraca
begin
  // kod funkcji
  nazwa_funkcji := wartosc; // zwrócenie wyniku przez funkcję i zakończenie jej działania
end;
Przykład: funkcja obliczająca wartość bezwzględną argumentu typu integer
function wartosc_bezwzgledna(x: integer)
begin
if (x > 0) then wartosc_bezwzgledna := x
           else wartosc_bezwzgledna := (-1)*x;
end;
Zarówno do procedury jak i funkcji parametry mogą być przekazywane przez wartość lub przez referencję. W powyższym przykładzie parametr został przekazany przez wartosc. O przekazywaniu parametrów przez referencję będziemy szerzej mówic na zajeciach dotyczacych wskazników. Dla argumentów przekazanych przez wartość, wewnatrz funkcji jest tworzona ich lokalna kopia. Oznacza to, że zmiany dokonane na tych argumentach nie będą widoczne poza funkcją. W przypadku przekazania zmiennej przez referencję, zmiany wartości zmiennej będą widoczne także poza funkcją.

Stałe

W języku Pascal oprócz zmiennym, można także na początku programu definiować dowolne stałe. Robi się to przy pomocy polecenia const.
Przykład deklaracji i użycia stałych:
const PI = 3.14;

begin
  r := 4;
  pole_kola := r*r*PI; // Pod PI zostanie podstawione 3,14 i obliczone zostanie pole koła o promieniu r
end.