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 passetil à 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
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 passetil à 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
