Si... alors
Comment n'agir que dans certains cas ?
En une phrase
Le bloc « si... alors » dit à l'ordinateur : « si cette condition est vraie, fais ce qui est à l'intérieur ». Si la condition est fausse, le bloc à l'intérieur n'est pas fait et le programme continue.
L'idée à retenir
Le bloc « si... alors » n'exécute le bloc intérieur QUE si la condition est vraie. Si elle est fausse, rien ne se passe et le programme continue. Ici : si x > 10, alors « dire Bravo ».
Comprendre
Le bloc « si... alors » sert à prendre une décision dans un programme. Il fonctionne comme une porte qui ne s'ouvre que dans une seule situation. On y place une condition (un test) et un bloc d'instructions à l'intérieur.
Quand l'ordinateur arrive sur ce bloc, il vérifie d'abord la condition. Si la condition est vraie, alors il exécute le bloc placé à l'intérieur. Si la condition est fausse, il ne fait rien : le bloc à l'intérieur est ignoré, et le programme continue avec la suite.
C'est très important : avec un simple « si... alors », il n'y a pas de « sinon ». Quand la condition est fausse, il ne se passe tout simplement rien de spécial, on saute par-dessus le bloc. Par exemple, imagine un test « score > 10 » avec, à l'intérieur, le bloc « dire Gagné ! ».
Si le score vaut 12, la condition est vraie, donc le lutin dit « Gagné ! ». Si le score vaut 8, la condition est fausse, donc le lutin ne dit rien du tout et le programme passe à la suite. Dans Scratch, le bloc « si... alors » a une forme caractéristique : il entoure les instructions qu'il commande, comme une bouche qui se referme autour d'elles.
C'est la première grande structure qui permet à un programme de réagir différemment selon les situations.
Le cours
Le bloc « si... alors » est une structure conditionnelle : elle permet à un programme d'exécuter des instructions seulement dans certaines situations. Sa logique est la suivante : si (condition) alors (bloc d'instructions). Lorsque l'ordinateur rencontre ce bloc, il commence par évaluer la condition, qui est un test renvoyant vrai ou faux.
Deux cas se présentent. Premier cas : la condition est vraie. Alors l'ordinateur exécute le bloc d'instructions placé à l'intérieur du « si... alors », puis continue avec la suite du programme.
Deuxième cas : la condition est fausse. Dans ce cas, le bloc d'instructions n'est pas exécuté du tout : l'ordinateur l'ignore et passe directement à la suite. Il n'y a donc rien de spécial qui se produit quand la condition est fausse, car le « si... alors » simple ne prévoit pas d'action de remplacement.
Par exemple, avec la condition « score > 10 » et l'instruction « dire Gagné ! » à l'intérieur : si le score vaut 12, le lutin dit « Gagné ! » ; si le score vaut 8, le lutin ne dit rien. Dans Scratch, ce bloc se reconnaît à sa forme en C qui enserre les instructions commandées. Le « si... alors » est la structure de base de la prise de décision en programmation : il s'appuie sur un test (une condition) pour décider d'exécuter ou non un bloc.
Vois cette notion fonctionner : la scène animée, plan par plan →
Les erreurs fréquentes
- Le bloc à l'intérieur du « si... alors » s'exécute toujours, même si la condition est fausse.
- Le bloc à l'intérieur ne s'exécute que si la condition est vraie. Si la condition est fausse, le bloc est ignoré et il ne se passe rien de spécial.
- Quand la condition est fausse, le programme s'arrête ou affiche une erreur.
- Quand la condition est fausse, le programme ne s'arrête pas : il saute simplement le bloc « si... alors » et continue avec les instructions suivantes.
Tu maîtrises la notion si…
- Décrire « si... alors » : le bloc intérieur n'est exécuté que si la condition est vraie.
- Interpréter ce qui se passe quand la condition est fausse : rien n'est exécuté, le programme continue.
- Prévoir le comportement d'un « si... alors » selon que la condition est vraie ou fausse.
Vérifie que tu as compris
Dans « si (condition) alors [bloc] », le bloc s'exécute :
Réponse seulement si la condition est vraie
« Si... alors » n'exécute le bloc que lorsque la condition est vraie ; sinon, rien ne se passe.
Dans « si (condition) alors [bloc] » (sans « sinon »), si la condition est fausse :
Réponse rien ne se passe, le programme continue
Sans bloc « sinon », quand la condition est fausse on saute le bloc et le programme passe à la suite.
S'entraîner sur cette notion
La scène s'anime pas à pas, la mascotte t'explique, puis tu t'entraînes. Gratuit pour commencer.
Ouvrir cette scène dans Azulma →Les quatre étapes pour maîtriser cette notion
« si... alors » agit seulement si la condition est vraie.
Le bloc orange en forme de C.
Condition vraie → on exécute le bloc.
La condition est dans l'hexagone.
Rien ne se passe ; le programme continue.
Le bloc intérieur est sauté.
12 > 10 est vrai, donc « dire Bravo » s'exécute.
On évalue la condition d'abord.