Série algorithmique V: "Instructions répétitives : les boucles"

print this page
send email
____________________________________________________________________________________________________________
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.
____________________________________________________________________________________________________________

Solution :
Algorithme  lire_une_suite;
Var
            a,s : réels ;
Début
              Répéter
                        Ecrire(‘entrer un  nombre: ‘) ;
                        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.
____________________________________________________________________________________________________________
Solution :
Algorithme  lire_une_suite;
Var
            Nom1, Nom2 : chaine de 30 caractères ;
            Compteur  i : entier ;
Début
                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’écran.
____________________________________________________________________________________________________________
Solution :
Algorithme  moyenne_age;
Var
            i ,age,som :entier ;
Début
                i <--  0 ;
                age <--  0 ;
                Répéter
                        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
____________________________________________________________________________________________________________
Solution :
Algorithme  factorielle;
Var
              i ,N,fact:entier ;
Début
                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 élèves 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.
Ecrire un algorithme de résolution.
____________________________________________________________________________________________________________
Solution :
Algorithme  moyenne_classe;
Var
              i   :entier ;
                NT ,som: réels
const
                nb=30 ;
Début
                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 .
____________________________________________________________________________________________________________
Solution :
Algorithme  moyenne_age;
Var
            i ,n,som :entier ;
Début
                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

0 commentaires:

Enregistrer un commentaire