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.