Académique Documents
Professionnel Documents
Culture Documents
LSI 1
• Définition
• Intérêt
• Paramètres formels/paramètres effectifs
• Variables globales/variables locales
• Les fonctions
• Les procédures
2
LSI 1
Définition
• Si on remarque qu’il y a un même traitement qui se répète plusieurs fois dans
des endroits différents de l’algorithme, on peut faire recours à la notion de
sous-algorithmes
• Un sous-algorithme est une structure algorithmique
▫ qui permet de considérer un groupe d’instructions (correspondant à un traitement/sous-
traitement) comme une entité relativement indépendante, qui peut être appelée à partir
du corps de l’algorithme principal ou à partir d’un autre sous-algorithme
▫ et qui peut être appelé plusieurs fois par des sous-algorithmes différents ou peut s’appeler
lui même
3
LSI 1
Intérêt
• Eviter la duplication des instructions effectuant un traitement donné lorsque
ce traitement est nécessaire en plusieurs endroits d’un même algorithme
▫ il s’agit de faire recours aux actions nommées
Procédures ou Fonctions
LSI 1
Définition
• E est dit sous-algorithme appelant
• H, I et J sont dits des sous-algorithmes appelés par E
• Un sous-algorithme peut être à la fois appelé et appelant
▫ H est appelé par rapport à E, et il est appelant par rapport à K et L
LSI 1
LSI 1
• Principe
▫ Au moment de l’exécution du sous-programme appelé, le sous-algorithme appelant copie
le contenu des paramètres effectifs dans les paramètres formels correspondants
▫ A la fin de l’exécution du sous-algorithme appelé, le résultat est retourné au sous-
algorithme appelant (par le sous programme appelé) et les paramètres formels
disparaissent de la mémoire (par le sous programme appelant)
7
LSI 1
Variables locales
• Une variable définie au niveau de l’algorithme principal est appelée variable globale
Sa portée est totale
Tout sous-algorithme peut utiliser cette variable
• Une variable définie au sein d’un sous-algorithme est appelée variable locale
Sa portée est uniquement le sous-programme qui la déclare
Lorsque le nom d’une variable locale est identique à une variable globale, la variable globale est
localement masquée
Dans ce sous-programme la variable globale devient inaccessible
8
LSI 1
LSI 1
Les fonctions
• Une fonction est un sous-algorithme qui fournit un seul résultat affectable à une
variable
• Une fonction se rapproche de la notion des fonctions mathématiques
LSI 1
Les fonctions
• Appel d’une fonction
▫ L’appel à une fonction n’est pas une instruction en soi
▫ Il se fait en faisant référence à son nom tout en indiquant les paramètres effectifs à utiliser
selon l’une des trois façons d’appel suivantes :
LSI 1
Les fonctions
• Exemple
▫ calculer la combinaison P parmi N donnée par la formule
LSI 1
Les procédures
• Une procédure est un sous-algorithme qui fournit 0, 1 ou plusieurs résultats
LSI 1
Les procédures
▫ Le mot clé ENTREE permet de déclarer la liste des paramètres formels qui seront utilisés par la
procédure et dont les valeurs sont fournies par l’algorithme appelant
La procédure peut modifier ces paramètres, mais lorsqu’elle retourne à l’algorithme appelant, elle retourne avec la valeur
initiale.
▫ Le mot clé SORTIE permet de déclarer la liste des paramètres formels qui seront utilisés par la procédure
pour y retourner ses résultats
Ceci impose à la procédure de négliger les valeurs des paramètres effectifs correspondants
▫ Le mot clé E/S est utilisé pour l’ensemble des paramètres formels qui seront utilisés en Entrée et en
Sortie à la fois
14
LSI 1
Les procédures
• Appel d’une procédure
▫ Il se fait en faisant référence à son nom tout en indiquant les paramètres effectifs à utiliser
15
LSI 1
Les procédures
• Exemple : Donnez la trace de l’algorithme X