Les fonctions
CHAPITRE 8
146
Remarques
1 Puisqu’une notation telle que lireNombre (10), n’est rien d’autre qu’une expression
(ici, de type entier), il est possible d’utiliser cette instruction :
écrire lireNombre(10)
2 Pour la transmission du résultat d’une fonction, nous avons utilisé la démarche la plus
répandue. Certains langages en utilisent d’autres. C’est ainsi que Fortran et Pascal utilisaient conventionnellement le nom de la fonction comme une sorte de variable, à
laquelle il suffisait d’affecter une valeur dans les instructions de la fonction.
3 Tous les langages ne demandent pas de déclarer les types des paramètres ou du résultat.
Là encore, nous avons adopté la démarche la plus répandue, laquelle permet, entre
autres, de détecter certaines erreurs de programmation lors de la traduction.
4 Dans notre exemple, l’instruction retourne mentionnait une variable. La plupart des
langages vous permettront d’utiliser une expression comme dans :
retourne 2*n + 5
5 Ici, nous avons placé une seule instruction retourne à la fin de notre fonction. Beaucoup de langages vous permettront d’en utiliser plusieurs, comme dans :
si n >0 alors retourne n
sinon retourne -n
Mais il faut alors savoir que, dans ce cas, l’instruction retourne joue un double rôle :
– définir la valeur du résultat ;
– mettre fin à l’exécution de la fonction.
Le texte de la fonction est alors moins facile à lire et, ici, nous continuerons à n’utiliser
qu’une seule instruction retourne placée à la fin de la fonction.
1.6 Exemple de fonctions à plusieurs paramètres
Les fonctions de nos derniers exemples ne disposaient que d’un seul paramètre. Mais une
fonction peut posséder plusieurs paramètres qu’il suffit alors de préciser dans l’en-tête. Voici
un exemple d’une fonction nommé max qui fournit comme résultat la plus grande des trois
valeurs entières reçues en paramètres :
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
}
Cette fois, l’en-tête mentionne trois paramètres de type entier. Nous conviendrons que la
première valeur fournie lors de l’appel sera attribuée à a, la seconde à b et la troisième à c.
Précédent

- 169/370

Suivant