Rozdíl mezi procedurou a funkcí v programování

Uživatelé, kteří nejsou v zásadě daleko od programování, jsou zřídka konfrontováni s pojmy funkce a procedury a jsou spojeni s něčím matematickým a byrokraticko-lékařským. Při programování mnoho jazyků pracuje s těmito koncepty, ale ani odborníci někdy nedokážou jasně porozumět rozdílu mezi funkcí a procedurou. Jako u tohoto gophera: je, ale nikdo ho nevidí. Uvidíme, jestli jsou rozdíly tak neviditelné.

Obsah článku

  • Definice
  • Porovnání
  • Závěry

Definice

Funkce při programování se podprogram vyvolává z jiných podprogramů tolikrát, kolikrát je to nutné.

Postup - pojmenovaná část programu (podprogram), opakovaně vyvolaná z následných částí programu požadovaný počet opakování.

na obsah ↑

Porovnání

Hlavní rozdíl mezi funkcí a procedurou je výsledek návratu. Ve skutečnosti jsou jak funkce, tak procedury logicky nedělitelné bloky, které tvoří programový kód. Funkce vrací hodnotu, postup ve většině programovacích jazyků nevrací nebo (například v C) vrací prázdnou hodnotu. Ve druhém případě (v C) se postup považuje za podřízený druh funkce.

Záhlaví funkce obsahuje slovo „funkce“, identifikátor (vlastní název funkce), seznam parametrů a případně typ výsledku. V těle funkce musí být operátor předepsán a přiřadit k názvu funkce hodnotu, kterou vrací. Název procedury obsahuje slovo „procedura“, identifikátor (název procedury) a seznam parametrů. Volání funkce se provádí jako součást výrazů, ve kterých jsou tyto výrazy použity, volání procedur vyžaduje samostatné prohlášení. Procedura se nazývá pouze jménem, ​​název funkce je spojen s její hodnotou. Na diagramech algoritmů je funkční volání zobrazeno ve výstupním bloku nebo v procesním bloku, volání procedury ve speciálním bloku „předdefinovaný proces“.

na obsah ↑

Závěry

  1. Funkce vrací hodnotu, procedura ne.
  2. Hlavička funkce musí obsahovat typ výsledku..
  3. V těle funkce je vyžadován operátor, který přiřazuje hodnotu názvu funkce.
  4. Volání procedury vyžaduje samostatného operátora, funkční volání je možné jako součást výrazů.
  5. K vyvolání je potřeba název procedury, název funkce má přiřadit hodnotu.
  6. Na diagramech algoritmů je volání procedur zobrazeno v samostatném bloku, volání funkce je zobrazeno v procesním nebo výstupním bloku.