Chapitre 6 — Les fonctions et la structuration d’un algorithme
Qu’est-ce qu’une fonction ?
On peut comparer une fonction à une machine-outil dans un atelier :
on lui donne un nom (ex. « machine à calculer »), on lui fournit éventuellement une ou plusieurs données d’entrée, et elle renvoie un résultat.
Fonction Bonjour()
Écrire "Bonjour !"
FinFonction
Début
Bonjour()
Bonjour()
Fin
Cet algorithme définit une fonction Bonjour qui affiche un message. Elle est ensuite appelée deux fois depuis le programme principal. Plutôt que de recopier les mêmes instructions, on les regroupe dans une seule fonction réutilisable.
Déclaration et appel de fonction
La structure générale d’une fonction est la suivante :
Fonction nom()
instructions
FinFonction
et pour l’appeler :
nom()
L’intérêt est de factoriser le code : si une action se répète plusieurs fois, il suffit de l’écrire une seule fois dans une fonction, puis de l’appeler à chaque besoin.
Fonction Ligne()
Écrire "-"
FinFonction
Début
Ligne()
Écrire "Bienvenue"
Ligne()
Fin
Résultat : Bienvenue
Les fonctions permettent donc de rendre un algorithme plus lisible, plus organisé, et plus facile à maintenir.
Paramètres et arguments
Autrement dit, les paramètres servent de ponts entre le programme principal et la fonction.
Fonction Bonjour(nom)
Écrire "Bonjour ", nom, " !"
FinFonction
Début
Bonjour("Alice")
Bonjour("Bob")
Fin
Ici, la fonction Bonjour reçoit un paramètre nom. Quand on appelle Bonjour("Alice"), la variable nom prend temporairement la valeur "Alice". La fonction devient donc un modèle générique que l’on peut réutiliser avec différentes valeurs.
Fonction Somme(a, b)
Écrire "Résultat : ", a + b
FinFonction
L’appel Somme(4, 7) affichera alors Résultat : 11.
Valeur de retour
Pour renvoyer une valeur, on utilise l’instruction Retourner.
Fonction Carré(x)
Retourner x * x
FinFonction
Début
a ← 5
résultat ← Carré(a)
Écrire "Carré de ", a, " = ", résultat
Fin
La fonction Carré calcule le carré du nombre reçu et renvoie le résultat au programme principal.
L’intérêt est que la fonction ne se contente plus d’agir, elle produit un résultat réutilisable.
C’est un principe fondamental : un bon programme est composé de fonctions qui effectuent des tâches précises et renvoient des résultats clairs.
Applications directes
Exercice 1 :
Écrire une fonction Double(x) qui renvoie le double d’un nombre.
Appeler la fonction dans un programme qui affiche le résultat pour x = 8.
Exercice 2 :
Écrire une fonction Moyenne(a, b) qui renvoie la moyenne de deux nombres.
Tester l’appel avec les valeurs 10 et 16.
Exercice 3 :
Écrire une fonction EstPair(n) qui renvoie Vrai si le nombre est pair, et Faux sinon.
Ces exercices permettent d’apprendre à manipuler les paramètres, les appels et les valeurs de retour, trois éléments essentiels pour concevoir des algorithmes clairs et réutilisables.