Retour
  • 3e
  • >
  • Mathématiques
  • >
  • Algorithmique et programmation
  • >
  • Mathématiques et interactivité avec Scratch

Mathématiques et interactivité avec Scratch

🎲 Quiz GRATUIT

📝 Mini-cours GRATUIT

Opérations et fonctions mathématiques

Opérations de base

Les premiers blocs de la catégorie Opérateurs de Scratch permettent de réaliser toutes les opérations mathématiques de base : addition, soustraction, multiplication et division.

On trouve aussi le bloc « modulo », qui permet de calculer le reste de la division euclidienne de deux nombres : « 17 modulo 3 » donnera 2, car le quotient de la division euclidienne de 17 par 5 (5 × 3 = 15) et que le reste de cette division vaut 2 (17 – 15 = 2).

Dans Scratch, les nombres à virgule doivent être écrits avec un point. Par exemple, « 7,6 » est écrit « 7.6 ».

Opérations complexes

Il est possible de créer des opérations complexes, en imbriquant des blocs d’opérations dans d’autres blocs d’opération. Dans ce cas, ce sont les opérations des sous-blocs qui seront faites en premier (comme si chaque sous-blocs était entouré de parenthèses ou de crochets). Par exemple, les deux assemblages de blocs suivants correspondent aux calculs :

  • (3 + 2) × (4 – 1)
  • [10 + (-3 × 2)] ÷ 6

Autres blocs 

Le bloc « nombre aléatoire » permet de générer des nombres aléatoires. Il est très utile pour créer des jeux.

Le bloc « arrondi » permet de faire un arrondi à l’unité d’un nombre ou d’un calcul.

Enfin, toutes les autres fonctions mathématiques courantes sont disponibles grâce au dernier bloc de la catégorie, qui peut être paramétré en cliquant sur « abs » pour changer la fonction utilisée. On trouve par exemple les fonctions racine, sinus, cosinus, etc.

Des variables dans ses programmes

Une variable sert à stocker une donnée / information. Une variable est caractérisée par un nom, et par une valeur (la donnée qu’elle stocke).

Création de variables

Il est possible de créer autant de variables que l’on souhaite sur Scratch : il suffit de cliquer sur le bouton « Créer une variable », et de choisir un nom pour la variable. Selon le programme que l’on veut créer, les variables peuvent avoir des noms indiquant ce qu’ils représentent (nombre pommes, prix 1 pomme, etc.) ou bien des noms purement mathématiques (x, y, a).

Stockage des données

Pour stocker une donnée (comme un nombre ou un mot) dans une variable, il faut utiliser le bloc « mettre ma variable à 0 ». Ensuite, on choisira la variable dans laquelle stocker une valeur en modifiant « ma variable », puis on écrira la nouvelle valeur dans le rond blanc :

La valeur donnée à une variable peut être du texte, un nombre, un calcul, une autre variable, ou même un calcul comportant des variables : 

Affichage des données

Les données contenues dans les variables peuvent être affichées dans la scène, ou au contraire cachées. Pour les afficher / cacher, il est possible d’utiliser 3 méthodes :

  • soit en cochant / décochant une variable dans la palette de blocs ;
  • soit en utilisant un blocs « montrer la variable » ou « cacher la variable » dans un programme ;
  • soit en cliquant-droit sur la variable dans la scène, ce qui fait apparaître des options pour afficher ou cacher la variable.

Déplacement d’un lutin

Lutin dans la scène 

La scène est liée à un repère avec deux axes : x (abscisse) et y (ordonné). Le lutin (chat) possède des coordonnées (x;y) qui indiquent sa position dans le repère de la scène. Le centre de la scène a pour coordonnées (0;0) et sert d’origine au repère. L’axe x s’étend de -250 à +250 et l’axe y de -200 à +200.

La taille du lutin peut être modifiée : sa taille initiale est 100.

Enfin, la direction du lutin est contrôlable :

  • en sélectionnant « tourne autour » : le lutin fait une rotation,   indiquée en degré, autour de son centre ;
  • en sélectionnant « gauche/droite » : le lutin reste droit, et pointera vers la gauche ou la droite en fonction de l’angle choisi (symétrie axiale) ;
  • en sélectionnant « ne pivote pas » : le lutin conserve toujours son orientation de départ.

Programmation des déplacements

