1. Rappel : boucles et variables
En 6e, tu as découvert la boucle répéter ... fois, qui exécute un nombre fixé de fois les
instructions qu’elle contient, et les variables, qui permettent de stocker et modifier
une valeur (par exemple un score).
Exemple.
répéter 4 fois [avancer de 100, tourner de 90 degrés]trace un carré ;changer score de 1ajoute un point à la variablescore.
Ce chapitre ajoute un nouvel outil essentiel à la programmation : la possibilité de faire faire des choix différents à un programme, selon une situation.
2. L’instruction conditionnelle « si… alors »
Définition. Une instruction conditionnelle permet de n’exécuter certaines instructions que si une condition donnée est vraie.
Dans Scratch, le bloc si <...> alors (catégorie Contrôle) contient une encoche pour une
condition (souvent un bloc de couleur bleu clair, catégorie Opérateurs) et une encoche
pour les instructions à exécuter uniquement si cette condition est vraie.
Exemple. Un lutin qui rebondit sur les bords de la scène :
quand [drapeau vert] cliqué répéter jusqu'à ce que faux avancer de 5 si <touche le bord ?> alors tourner de 180 degrésTant que le lutin ne touche pas le bord, il continue tout droit ; dès qu’il le touche, il fait demi-tour.
3. « si… alors… sinon »
Définition. Le bloc si <...> alors ... sinon ... propose deux branches
d’instructions : la première s’exécute si la condition est vraie, la seconde s’exécute si
elle est fausse. Une seule des deux branches est exécutée à chaque passage.
📋 Méthode — Choisir entre « si...alors » et « si...alors...sinon »
Utiliser si...alors (sans sinon) quand il ne se passe rien de particulier si la
condition est fausse. Utiliser si...alors...sinon dès qu’il existe une deuxième action
à effectuer précisément quand la condition n’est pas vérifiée.
Exemple. Un jeu de quiz qui compare la réponse donnée à la bonne réponse :
demander [Combien font 6 x 7 ?] et attendre si <réponse = 42> alors dire [Bravo !] pendant 2 secondes changer score de 1 sinon dire [Perdu, la réponse était 42] pendant 2 secondes
4. Les opérateurs de comparaison
Pour construire une condition, Scratch propose trois opérateurs de comparaison, dans la catégorie Opérateurs :
| Bloc | Signification |
|---|---|
... = ... | est égal à |
... < ... | est strictement inférieur à |
... > ... | est strictement supérieur à |
Remarque. Ces blocs de comparaison renvoient toujours vrai ou faux : c’est
exactement le type de bloc attendu dans l’encoche d’un si...alors.
Exemple.
si <vies < 1> alors dire [Perdu !]: le message ne s’affiche que lorsque la variableviesdevient strictement inférieure à , c’est-à-dire quand elle atteint .
5. La boucle « répéter jusqu’à »
Définition. La boucle répéter jusqu'à ce que <...> exécute les instructions qu’elle
contient encore et encore, jusqu’à ce que la condition indiquée devienne vraie. Elle
s’arrête alors, et seulement à ce moment.
Différence avec répéter ... fois. La boucle répéter ... fois s’arrête après un
nombre de tours connu à l’avance. La boucle répéter jusqu'à s’arrête quand une
condition devient vraie, ce qui peut être atteint après un nombre de tours qu’on ne
connaît pas forcément à l’avance.
Exemple. Un lutin avance jusqu’à toucher un objet :
quand [drapeau vert] cliqué répéter jusqu'à ce que <touche [Objet] ?> avancer de 2 dire [Objet atteint !] pendant 2 secondes
Attention. Une boucle répéter jusqu'à dont la condition ne devient jamais vraie ne
s’arrête jamais : c’est une boucle infinie involontaire, une erreur fréquente à
surveiller.