ACTIVITES POUR INTRODUIRE ET CREER DES FONCTIONS
Les fonctions du langage Python présentent l'une des difficultés de ce langage. Sans doute convient-il d'y accorder une attention particulière lors de son introduction en classe de seconde.
Les élèves ont rencontré des blocs avec Scratch au collège mais ces blocs ne se comportent pas exactement comme des fonctions : en effet, si un bloc peut posséder un ou des paramètres d'entrée, il ne possède pas de paramètre de sortie en tant que tel ou bien ne "retourne" pas une valeur ( placée dans une variable locale) qui serait ensuite récupérable. De plus, un bloc est local à la zone de script d'un lutin tandis qu'une fonction en Python est utilisable dès qu'elle est exécutée ou bien dès qu'elle est importée d'une bibliothèque.
A ce sujet, les bibliothèques de fonctions ou de modules de fonctions sont une nouveauté pour les élèves de seconde. Là aussi, une attention particulière est nécessaire.
Dans ces deux premières parties, on utilise un programme déjà réalisé par les élèves qui contient une saisie et un affichage. Avant de créer ses propres fonctions, il faut familiariser l'élève avec ce qu'est une fonction par le biais des fonctions prédéfinies, rencontrées dans les programmes précédents ou présents dans le programme proposé en exemple. C'est l'occasion de parler de paramètres d'entrée d'une fonction et de bibliothèques en évoquant celles déjà rencontrées. |
|
|
En complétant le script à partir du programme proposé, on va pointer le rôle du paramètre d'entrée et celui du "return" par rapport à la saisie (input) et à l'affichage (print) inscrits dans le script du programme. Il ne faut pas négliger le passage à l'exécution de la fonction produite. Avant l'exécution de la fonction, on peut montrer que le nom somme n'est pas proposé dans la liste déroulante lorsque l'on commence à écrire le début de son nom; en revanche, une fois son exécution réalisée, son nom est dans la liste déroulante. On peut aussi, avant d'exécuter la fonction, appeler cette fonction par son nom dans la console et constater le message d'erreur qui s'inscrit, indiquant que le nom est inconnu. On peut ensuite demander aux élèves de reprendre certains programmes déjà réalisés et de les transformer en fonction. |
|
|
Ces exemples reprennent majoritairement les situations proposées dans les Activités Python et on a alors l'occasion de montrer l'intérêt de travailler avec des fonctions dans certaines situations. |
|
|
|
||
Cet exercice reprend des notions mathématiques étudiées en classe (coordonnées du milieu d'un segment, distance entre deux points, caractérisation de figures particulières). La fonction milieu retourne un tuple qui présente une apparence identique à celle des coordonnées d'un point : c'est l'occasion de parler d'un nouveau type et d'en expliquer le fonctionnement dans Python. L'utilisation des fonctions fait émerger un critère pour identifier une figure particulière (même milieu pour le parallélogramme, parallélogramme ayant des diagonales de même longueur pour le rectangle). Cependant, on risque, suivant les exemples utilisés, de rencontrer des difficultés lors des tests d'égalité avec certains nombres décimaux non entiers : en effet, 0.1+0.2==0.3 retourne False tandis que 0.1+0.6==0.7 retourne True. Ceci provient du codage binaire des nombres flottants en informatique. On propose ici des explications et des exercices pour aller plus loin sur ce sujet. |
|