Académique Documents
Professionnel Documents
Culture Documents
Cours Algorithmique:
Procédures & Fonctions
Sanae EL OUKKAL
Introduction
• Dès qu’on commence à écrire des
programmes importants, il devient difficile
d’avoir une vision globale sur son
fonctionnement et de traquer les erreurs.
29/04/2019 2
Fonction/Procédure:
Définition
• Un sous-algorithme est un bloc faisant partie
d’un algorithme. Il est déclaré dans la partie
entête (avant le début de l’algorithme) puis
appelé dans le corps de l’algorithme.
29/04/2019 4
Type de sous-algorithme
• Un sous-algorithme peut se présenter sous
forme de fonction ou de procédure.
29/04/2019 5
Fonction
• Une fonction est un bloc d’instructions qui
retourne obligatoirement une et une seule valeur
résultat à l’algorithme appelant.
29/04/2019 6
Fonction
• Une fonction s'écrit en dehors du programme
principal sous la forme :
29/04/2019 7
Fonction
29/04/2019 9
Fonction
• Ecrire la fonction Pair qui détermine si un
nombre est pair?
29/04/2019 10
Appel de la Fonction
• L'utilisation d'une fonction se fera par simple
écriture de son nom dans le programme
principale.
29/04/2019 11
Exemple (appel des fonctions
précédentes)
Variables z : réel; b : booléen ;
Fonction SommeCarre (x : réel, y: réel ) : réel
variable z : réel;
z←x^2+y^2;
retourne(z);
FinFonction
Fonction Pair (n : entier ) : booléen
retourne(n%2=0);
FinFonction
Début
b ←Pair(3);
z←5*SommeCarre(7,2)+1;
écrire("SommeCarre(3,5)= ", SommeCarre(3,5));
Fin
29/04/2019 12
Procédure
• Dans certains cas, on peut avoir besoin de
répéter une tâche dans plusieurs endroits du
programme, mais que dans cette tâche on ne
calcule pas de résultats.
29/04/2019 13
Procédure
• Une procédure est un bloc d’instructions
nommé et déclaré dans l’entête de
l’algorithme et appelé dans son corps à
chaque fois que le programmeur en a besoin.
29/04/2019 14
Procédure
• Une procédure s'écrit en dehors du
programme principal sous la forme :
• Remarque :
– Une procédure peut ne pas avoir de paramètres.
29/04/2019 15
Appel d’une Procédure
• L'appel d'une procédure, se fait dans le programme
principale ou dans une autre procédure par une instruction
indiquant le nom de la procédure :
Algorithme exepmleAppelProcédure
Début
exemple_proc (…) ;
…
Fin
29/04/2019 16
Appel d’une Procédure
• Remarque :
– Contrairement à l'appel d'une fonction, on ne
peut pas affecter la procédure appelée ou l'utiliser
dans une expression.
– L'appel d'une procédure est une instruction
autonome.
29/04/2019 17
Variable Locale/Globale
• On peut manipuler 2 types de variables dans
un module (procédure ou fonction) :
– des variables locales et
– des variables globales.
29/04/2019 18
Variable Locale/Globale
• Une variable locale n'est connue qu'à
l'intérieur du module ou elle a été définie. Elle
est créée à l'appel du module et détruite à la
fin de son exécution
29/04/2019 19
Variable Locale/Globale
• La manière de distinguer la déclaration des variables locales
et globales diffère selon le langage.
• Conseil :
– Il faut utiliser autant que possible des variables locales plutôt
que des variables globales. Ceci permet d'économiser la
mémoire et d'assurer l'indépendance de la procédure ou de la
fonction.
29/04/2019 20
Exemples
1- Ecrire une fonction qui calcule le cube d’une
valeur .
2- Ecrire une procédure qui calcule la somme
des n premiers entiers.
– sur l'écran apparaît le message :
entrez la valeur de n :
si on entre 3, on obtient somme=6
29/04/2019 21
Paramètres
• Soit l’exemple suivant:
– Définition de la Fonction:
Fonction Pair (n : entier ) : booléen
retourne(n%2=0);
FinFonction
– Appel de la Fonction:
b ←Pair(3);
29/04/2019 23
Paramètres
• Les paramètres placés dans l'appel d'une
procédure/fonction sont appelés paramètres
effectifs.
29/04/2019 25