Si… alors : les conditions
Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.
Créer un compteCe tuto fait suite à Variables et compteurs. Jusqu'à présent, tous nos programmes faisaient toujours la même chose, indépendamment de la situation. On va apprendre à les rendre intelligents : exécuter une action seulement si une certaine condition est vérifiée. C'est l'idée de l'instruction conditionnelle, le bloc le plus utilisé en programmation après la boucle.
Qu'est-ce qu'une condition
Une condition est une question dont la réponse est forcément oui ou non (en programmation, on dit vrai ou faux). Quelques exemples du quotidien :
- « S'il pleut, je prends un parapluie » → la condition « il pleut » est soit vraie, soit fausse.
- « Si j'ai plus de 18 ans, je peux voter » → on compare deux nombres.
- « Si le feu est rouge, je m'arrête » → on teste un état.
Dans Scratch, les conditions sont représentées par des blocs de forme hexagonale (six côtés). Cette forme particulière permet de les emboîter uniquement dans les encoches hexagonales prévues pour les recevoir — l'éditeur empêche ainsi toute erreur de syntaxe.
Les blocs de comparaison
Trois blocs hexagonaux fondamentaux sont disponibles dans la catégorie Opérateurs (vert clair) :
| … = … | Teste si deux valeurs sont égales |
| … < … | Teste si la première valeur est strictement inférieure à la seconde |
| … > … | Teste si la première valeur est strictement supérieure à la seconde |
Trois comparaisons isolées
Voici trois exemples à tester en glissant les blocs depuis la palette Opérateurs vers la zone de scripts :
- $5 < 10$ : vrai (cinq est bien strictement inférieur à dix) ;
- $7 = 7$ : vrai (les deux valeurs sont identiques) ;
- $3 > 8$ : faux (trois n'est pas supérieur à huit).
Dans l'éditeur, un clic sur un bloc hexagonal isolé affiche brièvement le résultat « vrai » ou « faux ».
Remarque
On peut placer n'importe quelle valeur dans les champs ronds d'un bloc de comparaison : un nombre fixe, une variable (par exemple score > $100$), une opération (par exemple N $\geq$ $3$) ou même un texte. Scratch compare alors les deux valeurs et renvoie vrai ou faux.
L'instruction « si … alors »
Le bloc si … alors se trouve dans la catégorie Contrôle (jaune). Il possède une encoche hexagonale où l'on glisse un bloc de comparaison. Les instructions placées à l'intérieur ne s'exécutent que si la condition est vraie ; sinon, elles sont sautées.
Annoncer la victoire
On veut féliciter le joueur dès que son score atteint $100$. Le compteur monte de $10$ toutes les secondes ; à chaque incrément, on teste si la barre est franchie.
Tant que score reste inférieur à $100$, le bloc dire n'est pas exécuté. Dès que la condition devient vraie, le chat affiche « Bravo ! » à chaque tour de boucle jusqu'à la fin des $15$ répétitions.
?
L'instruction « si … alors … sinon »
Quand il y a deux cas distincts à traiter (un pour « vrai », un pour « faux »), on utilise le bloc si … alors … sinon. Il possède deux compartiments : le premier s'exécute si la condition est vraie, le second si elle est fausse.
Pair ou impair ?
On tire un nombre au hasard entre $1$ et $100$ et on annonce s'il est pair ou impair. Le test repose sur l'opérateur modulo : le reste de la division par $2$ est $0$ pour un nombre pair, et $1$ pour un nombre impair.
Le chat tire $n$, l'affiche brièvement, puis annonce sa parité. À chaque clic sur le drapeau vert, un nouveau nombre est tiré.

?
Valider une saisie utilisateur
Combinées au bloc demander du tuto précédent, les conditions permettent de vérifier qu'une saisie utilisateur a du sens avant de poursuivre. Reprenons le programme « polygone » du tuto Variables : un polygone régulier a au moins $3$ côtés. Si l'utilisateur tape $1$ ou $2$, on refuse poliment et on ne dessine rien.
Polygone validé
Si l'utilisateur tape $2$, le chat répond « Trop petit ! » et le tracé est ignoré. S'il tape $5$, le programme suit la branche sinon et trace un pentagone.
?

Attention
La condition à tester est bien $N < 3$ (refuser), pas $N \geq 3$ (accepter). Dans le bloc sinon, la condition est forcément fausse — donc $N \geq 3$ est garanti, on peut tracer en toute sécurité. Inverser les deux branches conduit à dessiner un polygone… même quand le nombre de côtés est invalide.
Récapitulatif des blocs Conditions
| Bloc | Effet |
|---|---|
| Bloc hexagonal … = … | Renvoie vrai si les deux valeurs sont égales, faux sinon |
| Bloc hexagonal … < … | Renvoie vrai si la première valeur est strictement inférieure à la seconde |
| Bloc hexagonal … > … | Renvoie vrai si la première valeur est strictement supérieure à la seconde |
| si … alors | Exécute les instructions internes uniquement si la condition est vraie |
| si … alors … sinon | Exécute la première branche si la condition est vraie, la seconde si elle est fausse |
Remarque
On peut combiner plusieurs conditions avec les opérateurs logiques et, ou et non (catégorie Opérateurs, blocs hexagonaux à deux encoches hexagonales). Par exemple : si âge $\geq$ $11$ et âge $\leq$ $15$ alors « tu es au collège ». Voir aussi la fiche méthode : Utiliser une instruction conditionnelle dans Scratch.
À toi de jouer
Écrire un programme qui demande l'âge de l'utilisateur, puis affiche « Tu es au collège » si l'âge est compris entre $11$ et $15$ (bornes incluses), et « Tu n'es pas au collège » sinon.
Corrigé
On utilise un bloc si … alors … sinon avec une condition combinée par l'opérateur et : la condition n'est vraie que si les deux comparaisons sont vraies en même temps.
Les comparaisons utilisées sont $age > 10$ (équivaut à $age \geq 11$ pour des entiers) et $age < 16$ (équivaut à $age \leq 15$). On peut aussi écrire $age \geq 11$ et $age \leq 15$ avec les opérateurs « supérieur ou égal » et « inférieur ou égal » si on les trouve, mais ils ne sont pas dans la palette de base de Scratch — il faut alors les construire à la main.
?
Astuce
Projet tout-en-un — Le fichier ci-dessous regroupe les programmes du tuto : annonce « Bravo ! » (drapeau vert), pair ou impair (touche p), polygone validé (touche f — Scratch demande alors le nombre de côtés au clavier ; taper $2$ déclenche le refus, taper $5$ trace un pentagone). Ouvrir le projet dans Scratch avec Fichier > Importer depuis votre ordinateur.
?
Remarque
Le bloc nombre aléatoire entre … et … utilisé dans l'exemple « pair ou impair » mérite un tuto à lui tout seul : c'est le sujet du prochain chapitre, Le hasard en Scratch, où l'on simule des dés, des pièces et où l'on étudie les fréquences d'apparition (lien avec les probabilités de 4e).