next up previous contents
Next: Chybné použití rekurze Up: Podprogramy Previous: Parametry versus lokální proměnné   Obsah

Procedury versus funkce

Funkce je zvláštní typ podprogramu, který vrací hodnotu. V Pascalu může funkce vracet hodnotu jakéhokoliv jednoduchého typu (integer, byte, boolean, real, ukazatel, string...). Její hlavička vypadá například takto:
function vratMocninu(x: integer): integer;

Funkční hodnota se v těle funkce vrací tak, že se přiřadí výsledek jménu funkce. Například takto:

function vratMocninu(x: integer): integer;
begin
  vratMocninu := x * x;
end;

Procedury mohou také vracet hodnoty - pomocí parametrů volaných odkazem. Tímto způsobem mohou vracet hodnoty i samotné funkce. Proceduru ale využijeme, pokud potřebujeme vracet hodnoty složitějších typů nebo větší počet parametrů. Pokud by měla procedura vracet jediný parametr jednoduchého typu, je lepší ji udělat jako funkci. Funkce jsou také vhodné pro případy, kdy vracíme chybový stav podprogramu.



David Martinek 2002-10-01