100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 3
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.
41. Un magasin offre à ses clients 25% de réduction sur les montants d’achat supérieurs à 500 €. Ecrivez un algorithme qui permet d’entrer le prix total hors TVA et de calculer le montant TTC en tenant compte de la remise et du fait que la TVA = 10%.
Exemple de sortie:
Entrer le montant HT: 900 Le montant TTC est: 742.5
Algorithme CalculerTTC
Variables TTC,HT: réels
Début
Ecrire("Entrer le montant HT:")
Lire(HT) // Lit le montant hors taxes
TTC ← HT + HT * 0.1 // Calcule le montant TTC (TVA de 10 %)
// Vérifie si le montant TTC dépasse 500
Si(TTC > 500) alors
TTC ← TTC - TTC * 0.25 // Applique une remise de 25 %
Ecrire("Le montant TTC est:",TTC)
SiNon
// Affiche le montant TTC sans remise
Ecrire("Le montant TTC est:",TTC)
FinSi
Fin
42. Ecrire un algorithme qui demande à l’utilisateur deux nombres n1 et n2 et lui indique ensuite si le produit de ces deux nombres est positif ou négatif. On prévoit dans le programme le cas où le produit peut être nul.
Exemple de sortie:
Entrer le 1er nombre: -1.5 Entrer le 2éme nombre: 3 Le produit est négatif ----------------------------- Entrer le 1er nombre: 1 Entrer le 2éme nombre: 3 Le produit est positif ----------------------------- Entrer le 1er nombre: 0 Entrer le 2éme nombre: 3 Le produit est nul
Algorithme ProduitNbr
Variables n1,n2:réels
Début
Ecrire("Entrer le 1er nombre:")
Lire(n1) // Lit le premier nombre
Ecrire("Entrer le 2éme nombre:")
Lire(n2) // Lit le deuxième nombre
// Vérifie si l'un des deux nombres est égal à 0
Si(n1 == 0 ou n2 == 0) alors
Ecrire("Le produit est nul")
FinSi
// Vérifie si le produit des deux nombres est négatif
Si(n1*n2 < 0) alors
Ecrire("Le produit est négatif")
FinSi
// Vérifie si le produit des deux nombres est positif
Si(n1*n2 > 0) alors
Ecrire("Le produit est positif")
FinSi
Fin
43. Écrire un algorithme qui permette d’ajouter un commentaire sur le score saisi au clavier (si le score est supérieur à 10 alors il affiche « GOOD! » sinon « NOT GOOD! » (NB: le score est compris entre 0 et 20!).
Exemple de sortie:
Entrer le score: 15.5 GOOD! ------------------ Entrer le score: 5 NOT GOOD! ------------------ Entrer le score: -5 Score invalide!
Algorithme ValidateScore
Variables score :réel
Début
Ecrire("Entrer le score: ")
Lire(score) // Lit le score saisi
// Vérifie si le score est en dehors de l'intervalle [0, 20]
Si(score < 0 ou score > 20) alors
Ecrire("Score invalide!")
FinSi
// Vérifie si le score est compris entre 0 et 9,99
Si(score >= 0 et score < 10) alors
Ecrire("NOT GOOD!")
FinSi
// Vérifie si le score est compris entre 10 et 20
Si(score >= 10 et score <= 20) alors
Ecrire("GOOD!")
Fin
44. Le service de photocopie de votre université facture 0,50 € pour les 10 premières photocopies, 0,45 € pour les 20 suivantes et 0,30 € au-delà de 30 photocopies. Ecrivez un algorithme qui demande à l'utilisateur le nombre de photocopies réalisées et affiche la facture correspondante.
Exemple de sortie:
Entrez le nombre de papies: 25 Le prix total est: 11.25 €
Algorithme ServicePhotocopie
Variables N: entier
prix: réel
Début
Ecrire("Entrer le nombre de papies:")
Lire(N) // Lit le nombre de photocopies
Si(N <= 20) alors
// Calcule le prix avec un tarif de 0,50 € par photocopie
prix ← N * 0.50
FinSi
Si(N>20 et N<=30) alors
// Calcule le prix avec un tarif de 0,45 € par photocopie
prix ← N * 0.45
FinSi
Si(N > 30) alors
// Calcule le prix avec un tarif de 0,30 € par photocopie
prix ← N * 0.30
FinSi
// Affiche le prix total à payer
Ecrire("Le prix total est: ",prix," €")
Fin
45. Ecrivez un algorithme qui teste l'égalité de deux tableaux de nombres entiers (tailles 5). Le programme affiche TRUE si les éléments des deux tableaux correspondent, sinon il affiche FALSE.
Exemple de sortie:
1 2 3 4 5 1 2 3 4 5 TRUE 10 20 30 40 50 20 30 40 50 60 FALSE
Algorithme Comparer2Tableaux
Variables Tab1[5],Tab2[5],i,not_equal: entiers
Début
not_equal ← 0 // Suppose au départ que les 2 tableaux sont identiques
Pour i de 1 à 5 faire
Lire(Tab1[i]) // Saisit les 5 éléments du premier tableau
FinPour
Pour i de 1 à 5 faire
Lire(Tab2[i]) // Saisit les 5 éléments du deuxième tableau
FinPour
// Compare les éléments des deux tableaux position par position
Pour i de 1 à 5 faire
Si(Tab1[i] ≠ Tab2[i]) alors
not_equal ← 1 // Signale qu'au moins un élément est différent
FinSi
FinPour
// Vérifie si aucune différence n'a été trouvée
Si(not_equal = 0) alors
Ecrire("TRUE") // Les deux tableaux sont identiques
SiNon
Ecrire ("FALSE") // Les deux tableaux sont différents
FinSi
Fin
46. Écrire un algorithme qui permet la saisie de 5 nombres et qui calcule la différence entre la somme des nombres pairs et la somme des nombres impairs.
Par exemple : 3 5 2 4 6 => (2+4+6) - (3+5) = 4
Exemple de sortie:
Entrer un nombre: 3 Entrer un nombre: 5 Entrer un nombre: 2 Entrer un nombre: 4 Entrer un nombre: 6 La différence égale à 4
Algorithme CalcDifférence
Variables myTab[5],i,sum: entiers
Début
sum ← 0 // Initialise la variable qui stockera le résultat final
Pour i de 1 à 5 faire // Répète l'opération pour les 5 nombres
Ecrire("Entrer un nombre:")
Lire(myTab[i]) // Lit et stocke le nombre dans le tableau
Si(myTab[i] mod 2 = 0) alors
sum ← sum + myTab[i] // Ajoute le nombre pair à la somme
SiNon
sum ← sum - myTab[i] // Soustrait le nombre impair de la somme
FinSi
FinPour
Ecrire("La différence égale à ",sum) // Affiche le résultat final
Fin
47. Écrire un algorithme qui permet à l'utilisateur d'entrer une série de nombres se terminant par 0, et qui affiche à la fin le nombre d'occurrences du nombre 3.
Exemple de sortie:
2 8 3 1 3 3 6 3 0 3 existe 4 fois
Algorithme OccurenceNbr
Variables i,Nbr:entiers
Début
i ← 0 // Initialise le compteur d'occurrences du nombre 3
Répéter
Lire(Nbr) // Lit un nombre saisi par l'utilisateur
Si(Nbr = 3) alors
i ← i + 1 // Incrémente le compteur si le nbr saisi est égal à 3
FinSi
Jusqu❛à(Nbr = 0) // Arrête la saisie lorsque l'utilisateur entre 0
// Vérifie si le nombre 3 a été trouvé au moins une fois
Si(i ≠ 0) alors
Ecrire(3," existe ",i," fois") //Affiche nombre d'occurrences de 3
SiNon
Ecrire(3," n'existe pas") //Indique que nbr 3 n'a jamais été saisi
FinSi
Fin
48. Écrire un algorithme pour afficher les mois en lettres en fonction du nombre saisi par l'utilisateur.
Exemple de sortie:
Entrer le numéro du mois: 1 Janvier Entrer le numéro du mois: 3 Mars Entrer le numéro du mois: 12 Décembre
Algorithme MoisEnLettre
Variables N:entier
Début
Ecrire("Entrer le numéro du mois:")
Lire(N) // Lit le numéro du mois saisi par l'utilisateur
Selon N faire // Sélectionne le mois correspondant au numéro saisi
1: Ecrire("Janvier") // 1 correspond au mois de janvier
2: Ecrire("Février") // 2 correspond au mois de février
3: Ecrire("Mars") // 3 correspond au mois de mars
4: Ecrire("Avril") // 4 correspond au mois d'avril
5: Ecrire("Mai") // 5 correspond au mois de mai
6: Ecrire("Juin") // 6 correspond au mois de juin
7: Ecrire("Juille") // 7 correspond au mois de juillet
8: Ecrire("Août") // 8 correspond au mois d'août
9: Ecrire("Septembre") // 9 correspond au mois de septembre
10: Ecrire("Octobre") // 10 correspond au mois d'octobre
11: Ecrire("Novembre") // 11 correspond au mois de novembre
12: Ecrire("Décembre") // 12 correspond au mois de décembre
Sinon
// Affiche un message si N n'est pas compris entre
Ecrire("Aucun mois ne correspondant à N")
FinSelon
Fin
49. Écrire un algorithme qui calcule les nombres de Fibonacci jusqu'à 50.

Exemple de sortie:
Fibonacci jusqu'à 50: 1 1 2 3 5 8 13 21 34
Algorithme Fibonacci
Variables sum,f1,f2:entier
Début
sum ← 0 // Initialise la variable qui stockera le prochain terme
f1 ← 1 // Initialise le premier terme de la suite
f2 ← 1 // Initialise le deuxième terme de la suite
Pour i de 1 à 50 faire // Répète le calcul pour générer 50 termes
// Calcule le prochain terme en additionnant les deux précédents
sum ← f1 + f2
// Décale f1 vers f2 pour préparer le prochain calcul
f2 ← f1
// Met à jour f1 avec le nouveau terme calculé
f1 ← sum
Ecrire(sum) // Affiche le terme actuel de la suite
FinPour
Fin
50. Écrire un algorithme qui calculera une somme courante. L'utilisateur saisira des nombres qui seront ajoutés à la somme et, lorsqu'un nombre négatif sera rencontré, arrêtera d'ajouter des nombres et écrira le résultat final.
Exemple de sortie:
1 2 3 4 -1 La somme est 10
Algorithme SommeNbr
Variables Nbr,sum:entiers
Début
sum ← 0 // Initialise la somme à 0
Répéter
Lire(Nbr) // Lit un nombre saisi par l'utilisateur
Si (Nbr >= 0) alors
sum ← Nbr + sum // Ajoute le nombre saisi à la somme
FinSi
Jusqu'à(Nbr < 0) // Arrête saisie dès qu un nbr négatif est rencontré
Ecrire("La somme est ",sum) // Affiche la somme calculée
Fin










