Scratch en 3ème : corrigé détaillé des exercices de programmation 1 à 8
Ce corrigé exercices Scratch 3ème reprend les huit programmes de la fiche, dans l’esprit de l’épreuve d’algorithmique du brevet. On y lit et on exécute « à la main » des scripts qui utilisent les notions du programme : boucles « répéter », variables, tests « si… alors », listes, clones, messages échangés entre lutins et tracés au stylo. Plusieurs questions demandent de compléter un programme ou d’en corriger un défaut, comme ce chat qui annonce « NaN » parce qu’on lui fait calculer la racine carrée d’un nombre négatif.
Pour chaque solution, on suit l’exécution bloc par bloc, en notant l’état des variables, avant de conclure ; les tracés de l’exercice 2 sont redessinés par simulation. Le meilleur usage de cette correction : prévoir d’abord le résultat sur papier, puis vérifier dans Scratch en recopiant le programme, et enfin comparer avec l’explication pour comprendre d’où venait un éventuel écart.
Les énoncés se trouvent sur la fiche Scratch : exercices de programmation corrigés en 3ème en PDF. (8 exercices au total). Cherchez d’abord chaque exercice au brouillon, puis comparez avec la correction.
Corrigé des exercices 1 à 8 sur la programmation avec Scratch en 3ème
Exercice 1 : Exercices sur Scratch
Revoir l’énoncé de l’exercice 1

Un seul clic. Le script « quand ce lutin est cliqué » crée un clone du ballon. Le clone exécute aussitôt le script « quand je commence comme un clone » : il se place à une abscisse au hasard entre −240 et 240, à l’ordonnée 0 (sur la même ligne horizontale que le ballon d’origine), attend 4 secondes, puis il est supprimé. On voit donc apparaître un second ballon à un endroit imprévisible de la ligne, qui disparaît 4 secondes plus tard.
Plusieurs clics rapides. Chaque clic crée un nouveau clone : plusieurs ballons apparaissent à des positions aléatoires, et chacun disparaît 4 secondes après sa création (ils s’effacent donc les uns après les autres, dans l’ordre des clics). Si l’on clique sur un clone, il réagit aussi (les clones héritent des scripts du lutin) et crée à son tour un clone.
Exercice 2 : Associer le bon programme
Revoir l’énoncé de l’exercice 2

Les trois programmes partent de \( (0\,;\,0) \), vers la droite, avec un pas de 100, et répètent 8 fois « avancer, tourner de 90°, modifier le pas ». Deux différences les distinguent :
- le sens de rotation : ↻ (sens des aiguilles d’une montre) pour les programmes 1 et 3, ↺ (sens inverse) pour le programme 2 ;
- l’évolution du pas : +10 (spirale qui s’agrandit, le lutin finit à l’extérieur) pour 1 et 2, −10 (spirale qui se resserre, le lutin finit au centre) pour 3.
Le programme 3 est donc la seule sortie où le ballon finit au centre : sortie 1. Pour le programme 1, le lutin va à droite, puis en bas, à gauche, en haut… son dernier déplacement (170 pas vers le haut) l’amène en haut à gauche : sortie 2. Pour le programme 2, il va à droite, puis en haut, à gauche, en bas… il finit en bas à gauche : sortie 3.
Exercice 3 : Détailler une liste
Revoir l’énoncé de l’exercice 3

Le programme vide la liste, demande un nombre (ici réponse = 45), puis fait prendre à \( i \) toutes les valeurs de 1 à 45. À chaque tour, si le reste de la division de 45 par \( i \) est nul (45 modulo i = 0), c’est-à-dire si \( i \) divise 45, il ajoute \( i \) à la liste.
Les diviseurs de 45 sont : \( 45 = 1 \times 45 = 3 \times 15 = 5 \times 9 \).
Exercice 4 : Compléter un programme avec scratch
Revoir l’énoncé de l’exercice 4

La boucle parcourt la liste : si un élément est égal à la réponse, la variable jaitrouve passe à 1. À la sortie de la boucle, jaitrouve vaut 0 si et seulement si le nombre n’est pas dans la liste. Il suffit donc d’ajouter, après la boucle « répéter » (et non à l’intérieur) :
- si jaitrouve = 0 alors
- ajouter réponse à uneliste
Placé dans la boucle, ce test ajouterait le nombre trop tôt, avant d’avoir parcouru toute la liste.
Exercice 5 : Ajouter un code
Revoir l’énoncé de l’exercice 5

Le chat part de \( x = -150 \) et avance \( 20 \times 10 = 200 \) pas : il s’arrête en \( x = 50 \), près de l’ours. Il faut que l’ours sache quand le chat est arrivé. Solution avec un message :
- sur le lutin chat, à la fin du script (après la boucle) : « envoyer à tous [je suis là] » ;
- sur le lutin Bear1 : « quand je reçois [je suis là] » puis « dire [Bonjour !] pendant 2 secondes ».
Autre solution possible, sans message : sur Bear1, « quand drapeau vert pressé », « attendre jusqu’à ce que touche Chat ? », puis « dire Bonjour ! ». Elle ne fonctionne que si le chat touche vraiment l’ours à la fin de son déplacement.
Exercice 6 : Analyse d'un algorithme avec scratch
Revoir l’énoncé de l’exercice 6

