Scratch 5ème

Ce cours sur Scratch 5ème vous explique comment écrire, tester et corriger un programme simple avec le logiciel de programmation par blocs Scratch, comme le demande le programme de mathématiques du collège. Vous verrez les déplacements du lutin, les tracés de figures, la boucle « répéter n fois », les événements et les programmes de calcul. Pour bien comprendre ce chapitre, revoyez les priorités opératoires en 5ème : elles servent à prévoir le résultat d'un calcul programmé.

Dans ce chapitre, nous allons apprendre à :
  • Découvrir Scratch et repérer le lutin sur la scène
  • Déplacer le lutin et tracer une figure avec le stylo
  • Utiliser la boucle « répéter n fois » pour tracer un carré, un rectangle ou un triangle équilatéral
  • Déclencher un script avec un événement
  • Écrire un programme de calcul avec une entrée et une sortie
  • Lire un script, le tester et le corriger

1. Découvrir Scratch

❧ Définition 1 : Algorithme, programme et Scratch

Un algorithme est une suite finie d'instructions qui permet de résoudre un problème. Un programme est la traduction d'un algorithme dans un langage informatique.

Scratch est un langage de programmation par blocs : on assemble des blocs pour former un script. Le script est exécuté par un lutin, c'est-à-dire le personnage ou l'objet que l'on programme.

☛ Exemple : Un algorithme pour tracer un carré.

  1. Avancer de 100 pas.
  2. Tourner d'un quart de tour vers la droite.
  3. Recommencer 3 fois les deux instructions précédentes.

Ces instructions sont ordonnées et en nombre fini : c'est bien un algorithme. Dans la suite du chapitre, on le traduit en un programme Scratch.

L'écran de Scratch comporte quatre zones :
  • la palette de blocs, où les blocs sont rangés par catégories ;
  • la zone de scripts, où l'on assemble les blocs ;
  • la scène, où le lutin se déplace et dessine ;
  • la liste des lutins.
Éditeur de programmes par blocsPalette de blocsMouvementApparenceSonÉvénementsContrôleCapteursOpérateursVariablesZone de scriptsles blocs sontassemblés iciScènele lutin se déplace iciLutinsLutin1

Chaque catégorie de blocs a sa couleur, ce qui aide à les retrouver :

MouvementApparenceSonÉvénementsContrôleCapteursOpérateursVariablesMes blocsStylo

Pour tracer des figures, il faut ajouter l'extension Stylo (bouton en bas à gauche de l'écran).

2. Se repérer et déplacer le lutin

❧ Définition 2 : Le repère de la scène

La scène est un repère de centre (0 ; 0). La position du lutin est donnée par ses coordonnées (x ; y) : l'abscisse x varie de −240 à 240 et l'ordonnée y de −180 à 180.

La direction du lutin est un angle en degrés :
  • 90 : vers la droite ;
  • −90 : vers la gauche ;
  • 0 : vers le haut ;
  • 180 : vers le bas.
direction 90(droite)direction −90(gauche)direction 0(haut)direction 180(bas)(0 ; 0)(−240 ; 180)(240 ; 180)(−240 ; −180)(240 ; −180)

Remarque : dans Scratch, les longueurs se mesurent en pas (1 pas = 1 unité du repère), et non en centimètres. Au départ, le lutin est au point (0 ; 0), dirigé vers la droite (direction 90).

Voici les principaux blocs de mouvement :

