Numérique et Sciences Informatiques > Algorithmique : Concepts de Base > Fonctions et Procédures > Paramètres et valeurs de retour
Comprendre les Paramètres et Valeurs de Retour dans les Fonctions
Découvrez comment les paramètres et les valeurs de retour permettent aux fonctions de communiquer et d'échanger des données. Apprenez à les utiliser efficacement pour écrire des programmes plus modulaires et réutilisables.
Introduction aux Paramètres
Les paramètres sont des variables que l'on déclare lors de la définition d'une fonction. Ils servent à recevoir des informations (des données) depuis l'extérieur de la fonction, c'est-à-dire depuis le code qui appelle (qui utilise) la fonction. Imaginez une fonction comme une machine : les paramètres sont les entrées de cette machine. Sans paramètres, une fonction ne pourrait agir que sur les données qu'elle contient en interne ou sur des variables globales (ce qui est généralement une mauvaise pratique).
Par exemple, si vous avez une fonction qui calcule le carré d'un nombre, le nombre en question est un paramètre.
Voici un exemple en pseudo-code :
fonction carre(nombre) :
retourner nombre * nombre
finsi
Dans cet exemple, nombre
est un paramètre de la fonction carre
.
Différents Types de Paramètres
Il existe différents types de paramètres que l'on peut passer à une fonction :
Introduction aux Valeurs de Retour
La valeur de retour est le résultat du calcul effectué par une fonction. C'est ce que la fonction 'renvoie' une fois qu'elle a terminé son exécution. C'est comme la sortie de notre machine.
Reprenons l'exemple de la fonction carre
. Une fois qu'elle a multiplié nombre
par lui-même, elle doit renvoyer le résultat. C'est cette valeur renvoyée qui pourra être utilisée par le code qui a appelé la fonction.
En pseudo-code :
resultat = carre(5)
afficher resultat // affiche 25
Dans cet exemple, la fonction carre(5)
renvoie la valeur 25, qui est ensuite stockée dans la variable resultat
.
L'importance des Valeurs de Retour
Les valeurs de retour sont essentielles pour plusieurs raisons :
Exemples Concrets
Exemple 1 : Calcul d'une moyenne
Imaginez une fonction qui calcule la moyenne de deux nombres :
fonction moyenne(a, b) :
somme = a + b
moyenne = somme / 2
retourner moyenne
finsi
Cette fonction prend deux paramètres (a
et b
) et renvoie leur moyenne. On peut ensuite utiliser cette fonction dans un autre contexte :
resultat = moyenne(10, 20)
afficher resultat // affiche 15
Exemple 2 : Vérification de la parité
Voici une fonction qui vérifie si un nombre est pair ou impair et renvoie Vrai
s'il est pair, Faux
sinon :
fonction estPair(nombre) :
si nombre modulo 2 est égal à 0 alors
retourner Vrai
sinon
retourner Faux
finsi
finsi
On utilise l'opérateur modulo
(%
dans de nombreux langages) pour obtenir le reste de la division par 2. Si le reste est 0, le nombre est pair.
si estPair(7) alors
afficher "7 est pair" // ne sera pas affiché
sinon
afficher "7 est impair" // sera affiché
finsi
Passage de Paramètres par Valeur vs. par Référence
Dans certains langages, il est crucial de comprendre la différence entre le passage par valeur et le passage par référence.
Exemple (en pseudo-code illustratif) :
fonction modifier(x) :
x = x + 1
finsi
Passage par valeur :
a = 5
modifier(a) // a reste 5, car modifier travaille sur une copie de a
afficher a // affiche 5
Passage par référence (simulé) :
b = [5] // On utilise une liste pour simuler un passage par référence
fonction modifier_liste(liste) :
liste[0] = liste[0] + 1
finsi
modifier_liste(b)
afficher b[0] // affiche 6, car modifier_liste a modifié la liste b directement
Comprendre ces concepts est fondamental pour éviter des erreurs subtiles dans vos programmes.
Ce qu'il faut retenir
FAQ
-
Quelle est la différence entre un argument et un paramètre ?
Un paramètre est une variable définie dans la déclaration d'une fonction, qui reçoit une valeur lorsqu'la fonction est appelée. Un argument est la valeur concrète que l'on passe à la fonction lors de son appel. Par exemple :
fonction addition(a, b) : // a et b sont des paramètres
retourner a + b
finsi
resultat = addition(3, 5) // 3 et 5 sont des arguments -
Une fonction peut-elle avoir plusieurs valeurs de retour ?
Dans certains langages (comme Python), une fonction peut renvoyer plusieurs valeurs sous forme de tuple ou de liste. Dans d'autres, il faut simuler ce comportement en utilisant des objets ou des structures de données. L'important est de pouvoir renvoyer un ensemble de données cohérent.
def coordonnées() :
return (10, 20) // Renvoie un tuple
x, y = coordonnées()
print(x, y) // Affiche 10 20 -
Pourquoi utiliser des valeurs de retour plutôt que de simplement modifier des variables globales ?
Modifier des variables globales à l'intérieur d'une fonction rend le code difficile à comprendre et à maintenir. Il est préférable d'utiliser des valeurs de retour, car elles rendent explicite la relation entre l'entrée et la sortie de la fonction, et limitent les effets de bord. Cela contribue à un code plus propre et plus prévisible.