Scratch 4ème
Ce cours sur Scratch 4è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 et les tracés, les boucles, les variables, les programmes de calcul et les conditions. En 4ème, les programmes restent simples, avec une seule variable à la fois : le cours Scratch 3ème va ensuite plus loin. Pour bien comprendre ce chapitre, revoyez les nombres relatifs en 4ème (le repère de la scène contient des coordonnées négatives) et les équations en 4ème.Dans ce chapitre, nous allons apprendre à :
- Comprendre ce qu'est un algorithme et repérer le lutin sur la scène
- Écrire une séquence d'instructions pour tracer une figure
- Utiliser les boucles, y compris des boucles imbriquées pour une frise
- Utiliser une variable et écrire un programme de calcul
- Utiliser une condition et un nombre aléatoire
- Créer un bloc personnalisé, lire un script, le tester et le corriger
1. Algorithmes, Scratch et repère de la scène
❧ Définition 1 : Algorithme, programme et Scratch
Un algorithme est une suite finie d'instructions qui permet de résoudre un problème. Il comporte des données d'entrée, un traitement et un résultat de sortie. 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 : Algorithme : choisir un nombre, le multiplier par 2, puis ajouter 7.
Traitement : 5 × 2 = 10, puis 10 + 7 = 17. Sortie : 17.
Traitement : 10 × 2 = 20, puis 20 + 7 = 27. Sortie : 27.
Traitement : −3 × 2 = −6, puis −6 + 7 = 1. Sortie : 1.
- 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.
Chaque catégorie de blocs a sa couleur, ce qui aide à les retrouver :
Pour tracer des figures, il faut ajouter l'extension Stylo (bouton en bas à gauche de l'écran).
❧ Définition 2 : Le repère de la scène
La scène est un repère de centre (0 ; 0). L'abscisse x varie de −240 à 240 et l'ordonnée y de −180 à 180. La position du lutin est donnée par ses coordonnées (x ; y). Comme dans un repère de mathématiques, ces coordonnées sont des nombres relatifs.
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.
Remarque : dans Scratch, les longueurs se mesurent en pas (1 pas = 1 unité du repère), et non en centimètres.
☛ Exemples : Le lutin est au point (−80 ; 40).
La position devient (−30 ; 40).
La position devient (−80 ; −20).
La position devient (30 ; −50).
2. Séquences d'instructions et tracés de figures
❦ 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.
Voici les principaux blocs de mouvement :
- 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).
Nouvelle direction : 90 + 90 = 180 (vers le bas).
Nouvelle direction : 90 − 90 = 0 (vers le haut).
Nouvelle direction : 0 (vers le haut), quelle que soit la direction avant.
- 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.
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.
❦ Propriété 2 : Angle de rotation du lutin
Pour tracer une figure, le lutin tourne à chaque sommet de 180° − (angle de la figure). Il ne tourne donc pas de l'angle de la figure, mais de l'angle qui prolonge le côté qu'il vient de tracer.
☛ Exemples : Rotation du lutin selon l'angle de la figure.
Le lutin tourne de 180 − 90 = 90°.
Le lutin tourne de 180 − 60 = 120°.
Le lutin tourne de 180 − 45 = 135°.
Le lutin tourne de 180 − 120 = 60°.
Attention : pour un triangle équilatéral, le lutin ne tourne pas de 60° mais de 120°. La somme des angles d'un triangle (180°) permet de vérifier : trois rotations de 120° font 360°, un tour complet.
Tracer des triangles et des losanges
☛ Exemple : Tracer un triangle rectangle isocèle dont les côtés de l'angle droit mesurent 100.
Le lutin trace les deux côtés de l'angle droit, puis l'hypoténuse. Avec le théorème de Pythagore : 100² + 100² = 20 000, donc l'hypoténuse mesure √20 000 ≈ 141 pas. Aux deux sommets d'angle 45°, le lutin tourne de 180 − 45 = 135°.
☛ Exemple : Tracer un losange de côté 80, d'angles 60° et 120°.
Dans un losange, deux angles consécutifs sont supplémentaires : 60° + 120° = 180°. Le lutin tourne de 180 − 60 = 120° à un sommet, puis de 180 − 120 = 60° au sommet suivant. On répète 2 fois cette séquence de quatre blocs. Au total, 2 × (120 + 60) = 360° : le lutin retrouve sa direction de départ.
Lire un script pas à pas
☛ Exemple : Quelle figure ce script trace-t-il ?
Correction : on suit le lutin pas à pas.
- Il part de (0 ; 0), direction 90.
- Il avance de 50 pas : il est en (50 ; 0).
- Il tourne à gauche de 90° : direction 90 − 90 = 0 (vers le haut).
- Il avance de 50 pas : il est en (50 ; 50).
- Il tourne à gauche de 90° : direction −90 (vers la gauche).
- 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).
3. Les boucles
❧ Définition 3 : Boucle
Une boucle répète plusieurs fois les mêmes instructions. Scratch propose notamment :
- répéter n fois : le nombre de répétitions est connu à l'avance ;
- répéter jusqu'à ce que (condition) : on répète tant que la condition n'est pas vraie (voir la partie 6) ;
- répéter indéfiniment : la boucle ne s'arrête que lorsqu'on arrête le programme.
☛ Exemple : Tracer un carré avec une boucle.
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.
Une boucle peut contenir une autre boucle : on parle de boucles imbriquées. La boucle intérieure s'exécute entièrement à chaque tour de la boucle extérieure.
☛ Exemple : Tracer une frise de quatre carrés de côté 40.
La boucle intérieure trace un carré. Comme 4 × 90 = 360, le lutin est revenu à son point de départ avec la direction 90. Le bloc avancer de 40 le décale alors vers la droite de 40 pas, et la boucle extérieure recommence : les carrés sont placés côte à côte. Cette répétition d'un motif par translation s'appelle une frise.
4. Les variables
❧ Définition 4 : Variable
Une variable est un espace de la mémoire de l'ordinateur qui porte un nom et contient une valeur (un nombre ou un texte). Cette valeur peut changer pendant l'exécution du programme.
Deux blocs permettent de la modifier :- mettre … à n : la variable prend la valeur n et remplace l'ancienne valeur (on parle d'affectation) ;
- ajouter n à … : la valeur de la variable augmente de n.
Attention : une variable doit être initialisée au début du script (par exemple mettre score à 0). Sinon, elle garde la valeur du dernier lancement.
☛ Exemple : Un compteur de points.
Au départ, score = 0. À chaque tour de boucle, on ajoute 2. On suit la valeur de la variable dans un tableau de suivi :
score = 0
score = 2
score = 4
score = 6
score = 8
score = 10
À la fin du script, score = 10.
Utiliser une variable dans un calcul
☛ Exemple : Calculer la somme 1 + 2 + 3 + … + 10.
La variable n prend les valeurs 1, 2, 3, … et la variable somme accumule ces valeurs :
n = 1 et somme = 0 + 1 = 1.
n = 2 et somme = 1 + 2 = 3.
n = 3 et somme = 3 + 3 = 6.
n = 4 et somme = 6 + 4 = 10.
n = 10 et somme = 45 + 10 = 55.
Le lutin dit 55 : c'est la somme 1 + 2 + … + 10.
☛ Exemple : Un carré dont le côté est une variable.
Ici, le côté du carré est la variable côté. Avec côté = 60, le lutin trace un carré de côté 60. Pour tracer un carré de côté 90, il suffit de changer une seule valeur : mettre côté à 90. Le périmètre du carré vaut alors 4 × 90 = 360 pas.
5. Programmes de calcul et entrées au clavier
❧ Définition 5 : Programme de calcul
Un programme de calcul est une suite d'opérations appliquées à un nombre de départ. On peut le traduire par une expression littérale : « multiplier par 3, puis ajouter 5 » correspond à 3x + 5.
Dans Scratch, le bloc demander … et attendre récupère le nombre choisi dans le bloc réponse. Les opérations s'écrivent +, −, * (multiplication) et / (division).
☛ Exemple : Programme de calcul : multiplier par 3, puis ajouter 5.
résultat = 4 × 3 + 5 = 17.
résultat = 0 × 3 + 5 = 5.
résultat = −2 × 3 + 5 = −1.
Pour savoir quel nombre donne 20, on résout l'équation 3x + 5 = 20, soit x = 5 (voir le chapitre Équations 4ème).
Calculer une longueur avec Pythagore
☛ Exemple : Calculer l'hypoténuse d'un triangle rectangle.
Ce script applique le théorème de Pythagore. Il stocke a² + b² dans la variable somme, puis calcule sa racine carrée.
somme = 9 + 16 = 25 et hypoténuse = √25 = 5.
somme = 25 + 144 = 169 et hypoténuse = √169 = 13.
Quand la racine carrée n'est pas un nombre entier (a = 1 et b = 1, par exemple), Scratch affiche une valeur approchée : environ 1,4142.
6. Les instructions conditionnelles et le hasard
❧ Définition 6 : Instruction conditionnelle
Une condition est une affirmation qui est vraie ou fausse, comme « réponse < 0 ». Scratch compare avec <, = et >.
- si … alors : les instructions du bloc ne sont exécutées que si la condition est vraie ;
- si … alors … sinon : un premier groupe d'instructions est exécuté si la condition est vraie, un second si elle est fausse.
☛ Exemple : Le signe d'un nombre relatif.
−3 < 0 est vrai : le lutin dit « négatif ».
0 < 0 est faux : le lutin dit « positif ou nul ».
7 < 0 est faux : le lutin dit « positif ou nul ».
Attention : Scratch n'a pas de symbole ≥. Pour tester qu'un nombre entier est supérieur ou égal à 10, on écrit réponse > 9.
Simuler le hasard
☛ Exemple : Simuler un lancer de dé.
Le bloc nombre aléatoire entre 1 et 6 choisit un entier au hasard : c'est une simulation de dé. Les issues possibles sont 1, 2, 3, 4, 5 et 6. Si l'on exécute le script un très grand nombre de fois, le lutin dit « Gagné ! » environ une fois sur six.
☛ Exemple : Lancer le dé jusqu'à obtenir un 6.
La boucle répéter jusqu'à ce que s'arrête dès que dé = 6. La variable lancers compte le nombre de lancers : elle vaut 1 si le 6 sort au premier lancer, 5 s'il sort au cinquième. Cette valeur change à chaque exécution du programme.
7. Les événements
❧ Définition 7 : Événement
Un événement déclenche l'exécution d'un script : clic sur le drapeau vert, appui sur une touche, clic sur le lutin… Chaque script commence par un bloc d'événement (en jaune).
☛ Exemple : Déplacer le lutin à droite et à gauche avec le clavier.
Chaque appui sur une flèche déclenche son propre script. Ajouter −10 à x revient à ajouter un nombre négatif : l'abscisse diminue et le lutin se déplace de 10 pas vers la gauche.
Remarque : faire communiquer plusieurs scripts ou plusieurs lutins est étudié dans le cours Scratch 3ème.
8. Les blocs personnalisés et les frises
❧ Définition 8 : Bloc personnalisé
Un bloc personnalisé (catégorie « Mes blocs ») regroupe une suite d'instructions sous un nom. On le définit une seule fois, puis on l'utilise autant de fois que nécessaire. Cela rend le script plus court et plus lisible.
☛ Exemple : Une frise de cinq carrés avec un bloc carré.
Le bloc carré trace un carré de côté 40 et ramène le lutin à son point de départ. On relève ensuite le stylo, on avance de 50 pas (translation), puis on baisse le stylo : les carrés sont séparés par un espace de 50 − 40 = 10 pas. Le premier carré part du point (−100 ; 0), le dernier se termine à l'abscisse 140.
9. Lire, tester et corriger un programme
❧ Définition 9 : Méthode pour lire, tester et corriger un script
- Lire le script de haut en bas en repérant la variable et sa valeur de départ.
- Suivre l'exécution pas à pas, avec un tableau de suivi (position, direction, valeur de la variable).
- Prévoir le résultat, puis tester le programme avec plusieurs valeurs.
- Corriger le script si le résultat n'est pas celui attendu.
- faire tourner le lutin de l'angle de la figure (60°) au lieu de 180° − 60° = 120° ;
- oublier d'initialiser la variable ;
- 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 que les comparaisons sont strictes (9 > 9 est faux).
☛ Exercice 1 : Quelle valeur le lutin dit-il à la fin de ce script ?
Correction : on suit la valeur de n à chaque tour.
n = 3.
n = 3 × 2 = 6.
n = 6 × 2 = 12.
n = 12 × 2 = 24.
n = 24 × 2 = 48.
Le lutin dit 48.
Reconnaître et écrire un script
☛ Exercice 2 : Écrire un script qui trace un rectangle de longueur 120 et de largeur 50.
Correction : un rectangle a deux longueurs et deux largeurs, et quatre angles droits. Le lutin tourne de 180 − 90 = 90° à chaque sommet. On répète 2 fois : avancer de 120, tourner de 90°, avancer de 50, tourner de 90°.
Le périmètre du rectangle est 2 × (120 + 50) = 340 pas.
☛ Exercice 3 : On exécute ce programme de calcul.
- Que dit le lutin si l'utilisateur choisit 4, puis −1 ?
- Écrire une expression littérale qui correspond au programme.
- Quel nombre faut-il choisir pour obtenir 16 ?
Correction :
- Pour 4 : 4 − 2 = 2, puis 2 × 5 = 10, puis 10 + 1 = 11. Pour −1 : −1 − 2 = −3, puis −3 × 5 = −15, puis −15 + 1 = −14.
- Le programme correspond à l'expression 5(x − 2) + 1, qui s'écrit aussi 5x − 10 + 1 = 5x − 9. On vérifie avec x = 4 : 5 × 4 − 9 = 11.
- On résout 5x − 9 = 16, donc 5x = 25 et x = 5.
Conditions et angles de rotation
☛ Exercice 4 : Les notes sont des nombres entiers. Que dit le lutin si l'utilisateur entre 14, puis 9, puis 10 ?
Correction :
14 > 9 est vrai : le lutin dit « Admis ».
9 > 9 est faux : le lutin dit « Refusé ».
10 > 9 est vrai : le lutin dit « Admis ».
Pour une note entière, « réponse > 9 » signifie « note supérieure ou égale à 10 » : la note 10 est donc admise.
☛ Exercice 5 : Écrire un script qui trace un triangle équilatéral de côté 90. Quel est son périmètre ?
Correction : les angles d'un triangle équilatéral mesurent 60°, donc le lutin tourne de 180 − 60 = 120° à chaque sommet. On répète 3 fois : avancer de 90, tourner de 120°.
Le périmètre du triangle est 3 × 90 = 270 pas.
❦ Propriété 3 : À retenir
- Un algorithme a des entrées, un traitement et une sortie. 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.
- Pour tracer une figure, le lutin tourne de 180° − (angle de la figure).
- Une boucle répète un motif ; deux boucles imbriquées permettent de tracer une frise.
- Une variable s'initialise (mettre à) et se modifie (ajouter à).
- Un programme de calcul se traduit par une expression littérale.
- Une condition est vraie ou fausse : si … alors … sinon.
- Un bloc personnalisé regroupe des instructions réutilisables.
Pour plus de vidéos, découvrez la chaîne YouTube FormaMaths.
Ce chapitre sur Scratch 4ème vous a permis de comprendre comment écrire, tester et corriger un programme simple avec des boucles, une variable, des programmes de calcul et des conditions.
Grâce à ce chapitre, vous savez tracer des figures en calculant les angles de rotation, suivre l'exécution d'un script pas à pas et réaliser une frise avec un bloc personnalisé.
Prochaines étapes
La pratique régulière est essentielle pour maîtriser la programmation. Pour progresser :- Refaites les exemples dans Scratch, puis modifiez les valeurs pour observer l'effet sur le dessin.
- Retrouvez les bases avec le chapitre Scratch 5ème : déplacements, boucle « répéter n fois » et événements.
- Revoyez les bases avec les chapitres Nombres relatifs 4ème (coordonnées négatives) et Équations 4ème (programmes de calcul).
- Appliquez ces notions avec les chapitres Théorème de Pythagore 4ème (calcul de l'hypoténuse) et Statistiques 4ème (une variable peut accumuler une somme avant de calculer une moyenne).
- Prolongez avec le chapitre Scratch 3ème, qui ajoute plusieurs variables, des conditions combinées et des scripts en parallèle.
- Poursuivez votre progression en explorant les autres chapitres de 4ème.
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.
