Logo kurzu - Algoritmizace a programováníAlgoritmizace a programování

Procedury a funkce


Procedury a funkce se někdy nazývají podprogramy. Představují totiž určitý pojmenovaný blok programu, který pak můžeme vykonat zapsáním jeho jména (hovoříme o jeho zavolání). Jedná se o obdobu již probraného rozdílu mezi strojovým kódem (tedy příkazy přímo v „řeči počítače“) a vyššími programovacími jazyky. Vyšší programovací jazyky tak vlastně obsahují mnoho podprogramů, které nabízí uživateli jako jednu akci. Uživatel si však může navíc přidat i svůj vlastní podprogram.

Voláme-li podpogram, napíšeme jeho název a za něj závorky. Pokud chceme podprogramu předat nějaké proměnné, uvedeme jejich seznam do těchto závorek – např. mojeFunkce1(promenna1, promenna2).

Rozdíl mezi procedurou a funkcí je v tzv. návratové hodnotě. Procedura žádnou návratovou hodnotu neobsahuje, prostě vykoná určitou sekvenci příkazů. Funkce také vykoná příkazy, ale navíc vrátí jednu hodnotu, kterou je možné přiřadit do proměnné. Například mojeCiselnaPromenna = mojeFunkce2() přiřazuje návratovou hodnotu funkce do proměnné mojeCiselnaPromenna. Jak vytvořit novou funkci či proceduru je uvedeno níže.

Function mojeFunkce()
   'případné příkazy funkce
   'vracející vždy 1
   mojeFunkce = 1
End Function
Sub mojeProcedura
   'případné příkazy procedury
End Sub

Návratovou hodnotu tedy uvnitř funkce přiřadíme názvu této funkce.