Scratch 3ème corrigé : scratch : corrigé des exercices en 3ème de programmation.
Voici la correction détaillée de dix exercices de programmation avec Scratch destinés aux élèves de 3ème, dans le prolongement du travail d’algorithmique du cycle 4. Chaque script est expliqué bloc par bloc pour comprendre ce que fait réellement le lutin, et pas seulement le résultat affiché.
Les premiers exercices portent sur le tracé au stylo de spirales, le hasard avec le bloc « nombre aléatoire », les boucles « répéter » et le suivi des variables (somme 1 + 2 + … + 10 et produit 2 × 3 × … × 10). On apprend ensuite à manipuler une liste : chercher les diviseurs de 45, tester si un nombre y figure déjà. Les derniers scripts font communiquer des lutins par messages, utilisent des conditions sur une distance, le théorème de Pythagore avec une racine carrée et la création de clones.
Pour tirer profit de ce corrigé de Scratch en 3ème, faites d’abord tourner chaque programme « à la main » en notant les valeurs des variables à chaque passage dans la boucle, puis comparez avec les explications. Vous pouvez aussi reproduire les scripts dans le logiciel pour vérifier. D’autres sujets sont proposés dans les exercices de maths en troisième.
L’essentiel : Voici les solutions rédigées des exercices de maths sur « Scratch ». On le consulte après avoir cherché seul ; corrigé gratuit à télécharger en PDF.
Exercice 1 (scratch 3ème corrigé)
Associer chaque programme à la sortie correspondante.
Dans les trois programmes, le lutin part du point \((0\,;0)\), orienté vers la droite, et effectue 8 déplacements. La variable pas vaut 100 au départ.
- Programme 1 : le lutin tourne à droite (sens des aiguilles d’une montre) et pas augmente de 10 à chaque tour. Les segments mesurent 100, 110, 120, …, 170 : la spirale s’agrandit et le lutin termine à l’extérieur, en haut à gauche de la figure, au point \((-40\,;40)\).
- Programme 2 : même chose, mais le lutin tourne à gauche. La spirale s’agrandit dans l’autre sens et le lutin termine en bas à gauche, au point \((-40\,;-40)\).
- Programme 3 : le lutin tourne à droite mais pas diminue de 10 : les segments mesurent 100, 90, …, 30. La spirale se resserre et le lutin termine au centre de la figure.
Programme 1 : tracé 2.
De même, programme 2 : tracé 3.
Programme 3 : tracé 1.
Puis, programme 1 → tracé 2 ; programme 2 → tracé 3 ; programme 3 → tracé 1.
Exercice 2 :
À chaque passage dans la boucle « répéter indéfiniment », la variable a reçoit au hasard la valeur 1 ou 2.
- Si \(a=1\), le bloc bloc1 est exécuté : le lutin s’oriente à 90° (vers la droite), avance d’un nombre aléatoire de pas compris entre 1 et 20, puis attend 0,2 seconde.
- Sinon (\(a=2\)), le bloc bloc2 est exécuté : le lutin s’oriente à −90° (vers la gauche), avance d’un nombre aléatoire de pas entre 1 et 20, puis attend 0,2 seconde.
Si a = 1 alors le lutin avance d’un nombre de pas entre 1 et 20 pixels et si a = 2, le lutin recule d’un nombre de pas entre 1 et 20 pixels.
Le lutin se déplace donc sans fin, au hasard, vers la droite ou vers la gauche sur l’axe horizontal (une « marche aléatoire »).
Exercice 3 (scratch 3ème corrigé)
Que fait ce programme ?
Ce programme ajoute au nombre resultat1 : 2, 3, 4, etc., et il multiplie le nombre resultat2 par 2, 3, 4, etc.
Au départ, resultat1 = 1, resultat2 = 1 et i = 2. La boucle est répétée 9 fois, donc i prend successivement les valeurs 2, 3, …, 10.
- \(\text{resultat1}=1+2+3+\dots+10=55\)
- \(\text{resultat2}=1\times 2\times 3\times \dots\times 10=3\,628\,800\)
Le lutin dit 55 pendant 2 secondes (somme des entiers de 1 à 10), puis 3 628 800 pendant 2 secondes (produit des entiers de 1 à 10).
Exercice 4 :
On a exécuté ce programme et on a saisi le nombre 45.
Quel est le contenu de ma liste à la fin de l’exécution ?
La liste est d’abord vidée. Puis i prend les valeurs 1, 2, 3, …, 45. Pour chaque valeur, le programme teste si le reste de la division de 45 par i est nul (« 45 modulo i = 0 ») : si oui, i est un diviseur de 45 et il est ajouté à la liste.
Le contenu de maliste sera la liste des diviseurs du nombre 45.
maliste contient : 1 ; 3 ; 5 ; 9 ; 15 ; 45.
Exercice 5 (scratch 3ème corrigé)
Comment compléter ce programme afin de pouvoir ajouter le nombre saisi à la liste seulement dans le cas où le nombre n’y figure pas encore ?
Le programme parcourt tous les éléments de uneliste. La variable jaitrouve vaut 0 au départ et passe à 1 dès qu’un élément est égal au nombre saisi. À la fin de la boucle, jaitrouve vaut donc 0 seulement si le nombre n’est pas dans la liste.
Il ne faut pas ajouter de « sinon » dans la boucle (le nombre serait ajouté à chaque élément différent). Il faut ajouter, après la boucle « répéter », le bloc :
si jaitrouve = 0 alors ajouter réponse à uneliste.
Exercice 6 :
Quel code faut-il ajouter sur les deux lutins afin que le lutin Bear1 dise bonjour au chat une fois ce dernier près de lui ?
Le chat part de l’abscisse −150 et avance 20 fois de 10 pas : il se déplace vers l’ours et finit à l’abscisse \(-150+20\times 10=50\). Il faut donc tester, à chaque pas, s’il est proche de l’ours, puis prévenir l’ours par un message.
- Sur le lutin chat, dans la boucle, après « avancer de 10 » : si distance de Bear1 \(\lt\) 50 (ou « Bear1 touché ? ») alors envoyer à tous message1.
- Sur le lutin Bear1 : quand je reçois message1, dire Bonjour ! pendant 2 secondes.
Autre solution possible : comparer les abscisses des deux lutins et envoyer le message lorsque leur écart est inférieur à une valeur choisie (par exemple 10).
Exercice 7 (scratch 3ème corrigé)
On clique sur le chat.
Au bout de combien de secondes exactement le chat dira-t-il bonjour ?
- Le chat attend 1 seconde puis envoie message1.
- La fille reçoit message1 : elle dit Bonjour ! pendant 2 secondes, puis envoie message2.
- Le chat reçoit message2 : il attend 1 seconde puis dit Bonjour !
\(1+2+1=4\) s
Le chat dira bonjour au bout de 4 secondes.
Exercice 8 :
La scène comporte un lutin Ball.
Est-il possible de gagner à ce jeu ? Pourquoi ?
Pour gagner, il faut cliquer sur le ballon : le pointeur de la souris doit donc être sur le ballon, c’est-à-dire tout près de lui. Or la boucle « répéter indéfiniment » teste sans arrêt la distance entre le ballon et le pointeur.
Il est impossible de gagner à ce jeu car à chaque fois que la souris se rapproche du lutin à une distance inférieure à 50 pixels, le lutin se déplace à une abscisse comprise entre −200 et 200 pixels.
En pratique, on ne peut pas gagner : le ballon « s’enfuit » avant que l’on puisse cliquer dessus, et s’il réapparaît près du pointeur, il repart aussitôt.
Exercice 9 (scratch 3ème corrigé)
Que fait ce programme ?
On a saisi 12 puis 15. Le chat annonce NaN ! Pourquoi ?
Comment améliorer le programme ?
1. Le programme 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, le programme calcule la longueur du troisième côté.
Ce programme va calculer \(\sqrt{12^2-15^2}=\sqrt{144-225}=\sqrt{-81}\) qui n’existe pas !
2. Un nombre négatif n’a pas de racine carrée : Scratch affiche NaN (« Not a Number », « ce n’est pas un nombre »). L’hypoténuse doit être la plus grande des deux longueurs, or ici 12 \(\lt\) 15.
3. Pour améliorer le programme, on ajoute un test : si valeur1 \(\gt\) valeur2 alors dire racine de (valeur1 × valeur1 − valeur2 × valeur2), sinon dire « La première valeur doit être l’hypoténuse, la plus grande longueur ». On peut aussi soustraire toujours le plus petit carré du plus grand. Par exemple avec 15 puis 12 : \(\sqrt{15^2-12^2}=\sqrt{225-144}=\sqrt{81}=9\).
Exercice 10 :
Que se passe-t-il si on clique une seule fois sur le ballon ?
Que se passe-t-il si on clique plusieurs fois rapidement sur le ballon ?
Si on clique sur ce ballon, un autre ballon (un clone) va être créé pendant 4 secondes puis supprimé automatiquement.
Ce ballon prendra une position dont l’abscisse est comprise entre −240 et +240 pixels et dont l’ordonnée est nulle.
Un seul clic : le ballon d’origine reste au centre et un clone apparaît au hasard sur l’axe horizontal, reste 4 secondes, puis disparaît.
Plusieurs clics rapides : un clone est créé à chaque clic, chacun à une position aléatoire différente sur l’axe horizontal ; on voit donc plusieurs ballons en même temps, et chacun disparaît 4 secondes après sa propre création.
Les corrigés des exercices sur scratch en PDF en 3ème.
Après avoir consulté le corrigé de ces exercices sur scratch en 3ème, vous pouvez revenir aux exercices en troisième.
Scratch 3ème corrigé : nos conseils pour progresser
D’abord, cherche chaque exercice seul, sur une feuille de brouillon. Ensuite, compare ta démarche avec la correction, étape par étape. Ainsi, chaque erreur devient une occasion de progresser. En outre, quelques minutes par jour suffisent pour retenir l’essentiel.
Par exemple, explique la méthode à voix haute, comme à un camarade. Enfin, pour aller plus loin, l’article Scratch (langage) de Wikipédia présente la notion autrement. Également, tu peux continuer avec scratch : corrigé des exercices de programmation en 5ème.



