CONSERVATOIRE NATIONAL DES ARTS ET METIERS
Algorithme maximum.
déclaration :
variable : a, b, c, d, maxAB, maxCD : entiers
Début
lire(a,b,c,d) { pour les initialiser }
Si a≥balors
maxAB ←a
sinon
maxAB ←b
Fsi
Si c≥dalors
maxCD ←c
sinon
maxCD ←d
Fsi
écrire(maxAB, maxCD) { pour connaître le résultat }
Fin.
2.1.3 Remarques
Cet algorithme suscite quelques remarques :
– on retrouve la même suite d’actions pour chacun des deux calculs de maximum;
– seules les variables utilisées dans cette suite d’actions sont différentes (a,bet maxAB pour le premier calcul;
c,det maxCD pour le second);
– dans les deux cas, le résultat de cette suite d’actions est une valeur de type entier.
Afin de profiter de ces remarques, on souhaite n’avoir à décrire qu’une seule fois la suite d’actions à réaliser,
tout en permettant de les appliquer à des valeurs différentes. C’est ce que permettra l’utilisation d’une fonction : une
fonction permet de mettre en commun un certain nombre d’actions afin de faciliter l’utilisation multiple de ces actions
dans un algorithme.
Nous allons maintenant définir plus précisément ce qu’est une fonction, puis nous verrons comment écrire la
fonction (nommer le bloc d’instructions et faire en sorte qu’il renvoie une valeur), et enfin comment l’exploiter dans un
algorithme (en particulier comment récupérer la valeur qu’elle renvoie, pour pouvoir l’utiliser).
2.2 Définition
Définition 1 (Fonction) Une fonction est un bloc (une suite) d’actions (d’instructions), nommé et éventuellement
paramétré, permettant d’obtenir un résultat.
On associe un type à une fonction : c’est le type du résultat produit.
Lorsqu’une fonction est déclarée (et donc nommée), on peut ensuite l’appeler par son nom.
Vous pouvez tout de suite remarquer qu’une fonction renvoie une valeur d’une type particulier (toujours le même,
quel que soit le contexte de son utilisation, même si on l’utilise plusieurs fois).
Les fonctions permettent d’appliquer le principe diviser pour régner :
– chaque fonction résoud un sous problème;
– l’algorithme principal appelle ces fonctions, autant de fois que nécesaire, pour réaliser le traitement souhaité,
afin d’apporter une solution au problème exprimé par l’utilisateur.
Nous pouvons maintenant décrire comment on définit et comment on utilise une telle fonction, en revenant à notre
exemple (algorithme qui calcule et affiche le maximum de deux valeurs, deux fois de suite).
Algorithmique / Programmation orientées Internet 3