Ces exercices corrigés d’algorithmique et Scratch en 5ème apprennent à suivre une séquence, prévoir une sortie, modifier un paramètre, utiliser une variable et comprendre une boucle « répéter ». Chaque script est transcrit en texte afin de rester lisible sans capture d’écran. Le cours d’algorithmique et Scratch en 5ème fournit le vocabulaire et les méthodes nécessaires.
La progression alterne calcul, déplacement, dessin et débogage : on ne se contente pas de donner une valeur finale, on identifie l’état du programme après chaque bloc. Cette série complète le parcours de mathématiques de 5ème et réemploie les tableaux et formules du chapitre sur les fonctions en 5ème.
Lire une séquence et suivre l’état d’une variable
Les premiers exercices demandent de respecter l’ordre des blocs. Une valeur modifiée devient la valeur de départ du bloc suivant.
Exercice 1 : Prévoir la sortie d’un programme
Le programme demande un nombre, ajoute , puis affiche le résultat. L’utilisateur saisit .
- Quelle valeur est mémorisée juste après la saisie ?
- Quel message numérique le programme affiche-t-il ?
Indication
Écrivez les valeurs successives dans une petite colonne : entrée, puis résultat après l’addition.
Voir le corrigé
Après la saisie, la variable contient . Le bloc suivant calcule . Le programme affiche donc 19. L’ordre est essentiel : l’addition utilise la valeur effectivement saisie.
Exercice 2 : Suivre deux modifications successives
La variable score est mise à . Le script ajoute à score, puis multiplie score par .
- Donner la valeur après le bloc « ajouter ».
- Calculer la valeur finale.
- Expliquer pourquoi ne traduit pas ce script.
Indication
Les blocs agissent l’un après l’autre. Des parenthèses peuvent rendre cette chronologie visible dans une expression unique.
Voir le corrigé
- Après l’ajout, le score vaut .
- Le second bloc part de , donc le score final est .
- L’expression correcte est . Sans parenthèses, , car la multiplication serait prioritaire.
Exercice 3 : Associer trois entrées à leurs sorties
Un script calcule le double du nombre saisi, puis retranche . On note l’entrée et la sortie.
- Calculer pour .
- Calculer pour .
- Calculer pour .
- Écrire une formule donnant en fonction de .
Indication
« Doubler » signifie multiplier l’entrée par , avant d’enlever .
Voir le corrigé
La règle est . Ainsi, pour , ; pour , ; pour , . La formule résume tous les essais sans modifier le programme.
Exercice 4 : Retrouver l’entrée
Le programme ajoute au nombre choisi et affiche .
- Quel nombre a été choisi au départ ? Justifier en remontant le programme.
Indication
Pour remonter une addition, effectuez l’opération inverse sur la sortie.
Voir le corrigé
Le nombre initial vaut . Vérification : si le programme reçoit , il calcule , ce qui correspond bien à la sortie annoncée.
Comprendre les boucles à nombre fixé
Une boucle exécute plusieurs fois la totalité de son contenu. Il faut distinguer le nombre de tours, l’effet d’un tour et l’effet cumulé.
Exercice 5 : Compter les blocs réellement exécutés
Une boucle « répéter fois » contient successivement : avancer de pas ; jouer un son ; tourner de .
- Combien de fois le lutin avance-t-il ?
- Quelle distance totale parcourt-il ?
- Combien de sons sont joués ?
- Quelle rotation totale est effectuée ?
- Le lutin retrouve-t-il son orientation initiale ?
Indication
Chaque bloc intérieur est exécuté six fois. Une orientation est retrouvée après un multiple entier de .
Voir le corrigé
- Le lutin avance fois.
- La distance vaut pas.
- Le son est joué fois.
- La rotation totale vaut .
- n’est pas un tour complet ; l’orientation finale diffère donc de l’orientation initiale.
Exercice 6 : Comparer une boucle et une longue séquence
Le script A répète cinq fois « avancer de pas ». Le script B contient cinq blocs identiques « avancer de pas » écrits l’un après l’autre.
- Les deux scripts produisent-ils le même déplacement ?
- Donner un avantage concret du script A.
Indication
Comparez d’abord l’effet obtenu, puis la facilité avec laquelle on peut modifier le programme.
Voir le corrigé
Chaque script exécute cinq avancées de pas, soit pas : le déplacement est identique. Le script A est plus court et plus facile à modifier ; pour obtenir huit avancées, il suffit de remplacer par .
Exercice 7 : Faire évoluer une variable dans une boucle
On met la variable à , puis on répète quatre fois le bloc « ajouter à ».
- Recopier les quatre valeurs prises par après chaque tour.
- Donner la valeur finale sans détailler les tours, à l’aide d’un seul calcul.
- Combien de tours faudrait-il pour atteindre ?
Indication
Après tours, l’ajout total est . Pour la dernière question, résolvez .
Voir le corrigé
Les valeurs sont successivement , , et . En un calcul, . Pour atteindre , il faut ajouter , soit tours. La vérification confirme le résultat.
Programmer des déplacements et des figures
Les rotations de Scratch sont des angles extérieurs. Pour fermer une figure régulière, la somme des rotations vaut un tour complet.
Exercice 8 : Décrire un trajet dans le plan
Le lutin est au point , orienté vers la droite. Il avance de pas, tourne à gauche de , puis avance de pas.
- Donner ses coordonnées finales en prenant un pas pour une unité.
- Décrire la forme du trajet et l’angle formé par les deux segments.
- Indiquer les coordonnées obtenues si le second déplacement vaut pas.
- Le trajet revient-il au point de départ ? Justifier.
Indication
Vers la droite, seule l’abscisse augmente ; après un quart de tour à gauche, le lutin monte.
Voir le corrigé
Après le premier déplacement, le lutin est en , puis en . Le trajet est une ligne brisée formant un angle droit. Avec un second déplacement de pas, le point final serait . Dans les deux cas, il ne revient pas à l’origine : aucun déplacement ne compense les pas vers la droite.
Exercice 9 : Compléter le script d’un carré
On veut tracer un carré de côté pas avec une boucle contenant « avancer de pas ; tourner à droite de … degrés ».
- Donner le nombre de répétitions.
- Donner l’angle manquant.
Indication
Un carré a quatre côtés et chaque changement de direction correspond à un quart de tour.
Voir le corrigé
Il faut répéter la séquence fois. L’angle de rotation est . La boucle complète est donc : répéter fois, avancer de , tourner de .
Exercice 10 : Construire un hexagone régulier
Une élève propose : « répéter fois : avancer de pas ; tourner de ».
- Expliquer pourquoi il y a six côtés.
- Vérifier que les rotations produisent un tour complet.
- Calculer le périmètre de la figure en pas.
- Prévoir l’effet d’une rotation de à la place de .
- Donner la seule valeur de rotation qui ferme un hexagone régulier avec six répétitions.
Indication
Multipliez le nombre de répétitions par l’angle de rotation. Une figure régulière fermée exige .
Voir le corrigé
- Chaque tour dessine un segment, donc six tours donnent six côtés.
- : l’orientation initiale est retrouvée.
- Le périmètre vaut pas.
- Avec , la rotation totale serait ; le tracé ne se refermerait pas comme un hexagone régulier.
- L’angle recherché est nécessairement .
Exercice 11 : Modifier une figure sans réécrire le programme
Un script trace un triangle équilatéral en répétant trois fois « avancer de pas ; tourner de ». On remplace par .
- Quelles propriétés du dessin changent et lesquelles restent identiques ?
Indication
Le paramètre règle les longueurs, tandis que le nombre de tours et la rotation règlent la nature de la figure.
Voir le corrigé
Le triangle reste équilatéral : les trois côtés sont toujours produits par la même instruction et les rotations restent égales à . Seule sa taille change. Son côté passe de à pas et son périmètre passe de à pas.
Déboguer, comparer et concevoir un algorithme
Déboguer consiste à localiser le premier bloc qui rend le résultat différent de l’objectif, puis à tester une correction précise.
Exercice 12 : Réparer un rectangle incomplet
Pour tracer un rectangle de longueur et de largeur , un script répète deux fois : avancer de ; tourner de ; avancer de .
- Expliquer pourquoi le tracé ne revient pas dans la direction attendue.
- Ajouter le bloc manquant dans la boucle.
- Vérifier la rotation totale du script corrigé.
Indication
Un rectangle exige une rotation après chacun de ses quatre côtés, y compris après le côté de largeur.
Voir le corrigé
La boucle oublie de tourner après l’avancée de . Il faut ajouter « tourner de » à la fin du contenu répété. Une répétition contient alors deux rotations ; deux répétitions en produisent quatre, soit . Le lutin retrouve sa position et son orientation initiales.
Exercice 13 : Choisir entre deux programmes de calcul
Programme A : choisir , ajouter , puis doubler. Programme B : choisir , doubler, puis ajouter .
- Calculer les sorties des deux programmes pour .
- Écrire une expression pour chaque programme.
- Comparer les sorties pour .
- Les deux programmes semblent-ils toujours équivalents ?
Indication
Traduisez A avec des parenthèses, puis utilisez la distributivité seulement pour comparer les expressions.
Voir le corrigé
Pour , A donne et B donne . Les expressions sont et . Pour , elles donnent toutes deux . Or par distributivité : les programmes sont équivalents pour toute entrée.
Exercice 14 : Concevoir une rosace de carrés
On possède un bloc personnel carré qui trace un carré puis revient exactement au point et à l’orientation de départ. On veut répartir carrés autour de ce point.
- Calculer la rotation à effectuer entre deux carrés.
- Écrire en français la boucle extérieure complète.
Indication
Les douze orientations doivent partager un tour de en parts égales.
Voir le corrigé
La rotation entre deux carrés vaut . L’algorithme est : « répéter fois : exécuter le bloc carré ; tourner de ». Le retour assuré par le bloc personnel permet à chaque nouveau carré de partir du même point.