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 :

Définition mathématique de la distance entre deux réels

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 :

Algorithme de la distance en langage naturel, avec entrées 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 Bloc-capteur réponse  : cette variable étant associée au bloc capteur demander et attendre 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) : Bloc d'affectation d'une variable

Une majorité d’entre eux a tout de même réussi à obtenir un script ressemblant à celui-ci :

Exemple de script scratch pour le calcul de la distance de deux réels, avec entrée et sortie

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 :

Exemple de script scratch pour le calcul de la distance de deux réels, avec entrée et sortie

Intégration d’un script Scratch pour le calcul de la distance de deux réels.

Page suivante : Le saut vers Python