Définition
Une instruction conditionnelle si... alors... sinon (ou if... then... else en anglais) permet d'exécuter un bloc d'instructions différent en fonction de la vérification d'une condition. Si la condition est vraie, un premier bloc d'instructions est exécuté ; sinon, un second bloc est exécuté.
Sa structure générale est la suivante :SI (condition) ALORS // Instructions à exécuter si la condition est VRAIESINON // Instructions à exécuter si la condition est FAUSSEFIN SI
La condition est une expression logique qui peut être vraie ou fausse. Elle utilise souvent des opérateurs de comparaison ($<$, $>$, $\leq$, $\geq$, $=$, $\neq$) et des opérateurs logiques (ET, OU, NON).
Méthode — Écrire une instruction si… alors… sinon
1. Identifier la condition
Déterminez quelle est la situation ou le critère qui va décider de l'exécution d'un bloc d'instructions plutôt qu'un autre. Cette condition doit pouvoir être évaluée comme VRAIE ou FAUSSE.
Exemple : "si la note est supérieure ou égale à 10".
2. Définir les actions pour le cas VRAI
Spécifiez les instructions qui doivent être exécutées si la condition est VRAIE. C'est le bloc ALORS.
Exemple : "afficher 'Admis'".
3. Définir les actions pour le cas FAUX (facultatif)
Spécifiez les instructions qui doivent être exécutées si la condition est FAUSSE. C'est le bloc SINON. Ce bloc est facultatif : si rien ne doit se passer quand la condition est fausse, le SINON peut être omis.
Exemple : "afficher 'Refusé'".
4. Structurer l'instruction
Assemblez les éléments dans la structure SI... ALORS... SINON... FIN SI. SI (note $\geq$ 10) ALORS AFFICHER "Admis"SINON AFFICHER "Refusé"FIN SI
Exemple résolu
Considérons un programme qui demande l'âge d'une personne et indique si elle est majeure ou mineure (en France, la majorité est à 18 ans).
L'instruction si... alors... sinon permet de gérer ces différents cas de manière claire et structurée.
⚠️ Erreur courante : Oublier le cas "égal à"
- Souvent, on utilise des conditions strictes comme $>$ ou $<$, et on oublie le cas où la valeur est égale au seuil.
- Par exemple, si la condition est "si la note est $>$ 10" et la note est 10, le bloc
ALORSne sera pas exécuté. Il faut souvent utiliser $>=$ ou $<=$ pour inclure le seuil. - Autre piège : utiliser un seul signe $=$ pour la comparaison, alors que dans certains langages de programmation, $=$ est une affectation et $==$ est une comparaison. En pseudo-code, on utilise généralement $=$ pour la comparaison.
Pack Brevet Maths
Reçois 3 fiches gratuites pour préparer le Brevet
Les 3 fiches les plus importantes du programme de 3ème, en PDF prêt à imprimer. Offertes par Adil.
Pas de spam. Désinscription en un clic.
Exercice type Brevet
Écrivez un algorithme en pseudo-code utilisant une instructionSI... ALORS... SINON qui demande à l'utilisateur de saisir un nombre entier. Si le nombre est pair, l'algorithme doit afficher "Le nombre est pair.". Sinon, il doit afficher "Le nombre est impair.". Rappel : Un nombre est pair si le reste de sa division par 2 est 0.
DÉBUT DÉCLARER nombre EN ENTIER AFFICHER "Veuillez saisir un nombre entier : " LIRE nombre SI (nombre MOD 2 = 0) ALORS AFFICHER "Le nombre est pair." SINON AFFICHER "Le nombre est impair." FIN SIFINExplication :
nombre MOD 2calcule le reste de la division denombrepar 2.- Si ce reste est égal à 0, la condition est vraie, et le nombre est pair.
- Sinon (si le reste est 1), la condition est fausse, et le nombre est impair.
Questions fréquentes
Est-ce que le bloc SINON est toujours obligatoire ?
SINON est facultatif. Si vous n'avez rien à faire lorsque la condition est fausse, vous pouvez l'omettre. L'instruction devient alors SI (condition) ALORS ... FIN SI.Peut-on mettre plusieurs conditions dans un SI ?
Exemple :
SI (âge $\geq$ 18 ET pays = "France") ALORS ... FIN SI.Comment gérer plus de deux cas ?
SI... ALORS... SINON SI... ALORS... SINON... FIN SI (ou ELSIF dans certains langages), ou imbriquer des SI... ALORS... SINON. Exemple :
SI (note $\geq$ 15) ALORS AFFICHER "Très bien"SINON SI (note $\geq$ 10) ALORS AFFICHER "Admis"SINON AFFICHER "Refusé"FIN SIQuelle est la différence entre = et == ?
= est généralement utilisé pour la comparaison et l'affectation, le contexte clarifie l'usage. Cependant, dans de nombreux langages de programmation (comme Python, JavaScript, C++), = est utilisé pour l'affectation (donner une valeur à une variable) et == est utilisé pour la comparaison (vérifier si deux valeurs sont égales). Il est important de connaître la convention du langage utilisé.Pour aller plus loin
Votre enfant bloque sur ce chapitre ?
Adil explique la méthode en 1 séance. Cours en ligne disponibles partout en France à 20€/h.