Projet « Cryptographie » – Séance 9 Programmer le chiffrement de César (2)
1, 2, 3, codez ! - Activités cycle 4 - Projet « Cryptographie » - Séance 9 : Programmer le chiffrement de César (2/4)
Discipline dominante |
Mathématiques |
Résumé |
Les élèves modifient leur programme précédent pour introduire une « fonction » (bloc personnalisé). |
Notions |
« Bonnes habitudes de programmation » :
|
Matériel |
Pour chaque binôme
Pour la classe
|
La classe reprend le fil conducteur établi à la Séance 8. En particulier, l’enseignant rappelle qu’il serait préférable de mettre le programme créé précédemment dans une fonction, et d’écrire un programme qui permet de tester cette fonction. Scratch permet de créer ses propres fonctions (dans l’onglet violet « ajouter blocs », commande « créer un bloc »).
Note scientifique
Attention : Scratch souffre d’une limitation importante : les fonctions ne peuvent pas retourner de valeur. Si l’on souhaite qu’une fonction renvoie un résultat, il faut avoir créé une variable ad hoc et faire en sorte que la fonction modifie cette valeur. En informatique, de tels sous-programmes (sans valeur de sortie) sont plutôt appelés des « procédures » : nous employons le mot « fonction » (qui est un abus de langage) par souci de cohérence avec les programmes scolaires.
Étape 3 : créer une fonction (1/2) (15 minutes)
Le professeur propose aux élèves de commencer par des petits exercices leur permettant de se familiariser avec la notion de « fonction », et distribue pour cela la Fiche 12.
Nous conseillons d’organiser une mise en commun après chacun des exercices afin de s’assurer que cette nouvelle notion soit bien comprise par les élèves, tout comme la manière de l’implémenter dans Scratch.
Solution des exercices :
Programme 1 :
|
|
Programme 2 :Ce programme réalise exactement la même tâche, mais en utilisant une « fonction » (un bloc personnalisé, créé par l’utilisateur).
|
|
Programme 3 :
|
|
Programme 4 :
|
|
Programme 5 :
|
Notes scientifiques
- Pour bien comprendre que la variable créée ne sert qu’à renvoyer le résultat de la « fonction », il est utile de lui donner un nom très proche (mais pas identique) du nom de la fonction. Ainsi, à la lecture du programme, le lien entre les deux devient évident.
- Lorsque l’on crée une fonction (ou « bloc »), on peut donner autant d’arguments qu’on le souhaite, et spécifier leur type (nombre, texte, booléen).
Étape 4 : créer une fonction (2/2) (15 minutes)
Les élèves ayant désormais compris le fonctionnement (et l’intérêt) des blocs personnalisés dans Scratch, ils peuvent transformer leur programme créé à la séance précédente pour introduire une fonction, par exemple appelée « Lettre_de_rang ». La variable associée à cette fonction est nommée « Var_lettre_de_rang ».
NB : l’ajout de commentaires est traité en étape 11.
Les élèves enregistrent leur programme.
Bilan intermédiaire
La classe établit un bilan d’étape :
- le programme permet de trouver quelle lettre se situe à un rang donné dans l’alphabet ;
- Un nouveau concept-clé de la programmation a été vu : la fonction.
Extrait de "1, 2, 3... codez !", Editions Le Pommier, 2016-2017. Publié sous licence CC by-nc-nd 3.0.