Travaux Dirigés : Introduction à
l'Algorithmique
Objectif : Ce TD vise à familiariser les étudiants avec les concepts de base en algorithmique,
à travers des exercices pratiques et progressifs sur les types de données, structures
séquentielles, conditionnelles, répétitives, ainsi que les tableaux.
Prérequis : Avoir suivi les notions de base en algorithmique, notamment :
Types de données (entiers, réels, booléens, etc.).
Structures algorithmiques : séquentielle, conditionnelle, répétitive.
Notions de base sur les tableaux.
Exercice 1 : Types de Données et Déclaration de Variables
Objectif : Comprendre les types de données et la déclaration de variables.
Énoncé :
1. Déclarer les variables suivantes avec le type de données approprié :
o Nom (chaîne de caractères) : pour stocker le nom d’une personne.
o Age (entier) : pour l’âge d’une personne.
o Taille (réel) : pour la taille en mètres.
o EstEtudiant (booléen) : pour indiquer si la personne est étudiante.
2. Écrire un algorithme qui demande à l’utilisateur de saisir son nom, son âge et sa taille,
puis affiche les informations.
Exercice 2 : Structure Séquentielle - Calcul de le volume d’une Sphère
Objectif : Utiliser une structure séquentielle pour effectuer un calcul simple.
Énoncé : Écrire un algorithme qui demande le rayon d’une sphère , puis calcule et affiche son
volume. Utiliser la formule :
4
volume= π×Rayon3 (Utilisez 3.14 comme valeur de π).
3
Exercice 3 : Structure Conditionnelle - Vérification de Parité
Objectif : Appliquer les structures conditionnelles simples.
Énoncé : Écrire un algorithme qui demande un nombre entier à l’utilisateur et affiche si le
nombre est pair ou impair.
Exercice 4 : Structure Conditionnelle - Calcul de Remise
Objectif : Utiliser les structures conditionnelles avec plusieurs cas.
Énoncé : Un magasin propose des remises en fonction de la quantité achetée :
10% de remise pour une quantité entre 10 et 19.
20% de remise pour une quantité entre 20 et 49.
30% de remise pour une quantité de 50 ou plus.
Écrire un algorithme qui demande le prix unitaire d’un produit et la quantité achetée, puis
calcule le prix total après remise et l'affiche.
Exercice 5 : Structure Répétitive - Somme des N Premiers Nombres
Objectif : Introduire la structure répétitive Pour.
Énoncé : Écrire un algorithme qui demande un entier N et calcule la somme des N premiers
entiers positifs, c'est-à-dire 1+2+3+...+N.
Exercice 6 : Boucle Tant Que - Validation de Saisie
Objectif : Utiliser une boucle Tant que pour valider une saisie.
Énoncé : Écrire un algorithme qui demande un nombre entre 1 et 10 à l’utilisateur. Si la saisie
n'est pas correcte, l’algorithme redemande la saisie jusqu'à obtenir un nombre valide.
Correction : Cet exercice montre comment utiliser la boucle Tant que pour une saisie
contrôlée et la validation d’une condition.
Exercice 7 : Tableau et Recherche d’Élément
Objectif : Manipuler un tableau et effectuer une recherche linéaire.
Énoncé :
1. Écrire un algorithme qui demande à l’utilisateur de remplir un tableau de 5 entiers.
2. Puis, l'algorithme doit demander un nombre à rechercher dans le tableau et indiquer
s’il est présent ou non.
Série 2
Exercice 1 : Analyse de Résultats d'une Boucle For
Énoncé : Analyser l'algorithme suivant et expliquer ce que fait l’algorithme. Donner
également le résultat final pour N = 5.
Algorithme ExempleBoucle
Variables
N, i, Somme : Entier
Début
Somme ← 0
Pour i de 1 à N Faire
Somme ← Somme + (i * i)
Fin Pour
Ecrire("La somme est : ", Somme)
Fin
Questions :
1. Que fait cet algorithme en termes de calcul ?
2. Que sera le résultat final si N = 5 ?
Réponse attendue : Cet algorithme calcule la somme des carrés des N premiers nombres
entiers. Pour N = 5, le résultat final sera : Somme=12+22+32+42+52=55
Exercice 2 : Compréhension de la Structure Conditionnelle avec Boucle
Énoncé : Étudier et analyser l'algorithme suivant. Prédire la sortie pour les valeurs X = 3 et X
= -2.
Algorithme ConditionBoucle
Variables
X, i, Produit : Entier
Début
Produit ← 1
Pour i de 1 à 5 Faire
Si X > 0 Alors
Produit ← Produit * X
Sinon
Produit ← Produit * i
Fin Si
Fin Pour
Ecrire("Le produit est : ", Produit)
Fin
Questions :
1. Décrire ce que fait l’algorithme avec la condition Si.
2. Quel sera le résultat final pour X = 3 et pour X = -2 ?
Réponse attendue : L’algorithme multiplie Produit par X si X est positif, et par i si X est
négatif ou nul.
Pour X = 3 : Produit = 3^5 = 243.
Pour X = -2 : Produit = 1 * 1 * 2 * 3 * 4 * 5 = 120.
Exercice 3 : Analyse d'un Algorithme avec Tableau
Énoncé : Analyser l'algorithme suivant et expliquer ce que fait l'algorithme. Calculer le
résultat final avec Tableau = [2, 3, 4, 5, 6].
Algorithme SommeElementsPairs
Variables
Tableau : Tableau d'Entiers [5]
i, SommePairs : Entier
Début
SommePairs ← 0
Pour i de 0 à 4 Faire
Si Tableau[i] mod 2 = 0 Alors
SommePairs ← SommePairs + Tableau[i]
Fin Si
Fin Pour
Ecrire("La somme des éléments pairs est : ", SommePairs)
Fin
Questions :
1. Expliquer ce que calcule cet algorithme.
2. Calculer la valeur de SommePairs pour Tableau = [2, 3, 4, 5, 6].
Réponse attendue : L’algorithme additionne tous les éléments pairs du tableau Tableau.
Avec Tableau = [2, 3, 4, 5, 6], le résultat final sera 2 + 4 + 6 = 12.
Exercice 4 : Prédiction du Comportement d'un Algorithme avec Condition et
Boucle
Énoncé : Observer l'algorithme suivant et déterminer la valeur de X et Y après son exécution
avec X = 8 et Y = 2.
Algorithme ExempleCondition
Variables
X, Y : Entier
Début
Tant que X > Y Faire
Si X mod 2 = 0 Alors
X ← X / 2
Sinon
X ← X - 1
Fin Si
Y ← Y + 1
Fin Tant que
Ecrire("Valeur de X : ", X)
Ecrire("Valeur de Y : ", Y)
Fin
Questions :
1. Décrire le fonctionnement de cet algorithme.
2. Déterminer la valeur de X et Y à la fin si X = 8 et Y = 2.
Réponse attendue : L’algorithme réduit la valeur de X soit en la divisant par 2 (si X est pair)
soit en la diminuant de 1 (si X est impair), et augmente Y de 1 à chaque itération jusqu'à ce que
X soit inférieur ou égal à Y.
Avec X = 8 et Y = 2, la valeur finale sera X = 2 et Y = 5.
Exercice 5 : Analyse de l'Utilisation d'un Tableau Multidimensionnel
Énoncé : Analyser l'algorithme suivant. Indiquer les valeurs de chaque élément de Tableau
après exécution.
Algorithme RemplirTableau2D
Variables
Tableau : Tableau de 3x3 d'Entiers
i, j : Entier
Début
Pour i de 0 à 2 Faire
Pour j de 0 à 2 Faire
Tableau[i][j] ← i * j
Fin Pour
Fin Pour
Ecrire("Tableau final : ")
Pour i de 0 à 2 Faire
Pour j de 0 à 2 Faire
Ecrire(Tableau[i][j], " ")
Fin Pour
Ecrire()
Fin Pour
Fin
Questions :
1. Expliquer ce que fait cet algorithme.
2. Indiquer le contenu final de Tableau.
Réponse attendue : L'algorithme remplit un tableau 3x3 où chaque élément est le produit de
ses indices i et j. Le tableau final sera :
Copier le code
0 0 0
0 1 2
0 2 4
Exercice 6 : Compréhension d’un Algorithme de Comptage
Énoncé : Observer l'algorithme suivant et expliquer ce qu'il fait. Donner la valeur finale de
Compteur pour Tableau = [1, 5, 8, 12, 15, 18, 21].
Algorithme CompterDivisiblesParTrois
Variables
Tableau : Tableau d'Entiers [7]
i, Compteur : Entier
Début
Compteur ← 0
Pour i de 0 à 6 Faire
Si Tableau[i] mod 3 = 0 Alors
Compteur ← Compteur + 1
Fin Si
Fin Pour
Ecrire("Nombre d'éléments divisibles par 3 : ", Compteur)
Fin
Questions :
1. Expliquer ce que fait cet algorithme.
2. Calculer la valeur finale de Compteur pour Tableau = [1, 5, 8, 12, 15, 18,
21].
Réponse attendue : Cet algorithme compte les éléments de Tableau qui sont divisibles par 3.
Pour Tableau = [1, 5, 8, 12, 15, 18, 21] , il y a 4 éléments divisibles par 3 ( 12, 15,
18, et 21), donc la valeur de Compteur sera 4.