Les Conditions
1. Identité
- Titre : Les Conditions
- Domaine : Algorithme
- Niveau : Débutant
- Prérequis : Les Opérateurs, Les Variables
2. Concept
Une condition permet à un algorithme de choisir un chemin d'exécution selon la valeur d'un test booléen.
SI ... ALORS ... SINON : la structure de base. Le bloc ALORS s'exécute si la condition est vraie, le bloc SINON s'exécute sinon.
SINON SI : quand il y a plus de deux cas possibles, on chaîne les conditions. Les conditions sont testées de haut en bas, et l'algorithme s'arrête à la première qui est vraie. L'ordre compte : une condition large placée trop tôt dans la chaîne empêche jamais d'atteindre les suivantes, même si elles seraient plus précises.
Conditions imbriquées : un SI peut contenir un autre SI, pour des logiques plus fines. Attention, un SI extérieur qui échoue coupe court avant même d'évaluer les conditions intérieures : elles ne sont jamais atteintes, même si elles auraient été vraies.
3. Illustration
Deux cas simples, SI/SINON :
ALGORITHME Parité
VARIABLES
n : Entier
DÉBUT
Lire n
SI n MOD 2 = 0 ALORS
Afficher Chaîne(n) + " est pair."
SINON
Afficher Chaîne(n) + " est impair."
FIN SI
FIN
Plusieurs cas, chaîne de SINON SI :
ALGORITHME Note_mention
VARIABLES
note : Réel
mention : Chaîne
DÉBUT
Lire note
SI note >= 16 ALORS
mention ← "Très bien"
SINON SI note >= 14 ALORS
mention ← "Bien"
SINON SI note >= 12 ALORS
mention ← "Assez bien"
SINON SI note >= 10 ALORS
mention ← "Passable"
SINON
mention ← "Insuffisant"
FIN SI
Afficher "Mention : " + mention
FIN
Si "note >= 10" avait été placé en premier dans cette chaîne, tous les élèves au-dessus de 10 recevraient "Passable", même avec 18 : la première condition vraie rencontrée gagne, les suivantes ne sont jamais testées.
Conditions imbriquées :
ALGORITHME Accès_service
VARIABLES
age : Entier
a_compte : Booléen
DÉBUT
Lire age
Lire a_compte
SI age >= 18 ALORS
SI a_compte = VRAI ALORS
Afficher "Accès complet"
SINON
Afficher "Créez un compte pour accéder"
FIN SI
SINON
Afficher "Accès interdit aux mineurs"
FIN SI
FIN
Avec age = 17 et a_compte = VRAI, le résultat est "Accès interdit aux mineurs" : le SI extérieur sur l'âge échoue et coupe court, la vérification du compte à l'intérieur n'est jamais atteinte.
4. Pièges fréquents
- Mal ordonner une chaîne de SINON SI : placer une condition large avant une condition précise empêche cette dernière d'être jamais atteinte.
- Croire qu'une condition imbriquée sera évaluée alors que la condition extérieure qui la contient a déjà échoué : elle ne sera jamais testée.
- Oublier qu'une seule condition peut être vraie à la fois dans une chaîne SI/SINON SI : ce n'est pas une liste de vérifications indépendantes, c'est un choix unique.