29/05/2012
Algorithmique SMP-SMC S2 2011-2012 3
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 99
Exercice 18Exercice 18
Un magasin de photocopie facture
0,50Dh les dix premières pages,
0,40Dh les vingt suivantes et 0,20Dh
au-delà.
Ecrivez un algorithme qui demande à
l’utilisateur le nombre de photocopies
effectuées et qui affiche le montant à
payer.
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 1010
Répéter des instructions tant qu’une Répéter des instructions tant qu’une
condition est vérifiéecondition est vérifiée
une structure de boucle se présente ainsi:une structure de boucle se présente ainsi:
TantQue booléen
…
Instructions
…
FinTantQue
Etapes:
1.1. Si Si booléenbooléen est VRAI, on exécute les instructions est VRAI, on exécute les instructions
jusqu'à jusqu'à FinTantQueFinTantQue..
2.2. On retourne ensuite sur la ligne On retourne ensuite sur la ligne TantQueTantQue, on évalue , on évalue
booléenbooléen, et ainsi de suite., et ainsi de suite.
3.3. Si Si booléenbooléen est est FAUXFAUX on passe directement à la ligne on passe directement à la ligne
après après FinTantQueFinTantQue
Boucles / structures itérativesBoucles / structures itératives
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 1111
Erreur classique:Erreur classique:
booléenbooléen n'est jamais n'est jamais VRAIVRAI. Le . Le
programme ne rentre alors jamais dans programme ne rentre alors jamais dans
la boucle…la boucle…
booléenbooléen ne devient jamais ne devient jamais FAUXFAUX. .
L'ordinateur tourne alors dans la L'ordinateur tourne alors dans la
boucle et n'en sort plus, C'est la boucle et n'en sort plus, C'est la
"boucle infinie""boucle infinie"
Boucles / structures itérativesBoucles / structures itératives
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 1212
Répéter des instructions un nombre de fois…Répéter des instructions un nombre de fois…
une autre structure de boucle:une autre structure de boucle:
Pour Compteur ← Compteur ← Initial à à FinalFinal Pas Pas ValeurDuPasValeurDuPas
……
InstructionsInstructions
……
Compteur Compteur suivantsuivant
TantQue : on ne connaît pas d'avance le nombre TantQue : on ne connaît pas d'avance le nombre
de foisde fois
Pour : le programmeur connaît d'avance le nombre Pour : le programmeur connaît d'avance le nombre
de foisde fois
Boucles / structures itérativesBoucles / structures itératives