Intéressé par des cours d'informatique en ligne ?
Visitez mon nouveau site
https://www.yesik.it !
Un sous-programme est une portion d'un programme chargée de réaliser une tâche particulière – et de manière relativement indépendante du reste du programme.
Un sous-programme est généralement conçu de manière à pouvoir être exécuté à plusieurs reprise dans le même programme. Quand on exécute les instructions d'un sous-programme, on dit qu'on l'appelle. L'exécution du programme appelant est alors suspendue jusqu'à ce que le sous-programme appelé soit terminé.
En programmation impérative, un sous-programme peut avoir un (ou plusieurs) effets et/ou renvoyer un ou plusieurs résultats:
- L'effet (on parle plus généralement d'effet de bord) consiste à modifier l'état du programme ou du système sur lequel le sous-programme s'exécute. Par exemple, en affichant un message à l'écran, ou en changeant la valeur d'une donnée en mémoire.
- Le resultat est une valeur calculée par le sous-programme et renvoyée au sous-programme appelant afin d'en faire l'usage qu'il désire.
Bien que générique, le terme de sous-programme est relativement tombé en désuétude. Selon le contexte, emploiera plutôt un des termes suivants:
- routine/sous-routine en assembleur
- fonction en C, JavaScript, PHP, ...
- procédure en Pascal, C, en particulier pour insister sur le fait qu'un sous-programme ne renvoit aucun résultat.
- méthode en programmation orientée objets, en particulier pour insister sur le fait que le sous-programme est associé à un objet.
Pour en finir avec le vocabulaire, notez également que le terme de fonction peut être trompeur. En effet, en programmation impérative, une fonction se distingue de son homologue en mathématique par le fait qu'elle peut avoir un effet de bord. Autrement dit, exécuter une fonction peut modifier l'état du programme de telle sorte que plusieurs appels à la même fonction peut produire des résultats et/ou des effets différents. Ceci n'est pas le cas des langages purement fonctionnels où une fonction n'a jamais d'effet de bord.