Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#2 27-12-2014 14:11:00
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 944
Re : Traduction en Java
Salut,
Une image pour du texte, c'est pas top !
Il y a la balise code pour ça...
Bon, tu ne te manifestais pas alors, je n'ai pas corrigé mes propositions sur un point précis.
J'ai écrit (ici :
http://www.bibmath.net/forums/viewtopic … 485#p49485. D'ailleurs pourquoi ouvrir une nouvelle discussion ?)
Tant que a <> b
si a > b alors
b=b+d
sinon si a<b
a=a+c
Fin tant que
Pourquoi, parce qu'au premier abord je craignais qu'avec un sinon seul, on boucle sans arrêt dans le cas où a = b...
En fait non !
Pourquoi ?
Parce que dans le cas Tant que, si la condition a !=b n'est plus vérifiée alors c'est que a = b et on sort de la boucle.
Supposons que l'on vienne de modifier a ou b et que l'on ait a = b
Immédiatement après, le Tant que constate que sa condition n'est plus vérifiée et on sort de la boucle.
Donc le cas a = b ne peut pas se présenter dans le sinon et la précision : if a < b est inutile.
Mais ça, c'est un détail.
Par contre, j'ai été fort surpris qu'en java l'opérateur d'affectation soit == : j'ai donc vérifié, c'est faux. C'est un simple =
== c'est l'opérateur de test d'égalité : if a == b...
int a, b, c, d ;
system.out.println("Entrez a et b");
a=new.java.util.Scanner(System, in)nextInt();
b=new.java.util.Scanner(System, in)nextInt();
c=a
d=b
while (a!=b){
if (a>b){
b=b+d;
}
else;
a=a+c;
}
}
system.out.println("Le PPCM est :");
system.out.println(a);
Autre erreur.
Tu écris : system.out.println("a");
Si tu mets des guillemets ce n'est plus la variable a qui sera affichée mais la lettre a
@+
Et inutile d'ouvrir une autre une autre discussion pour répondre, hein, cette fois ! ^_^
Arx Tarpeia Capitoli proxima...
En ligne
#4 27-12-2014 15:27:38
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 944
Re : Traduction en Java
Re,
A mon avis, ces deux lignes sont correctes, le problème que tu rencontres ne (lequel ?) ne vient pas de là...
Depuis le while je compte
2 accolades ouvrantes {4 accolades fermantes.
Je n'ai jamais programmé en java, mais ça me choque...
Donc j'ai cherché et voilà ce que j'ai trouvé :
// instructions à exécuter
} else {
// instructions à exécuter si la condition n'est pas remplie
}
Essaie donc :
int a, b, c, d ;
system.out.println("Entrez a et b");
a=new.java.util.Scanner(System, in)nextInt();
b=new.java.util.Scanner(System, in)nextInt();
c=a;
d=b;
while (a!=b){
if (a>b){
b=b+d;
}
else {
a=a+c;
}
}
system.out.println("Le PPCM est :");
system.out.println(a);
Il me semble qu'il manquait aussi des points-virgules après c=a et d=b
@+
Arx Tarpeia Capitoli proxima...
En ligne
Pages : 1