Aller au contenu

Programmer avec Scratch : séquences et boucles

Cinquième · Maths · Algorithmique et programmation

Algorithmique et programmation

Programmes, instructions et séquences

Programmer, c'est donner à un ordinateur une suite d'instructions précises qu'il exécute exactement dans l'ordre où on les écrit. Avec Scratch, tu assembles des blocs colorés comme des pièces de puzzle pour piloter un personnage : le lutin.

La scène, le lutin et le repère

Le lutin se déplace sur la scène. Sa position est repérée par deux nombres, ses coordonnées x et y (comme un point dans un repère). Le centre de la scène a pour coordonnées x = 0 et y = 0. Le lutin possède aussi une orientation mesurée en degrés : 90 signifie « vers la droite ».

Catégorie de blocsExemples d'instructions
Mouvementavancer de 10 ; tourner de 15 degrés ; aller à x y
Contrôlerépéter 10 fois ; répéter indéfiniment ; si... alors
Événementsquand le drapeau vert est cliqué
Apparencedire Bonjour ; changer de costume

Algorithmique et programmation

Les boucles : répéter des instructions

Quand une même action doit être faite plusieurs fois, on évite de recopier le bloc dix fois : on utilise une boucle. C'est plus court, plus lisible, et bien plus malin !

Type de boucleCe qu'elle fait
répéter n foisrépète exactement n fois les blocs à l'intérieur, puis s'arrête
répéter indéfinimentrépète sans jamais s'arrêter toute seule
répéter jusqu'à ce que...répète tant que la condition reste fausse, et s'arrête quand elle devient vraie

Boucles imbriquées et variables

On peut placer une boucle dans une autre : ce sont des boucles imbriquées. « répéter 3 fois [ répéter 4 fois [ ... ] ] » exécute les blocs du centre 3 × 4 = 12 fois. On utilise aussi des variables (comme un score) que l'on modifie à chaque tour, par exemple avec « ajouter 1 à score ».

