Podprogram

Ve výpočetní technice je podprogram podmnožinou programu v jeho funkční hierarchii. Subrutina musí být schopna zapamatovat si adresu volacího kódu, aby umožnila pomocí specifické instrukce načíst ukazatel programu s touto zpáteční adresou.

To velmi často odpovídá rutině . Pojem podprogram je však trochu obecnější, protože nemusí nutně mít svůj vlastní jmenný prostor . To je například případ podprogramů volaných instrukcí GOSUB  (en) v BASIC . V takovém případě tedy pojem lokální proměnné neexistuje.

Tento termín se používá v kontextu funkčního návrhu softwaru, to znamená, když byla jeho architektura navržena a vytvořena z operací, které jej musí skládat.

Příklad

Zvažte následující algoritmus :

PROGRAMME prendre un repas DEBUT mettre_la_table () presenter (plat_du_jour) manger (plat_du_jour) presenter (dessert) manger (dessert) ranger_la_table () FIN SOUS-PROGRAMME mettre_la_table DEBUT placer (nappe) placer (assiettes) placer (couverts) placer (verres) FIN SOUS-PROGRAMME presenter (plat) DEBUT placer (plat) placer (couverts_pour_plat) FIN SOUS-PROGRAMME manger (plat) DEBUT mon_assiette = se_servir (plat) manger_dans (mon_assiette, mes_couverts) boire_dans (mon_verre) FIN SOUS-PROGRAMME ranger_la_table () DEBUT ranger (couverts) nettoyer (nappe) FIN

Subrutiny se zde používají ke zjednodušení určitých konceptů, například „stravování“. Takto může být algoritmus jasnější odstraněním všech podrobností (jako v případě „jídla“).