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
-
É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"
- Écrivez les comparaisons pour :
-
Créer une condition simple
- Écrivez en pseudo-code : "Si la température est supérieure à 25°C, afficher 'Il fait chaud'"
-
Condition avec SINON
- Écrivez en pseudo-code : "Si l'utilisateur est connecté, afficher 'Bienvenue', sinon afficher 'Veuillez vous connecter'"
-
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€
- Écrivez en pseudo-code un système de tarifs :
-
Opérateurs logiques
- Écrivez en pseudo-code : "Si l'utilisateur est majeur ET abonné, alors accès premium"
Quiz
-
Que retourne la comparaison
10 > 5?- 10
- true
- false
-
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
-
Que signifie l'opérateur ET (AND) ?
- Au moins une condition vraie
- Les deux conditions doivent être vraies
- Aucune condition vraie
-
Combien de SINON SI peut-on avoir dans une structure conditionnelle ?
- Un seul
- Autant qu'on veut
- Maximum deux
-
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.