Sous-programme - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

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 fonction ou une procédure. La notion de sous-programme est cependant un peu plus générale, car il ne possède pas nécessairement son propre espace de noms. C'était le cas par exemple des sous-programmes appelés par l'instruction GOSUB des dialectes historiques du BASIC. Dans ce type de langage 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 de fonctions.

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 ").

Page générée en 0.007 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise