Définition
Une instruction si... alors (ou conditionnelle) permet d'exécuter un bloc d'instructions seulement si une condition est vraie. Si la condition est fausse, le bloc n'est pas exécuté, ou un autre bloc d'instructions (associé à sinon) est exécuté. C'est un concept fondamental en algorithmique et en programmation. Elle se présente généralement sous la forme :SI (condition) ALORS
Instructions à exécuter si la condition est vraie
FIN SI
Ou avec une alternative :SI (condition) ALORS
Instructions si la condition est vraie
SINON
Instructions si la condition est fausse
FIN SI
La condition est une expression qui peut être évaluée à vrai ou faux (par exemple, $a > b$, $x = 0$, $y \neq z$).
Méthode — Écrire une instruction si… alors
1. Identifier la condition
Déterminez quelle est la situation qui doit être vraie pour que certaines actions se produisent. Cette condition doit être une expression logique qui peut être évaluée à vrai ou faux. Exemples : 'Le nombre est positif', 'L'utilisateur a entré un mot de passe correct', 'La variable $x$ est égale à $5$'.
2. Définir les actions 'si vrai'
Spécifiez les instructions qui doivent être exécutées si la condition est vraie. C'est le bloc d'instructions qui suit le ALORS. Ces instructions ne seront exécutées que si la condition est remplie.
3. Définir les actions 'si faux' (optionnel)
Si des actions différentes doivent être réalisées lorsque la condition est fausse, utilisez un bloc SINON. Les instructions qui suivent le SINON seront exécutées uniquement si la condition est fausse. Si aucune action spécifique n'est requise lorsque la condition est fausse, le bloc SINON n'est pas nécessaire.
4. Structurer l'instruction
Écrivez l'instruction en utilisant la syntaxe appropriée (selon le langage ou le pseudo-code utilisé). Assurez-vous d'inclure les mots-clés SI, ALORS, SINON (si nécessaire) et FIN SI pour délimiter clairement les blocs d'instructions. Indentez le code pour une meilleure lisibilité.
Exemple résolu
Considérons un programme qui demande l'âge d'une personne et lui indique si elle est majeure ou mineure. La majorité est fixée à $18$ ans.
Voici l'algorithme correspondant :LIRE Âge
SI Âge $\geq 18$ ALORS
AFFICHER 'Vous êtes majeur(e).'
SINON
AFFICHER 'Vous êtes mineur(e).'
FIN SI
⚠️ Oublier le 'FIN SI' ou mal indenter
- En pseudo-code ou dans certains langages, il est crucial de bien délimiter les blocs d'instructions.
- Oublier le FIN SI peut entraîner des erreurs de syntaxe ou des comportements inattendus.
- Une mauvaise indentation rend le code difficile à lire et à comprendre, même si cela n'affecte pas toujours l'exécution directe dans certains langages.
- La condition : elle doit être précise et sans ambiguïté.
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 qui demande à l'utilisateur de saisir un nombre. L'algorithme doit ensuite afficher si le nombre est positif, négatif ou nul.
Question 1 : Comment exprimez-vous la condition pour vérifier si le nombre est positif ?
Question 2 : Comment exprimez-vous la condition pour vérifier si le nombre est négatif ?
Question 3 : Écrivez l'algorithme complet en utilisant des instructions SI... ALORS... SINON imbriquées ou successives.
Question 1 : La condition pour vérifier si le nombre est positif est : Nombre > 0
Question 2 : La condition pour vérifier si le nombre est négatif est : Nombre < 0
Question 3 : Voici l'algorithme complet :
LIRE Nombre
SI Nombre > 0 ALORS
AFFICHER 'Le nombre est positif.'
SINON
SI Nombre < 0 ALORS
AFFICHER 'Le nombre est négatif.'
SINON
AFFICHER 'Le nombre est nul.'
FIN SI
FIN SI
Une autre solution, utilisant des SI successifs (si le langage le permet) :
LIRE Nombre
SI Nombre > 0 ALORS
AFFICHER 'Le nombre est positif.'
FIN SI
SI Nombre < 0 ALORS
AFFICHER 'Le nombre est négatif.'
FIN SI
SI Nombre = 0 ALORS
AFFICHER 'Le nombre est nul.'
FIN SI
La première solution avec les SINON imbriqués est généralement plus efficace car elle évite de tester toutes les conditions si l'une est déjà vraie.
Questions fréquentes
Quelle est la différence entre 'SI... ALORS' et 'SI... ALORS... SINON' ?
Peut-on avoir plusieurs conditions ?
SI (Âge >= 18 ET Sexe = 'F') ALORS...C'est quoi une condition 'imbriquée' ?
Est-ce que toutes les instructions 'si... alors' sont les mêmes dans tous les langages ?
if... elif... else:, en JavaScript if (...) { ... } else { ... }, et en Scratch des blocs spécifiques. Le pseudo-code est une manière générique de l'exprimer.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.