Exercices corrigés en algorithme
Exercice 1
Écrire un algorithme qui permet d’afficher le message « Bonjour ».
Correction de l’exercice 1 :
Algorithme Bonjour Début Ecrire("Bonjour") Fin
Exercice 2
Écrire un algorithme permettant de saisir deux nombres et d’afficher leur produit.
Correction de l’exercice 2 :
Algorithme produit_deux_nombres Variables m,n,p :réels Début Ecrire(" Entrer un nombre:") Lire(m) Ecrire(" Entrer un nombre:") Lire(n) p ← m * n Ecrire("Le produit de ",m,"et",n,"=",p) Fin
Exercice 3
Écrire un algorithme qui permet d’échange le contenu de deux entiers A et B ( permutation ) saisis par l’utilisateur. et afficher ces entiers après l’échange.
Correction de l’exercice 3 :
Algorithme Echange Variables A,B,auxiliaire :entiers Début Ecrire("Entrer un entier A:") Lire (A) Ecrire("Entrer un entier B:") Lire (B) auxiliaire ← A A ← B B ← auxiliaire Ecrire("le contenu de A est:",A) Ecrire("le contenu de B est:",B) Fin
Résultat de l’exécution
Entrer un entier A : 8 Entrer un entier B : 3 le contenu de A est: 3 le contenu de B est: 8
Exercice 4
Écrire un algorithme qui permet d’afficher si un nombre entier saisi au clavier (donné par l’utilisateur) est pair ou impair.
Correction de l’exercice 4 :
Algorithme Parité Variables n :entier Début Ecrire("Entrer un entier:") Lire(n) Si(n mod 2 = 0) alors Ecrire(n,"est pair") SiNon Ecrire(n,"est impair") FinSi Fin
Résultat de l’exécution
Entrer un entier : 9 9 est impair
Exercice 5
Écrire un algorithme qui permet d’afficher le plus grand de trois entiers saisis au clavier.
Correction de l’exercice 5 :
Algorithme Maximum_Trois_nombres Variables A,B,C,Max :entiers Début Ecrire(" Entrer A:") Lire(A) Ecrire(" Entrer B:") Lire(B) Ecrire(" Entrer C:") Lire(C) Max ← A Si (B >= Max) alors Max ← B FinSi Si(C >= Max) alors Max ← C FinSi Ecrire("Le Max est",Max) Fin
Résultat de l’exécution
Entrer un entier A : 8 Entrer un entier B : 3 Entrer un entier C : 1 Le Max est : 8
Exercice 6
Écrire un algorithme qui permet d’évaluer une note saisi au clavier ( si la note supérieur à 10 alors il affiche validé sinon non validé (NB: la note doit être comprise entre 0 et 20 ).
Correction de l’exercice 6 :
Algorithme Evaluer_note Variables note :réel Début Ecrire(" Entrer la note : ") Lire (note) Si(note < 0 ou note > 20) alors Ecrire("Erreur !!" ) FinSi Si( note >= 0 et note < 10) alors Ecrire(" non Validé" ) FinSi Si( note >= 10 et note <= 20) alors Ecrire("Validé" ) FinSi Fin
Résultat de l’exécution
Entrer la note : 12.5 Validé
Exercice 7
Écrire un algorithme qui demande deux nombres m et n à l’utilisateur et l’informe ensuite si le produit de ces deux nombres est positif ou négatif. On inclut dans le programme le cas où le produit peut être nul.
Correction de l’exercice 7 :
Algorithme Positif_Négatif Variables m,n:réels Début Ecrire(" Entrer un nombre:") Lire(m) Ecrire(" Entrer un nombre:") Lire(n) Si( n == 0 ou m == 0) alors Ecrire("Le produit est nul!!") FinSi Si( m*n < 0) alors Ecrire("Le produit est négatif") FinSi Si( m*n > 0) alors Ecrire("Le produit est positif") FinSi Fin
Résultat de l’exécution
Entrer un nombre: -7.4 Entrer un nombre: 2 Le produit est négatif
Exercice 8
Écrire un algorithme qui permet de calculer la valeur absolue d’un entier saisi par l’utilisateur.
Correction de l’exercice 8 :
Algorithme Variables m :entier Début Ecrire("Entrer un nombre :") Lire(m) Si( m >= 0) alors Ecrire("La valeur absolue de",m,"est",m) SiNon Ecrire("La valeur absolue de",m,"est",-m) FinSi Fin
Résultat de l’exécution
Entrer un nombre: -7 La valeur absolue de -7 est 7
Exercice 9
Écrire un algorithme qui permet de calculer la moyenne de trois entiers saisis par l’utilisateur.
Correction de l’exercice 9 :
Algorithme Variables A,B,C,moyenne:entiers Début Ecrire(" Entrer A:") Lire(A) Ecrire(" Entrer B:") Lire(B) Ecrire(" Entrer C:") Lire(C) moyenne ← (A+B+C) div 3 Ecrire("La moyenne égal à :",moyenne) Fin
Résultat de l’exécution
Entrer un Entier: 12 Entrer un Entier: 10 Entrer un Entier: 8 La moyenne égal à : 10
Exercice 10
Une boutique propose à ces clients, une réduction de% 15 pour les montants d’achat supérieurs à 200 dinars. Écrire algorithme permettant de saisir le prix total HT et de calculer le montant TTC en prenant en compte la réduction et la TVA=20%.
Correction de l’exercice 10:
Algorithme Variables Prix_HT,Prix_TTC: réels Debut Ecrire(" Entrer le montant HT:") Lire(Prix_HT) Prix_TTC ← Prix_HT + Prix_HT*0.2 Si( Prix_TTC > 200 ) alors Prix_TTC ← Prix_TTC - Prix_TTC*0.15 Ecrire("le montant TTC est: ",Prix_TTC) SiNon Ecrire("le montant TTC est:",Prix_TTC) FinSi Fin
Résultat de l’exécution
Entrer le montant HT: 180 le montant TTC est: 183.6
Exercice 11
Le centre de photocopie facture 0,25 Dinars pour une photocopie, 0. Ecrire un algorithme qui demande à l’utilisateur de saisir le nombre de photocopies effectuées et qui affiche la facture correspondante.
Correction de l’exercice 11:
Algorithme Variables Nb_papies:entier prix : réel Début Ecrire("Entrer le nombre de papies:") Lire(Nb_papies) Si ( Nb_papies <= 10 ) alors prix ← Nb_papies *0.25 FinSi Si(Nb_papies >10 et Nb_papies<=20)alors prix ← Nb_papies *0.20 FinSi Si (Nb_papies > 20)alors prix ← Nb_papies * 0.10 FinSi Ecrire("Le prix total est:",prix,"Dinars") Fin
Résultat de l’exécution
le nombre de papies: 17 Le prix total est: 3.4 Dinars
Exercice 12
Écrire algorithme qui demande l’âge d’un enfant et permet d’informer de sa catégorie sachant que les catégories sont les suivantes:
« poussin de 6 a 7 ans »
« pupille de 8 a 9 ans »
« minime de 10 a 11 ans »
» cadet après 12 ans « .
Correction de l’exercice 12:
Algorithme Variables age :réel Début Ecrire("Entrer votre age :") Lire(age) Si( age >= 5 et age <= 7) alors Ecrire(" Vous êtes poussin ") FinSi Si( age >= 8 et age <= 9 ) alors Ecrire(" Vous êtes pupille ") FinSi Si( age >= 10 et age <= 11) alors Ecrire(" Vous êtes minime ") FinSi Si ( age >= 12 ) alors Ecrire(" Vous êtes Cadet ") FinSi Fin
Résultat de l’exécution
Entrer votre age : 13 Vous êtes Cadet
Exercice 13
Écrire un algorithme permettant d’afficher le mois en lettre selon le numéro saisi au clavier. ( Si l’utilisateur tape 1 le programme affiche janvier, si 2 affiche février, si 3 affiche mars…)
Correction de l’exercice 13:
Algorithme Variables mois :entier Début Ecrire(" Entrer le numéro du mois:") Lire (mois) selon mois faire 1: Ecrire (" janvier ") 2: Ecrire (" février ") 3: Ecrire (" mars ") 4: Ecrire (" Avril") 5: Ecrire (" Mai ") 6: Ecrire (" Juin ") 7: Ecrire (" Juillet ") 8: Ecrire (" Août ") 9: Ecrire (" Septembre ") 10: Ecrire (" Octobre ") 11: Ecrire (" Novembre ") 12: Ecrire ("décembre ") sinon Ecrire ("le numéro ne correspondant à aucun mois") FinSelon Fin
Résultat de l’exécution
Entrer le numéro du mois:10 Octobre
Exercice 14
Écrire un algorithme qui permet d’afficher le message « Bonsoir » 10 fois. Utilisant la boucle Tant Que.
Correction de l’exercice 14:
Algorithme Bonsoir_10_fois Variables i: entier Début i ← 1 TantQue ( i <= 10 ) faire Ecrire("Bonsoir") i ← i+1 FinTantQue Fin
Résultat de l’exécution
Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir
Exercice 15
Écrire un algorithme permettant de calculer la somme S= 1+2+3+…+ 10. Utilisant la boucle Tant Que.
Correction de l’exercice 15:
Algorithme Somme_de_1_jusqu'au_10 Variables i,S: entiers Début i ← 1 S ← 0 TantQue ( i <= 10 ) faire S ← S + i i ← i + 1 FinTantQue Ecrire("La somme de 1 à 10 est:",S) Fin
Résultat de l’exécution
La somme de 1 à 10 est 55
Exercice 16
Écrire un algorithme permettant de calculer la somme S=1+2+3+…+ N, où N saisi par l’utilisateur. Utilisant la boucle Tant Que.
Correction de l’exercice 16:
Algorithme Somme_de_1_jusqu'au_N Variables i,S,N: entiers Debut i ← 1 S ← 0 Ecrire("Donner un entier:") Lire (N) TantQue ( i <= N ) faire S ← S + i i ← i + 1 FinTantQue Ecrire("La somme de 1 à N est:",S) fin
Résultat de l’exécution
Donner un entier : 6 La somme de 1 à 6 est : 21
Exercice 17
Écrire un algorithme qui permet d’afficher le message « bonjour » 10 fois . Utilisant la boucle Pour.
Correction de l’exercice 17:
Algorithme Bonjour_10_ fois Variables i: entier Début pour i de 1 jusqu'à 10 faire Ecrire("Bonjour") FinPour Fin
Résultat de l’exécution
Bonjour Bonjour Bonjour Bonjour Bonjour Bonjour Bonjour Bonjour Bonjour Bonjour
Exercice 18
Écrire un algorithme qui permet de calculer la somme S=1+2+3+…+ 10. Utilisant la boucle Pour.
Correction de l’exercice 18:
Algorithme Somme_de_1_jusqu'au_10 Variables i,S: entiers Début S ← 0 pour i de 1 jusqu'à 10 faire S ← S + i FinPour Ecrire("La somme de 1 à 10 est:", S) Fin
Résultat de l’exécution
La somme de 1 à 10 est : 55
Exercice 19
Écrire un algorithme qui permet de calculer la somme S=1+2+3+4+….+ N. où N saisi au clavier par l’utilisateur.Utilisant la boucle Pour.
Correction de l’exercice 19:
Algorithme Somme_de_1_jusqu'au_N Variables i,S,N: entiers Début S ← 0 Ecrire("Donner un entier") Lire (N) pour i de 1 jusqu'à N faire S ← S + i FinPour Ecrire("La somme est:" , S) Fin
Résultat de l’exécution
Donner un entier: 17 La somme de 1 à 17 est: 153
Exercice 20
Écrire un algorithme qui permet d’afficher la table de multiplication de 5. Utilisant la boucle Pour.
Correction de l’exercice 20:
Algorithme Table_Multiplication_de_5 Variables i:entier Début pour i de 0 jusqu'à 10 faire Ecrire("5*",i,"=",i*5) FinPour Fin
Résultat de l’exécution
5*0=0 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 5*10=50
Exercice 21
Écrire un algorithme qui permet d’afficher la table de multiplication d’un entier saisie par l’utilisateur, Utilisant la boucle Pour.
Exercice 22
Écrire un algorithme qui permet d’afficher « Bonjour » 10 fois. utilisant la boucle Répéter Jusqu’à .
Exercice 23
Écrire un algorithme qui calcule la somme S= 1+2+3+…+ 10. Utilisant la boucle Répéter Jusqu’à.
Exercice 24
Écrire un algorithme qui affiche la table de multiplication de 8. Utilisant la boucle Répéter Jusqu’à.
Exercice 25
Écrire un algorithme permettant de saisir 10 entiers et de les stocker dans un tableau nommé Tableau, puis les afficher.
Exercice 26
Écrire un algorithme permettant de saisir 10 notes et qui affiche la moyenne de ces notes.
Exercice 27
Écrire un algorithme permettant de saisir 10 entiers et qui affiche le maximum de ces entiers.
Exercice 28
Écrire un algorithme permettant de saisir 10 entiers dans un tableau, et de calculer le nombre d’occurrences d’un élément N dans ce tableau. Où N saisi par l’utilisateur.
Exercice 29
Écrire un algorithme permettant de saisir 10 entiers dans un tableau et de trier ce tableau par ordre croissante. puis affiche ce tableau après le tri.
Exercice 30
Écrire un algorithme permettant de calculer le factoriel d’un entier saisi par l’utilisateur. par exemple N = 7 le factoriel de 7 égal à 1*2*3*4*5*6*7 =5040.
Exercice 31
Écrire un algorithme permettant d’afficher les nombres paires compris entre 0 et N, où N saisi par l’utilisateur.
Exercice 32
Écrire un algorithme qui permet de calculer la somme d’entiers impaires de 1 jusqu’à un entier N saisi par l’utilisateur. Exemple N=8 Somme = 1 +3+5+7= 16
Exercice 33
Écrire un algorithme qui permet de calculer le plus grand diviseur commun entre deux entiers saisis par l’utilisateur. Par exemple: M= 15 et N=10 PGCD (15 , 10) = 5
Exercice 34
Ecrire un algorithme qui permet d’afficher un triangle d’entiers, selon un entier saisi par l’utilisateur. Exemple N=4
1
22
333
4444
Exercice 35
Écrire un algorithme qui permet de calculer le nombre de chiffres d’un entier N saisi par l’utilisateur. Exemple N = 10843
le nombre de chiffres est : 5
Exercice 36
Écrire un algorithme qui permet d’inverser les chiffres d’un entier N saisi par l’utilisateur. par exemple N=35672 le résultat affiché doit être 27653
Exercice 37
Écrire un algorithme qui permet de saisir un entier N et d’afficher le triangle d’étoiles. par exemple N = 4
*
***
*****
*******
Exercice 38
Écrire un algorithme qui permet de saisir 10 entiers dans un tableau. puis compter combien y a-t-il d’éléments pairs et impairs.
Exercice 39
Écrire un algorithme qui affiche si un nombre entier N saisi au clavier est Premier ou non.
Exercice 40
Ecrire un algorithme qui demande la saisie d’un tableau T de 10 entiers, et de mettre les éléments pairs dans un tableau T1 et les éléments impaires dans un tableau T2. Puis afficher T1 et T2
Exercice 41
Ecrire un algorithme qui permet à l’utilisateur de saisir une suite d’entiers se terminant par 0, et qui affiche à la fin le nombre d’occurrences de 5
Exercice 42
Ecrire un algorithme permettant de saisir 10 entiers et dit si ces entiers sont consécutifs ou non.
Exercice 43
Ecrire un algorithme qui permet de saisir 10 entiers et qui permet de calculer la différence entre la somme des éléments paires et la somme des éléments impaires par exemple : 1 6 7 4 5 3 1 8 2 5
==> (6+4+8+2) – (1+7+5+3+5+1) = -2
Exercice 44
Ecrire un algorithme permettant, à partir d’un réel x et d’une valeur entière positive n, de calculer x puissance n
Exercice 45
Ecrire un algorithme qui permet de tester l’égalité entre deux tableaux d’entiers (tailles 10). Le programme affiche VRAI si les composants des deux tableaux sont correspondent position par position, sinon il affiche FAUX.
Exercice 46
Écrire un algorithme qui compte le nombre d’éléments en double ( deux éléments ou plus ) dans un tableau d’entiers saisie par l’utilisateur.
Exercice 47
Le centre de photocopie de votre établissement facture 0,25 Dinars pour les dix premières photocopies, 0,20 Dinars les vingt suivantes et 0,10 Dinars au-delà. Ecrire un algorithme qui demande à l’utilisateur le nombre de photocopies effectuées et qui affiche la facture correspondant.
Exercice 48
Écrire un algorithme qui permet de lire un caractère et dit s’il s’agit d’une lettre ou non, en cas d’une lettre il dit s’il s’agit d’une lettre minuscule ou majuscule.
Exercice 49
Écrire un algorithme permettant de décaler les valeurs nulles vers la fin du tableau , en gardant l’ordre des éléments.
Exemple 1 2 0 6 9 0 0 8 0 3
Résultat 1 2 6 9 8 3 0 0 0 0
Exercice 50
Écrire un algorithme permettant d’échanger (permuter) et afficher les valeurs des trois entiers (A, B et C ) saisis par l’utilisateur, selon l’ordre croissant c’est-à-dire (A < B < C ).
Exercice 51
Écrire un algorithme qui permet d’échanger les valeurs de deux entiers A et B saisis par l’utilisateur, mais à condition d’utiliser seulement deux variables A et B. ( sans d’utiliser la troisième variable auxiliaire )
Les Fonctions
Exercice 52
Écrire une fonction qui permet de calculer le prix TTC , cette fonction va recevoir un paramètre de type Réel dont le nom est « prixHT » et un second paramètre de type Réel dont le nom est « tva ».
Exercice 53
Écrire une procédure qui permet d’afficher si un nombre entier passé en paramètre est pair ou impair
Exercice 54
Écrire une fonction qui permet de retourner le nombre de caractères d’une chaîne de caractères passée en paramètre.
Exercice 55
Écrire une fonction qui cherche combien de fois un caractère est présent dans une chaîne de caractères. Le caractère à chercher et la chaîne seront passés en paramètres.
Exercice 56
Ecrire une fonction ou procédure qui calcule la valeur absolue d’un nombre.
Exercice 57
Ecrire une procédure qui affiche le tableau de multiplication d’un entier positif x .
Exercice 58
Ecrire une fonction qui calcule le PGCD de deux entiers strictement positifs.
Exercice 59
Ecrire une procédure qui permet de lire deux nombres, calculer la somme et le produit et affiche si ces derniers sont positifs ou négatifs.
Exercice 60
Ecrire une procédure qui permet de lire une liste de nombres entiers (N nombres) dont la dernière valeur = -1
et affiche le nombre d’entiers pairs et leur pourcentage par rapport au nombre d’entiers donnés.
Exercice 61
Ecrire une procédure qui permet d’entrer deux valeurs M et N et d’afficher toutes les valeurs paires entre M et N si M<N
Exercice 62
Ecrire une procédure qui affiche si un nombre est premier ou non
Fonctions récursives
Exercice 63
Écrire une fonction récursive qui permet de calculer le factorielle d’un entier saisi par l’utilisateur.
Exercice 64
Écrire une fonction récursive qui permet de calculer la somme 1+2+3+…+ N. où N saisi par l’utilisateur.
Exercice 65
Écrire une fonction récursive permettant, à partir d’un réel x et d’une valeur entière positive n, de calculer x puissance n .
Exercice 66
Écrire une fonction récursive qui permet d’afficher les entiers de 0 à 10 .utilisant un seul paramètre.
Exercice 67
Écrire une fonction récursive qui permet d’afficher les entiers de A à B . Où A et B sont des paramètres de cette fonction.
Exercice 68
Écrire une fonction récursive qui permet de calculer le PGCD de deux entiers passés en paramètres,( utiliser l’algorithme d’Euclide).
Exercice 69
Écrire une fonction récursive qui permet d’afficher les éléments d’une matrice passée en paramètre.
Exercice 70
Écrire une fonction récursive qui permet de calculer l’image d’un entier (passé en paramètre) par une suite de Fibonacci. Suite de Fibonacci est une suite d’entiers dans laquelle chaque terme est la somme des deux termes qui le précèdent. F(0)=F(1)=