Chargement…

Une fonction doubler(n) renvoie n multiplié par 2. Que vaut resultat après l'instruction : resultat = doubler(7) ? Que se passe-t-il si on écrit ensuite resultat = doubler(resultat) ?
Premier appel : le paramètre n reçoit la valeur 7, la fonction calcule 7 × 2 = 14 et renvoie 14, donc resultat vaut 14. Deuxième appel : n reçoit maintenant 14, la fonction renvoie 14 × 2 = 28, donc resultat vaut 28. La même fonction, écrite une seule fois, a donné deux résultats différents parce que la donnée d'entrée n'était pas la même.
Un capteur de luminosité renvoie une valeur entière entre 0 (obscurité totale) et 1000 (lumière maximale). On définit pourcentage(valeur) qui renvoie valeur ÷ 10. Le capteur donne 650. Quel pourcentage la fonction renvoie-t-elle ? Un éclairage doit s'allumer si ce pourcentage est inférieur à 30 : s'allume-t-il ?
La donnée du capteur, 650, est transmise comme paramètre : la fonction calcule 650 ÷ 10 = 65 et renvoie 65. Le programme compare ensuite 65 à 30 : la condition « inférieur à 30 » est fausse, donc l'éclairage ne s'allume pas. Si le capteur donnait 200, la fonction renverrait 20, la condition serait vraie et l'éclairage s'allumerait. La fonction transforme une donnée brute en information exploitable par la condition.
Pourquoi écrire une fonction plutôt que recopier plusieurs fois les mêmes instructions dans un programme ?
Pour éviter la répétition : on écrit le code une seule fois, on l'appelle quand on en a besoin, et une correction faite dans la fonction profite à tous les appels.
Recopier des instructions rend le programme long et fragile : une erreur devrait être corrigée à chaque copie. Avec une fonction, le code est centralisé, plus lisible grâce à un nom explicite, et modifiable à un seul endroit.
La fonction triple(n) renvoie n × 3. Que vaut x après x = triple(4) ? Puis après x = triple(x) ?
Après x = triple(4), x vaut 12 ; après x = triple(x), x vaut 36.
Premier appel : 4 × 3 = 12. Au second appel, le paramètre n reçoit la valeur actuelle de x, soit 12, donc la fonction renvoie 12 × 3 = 36 et ce résultat remplace l'ancienne valeur de x.
Un capteur de température donne la valeur 18. La fonction alerte(t) renvoie vrai si t est supérieur à 25, faux sinon. Que renvoie alerte(18) ? Quel est son paramètre ?
alerte(18) renvoie faux, car 18 n'est pas supérieur à 25 ; le paramètre est t, qui reçoit ici la donnée du capteur (18).
Lors de l'appel, la valeur 18 mesurée par le capteur est transmise au paramètre t. La fonction teste 18 > 25, ce qui est faux, donc elle renvoie faux et aucune alerte ne se déclenche.
Cette fiche fait partie de notre collection TechnologieRetrouve nos autres fiches de 3e pour réviser efficacement !
Voir toutes les fiches