Exercices corrigées en algorithmique : instructions répétitives - les boucles



Exercice 1 :

Ecrire un algorithme permettant de lire une suite de nombres réels sur le clavier. Le dernier élément à lire est un zéro.
L’algorithme doit afficher le plus petit élément de la suite ainsi que la somme des éléments lus.



Correction exercice 1 :

Algorithme  lire_une_suite;
Var
            a,s : réels ;
Debut
              Repeter
                        Ecrire(‘entrer un  n

ombre: ‘) ;
                        Lire(a) ;
                        S<-- s+a ;
              Jusqu'à (a=0)
              Ecrire(‘la somme des nombres est :  ‘,s) ;
fin


Exercice 2 :

Ecrire un algorithme qui lit les noms des athlètes désirant participer à un marathon et s’arrête lorsqu’il rencontre deux noms consécutifs identiques.
L’algorithme doit afficher , à la fin , le nombre de participants.


Correction exercice 2 :

Algorithme  lire_une_suite;
Var
            Nom1,nom2 : chaine de 30 caractères ;
            Compteur  i  :entier ;
Debut
                Ecrire(‘entrer un nom d’athlète   : ‘) ;
                Lire(nom1) ;
                Ecrire(‘entrer un nom d’athlète   : ‘) ;
                Lire (nom2) ;
                i <--  2 ;
              Tantque(nom1 <> nom2)
                        Nom1 <--  nom2 ;
                        Ecrire(‘entrer un  nom d’athlète  : ‘) ;
                        Lire(nom2) ;
                        i<-- i+1;
              Fintantque
              Ecrire(‘le nombre des participants est :  ‘,i) ;
fin



Exercice 3 :

Dans un cinéma , on désire calculer la moyenne  d’âges de personnes s’intéressant à voir un film particulier.
Pour finir, l’utilisateur doit répondre par ‘N’ à la question posée par l’algorithme :
‘’ Encore une autre personne (O/N) ? ’’
Et on doit afficher la moyenne d’âges des personnes à l’ecran.


Correction exercice 3 :

Algorithme  moyenne_age;
Var
            i ,age,som :entier ;
Debut
                i <--  0 ;
                age <--  0 ;
                Repeter
                        Ecrire(‘ entrer l’age du personne ’) ;
                        Lire(‘age’ ) ;
                          i<--  i+1 ;
                        Som <--  som+ age ;
                          Ecrire(‘Encore une autre personne (O/N) ?’)
                          Lire(rep) ;
                Jusqu'à (rep=’N’)
              Ecrire(‘la moyenne d’âges des personnes  est :  ‘,som/i) ;
fin



Exercice 4 :

Ecrire un algorithme permettant de calculer la factorielle d’un nombre entier positif N.
N ! = 1*2*3*……..*N




exercices corrigées, boucles,


Correction exercice 4 :
Algorithme  factorielle;
Var
              i ,N,fact:entier ;
Debut
                fact<--  1 ;
                pour i=1 à N faire
                             fact<-- fact*i ;
                Finpour  i
              Ecrire(‘ la factorielle de  ’ ,N,’  est   : ‘,fact  ) ;
fin


Exercice 5 :
Pour avoir une idée sur le niveau des éleves d’une classe, on a décidé de calculer la moyenne  de la classe à partir des moyennes générales de tous les élèves qui sont au nombre de 30.
         Moy =
Ecrire un algorithme de résolution.


Correction exercice 5 :

Algorithme  moyenne_classe;
Var
              i   :entier ;
                NT ,som: réels
const
                nb=30 ;
Debut
                Som <--  0 ;
                pour i=1 à N faire
                            Ecrire(‘ entrer la note N°’,i,’ :’) ;
                            Lire(NT) ;
                            Som<-- som+NT ;
                Finpour  i
              Ecrire(‘ la moyenne de la classe est : ‘,som/nb ) ;
fin



Exercice 6 :

Ecrire un algorithme qui permet de retrouver le maximum, le minimum ainsi que la somme d’une liste de nombres positifs saisis par l’utilisateur. La fin de la liste est indiquée par un nombre négatif. La longueur  de la liste n’est pas limitée.
Exemple :              si la liste des éléments est : 7   3   20     15    2      6    5   -1
                                Le maximum est 20  , le minimum est 2 .

Correction exercice 6 :

Algorithme  moyenne_age;
Var
            i ,n,som :entier ;
Debut
                Ecrire(‘ entrer un nombre ’) ;
              Lire(‘n’ ) ;
                max<--  n ;
                min <--  n ;
                som <--  n ;
                Tantque n>0  faire
                        Ecrire(‘ entrer  un nombre’) ;
                        Lire(‘n’ ) ;
                         Si min>n  alors
                                Min <--  n ;
                         Finsi
             Si max<n  alors
                                 Max <--  n ;
                          Finsi
                fintantque
              Ecrire(‘Le maximum est  ‘,max ,’ le minimum est ‘,min) ;
fin

Enregistrer un commentaire

Plus récente Plus ancienne