CHAPITRE V- LES SOUS-PROGRAMMES
I- Introduction :
1- Principe:
- Tout problème peut être décomposé en un ensemble de sous-problèmes plus simples,
distincts et dont certains sont répétitifs et utilisés à différents endroits d'un programme avec
des données différentes.
- La solution de chaque sous-problème est un sous-programme ou module.
- On distingue les sous-programmes appelant et appelé.
La solution du problème est un programme principal qui fait appel aux différents modules en
leur fournissant des objets appelés paramètres.
- Un module peut être une fonction ou une procédure.
- L’appel d’un module se fait via son nom suivi des paramètres effectifs qui vont se substituer
aux paramètres formels du module.
2- Intérêts:
- Facilité de résolution et meilleure lisibilité du programme
- Réutilisation d’un module en cas de besoin
- Localisation des erreurs rapide
- Mise au point aisée et rapide et facilité de maintenance
- Centralisation de la résolution du problème autour d'un programme principal
II-Déclaration et accès aux objets:
- Tout objet déclaré au niveau d’un module (constante, variable, types, autres fonctions) est
dit objet local.
- Tous les objets utilisés dans un module où ils ne sont pas déclarés, sont dits des objets
globaux déclarés au niveau du programme principal.
- Un objet déclaré dans un sous-programme SP à un niveau i n’est accessible que par ce sous-
programme ainsi que les sous-programmes englobés par ce SP.
- Si on utilise le même nom d’objet dans un sous-programme et dans le programme principal
(homonyme), alors tout au long du sous-programme, l’objet local va cacher l’objet global.
III-Les paramètres et leurs modes de transmission:
1- Les paramètres: il existe deux types de paramètres:
a- Les paramètres formels : Ce sont les paramètres qui figurent dans l’en-tête du sous-
programme. Ces paramètres correspondent aux variables locales utilisées dans le corps
du sous-programme.
b- b- Les paramètres effectifs : Ce sont les paramètres utilisés dans l’instruction d’appel
du sous-programme. Ils seront substitués aux paramètres formels lors de l’appel.
2- Les modes de transmission des paramètres: C’est la substitution des paramètres
effectifs aux paramètres formels. Il existe deux modes de passage.
a- Passage par valeur : Les paramètres transmis par valeur font communiquer
l’information dans un seul sens (de l’appelant à l’appelé). Toute modification du
contenu du paramètre dans le programme appelé est sans conséquence sur la valeur du
paramètre effectif dans le programme appelant.