Structure conditionnelle si...alors...sinon | Algorithmique Seconde

Introduction

STRUCTURE CONDITIONNELLE
Instructions conditionnelles - si...alors...sinon

Découvrez comment prendre des décisions dans vos algorithmes

Condition
Action
Alternative

Structure de base de la conditionnelle

Syntaxe de la structure conditionnelle

SYNTAXE GÉNÉRALE
Structure de base

La structure conditionnelle permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse :

SI condition ALORS
    instructions si la condition est vraie
SINON
    instructions si la condition est fausse
FIN SI
Exemple simple
Variables age : Entier

Afficher("Entrez votre âge : ")
Lire(age)

SI age >= 18 ALORS
    Afficher("Vous êtes majeur")
SINON
    Afficher("Vous êtes mineur")
FIN SI

Opérateurs de comparaison

Comparateurs logiques

OPÉRATEURS COURANTS
Liste des opérateurs de comparaison
  • = : égal à
  • ou <> : différent de
  • < : inférieur à
  • > : supérieur à
  • <= : inférieur ou égal à
  • >= : supérieur ou égal à
EXEMPLES D'UTILISATION
Conditions avec opérateurs
  • SI note >= 10 ALORS → admis
  • SI temperature < 0 ALORS → gel
  • SI a = b ALORS → égalité
  • SI prix <= 100 ALORS → bon marché

Conditions simples

Test d'une seule condition

CONDITION UNIQUE
Exemple de condition simple
Variables nombre : Entier

Afficher("Entrez un nombre : ")
Lire(nombre)

SI nombre > 0 ALORS
    Afficher("Le nombre est positif")
SINON
    Afficher("Le nombre est négatif ou nul")
FIN SI
ANALYSE PAS À PAS
Fonctionnement de la condition
  1. L'utilisateur entre une valeur
  2. Le programme teste si la condition nombre > 0 est vraie
  3. Si elle est vraie, on exécute le bloc "alors"
  4. Si elle est fausse, on exécute le bloc "sinon"

Opérateurs logiques

Combinaison de conditions

OPÉRATEURS COMPOSÉS
Les 3 opérateurs logiques
  • ET : toutes les conditions doivent être vraies
  • OU : au moins une condition doit être vraie
  • NON : inverse la valeur de vérité
EXEMPLES CONCRETS
Utilisation des opérateurs logiques
  • SI age >= 18 ET permis = "oui" ALORS → conduire autorisé
  • SI note >= 10 OU bonus = "oui" ALORS → admis
  • SI NON valide ALORS → refusé

Conditions imbriquées

Structures conditionnelles imbriquées

CONDITION DANS UNE CONDITION
Exemple de condition imbriquée
Variables age, permis : Entier

Afficher("Entrez votre âge : ")
Lire(age)

SI age >= 18 ALORS
    Afficher("Vous êtes majeur")
    SI permis = 1 ALORS
        Afficher("Vous pouvez conduire")
    SINON
        Afficher("Vous ne pouvez pas conduire")
    FIN SI
SINON
    Afficher("Vous êtes mineur")
FIN SI
FONCTIONNEMENT
Comment les conditions s'enchaînent

La structure conditionnelle interne n'est testée que si la condition extérieure est vraie.

On peut imbriquer autant de conditions que nécessaire, mais il faut bien gérer l'indentation pour la lisibilité.

Exemple complet d'algorithme

Calcul de mention au bac

ALGORITHME MENTION
Déterminer la mention au bac
Variables moyenne : Réel

Afficher("Entrez votre moyenne au bac : ")
Lire(moyenne)

SI moyenne >= 16 ALORS
    Afficher("Félicitations ! Mention Très Bien")
SINON
    SI moyenne >= 14 ALORS
        Afficher("Mention Bien")
    SINON
        SI moyenne >= 12 ALORS
            Afficher("Mention Assez Bien")
        SINON
            Afficher("Pas de mention")
        FIN SI
    FIN SI
