Chapitre 5 : Définitions et appels de fonctions
Créer ses propres blocs : les fonctions
Quand un groupe d'instructions revient souvent, on lui donne un nom : c'est une fonction. On la définit une fois, puis on l'appelle autant de fois qu'on veut. C'est comme créer ton propre bloc, que Pixel comprend ensuite comme les autres.
Au programme de SNT : Définitions et appels de fonctions. Écrire et développer des programmes pour répondre à des problèmes.
Définir une fonction, puis l'appeler
Le bloc « à faire ... » définit une fonction : tu lui donnes un nom et tu y glisses les instructions. Un nouveau bloc d'appel apparaît alors dans la catégorie « Fonctions ». Définir ne suffit pas : la fonction ne s'exécute que lorsqu'on l'appelle.
def demi_tour():
tourner_droite()
tourner_droite()
avancer()
demi_tour()Les paramètres
Une fonction peut recevoir des informations : ses paramètres. Ils se comportent comme des variables, qui prennent une valeur à chaque appel. Ainsi, une seule fonction sert dans plusieurs situations.
def avancer_de(n):
for _ in range(n):
avancer()
avancer_de(3)
tourner_droite()
avancer_de(2)Une fonction qui retourne une valeur
Une fonction peut aussi calculer une valeur et la retourner : le bloc « à faire ... retourner » a une case pour la valeur renvoyée. Son appel est alors un bloc valeur, que l'on peut brancher dans un calcul ou dans « afficher ».
def double(x):
return x * 2
print(double(21))À toi de jouer : Exercice guidé
La fonction demi_tour est définie, mais elle ne fait qu'un virage. Pixel avance de 2 cases, fait « demi-tour », puis avance de 2 cases : il doit revenir à son point de départ. Complète la fonction pour qu'elle fasse un vrai demi-tour.