|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Konan Jean Emmanuel AngouaÉtudiant Inscription : janvier 2012 Messages : 11 ![]() |
Bonjour,
Je dois écrire une application qui permet dans un supermarché d'afficher la meilleure monnaie possible à rendre à un client donné. Cette monnaie doit être inférieure à 10000. Si, par exemple, la monnaie qu'on doit au client est de 9525; la caissière doit lui remettre:
NB: LES COUPURES D'ARGENT SONT:
Code :
|
||
|
|
01
|
|
|
#2 |
![]() ![]() ![]() |
Bonjour,
Pour obtenir une aide efficace, le moins que tu puisses faire est de montrer ce que tu as fait, d'expliquer les problèmes que tu rencontres en postant un ou plusieurs extraits de code. Sans cela, nous ne pouvons deviner où se situent tes difficultés.
__________________
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell] |
|
00
|
|
|
#3 | |||
|
Invité de passage
![]() Konan Jean Emmanuel AngouaÉtudiant Inscription : janvier 2012 Messages : 11 ![]() |
Code :
Citation:
|
|||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : août 2006 Messages : 3 414 ![]() |
Muy,
Bigre, voilà un exercice qui date ! Des billets de 10000f (qui d'ailleurs n'ont jamais existé, f en minuscule n'étant pas le symbole légal pour Franc Mais je pinaille, c'était juste pour ne pas écrire la même chose que maître Alcatîz, dont je partage l'avis. Et pour ankojem, j'ajoute quand même : comment résous-tu le problème à la main ? Vu ? Alors tu as un algorithme, "yaka" l'écrire en clair, puis à l'implémenter en Pascal.
__________________
Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir. |
|
|
10
|
|
|
#5 |
![]() ![]() ![]() |
Je pense qu'il s'agit de francs CFA.
__________________
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell] |
|
00
|
|
|
#6 |
|
Invité de passage
![]() Konan Jean Emmanuel AngouaÉtudiant Inscription : janvier 2012 Messages : 11 ![]() |
au fait il s'agit du fait il s'agit du Franc Cfa
|
|
|
00
|
|
|
#7 | |||
|
Expert Confirmé
![]() ![]() Inscription : août 2006 Messages : 3 414 ![]() |
Hue,
Citation:
- Comment faire ? Ça consiste à chercher l'algorithme de résolution. Pour ce genre de petit problème, l'algorithme est celui qu'on suit intuitivement quand on doit faire l'action manuellement. Donc écrit en clair ce que tu fais "à la main". - Implémenter dans un langage Ici, le Pascal, très proche de ce qu'on fait pour décrire l'algorithme, donc si la première étape a bien été faite, ça ne doit pas poser de problème. Par rapport à ça, regarde ton code et compare : manifestement tu as codé sans savoir où tu allais, ce n'est pas la bonne méthode. Au boulot !
__________________
Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir. |
|||
|
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() Konan Jean Emmanuel AngouaÉtudiant Inscription : janvier 2012 Messages : 11 ![]() |
J'ai pu faire quelque chose mais, ce n'est pas assez réussi. il faut que la monnaie soit la plus minime possible
Code :
|
||
|
|
00
|
|
|
#9 |
![]() ![]() Inscription : avril 2002 Messages : 2 274 ![]() |
Sans passer par des noms de constantes, tu devrais pouvoir n'utiliser que deux boucles imbriquées... Avec l'aide d'un tableau où tu stockes les valeurs des billets/pièces.
__________________
M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Konan Jean Emmanuel AngouaÉtudiant Inscription : janvier 2012 Messages : 11 ![]() |
pourrais-je avoir un code plus explixite
|
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : avril 2002 Messages : 2 274 ![]() |
Tu vois bien qu'il existe un point commun dans toutes les boucles que tu utilises dans ton code: elles ont toutes la même forme. Tu peux donc trouver une forme générique et en faire une boucle aussi...
En pseudo-code: tant que le reste est différent de 0 tant que le reste est supérieur à la pièce X reste = reste - X afficher pièce X à rendre fin fin Bon c'est vraiment mâché là...
__________________
M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal |
|
|
20
|
|
|
#12 | |||
|
Invité de passage
![]() Konan Jean Emmanuel AngouaÉtudiant Inscription : janvier 2012 Messages : 11 ![]() |
Voici le code final que j'ai pu obtenir
Code :
![]() ![]() Citation:
|
|||
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : avril 2002 Messages : 2 274 ![]() |
Voilà exactement ce qu'il ne faut PAS faire. Tu as un code qui peut être générique pour tous les montants possibles de pièces, mais ton effort s'est porté à décrire explicitement tous les cas possibles.
Il aurait été plus judicieux de trouver une manière de raccourcir ton code plutôt que de l'alourdir considérablement avec des tests et un nombre de variables affolant. Relis nos conseils, tu devrais pouvoir trouver le point commun de toutes les étapes que tu as écrit, et de là devrait découler un mécanisme pour rendre générique ton code. Médite là dessus: si le magasin te demandait la même application pour rendre la monnaie sur 1000000000000000000000000000 francs, tu écrirais tous les tests de divisions possibles ?
__________________
M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal |
|
|
00
|
|
|
#14 | |||
|
Invité de passage
![]() Konan Jean Emmanuel AngouaÉtudiant Inscription : janvier 2012 Messages : 11 ![]() |
OK !! J'avais eu à resoudre ce probleme de deux(2) manieres, et voilà la deuxieme que j'ai fait:
![]() D'abord voila le sujet: Citation:
Code :
DONNEZ MOI VOS AVIS CAR JE PENSE AVOIR TERMINER, MERCI A VOUS TOUS DE M'AVOIR AIDER. |
|||
|
|
00
|
|
|
#15 |
|
Expert Confirmé
![]() ![]() Inscription : août 2006 Messages : 3 414 ![]() |
Voe,
Oh que c'est laid, et ne tient pas compte du message de wormful_sickfoot (voir message #13 plus haut) !!
__________________
Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir. |
|
|
00
|
|
|
#16 | ||
|
Invité de passage
![]() Konan Jean Emmanuel AngouaÉtudiant Inscription : janvier 2012 Messages : 11 ![]() |
Code :
DONNEZ MOI LA SUITE
|
||
|
|
01
|
|
|
#17 |
|
Expert Confirmé
![]() ![]() Inscription : août 2006 Messages : 3 414 ![]() |
Qua,
Bigre, un up 1 minute après le message ! (pourquoi faire une citation de ton propre message pour seulement ajouter une petite ligne, il fallait éditer). Au passage : écrire en majuscule sur un forum est habituellement interprété comme hausser la voix, ou crier, ... donc très mal vu, d'autant plus que tu nous ordonne de te donner ce qui te manque ... Fais une présentation correcte de ton code : indentation, aérer (des lignes vides) pour faciliter la lecture, ... Ton code ne correspond pas au problème d'origine, problème que tu ne traites d'ailleurs pas du tout.
__________________
Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com