
1
1. Définition
Un sous-programme est un sous-ensemble du programme dans sa hiérarchie
fonctionnelle. C’est un programme qui réalise un traitement particulier, qui
s’exécute à l’intérieur d’un autre programme ; c’est donc un bloc d’instructions
réalisant une certaine tâche.
En algorithmique on distingue deux types de sous-programmes que nous allons
étudier :
Les fonctions qui ont pour but de retourner un résultat.
Les procédures qui modifient l’état du programme sans retourner de
résultat.
2. Utilité des sous- programmes
Tous les gros programmes sont en fait des assemblages de petits programmes,
car lorsqu’un programme est trop long, on le décompose en plusieurs modules
plus petits que l’on assemble. En effet, lorsque la complexité d’un problème
s’accroît, il devient nécessaire d’utiliser les sous-programmes pour alléger la
tâche du programmeur. Il s’agit du principe de la programmation modulaire.
Définir des sous-programmes a de nombreux avantages en termes de
structuration du programme complet, de compréhension, de factorisation du
code et de réutilisation. De façon générale les sous-programmes permettent :
De réduire la complexité d’un programme en le découpant en petits
programmes plus simples. On crée ainsi ce que l’on appelle une
hiérarchie de tâches. On améliore ainsi la conception et la lisibilité des
gros programmes ;
De faciliter la mise au point du programme : le programme est testé
sous-programmes par sous-programme ; les erreurs sont détectées plus
tôt, elles sont plus faciles à localiser, et donc à corriger ;
L’utilisation répétitive d’un même ensemble d’instructions en différents
points du programme : on écrit un sous-programme pour ce traitement
et on l’utilise à chaque endroit où l’on a besoin. On évite ainsi la
duplication du code. On parle de factorisation de code ;
D’améliorer la maintenance du programme : le programme est plus facile
à comprendre, un changement peut rester localisé dans quelques sous-
programmes ;