612a9b3d894a6algorithmique Et Programmation Fonctions Licence 1
612a9b3d894a6algorithmique Et Programmation Fonctions Licence 1
612a9b3d894a6algorithmique Et Programmation Fonctions Licence 1
INTRODUCTION
A L’ALGORITHMIQUE
ET A LA
1/8
CHAPITRE 7 :
FONCTIONS
2/8
1. Appel de fonctions prédéfinies
3. Exemple
3/8
ALGORITHME Maxquatre_1
/* demande deux nombre à l’utilisateur, calcule et affiche le plus grand
des deux. */
VARIABLE
a, b, c, d : ENTIER /* nombres d’étude */
mab, mcd : ENTIER /* maxima intermédiaires */
maxi : ENTIER /* maximum des 4 nombres */
DEBUT
LIRE (a, b, c, d)
SI a > b ALORS
mab ← a
SINON
mab ← b
FINSI
SI c > d ALORS
mab ← c
SINON
mab ← d
FINSI
SI mab > mcd ALORS
maxi ← mab
SINON
maxi ← mcdb
FINSI
ECRIRE (maxi)
Fin
ALGORITHME Maxquatre_2
/* idem avec appels de fonctions */
VARIABLES
idem ci-dessus
DEBUT
LIRE(a, b, c, d)
mab ← maxdeux(a, b)
mcd ← maxdeux(c, d)
maxi ← maxdeux(mab, mcd)
ECRIRE(maxi)
FIN
4/8
Définition de la fonction maxdeux
VARIABLE
mxy : ENTIER /* maximum de x et de y */
DEBUT
SI x > y ALORS
mxy ← x
SINON
mxy ← y
FINSI
RETOURNER (mxy)
FIN
exemples :
maxdeux : (entier, entier) → entier
sous-chaine : (chaine de caractères, entier, entier) → chaine de caractères
5/8
4.1. Définition de la fonction
Une fonction peut être définie n'importe où, à l'extérieur d'un algorithme.
La définition de la fonction se compose de :
• son en-tête qui comprend :
o son identificateur
o la liste de ses paramètres formels et de leur type
o le type de la valeur qu'elle renvoie
• des déclarations locales (constantes ou variables)
• les instructions qui calculent son résultat
• au moins une instruction RETOURNER qui renvoie la valeur résultat
FONCTION <ident-fonction>
(<ident-paramètre> : <type> <role>
...
<ident-paramètre> : <type> <role>) : <type>
VARIABLES locales
<ident-variable> : <type> <rôle>
....
<ident-variable> : <type> <rôle>
DEBUT
<instructions>
RETOURNER <expression>
FIN
6/8
4.2. Appel de la fonction
7/8
5. Intérêt des fonctions
FIN DU CHAPITRE 7
8/8