5ème Algorithmique Scratchalgorithmeboucleformuleentrée et sortieprogrammation

Algorithmique et programmation Scratch

Algorithmique en 5ème avec Scratch : séquencer des instructions, entrées et sorties d'un programme, boucle « répéter … fois », traduire une formule en expression informatique, prévoir le résultat d'un script, modifier ses paramètres et construire des figures géométriques.

Faire le quiz →

Définitions

Définition 1 — algorithme. Un algorithme est une suite d’instructions précises et ordonnées qui permet d’obtenir un résultat. Aucune instruction ne doit laisser place à l’interprétation : « tourne un peu » n’est pas une instruction, « tourne de 90∘90^\circ » en est une. On peut l’écrire en français — c’est l’algorithmique « débranchée » — avant de le traduire en blocs Scratch. Exemple : « Pour tracer un carré : avance de 100 pas, tourne d’un quart de tour vers la droite, et recommence quatre fois. »

Définition 2 — script. Un script Scratch est un assemblage de blocs que le lutin exécute de haut en bas, bloc après bloc. Exemple : le script « avancer de 100 ; tourner de 90∘90^\circ » fait d’abord avancer le lutin, puis le fait pivoter.

Définition 3 — boucle « répéter … fois ». La boucle « répéter nn fois » exécute nn fois tout ce qu’elle contient ; les instructions placées à l’intérieur sont décalées vers la droite. Elle évite de recopier plusieurs fois la même séquence. Exemple : tracer un carré sans boucle demande huit blocs (« avancer ; tourner » écrit quatre fois) ; avec une boucle, deux lignes suffisent :

répéter 4 fois
    avancer de 100
    tourner de 90 degrés

Définition 4 — entrée et sortie d’un programme. Un programme reçoit des entrées et produit des sorties. L’entrée est la donnée fournie au programme : le bloc « demander … et attendre » range ce que tape l’utilisateur dans réponse. La sortie est ce que le programme produit : un tracé, ou un nombre affiché avec le bloc « dire ». Exemple : l’utilisateur tape la longueur du côté (entrée), le lutin trace le carré (sortie).

Définition 5 — expression informatique. Les blocs opérateurs (+, -, * pour ×\times, / pour ÷\div) permettent de traduire une formule en expression informatique. Un bloc emboîté dans un autre joue le rôle des parenthèses. Exemple : l’aire du rectangle A=L×ℓ\mathcal{A} = L \times \ell se traduit par (L) * (l).

Définition 6 — événement. Un script ne démarre pas tout seul : il commence lorsqu’un événement se produit. Le bloc d’événement se place toujours en haut du script : « quand le drapeau vert est cliqué » (au lancement du programme), « quand la touche espace est pressée », « quand ce lutin est cliqué ». Exemple : deux lutins peuvent avoir chacun leur script ; ils s’exécutent en parallèle.

Propriétés

Propriété 1 — ordre d’exécution. Les instructions d’un script s’exécutent de haut en bas, dans l’ordre où elles sont assemblées : inverser deux blocs change le résultat. L’ordre fait partie de l’algorithme. Exemple : « avancer de 100 ; tourner de 90∘90^\circ » et « tourner de 90∘90^\circ ; avancer de 100 » contiennent les mêmes blocs, mais les tracés ne sont pas orientés de la même façon.

Propriété 2 — effet d’une boucle. « Répéter nn fois » exécute nn fois les instructions qu’elle contient : chaque passage dans la boucle trace un côté. « Répéter 4 fois (avancer ; tourner) » exécute 88 instructions au total, mais ne trace que 44 segments. Exemple : « répéter 3 fois (avancer de 50) », sans rotation, trace un seul trait de 150150 pixels : c’est la combinaison « avancer + tourner » qui dessine une figure.

Propriété 3 — angle de rotation d’un polygone régulier. Pour tracer un polygone régulier à nn côtés, le lutin tourne à chaque sommet de 360∘n\frac{360^\circ}{n} Pourquoi 360 ? En parcourant tout le contour, le lutin effectue exactement un tour complet ; cette rotation totale de 360∘360^\circ se répartit également entre les sommets. La figure se ferme uniquement si les rotations cumulées font 360∘360^\circ. Exemple : pour l’hexagone, 360÷6=60∘360 \div 6 = 60^\circ.

Propriété 4 — la variable « réponse ». Le bloc « demander … et attendre » range la valeur tapée par l’utilisateur dans réponse. On lit ensuite cette valeur à la place d’un nombre, par exemple dans « avancer de (réponse) » : c’est le seul usage d’une variable en 5ᵉ. Exemple : si l’utilisateur tape 70, « avancer de (réponse) » avance de 70 pas.

Propriété 5 — emboîtement et parenthèses. L’emboîtement des blocs opérateurs respecte l’ordre des étapes du calcul, exactement comme les parenthèses dans une expression.

FormuleExpression informatique
A=L×ℓ\mathcal{A} = L \times \ell(L) * (l)
P=2×(L+ℓ)P = 2 \times (L + \ell)2 * ((L) + (l))
(n+3)×9−5(n + 3) \times 9 - 5(((n) + 3) * 9) - 5

Exemple : « dire ((réponse × 2) + 3) » et « dire ((réponse + 3) × 2) » ne donnent pas le même résultat : avec l’entrée 5, le premier affiche 1313, le second 1616.

