Algorithmique en seconde : aborder la notion de fonction publié le 27/12/2019 - mis à jour le 03/01/2020
De Scratch vers Python
Définition mathématique de la distance entre deux réels et conversion en algorithme
La notion de distance entre deux réels figure au programme de seconde depuis la rentrée 2019. Sa définition pratique présente un cas intéressant de disjonction de cas :
Sans changer la définition mathématique, on peut remplacer les deux conditions par une instruction conditionnelle étendue de la forme Si ... alors : .... Sinon : ....
. On obtient alors une version algorithmique de la distance, avec entrée et sortie :
Une fois que cette forme a été établie en classe, les élèves ont été invités à convertir cet algorithme en un programme Scratch. Étant en début d’année, c’était l’occasion de mesurer les compétences acquises à l’issue du cycle 4, en terme de programmation et de manipulation du logiciel Scratch.
La plupart d’entre eux a réussi à convertir correctement la structure conditionnelle en un bloc Scratch adéquat mais les difficultés ont été plus nombreuses en ce qui concerne la gestion des variables :
- statut particulier de la variable : cette variable étant associée au bloc capteur demander et attendre : elle stocke temporairement la réponse de l’utilisateur après l’utilisation d’un tel bloc. Dans le cas d’utilisations successives de ces blocs, les réponses sont écrasées et c’est la dernière valeur saisie qui est conservée.
- nécessité de créer des variables
a, b, d
pour stocker les valeurs saisies par l’utilisateur et les réutiliser pour le calcul de la distance, laquelle doit aussi être enregistrée dans une variable. - certains élèves ont été gênés pour retrouver l’affectation de variable : l’affectation en langage naturel s’écrit dans le sens variable reçoit valeur (
a <- réponse
) alors que le bloc d’affectation de Scratch et son verbe mettre peut faire penser à une affectation dans l’autre sens (mettre une valeur dans une variable) :
Une majorité d’entre eux a tout de même réussi à obtenir un script ressemblant à celui-ci :
Image d’un script Scratch implémentant le calcul de la distance entre deux réels
Une version en ligne peut être testée directement ci-dessous :
Page suivante : Le saut vers Python