FIN SI
EXÉCUTION PAS À PAS
Trace d'exécution
Condition testée Résultat Action
moyenne >= 16 Vrai (si 17.5) Affiche "Très Bien"
moyenne >= 14 Faux (si 13.5) Teste la condition suivante
moyenne >= 12 Vrai (si 13.5) Affiche "Assez Bien"

Cas particuliers et erreurs

Pièges à éviter

ERREUR N°1 : Affectation vs Comparaison
Confusion commune

Ne pas confondre l'affectation (=) et la comparaison (== ou =) :

SI a = 5 ALORS → Comparaison (correct)
SI a ← 5 ALORS → Affectation (erreur !)
ERREUR N°2 : Parenthèses manquantes
Importance des parenthèses

Dans les expressions complexes, les parenthèses sont essentielles :

SI a = 5 ET b = 10 OU c = 20 ALORS
→ Peut être ambigu sans parenthèses
SI (a = 5 ET b = 10) OU c = 20 ALORS → Plus clair
ERREUR N°3 : Conditions impossibles
Logique contradictoire

Éviter les conditions qui ne peuvent jamais être vraies :

SI x > 10 ET x < 5 ALORS → Jamais vrai

Applications concrètes

Où utiliser les structures conditionnelles ?

EXEMPLES D'UTILISATION
Domaines d'application
  • 1 Systèmes de validation : formulaire, inscription
  • 2 Calculs de tarifs : réductions, frais de port
  • 3 Jeux : collisions, victoires, niveaux
  • 4 Contrôles de sécurité : accès, permissions
EXEMPLE PRATIQUE
Calcul de tarif avec réduction
Variables prix, age : Réel

Afficher("Entrez le prix initial : ")
Lire(prix)
Afficher("Entrez votre âge : ")
Lire(age)

SI age <= 12 ALORS
    prix ← prix * 0.5  // 50% de réduction
SINON
    SI age <= 18 ALORS
        prix ← prix * 0.8  // 20% de réduction
    SINON
        prix ← prix  // Pas de réduction
    FIN SI
FIN SI

Afficher("Prix final : ", prix)

Exercice d'application

Problème à résoudre

ÉNONCÉ
Exercice

Écrire un algorithme qui détermine si un triangle est rectangle, isocèle ou équilatéral à partir des longueurs de ses côtés.

On suppose que l'utilisateur entre les longueurs des trois côtés : a, b et c.

Indications :
- Triangle rectangle : a² + b² = c² (théorème de Pythagore)
- Triangle isocèle : au moins deux côtés égaux
- Triangle équilatéral : trois côtés égaux

Solution de l'exercice

Correction détaillée

ALGORITHME COMPLET
Solution pas à pas
Variables a, b, c : Réel

Afficher("Entrez la longueur du côté a : ")
Lire(a)
Afficher("Entrez la longueur du côté b : ")
Lire(b)
Afficher("Entrez la longueur du côté c : ")
Lire(c)

SI (a*a = b*b + c*c) OU (b*b = a*a + c*c) OU (c*c = a*a + b*b) ALORS
    Afficher("Le triangle est rectangle")
SINON
    SI (a = b) ET (b = c) ALORS
        Afficher("Le triangle est équilatéral")
    SINON
        SI (a = b) OU (b = c) OU (a = c) ALORS
            Afficher("Le triangle est isocèle")
        SINON
            Afficher("Le triangle est quelconque")
        FIN SI
    FIN SI
FIN SI
ANALYSE DE LA SOLUTION
Logique de la structure
  • On teste d'abord si le triangle est rectangle (Pythagore)
  • Si non, on teste s'il est équilatéral (trois côtés égaux)
  • Si non, on teste s'il est isocèle (deux côtés égaux)
  • Si aucune condition n'est remplie, c'est un triangle quelconque

