Notion de fonction
147
Ici encore, notre fonction comporte une variable locale nommée m qui sert à déterminer progressivement la valeur maximale recherchée.
Voici un exemple complet de programme utilisant cette fonction, accompagné d’un exemple
d’exécution : :
// programme utilisant la fonction max
entier n, p, q, m
n := 3
p := 5
q := 2
m := max (n, p, q)
écrire «maximum de », n, p, «et », q, « = » , m
m := max (2*n, p, q+2)
écrire «maximum de », 2*n, p, «et », q+2, « = », m
// la fonction max
entier fonction max (entier a, entier b, entier c)
{ entier m
m := a
si b > m alors m := b
si c > m alors m := c
retourne m
}
maximum de 3 5 et 2 = 5
maximum de 6 5 et 4 = 6
Exemple de fonction à plusieurs paramètres
Remarque
Aucun langage ne permet à une fonction de disposer de plus d’une valeur de retour. Nous
verrons bientôt que cette lacune peut être comblée par la possibilité de transmettre, non plus
les valeurs des paramètres, mais leurs adressses, afin d’en permettre la modification. Par
ailleurs, nous verrons plus tard qu’une fonction peut fournir en résultat un « objet », lequel
pourra regrouper en fait plusieurs valeurs...
1.7 Indépendance entre fonction et programme
Pour l’instant, nous avons considéré séparément la fonction et le programme l’utilisant, sans
nous préoccuper de la manière dont les deux éléments allaient interragir.
En pratique, il va falloir faire en sorte que le programme et la fonction soient
convenablement réunis au moment de l’exécution du programme. La démarche pour y
parvenir dépendra étroitement du langage et de l’environnement utilisés, ainsi que du mode
de traduction (compilation, interprétation...). Mais, la plupart du temps, plusieurs
programmes différents pourront utiliser une même fonction qu’il suffira d’avoir écrite et
147
Ici encore, notre fonction comporte une variable locale nommée m qui sert à déterminer progressivement la valeur maximale recherchée.
Voici un exemple complet de programme utilisant cette fonction, accompagné d’un exemple
d’exécution : :
// programme utilisant la fonction max
entier n, p, q, m
n := 3
p := 5
q := 2
m := max (n, p, q)
écrire «maximum de », n, p, «et », q, « = » , m
m := max (2*n, p, q+2)
écrire «maximum de », 2*n, p, «et », q+2, « = », m
// la fonction max
entier fonction max (entier a, entier b, entier c)
{ entier m
m := a
si b > m alors m := b
si c > m alors m := c
retourne m
}
maximum de 3 5 et 2 = 5
maximum de 6 5 et 4 = 6
Exemple de fonction à plusieurs paramètres
Remarque
Aucun langage ne permet à une fonction de disposer de plus d’une valeur de retour. Nous
verrons bientôt que cette lacune peut être comblée par la possibilité de transmettre, non plus
les valeurs des paramètres, mais leurs adressses, afin d’en permettre la modification. Par
ailleurs, nous verrons plus tard qu’une fonction peut fournir en résultat un « objet », lequel
pourra regrouper en fait plusieurs valeurs...
1.7 Indépendance entre fonction et programme
Pour l’instant, nous avons considéré séparément la fonction et le programme l’utilisant, sans
nous préoccuper de la manière dont les deux éléments allaient interragir.
En pratique, il va falloir faire en sorte que le programme et la fonction soient
convenablement réunis au moment de l’exécution du programme. La démarche pour y
parvenir dépendra étroitement du langage et de l’environnement utilisés, ainsi que du mode
de traduction (compilation, interprétation...). Mais, la plupart du temps, plusieurs
programmes différents pourront utiliser une même fonction qu’il suffira d’avoir écrite et
