Sous-programme

{{#ifeq:||Un article de Ziki, l'encyclopédie libre.|Une page de Ziki, l'encyclopédie libre.}}
Révision datée du 5 décembre 2018 à 02:21 par >ProgMan (Ajout de bannière «ébauche concernant l'informatique» et «ne cite pas suffisamment ses sources»)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

{{#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 »).

Modèle:Portail