5. Procedury a funkce – Deklarace, parametry volané hodnotou a odkazem, rozdíl mezi procedurou a funkcí
- Procedury a funkce se nazývají podprogramy
- Při opakování použití kódu v programu
- Využívají se např. když spolupracuje více programátorů na jednom projektu
- Pokud používáme proceduární programovací jazyk
Co je procedura?
Procedura je funkce bez návratové hodnoty. Proč ještě procedury? Proč nestačí jen funkce? Procedura slouží k tomu, abysme mohli jedním příkazem vykonat celý blok příkazů uzavřených v proceduře. Procedura se deklaruje skoro stejně jako funkce, ale nemá návratovou hodnotu a místo klíčového slova function se používá slovo procedure. Procedury se hodně používají pro obsluhy událostí komponent. Příklad jedné procedury najdete v následující tabulce.
Co je to funkce?
Funkce je blok příkazů uzavřených mezi begin a end; + proměnné. Funkce může mí jeden, ale i několik argumentů a její tělo deklarujeme v sekci implementation. Delkarace funkce vypadá takto.
Deklarace procedury
PROCEDURE název(seznam formálních parametrů(proměnných);
VOLÁNÍ PROCEDURY – je samostatným příkazem
Název(seznam skutečných parametrů);
Deklarace funkce
FUNCTION název(seznam formálních parametrů:datový typ;
VOLÁNÍ FUNKCE – není samostatným příkazem, musíme použít v rámci jiného příkazu
Název(seznam skutečných proměných);
Funkce vrací jedinou hodnotu, kterou má v názvu. Typ se vztahuje k názvu.
Rozdíl mezi procedurou a funkcí
- VE VOLÁNÍ
Procedura – Samostatný příkaz
Funkce – Není samostatný příkaz, musíme použít v rámci jiného příkazu
Název(seznam skutečných parametrů)
- FUNKCE VRACÍ JEDINOU HODNOTU, KTERÁ JE ULOŽENA V NÁZVU FUNKCE
VOLÁNÍ HODNOTOU
- Hodnota se zkopíruje do paměťového místa, které je zadáno formální proměnou (x)
- Zejména pro řešení vstupů
- Jsou vypsané proměnné bez „var“ PŘ) procedure BLA(x:real);
VOLÁNÍ ODKAZEM
- Není další paměťové místo
- Používá se pro výstup proměnných
- Proměnná změní svůj název
- Nedochází ke kopírování, zůstává stejné paměťové místo
- Je psaná s „var“ procedure BLABLA(var x:real)
Napsat komentář
Pro přidávání komentářů se musíte nejdříve přihlásit.