Dans un algorithme, le lutin peut être déplacé avec :

  • le bloc « avancer », pour déplacer le lutin dans la direction dans laquelle il pointe ;
  • les blocs « tourner » pour changer la direction du lutin.

Les blocs « aller à position ... » et « glisser ... », permettent aussi de modifier la position du lutin, pour lui donner une position aléatoire, une position par rapport au repère (x;y) ou pour lui faire atteindre le pointeur de la souris.

Les blocs « ajouter ... » et « mettre ... » permettent de contrôler la position du lutin dans le repère (x;y).

Enfin, les blocs « s’orienter ... » permettent de régler la direction du lutin.

Autres blocs

Le bloc « rebondir » change la direction du lutin lorsqu’il atteint le bord de la scène au cours d’un déplacement.

Le bloc « fixer le sens de rotation » règle la manière dont la direction du lutin est gérée par Scratch. 

Enfin, les blocs de variable du lutin permettent d’utiliser sa position et sa direction dans un programme. En les cochant, elles s’affichent sur la scène. Ces blocs peuvent être utilisés dans des structures conditionnelles ou des calculs par exemple.

Stylo et géométrie

Extension stylo

Le stylo est une extension pouvant être ajoutée à Scratch (grâce au bouton « Ajouter une extension » en bas à gauche).

Le stylo permet notamment de tracer un trait représentant les déplacements du lutin : c’est donc une très bonne extension pour travailler la géométrie avec Scratch. Le stylo permet de visualiser le parcours d’un lutin, et d’apprendre à trouver des algorithmes pour dessiner des lignes, le chemin du lutin, des formes géométriques, etc.

Nouveaux blocs

Une fois l’extension stylo ajoutée, une nouvelle catégorie de blocs apparaît, pour contrôler le stylo. On trouve notamment les blocs :

  • « effacer tout », qui permet d’effacer les dessins déjà faits dans la scène ;
  • « estampiller », qui permet de créer un dessin du lutin dans la scène ;
  • « stylo en position d’écriture » et « relever le stylo », qui permettent de choisir si le parcours du lutin doit être tracé ou non dans la scène ;
  • plusieurs autres blocs permettant de contrôler la couleur et la taille du stylo.

Illustrations d’utilisation du stylo

Voici un programme comportant trois algorithmes : 

  • celui du milieu sert à effacer les éventuels dessins faits au stylo dans la scène. L’algorithme se déclenche dès qu’on appui sur la touche « q » ;
  • celui de gauche permet de déplacer le lutin, en traçant un trait orange sur son chemin et en laissant un dessin du lutin à la fin des deux premiers mouvements. L’algorithme se déclenche dès qu’on appui sur la touche « s » ;
  • celui de droite permet de déplacer et faire tourner le lutin, en traçant un trait vert sur son chemin. L’algorithme se déclenche dès qu’on appui sur la to  uche « q ».

Si on appui d’abord sur « q », puis sur « s », puis deux fois sur « d », on obtient :

Programme interactif

Scratch permet de créer des programmes interactifs : un programme interactif est un programme capable de réagir aux actions de l’utilisateur. La plupart des blocs permettant de créer des programmes interactifs se trouvent dans la catégorie Capteurs.

Dialogue

Il est possible de faire discuter l’utilisateur avec le lutin grâce :

  • au bloc « demander », qui permet au lutin de poser une question, puis d’attendre la réponse de l’utilisateur ;
  • au bloc de variable « réponse », qui permet de stocker la réponse de l’utilisateur, pour pouvoir l’utiliser dans une structure conditionnelle, une boucle ou un calcul par exemple.

Voici un exemple de programme permettant de créer un jeu pour s’entraîner au calcul mental :

Capteurs

Plusieurs autres blocs de la catégorie Capteurs permettent de faire interagir le lutin avec le pointeur de la souris. Par exemple :

  • le bloc « touche le pointeur de souris » peut être utiliser dans une structure conditionnelle ou une boucle comme condition ;
  • les blocs de variables « souris x/y » et « distance de pointeur de souris » permettent de connaître la position de   la souris, et de la comparer à celle du lutin.

Voici un exemple de programme permettant de créer un jeu dans lequel le lutin court après le pointeur de souris :

Nomad+, Le pass illimité vers la réussite 🔥

NOMAD EDUCATION

L’app unique pour réussir !