Utiliser une instruction conditionnelle dans Scratch
Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.
Créer un compteRappel
Une instruction conditionnelle permet d'exécuter des instructions uniquement si une condition est vérifiée. La condition est un test qui renvoie vrai ou faux.
Méthode
Pour utiliser une instruction conditionnelle dans Scratch :
- Identifier la condition : déterminer le test à effectuer (comparaison avec $=$ , $<$ ou $>$).
- Choisir la structure : utiliser « si ... alors » quand on veut exécuter des instructions uniquement si la condition est vraie, ou « si ... alors ... sinon » quand il y a deux cas à distinguer.
- Construire la condition : glisser un bloc losange (vert) du menu Opérateurs dans l'emplacement hexagonal du bloc « si ».
- Placer les instructions : mettre les blocs à exécuter à l'intérieur de chaque branche.
Tester si un nombre est positif ou négatif
On veut écrire un programme qui demande un nombre et affiche s'il est positif ou négatif.
?
Étape 1 : La condition est « nombre $>$ 0 ». C'est un test de comparaison.
Étape 2 : On utilise « si ... alors ... sinon » car il y a deux cas : positif ou négatif/nul.
Étape 3 : Le bloc losange vert « $>$ » compare la variable « nombre » à 0.
Pour $\text{nombre} = 7$ : la condition $7 > 0$ est vraie, le lutin dit « Ce nombre est positif ».
Pour $\text{nombre} = -3$ : la condition $-3 > 0$ est fausse, le lutin dit « Ce nombre est négatif ou nul ».
Vérifier un mot de passe
On veut écrire un programme qui vérifie si un mot de passe saisi est correct.
?
Étape 1 : La condition est « réponse $=$ scratch ».
Étape 2 : On utilise « si ... alors » (sans sinon) car on ne fait rien de particulier si le mot de passe est faux.
Étape 3 : Si l'utilisateur tape « scratch », le lutin dit « Accès autorisé ! ». Sinon, le programme passe directement à « Programme terminé ».
Remarque
Les opérateurs de comparaison disponibles dans Scratch sont $=$ , $<$ et $>$. Pour tester si un nombre est pair, on peut utiliser le bloc « modulo » qui donne le reste de la division euclidienne. Par exemple, « $\text{nombre}$ modulo $2$ » renvoie 0 si le nombre est pair et 1 s'il est impair.
Attention
Ne pas confondre les deux structures :
- si ... alors : les instructions sont ignorées si la condition est fausse, et le programme continue normalement après le bloc.
- si ... alors ... sinon : exactement une des deux branches est exécutée, jamais les deux.