nb50←nb50+1 
montant←montant-50 
FinTantQue 
Tant Que montant>=20 Faire 
nb20←nb20+1 
montant←montant-20 
FinTantQue 
... 
Tant Que montant>=0.02 Faire 
nb002←nb002+1 
montant←montant-0.02 
FinTantQue 
Tant Que montant>=0.01 Faire 
nb001←nb001+1 
montant←montant-0.01 
FinTantQue 
Si nb500>0 Alors 
Ecrire nb500," billets de 500 euros" 
FinSI 
Si nb200>0 Alors 
Ecrire nb200," billets de 200 euros" 
FinSI 
... 
Si nb002>0 Alors 
Ecrire nb002," pièces de 2 centimes" 
FinSI 
Si nb001>0 Alors 
Ecrire nb001," pièces de 1 centime" 
FinSI 
Fin
Cet  algorithme  est  désespérant.  Il  est  parfait  en  terme  de  fonctionnement  et  de  logique,  mais  il  est 
épouvantablement  long,  proportionnel  au  nombre  de  coupures  disponibles  dans  chaque  pays.  Tellement  long 
d’ailleurs que certaines parties totalement évidentes ont été remplacées par des "…". Est­ce possible de faire plus 
court  ?  C’est  qu’il  vous  manque  encore  quelques  notions  et  éléments  que  vous  découvrirez  dans  les  prochains 
chapitres. Il est évidemment possible de faire plus court. Vous verrez comment faire au prochain chapitre avec les 
tableaux, puis dans le suivant encore avec les fonctions. 
g. Trois boucles 
Un dernier exemple de boucle "Tant Que" va vous montrer une intégration avec trois boucles. Le but de cet anodin 
algorithme  est  de  trouver  pour  quelles  valeurs  de  A,  B  et  C,  ABC= A 3 +B 3 +C 3 ,  A  représentant  les  centaines,  B  les 
dizaines et C les unités. La recherche sera limitée pour chaque valeur entière comprise entre 1 et 10 (bien entendu, 
vous pouvez augmenter l’intervalle mais celui­ci  n’a pas été choisi au hasard). L’algorithme nécessite trois boucles 
pour  chacune  des  valeurs.  C’est bien entendu au sein de la dernière boucle que les valeurs sont calculées et les 
résultats affichés en cas d’égalité. 
Variables a,b,c,nb1,nb2 en Numérique 
Début 
a←1 
b←1 
c←1 
Tant que a<=10 Faire 
Tant que b<=10 Faire 
Tant que c<=10 Faire 
nb1←a*100+b*10+c 
nb2←a³+b³+c³ 
Si nb1=nb2 Alors 
Ecrire nb1,a,b,c 
FinSI 
c←c+1 
FinTantQue 
b←b+1 
FinTantQue 
a←a+1 
FinTantQue 
Fin
- 12 -
© ENI Editions - All rigths reserved - Jonifar lina
84
Précédent

- 84/220

Suivant