Aller au contenu

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.