q 1 pièce de 5 centimes 
q 1 pièce de 2 centimes 
Autant le dire tout de suite, cet algorithme est le paradis des boucles. Il en faudra une par valeur faciale de billet ou 
de pièce. Le principe est en effet très simple. Il s’agit de soustraire au sein d’une boucle la valeur faciale du billet, par 
exemple  500  euros,  au  montant  total,  tant  que  ce  montant  est  supérieur  ou  égal  à  la  valeur  du  billet.  À  chaque 
passage dans la boucle, on compte un billet. Puis on passe au billet suivant et ainsi de suite. Voici un exemple pour 
1700 euros avec uniquement des billets de 500 euros. 
Variables montant, nb500 en Numérique 
Début 
montant←1700 
nb500←0 
Tant Que montant>=500 Faire 
nb500←nb500+1 
montant←montant-500 
FinTantQue 
Ecrire nb500, montant 
Fin
Ce qui donne en Java : 
class chap4_monnaie { 
public static void main(String[] args) { 
String tnote; 
int montant,nb500; 
montant=1700; 
nb500=0; 
 
while(montant>=500) { 
nb500++; 
montant=montant-500; 
} 
System.out.println("Nombre de billets de 500: "+nb500); 
System.out.println("Reste :"+montant); 
} 
}
Que se passe­t­il à la sortie de la boucle ? nb500 vaut 3, et montant vaut 200 : c’est le reste. Aussi il faut généraliser 
l’algorithme pour toutes les valeurs. 
Variables montant,nb500,nb200,nb100,nb50,nb20,nb10,nb5 en Numérique 
Variables nb5,nb2,nb1,nb05,nb02,nb01,nb005,nb002,nb001 en Numérique 
Début 
montant←1700 
nb500←0 
nb200=0 
nb100=0 
nb50=0 
nb20=0 
nb10=0 
... 
nb002=0 
nb001=0 
Tant Que montant>=500 Faire 
nb500←nb500+1 
montant←montant-500 
FinTantQue 
Tant Que montant>=200 Faire 
nb200←nb200+1 
montant←montant-200 
FinTantQue 
Tant Que montant>=100 Faire 
nb100←nb100+1 
montant←montant-100 
FinTantQue 
Tant Que montant>=50 Faire 
- 11 -
© ENI Editions - All rigths reserved - Jonifar lina
83
Précédent

- 83/220

Suivant