Aller au contenu principal

Module 2.2 – Conditions

Objectif

Maîtriser les structures conditionnelles. Comprendre les comparaisons, utiliser SI/SINON, et résoudre des cas pratiques (notes, accès, décisions).

Théorie

Comparaisons

Les comparaisons permettent de comparer deux valeurs et retournent un booléen (vrai ou faux).

Opérateurs de comparaison :

  • == ou = : égal à
  • != ou : différent de
  • > : plus grand que
  • < : plus petit que
  • >= ou : plus grand ou égal à
  • <= ou : plus petit ou égal à

Exemples :

5 == 5      → true
5 != 3 → true
10 > 5 → true
3 < 7 → true
8 >= 8 → true
6 <= 4 → false

Comparaisons de texte :

"Jean" == "Jean"     → true
"Jean" == "Pierre" → false
"a" < "b" → true (ordre alphabétique)

SI / SINON

La structure conditionnelle permet d'exécuter du code seulement si une condition est vraie.

Structure de base

Pseudo-code :

SI condition ALORS
instructions si vrai
SINON
instructions si faux
FIN SI

Exemple : Vérifier la majorité

LIRE age
SI age >= 18 ALORS
AFFICHER "Vous êtes majeur"
SINON
AFFICHER "Vous êtes mineur"
FIN SI

SI seul (sans SINON)

Quand on n'a besoin que du cas "si vrai" :

SI condition ALORS
instructions
FIN SI

Exemple : Réduction

LIRE montant
SI montant > 100 ALORS
reduction ← montant * 0.1
montant ← montant - reduction
AFFICHER "Réduction de 10% appliquée"
FIN SI
AFFICHER "Montant final : " + montant

Conditions multiples (SI / SINON SI)

Pour gérer plusieurs cas :

SI condition1 ALORS
instructions1
SINON SI condition2 ALORS
instructions2
SINON SI condition3 ALORS
instructions3
SINON
instructions_par_defaut
FIN SI

Exemple : Système de notes

LIRE note
SI note >= 16 ALORS
AFFICHER "Très bien"
SINON SI note >= 14 ALORS
AFFICHER "Bien"
SINON SI note >= 12 ALORS
AFFICHER "Assez bien"
SINON SI note >= 10 ALORS
AFFICHER "Passable"
SINON
AFFICHER "Insuffisant"
FIN SI

Opérateurs logiques

Permettent de combiner plusieurs conditions.

ET (AND) : Les deux conditions doivent être vraies

SI age >= 18 ET age <= 65 ALORS
AFFICHER "Actif"
FIN SI

OU (OR) : Au moins une condition doit être vraie

SI jour == "Samedi" OU jour == "Dimanche" ALORS
AFFICHER "Week-end"
FIN SI

NON (NOT) : Inverse la condition

SI NON estConnecte ALORS
AFFICHER "Veuillez vous connecter"
FIN SI

Cas pratiques

Cas 1 : Gestion d'accès

Problème : Vérifier si un utilisateur peut accéder à un contenu

LIRE age
LIRE estAbonne
SI age >= 18 ET estAbonne == true ALORS
AFFICHER "Accès autorisé"
SINON
AFFICHER "Accès refusé"
SI age < 18 ALORS
AFFICHER "Vous devez être majeur"
FIN SI
SI estAbonne == false ALORS
AFFICHER "Vous devez être abonné"
FIN SI
FIN SI

Cas 2 : Calcul de prix avec remise

Problème : Appliquer une remise selon le montant

LIRE prix
SI prix >= 200 ALORS
remise ← prix * 0.2
AFFICHER "Remise de 20%"
SINON SI prix >= 100 ALORS
remise ← prix * 0.1
AFFICHER "Remise de 10%"
SINON
remise ← 0
AFFICHER "Aucune remise"
FIN SI
prix_final ← prix - remise
AFFICHER "Prix final : " + prix_final

Cas 3 : Validation de formulaire

Problème : Vérifier si un formulaire est valide

LIRE email
LIRE mot_de_passe
LIRE age

est_valide ← true
message_erreur ← ""

SI email == "" ALORS
est_valide ← false
message_erreur ← message_erreur + "Email requis. "
FIN SI

SI longueur(mot_de_passe) < 8 ALORS
est_valide ← false
message_erreur ← message_erreur + "Mot de passe trop court. "
FIN SI

SI age < 13 ALORS
est_valide ← false
message_erreur ← message_erreur + "Age minimum 13 ans. "
FIN SI

SI est_valide ALORS
AFFICHER "Formulaire valide"
SINON
AFFICHER "Erreurs : " + message_erreur
FIN SI

Exercice

  1. Écrire des comparaisons

    • Écrivez les comparaisons pour :
      • Vérifier si x est égal à 10
      • Vérifier si age est supérieur ou égal à 18
      • Vérifier si nom est différent de "Admin"
  2. Créer une condition simple

    • Écrivez en pseudo-code : "Si la température est supérieure à 25°C, afficher 'Il fait chaud'"
  3. Condition avec SINON

    • Écrivez en pseudo-code : "Si l'utilisateur est connecté, afficher 'Bienvenue', sinon afficher 'Veuillez vous connecter'"
  4. Conditions multiples

    • Écrivez en pseudo-code un système de tarifs :
      • Moins de 12 ans : gratuit
      • 12-17 ans : 5€
      • 18-64 ans : 10€
      • 65 ans et plus : 7€
  5. Opérateurs logiques

    • Écrivez en pseudo-code : "Si l'utilisateur est majeur ET abonné, alors accès premium"

Quiz

  1. Que retourne la comparaison 10 > 5 ?

    • 10
    • true
    • false
  2. Dans une structure SI/SINON, quand le code du SINON s'exécute-t-il ?

    • Toujours
    • Quand la condition du SI est fausse
    • Quand la condition du SI est vraie
  3. Que signifie l'opérateur ET (AND) ?

    • Au moins une condition vraie
    • Les deux conditions doivent être vraies
    • Aucune condition vraie
  4. Combien de SINON SI peut-on avoir dans une structure conditionnelle ?

    • Un seul
    • Autant qu'on veut
    • Maximum deux
  5. Que fait l'opérateur NON (NOT) ?

    • Ajoute une condition
    • Inverse la condition (vrai devient faux)
    • Compare deux valeurs

Mini défi

Mission : Créer un système de gestion d'accès complet

Créez un algorithme en pseudo-code pour gérer l'accès à un site selon plusieurs critères :

Règles d'accès :

  • Accès libre : moins de 18 ans (mais message d'avertissement)
  • Accès standard : 18 ans et plus, non abonné
  • Accès premium : 18 ans et plus, abonné, compte vérifié

Informations disponibles :

  • age (nombre)
  • est_abonne (booléen)
  • compte_verifie (booléen)

Critères :

  • ✅ Utiliser des conditions SI/SINON SI/SINON
  • ✅ Utiliser des opérateurs logiques (ET, OU)
  • ✅ Afficher des messages clairs pour chaque cas
  • ✅ Gérer tous les cas possibles

Exemple de structure :

LIRE age
LIRE est_abonne
LIRE compte_verifie

SI age < 18 ALORS
AFFICHER "Accès libre (mineur)"
AFFICHER "Attention : contenu pour adultes"
SINON SI age >= 18 ET est_abonne == false ALORS
...
FIN SI

Objectif : Maîtriser les structures conditionnelles complexes avec plusieurs critères.


Validation : Vous pouvez passer au module suivant quand vous êtes capable d'écrire des conditions complexes avec plusieurs cas et opérateurs logiques.