L'algorithmique et Scratch en 5ème apprennent à décrire une méthode sous forme d'instructions précises. Le logiciel Scratch exécute les blocs dans l'ordre, sans deviner l'intention de l'auteur : une consigne ambiguë pour un humain devient une erreur visible pour la machine.
Nous partirons d'une séquence simple, puis nous repérerons les répétitions pour les remplacer par des boucles. Les figures géométriques serviront à relier nombre de côtés, longueur et angle de rotation.
Un algorithme doit pouvoir être exécuté
Algorithme
Un algorithme est une suite finie et ordonnée d'instructions non ambiguës qui permet d'obtenir un résultat ou de résoudre une famille de problèmes.
Une recette de construction géométrique est déjà un algorithme : tracer un segment, régler le compas, tracer deux arcs, relier leurs intersections. L'ordre est essentiel, car on ne peut pas utiliser un point qui n'a pas encore été construit.
Un programme est la traduction d'un algorithme dans un langage exécutable. Scratch utilise des blocs qui limitent les erreurs de syntaxe, mais pas les erreurs de raisonnement.
Séquence, événement et état initial
| Élément | Rôle dans Scratch | Exemple |
|---|---|---|
| Événement | Déclenche le script | Quand le drapeau vert est cliqué |
| Séquence | Ordonne les actions | Avancer puis tourner |
| État initial | Fixe le départ | Aller à |
| Sortie | Produit le résultat | Dessin ou message |
Un script reproductible commence par initialiser la position, la direction, le stylo et les variables utiles. Sans initialisation, le résultat peut dépendre de l'exécution précédente et sembler aléatoire.
Erreur fréquente : cliquer deux fois sur le drapeau ne doit pas déplacer progressivement la figure. Si cela arrive, la position ou la direction initiale n'a probablement pas été fixée.
Repérer une répétition et créer une boucle

Boucle bornée
Une boucle bornée répète un bloc d'instructions un nombre connu de fois. Dans Scratch, elle s'écrit avec le bloc « répéter ... fois ».
Pour tracer un carré, le motif « avancer de pas, tourner de » apparaît quatre fois. La boucle rend le programme plus court et montre la structure géométrique.
Relier le nombre de côtés à l’angle de rotation
Après un tour complet autour d'un polygone régulier, le lutin a tourné au total de . Pour côtés, l'angle de rotation extérieur est donc .
| Polygone | Répétitions | Rotation |
|---|---|---|
| Triangle équilatéral | ||
| Carré | ||
| Hexagone régulier | ||
| Décagone régulier |
La rotation n'est pas l'angle intérieur du polygone. Pour le triangle équilatéral, l'angle intérieur vaut , mais le lutin doit tourner de pour changer de direction extérieure.
Utiliser une variable plutôt qu’un nombre figé
Variable
Une variable est une case nommée qui mémorise une valeur susceptible de changer pendant l'exécution du programme.
On peut créer une variable « côté », demander une longueur à l'utilisateur, puis utiliser cette valeur dans le bloc « avancer de côté pas ». Le même programme trace alors des carrés de tailles différentes.
Une autre variable « n » peut contrôler le nombre de côtés. Le script répète fois et tourne de degrés. Il décrit ainsi une famille de polygones plutôt qu'une seule figure.
Entrées, calculs et sorties
Un algorithme complet peut demander une valeur, effectuer un calcul, puis afficher le résultat. Pour calculer le périmètre d'un carré :
- Demander la longueur du côté.
- Mettre la réponse dans la variable « côté ».
- Mettre dans la variable « périmètre ».
- Dire la valeur du périmètre avec son unité.
La formule vient des périmètres et aires en 6ème. Scratch ne choisit pas la formule ; il exécute celle que le programmeur a traduite.
Boucles imbriquées pour créer un motif
Une boucle peut contenir une autre boucle. La boucle intérieure trace un carré ; la boucle extérieure répète ce carré après une rotation de . Répéter fois produit une rosace complète, car .
Pour lire ce programme, on commence par la boucle la plus intérieure : elle termine un carré avant que la boucle extérieure ne tourne pour commencer le suivant. L'ordre inverse ne produit pas le même dessin.
Tester par cas simples et diagnostiquer
| Test | Ce qu'il vérifie |
|---|---|
| Le cas connu du carré | |
| La formule de rotation donne | |
| Le programme doit refuser un pseudo-polygone | |
| côté | Aucun déplacement visible, entrée à encadrer |
Un test doit avoir un résultat attendu avant l'exécution. Sinon, voir un dessin ne permet pas de savoir s'il est correct. Lorsqu'une erreur apparaît, on réduit le programme, observe les variables et vérifie une boucle à la fois.
Astuce : faire exécuter mentalement les trois premières instructions et noter position, direction et valeur des variables après chacune.
Écrire un pseudo-code avant les blocs
Le pseudo-code décrit l'idée indépendamment du logiciel :
- Demander , le nombre de côtés.
- Demander , la longueur d'un côté.
- Si , afficher un message d'erreur.
- Sinon, répéter fois : avancer de , tourner de .
Cette rédaction rend les conditions et les calculs visibles avant le choix des blocs. Elle évite de construire un script par essais successifs sans plan.
Les bases de séquences et répétitions sont reprises du cours d'algorithmique et Scratch en 6ème, puis enrichies ici par variables et boucles imbriquées.
Lisibilité et efficacité d’un programme
Deux scripts peuvent produire le même dessin, mais celui qui nomme les variables, initialise l'état et factorise les répétitions sera plus facile à relire et à corriger. La qualité d'un algorithme se mesure aussi à sa clarté.
Il faut toutefois éviter de compacter au point de masquer le sens. Une boucle doit correspondre à un motif réel, et une variable à une grandeur identifiable. Les commentaires courts peuvent préciser une étape non évidente.
Projet guidé : escalier de carrés de taille variable
Le projet doit tracer cinq carrés de côtés pas, alignés. On initialise la variable « côté » à , puis une boucle extérieure se répète cinq fois.
À chaque tour, une boucle intérieure répète quatre fois « avancer de côté pas, tourner de ». Une fois le carré fermé, le lutin relève le stylo, avance de « côté + 10 », repose le stylo, puis ajoute à la variable côté.
L'ordre des deux dernières actions est important. Si la variable augmente avant le déplacement, l'espace entre les carrés utilise la nouvelle taille ; si elle augmente après, il utilise l'ancienne. Le cahier des charges doit préciser le comportement voulu.
Table de trace pour comprendre une boucle
| Tour | côté avant le carré | rotation totale | côté après ajout |
|---|---|---|---|
Une table de trace note l'état des variables à des moments choisis. Elle révèle une augmentation oubliée ou exécutée deux fois, sans avoir à interpréter tout le dessin final.
La valeur après le cinquième tour n'est pas utilisée pour tracer un sixième carré ; elle est néanmoins l'état final de la variable. Distinguer valeur utilisée et valeur finale aide à lire les boucles.
Algorithmique et Scratch 5ème : l’essentiel à retenir
L'algorithmique et Scratch en 5ème développent une méthode : définir l'entrée, ordonner les instructions, remplacer les répétitions par des boucles, mémoriser les valeurs utiles et tester avec un résultat attendu. La géométrie donne un terrain concret pour vérifier chaque bloc.
Le programme officiel de mathématiques du cycle 4 place cette pensée algorithmique au même niveau que le calcul et le raisonnement : le programme doit être correct, mais aussi compréhensible.