Méthodes

Méthode 1 — tracer un polygone régulier.

  1. Compter les côtés : nn passages dans la boucle (Propriété 2).
  2. Calculer l’angle de rotation : 360÷n360 \div n (Propriété 3).
  3. Écrire : répéter nn fois (avancer de … ; tourner de 360/n360/n degrés).
FigureCôtésAngleScript
Triangle équilatéral3120∘120^\circrépéter 3 fois (avancer ; tourner de 120120)
Carré490∘90^\circrépéter 4 fois (avancer ; tourner de 9090)
Pentagone régulier572∘72^\circrépéter 5 fois (avancer ; tourner de 7272)
Hexagone régulier660∘60^\circrépéter 6 fois (avancer ; tourner de 6060)

Piège classique : pour un triangle équilatéral, le lutin tourne de 120∘120^\circ et non de 60∘60^\circ. L’angle du triangle mesure 60∘60^\circ, mais le lutin pivote de l’angle extérieur.

Méthode 2 — tracer un rectangle. Les côtés n’ayant pas tous la même longueur, la boucle ne se répète que 2 fois, avec les deux longueurs à l’intérieur :

répéter 2 fois
    avancer de 150
    tourner de 90 degrés
    avancer de 80
    tourner de 90 degrés

Exemple : chaque passage trace une longueur et une largeur ; en deux passages, le rectangle de 150×80150 \times 80 est fermé.

Méthode 3 — utiliser une donnée saisie.

  1. Placer le bloc « demander … et attendre » : la valeur tapée est rangée dans réponse (Propriété 4).
  2. Lire réponse à la place du nombre fixe.
demander "Longueur du côté ?" et attendre
répéter 4 fois
    avancer de (réponse)
    tourner de 90 degrés

Exemple : la valeur saisie remplace la longueur du côté ; le nombre de répétitions, lui, reste 4 : un carré a toujours 4 côtés.

Méthode 4 — traduire une formule en expression informatique.

  1. Repérer l’ordre des étapes du calcul.
  2. Emboîter les blocs opérateurs dans cet ordre : chaque bloc joue le rôle d’une parenthèse (Propriété 5, Définition 5).

Exemple résolu : le programme de calcul « choisir un nombre ; lui ajouter 3 ; multiplier le résultat par 9 ; enlever 5 » devient :

demander "Choisis un nombre" et attendre
dire (((réponse + 3) * 9) - 5)

Méthode 5 — prévoir le résultat d’un calcul. Avant de cliquer sur le drapeau vert, on calcule à la main ce que le script va afficher.

  1. Remplacer réponse par la valeur saisie.
  2. Effectuer le calcul en respectant l’emboîtement des blocs (Propriété 5).
  3. Exécuter, puis comparer : si le résultat affiché n’est pas celui prévu, l’expression n’est pas emboîtée comme on le croyait.

Exemple résolu : pour « dire (((réponse + 3) × 9) − 5) » et l’entrée 7 : (7+3)×9−5=90−5=85(7 + 3) \times 9 - 5 = 90 - 5 = 85. Pour « dire ((réponse × 2) + 3) » et l’entrée 5 : 5×2+3=135 \times 2 + 3 = 13.

Méthode 6 — prévoir le tracé d’un script. Savoir prédire ce que fait un script est aussi important que savoir l’écrire : on suit les blocs dans l’ordre (Propriété 1) et on compte les passages dans la boucle (Propriété 2).

ScriptCe qu’il trace
avancer 50 ; tourner 9090 ; avancer 50deux segments perpendiculaires
répéter 3 fois (avancer 50)un seul trait de 150 pixels
répéter 6 fois (avancer 40 ; tourner 6060)un hexagone régulier fermé

Le deuxième cas est instructif : sans rotation, la boucle ne crée aucune figure.

Méthode 7 — modifier les paramètres d’un programme. Dans « répéter 4 fois (avancer de 100 ; tourner de 90) », chaque nombre est un paramètre : repérer lequel commande quoi avant de le modifier.

ParamètreCe qu’il commandePour un carré de 200 pixels
100 dans « avancer »la longueur du côtéremplacer par 200
4 dans « répéter »le nombre de côtésne change pas
90 dans « tourner »l’angle à chaque sommetne change pas

Exemple : changer 4 en 6 et 90 en 60 donnerait un hexagone : les paramètres se modifient ensemble et en cohérence (Propriété 3).

Pièges classiques

  • Le nombre de répétitions n’est pas le nombre de blocs. « Répéter 4 fois (avancer ; tourner) » exécute 8 instructions au total, mais ne trace que 4 segments : pour compter les côtés d’une figure, on compte les passages dans la boucle (Propriété 2).
  • Le lutin tourne de l’angle extérieur. Pour un triangle équilatéral, il pivote de 120∘120^\circ (soit 360÷3360 \div 3), pas de 60∘60^\circ : l’angle de rotation n’est pas l’angle de la figure (Propriété 3, Méthode 1).
  • L’ordre des blocs compte. Deux scripts contenant les mêmes blocs dans un ordre différent ne produisent pas le même tracé (Propriété 1) ; de même, deux emboîtements différents des mêmes opérateurs ne donnent pas le même nombre (Propriété 5).

Quiz — Algorithmique Scratch

10 questions · correction immédiate · sans inscription

Tester →