IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Explication du code


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2008
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2008
    Messages : 81
    Par défaut Explication du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    import java.util.*;
    public class Equation {
                public static void main(String[] args) {
                            float a,b,c;
                            Scanner sc = new Scanner(System.in);
                            System.out.print("Entrez le premier coefficient:");
                            a=sc.nextFloat();
                            System.out.print("Entrez le deuxième coefficient:");
                            b=sc.nextFloat();
                            System.out.print("Entrez le troisième coefficient:");
                            c=sc.nextFloat();
                            System.out.print("Voici votre équation saisié :");
                            System.out.println(a+"x²"+b+"x"+c);
                            if(a==0){
                                       if(b==0){
                                                   if(c==0){
                                                               System.out.println("La soltuion est l'ensemble R"); }
                                                   else
                                                               System.out.println("La solution est l'ensemble vide");}
                                       else
                                                   System.out.println("La solution est:"+(-c/b));}
                            else {
                                       float d;
                                       d=(b*b)-4*a*c;
                                       if(d>0) {
                                       System.out.println("Solution 1 :"+(-b-Math.sqrt(d))/(2*a));
                                       System.out.println("Solution 2:"+(-b+Math.sqrt(d))/(2*a));}
                                       else
                                                   System.out.print("la solution est un nombre complexe"); }}}


    Mon problème est que je ne comprend pas les IF imbriqués

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    La classe Scanner te facilite l'entrée des flux (donnée depuis le clavier, socket, ...) et Systeme.out.println te permet d'afficher une ligne. C'est un code très basique, essaie de lire un tutoriel.

    A+.

  3. #3
    Membre expérimenté Avatar de Gaillac
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Par défaut
    Citation Envoyé par geroma Voir le message
    Mon problème est que je ne comprend pas les IF imbriqués
    En fait c'est un problème de compréhension de l'algo, pas de java en lui même, non?

    L code se contente :
    1) de demander la saisie (sans doute clavier) des 3 coefficients a, b et c de ton expression du second degré a.x²+b.x+c
    2) d'en donner les racines, via les 3 if imbriqués. Un début d’indentation aiderai peut-être, mais c'est simplement une résolution d’équation du premier degré.

    si a = 0
    alors
    si b = 0
    alors
    si c = 0
    alors
    l'équation devient 0x²+0x+0 = 0
    la solution est l'ensemble R
    sinon
    l'équation devient 0x²+0x+c = 0 avec c différent de 0
    l'équation n'admet pas de solution
    fin si
    sinon
    l'équation devient 0x²+bx+c = 0 avec b différent de 0
    la solution est -c/b
    fin si
    sinon
    calcul du discriminant d (pour delta)
    si d> 0
    on a 2 racines
    sinon
    pas de solution dans R, mais dans C
    fin si
    fin si

    Soit dit en passant c'est faut, il faudrait remplacer le d >0 par un d>= 0 (si d=0 on a une racine double).

    C'est plus clair comme ça, ou je n'ai pas compris la question?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 281
    Par défaut
    La personne qui a écrit cette algo a simplement fait le travaille quand on résoud ce genre d'équation.
    En effet, on ne peut pas diviser par 0 donc il faut différencier les cas pour résoudre l'équation.

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2008
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2008
    Messages : 81
    Par défaut
    Citation Envoyé par Gaillac Voir le message
    En fait c'est un problème de compréhension de l'algo, pas de java en lui même, non?

    L code se contente :
    1) de demander la saisie (sans doute clavier) des 3 coefficients a, b et c de ton expression du second degré a.x²+b.x+c
    2) d'en donner les racines, via les 3 if imbriqués. Un début d’indentation aiderai peut-être, mais c'est simplement une résolution d’équation du premier degré.

    si a = 0
    alors
    si b = 0
    alors
    si c = 0
    alors
    l'équation devient 0x²+0x+0 = 0
    la solution est l'ensemble R
    sinon
    l'équation devient 0x²+0x+c = 0 avec c différent de 0
    l'équation n'admet pas de solution
    fin si
    sinon
    l'équation devient 0x²+bx+c = 0 avec b différent de 0
    la solution est -c/b
    fin si
    sinon
    calcul du discriminant d (pour delta)
    si d> 0
    on a 2 racines
    sinon
    pas de solution dans R, mais dans C
    fin si
    fin si

    Soit dit en passant c'est faut, il faudrait remplacer le d >0 par un d>= 0 (si d=0 on a une racine double).

    C'est plus clair comme ça, ou je n'ai pas compris la question?
    Je suis satisfait la vraiment j'ai été débloqué.
    Merci

  6. #6
    Membre expérimenté Avatar de Gaillac
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Par défaut
    Citation Envoyé par geroma Voir le message
    Je suis satisfait la vraiment j'ai été débloqué.
    Merci
    Avec plaisir.

    On omettra le fait que j'ai écrit n'importe quoi, genre "équation du premier degré"...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Explication de code
    Par sacco dans le forum C
    Réponses: 2
    Dernier message: 12/04/2006, 23h13
  2. Explication de code
    Par claralavraie dans le forum Linux
    Réponses: 1
    Dernier message: 20/03/2006, 09h58
  3. Shell - Explication de code
    Par claralavraie dans le forum Linux
    Réponses: 13
    Dernier message: 13/01/2006, 16h03
  4. Explication de code - RE
    Par deedoo dans le forum Général Python
    Réponses: 23
    Dernier message: 29/07/2005, 14h00
  5. Explication de code simple
    Par Clad3 dans le forum OpenGL
    Réponses: 3
    Dernier message: 20/03/2005, 11h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo