předchozí návrat do menu následující

Lekce 7

Procedury

Procedury mají strukturu podobnou programu.

Procedury tedy mohou obsahovat další procedury a funkce. Součástí procedury není seznam použitých jednotek. Použijí se jednotky uvedené v nadřazené struktuře (hlavní program, jednotka).

procedure Jmeno_procedury(parametr:typ);

  const Jmeno_konstanty = hodnota;
  var Jmeno_promenne:datovy_typ;
  procedure ...
  function ...

 begin
  {tělo procedury}
 end;

Proměnné a konstanty definované uvnitř procedury nejsou přístupné dalším částem programu. Mohou tedy používat stejná jména.

Procedura může používat proměnné a konstanty hlavního programu, pokud vnitřní proměnné nebo konstanty nemají stejný název.

Některé procedury vyžadují vstupní parametry. Jejich seznam je uveden v kulatých závorkách za jménem procedury.V případě, že procedura nemá žádné parametry, závorky se vynechají.

Každý parametr má jméno a datový typ. Všechny parametry procedury jsou pro příkazy uvnitř jako proměnné. Změna jejich hodnot nemá vliv na jiné části programu. Pokud požadujeme, aby se změny provedly, vkládá se před jméno parametru klíčové slovo var a pak se jedná o tzv. parametr volaný odkazem. Ostatní parametry (bez var) jsou pak označovány jako parametry volané hodnotou.

Volání procedury má tvar:

Jmeno_procedury(parametry);

Funkce

Struktura funkce je podobná proceduře

Stejně jako procedura, může i funkce obsahovat vnořené procedury a funkce. Použití proměnných je taktéž stejné.

function jmeno(jmeno_parametru:typ):typ;

   const Jmeno_konstanty = hodnota;
   var Jmeno_promenne:typ;
   procedure ...
   function ...

 begin
   {tělo funkce}
 end;

Narozdíl od procedury však funkce vrací hodnotu. Datový typ této hodnoty musí být uveden za jménem funkce. Její předání je umožněno výrazem v těle funkce:

jmeno:=hodnota;

Volání funkce:

Jmeno_promenne:=Jmeno_funkce(parametry);

Procedura i funkce se zdá být jako program. V čem je tedy jejich význam? Pokud se nějaká činnost vyskytuje v programu na více místech, uvede se pouze volání procedury nebo funkce, která provádí požadovanou činnost. Není tak nutné několikrát opisovat stejné části programu, ten je pak kratší a přehlednější.


Cvičení: Cvičení 15 Cvičení 16 Cvičení 17 Cvičení 18


předchozí návrat do menu následující
Programování v jazyce Pascal