100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 1
La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec les algorithmes et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur les algorithmes et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!
Vous pouvez lire notre tutoriel sur les algorithmes avant de résoudre les exercices suivants.
1. Écrire un algorithme pour afficher le message ‘Hello, World!’ sur l’écran.
Exemple de sortie:
Hello World!
Algorithme HelloWorld
Début
Ecrire("Hello, World!")
Fin
2. Écrire un algorithme permettant la saisie de deux nombres et l’affichage de leur somme.
Exemple de sortie:
Entrer 1er nombre: 10 Entrer 2éme nombre: 5 La somme de 10 et 5 = 15
Algorithme SommeDeuxNombres
Variables n1,n2,s :réels
Début
Ecrire("Entrer 1er nombre:")
Lire(n1) // Lit le premier nombre
Ecrire("Entrer 2éme nombre:")
Lire(n2) // Lit le deuxième nombre
s ← n1 + n2 // Calcule la somme des deux nombres
Ecrire("La somme de ",n1,"et",n2,"=",s) // Affiche le résultat
Fin
3. Écrire un algorithme permettant de permuter le contenu de deux entiers n1 et n2 entrés par l’utilisateur, et afficher ces entiers après permutation.
Exemple de sortie:
Entrer un entier n1 : 10 Entrer un entier n2 : 5 ------permutation------ n1 = 5 n2 = 10
Algorithme Permutation
Variables n1,n2,tmp :entiers
Début
Ecrire("Entrer un entier n1:")
Lire (n1) // Lit le premier entier
Ecrire("Entrer un entier n2:")
Lire (n2) // Lit le deuxième entier
tmp ← n1 // Sauvegarde temporairement la valeur de n1
n1 ← n2 // Affecte la valeur de n2 à n1
n2 ← tmp // Récupère l'ancienne valeur de n1
Ecrire("------permutation------")
Ecrire("n1 = ",n1) // Affiche la nouvelle valeur de n1
Ecrire("n2 = ",n2) // Affiche la nouvelle valeur de n2
Fin

