Chapitre 6 — Les fonctions et la structuration d’un algorithme

Jusqu’à présent, nos algorithmes étaient écrits d’un seul bloc : toutes les instructions se suivaient du début à la fin. Cette approche fonctionne pour les programmes simples, mais elle devient vite difficile à relire, à corriger ou à réutiliser lorsque le code s’allonge. C’est là qu’interviennent les fonctions, qui permettent de découper un programme en plusieurs parties autonomes et réutilisables.
Objectifs pédagogiques
  • Comprendre l’intérêt de structurer un programme en fonctions.
  • Savoir définir, appeler et utiliser une fonction.
  • Comprendre la différence entre paramètre, argument et valeur de retour.
  • Être capable de construire des algorithmes clairs et modulaires.
Plan du chapitre
  • 1. Qu’est-ce qu’une fonction ?
  • 2. Déclaration et appel de fonction
  • 3. Paramètres et arguments
  • 4. Valeur de retour
  • 5. Applications directes

Qu’est-ce qu’une fonction ?

Définition
Une fonction est un bloc d’instructions regroupées sous un nom, qui exécute une tâche précise. Une fois définie, elle peut être appelée plusieurs fois depuis différents endroits de l’algorithme.

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.

Exemple
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.

Exemple
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

Définition
Un paramètre est une donnée transmise à une fonction pour qu’elle puisse travailler avec. Lorsqu’on appelle la fonction, la valeur fournie est appelée argument.

Autrement dit, les paramètres servent de ponts entre le programme principal et la fonction.

Exemple
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.

Astuce
Une fonction peut avoir plusieurs paramètres séparés par des virgules :
Fonction Somme(a, b)
    Écrire "Résultat : ", a + b
FinFonction

L’appel Somme(4, 7) affichera alors Résultat : 11.

Valeur de retour

Définition
Une fonction peut renvoyer une valeur au programme principal. Cette valeur peut ensuite être utilisée dans un calcul ou stockée dans une variable.

Pour renvoyer une valeur, on utilise l’instruction Retourner.

Exemple
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.

À retenir
  • Une fonction est un bloc d’instructions réutilisable.
  • Les paramètres permettent de transmettre des données à la fonction.
  • L’instruction Retourner renvoie une valeur au programme principal.
  • Les fonctions rendent les algorithmes plus clairs, plus courts et plus faciles à modifier.
Prochain chapitre
Le prochain chapitre abordera la modularité avancée et la manière d’organiser plusieurs fonctions ensemble pour former un programme complet.