Écrire une instruction si… alors

Définition, méthode pas à pas, exemples corrigés et exercice type Brevet.

📚 Niveau 3ème ⏱ Lecture : 4 min ✅ Tombe au Brevet

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$).

Organigramme : si... alors
💡 Bon réflexe : Toujours bien identifier la condition et les actions associées à chaque cas (vrai/faux). Pensez à la clarté et à l'indentation de votre code.
1

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

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

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

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é.

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.

1
Âge = $15$
✗ NonLa condition 'Âge $\geq 18$' est fausse. Le programme affichera 'Vous êtes mineur(e).'
2
Âge = $18$
La condition 'Âge $\geq 18$' est vraie. Le programme affichera 'Vous êtes majeur(e).'
3
Âge = $25$
La condition 'Âge $\geq 18$' est vraie. Le programme affichera 'Vous êtes majeur(e).'

Voici l'algorithme correspondant :

LIRE Âge
SI Âge $\geq 18$ ALORS
AFFICHER 'Vous êtes majeur(e).'
SINON
AFFICHER 'Vous êtes mineur(e).'
FIN SI

  1. En pseudo-code ou dans certains langages, il est crucial de bien délimiter les blocs d'instructions.
  2. Oublier le FIN SI peut entraîner des erreurs de syntaxe ou des comportements inattendus.
  3. 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.
  4. La condition : elle doit être précise et sans ambiguïté.

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.

É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' ?
Le 'SI... ALORS' simple exécute des instructions uniquement si la condition est vraie. Si la condition est fausse, rien ne se passe. Le 'SI... ALORS... SINON' permet d'exécuter un bloc d'instructions si la condition est vraie, et un autre bloc d'instructions si la condition est fausse.
Peut-on avoir plusieurs conditions ?
Oui, on peut combiner plusieurs conditions à l'aide d'opérateurs logiques comme ET (AND), OU (OR), et NON (NOT). Par exemple : SI (Âge >= 18 ET Sexe = 'F') ALORS...
C'est quoi une condition 'imbriquée' ?
Une condition imbriquée signifie qu'une instruction SI... ALORS est placée à l'intérieur d'une autre instruction SI... ALORS (ou de son bloc SINON). Cela permet de gérer des cas plus complexes et des décisions en cascade.
Est-ce que toutes les instructions 'si... alors' sont les mêmes dans tous les langages ?
Le concept est universel, mais la syntaxe exacte peut varier d'un langage de programmation à l'autre. Par exemple, en Python on utilise 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.

Votre enfant bloque sur ce chapitre ?

Adil explique la méthode en 1 séance. Cours en ligne disponibles partout en France à 20€/h.

📞 Être rappelé gratuitement Avance Immédiate →