____________________________________________________________________________________________________________
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