TD123456ALG234
TD123456ALG234
TD123456ALG234
TD ALG234
(Algorithmique & Programmation)
Par M. BEKONO James Jaurès
(Ingénieur de conception en Informatique et Télécommunications)
2024/2025
-1-
Série 1 : Initiation aux algorithmes
Exercice 1
Soit l’algorithme suivant :
Algorithme A ;
Var a, b, c : entier ;
Début
a5;
ba+1;
ca+b ;
Fin
Exercice 2
Soit l’algorithme suivant :
Algorithme B ;
Var a, b, c, d : entier ;
Début
Ecrire (″Donner a et b″) ;
Lire (a, b) ;
ca+b ;
da*b ;
Ecrire (c, d) ;
Fin
a) Que fait cet algorithme ?
b) Dérouler l’algorithme pour a=5 et b=6.
c) Même question pour a=6 et b=5.
-2-
Exercice 3
Exercice 4
Algorithme D ;
Var a, b, c : entier ;
Début
Ecrire (donner a et b) ;
Lire (‘a, b’) ;
ca*a;
db*b ;
Ecrire (c, d) ;
Fin
Exercice 5
Algorithme A ;
Var x, y, z, s : entier ;
Début
x ← 10;
-3-
y ← 15;
z ← 20 ;
m ← (x + y + z) / 2 ;
Ecrire (m) ;
Ecrire (x + y + z / 2) ;
Fin
Exercice 6
Algorithme B ;
Var val, double, triple : entier ;
Début
val ← 1000 ;
double ← val * 2 ;
triple ← val * 3 ;
Ecrire val ;
Ecrire double ;
Ecrire triple ;
Fin
Exercice 7
Supposons que l’on veut afficher à l’écran de l’utilisateur le message « Bonjour à tous ».
a) Essayer d’écrire l’algorithme correspondant.
b) Quelle est la sortie (output) de cet algorithme ? et l’entrée (input) ?
c) Quelles sont les instructions à utiliser pour manipuler les entrées (et les sorties) d’un
algorithme ?
d) Reformuler votre algorithme pour qu’il y ait une entrée et une sortie.
-4-
Série 2 : Instructions algorithmiques de base
Exercice 1
a. Ecrire un algorithme qui permet de lire un nombre (donné par l’utilisateur), puis il
calcule et affiche son carré.
b. Même question pour calculer et afficher le cube, ensuite l’inverse de ce nombre.
Exercice 2
a. Ecrire un algorithme qui permet de lire les notes de trois matières ensuite il calcule et
affiche leur moyenne.
b. Modifier l’algorithme dans le cas où les matières ont des coefficients qui doivent être
donnés avec les notes.
Exercice 3
Ecrire un algorithme qui permet de lire deux variables numériques a et b et de les afficher
avant et après leur permutation.
Exercice 4
Proposer un algorithme qui réalise la permutation de deux variables numériques sans avoir
utiliser une troisième variable.
-5-
Série 3 : Les instructions conditionnelles
Exercice 1
Ecrire un algorithme qui permet d’afficher la valeur absolue d’un nombre donné.
Exercice 2
Ecrire un algorithme qui permet de déterminer si un entier donné est pair ou impair.
Exercice 3
Ecrire un algorithme qui demande trois lettres à l’utilisateur, et l’informe ensuite si leur ordre
de lecture et le même que l’ordre alphabétique.
Exercice 4
a) Écrire un algorithme qui lit trois variables au clavier et affiche le maximum des trois.
b) Même question pour plus de trois variables.
Exercice 5
Exercice 6
Ecrire un algorithme qui permet de lire un numéro du jour de la semaine (numéro entre 1 et
7) et d’afficher le nom du jour correspondant. Par exemple, le dimanche correspond au
numéro 1.
-6-
Série 4 : Les instructions itératives
Exercice 1
Algorithme 1 :
Var i : entier ; Début
Pour i←2 à 8
Écrire (''Bonjour'') ;
Écrire (i) ;
Fin pour
Écrire (''fin'') ;
Fin
Algorithme 2 :
Var encore : booléen ;
Début
encore←Vrai;
Répéter
Écrire (''Bonjour'') ;
Jusqu'à (encore)
Écrire (''fin'') ;
Fin
Algorithme 3 :
Var encore : booléen ;
Début
encore ← Faux ;
Tant que (encore) faire
Écrire (''Salut'') ;
Fin tant que
Écrire (''fin'') ;
Fin
-7-
Exercice 2
Ecrire l’algorithme qui affiche la somme des prix d'une suite d'articles saisie par l'utilisateur
et se terminant par zéro (Justifier le choix de la boucle à utiliser).
Exercice 3
a) Ecrire l’algorithme qui demande un entier, ensuite il affiche les dix entiers suivants.
Par exemple, si l’on entre le nombre 10, l’algorithme affichera les nombres 11, 12,…,
20, 21.
b) Modifier l’algorithme pour qu’il affiche les dix nombres pairs suivants.
Exercice 4
Exercice 5
Ecrire un algorithme qui permet de calculer la factorielle d’un entier (qui doit être positif).
Où n! = n x (n-1) x (n-2) x … x 1, si n ≥ 1 et n! = 1 si n = 0.
Exercice 6
Exemple :
Entrer le nombre numéro 1 : 12
Entrer le nombre numéro 2 : 3
... (on suppose que les autres nombres sont ≥ 3) Entrer
le nombre numéro 10 : 6
Résultat :
Le minimum est : 3
-8-
c) Réécrire l’algorithme précédent dans le cas où l’on ne connaît pas à l’avance
combien de nombres l’utilisateur souhaite saisir, mais la saisie des nombres s’arrête
lorsque l’utilisateur entre un zéro.
Exercice 7
Ecrire un algorithme qui demande un nombre puis vérifier si ce nombre est premier ou non
Exercice 8
a) Supposons que le code pin d’un utilisateur est 5454. Ecrire un algorithme qui
demande à cet utilisateur de saisir son code pin jusqu’à ce que la réponse convienne.
b) Ajouter une condition qui annule la saisie après trois tentatives erronées.
-9-
Série 5 : Les tableaux et les structures
Exercice 1
a) Ecrire un algorithme qui permet de lire 10 valeurs données par l’utilisateur en les
stockant dans un tableau, ensuite l’algorithme doit afficher seulement les valeurs
impaires.
b) Modifier l’algorithme (a) pour que le nombre de valeurs soit donné par l’utilisateur.
c) Réécrire l’algorithme (b) en divisant cette fois-ci le tableau initial en deux tableaux, l’un
contenant les valeurs paires et l’autre contenant les valeurs impaires, et en les affichant
par la suite.
Exercice 2
a) Soit un tableau de 10 éléments réels, écrire un algorithme qui permet de lire ce tableau
et rechercher le maximum des éléments ainsi que sa position, ensuite l’afficher.
Exercice 3
Ecrire un algorithme qui permet de rechercher une valeur numérique saisie par l’utilisateur
dans une matrice de taille N*M (N et M sont données).
Exercice 4
Ecrire l’algorithme qui permet de compter le nombre d’occurrences d’un élément donné dans
une matrice de taille N*M.
Exercice 5
Définir une structure Rationnel permettant de coder un nombre rationnel, avec numérateur
et dénominateur. Ecrire ensuite l’algorithme qui permet la saisie, l ’ affichage, la
multiplication et l’addition de deux rationnels. Pour l’addition, afin de simplifier, on ne
cherchera pas nécessairement le plus petit dénominateur commun.
Exercice 6
Soit une structure Compte qui code un compte bancaire défini par un numéro, nom et prénom
et date d’ouverture. Donner la définition des structures nécessaires.
Ecrire ensuite l’algorithme qui permet de saisir un tableau de N comptes et de l’afficher.
- 10 -
Série 6 : Les fonctions et les procédures
Exercice 1
Supposons qu’on veut écrire un sous-programme MoySom qui prend en paramètres trois
entiers a, b et c, et qui affiche leur somme et renvoie leur moyenne.
Quelle est la déclaration correspondante ?
- Fonction MoySom (a : entier, b: entier, c: entier) : entier ;
- Fonction MoySom (a : entier, b: entier, c: entier) : réel ;
- Procédure MoySom (a : entier, b: entier, c: entier, som: entier, moy:
réel) ;
- Fonction MoySom (a : entier, b: entier, c: entier) : entier, réel ;
Exercice 2
a) Écrire deux fonctions Min et Max qui retournent le minimum et le maximum de deux
nombres réels donnés comme paramètres.
b) Écrire deux autres fonctions Min_4 et Max_4 utilisant les fonctions Min et Max pour
retourner le minimum et le maximum de quatre nombres réels passés en paramètres.
Exercice 3
Ecrire un algorithme qui permet de lire une liste de N étudiants ayant comme informations :
numéro, nom, prénoms et moyenne du bac. L’algorithme doit afficher cette liste triée par
moyenne en ordre décroissant.
Exercice 4
- 11 -
Chaque produit possède une référence (qui est un nombre entier), un prix en DA et une
quantité disponible.
Exercice de réflexion
Exercice A :
On se propose de réaliser une calculatrice qui permet de faire les opérations arithmétiques
de base (+, -, * et /) de deux nombres a et b, ainsi que de savoir :
- si la somme a + b est paire ;
- si le produit a*b est pair ;
- le signe de la somme a + b ; - le signe du produit a*b.
Ecrire l’algorithme correspondant.
Exercice B :
On se propose de faire la rotation (décalage des positions) des éléments d’un tableau.
1. Proposer un algorithme pour ce problème sachant que le degré de rotation doit être
défini par l’utilisateur. Exemple pour un degré de rotation égal à 2 : Avant rotation :
1,3,9,4,5,2 ➔ Après rotation : 5,2,1,3,9,4
2. Modifier l’algorithme pour que la rotation puisse être faite dans les deux sens
(avantarrière).
Exercice C :
Une société désire organiser un concours de recrutement en deux spécialités S1 et S2.
Le concours se porte sur trois (03) matières : M1, M2 et M3.
Un candidat est retenu si les conditions suivantes sont toutes remplies :
- Il doit se classer parmi les dix (10) premiers,
- Il ne doit pas avoir eu un zéro dans l’une des trois matières,
- Sa spécialité doit correspondre à l’une des deux spécialités concernées.
La note de classement est la moyenne des notes des trois matières.
- 12 -
Ecrire l’algorithme qui permet de lire les informations nécessaires, de classer tous les
candidats par ordre de mérite, ensuite afficher la liste des candidats retenus pour le
recrutement.
Exercice D :
Une entreprise veut gérer la liste de ses employés en les stockant dans un tableau. Sachant
que chaque employé possède comme information : un matricule, un nom et prénom, une
date de naissance, une situation familiale et une adresse. Cette dernière est définie par un
numéro, rue, ville et code postale.
1. Donner la fonction ou la procédure qui permet de :
- rechercher un employé par son matricule et afficher ses informations.
- afficher les nom et prénoms des employés qui habitent une même ville donnée.
2. Ecrire l’algorithme qui permet de créer la liste des employés et de faire appel à ces
fonctions (ou procédures).
- 13 -