Exercice supplémentaire

Calcul de salaire

ÉNONCÉ
Exercice

Écrire un algorithme qui calcule le salaire net mensuel d'un employé sachant que :

  • Le salaire de base est de 15€/heure
  • Les heures supplémentaires (au-delà de 35h/semaine) sont payées 1.5 fois le taux normal
  • Des cotisations sociales de 20% sont déduites du salaire brut
  • Si le salaire net est supérieur à 2000€, une prime de 100€ est ajoutée

On suppose que l'utilisateur entre le nombre d'heures travaillées dans le mois.

Solution de l'exercice supplémentaire

Correction détaillée

ALGORITHME DE CALCUL
Calcul du salaire pas à pas
Variables heures, salaire_brut, salaire_net : Réel

Afficher("Entrez le nombre d'heures travaillées : ")
Lire(heures)

SI heures <= 140 ALORS  // 35h/semaine * 4 semaines = 140h/mois
    salaire_brut ← heures * 15
SINON
    salaire_brut ← 140 * 15 + (heures - 140) * 15 * 1.5
FIN SI

salaire_net ← salaire_brut * 0.8  // Déduction des cotisations

SI salaire_net > 2000 ALORS
    salaire_net ← salaire_net + 100  // Prime
FIN SI

Afficher("Salaire net : ", salaire_net, "€")
EXEMPLE DE CALCUL
Cas concret

Si heures = 160 :

  • salaire_brut = 140 * 15 + 20 * 15 * 1.5 = 2100 + 450 = 2550€
  • salaire_net = 2550 * 0.8 = 2040€
  • Comme 2040 > 2000, on ajoute la prime : 2040 + 100 = 2140€

Visualisation de la structure

Diagramme de flux

REPRÉSENTATION GRAPHIQUE
Diagramme de flux conditionnel
[DÉBUT]

[Lire une variable]

[Condition ?]
├─ VRAI → [Bloc ALORS]
│ ↓
└─ FAUX → [Bloc SINON]

[Afficher résultat]

[FIN]
STRUCTURE EN ARBRE
Représentation arborescente

La structure conditionnelle peut être vue comme un arbre de décision :

  • La racine est la condition
  • Les branches représentent les chemins possibles
  • Les feuilles sont les actions à effectuer

Cette structure permet de modéliser des prises de décision complexes.

Complexité de la structure

Analyse de performance

ANALYSE DES CONDITIONS
Temps d'exécution
Structure Complexité Description Exemple
Condition simple O(1) Test unique SI x > 5 ALORS
Condition composée O(1) Avec ET/OU SI x > 5 ET y < 10 ALORS
Conditions imbriquées O(n) Niveau de profondeur SI x > 5 ALORS SI y < 10 ALORS
RECOMMANDATIONS
Bonnes pratiques
  • Limitez l'imbrication des conditions (max 3-4 niveaux)
  • Utilisez des variables booléennes pour les conditions complexes
  • Structurez bien votre code avec l'indentation
  • Documentez les conditions complexes

Résumé

Points clés

SYNTAXE DE BASE
Structure conditionnelle
  • SI condition ALORS → instructions si vraie
  • SINON → instructions si fausse
  • FIN SI → fermeture de la structure
Opérateurs de comparaison
  • =, ≠, <, >, <=, >= pour les comparaisons
  • ET, OU, NON pour les combinaisons logiques
  • Parenthèses pour la priorité des opérations
Applications
  • Systèmes de validation
  • Calculs conditionnels
  • Contrôles de sécurité
  • Jeux et interactions
La structure conditionnelle est essentielle en algorithmique !

Conclusion

Félicitations !

FÉLICITATIONS !
MAÎTRISE DE LA STRUCTURE CONDITIONNELLE
Vous comprenez maintenant les conditions en algorithmique !

Continuez à pratiquer pour renforcer vos compétences en algorithmique

Compris
Retenu
Appliqué