On suit le temps écoulé depuis le clic sur le chat :
- de 0 s à 1 s : le chat attend 1 seconde, puis envoie message1 ;
- de 1 s à 3 s : la fille reçoit message1 et dit « Bonjour ! » pendant 2 secondes, puis envoie message2 ;
- de 3 s à 4 s : le chat reçoit message2 et attend 1 seconde ;
- à 4 s : le chat dit « Bonjour ! » (pendant 1 seconde).
\[ 1 + 2 + 1 = 4 \text{ s} \]
Exercice 7 : Gagner un jeu
Revoir l’énoncé de l’exercice 7

Pour gagner, il faut cliquer sur le lutin Ball. Mais la boucle « répéter indéfiniment » teste en permanence la distance entre la balle et le pointeur de la souris : dès que le pointeur arrive à moins de 50 pas, la balle saute à une abscisse aléatoire entre −200 et 200.
Or, pour cliquer sur la balle, le pointeur doit être posé sur elle, donc à une distance inférieure à 50 de son centre (la balle est petite). La balle se déplace avant qu’on ait le temps de cliquer : la boucle s’exécute des dizaines de fois par seconde. Même si elle réapparaît par hasard sous le pointeur, elle repart immédiatement.
Exercice 8 : Que fait ce programme ?
Revoir l’énoncé de l’exercice 8

Ce que fait le programme. Il demande deux valeurs puis affiche \( \sqrt{\text{valeur1}^2 – \text{valeur2}^2} \). D’après le théorème de Pythagore, si valeur1 est la longueur de l’hypoténuse d’un triangle rectangle et valeur2 celle d’un côté de l’angle droit, il calcule la longueur du troisième côté (d’où le triangle dessiné à côté du chat).
Pourquoi « NaN » ? Avec 12 puis 15 :
\[ 12^2 – 15^2 = 144 – 225 = -81 \]
Un nombre négatif n’a pas de racine carrée : Scratch répond « NaN » (Not a Number, « pas un nombre »). L’erreur vient de l’ordre de saisie : l’hypoténuse (15) doit être la plus grande valeur.
Amélioration. On teste les valeurs avant de calculer :
- si valeur1 \( \gt \) valeur2 alors dire racine de (valeur1 × valeur1 − valeur2 × valeur2)
- sinon dire racine de (valeur2 × valeur2 − valeur1 × valeur1)
Avec 12 et 15, on obtient \( \sqrt{225 – 144} = \sqrt{81} = 9 \). On peut aussi préciser dans la question : « Donne-moi la longueur de l’hypoténuse ».
La méthode à retenir sur la programmation avec Scratch
- Pour comprendre un script, on l’exécute à la main en notant les valeurs des variables à chaque tour de boucle.
- « répéter n fois » fait exactement n tours ; « répéter indéfiniment » ne s’arrête jamais et teste ses conditions en permanence.
- a modulo b = 0 signifie que b divise a.
- Pour coordonner deux lutins, on utilise « envoyer à tous » et « quand je reçois » ; les durées des blocs « attendre » et « dire… pendant » s’additionnent.
- Pour les tracés, on repère le sens de rotation (↻ ou ↺) et l’évolution de la longueur du pas.
- Un test « si… alors… sinon » évite les calculs impossibles (racine d’un négatif, division par zéro).
Les erreurs fréquentes
- Placer un test à l’intérieur d’une boucle alors qu’il doit être fait une seule fois, après la boucle.
- Confondre les deux sens de rotation ↻ et ↺ dans la lecture d’un tracé.
- Oublier que les clones héritent des scripts du lutin d’origine.
- Additionner seulement les « attendre » et oublier la durée d’un « dire… pendant… secondes ».
- Oublier que la racine carrée d’un nombre négatif n’existe pas.
Questions fréquentes
Scratch est-il vraiment évalué au brevet ?
Oui : l’épreuve de mathématiques comporte presque toujours un exercice d’algorithmique avec des scripts Scratch à lire, compléter ou corriger. Les questions portent sur les boucles, les variables, les tests et les déplacements du lutin, exactement comme dans cette fiche.
Que signifie NaN dans Scratch ?
NaN veut dire Not a Number : le calcul demandé n’a pas de résultat numérique, par exemple la racine carrée d’un nombre négatif. C’est un signal qu’il faut vérifier les valeurs saisies ou ajouter un test dans le programme.
Comment s’entraîner efficacement sur Scratch ?
Recopier le script dans Scratch (gratuit en ligne) et vérifier sa prédiction est le meilleur entraînement. On peut ensuite modifier une valeur (le pas, l’angle, le nombre de répétitions) et prévoir l’effet avant de relancer le programme.
- Les énoncés : Scratch : exercices de programmation corrigés en 3ème en PDF.
- Tous les exercices de maths en 3ème
- Les cours de maths en 3ème
- Se tester avec les QCM de maths en 3ème
- Autre corrigé : Probabilités en 3ème : corrigé détaillé des exercices 1 à 10
- Autre corrigé : Sections de solides et volumes en 3ème : corrigé des exercices 1 à 10
- Autre corrigé : Coordonnées géographiques en 3ème : corrigé détaillé des exercices 1 à 10
- Autre corrigé : Arithmétique en 3ème : corrigé détaillé des exercices 1 à 10
Télécharger ou imprimer cette fiche «scratch en 3ème : corrigé détaillé des exercices de programmation 1 à 8» au format PDF afin de pouvoir travailler en totale autonomie.


