![]() |
![]() |
![]() |
Les structures Simples
Mise à jour le : 01/11/2004
Énoncé
Un caissier dispose dans sa caissier des billets de 10
dinars, des billets de 5 dinars et des pièces de 1 dinar.
Écrire un programme Pascal qui échange un montant d'un chèque, exprimé
en dinars, par le maximum de billets de 10 dinars et le reste en billets de 5
dinars et des pièces de 1 dinar.
Exemple : Si le montant est égal à 328
dinars,
le caissier nous donne :
32 billets de 10 dinars, 1 billet de 5 dinars et 3 pièces
de 1 dinar.
![]()
I) La préanalyse : Exemple : Montant Mt = 328 Dinars
| Mt | Nb5 | Nb1 | ||
|
|
|
|
||
| Entier | Entier | Entier |
Nb10 ß
II) L'analyse :
|
Nom = Billets |
||
| Séquences | Liste des définitions Explicites | Objets Utilisés |
| 5 | Résultats = Ecrire(Nb10, Nb5, Nb1) | Nb10 |
| 2 | Nb10
ß |
Nb5 |
| 1 | Répéter | Nb1 |
| Mt = Donnée | Mt | |
| Jusqu à (Mt>0) | ||
| 3 | Nb5
ß |
|
| 4 | Nb1
ß |
|
| 6 | Fin Billets | |
III) Le tableau de déclaration des objets :
| Objets Utilisés | Code | Nature / Type | Rôle |
| Mt | Mt | variable / Entier |
Recevoir un montant d'un chèque |
| Nb10 | Nb10 | variable / Entier | Recevoir le nombre de billets de 10 dinars |
| Nb5 | Nb5 | variable / Entier | Recevoir le nombre de billets de 5 dinars |
| Nb1 | Nb1 | variable / Entier | Recevoir le nombre de billets de 1 dinar |
IV) L'algorithme :
| 0- | Début Billets |
| 1- | Répéter |
| Lire(Mt) | |
| Jusqu à (Mt>0) | |
| 2- | Nb10
ß |
| 3- | Nb5
ß |
| 4- | Nb1
ß |
| 5- | Ecrire(Nb10, Nb5, Nb1) |
| 6- | Fin Billets |
V) La traduction en turbo pascal :
Program Billets;
uses Wincrt;
Var N, C, D, U : Integer;
Begin
Repeat
Write('Le montant d''un chèque :');
Readln(Mt);
Until (Mt>0);
Nb10 : = Mt Div 10;
Nb5 : = Mt Mod 10 Div 5;
Nb1 : = Mt Mod 10 Mod 5;
Write(Nb10,' billets de 10 dinars');
Write(Nb5,' billets de 5 dinars');
Write(Nb1,' billets de 1dinar');
End.
VI) La traduction en langage C++ :
#include <stdio.h>
int main()
{int N, C, D, U ;
do
{printf("Le montant d''un chèque :");
scanf("%d",&Mt);}
while ((Mt<1);
Nb10 = Mt / 10;
Nb5 : = Mt % 10 / 5;
Nb1 : = Mt % 10 % 5;
C= N / 100;
D = N % 100 / 10;
U = N % 10;
N = C * 10000 + D * 100 + U;
printf("%d billets de 10 dinars", Nb10);;
printf("%d billets de 5 dinars", Nb5);;
printf("%d billets de 1 dinar", Nb1);;
getchar();getchar();
}
![]()
| Page d'index | Série structures simples | Haut |