Voici une leçon très détaillée sur les structures de contrôle fondamentales en programmation,
utiles dans tous les langages (Python, C, Java, etc.). Ces structures permettent de contrôler le
flux d’exécution d’un programme.
Objectif pédagogique :
Comprendre et maîtriser l’utilisation des structures conditionnelles simples, des
structures itératives, des structures à choix multiples, ainsi que l’imbrication de
structures conditionnelles.
Appliquer ces notions dans des exemples concrets et les adapter à divers langages.
I. Structure conditionnelle simple
Définition :
Elle permet d’exécuter une instruction ou un bloc d'instructions uniquement si une
condition est vraie.
Syntaxe générale :
En pseudo-code :
SI condition ALORS
instructions
FIN SI
En Python :
if condition:
instructions
En C / Java / PHP :
if (condition) {
instructions;
}
Exemple :
Vérifier si une personne est majeure.
age = 20
if age >= 18:
print("Vous êtes majeur.")
II. Structure itérative (boucle)
Définition :
Elle permet de répéter une instruction ou un bloc d’instructions tant qu’une condition est
vraie ou pour un nombre déterminé de fois.
Types de boucles :
Boucle “tant que” (while) : nombre d’itérations inconnu à l’avance
Boucle “pour” (for) : nombre d’itérations connu à l’avance
Boucle "while"
En pseudo-code :
TANT QUE condition
instructions
FIN TANT QUE
En Python :
while condition:
instructions
Exemple :
compteur = 1
while compteur <= 5:
print(compteur)
compteur += 1
Boucle "for"
En Python :
for i in range(1, 6):
print(i)
En C :
for (int i = 1; i <= 5; i++) {
printf("%d\n", i);
}
III. Structure à choix multiple (conditionnelle multiple)
Définition :
Elle permet de tester plusieurs conditions différentes et exécuter un bloc d’instructions
différent selon le cas.
Syntaxe générale :
En pseudo-code :
SI condition1 ALORS
instructions1
SINON SI condition2 ALORS
instructions2
...
SINON
instructions_par_defaut
FIN SI
En Python :
if condition1:
instructions1
elif condition2:
instructions2
else:
instructions_par_defaut
En C/Java :
if (condition1) {
instructions1;
} else if (condition2) {
instructions2;
} else {
instructions_par_defaut;
}
Alternative : switch (en C, Java, PHP)
switch (jour) {
case 1:
printf("Lundi");
break;
case 2:
printf("Mardi");
break;
default:
printf("Jour inconnu");
}
Exemple :
note = 15
if note >= 16:
mention = "Très bien"
elif note >= 14:
mention = "Bien"
elif note >= 12:
mention = "Assez bien"
elif note >= 10:
mention = "Passable"
else:
mention = "Échec"
print("Mention :", mention)
Imbrication de structures conditionnelles
Définition :
C’est lorsqu’ une condition est incluse dans une autre. Cela permet de faire des tests plus
complexes.
Syntaxe :
if condition1:
if condition2:
instruction
Exemple :
Vérifier si une personne est majeure et si elle est étudiante.
age = 20
statut = "étudiant"
if age >= 18:
if statut == "étudiant":
print("Vous êtes un étudiant majeur.")
else:
print("Vous êtes un adulte non étudiant.")
else:
print("Vous êtes mineur.")
Résumé sous forme de tableau :
Structure Usage Exemple clé
Conditionnelle simple Exécuter si une condition if age >= 18:
Conditionnelle multiple Plusieurs cas if/elif/else ou switch
Itérative (while) Répéter tant que vrai while compteur < 10:
Répéter un nombre fixe de
Itérative (for) for i in range(5):
fois
if condition1: if
Imbrication conditionnelle Conditions dans conditions
condition2:
Exercices pratiques :
Exercice 1 :
Écrire un programme qui demande un nombre et affiche :
"Pair" s’il est divisible par 2
"Impair" sinon
Exercice 2 :
Écrire un programme qui affiche les 10 premiers nombres impairs à l’aide d’une boucle.
Exercice 3 :
Écrire un programme qui demande une note et affiche la mention (TB, B, AB, P, Échec)
Exercice 4 :
Imbriquer des conditions pour gérer :
Si une personne est majeure ET salariée → “Adulte salarié”
Si majeure NON salariée → “Adulte sans emploi”
Si mineure → “Mineur”
Exercice 1 :
Écrire un programme qui demande un nombre et affiche :
"Pair" s’il est divisible par 2
"Impair" sinon
Correction en Python :
nombre = int(input("Entrez un nombre : "))
if nombre % 2 == 0:
print("Pair")
else:
print("Impair")
Exercice 2 :
Écrire un programme qui affiche les 10 premiers nombres impairs à l’aide d’une boucle.
Correction :
Méthode 1 : Boucle for avec range()
print("Les 10 premiers nombres impairs sont :")
for i in range(1, 20, 2): # de 1 à 19 avec un pas de 2
print(i)
Méthode 2 : Boucle while
i = 1
compteur = 0
print("Les 10 premiers nombres impairs sont :")
while compteur < 10:
print(i)
i += 2
compteur += 1
Exercice 3 :
Écrire un programme qui demande une note et affiche la mention :
16 et plus : Très bien
14 à 15 : Bien
12 à 13 : Assez bien
10 à 11 : Passable
Moins de 10 : Échec
Correction :
note = float(input("Entrez votre note : "))
if note >= 16:
print("Mention : Très bien")
elif note >= 14:
print("Mention : Bien")
elif note >= 12:
print("Mention : Assez bien")
elif note >= 10:
print("Mention : Passable")
else:
print("Mention : Échec")
Exercice 4 :
Imbriquer des conditions pour gérer :
Si une personne est majeure ET salariée → “Adulte salarié”
Si majeure NON salariée → “Adulte sans emploi”
Si mineure → “Mineur”
Correction :
age = int(input("Entrez votre âge : "))
statut = input("Êtes-vous salarié ? (oui/non) : ")
if age >= 18:
if statut.lower() == "oui":
print("Adulte salarié")
else:
print("Adulte sans emploi")
else:
print("Mineur")