NSI 1ère

Structures conditionnelles
Exercices corrigés

Maîtrisez les structures conditionnelles : if, elif, else, opérateurs logiques, imbrication et bonnes pratiques grâce à ces 5 exercices détaillés.

Concepts & Exercices
\(\text{Condition} \rightarrow \text{Action}\)
Structure conditionnelle
If
if condition:
Test
Elif
elif condition:
Sinon si
Else
else:
Sinon
Condition : Expression qui évalue à True ou False.
➡️
Flux : Contrôle du déroulement du programme selon les conditions.
🧩
Logique : Combinaison de conditions avec AND, OR, NOT.
Exercice 1
Utiliser une structure conditionnelle simple
Exercice 2
Imbriquer des structures conditionnelles
Exercice 3
Utiliser des opérateurs logiques dans les conditions
Exercice 4
Comparer des valeurs avec des conditions multiples
Exercice 5
Classer des données selon plusieurs critères
Corrigé : Exercices 1 à 3
1 Condition simple
Définition :

Structure conditionnelle simple : Instruction qui exécute un bloc de code si une condition est vraie.

Méthode d'utilisation :
  1. Écrire le mot-clé if
  2. Spécifier la condition à tester
  3. Ajouter : après la condition
  4. Indenter le bloc de code à exécuter
age = 17 if age >= 18: print("Vous êtes majeur") print("Vous pouvez voter") else: print("Vous êtes mineur") print("Vous ne pouvez pas voter")
┌─────────────┐
│ age = 17 │
└──────┬──────┘

┌─────▼─────┐
│ age >= 18?│
├─Oui─┐ ┌─Non─┤
│ │ │ │
┌────▼──┐ │ │ ┌───▼────┐
│Afficher│ │ │ │Afficher│
│"majeur"│ │ │ │"mineur"│
└───────▲┘ │ │ └───────▲┘
└─┼─┼─┘ │
│ │
┌────▼─────────────▼────┐
│ Suite du programme │
└────────────────────────┘
Étape 1 : Évaluer la condition

age >= 18 → 17 >= 18 → False

Étape 2 : Exécuter le bloc correspondant

Comme la condition est fausse, exécuter le bloc else

Étape 3 : Afficher les messages

Les messages "Vous êtes mineur" et "Vous ne pouvez pas voter"

Résultat :

Le programme affiche : "Vous êtes mineur" et "Vous ne pouvez pas voter"

Règles appliquées :

Indentation : Le bloc conditionnel doit être correctement indenté

Booléen : La condition doit évaluer à True ou False

Séquence : Le programme continue après la structure conditionnelle

2 Conditions imbriquées
Définition :

Conditions imbriquées : Structure conditionnelle à l'intérieur d'une autre structure conditionnelle.

Opérateur Symbole Description Égalité == Vérifie si deux valeurs sont égales Différent != Vérifie si deux valeurs sont différentes Inférieur < Vérifie si une valeur est inférieure à une autre Supérieur > Vérifie si une valeur est supérieure à une autre
note = 14 if note >= 16: print("Très bien") else: if note >= 14: print("Bien") else: if note >= 12: print("Assez bien") else: print("Passable")
┌─────────────┐
│ note = 14 │
└──────┬──────┘

┌─────▼─────┐
│note >= 16?│
├─Oui─┐ ┌─Non─┤
│ │ │ │
┌────▼──┐ │ │ ┌───▼──────────────┐
│Afficher│ │ │ │note >= 14? │
│"Très │ │ │ │ ├─Oui─┐ ┌─Non─┤
│bien" │ │ │ │ │ │ │ │
└───────▲┘ │ │ │┌───▼──┐ │ │ ┌───▼────┐
│ │ │ ││Afficher│ │ │ │note>=12│
│ │ │ ││"Bien" │ │ │ │ ├─Oui─┐ │
│ │ │ │└──────▲┘ │ │ │ │ │ │
│ │ │ │ │ │ │ │ ┌───▼─▼─▼─┐
│ │ │ │ │ │ │ │ │Afficher│
│ │ │ │ │ │ │ │ │"Passable"│
│ │ │ │ │ │ │ │ └────────┘
│ │ │ │ │ │ │ │
└─┼─┼─┼───────┼─┼─┼─┘
│ │ │ │ │ │
┌────▼─▼─▼───────▼─▼─▼──┐
│ Suite du programme │
└───────────────────────┘
Étape 1 : Tester la première condition

note >= 16 → 14 >= 16 → False

Étape 2 : Tester la deuxième condition

note >= 14 → 14 >= 14 → True

Étape 3 : Exécuter le bloc correspondant

Exécuter le bloc "Bien" car la condition est vraie

Résultat :

Le programme affiche : "Bien"

Règles appliquées :

Hiérarchie : Les conditions sont évaluées dans l'ordre

Indentation : Chaque niveau d'imbrication augmente l'indentation

Exclusivité : Un seul bloc est exécuté dans une structure if-elif-else

3 Opérateurs logiques
Définition :

Opérateurs logiques : AND, OR, NOT - permettent de combiner plusieurs conditions.

