Cours — Algorithmique / Scratch (3e)
- Un algorithme se lit ligne par ligne.
- Une variable peut changer : il faut suivre sa valeur.
- Une boucle répète un bloc d’instructions.
- Une condition est soit vraie, soit fausse.
- Un tableau de traces évite presque toutes les erreurs.
- Confondre mettre à et ajouter à.
- Oublier d’initialiser \(c\), \(S\), \(n\), ou \(score\).
- Utiliser \(>\) au lieu de \(\ge\).
- Oublier la mise à jour dans une boucle “tant que”.
- Se tromper d’angle dans les figures Scratch.
| Compétence | Ce qu’on te demande souvent |
|---|---|
| Lire un programme | Prévoir le résultat affiché après plusieurs instructions. |
| Compléter un script | Retrouver un nombre de répétitions, une longueur, un angle ou une expression. |
| Tracer une figure Scratch | Comprendre les rotations \(90^\circ\), \(120^\circ\), \(72^\circ\), \(60^\circ\). |
| Déboguer | Repérer une erreur dans une variable, une condition ou une boucle. |
- Repérer les variables.
- Identifier les valeurs initiales.
- Suivre les instructions dans l’ordre exact.
- Faire un tableau de traces s’il y a une boucle.
- Lire la dernière valeur affichée.
Suite finie d’instructions permettant de résoudre un problème.
Traduction visuelle d’un algorithme avec des blocs : événements, mouvements, variables, conditions, boucles.
Une variable est une boîte qui stocke une valeur. Cette valeur peut être remplacée ou modifiée.
Action précise : avancer, tourner, mettre une variable à une valeur, afficher, tester.
| Étape | Rôle | Exemple |
|---|---|---|
| 1 | Lire les données | \(\text{demander }x\) |
| 2 | Initialiser | \(c\leftarrow0,\quad S\leftarrow0\) |
| 3 | Répéter | \(\text{répéter }N\text{ fois}\) |
| 4 | Tester | \(\text{si }x\ge10\text{ alors}\) |
| 5 | Mettre à jour | \(c\leftarrow c+1\) |
| 6 | Afficher | \(\text{afficher }c\) |
À la fin, \(x=12\). L’ancienne valeur 5 est remplacée.
Cela augmente \(x\) de 1. Ce n’est pas la même chose que \(x\leftarrow1\).
Il sert à compter des occurrences : réponses justes, valeurs positives, réussites.
Il sert à calculer une somme, un score total ou une moyenne.
Un tableau de traces suit les valeurs des variables à chaque étape. Il est indispensable quand il y a une boucle.
| Tour | \(a\) | \(b\) |
|---|---|---|
| 0 | 4 | 2 |
| 1 | 6 | 3 |
| 2 | 9 | 4 |
| 3 | 13 | 5 |
✅ Pourquoi \(a=13\) à la fin ?
- Départ : \(a=4\), \(b=2\).
- Tour 1 : \(a=4+2=6\), puis \(b=3\).
- Tour 2 : \(a=6+3=9\), puis \(b=4\).
- Tour 3 : \(a=9+4=13\), puis \(b=5\).
- \(=\) : égal à
- \(\ne\) : différent de
- \(<\), \(\le\), \(>\), \(\ge\)
- ET : les deux conditions sont vraies.
- OU : au moins une condition est vraie.
| Valeur de \(x\) | Condition vraie ? |
|---|---|
| 12 | Oui, car \(x=12\). |
| 7 | Oui, car \(0\le7\le10\). |
| -2 | Non. |
On connaît le nombre de répétitions.
À la fin : \(S=15\).
La boucle continue tant qu’une condition reste vraie.
🧩 Exemple guidé — boucle “tant que”
| Tour | Test au début | \(x\) | \(n\) |
|---|---|---|---|
| 0 | \(3\le80\) vrai | 3 | 0 |
| 1 | \(11\le80\) vrai | 11 | 1 |
| 2 | \(27\le80\) vrai | 27 | 2 |
| 3 | \(59\le80\) vrai | 59 | 3 |
| 4 | \(123\le80\) faux | 123 | 4 |
La boucle s’arrête avec \(x=123\) et \(n=4\).
Pour tracer un polygone régulier, on répète : avancer puis tourner.
| Figure | Rotation |
|---|---|
| Triangle équilatéral | \(120^\circ\) |
| Carré | \(90^\circ\) |
| Pentagone régulier | \(72^\circ\) |
| Hexagone régulier | \(60^\circ\) |
La rotation \(120^\circ\) vient de \(\frac{360^\circ}{3}=120^\circ\).
- La position d’un lutin est donnée par \((x;y)\).
- \(x\) augmente vers la droite et diminue vers la gauche.
- \(y\) augmente vers le haut et diminue vers le bas.
- Partir de \((-180;-150)\) signifie : à gauche et en bas de la scène.
Exemple : choisir \(x\), ajouter 2, puis multiplier par 4.
✅ Exemple complet — développement
Le bloc Scratch “nombre aléatoire entre 1 et 6” permet de simuler un dé équilibré.
Une fréquence est :
- Oubli d’initialisation.
- Test incorrect : \(>\) au lieu de \(\ge\).
- Mise à jour oubliée dans une boucle.
- Confusion entre “mettre à” et “ajouter à”.
- Tester avec des valeurs simples.
- Faire un tableau de traces.
- Comparer résultat attendu / résultat obtenu.
- Modifier une seule instruction à la fois.
🧩 Exemple classique — compteur faux
On veut compter le nombre de valeurs positives parmi 5 valeurs saisies.
Bug : \(c\leftarrow1\) ne compte pas. Il faut écrire :
- Séquence : instructions dans l’ordre.
- Condition : si / sinon.
- Boucle : répéter plusieurs fois.
- Trace : tableau des variables.
- Triangle équilatéral : \(120^\circ\).
- Carré : \(90^\circ\).
- Pentagone : \(72^\circ\).
- Hexagone : \(60^\circ\).
- Compteur : \(c\leftarrow c+1\).
- Accumulateur : \(S\leftarrow S+x\).
- Affectation : \(x\leftarrow 5\).
- Vérifier initialisation.
- Vérifier condition.
- Vérifier mise à jour.
- Tester avec un exemple simple.