4. Écrire un algorithme pour calculer la factorielle d’un nombre entier saisi par l’utilisateur. (Remarque: le factoriel de 5, qui s’écrit 5! = 5 × 4 × 3 × 2 × 1).
Exemple de sortie:
Saisir un nombre : 5 Le factoriel de 5 est: 120
Algorithme Factoriel
Variables nbr,f,i: entiers
Début
Ecrire("Saisir un nombre")
Lire (nbr) // Lit le nbr dont on veut calculer factoriel
f ← 1 // Initialise le factoriel à 1
// Parcourt tous les entiers de 1 jusqu'à nbr
Pour i de 1 jusqu'à nbr faire
f ← f * i // Multiplie progressivement le résultat par i
FinPour
// Affiche le résultat du factoriel
Ecrire("Le factoriel de ",nbr," est: " f)
Fin
5. Écrire un algorithme permettant d’afficher si un nombre saisi est pair ou impair.
Exemple de sortie:
Entrer un nombre: 8 Nombre pair
Algorithme PairImpair
Variables nbr :entier
Début
Ecrire("Entrer un nombre:")
Lire(nbr) // Lit le nombre saisi par l'utilisateur
// Vérifie si le reste de division par 2 est égal à 0
Si(nbr mod 2 = 0) alors
Ecrire("Nombre pair") // Le nombre est pair
SiNon
Ecrire("Nombre impair") // Le nombre est impair
FinSi
Fin
6. Écrire un algorithme permettant d’afficher le plus grand des 3 nombres saisis au clavier.
Exemple de sortie:
Entrer 1er nombre : 2 Entrer 2éme nombre: 9 Entrer 3éme nombre: 7 Le nombre le plus grand est: 9
Algorithme Max3Nbr
Variables n1,n2,n3,max :entiers
Début
Ecrire("Entrer 1er nombre :")
Lire(n1) // Lit le premier nombre
Ecrire("Entrer 2éme nombre:")
Lire(n2) // Lit le deuxième nombre
Ecrire("Entrer 3éme nombre:")
Lire(n3) // Lit le troisième nombre
max ← n1 // Suppose que n1 est le plus grand nombre
Si (n2 >= max) alors
max ← n2 //Remplace max si n2 est supérieur ou égal à max
FinSi
Si(n3 >= max) alors
max ← n3 //Remplace max si n3 est supérieur ou égal à max
FinSi
// Affiche le plus grand nombre
Ecrire("Le nombre le plus grand est: ",max)
Fin
7. A quoi sert l’algorithme suivant?
Variable nbr : entier
Debut
nbr ← 0
Ecrire("Entrez un nombre entre 1 et 5")
TantQue(nbr < 1 ou nbr > 5)
Lire(nbr)
Si(nbr < 1 ou nbr > 5) Alors
Ecrire("Nombre incorrect. Recommencez")
FinSi
FinTantQue
Fin
8. Écrire un algorithme qui calcule la valeur absolue d’un nombre saisi par l’utilisateur.
Exemple de sortie:
Entrer un nombre: -5 La valeur absolue de -5 est 5
Algorithme NbrAbsolue
Variable n :entier
Début
Ecrire("Entrer un nombre :")
Lire(n) // Lit le nombre saisi par l'utilisateur
Si(n >= 0) alors // Vérifie si le nombre est positif ou égal à 0
// Pour un nombre positif, sa valeur absolue est le nombre lui-même
Ecrire("La valeur absolue de ",n," est ",n)
SiNon
// Pour un nombre négatif, on change son signe
Ecrire("La valeur absolue de ",n," est ",-n)
FinSi
Fin
9. Écrire un algorithme qui calcule la moyenne de 3 nombres entrés par l’utilisateur.
Exemple de sortie:
Entrer 1er nombre : 5 Entrer 2éme nombre: 7 Entrer 3éme nombre: 3 La moyenne est : 5
Algorithme Moyenne3Nbr
Variables n1,n2,n3,moy:entiers
Début
Ecrire("Entrer n1:")
Lire(n1) // Lit le premier nombre
Ecrire("Entrer n2:")
Lire(n2) // Lit le deuxième nombre
Ecrire("Entrer n3:")
Lire(n3) // Lit le troisième nombre
// Calcule la moyenne entière des trois nombres
moy ← (n1+n2+n3) div 3
// Affiche la moyenne calculée
Ecrire("La moyenne est: ",moy)
Fin
10. Écrire un algorithme qui affiche 10 fois « Hello ». En utilisant la boucle Tant que.
Exemple de sortie:
Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello
Algorithme Hello10Fois
Variable n: entier
Début
n ← 1 // Initialise le compteur à 1
// Répète la boucle tant que n est inférieur ou égal à 10
TantQue(n <= 10) faire
Ecrire("Hello") // Affiche "Hello" à chaque répétition
n ← n + 1 // Incrémente le compteur de 1
FinTantQue
Fin
11. Ecrivez un algorithme qui calcule la somme de 1 à 10. En utilisant la boucle TantQue.
Indication:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
Exemple de sortie:
La somme de 1 à 10 est 55
Algorithme Somme1A10
Variable i,sum: entiers
Début
i ← 1 // Initialise le compteur à 1
sum ← 0 // Initialise la somme à 0
// Répète la boucle tant que i est inférieur ou égal à 10
TantQue(i <= 10) faire
sum ← sum + i // Ajoute la valeur de i à la somme
i ← i + 1 // Incrémente le compteur de 1
FinTantQue
Ecrire("La somme de 1 à 10 est: ",sum) //Affiche la somme finale
Fin
12. Ecrivez un algorithme qui calcule la somme de 1 à N, où N est saisi par l'utilisateur. En utilisant la boucle TantQue.
Indication:
1 + 2 + 3 + 4 + 5 + 6 + 7 = 28
Exemple de sortie:
Entrer un nombre: 7 La somme de 1 à 10 est 28
Algorithme SommeDe1AN
Variables i,sum,n: entiers
Debut
i ← 1 // Initialise le compteur à 1
sum ← 0 // Initialise la somme à 0
Ecrire("Entrer un nombre:")
Lire(n) // Lit la valeur de n saisie par l'utilisateur
// Répète la boucle tant que i est inférieur ou égal à n
TantQue(i <= n) faire
sum ← sum + i // Ajoute la valeur actuelle de i à la somme
i ← i + 1 // Incrémente i de 1 pour passer au nombre suivant
FinTantQue
Ecrire("La somme de 1 à n est:",sum) // Affiche la somme calculée
Fin
13. Ecrivez un algorithme qui affiche "Hello" 10 fois. En utilisant la boucle POUR.
Exemple de sortie:
Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello
Algorithme Hello10Fois
Variable n: entier
Début
Pour n de 1 jusqu'à 10 faire // Répète la boucle 10 fois, de 1 à 10
Ecrire("Hello") // Affiche "Hello" à chaque répétition
FinPour
Fin
14. Ecrivez un algorithme qui calcule la somme de 1 à 10. En utilisant la boucle POUR.
Indication:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
Exemple de sortie:
La somme de 1 à 10 est 55
Algorithme Somme1A10
Variable i,sum: entiers
Début
sum ← 0 // Initialise la somme à 0
Pour i de 1 jusqu'à 10 faire // Parcourt les nombres de 1 à 10
sum ← sum + i // Ajoute la valeur actuelle de i à la somme
FinPour
Ecrire("La somme de 1 à 10 est:", sum) // Affiche la somme finale
Fin
15. Ecrivez un algorithme qui calcule la somme de 1 à N, où N est saisi par l'utilisateur. En utilisant la boucle POUR.
Indication:
1 + 2 + 3 + 4 + 5 + 6 + 7 = 28
Exemple de sortie:
Entrer un nombre: 7 La somme de 1 à 10 est 28
Algorithme SommeDe1AN
Variables i,sum,n: entiers
Début
sum ← 0 // Initialise la somme à 0
Ecrire("Entrer un nombre:")
Lire(n) // Lit la valeur de n saisie par l'utilisateur
Pour i de 1 jusqu'à n faire // Parcourt tous les nombres de 1 à n
sum ← sum + i // Ajoute la valeur actuelle de i à la somme
FinPour
Ecrire("La somme de 1 à n est:",sum) // Affiche la somme finale
Fin
16. Écrire un algorithme qui affiche la table de multiplication de 3. En utilisant la boucle For.
Exemple de sortie:
3 x 0 = 0 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 3 x 10= 30
Algorithme TableMultiplication
Variable i:entier
Début
Pour i de 0 jusqu'à 10 faire // Parcourt les nombres de 0 à 10
Ecrire("3 x ",i," = ",i*3) //Calcule & affiche le résultat de 3 × i
FinPour
Fin
17. Écrire un algorithme qui affiche la table de multiplication d'un entier saisi par l'utilisateur, en utilisant la boucle POUR.
Exemple de sortie:
Entrer un nombre: 7 7 x 0 = 0 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 7 x 10= 70
Algorithme TableMultiplicationDeN
Variables i,n :entiers
Début
Ecrire("Donner un nombre:")
Lire(n) // Lit le nombre dont on veut afficher la table
Pour i de 0 jusqu'à 10 faire //Parcourt les multiplicateurs de 0 à 10
// Calcule et affiche chaque multiplication
Ecrire(n," x ",i," = ",i*n)
FinPour
Fin
18. Ecrivez un algorithme qui affiche "Hello" 10 fois. En utilisant la boucle Répéter Jusqu’à.
Exemple de sortie:
Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello
Algorithme Hello10Fois
Variables i: entier
Début
i ← 1 // Initialise le compteur à 1
Répéter
Ecrire("Hello") // Affiche "Hello" à chaque répétition
i ← i+1 // Incrémente le compteur de 1
Jusqu'à i>10 // Arrête la boucle lorsque i dépasse 10
Fin
19. Ecrivez un algorithme qui calcule la somme de 1 à 10. En utilisant la boucle Répéter Jusqu’à.
Indication:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
Exemple de sortie:
La somme de 1 à 10 est 55
Algorithme Somme1A10
Variables i,sum: entiers
Début
sum ← 0 // Initialise la somme à 0
i ← 1 // Initialise le compteur à 1
Répéter
sum ← sum + i // Ajoute la valeur actuelle de i à la somme
i ← i+1 // Incrémente le compteur de 1
Jusqu'à i > 10 // Arrête la boucle lorsque i dépasse 10
Ecrire("La somme de 1 à 10 est:" sum) // Affiche la somme finale
Fin
20. Écrire un algorithme qui affiche la table de multiplication de 2. En utilisant la boucle Répéter Jusqu’à.
Exemple de sortie:
2 x 0 = 0 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 2 x 10= 20
Algorithme TableMultiplication
Variable i:entier
Début
i ← 0 // Initialise le compteur à 0
Répéter
Ecrire("2 x ",i," = ",i*2) // Calcule et affiche 2 × i
i ← i+1 // Incrémente le compteur de 1
Jusqu'à i > 10 // Arrête la boucle lorsque i dépasse 10
Fin
21. Écrire un algorithme permettant de saisir 10 nombres et de les stocker dans un tableau appelé myTab, puis de les afficher.
Exemple de sortie:
6 3 8 1 5 9 4 2 6 0 6 3 8 1 5 9 4 2 6 0
Algorithme AfficherTableau
Variable myTab[10]:reéls
i : entier
Début
Pour i de 1 jusqu❛à 10 faire // Parcourt les 10 positions du tableau
lire(myTab[i]) // Lit une valeur et la stocke dans le tableau
FinPour
// Parcourt à nouveau les 10 positions du tableau
Pour i de 1 jusqu'à 10 faire
Ecrire(myTab[i]) // Affiche la valeur située à la position i
FinPour
Fin
22. Écrire un algorithme permettant d'entrer 10 notes et d'afficher la moyenne de ces notes.
Exemple de sortie:
6 3 8 1 5 9 4 2 6 0 La moyenne est: 4,4
Algorithme NoteMoyenne
Variables Notes[10], sum :réels
i :entier
Début
sum ← 0 // Initialise la somme des notes à 0
Pour i de 1 jusqu'à 10 faire // Parcourt les 10 notes à saisir
Lire(Notes[i]) // Lit une note et la stocke dans le tableau
sum ← sum + Notes[i] // Ajoute la note à la somme totale
FinPour
// Calcule et affiche la moyenne des 10 notes
Ecrire("La moyenne est:",sum/10)
Fin
23. Écrire un algorithme permettant la saisi de 10 nombres et l'affichage du maximum de ces nombres.
Exemple de sortie:
Entrer un nombre: 6 Entrer un nombre: 3 Entrer un nombre: 8 Entrer un nombre: 1 Entrer un nombre: 5 Entrer un nombre: 7 Entrer un nombre: 4 Entrer un nombre: 2 Entrer un nombre: 6 Entrer un nombre: 0 Le maximum est: 8
Algorithme myTabMax
Variables myTab[10],max,i:réels
Début
Ecrire("Entrer un nombre:")
Lire(myTab[0]) // Lit le 1er nombre et le stocke dans le tableau
max ← myTab[0] // Initialise max avec la 1er valeur du tableau
// Parcourt les autres positions du tableau
Pour i de 1 jusqu'à 10 faire
Ecrire("Entrer un nombre:")
Lire(myTab[i]) // Lit un nombre et le stocke dans le tableau
// Vérifie si la valeur actuelle est supérieure au max
Si (myTab[i] > max) alors
max ← myTab[i] // Met à jour max avec la nouvelle valeur
FinSi
FinPour
// Affiche la plus grande valeur du tableau
Ecrire("Le maximum est:",max)
Fin
24. Ecrivez un algorithme qui permet d'entrer 10 nombres dans un tableau, et de calculer le nombre d'occurrences d'un élément E dans ce tableau. Où E est entré par l'utilisateur.
Exemple de sortie:
Entrer un nombre: 6 Entrer un nombre: 3 Entrer un nombre: 8 Entrer un nombre: 6 Entrer un nombre: 5 Entrer un nombre: 7 Entrer un nombre: 4 Entrer un nombre: 6 Entrer un nombre: 6 Entrer un nombre: 0 Entrer Le nombre recherché: 6 Nombre d'occurences de 6 est 4
Algorithme NbrOccurences
Variables nbrRech,myTab[10]:réels
nbrOcc,i:entiers
Début
nbrOcc ← 0 // Initialise le compteur d'occurrences à 0
Pour i de 1 jusqu❛à 10 faire // Parcourt les 10 positions du tableau
Ecrire("Entrer un nombre:")
Lire(myTab[i]) // Lit un nombre et le stocke dans le tableau
FinPour
Ecrire("Entrer Le nombre recherché:")
Lire(nbrRech) // Lit le nombre dont on veut compter les occurrences
// Parcourt à nouveau toutes les valeurs du tableau
Pour i de 1 jusqu❛à 10 faire
// Vérifie si la valeur actuelle correspond au nbr recherché
Si(myTab[i] = nbrRech) alors
// Incrémente le compteur lorsqu'une occurrence est trouvé
nbrOcc ← nbrOcc + 1
FinSi
FinPour
// Affiche le nombre total d'occurrences
Ecrire("Nombre d'occurences de ",nbrRech," est ",nbrOcc)
Fin
25. Ecrivez un algorithme pour entrer 10 entiers dans un tableau et trier ce tableau dans un ordre croissant. Affichez ensuite ce tableau après l'avoir trié.
Exemple de sortie:
Entrer un nombre: 8 Entrer un nombre: 1 Entrer un nombre: 5 Entrer un nombre: 6 Entrer un nombre: 3 Entrer un nombre: 2 Entrer un nombre: 4 Entrer un nombre: 7 Entrer un nombre: 9 Entrer un nombre: 0 Tableau trié: 0 1 2 3 4 5 6 7 8 9
Algorithme TrierTab
Variables i,j,tmp,myTab[10]:entiers
Début
Pour i de 1 jusqu❛à 10 faire // Parcourt les 10 positions du tableau
Ecrire("Entrer un nombre:")
Lire(myTab[i]) // Lit un nombre et le stocke dans le tableau
FinPour
// Parcourt le tableau jusqu❛à l❛avant-dernier élément
Pour i de 1 jusqu❛à 9 faire
// Compare l❛élément actuel avec les suivants
Pour j de i+1 jusqu❛à 10 faire
// Vérifie si un élément plus petit a été trouvé
Si(myTab[j] < myTab[i]) alors
// Sauvegarde temporairement la valeur de myTab[i]
tmp ← myTab[i]
// Place la plus petite valeur à la position i
myTab[i] ← myTab[j]
// Place l❛ancienne valeur de myTab[i] à la position j
myTab[j] ← tmp
FinSi
FinPour
FinPour
Pour i de 1 jusqu❛à 10 faire // Parcourt le tableau trié
Ecrire(myTab[i]) // Affiche les éléments dans l'ordre croissant
FinPour
Fin
26. Écrire un algorithme pour afficher les nombres pairs entre 0 et N, où N est saisi par l'utilisateur.
Exemple de sortie:
Entrer un nombre : 9 0 2 4 6 8
Algorithme NbrPaire
Variables i,N : entiers
Début
Ecrire("Entrer un nombre: ")
lire(N) // Lit la valeur limite saisie par l'utilisateur
Pour i de 0 jusqu❛à N faire // Parcourt tous les nombres de 0 à N
Si(i mod 2 = 0) alors // Vérifie si i est divisible par 2
Ecrire(i) // Affiche i s'il est pair
FinPour
Fin
27. Ecrivez un algorithme qui calcule la somme des nombres impairs compris entre 1 et un nombre entier N saisi par l'utilisateur. Exemple N=10 Somme=1+3+5+7+9=25
Exemple de sortie:
Entrer un nombre : 10 25
Algorithme SumNbrImpaires
Variables sum,i,N: entiers
Début
sum ← 0 // Initialise la somme des nombres impairs à 0
Ecrire("Entrer un nombre:")
Lire(N) // Lit la valeur limite saisie par l'utilisateur
Pour i de 1 jusqu❛à N faire // Parcourt tous les nombres de 1 à N
Si (i mod 2 ≠ 0) alors // Vérifie si i est un nombre impair
sum ← sum + i // Ajoute le nombre impair à la somme
FinSi
FinPour
Ecrire(sum) // Affiche la somme des nombres impairs
Fin
28. Écrire un algorithme permettant de calculer le plus grand commun diviseur (PGCD) entre deux nombres entiers entrés par l'utilisateur.
Exemple:
n1=18 et n2=45 PGCD(18, 45) = 9
Exemple de sortie:
Entrer deux nombres: 18 45 Le PGCD est : 9
Algorithme TrouverPGCD
Variables n1,n2,i,pgcd: entiers
Début
Ecrire("Entrer deux nombres:")
Lire(n1,n2) // Lit les deux nombres à comparer
i ← 1 // Commence la recherche des diviseurs à 1
// Parcourt les diviseurs possibles jusqu'au plus petit nombre
TantQue(i<=n1 et i<=n2) faire
// Vérifie si i divise exactement n1 et n2
Si(n1 mod i=0 et n2 mod i=0) alors
// Mémorise i comme le plus grand diviseur commun trouvé
pgcd ← i
FinSi
i ← i + 1 // Passe au diviseur suivant
FinTantQue
Ecrire("Le PGCD est:",pgcd) // Affiche le PGCD des deux nombres
Fin
29. Écrire un algorithme qui affiche un triangle d'entiers, en fonction d'un entier N saisi par l'utilisateur.
Exemple de sortie:
Donner un nombre: 7 1 22 333 4444 55555 666666 7777777
Algorithme NTriangle
Variables N,i,j: entiers
Début
Ecrire("Donner un nombre: ")
Lire(N) // Lit le nombre de lignes du triangle
// Parcourt les lignes du triangle
Pour i de 1 jusqu❛à N faire
// Répète l'affichage i fois sur chaque ligne
Pour j de 1 jusqu❛à i faire
Ecrire(i) // Affiche la valeur de i
FinPour
Ecrire("\n") // Passe à la ligne suivante
FinPour
Fin
30. Ecrire un algorithme qui compte le nombre de chiffres dans un nombre saisi par l'utilisateur.
Exemple de sortie:
Donner un nombre: 9876 Le nombre de chiffres est 4
Algorithme CompterChiffres
Variables Nbr,i: entiers
Début
Ecrire("Donner un nombre: ")
Lire(Nbr) // Lit le nombre saisi par l'utilisateur
i ← 1 // Initialise le compteur à 1 chiffre
// Vérifie s'il reste encore des chiffres à parcourir
TantQue(Nbr div 10 ≠ 0) faire
Nbr ← Nbr div 10 // Supprime le dernier chiffre du nombre
i ← i + 1 // Incrémente le nombre de chiffres comptés
FinTantQue
// Affiche le nombre total de chiffres
Ecrire("Le nombre de chiffres est",i)
Fin































vraiment excellent mille merçi