Sous-programme
{{#invoke:Bandeau|ébauche}} Modèle:À sourcer En informatique, un sous-programme est un sous-ensemble du programme dans sa hiérarchie fonctionnelle. Un sous-programme doit pouvoir mémoriser l'adresse du code appelant pour permettre, à l'aide d'une instruction spécifique, de charger le pointeur de programme avec cette adresse de retour.
Cela correspond bien souvent à une routine. Cependant, la notion de sous-programme est un peu plus générale, car il ne possède pas nécessairement son propre espace de noms. C'est le cas par exemple des sous-programmes appelés par l'instruction Modèle:Lien en BASIC. Dans ce cas, la notion de variable locale n'existe donc pas.
Ce terme est utilisé dans le contexte d'une conception fonctionnelle d'un logiciel, c’est-à-dire lorsque son architecture a été pensée et construite à partir des opérations qui doivent la composer.
Exemple
Prenons l'algorithme suivant :
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
Les sous-programmes servent ici à simplifier certains concepts, comme « manger ». C'est ainsi qu'un algorithme peut devenir plus clair, en étant débarrassé de tout détail (comme dans le cas de « prendre un repas »).