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 blocs | Exemples d'instructions |
|---|---|
| Mouvement | avancer de 10 ; tourner de 15 degrés ; aller à x y |
| Contrôle | répéter 10 fois ; répéter indéfiniment ; si... alors |
| Événements | quand le drapeau vert est cliqué |
| Apparence | dire 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 boucle | Ce qu'elle fait |
|---|---|
| répéter n fois | répète exactement n fois les blocs à l'intérieur, puis s'arrête |
| répéter indéfiniment | ré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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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