FSEG Tunis

Exercices corrigés : algorithme de base

Exercice 1: 

Ecrire un programme qui échange la valeur de deux variables. Exemple, si a = 2 et b = 5, le programme donnera a = 5 et b = 2.

Correction de l’exercice 1 :

Algorithme Echange 
Variables a,b : entiers
Début
   a=2
   b=5
   t  <--  a
   a  <-- b
   b  <-- t
Fin

ou bien

Algorithme Echange_V2 
Variables a,b : entiers
Début
   a=2
   b=5
   a  <--  a+b
   b  <-- a-b
   a  <-- a-b
Fin

Exercice 2

Ecrire un programme qui demande un nombre à l’utilisateur, puis qui calcule et affiche le carré de ce nombre.

Correction de l’exercice 2 :

Algorithme Carré
Variables nb, carr :Entier
Début
   Ecrire (”Entrez un nombre :”)
   Lire (nb)
   carr <--  nb * nb
   Ecrire (”Son carré est : ”, carr)
Fin

En fait, on pourrait tout aussi bien économiser la variable carr en remplaçant les deux avant-dernières lignes par :

Ecrire ”Son carré est : ”, nb*nb

C’est une question de style ; dans un cas, on privilégie la lisibilité de l’algorithme, dans l’autre, on privilégie l’économie d’une variable.

Exercice 3 :

Ecrire un programme qui lit le prix HT d’un article, le nombre d’articles et le taux de TVA, et qui fournit le prix total TTC correspondant. Faire en sorte que des libellés apparaissent clairement.

Correction de l’exercice 3 :

Algorithme Articles
Variables nb, pht, ttva, pttc : réels 
Début
   Ecrire (”Entrez le prix hors taxes :”)
   Lire (pht)
   Ecrire (”Entrez le nombre d’articles :”)
   Lire (nb)
   Ecrire (”Entrez le taux de TVA :”)
   Lire (ttva)
   pttc  <-- nb * pht * (1 + ttva)
   Ecrire (”Le prix toutes taxes est : ”, pttc)
Fin

Exercice 4 :

Ecrire un algorithme qui demande deux nombres à l’utilisateur et l’informe ensuite si leur produit est négatif ou positif (on laisse de côté le cas où le produit est nul). Attention toutefois : on ne doit pas calculer le produit des deux nombres.

Correction de l’exercice 4 :

Algorithme Produits
Variables m, n : Entier
Début
   Ecrire (”Entrez deux nombres : ”)
   Lire (m, n)
   Si (m > 0 ET n > 0) OU (m < 0 ET n < 0) Alors
      Ecrire (”Leur produit est positif”)
      Sinon
      Ecrire (”Leur produit est négatif”)
   Finsi
Fin

Exercice 5 :

Ecrire un algorithme qui demande l’âge d’un enfant à l’utilisateur. Ensuite, il l’informe de sa catégorie :
”Poussin” de 6 à 7 ans
”Pupille” de 8 à 9 ans
”Minime” de 10 à 11 ans
”Cadet” après 12 ans

Peut-on concevoir plusieurs algorithmes équivalents menant à ce résultat ?

Correction de l’exercice 5 :

Algorithme Enfants 
   Variable age : Entier
Début
   Ecrire( ”Entrez l’âge de l’enfant : ”)
   Lire age
   Si age >= 12 Alors
      Ecrire (”Catégorie Cadet”)
   SinonSi age >= 10 Alors
          Ecrire (”Catégorie Minime”)
          SinonSi age >= 8 Alors
                 Ecrire (”Catégorie Pupille”)
                 SinonSi age >= 6 Alors
                        Ecrire (”Catégorie Poussin”)
   Finsi
Fin

On peut évidemment écrire cet algorithme de différentes façons, ne serait-ce qu’en commençant par la catégorie la plus jeune.

Exercice 6 :

Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse convienne. En cas de réponse supérieure à 20, on fera apparaître un message : Plus petit ! , et inversement, Plus grand ! si le nombre est inférieur à 10.

Correction de l’exercice 6 :

Algorithme Nombres
Variable N :Entier
Début
   N <--  0
   Ecrire (”Entrez un nombre entre 10 et 20”)
   Lire (N)
   TantQue N < 10 ou N > 20
      Si N < 10 Alors
      Ecrire (”Plus grand !”)
      SinonSi N > 20 Alors
             Ecrire (”Plus petit !”)
      FinSi
   FinTantQue
Fin

Exercice 7 :

Ecrire un algorithme qui demande un nombre de départ, et qui calcule la somme des entiers jusqu’à ce nombre. Par exemple, si l’on entre 5, le programme doit calculer : 1 + 2 + 3 + 4 + 5 = 15 NB : on souhaite afficher uniquement le résultat, pas la décomposition du calcul.

Correction exercice 7 :

Algorithme Somme
Variables N, i, Som :Entier
Debut
   Ecrire ”Entrez un nombre : ”
   Lire (N)
   Som <--  0
   Pour i  <-- 1 à N
      Som <--  Som + i
   FinPour
   Ecrire (”La somme est : ”, Som)
Fin

Exercice 8 :

Ecrire un algorithme qui demande un nombre de départ, et qui calcule sa factorielle.

NB : la factorielle de 8, notée 8 !, vaut 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 Variables N, i, F en Entier

Correction de l’exercice 8 :

Algorithme Factorielle
Variables N,F,i : Entiers
Début
   Ecrire (”Entrez un nombre : ”)
   Lire (N)
   F <--  1
   Pour i <--  2 à N
      F <--  F * i
   Fin Pour
   Ecrire (”La factorielle est : ”, F)
Fin

Exercice 9 :

Que produit l’algorithme suivant ?

Algorithme Inconnu
Variable i :Entier
         Tableau Nb(5) :Entier
Début
   Pour i <--  0 à 5
      Nb(i) <--  i * i
   FinPour
   Pour i <--  0 à 5
      Ecrire (Nb(i))
   FinPour
Fin

Peut-on simplifier cet algorithme avec le même résultat ?

Correction de l’exercice 9 :

Cet algorithme remplit un tableau avec six valeurs : 0, 1, 4, 9, 16, 25.

Il les écrit ensuite à l’écran. Simplification :

Algorithme Remli_Tab
Variable i :Entier
         Tableau Nb(5) :Entiers
Début
   Pour i  <-- 0 à 5
      Nb(i)  <-- i * i
      Ecrire Nb(i)
   FinPour
Fin

Exercice 10 :

écrivez un algorithme permettant, à l’utilisateur de saisir les notes d’une classe. Le programme, une fois la saisie terminée, renvoie le nombre de ces notes supérieures à la moyenne de la classe.

Correction de exercice 10 :

Algorithme Moy_Classe
Variables Nb, i, Som, Moy, Nbsup : Réels
          Tableau T() : Entiers
Début
   Ecrire (“Entrez le nombre de notes à saisir : “)
   Lire (Nb)
   Pour i <--  1 à Nb
      Ecrire (“Entrez le nombre numéro”, i)
     Lire (T(i))
   FinPour
   Som<--0
   Pour i  <-- 1à Nb
      Som <--  Som + T(i)
   FinPour
   Moy <--  Som / Nb
   NbSup <--  0
   Pour i  <-- 1 à Nb
      Si T(i) > Moy Alors
      NbSup  <-- NbSup + 1
     FinSi
   FinPour
Ecrire (NbSup, “ élèves dépassent la moyenne de la classe”)
Fin
Si vous avez des questions ou des remarques n’hésitez pas de laisser un commentaire en bas  
Bouton retour en haut de la page