Algorithme

Fermé
Marcel - 2 oct. 2011 à 21:17
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 3 oct. 2011 à 12:43
Bonjour a tous,
J'ai besoin d'aide concernant un exo. Je dois écrire l'algorithme du problème ci dessous et faire un programme java avec. C'est relativement simple mais je viens de débuter en programmation.
On me demande de '' calculer le montant total contenu dans une tirelire. Lire le nombre de pièces de 25 ¢, de 10¢, de 5¢ et de 1¢. Afficher le résultat en dollars et en cents. ''

J ai penser a définir le nombre de pièces de 25c, d 10c, d 5c et de 1c en leur donnant des valeurs numériques, ensuite multiplier respectivement par les pièces de 0.25, 0.1, 0.05 et 0.01 pour avoir le montant en dollars et additionner le tout pour avoir le montant total.

Merci de m'aider

2 réponses

Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
Modifié par Pacorabanix le 2/10/2011 à 21:37
ok, c'est bien le principe.

maintenant, tu peux prendre ta calculette pour le faire, au lieu d'écrire un programme java, c'est bien plus simple, hein :P ?

on te demande que ton programme "lise" le nombre de pièces respectives.

c'est à dire que le programme va "demander" à celui qui le lance le nombre de pièce à chaque exécution (au liue que ce soit déjà "gravé" dans le programme.

Ainsi, on te demande je pense d'utiliser la classe Scanner. voir la doc de java et google pour des exemple de comment demander des valeurs à l'utilisateur.
0
Daccord merci pour la reponse.
Mais je ne sais pas comment l'ecrire en algorithme..
Pourrais tu m'aider
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
Modifié par Pacorabanix le 2/10/2011 à 21:48
en algorithme ?

tu l'as déjà écrit quasiment mot pour mot dans ta question !
définir le nombre de pièces de 25c, d 10c, d 5c et de 1c en leur donnant des valeurs numériques, 
multiplier respectivement par les pièces de 0.25, 0.1, 0.05 et 0.01 pour avoir le montant en dollars 
 additionner le tout pour avoir le montant total. 


En Java ?

Et bien tu dois tout de même essayer, personnellement je n'ai pas envie de te donner la réponse toute faite. tu dois surement avoir des exemples sur lesquels t'inspirer, etc...

si tu fais un essai et que ça ne fonctionne pas, tu peux mettre ton code dans une réponse sur ce sujet, plein de gens se feront un plaisir de t'aider, dont moi.


Pour commencer, tu peux d'abord essayer de faire le code ou tu mets des valeurs pour le nombre de chaque pièces, sans laisser la possibilité à l'utilisateur d'entrer les nombres.

une fois que ça marche, on s'occupera de demander les nombre dans le programme.
0
Je ne comprend pas la methode scanner je sais simplement qu il faut mettre import java.util.Scanner; pour que sa fonctionne.
Mais j ai essayer de faire avec mes connaissances, sa donne sa, merci de maider



public class gos {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

int nbPieces25c = 1000;
int nbPieces10c = 2000;
int nbPieces5c = 2500;
int nbPieces1c = 500;

double montantTotal, montant25c, montant10c, montant5c, montant1c;

montant25c=1000*0.25;
montant10c=2000*0.10;
montant5c=2500*0.05;
montant1c=500*0.01;

montantTotal = montant25c+montant10c+montant5c+montant1c;

System.out.println("Afficher le montant total dans la tirelire");
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
Modifié par Pacorabanix le 3/10/2011 à 12:59
ok, c'est pas mal !

Alors tout d'abord, un principe important qu'il te faut comprendre :

l'utilisation des variables.

Ces lignes que tu as écrites :
int nbPieces25c = 1000;   
int nbPieces10c = 2000;   
int nbPieces5c = 2500;   
int nbPieces1c = 500;    


sont complètement inutiles dans ton programme car tu n'utilises jamais ces variables.

Au lieu d'utiliser les variables que tu définies, tu recopies les valeurs numériques des nombres de pièces plus loin pour faire ton calcul :
montant25c=1000*0.25;   
montant10c=2000*0.10;   
montant5c=2500*0.05;   
montant1c=500*0.01; 


Or, le principe des variables c'est justement d'éviter de faire ça.

Dans une logique de programmation ce qu'il te faudrait faire c'est plutot :

montant25c=nbPieces25c *0.25;   
montant10c=nbPieces10c *0.10;   
montant5c=nbPieces5c *0.05;   
montant1c=nbPieces1c *0.01; 


Ca parait peut-être idiot ou inutile (et dans le cas de ton programme très simple c'est effectivement inutile), mais c'est en fait... la base de tout !

Par exemple, ensuite, pour demander des nombres à l'utilisateur, on pourra simplement garder les lignes

montant25c=nbPieces25c *0.25;   
montant10c=nbPieces10c *0.10;   
montant5c=nbPieces5c *0.05;   
montant1c=nbPieces1c *0.01; 


Et il faudra juste changer la manière dont on met les nombres dans les variables juste avant !

Je sais pas si tu vois ?

Autre avantage :
en plus c'est un peu mieux ordonné et plus facile à lire : on comprend clairement que "nbPieces25" représente le nombre de pièces de 25 centimes dans le calcul. alors que voir le "1000" directement n'est pas clair, surtout si tu as plusieurs dizaines voire des centaines de lignes de code comme celles-là.





Ensuite pour afficher le montant, tu peux utiliser un System.out.println aussi :
System.out.println(montantTotal); 
0