Fonction (en programmation)

En bref : Une fonction en programmation est un bloc de code nommé qui reçoit des valeurs, les paramètres, exécute des instructions et renvoie un résultat avec return, que l’on peut appeler autant de fois que nécessaire.
SecondeLogique et raisonnement
Définition : Fonction
Une fonction en programmation est un petit programme que l’on nomme pour le réutiliser. En Python, on la crée avec le mot def, suivi de son nom et de ses paramètres entre parenthèses, puis on écrit les instructions décalées vers la droite.
Le mot return indique la valeur renvoyée à celui qui a appelé la fonction. Cette valeur peut ensuite être stockée dans une variable ou affichée. Comme en mathématiques, on donne une entrée et on obtient une sortie, mais ici la fonction peut aussi faire des tests, des boucles ou des affichages. Écrire la fonction ne l’exécute pas : il faut l’appeler.
Comment le reconnaître
- Un même calcul doit être refait pour plusieurs valeurs : une fonction en programmation évite de recopier les lignes.
- Le sujet contient une ligne qui commence par def, avec un nom et des paramètres entre parenthèses.
- On voit le mot return à la fin d’un bloc décalé de quelques espaces.
- On demande ce que renvoie une fonction pour une valeur donnée, comme cout(4).
La méthode
- Identifier ce que la fonction reçoit : le nombre et le nom de ses paramètres.
- Remplacer chaque paramètre par la valeur de l’appel, puis exécuter les lignes dans l’ordre.
- Repérer l’instruction return : elle donne la valeur renvoyée et termine la fonction.
- Pour écrire une fonction, nommer les paramètres, traduire la formule en Python avec * pour multiplier, et finir par return.
Fonction : exemple corrigé
Énoncé
Un parking facture un forfait de \(5\) euros plus \(3\) euros par heure. Marc écrit : def cout(h): return 3*h + 5. Que renvoie cout(4) ? Pour quelle durée paie-t-on \(29\) euros ? Écrire une fonction double(n) qui renvoie le double d’un nombre.
Corrigé
L’appel cout(4) donne à \(h\) la valeur \(4\), donc la fonction renvoie \(3\times 4+5=\) \(17\) euros.
Pour \(29\) euros, on résout \(3h+5=29\), donc \(3h=24\) et \(h=8\) : huit heures. Enfin la fonction demandée s’écrit : def double(n): return 2*n. L’appel double(15) renvoie alors \(30\).
À toi de jouer
Question 1
Avec def f(x): return x*x – 2*x, que renvoie f(6) ?
Voir la réponse
On remplace \(x\) par \(6\) : \(6\times 6-2\times 6=36-12=24\). La fonction renvoie \(24\).
Question 2
Avec def g(a, b): return (a + b) / 2, que renvoie g(7, 12) ?
Voir la réponse
La fonction calcule la moyenne des deux paramètres : \(\dfrac{7+12}{2}=9{,}5\).
Ne pas confondre Fonction et Variable
Une variable garde une valeur en mémoire sous un nom, par exemple n = 12. Une fonction ne garde rien : elle reçoit des valeurs, effectue un traitement et renvoie un résultat. Le paramètre d’une fonction ressemble à une variable, mais il n’existe que pendant l’appel.
Pour aller plus loin
Exercices et QCM
Mots voisins
Tout le glossaire : A–Z · Seconde · Logique et raisonnement