A B A AND B A OR B NOT A True True True True False True False False True False False True False True True False False False False True
age = 20 permis = True voiture = False # Condition avec AND if age >= 18 and permis: print("Vous pouvez conduire") # Condition avec OR if permis or voiture: print("Vous avez un moyen de transport") # Condition avec NOT if not voiture: print("Vous n'avez pas de voiture") # Combinaison d'opérateurs if (age >= 18 and permis) and not voiture: print("Vous pouvez conduire mais vous n'avez pas de voiture")
Étape 1 : Évaluer les conditions simples

age >= 18 → True, permis → True, voiture → False

Étape 2 : Appliquer les opérateurs logiques

AND : True and True → True, OR : True or False → True, NOT : not False → True

Étape 3 : Exécuter les blocs correspondants

Toutes les conditions sont vraies, donc tous les messages s'affichent

Résultats :

Les messages suivants sont affichés :
- "Vous pouvez conduire"
- "Vous avez un moyen de transport"
- "Vous n'avez pas de voiture"
- "Vous pouvez conduire mais vous n'avez pas de voiture"

Règles appliquées :

AND : Vrai seulement si toutes les conditions sont vraies

OR : Vrai si au moins une condition est vraie

NOT : Inverse la valeur booléenne

Corrigé : Exercices 4 à 5
4 Comparaisons multiples
Définition :

Comparaisons multiples : Utilisation de plusieurs conditions avec des opérateurs de comparaison dans une même structure.

temperature = 25 humidite = 70 vent = 15 # Évaluation de plusieurs critères if temperature > 20 and humidite < 80: print("Conditions agréables") elif temperature > 30 or humidite > 85: print("Conditions inconfortables") elif temperature < 0: print("Température négative") else: print("Conditions normales") # Comparaison de seuils if 15 <= temperature <= 25: print("Température idéale") elif temperature < 15 or temperature > 30: print("Température extrême") else: print("Température acceptable")
Étape 1 : Évaluer la première condition

temperature > 20 and humidite < 80 → 25 > 20 and 70 < 80 → True and True → True

Étape 2 : Exécuter le bloc correspondant

Exécuter le bloc du premier if : "Conditions agréables"

Étape 3 : Évaluer la deuxième structure

15 <= temperature <= 25 → 15 <= 25 <= 25 → True and True → True

Résultats :

Le programme affiche :
- "Conditions agréables"
- "Température idéale"

Règles appliquées :

Chaînage : On peut chaîner les comparaisons (15 <= temp <= 25)

Précédence : elif est évalué seulement si le if précédent est faux

Logique : Utiliser AND/OR pour combiner les critères

5 Classification multicritères
Définition :

Classification multicritères : Structure conditionnelle complexe pour classer des données selon plusieurs paramètres.

# Critères pour classifier un étudiant note = 14.5 assiduite = 85 # en % participation = True if note >= 16: if assiduite >= 90 and participation: niveau = "Excellent" elif assiduite >= 80: niveau = "Très bon" else: niveau = "Bon" elif note >= 14: if assiduite >= 85 and participation: niveau = "Bon" elif assiduite >= 70: niveau = "Assez bon" else: niveau = "Moyen" elif note >= 10: if assiduite >= 70: niveau = "Moyen" else: niveau = "Insuffisant" else: niveau = "Insuffisant" print(f"L'étudiant est classé : {niveau}")
Étape 1 : Identifier les critères

Note (14.5), assiduité (85%), participation (True)

Étape 2 : Évaluer la note

note >= 16? → 14.5 >= 16? → False, donc passer à elif note >= 14

Étape 3 : Évaluer les conditions pour note 14-16

note >= 14? → True, donc tester assiduite >= 85 and participation

Étape 4 : Évaluer les sous-conditions

assiduite >= 85 and participation → 85 >= 85 and True → True and True → True

Classification :

L'étudiant est classé : "Bon"

Règles appliquées :

Hiérarchie : Les conditions sont organisées par ordre de priorité

Imbrication : Utilisation de conditions imbriquées pour des critères multiples

Complétude : Tous les cas possibles sont traités

Cours bien détaillé
\(\text{if } C_1 \text{ then } B_1 \text{ elif } C_2 \text{ then } B_2 \text{ else } B_3\)
Structure conditionnelle
🎯
Définition : Une structure conditionnelle permet d'exécuter un bloc de code seulement si une condition est remplie.
📏
Objectif : Permettre au programme de prendre des décisions en fonction de l'état des variables.
📐
Structure : if → elif → else, avec des conditions qui évaluent à True ou False.
📝
Applications : Validation d'entrées, prise de décision, gestion d'erreurs, logique métier.
💡
Conseil : Utilisez des conditions claires et explicites pour la lisibilité
🔍
Attention : Faites attention à l'indentation dans les structures conditionnelles
Astuce : Utilisez elif pour des alternatives exclusives
📋
Méthode : Testez toutes les branches possibles de votre condition
Vérification : Assurez-vous que toutes les conditions sont mutuellement exclusives
Ordre d'évaluation :
  • Parenthèses : () - pour grouper les expressions
  • NOT : not - négation logique
  • AND : and - conjonction logique
  • OR : or - disjonction logique
Règles importantes :
  • Une condition doit toujours évaluer à une valeur booléenne (True/False)
  • Seul le premier bloc dont la condition est vraie est exécuté
  • La structure elif permet des alternatives exclusives
  • Le bloc else est exécuté si aucune condition précédente n'est vraie
  • L'indentation est cruciale pour définir les blocs de code
Structures conditionnelles Notions de base d’algorithmique