📌 Module 1 : Bases des Structures de Contrôle
1️. Rappel des Conditions (if, else, switch)
📖 Théorie :
Les structures conditionnelles permettent d'exécuter un bloc de code en fonction
d'une condition donnée.
Syntaxe en C :
if (condition) {
// Code exécuté si la condition est vraie
} else {
// Code exécuté si la condition est fausse
}
Structure switch utile pour tester plusieurs valeurs d'une même variable :
switch (variable) {
case 1:
// Code
break;
case 2:
// Code
break;
default:
// Code si aucune condition n'est remplie
}
📝 Exercice :
👉 Écrire un programme qui demande à l'utilisateur d'entrer une note et affiche si
l'étudiant est "Excellent", "Bien", "Passable" ou "Échoué".
2️. Les Boucles (for, while, do-while)
📖 Théorie :
Les boucles permettent d'exécuter plusieurs fois un bloc de code.
Boucle for : utilisée lorsque le nombre d'itérations est connu à l'avance.
for (int i = 0; i < 10; i++) {
printf("%d\n", i);
}
Boucle while : utilisée lorsque l'on ne sait pas combien de fois la boucle doit
s'exécuter.
int i = 0;
while (i < 10) {
printf("%d\n", i);
i++;
}
Boucle do-while : exécute toujours le code au moins une fois.
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 10);
📝 Exercice :
👉 Écrire un programme qui affiche les nombres pairs entre 1 et 100 en utilisant une
boucle for.
⚡ Atelier Pratique
🔥 Exercice en groupe :
Écrire un programme en C qui :
1. Demande à l'utilisateur de saisir un nombre entier N.
2. Affiche la somme des N premiers nombres entiers naturels en utilisant une boucle.
3. Affiche uniquement les nombres impairs jusqu'à N.
3. Tableaux
Un tableau est une structure de données qui permet de stocker plusieurs éléments du
même type sous un même nom. Chaque élément du tableau est accessible via un indice.
✅ Stockage d'éléments de même type. ✅ Accès rapide aux éléments grâce à leur indice.
✅ Taille fixe (dans certains langages comme C, Java). ✅ Occupation contiguë de la
mémoire.
2️ Déclaration et Initialisation
📌 Déclaration d’un tableau
Algorithme DéclarationTableau
Var tableau : Tableau de entier
En C :
int tableau[5]; // Déclaration d'un tableau de 5 entiers
📌 Initialisation d’un tableau
int tableau[5] = {10, 20, 30, 40, 50};
📌 Accès aux éléments
printf("Premier élément : %d", tableau[0]); // Affiche 10
3️ Parcours d’un Tableau
📌 Utilisation d’une boucle for
Début
Pour i allant de 1 à N faire
Tableau[i] ← Valeur
Fin Pour
for(int i = 0; i < 5; i++) {
printf("%d ", tableau[i]);
}
📌 Utilisation d’une boucle while
int i = 0;
while (i < 5) {
printf("%d ", tableau[i]);
i++;
}
4️ Opérations sur les Tableaux
📌 Recherche d’un élément
int rechercher(int tableau[], int taille, int valeur) {
for(int i = 0; i < taille; i++) {
if(tableau[i] == valeur) {
return i; // Retourne l'indice si trouvé
}
}
return -1; // Retourne -1 si non trouvé
}
📌 Insertion d’un élément (dernier emplacement libre)
tableau[4] = 60; // Ajoute 60 à la dernière position
📌 Suppression d’un élément (décalage des éléments)
for(int i = position; i < taille - 1; i++) {
tableau[i] = tableau[i + 1];
}
5️ Tri des Tableaux
6️ Complexité des Algorithmes sur les Tableaux
Opération Complexité
Accès direct O(1)
Recherche O(n)
Insertion O(n)
Suppression O(n)
Tri à bulles O(n²)
Tri par sélection O(n²)
Tri rapide (QuickSort) O(n log n)
7️. Exercices Pratiques
1️. Écrire un programme qui initialise un tableau de 10 entiers et affiche son contenu.
2. Implémenter une fonction qui recherche un élément dans un tableau et retourne son
indice.
3️. Écrire un programme qui trie un tableau en utilisant le tri par sélection.
4️. Ajouter un élément dans un tableau et afficher le tableau mis à jour.
5️. Supprimer un élément d’un tableau et afficher le tableau après suppression.
Exercice 1 :
Soit T un tableau a une dimension contenant N nombres entiers. Ecrire un algorithme
qui inverse le contenu de vecteur T.
Exercice 2 :
Soit T un tableau a une dimension contenant N nombres entiers. Ecrire un algorithme
qui supprime toutes les valeurs nulles de vecteur T.