Ressources · 5ᵉ · Mathématiques
Pensée informatique : instructions, programmes de calcul et boucles
Rappels de 6e (séquence d’instructions, avancer, tourner, s’orienter, stylo, tableau pas à pas), déplacements sur la scène avec des coordonnées, entrées et sorties, formules écrites avec des blocs opérateurs emboîtés et calculées par un script, boucle « répéter n fois » et modification des paramètres d’un programme.
À propos de cette page
Rappels de 6e : instructions, directions et stylo
Un script s’exécute bloc par bloc, de haut en bas, à partir de « quand le drapeau vert est cliqué ». L’ordre des blocs compte.
• Direction du lutin : 90 = vers la droite, 0 = vers le haut, 180 = vers le bas, −90 = vers la gauche. « s’orienter à … » la choisit directement.
• « tourner ↻ de … degrés » tourne dans le sens des aiguilles d’une montre, « tourner ↺ de … degrés » dans l’autre sens : le lutin change de direction sans se déplacer.
• « avancer de … pas » le déplace tout droit, dans sa direction.
• « stylo en position d’écriture » : il trace en avançant ; « relever le stylo » : il avance sans tracer ; « effacer tout » efface les traits.
Ces blocs ont été vus en 6e. En 5e, on les lit plus vite et on prévoit le résultat d’un script sans l’exécuter, avec un tableau pas à pas : après chaque bloc qui change quelque chose, on note la direction du lutin, la longueur parcourue et la longueur tracée.
| après le bloc | direction | parcouru (pas) | tracé (pas) |
|---|---|---|---|
| s’orienter à 0 | haut (0) | 0 | 0 |
| avancer de 35 pas | haut (0) | 35 | 35 |
| tourner ↻ de 90 degrés | droite (90) | 35 | 35 |
| avancer de 15 pas (stylo relevé) | droite (90) | 50 | 35 |
| avancer de 25 pas | droite (90) | 75 | 60 |
Le lutin parcourt 35 + 15 + 25 = 75 pas, mais il ne trace que 35 + 25 = 60 pas : les 15 pas faits stylo relevé ne laissent pas de trait.
L’ordre des blocs compte
Le lutin est orienté à 90, stylo en position d’écriture. « avancer de 40 pas » puis « tourner ↻ de 90 degrés » : le trait part vers la droite, et le lutin regarde ensuite vers le bas.
Avec les mêmes blocs dans l’autre ordre, « tourner ↻ de 90 degrés » puis « avancer de 40 pas » : le lutin regarde d’abord vers le bas, et le trait part vers le bas.
Orienté à 0, après « tourner ↺ de 90 degrés », le lutin regarde vers la gauche : Scratch affiche alors la direction −90.
Réflexe — je lis le script de haut en bas, bloc par bloc, et je remplis un tableau pas à pas : direction, longueur parcourue, longueur tracée.
Attention — « tourner » ne déplace pas le lutin. Et la longueur parcourue n’est pas toujours la longueur tracée : je regarde à chaque « avancer » si le stylo est en position d’écriture ou relevé.
1 / 4
Se déplacer sur la scène avec des coordonnées
• « aller à x: … y: … » place le lutin directement à cette position, quelle que soit sa position avant.
• « mettre x à … » (ou « mettre y à … ») remplace seulement l’abscisse (ou l’ordonnée).
• « ajouter … à x » ajoute ce nombre à l’abscisse : le lutin se déplace vers la droite si le nombre est positif, vers la gauche s’il est négatif.
• « ajouter … à y » ajoute ce nombre à l’ordonnée : vers le haut si le nombre est positif, vers le bas s’il est négatif.
Ces quatre blocs ne dépendent pas de la direction du lutin. Si le stylo est en position d’écriture, le lutin trace en se déplaçant.
| après le bloc | x | y |
|---|---|---|
| aller à x: −60 y: 45 | −60 | 45 |
| ajouter 80 à x | 20 | 45 |
| ajouter −75 à y | 20 | −30 |
| mettre x à −100 | −100 | −30 |
« ajouter 80 à x » : −60 + 80 = 20, l’ordonnée ne change pas.
« ajouter −75 à y » : 45 + (−75) = −30, l’abscisse ne change pas.
« mettre x à −100 » : l’abscisse devient −100, sans calcul.
Revenir à un point
Pour ramener au centre le lutin placé en (35 ; −20) : « aller à x: 0 y: 0 », ou bien « ajouter −35 à x » puis « ajouter 20 à y » (on ajoute les opposés des coordonnées).
Pour aller de (−15 ; 60) à (40 ; 10) avec des blocs « ajouter » : 40 − (−15) = 55 et 10 − 60 = −50, donc « ajouter 55 à x » et « ajouter −50 à y ».
Réflexe — « ajouter » : je calcule (ancienne coordonnée) + (nombre du bloc) ; « aller à » et « mettre … à » : je recopie le nombre. Je note x et y dans un tableau pas à pas.
Attention — « ajouter −30 à y » fait descendre le lutin, il ne le fait pas aller à gauche : x est horizontal, y vertical. Et « ajouter 50 à x » n’est pas « mettre x à 50 » : depuis l’abscisse 20, le premier donne 70, le second 50.
2 / 4
Entrées, sorties et programmes de calcul par blocs
• « demander … et attendre » (entrée) pose une question et attend : le nombre tapé est rangé dans le bloc « réponse ». On peut lire « réponse » autant de fois qu’on veut dans la suite du script ; c’est une donnée saisie par l’utilisateur.
• « dire … » (sortie) affiche le contenu de la case dans une bulle.
• Les blocs opérateurs (verts) calculent : « … + … », « … - … », « … * … » pour la multiplication ×, « … / … » pour la division ÷.
• On peut placer un bloc opérateur dans la case d’un autre : le bloc le plus à l’intérieur est calculé en premier. Chaque bloc opérateur joue le rôle d’une paire de parenthèses : Scratch ne connaît pas les priorités, c’est l’emboîtement qui décide.
Dans le texte de cette page, un bloc opérateur est écrit entre parenthèses : « dire ((réponse * 4) + 7) » veut dire que le bloc « réponse * 4 » est placé dans la case de gauche du bloc « + ».
On tape 6 : « réponse » vaut 6. Le bloc intérieur donne 6 × 4 = 24, puis le bloc extérieur 24 + 7 = 31. Le lutin dit 31.
Ce script calcule la formule « nombre tapé × 4 + 7 ».
Mêmes blocs, emboîtés autrement. On tape 6 : le bloc intérieur donne 6 + 7 = 13, puis 13 × 4 = 52. Le lutin dit 52.
Ce script calcule « (nombre tapé + 7) × 4 » : l’emboîtement remplace les parenthèses.
Écrire une formule avec des blocs
Pour écrire un programme de calcul avec des blocs, on part de la dernière opération : c’est le bloc extérieur, posé dans « dire ». Les opérations faites avant vont dans ses cases.
« Choisir un nombre, lui soustraire 3, puis multiplier le résultat par 5 » : la dernière opération est × 5, donc « dire ((réponse - 3) * 5) ». Avec 10 : (10 − 3) × 5 = 35.
Périmètre d’un carré dont on tape le côté : « dire (réponse * 4) ». Aire de ce carré : « dire (réponse * réponse) » ; avec 9, le lutin dit 81.
« dire (réponse / 4) » : on tape 10, le lutin dit 2.5. Scratch écrit les nombres décimaux avec un point : 2.5 se lit 2,5.
Le résultat d’un calcul peut aussi servir de paramètre : « avancer de (réponse * 3) pas » fait avancer le lutin de 3 fois le nombre tapé.
Réflexe — pour prévoir ce que dit le lutin, je remplace « réponse » par le nombre tapé et je calcule du bloc le plus à l’intérieur vers le bloc extérieur. Pour écrire une formule, je commence par la dernière opération.
Attention — dans Scratch, × s’écrit * et ÷ s’écrit / ; l’ordre des cases compte pour - et / : « réponse - 3 » n’est pas « 3 - réponse ». Le bloc « réponse » contient le nombre tapé, pas la question posée.
3 / 4
La boucle « répéter n fois » et les paramètres
• Un bloc placé dans la boucle est exécuté n fois : la boucle contient 3 blocs et tourne 5 fois → 5 × 3 = 15 blocs exécutés.
• Un déplacement répété n fois se multiplie : « répéter 6 fois [ ajouter 10 à x ] » ajoute 6 × 10 = 60 à l’abscisse.
• Rappel de 6e : un polygone régulier à n côtés se referme quand le lutin tourne à chaque coin de 360 ÷ n degrés (un tour complet en tout). Pour un triangle équilatéral, c’est 360 ÷ 3 = 120 degrés, et non 60 degrés : 60 degrés est l’angle du triangle, pas l’angle dont tourne le lutin.
• Les nombres d’un script (nombre de répétitions, longueur d’un pas, angle, nombre ajouté) sont ses paramètres : en modifiant un paramètre, on change le résultat sans réécrire le script. Le nombre de répétitions peut être « réponse ».
| départ | 1ᵉʳ tour | 2ᵉ tour | 3ᵉ tour | 4ᵉ tour | 5ᵉ tour | |
|---|---|---|---|---|---|---|
| x | −90 | −55 | −20 | 15 | 50 | 85 |
| y | 20 | 8 | −4 | −16 | −28 | −40 |
À chaque tour : x augmente de 35 et y diminue de 12. Après 5 tours : x = −90 + 5 × 35 = 85 et y = 20 + 5 × (−12) = −40.
Une frise : un motif répété
Un tour de boucle trace un créneau : vers la droite, vers le haut, vers la droite, vers le bas, soit 4 × 20 = 80 pas de trait, et le lutin regarde de nouveau vers la droite.
4 tours : 4 × 80 = 320 pas de trait. À chaque tour, le lutin se décale de 20 + 20 = 40 pas vers la droite : 4 × 40 = 160 pas en tout.
La boucle contient 8 blocs : 4 × 8 = 32 blocs sont exécutés.
Modifier les paramètres
« répéter 12 fois [ avancer de 15 pas ; tourner ↻ de 30 degrés ] » : 12 × 30 = 360, la figure se referme ; c’est un polygone régulier à 12 côtés et 12 × 15 = 180 pas de trait.
Pour un polygone régulier à 9 côtés, on change deux paramètres : « répéter 9 fois » et « tourner ↻ de 40 degrés », car 360 ÷ 9 = 40.
Dans la frise, remplacer 4 par 7 donne 7 créneaux : 7 × 80 = 560 pas de trait. Remplacer 4 par « réponse » laisse l’utilisateur choisir le nombre de créneaux.
Réflexe — je regarde ce que fait un tour de boucle (déplacement, trait, angle), puis je multiplie par le nombre de tours. Les blocs avant et après la boucle ne sont exécutés qu’une fois.
Attention — un polygone ne se referme que si (nombre de répétitions) × (angle) = 360 : avec « répéter 6 fois » et 50 degrés, le lutin ne tourne que de 300 degrés. Et je ne confonds pas le nombre de tours avec le nombre de blocs exécutés.
4 / 4
Pour aller plus loin
Avant et après ce chapitre — lire les coordonnées d’un point dans un repère : Repérage : coordonnées d’un point dans le plan ; additionner des nombres relatifs (−60 + 80) : Relatifs : additionner et soustraire ; traduire un programme de calcul en une seule expression avec des parenthèses : Opérations : vocabulaire et priorités opératoires ; écrire une formule avec une lettre : Calcul littéral : produire et calculer une expression.
Se verra en 4e et en 3e — les tests « si … alors … sinon » et les variables que l’on crée et que l’on modifie (« mettre score à 0 », « ajouter 1 à score ») sont au programme de 4e ; la boucle « répéter jusqu’à » (qui s’arrête selon une condition) au programme de 3e. En 5e, la seule donnée variable est « réponse », que l’on lit après l’avoir demandée.
- Un script s’exécute bloc par bloc, de haut en bas : l’ordre compte. Direction : 90 droite, 0 haut, 180 bas, −90 gauche ; « tourner » ne déplace pas, stylo relevé ne trace pas.
- Sur la scène, x va de −240 à 240 et y de −180 à 180 : « aller à » et « mettre … à » fixent une position, « ajouter … à x (ou y) » ajoute un nombre à la coordonnée.
- « demander … et attendre » est une entrée (le nombre tapé va dans « réponse ») ; « dire » est une sortie.
- Dans des blocs opérateurs emboîtés, le bloc le plus à l’intérieur est calculé en premier ; × s’écrit *, ÷ s’écrit /, et 2.5 se lit 2,5.
- « répéter n fois » exécute n fois la séquence qu’elle contient : on calcule un tour, puis on multiplie. Polygone régulier à n côtés : 360 ÷ n degrés.
- Modifier un paramètre (nombre de répétitions, longueur, angle, nombre ajouté) change le résultat sans réécrire le script.
Questions fréquentes
Comment prévoir ce que fait un script Scratch sans l’exécuter ?
On le lit de haut en bas, bloc par bloc, en notant dans un tableau pas à pas la direction du lutin (90 droite, 0 haut, 180 bas, −90 gauche), la longueur parcourue et la longueur tracée. « tourner » ne déplace pas le lutin, et stylo relevé, il avance sans tracer.
Quelle est la différence entre « aller à x: y: » et « ajouter … à x » ?
« aller à x: 30 y: −20 » place le lutin directement en (30 ; −20). « ajouter 30 à x » ajoute 30 à son abscisse : depuis (−50 ; 10), il arrive en (−20 ; 10). Sur la scène, x va de −240 à 240 et y de −180 à 180.
Qu’est-ce qu’une entrée et une sortie dans un programme ?
Une entrée est une donnée fournie pendant l’exécution : « demander … et attendre » range le nombre tapé dans « réponse ». Une sortie est ce que le programme montre : « dire … » affiche un message ou un résultat, et un tracé est aussi une sortie.
Dans quel ordre Scratch calcule-t-il des blocs opérateurs emboîtés ?
Le bloc le plus à l’intérieur est calculé en premier : chaque bloc vert joue le rôle d’une paire de parenthèses. Avec 6 tapé, « (réponse * 4) + 7 » donne 31, alors que « (réponse + 7) * 4 » donne 52. Dans Scratch, × s’écrit * et ÷ s’écrit /.
À quoi sert la boucle « répéter n fois » ?
Elle exécute n fois de suite les blocs qu’elle contient : « répéter 5 fois [ ajouter 35 à x ] » ajoute 5 × 35 = 175 à l’abscisse. Pour un polygone régulier à n côtés qui se referme, le lutin tourne de 360 ÷ n degrés à chaque coin.
Moi c'est Ben, j'ai créé ce site pour aider le plus d'élèves possible, partout en France. Je peux aussi reprendre avec toi ce qui coince en cours particulier : en visio, ou à domicile si tu es à Marseille.
Prof de maths à Marseille · Cours particuliers au collège · Aide aux devoirs