FSEG Tunis

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)=

Bouton retour en haut de la page