cs_criss
Messages postés28Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention 6 avril 2003
-
4 mars 2003 à 20:40
cs_criss
Messages postés28Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention 6 avril 2003
-
6 mars 2003 à 22:19
voila un autre truc, peut-etre JHelp tu verrais le truc dans ca :)
le debut et comme le jeu du nombre mysterieux, mais apres g pas compri comment faire la somme mais aussi ce qu'il a voulu dire par la donnee de remise, voila le probleme:
Réaliser un projet Java (un seul) qui saisit et valide un entier impair n entre 51 et 251 inclusivement. Il affiche des messages appropriés si la donnée est invalide. Dès que la donnée est valide, le projet permet alors de calculer et d'afficher la somme suivante:
somme = 1 + 1/3 + 1/5 + 1/7 + . . . + 1/n
en utilisant la boucle do ? while ?.
en utilisant la boucle while ?.
en utilisant la boucle for
(ce sont là trois manières différentes d'obtenir le même résultat).
Le projet doit fonctionner pour plusieurs entiers tant que l'utilisateur décide de continuer.
Données pour la remise
Première série de données : 26, 301, 75
L'usager veut continuer
Deuxième série de données : 204, 101
L'usager décide de quitter.
merci
ne fais pas ce que je dis, ne dis pas ce que je fais :)
A voir également:
Somme java
Somme en java - Meilleures réponses
Programme java qui calcule la somme - Meilleures réponses
cs_Duss
Messages postés890Date d'inscriptionlundi 8 avril 2002StatutMembreDernière intervention29 juillet 200411 4 mars 2003 à 22:04
Salut,
pour ta somme :
// on prend la variable n comme limite
// boucle do while
int somme = 0;
int i = 1;
do
{
somme += 1/i;
i +=2 ;
}while(i <= n);
// boucle while
somme=0;
i=1;
while (i <= n)
{
somme += 1/i;
i += 2;
}
//boucle for
somme = 0;
for (i=1 ; i <= n ; i+2)
somme += 1/i;
Voila, pour ce qui est de la donnée de remise, à mon avis, c'est un jeu d'essai pour que tu testes avec ces valeurs là
Duss
cs_criss
Messages postés28Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention 6 avril 20031 5 mars 2003 à 02:54
merci, g fais presque la mm chose, mais je n'arrive pas a valider le nombre n, peut-etre que c la fatigue et comme ont dit, je dois dormir la dessus et demain est un autre jour ;)
public static void main(String[] args) throws IOException {
// constantes permettant de limiter le choix par l'ordinateurfinal int BORNE_INF 51, BORNE_SUP 251;
// reponse de l'usager
char reponse;
// le nombre saisit par par l'usager
int n;
// declarer la somme et la valeur a ajouter
int somme;
int valeur;
// utilisation de la boucle Do...While pour calculer la somme
do{
somme = 0; /* on intialise la somme */
valeur= 1; /* premiere valeur a ajouter dans la somme */
// Methode permettant de choisir un nombre aléatoire
n = Utile.lireEntier("Entrez un entier impair entre 51 et 251: ");
// valider le choix le nombre
while (n < BORNE_INF || n > BORNE_SUP)
System.out.println(" Veuillez entrer un nombre compris entre 51 et 251: ");
if ( n % 2 == 0 )
System.out.println(" Veuillez entrer un nombre impair! : ");
else{
somme += valeur ;
valeur += 1/n ;
} System.out.println(" Somme 1 +...+ 1/n" +" " + somme );
// demander si l'usager veut continuer
reponse = Utile.lireCaractere("\n\n\t\tVoulez-vous continuer? (o/n): ");
reponse = Character.toUpperCase(reponse);
}while( reponse == 'O');
}
Dans la boucle while qui gere la validation de l'entier n, il ne fais que me repeter le message d'erreur a l'infini, g pas vu l'etincelle
ne fais pas ce que je dis, ne dis pas ce que je fais :)
cs_criss
Messages postés28Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention 6 avril 20031 5 mars 2003 à 19:01
c regle pour la validation mais par contre kan j'affiche la somme de la forme " 1+....+1/n" le resultat donne tjrs 1 !!
do{
somme = 0; /* on intialise la somme */
i = 1; /* premiere valeur a ajouter dans la somme */
// Methode permettant de choisir un nombre aléatoire n = Utile.lireEntier("Entrez un entier impair entre 51 et 251: ");
// boucle Do...While pour faire la somme
do{
// valider le choix le nombre
if ( (n < BORNE_INF || n > BORNE_SUP) || n % 2 == 0) {
System.out.println(" Veuillez entrer un nombre impair compris entre 51 et 251: ");
n = Utile.lireEntier("Refaites votre choix : ");
}
else {
somme += 1/i ;
i +=2 ;
}
}while ( i <= n);
pk ca m'affiche tjrs somme = 1 ????
ne fais pas ce que je dis, ne dis pas ce que je fais :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_criss
Messages postés28Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention 6 avril 20031 5 mars 2003 à 21:18
ben la premiere boucle Do..While c pour faire le choix si l'usager veux continuer le tirage ou pas, elle finit avec While( reponse == 'O')
a l'interieur de cette boucle g mis un if pour valider le nombre n etant impair et 51<= n >=251
l'ordinateur force l'usager a entrer un bon nombre et ca marche, dans le else du if g mis notre condition qui est:
somme += 1/i
i+=2
mais comme je t'es dis la somme me viens tjrs = 1, soit qu'il choisit par exemple 51 ou 251 ou 249 :sad)
j'aurai pas du??
ne fais pas ce que je dis, ne dis pas ce que je fais :)
cs_criss
Messages postés28Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention 6 avril 20031 6 mars 2003 à 21:47
mais duss, comme dit Kaloway ca donne tjrs 1, comme si il prend la vlaeur somme+ = 1/i et comme i on l'a initialisé a 1, il ne fait que ca.
sauf si tu as declaré i etant float comme a dit Kaloway.
sinon tu vois ou l'erreure dans mon travail en le comparant au tien??
merci
ne fais pas ce que je dis, ne dis pas ce que je fais :)
cs_criss
Messages postés28Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention 6 avril 20031 6 mars 2003 à 21:55
Kaloway
tu me dis en 2) ajouter une variable X(float) initialisé a 1, elle va faire le travail de ce que g mis?? a savoir valeur( ou i)=1?? je la remplace par X=1??
et si je ne remplace pas, quel serait le lien entre valeur( ou i ) et X?? car i je l'es incrémente de 2 comme ca elle sera tjrs impaire et g mis jusqu'a ce que i<=n, donc jusqu'au nombre choisi
ne fais pas ce que je dis, ne dis pas ce que je fais :)