Numérique et Sciences Informatiques > Algorithmique : Concepts de Base > Fonctions et Procédures > Définition et appel de fonctions

Paramètres et Valeurs de Retour des Fonctions en Algorithmique

Explorez en détail les paramètres et les valeurs de retour des fonctions en algorithmique. Ce guide, adapté aux lycéens, propose une explication claire et des exemples pratiques pour maîtriser ces concepts essentiels. Apprenez à concevoir des fonctions efficaces qui interagissent avec d'autres parties de votre programme.

Les Paramètres d'une Fonction : Définition

Les paramètres d'une fonction sont des variables qui reçoivent des valeurs lors de l'appel de la fonction. Ils permettent de transmettre des données à la fonction pour qu'elle puisse effectuer son travail. On peut voir les paramètres comme des 'entrées' de la fonction. Chaque paramètre a un nom et un type. L'ordre des paramètres est important : lors de l'appel, les arguments doivent être fournis dans le même ordre que les paramètres définis dans la fonction.

Types de Paramètres

Il existe différents types de paramètres:

  • Paramètres obligatoires: Ce sont les paramètres qui doivent absolument être fournis lors de l'appel de la fonction. Si un paramètre obligatoire est manquant, une erreur se produira.
  • Paramètres optionnels: Ce sont les paramètres qui peuvent être omis lors de l'appel de la fonction. Ils ont une valeur par défaut définie dans la définition de la fonction. Si un paramètre optionnel n'est pas fourni, la fonction utilisera sa valeur par défaut.
Exemple en pseudo-code : Fonction afficher_message(message : texte, repetitions : entier ← 1) // repetitions est un paramètre optionnel avec une valeur par défaut de 1 Début Pour i de 1 à repetitions faire Afficher(message) Fin Pour Fin Dans cet exemple, message est un paramètre obligatoire, tandis que repetitions est un paramètre optionnel. On peut appeler la fonction de deux manières :
  • afficher_message("Bonjour") : Dans ce cas, message prend la valeur "Bonjour" et repetitions prend sa valeur par défaut (1).
  • afficher_message("Bonjour", 3) : Dans ce cas, message prend la valeur "Bonjour" et repetitions prend la valeur 3.

Passage des Paramètres : Par Valeur vs. Par Référence

Il existe deux manières principales de passer des paramètres à une fonction :

  • Passage par valeur: Une copie de la valeur de l'argument est passée à la fonction. Toute modification du paramètre à l'intérieur de la fonction n'affecte pas la variable originale.
  • Passage par référence: L'adresse mémoire de la variable originale est passée à la fonction. Toute modification du paramètre à l'intérieur de la fonction affecte directement la variable originale.
Exemple en pseudo-code (illustrant le passage par valeur et par référence) : Fonction modifier_valeur_par_valeur(x : entier) Début x ← x + 10 // Modifie la copie de x, pas la variable originale Afficher("Valeur de x à l'intérieur de la fonction (par valeur): ", x) Fin Fonction modifier_valeur_par_reference(REF x : entier) // REF indique le passage par référence Début x ← x + 10 // Modifie directement la variable originale Afficher("Valeur de x à l'intérieur de la fonction (par référence): ", x) Fin Début du programme principal Variable nombre : entier ← 5 Afficher("Valeur de nombre avant l'appel (par valeur): ", nombre) modifier_valeur_par_valeur(nombre) Afficher("Valeur de nombre après l'appel (par valeur): ", nombre) // Affiche toujours 5 Afficher("Valeur de nombre avant l'appel (par référence): ", nombre) modifier_valeur_par_reference(nombre) Afficher("Valeur de nombre après l'appel (par référence): ", nombre) // Affiche 15 Fin Dans cet exemple, le passage par valeur ne modifie pas la variable nombre, tandis que le passage par référence la modifie directement. Le mot-clé REF est utilisé ici pour indiquer le passage par référence, mais la syntaxe peut varier selon le langage.

Les Valeurs de Retour : Définition

Une valeur de retour est le résultat qu'une fonction renvoie après avoir terminé son exécution. Elle permet de communiquer le résultat du traitement effectué par la fonction au reste du programme. On peut voir la valeur de retour comme la 'sortie' de la fonction. Toutes les fonctions n'ont pas besoin de retourner une valeur. Les fonctions qui ne retournent pas de valeur sont souvent utilisées pour effectuer des actions (par exemple, afficher un message, modifier une variable globale).

Utilisation de la Valeur de Retour

La valeur de retour d'une fonction peut être stockée dans une variable, utilisée directement dans une expression, ou ignorée si elle n'est pas nécessaire. Exemple en pseudo-code : Fonction calculer_carre(x : entier) : entier Début Retourner x * x Fin Début du programme principal Variable resultat : entier resultat ← calculer_carre(5) // Stockage de la valeur de retour dans une variable Afficher("Le carré de 5 est : ", resultat) Afficher("Le carré de 7 est : ", calculer_carre(7)) // Utilisation directe de la valeur de retour dans une expression calculer_carre(3) // La valeur de retour est ignorée (pas stockée ni utilisée) Fin Dans cet exemple, la valeur de retour de la fonction calculer_carre est utilisée de différentes manières : stockée dans une variable, utilisée directement dans une fonction d'affichage, et ignorée.

Ce qu'il faut retenir

  • Paramètres: Variables qui reçoivent des valeurs lors de l'appel de la fonction.
  • Types de paramètres: Obligatoires et optionnels (avec valeurs par défaut).
  • Passage des paramètres: Par valeur (copie) ou par référence (adresse mémoire).
  • Valeur de retour: Le résultat qu'une fonction renvoie après son exécution.
  • Utilisation de la valeur de retour: Peut être stockée, utilisée dans une expression ou ignorée.

FAQ

  • Quelle est la différence entre un paramètre obligatoire et un paramètre optionnel ?

    Un paramètre obligatoire doit être fourni lors de l'appel de la fonction, tandis qu'un paramètre optionnel peut être omis et prendra alors sa valeur par défaut.
  • Quand utiliser le passage par valeur et quand utiliser le passage par référence ?

    Utilisez le passage par valeur lorsque vous ne voulez pas que la fonction modifie la variable originale. Utilisez le passage par référence lorsque vous voulez que la fonction modifie directement la variable originale.
  • Que se passe-t-il si une fonction ne renvoie pas de valeur ?

    La fonction effectue simplement des actions sans communiquer de résultat au reste du programme. Dans certains langages, ces fonctions sont appelées procédures.