Je réserve ici
Mathématiques 5ᵉ

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
Ce cours de 5e sur la programmation avec Scratch commence par les rappels de 6e (ordre des blocs, directions 90, 0, 180 et −90, avancer, tourner, stylo, tableau pas à pas), puis montre comment déplacer le lutin avec ses coordonnées sur la scène, écrire et calculer un programme de calcul avec des blocs opérateurs emboîtés et utiliser la boucle « répéter n fois » en modifiant ses paramètres.
1

Rappels de 6e : instructions, directions et stylo

Ce qu’il faut savoir Un algorithme est une suite finie et ordonnée d’instructions qui permet d’accomplir une tâche ; écrit dans un langage que comprend une machine, il devient un programme. Dans Scratch, chaque instruction est un bloc ; les blocs emboîtés forment un script, qui commande un personnage, le lutin, sur la scène.
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.

quand le drapeau vert est cliquéeffacer touts’orienter à 0stylo en position d’écritureavancer de 35 pastourner de 90 degrésrelever le styloavancer de 15 passtylo en position d’écritureavancer de 25 pas
Exemples
après le blocdirectionparcouru (pas)tracé (pas)
s’orienter à 0haut (0)00
avancer de 35 pashaut (0)3535
tourner ↻ de 90 degrésdroite (90)3535
avancer de 15 pas (stylo relevé)droite (90)5035
avancer de 25 pasdroite (90)7560

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.

départ35 pas15 pas(stylo relevé)25 pasarrivée

L’ordre des blocs compte

Exemples

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

2

Se déplacer sur la scène avec des coordonnées

Ce qu’il faut savoir La scène de Scratch est un repère : chaque position du lutin a une abscisse x (horizontale) et une ordonnée y (verticale), notées (x ; y). Le centre de la scène est l’origine (0 ; 0). La scène mesure 480 pas de large et 360 pas de haut : x va de −240 à 240 et y de −180 à 180.
• « 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.
quand le drapeau vert est cliquéaller à x: −60 y: 45ajouter 80 à xajouter −75 à ymettre x à −100
Exemples
après le blocxy
aller à x: −60 y: 45−6045
ajouter 80 à x2045
ajouter −75 à y20−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.

x240−240y180−180O(−60 ; 45)(20 ; 45)(20 ; −30)

Revenir à un point

Exemples

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

3

Entrées, sorties et programmes de calcul par blocs

Ce qu’il faut savoir Une entrée est une information donnée au programme pendant qu’il s’exécute ; une sortie est ce que le programme montre (un message, un dessin).
• « 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 « + ».

quand le drapeau vert est cliquédemander Choisis un nombre et attendredire réponse * 4 + 7
Exemples

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 ».

quand le drapeau vert est cliquédemander Choisis un nombre et attendredire réponse + 7 * 4
Exemples

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.

Exemples

« 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

4

La boucle « répéter n fois » et les paramètres

Ce qu’il faut savoir Le bloc « répéter n fois » est une boucle : il exécute n fois de suite, dans l’ordre, la séquence de blocs qu’il contient, puis le script continue en dessous.
• 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 ».
quand le drapeau vert est cliquéaller à x: −90 y: 20répéter 5 foisajouter 35 à xajouter −12 à y
Exemples
départ1ᵉʳ tour2ᵉ tour3ᵉ tour4ᵉ tour5ᵉ tour
x−90−55−20155085
y208−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é

quand le drapeau vert est cliqués’orienter à 90stylo en position d’écriturerépéter 4 foisavancer de 20 pastourner de 90 degrésavancer de 20 pastourner de 90 degrésavancer de 20 pastourner de 90 degrésavancer de 20 pastourner de 90 degrés
Exemples

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.

départarrivée20 pas1 tour de boucle = 1 créneau

Modifier les paramètres

Exemples

« 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.

À retenir
  • 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.

Bloqué sur ce chapitre ?

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