Exercices corrigés

  1. Dans Scratch, comment appelle-t-on le personnage que l'on programme et qui se déplace sur la scène ?

    • A.le curseur
    • B.le lutinBonne réponse
    • C.le bloc
    • D.le script

    Réponse : B — le lutin

    Le personnage que l'on pilote s'appelle le lutin (sprite en anglais). Un bloc est une instruction que l'on assemble, et un script est le programme complet formé de ces blocs : ce ne sont pas des personnages.

  2. On exécute « répéter 3 fois [ avancer de 20 ] ». De combien de pas le lutin a-t-il avancé au total ?

    • A.20 pas
    • B.23 pas
    • C.600 pas
    • D.60 pasBonne réponse

    Réponse : D — 60 pas

    À chaque tour de boucle, le lutin avance de 20 pas, et il y a 3 tours : total = 3 × 20 = 60 pas. Répondre 20, c'est ne compter qu'un seul tour. Répondre 23 (= 3 + 20) revient à additionner au lieu de multiplier. Répondre 600, c'est ajouter un zéro de trop.

  3. Pour dessiner un carré, on répète 4 fois « avancer... puis tourner de ... degrés ». Quel angle de rotation faut-il ?

    • A.45 degrés
    • B.90 degrésBonne réponse
    • C.360 degrés
    • D.4 degrés

    Réponse : B — 90 degrés

    Pour un polygone régulier à n côtés, on tourne de 360 / n. Un carré a 4 côtés : 360 / 4 = 90 degrés. C'est aussi logique : à chaque coin d'un carré, le lutin fait un quart de tour, soit 90 degrés. Tourner de 360 ferait un tour complet et le lutin repartirait tout droit.

  4. La variable score vaut 0. On exécute « répéter 5 fois [ ajouter 1 à score ] ». Que vaut score à la fin ?

    • A.1
    • B.0
    • C.5Bonne réponse
    • D.6

    Réponse : C — 5

    À chaque tour, on ajoute 1 à score, et la variable garde sa valeur d'un tour à l'autre : 0, puis 1, 2, 3, 4, 5. Après 5 tours, score vaut 5. Répondre 1, c'est croire que score est remis à zéro à chaque tour. La variable, elle, accumule.

  5. La variable score vaut 0. On exécute « répéter 4 fois [ ajouter 2 à score ] ». Que vaut score à la fin ?

    • A.8Bonne réponse
    • B.6
    • C.2
    • D.4

    Réponse : A — 8

    À chaque tour, on ajoute 2 à score, et il y a 4 tours : 0, puis 2, 4, 6, 8. À la fin, score vaut 4 × 2 = 8. Répondre 4, c'est confondre le nombre de tours avec la valeur ajoutée. Répondre 2, c'est ne compter qu'un seul tour.

  6. Pour dessiner un triangle équilatéral avec « répéter 3 fois [ avancer... ; tourner de a degrés ] », quelle valeur de a faut-il ?

    • A.60 degrés
    • B.120 degrésBonne réponse
    • C.90 degrés
    • D.30 degrés

    Réponse : B — 120 degrés

    Pour un polygone régulier à n côtés, on tourne de l'angle extérieur 360 / n. Pour un triangle, n = 3 : 360 / 3 = 120 degrés. Le piège, c'est de répondre 60, l'angle intérieur du triangle équilatéral : mais le lutin ne tourne pas de l'angle intérieur, il tourne de l'angle extérieur. Vérification : 3 × 120 = 360, un tour complet.

  7. On veut que « répéter 10 fois [ avancer de ... ] » fasse parcourir 100 pas au total. De combien faut-il avancer à chaque répétition ?

    • A.1000 pas
    • B.90 pas
    • C.10 pasBonne réponse
    • D.110 pas

    Réponse : C — 10 pas

    La distance totale est répartie sur 10 tours identiques : chaque tour fait donc 100 / 10 = 10 pas. On vérifie : 10 tours × 10 pas = 100 pas. Répondre 1000 (= 100 × 10), c'est multiplier au lieu de diviser. Répondre 90 (= 100 − 10), c'est soustraire sans raison.

  8. La variable n vaut 1. On exécute « répéter 3 fois [ mettre n à (n × 2) ] ». Que vaut n à la fin ?

    • A.6
    • B.7
    • C.2
    • D.8Bonne réponse

    Réponse : D — 8

    À chaque tour, on remplace n par son double. On part de 1 : après le 1er tour n = 1 × 2 = 2, après le 2e tour n = 2 × 2 = 4, après le 3e tour n = 4 × 2 = 8. À la fin, n vaut 8. Répondre 6 (= 1 × 2 × 3), c'est croire qu'on multiplie par le numéro du tour, alors qu'on double la valeur précédente à chaque fois.

  9. On exécute « répéter 4 fois [ avancer de 50 ; tourner de 90 degrés ] », le stylo baissé. Quel est le périmètre de la figure obtenue ?

    • A.200 pasBonne réponse
    • B.50 pas
    • C.90 pas
    • D.2500 pas

    Réponse : A — 200 pas

    Angle 90 degrés et 4 côtés (360 / 4 = 90) : le lutin dessine un carré de côté 50 pas. Le périmètre d'un carré est la somme de ses 4 côtés : 4 × 50 = 200 pas. Répondre 50, c'est ne compter qu'un côté. Répondre 2500 (= 50 × 50), c'est calculer l'aire du carré, pas son périmètre.

  10. En programmation, qu'est-ce qu'une séquence ?

    • A.une suite d'instructions exécutées dans l'ordreBonne réponse
    • B.une instruction qui se répète toute seule
    • C.une erreur dans le programme
    • D.un dessin fait par le lutin

    Réponse : A — une suite d'instructions exécutées dans l'ordre

    Une séquence, c'est un enchaînement d'instructions exécutées l'une après l'autre, dans l'ordre, de haut en bas. L'instruction qui se répète toute seule, c'est une boucle, pas une séquence. Et une séquence n'est ni une erreur ni un dessin : c'est la structure de base de tout programme.

  11. Quel bloc permet de démarrer un programme lorsqu'on clique sur le drapeau vert ?

    • A.avancer de 10
    • B.répéter 10 fois
    • C.quand le drapeau vert est cliquéBonne réponse
    • D.dire Bonjour

    Réponse : C — quand le drapeau vert est cliqué

    Le bloc d'événement « quand le drapeau vert est cliqué » sert de point de départ : c'est lui qui lance le script. « avancer de 10 » est un bloc de mouvement, « répéter 10 fois » est une boucle et « dire Bonjour » est un bloc d'apparence : aucun ne démarre le programme.

  12. Que fait le bloc « répéter 4 fois » ?

    • A.il exécute une seule fois les instructions à l'intérieur
    • B.il attend 4 secondes
    • C.il efface l'écran 4 fois
    • D.il exécute 4 fois de suite les instructions placées à l'intérieurBonne réponse

    Réponse : D — il exécute 4 fois de suite les instructions placées à l'intérieur

    « répéter 4 fois » est une boucle : elle exécute 4 fois de suite le bloc (ou le groupe de blocs) placé à l'intérieur, puis s'arrête. Elle n'attend pas et n'efface rien : elle répète, c'est tout.

S'entraîner sur ce chapitre

Ce chapitre compte 36 exercices corrigés dans l'application, avec le suivi de ta progression.

Commencer les exercices