avancer de10pastourner ↻ de15degréstourner ↺ de15degréss'orienter à90aller à x:0y:0ajouter10à xmettre x à0ajouter10à ymettre y à0
  • avancer de n pas : déplace le lutin dans sa direction actuelle ;
  • tourner ↻ de n degrés : tourne vers la droite (sens des aiguilles d'une montre) ;
  • tourner ↺ de n degrés : tourne vers la gauche ;
  • s'orienter à n : impose la direction n ;
  • aller à x y : place le lutin au point (x ; y) ;
  • ajouter n à x ou à y : décale le lutin horizontalement ou verticalement.

Attention : tourner de 90 degrés ajoute 90° à la direction actuelle (mouvement relatif), alors que s'orienter à 90 impose la direction 90 quelle que soit la direction actuelle (mouvement absolu).

Mouvement relatif et mouvement absolu

☛ Exemples : Le lutin est dirigé vers la droite (direction 90).

tourner ↻ de 90

Nouvelle direction : 90 + 90 = 180 (vers le bas).

tourner ↺ de 90

Nouvelle direction : 90 − 90 = 0 (vers le haut).

s'orienter à 0

Nouvelle direction : 0 (vers le haut), quelle que soit la direction avant.

3. Séquences d'instructions et stylo

❦ Propriété 1 : Ordre des instructions

Un script s'exécute de haut en bas, une instruction après l'autre. L'ordre des blocs change le résultat : on ne peut pas les échanger sans changer le dessin obtenu.

Pour laisser une trace, on utilise les blocs de l'extension Stylo :
  • stylo en position d'écriture : le lutin dessine en se déplaçant ;
  • relever le stylo : le lutin se déplace sans dessiner ;
  • effacer tout : efface les tracés précédents.

☛ Exemple : Tracer un carré de côté 100, sans boucle.

quandest cliquéeffacer toutaller à x:0y:0s'orienter à90stylo en position d’écritureavancer de100pastourner ↻ de90degrésavancer de100pastourner ↻ de90degrésavancer de100pastourner ↻ de90degrésavancer de100pastourner ↻ de90degrésrelever le stylo
(0 ; 0)(100 ; 0)(100 ; −100)(0 ; −100)1234

Le lutin part de (0 ; 0), dirigé vers la droite. Il avance de 100 pas, tourne à droite de 90° (il est alors dirigé vers le bas), avance de 100 pas, et ainsi de suite. Après quatre côtés, il est revenu au point de départ. Ce script répète quatre fois les mêmes blocs : une boucle va permettre de l'écrire plus simplement.

Lire un script pas à pas

☛ Exemple : Quelle figure ce script trace-t-il ?

quandest cliquéaller à x:0y:0s'orienter à90stylo en position d’écritureavancer de50pastourner ↺ de90degrésavancer de50pastourner ↺ de90degrésavancer de50pas
(0 ; 0)(50 ; 0)(50 ; 50)(0 ; 50)

Correction : on suit le lutin pas à pas.

  1. Il part de (0 ; 0), direction 90.
  2. Il avance de 50 pas : il est en (50 ; 0).
  3. Il tourne à gauche de 90° : direction 90 − 90 = 0 (vers le haut).
  4. Il avance de 50 pas : il est en (50 ; 50).
  5. Il tourne à gauche de 90° : direction −90 (vers la gauche).
  6. Il avance de 50 pas : il est en (0 ; 50).

Le script trace trois côtés d'un carré de côté 50. Le carré n'est pas fermé : il manque le côté de (0 ; 50) à (0 ; 0).

4. La boucle « répéter n fois »

❧ Définition 3 : Boucle « répéter n fois »

Une boucle répète plusieurs fois les mêmes instructions. Avec le bloc répéter n fois, le nombre de répétitions n est connu à l'avance. Les blocs placés à l'intérieur sont exécutés n fois de suite.

☛ Exemple : Tracer un carré avec une boucle.

quandest cliquéeffacer toutaller à x:0y:0s'orienter à90stylo en position d’écriturerépéter4foisavancer de100pastourner ↻ de90degrés

Le script est beaucoup plus court : les deux blocs avancer et tourner sont répétés 4 fois. On repère un motif qui se répète (avancer, tourner) : c'est le signe qu'une boucle est utile.

☛ Exemple : Tracer un rectangle de longueur 120 et de largeur 50.

quandest cliquéeffacer toutaller à x:0y:0s'orienter à90stylo en position d’écriturerépéter2foisavancer de120pastourner ↻ de90degrésavancer de50pastourner ↻ de90degrés
départ12050

Un rectangle a quatre angles droits, mais deux longueurs différentes. Le motif qui se répète est « avancer de 120, tourner de 90°, avancer de 50, tourner de 90° » : on le répète 2 fois. Le périmètre du rectangle est 2 × (120 + 50) = 340 pas.

❦ Propriété 2 : Polygone régulier

Un polygone régulier à n côtés a tous ses côtés de même longueur et tous ses angles égaux. Pour le tracer, on répète n fois « avancer, tourner de 360 ÷ n degrés », car le lutin fait un tour complet (360°) en revenant à son point de départ.

☛ Exemples : Angle de rotation du lutin selon le polygone régulier.

Carré (4 côtés)

360 ÷ 4 = 90 : le lutin tourne de 90°.

Triangle équilatéral (3 côtés)

360 ÷ 3 = 120 : le lutin tourne de 120°.

Hexagone régulier (6 côtés)

360 ÷ 6 = 60 : le lutin tourne de 60°.

Attention : pour un triangle équilatéral, le lutin ne tourne pas de 60° mais de 120°. Les angles du triangle mesurent 60°, mais le lutin tourne de l'angle qui prolonge le côté qu'il vient de tracer, soit 180° − 60° = 120°. Trois rotations de 120° font bien 360°, un tour complet.

Tracer un triangle équilatéral et un hexagone

☛ Exemple : Tracer un triangle équilatéral de côté 80.

quandest cliquéeffacer toutaller à x:0y:0s'orienter à90stylo en position d’écriturerépéter3foisavancer de80pastourner ↻ de120degrés
départ120°808080

On répète 3 fois « avancer de 80, tourner de 120° ». Le triangle obtenu a trois côtés de 80 pas : son périmètre est 3 × 80 = 240 pas. Pour construire un triangle à la règle et au compas, voir le chapitre Inégalité triangulaire et construction de triangle en 5ème.

☛ Exemple : Tracer un hexagone régulier de côté 60.

quandest cliquéeffacer toutaller à x:0y:0s'orienter à90stylo en position d’écriturerépéter6foisavancer de60pastourner ↻ de60degrés
départ60

Un hexagone régulier a 6 côtés : le lutin tourne de 360 ÷ 6 = 60° à chaque sommet. Le périmètre de l'hexagone est 6 × 60 = 360 pas.

5. Les événements

❧ Définition 4 : Événement

Un événement déclenche l'exécution d'un script : clic sur le drapeau vert, appui sur une touche du clavier… Chaque script commence par un bloc d'événement (en jaune).

☛ Exemple : Déplacer le lutin avec les flèches du clavier.

quand la toucheflèche droite▾est presséeajouter10à x
quand la toucheflèche gauche▾est presséeajouter−10à x
quand la toucheflèche haut▾est presséeajouter10à y
quand la toucheflèche bas▾est presséeajouter−10à y

Chaque appui sur une flèche déclenche son propre script. Ajouter 10 à x déplace le lutin de 10 pas vers la droite. Ajouter −10 à x le déplace de 10 pas vers la gauche, car l'abscisse diminue. Pour y, c'est la même chose avec le haut et le bas.

☛ Exemple : Une animation qui ne s'arrête pas.

quandest cliqués'orienter à90répéter indéfinimentavancer de10pasrebondir si le bord est atteint

Le bloc répéter indéfiniment répète ses instructions sans s'arrêter, jusqu'à ce qu'on arrête le programme (bouton rouge). Le lutin avance de 10 pas à chaque tour, puis rebondit quand il touche le bord de la scène : il fait des allers-retours.

6. Entrées, sorties et programmes de calcul

❧ Définition 5 : Entrée, traitement et sortie

Un programme de calcul comporte une entrée (le nombre donné par l'utilisateur), un traitement (les calculs) et une sortie (le résultat affiché).

Dans Scratch, le bloc demander … et attendre récupère le nombre tapé au clavier dans le bloc réponse. Le bloc dire affiche la sortie. Les opérations s'écrivent +, −, * (multiplication) et / (division).

☛ Exemple : Programme de calcul : multiplier par 2, puis ajouter 1.

quandest cliquédemanderChoisissez un nombreet attendredireréponse*2+1
Entrée : 5

5 × 2 = 10, puis 10 + 1 = 11. Sortie : 11.

Entrée : 10

10 × 2 = 20, puis 20 + 1 = 21. Sortie : 21.

Entrée : 0

0 × 2 = 0, puis 0 + 1 = 1. Sortie : 1.

❦ Propriété 3 : Calculs imbriqués

Quand des blocs de calcul sont placés l'un dans l'autre, Scratch calcule d'abord le bloc intérieur, comme on calcule d'abord les parenthèses. Le bloc intérieur joue le rôle de parenthèses, même si Scratch n'affiche pas de parenthèses (voir les priorités opératoires).

☛ Exemple : Prévoir ce que dit le lutin.

quandest cliquédire2+3*4
quandest cliquédire2+3*4
  • Script de gauche : le bloc intérieur 3 × 4 = 12 est calculé en premier, puis 2 + 12 = 14.
  • Script de droite : le bloc intérieur 2 + 3 = 5 est calculé en premier, puis 5 × 4 = 20.

Les deux scripts utilisent les mêmes nombres et les mêmes opérations, mais le résultat est différent : la façon d'imbriquer les blocs change le résultat.

7. Lire, tester et corriger un programme

❧ Définition 6 : Méthode pour lire, tester et corriger un script

  1. Lire le script de haut en bas, en repérant le point de départ et la direction du lutin.
  2. Suivre l'exécution pas à pas, avec un tableau de suivi (position, direction).
  3. Prévoir le résultat, puis tester le programme.
  4. Corriger le script si le résultat n'est pas celui attendu.
Erreurs fréquentes :
  • faire tourner le lutin de l'angle de la figure (60° pour un triangle équilatéral) au lieu de 120° ;
  • confondre s'orienter à (absolu) et tourner (relatif), ou la droite ↻ et la gauche ↺ ;
  • oublier le bloc stylo en position d'écriture ou effacer tout ;
  • placer un bloc à l'intérieur de la boucle alors qu'il devrait être avant ou après ;
  • oublier le bloc demander avant d'utiliser la réponse.

☛ Exercice 1 : Où se trouve le lutin à la fin de ce script ?

quandest cliquéaller à x:0y:0s'orienter à90avancer de60pastourner ↻ de90degrésavancer de40pas

Correction : on suit le lutin pas à pas.

  1. Il est en (0 ; 0), dirigé vers la droite (direction 90).
  2. Il avance de 60 pas : il est en (60 ; 0).
  3. Il tourne à droite de 90° : direction 90 + 90 = 180 (vers le bas).
  4. Il avance de 40 pas vers le bas : l'ordonnée diminue de 40, il est en (60 ; −40).
(0 ; 0)(60 ; −40)6040

Le lutin se trouve au point (60 ; −40).

Reconnaître et écrire un script

☛ Exercice 2 : Quelle figure ce script trace-t-il ? Quel est son périmètre ?

quandest cliquéeffacer toutaller à x:-50y:0s'orienter à90stylo en position d’écriturerépéter3foisavancer de100pastourner ↻ de120degrés

Correction : le script répète 3 fois « avancer de 100, tourner de 120° ». Comme 3 × 120 = 360, le lutin revient à son point de départ. La figure est un triangle équilatéral de côté 100. Son périmètre est 3 × 100 = 300 pas.

☛ Exercice 3 : Écrire un script qui trace un hexagone régulier de côté 60.

Correction : un hexagone régulier a 6 côtés. Le lutin tourne de 360 ÷ 6 = 60° à chaque sommet. On répète 6 fois « avancer de 60, tourner de 60° ».

quandest cliquéeffacer toutaller à x:0y:0s'orienter à90stylo en position d’écriturerépéter6foisavancer de60pastourner ↻ de60degrés

Le périmètre de l'hexagone est 6 × 60 = 360 pas.

☛ Exercice 4 : On exécute deux programmes de calcul. Que dit le lutin dans chaque cas si l'utilisateur choisit 4 ?

quandest cliquédemanderChoisissez un nombreet attendredireréponse+3*2
quandest cliquédemanderChoisissez un nombreet attendredireréponse+3*2

Correction :

  • Programme A : le bloc intérieur est 4 + 3 = 7, puis 7 × 2 = 14.
  • Programme B : le bloc intérieur est 3 × 2 = 6, puis 4 + 6 = 10.

Les deux programmes n'ont pas le même résultat, car les blocs ne sont pas imbriqués de la même façon. Le programme A correspond au calcul (4 + 3) × 2 et le programme B au calcul 4 + 3 × 2.

Repérer et corriger une erreur

☛ Exercice 5 : Léa veut tracer un triangle équilatéral de côté 80. Elle obtient le tracé ci-dessous. Trouver son erreur et corriger son script.

quandest cliquéeffacer toutaller à x:0y:0s'orienter à90stylo en position d’écriturerépéter3foisavancer de80pastourner ↻ de60degrés
départarrivée

Correction : Léa a fait tourner le lutin de 60°, qui est l'angle du triangle équilatéral. Mais le lutin doit tourner de 120° : avec 60°, trois rotations ne font que 3 × 60 = 180°, et non un tour complet de 360°. La figure ne se referme pas.

Le script corrigé répète 3 fois « avancer de 80, tourner de 120° » : 3 × 120 = 360.

quandest cliquéeffacer toutaller à x:0y:0s'orienter à90stylo en position d’écriturerépéter3foisavancer de80pastourner ↻ de120degrés
départ

❦ Propriété 4 : À retenir

  • Un script s'exécute de haut en bas. La scène est un repère de centre (0 ; 0) ; la direction 90 est vers la droite.
  • tourner change la direction de façon relative ; s'orienter à impose la direction.
  • La boucle répéter n fois répète un motif.
  • Pour un polygone régulier à n côtés, on répète n fois « avancer, tourner de 360 ÷ n degrés ».
  • Un événement (drapeau vert, touche du clavier) déclenche un script.
  • Un programme de calcul a une entrée (réponse), un traitement et une sortie (dire) ; le bloc intérieur est calculé en premier.

Pour plus de vidéos, découvrez la chaîne YouTube FormaMaths.

Ce chapitre sur Scratch 5ème vous a permis de comprendre comment écrire, tester et corriger un programme simple avec des déplacements, la boucle « répéter n fois », des événements et des programmes de calcul.

Grâce à ce chapitre, vous savez tracer un carré, un rectangle, un triangle équilatéral ou un hexagone régulier, suivre l'exécution d'un script pas à pas et prévoir le résultat d'un calcul programmé.

Prochaines étapes

La pratique régulière est essentielle pour maîtriser la programmation. Pour progresser :

N'hésitez pas à utiliser les ressources complémentaires sur la chaîne YouTube FormaMaths pour des explications visuelles, ou bien à prendre des cours particuliers. Vous pouvez essayer dès maintenant, gratuitement et sans condition, nos cours particuliers.