Numérique et Sciences Informatiques > Algorithmique : Concepts de Base > Fonctions et Procédures > Définition et appel de fonctions
Définition et Appel de Fonctions en Algorithmique
Apprenez à définir et à appeler des fonctions en algorithmique. Ce guide complet, conçu pour les lycéens, explique pas à pas les concepts clés avec des exemples concrets et des exercices pratiques. Découvrez comment structurer votre code, réutiliser des portions de code et améliorer la lisibilité de vos programmes.
Qu'est-ce qu'une Fonction ?
Une fonction est un bloc de code réutilisable qui effectue une tâche spécifique. Imaginez une fonction comme une mini-recette : vous lui donnez des ingrédients (les arguments), elle les traite selon des instructions précises, et elle vous renvoie un résultat (la valeur de retour). Les fonctions permettent de diviser un programme complexe en parties plus petites et plus faciles à gérer, ce qui améliore la lisibilité, la maintenabilité et la réutilisabilité du code.
Définition d'une Fonction
Pour définir une fonction, on utilise une syntaxe spécifique qui varie selon le langage de programmation ou l'outil algorithmique utilisé (par exemple, Python, Pseudo-code). En général, la structure de définition comprend:
Exemple en pseudo-code :
calculer_moyenne
, afficher_message
).{}
ou une indentation.return
.
Fonction additionner(a : entier, b : entier) : entier
Début
Retourner a + b
Fin
Dans cet exemple :
additionner
est le nom de la fonction.a
et b
sont les paramètres d'entrée, tous deux de type entier.a
et b
, qui est également un entier.
Appel d'une Fonction
Une fois qu'une fonction est définie, on peut l'appeler (ou l'invoquer) pour exécuter le code qu'elle contient. Pour appeler une fonction, on utilise son nom suivi de parenthèses. Si la fonction prend des paramètres, on doit fournir les valeurs correspondantes (les arguments) entre les parenthèses. L'appel de fonction peut se faire à l'intérieur d'une autre fonction, ou directement dans le programme principal.
Exemple en pseudo-code (suite de l'exemple précédent) :
Variable resultat : entier
resultat ← additionner(5, 3) // Appel de la fonction additionner avec les arguments 5 et 3
Afficher(resultat) // Affichage de la valeur de resultat (qui sera 8)
Dans cet exemple, la fonction additionner
est appelée avec les arguments 5 et 3. La valeur de retour de la fonction (8) est ensuite stockée dans la variable resultat
, puis affichée.
Exemple Concret : Calcul de la Moyenne
Considérons un exemple plus complexe : une fonction qui calcule la moyenne d'un tableau de nombres.
Définition de la fonction :
Fonction calculer_moyenne(tableau : tableau de réels) : réel
Début
Variable somme : réel ← 0
Variable taille : entier ← longueur(tableau)
Pour i de 0 à taille - 1 faire
somme ← somme + tableau[i]
Fin Pour
Si taille > 0 alors
Retourner somme / taille
Sinon
Retourner 0 // Pour éviter une division par zéro si le tableau est vide
Fin Si
Fin
Appel de la fonction :
Variable notes : tableau de réels ← {12.5, 15, 18, 10, 14}
Variable moyenne : réel
moyenne ← calculer_moyenne(notes)
Afficher("La moyenne est : ", moyenne)
Cet exemple illustre comment une fonction peut encapsuler une logique plus complexe (le calcul de la moyenne) et être réutilisée facilement avec différents ensembles de données.
Portée des Variables
Il est important de comprendre la notion de portée des variables lorsqu'on travaille avec des fonctions. Une variable définie à l'intérieur d'une fonction (variable locale) n'est accessible qu'à l'intérieur de cette fonction. Les variables définies à l'extérieur des fonctions (variables globales) sont accessibles depuis n'importe où dans le programme, mais leur utilisation est généralement déconseillée car elle peut rendre le code plus difficile à comprendre et à maintenir.
Exemple :
Variable globale : entier ← 10
Fonction exemple()
Début
Variable locale : entier ← 5
Afficher("Variable locale : ", locale)
Afficher("Variable globale : ", globale)
Fin
Début du programme principal
exemple()
//Afficher(locale) // Cette ligne provoquerait une erreur car 'locale' n'est pas accessible ici
Afficher("Variable globale : ", globale)
Fin
Dans cet exemple, la variable locale
n'est accessible qu'à l'intérieur de la fonction exemple
. Tenter d'y accéder depuis le programme principal provoquerait une erreur.
Ce qu'il faut retenir
return
.
FAQ
-
Pourquoi utiliser des fonctions ?
Les fonctions permettent de structurer le code, de le rendre plus lisible, plus facile à maintenir et de réutiliser des portions de code. -
Quelle est la différence entre une fonction et une procédure ?
Dans certains langages, une procédure est une fonction qui ne renvoie pas de valeur. En pseudo-code, on utilise souvent le terme 'fonction' de manière générique pour désigner les deux concepts. Certains langages utilisent le mot clé 'procedure' pour indiquer explicitement qu'une fonction ne retourne aucune valeur. -
Comment passer des paramètres à une fonction ?
Les paramètres sont passés entre parenthèses lors de l'appel de la fonction. L'ordre et le type des arguments doivent correspondre à la définition de la fonction.