Les Fonctions Et Procedures
Les Fonctions Et Procedures
Les Fonctions Et Procedures
PROCEDURES
Intérêts des fonctions et
procédures
• Certains problèmes conduisent à des programmes longs,
difficiles à écrire et à comprendre. On les découpe en des
parties appelées sous-programmes ou modules
• Les fonctions et les procédures sont des modules (groupe
d'instructions) indépendants désignés par un nom. Elles ont
plusieurs intérêts :
– permettent de "factoriser" les programmes,
programmes càd de mettre en commun
les parties qui se répètent
– permettent une structuration et une meilleure lisibilité des programmes
– facilitent la maintenance du code (il suffit de modifier une seule fois)
– ces procédures et fonctions peuvent éventuellement être réutilisées dans
d'autres programmes
Fonctions
• Le rôle d'une fonction en programmation est similaire à celui d'une
fonction en mathématique : elle retourne un résultat à partir des
valeurs des paramètres
• Une fonction s'écrit en dehors du programme principal sous la forme :
Fonction nom_fonction (paramètres et leurs types) :
type_fonction
Instructions constituant le corps de la fonction
retourne …
FinFonction
• Pour le choix d'un nom de fonction il faut respecter les mêmes règles que celles
pour les noms de variables
• type_fonction est le type du résultat retourné
• L'instruction retourne sert à retourner la valeur du résultat
Fonctions : exemples
• La fonction SommeCarre suivante calcule la somme des
carrées de deux réels x et y :
Fonction SommeCarre (x : réel, y: réel ) : réel
variable z : réel
z ←x^2+y^2
retourne (z)
FinFonction
• Dans ces cas on ne peut pas utiliser une fonction, on utilise une procédure
FinProcédure
• Remarque : une procédure peut ne pas avoir de paramètres
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 :
Procédure exemple_proc (…)
…
FinProcédure
Algorithme exepmleAppelProcédure
Début
exemple_proc (…)
…
Fin
– Remarque : le paramètre effectif doit être une variable (et non une
valeur) lorsqu'il s'agit d'une transmission par adresse
Algorithme Test_incrementer1
Test_incrementer
variables n, m : entier
Début
n←3
m←3 résultat :
incrementer1(n, m) n=3 et m=4
écrire (" n= ", n, " et m= ", m)
Fin
Variables locales et globales (1)
• On peut manipuler deux types de variables dans une procédure : des
variables locales et des variables globales.
globales Elles se distinguent par ce
qu'on appelle leur portée (leur "champ de définition", leur "durée de vie")
• Une variable locale n'est connue qu'à l'intérieur d'une procédure. Elle est
créée à l'appel de la procédure et détruite à la fin de son exécution
• 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
Variables locales et globales (2)
• La manière de distinguer la déclaration des variables locales
et globales diffère selon le langage
– En général, les variables déclarées à l'intérieur d'une procédure sont
considérées comme variables locales