Javascript Equation

Bonjour a tout les internautes !

Je suis débutant dans la programmation Javascript et je m'amuse a créer de petit scripts.
J'ai essayé des créer un script permettant de trouver les solutions d'une équation du second degree mais il ne fonctionne pas !
Pouvez-vous m'indiquer mon (ou mes) erreur(s) ? Merci d'avance !

Voici le script complet :

<html><head><title>Résolveur d'équation du second dregree</title>
<script language="Javascript">
function equation()
{
var a=parseInt(document.formulaire.valeur1.value)
var b=parseInt(document.formulaire.valeur2.value)
var c=parseInt(document.formulaire.valeur3.value)
var d=b*b-4*a*c
var s0=(-b)/2a
var s1=((-b)-d)/2a
var s2=((-b)+d)/2a

if (a=0)
{
alert("Ton équation n'est pas du seconde degree")
}
else if (d<=0)
{
alert("Ton équation n'admet aucune solution reels")
}
else if (d=0)
{
alert("Ton éqution admet une seul solution :" +s0)
}
else
{
alert("Ton équation admet deux solution :" +s1 "et" +s2)
}
}

</script></head>

<body><center><h2>Résolveur d'équation du second degree</h2>

<form name="formulaire" action="">

<input type="text" name="valeur1" size="2">x^2

+<input type="text" name="valeur2" size="2">x

+<input type="text" name="valeur3" size="2">=0<br>

<input type="button" value="solution !" onClick="equation()">

</form></center></body></html>
Configuration: Windows XP
Firefox 2.0.0.11

8 réponses

  1. Merci le Père ! J'avoue que je n'est pas de manuel et que je pioche des infos sur différents site
    D'ailleurs est ce que tu pourrais me conseiller un livre pour appprendre le Javascript ?
    1. Fais comme moi, regarde dans ton manuel de javascript.
      Tu n'en as pas ? Moi, ils m'impressionnent tous ces gens qui ne regardent jamais une documentation.
      Il y a 30 ans que je programme (ben si...) et j'en regarde toujours quand je ne sais pas.

      Je t'ai assez charrié. C'est Math.sqrt. Je ne le savais pas avant ta question.
      https://www.toutjavascript.com/reference/ref-math.sqrt.php
      1. heu.......la racine carré c'est "sqrt" ?
        quand je met "d=sqrt(b*b-4*a*c)" ca ne marche pas !
        Comment faire ? merci
        1. OOOOOOOO quel erreur !!!!!! C'est racine carré de "d" !
          Sa craint pour un Terminal S ! lol
          Merci le père !!
          1. Re-bonsoir

            Mais tes solutions s1 et s2 sont fausses ! Relis bien ce que tu as écrit, je te laisse deviner
            1. Bonjour

              petites fautes de frappe

              if (a==0) et
              if (d==0)

              la comparaison c'est ==
              a=0 est une expression qui affecte 0 à la variable a et vaut elle même la valeur affectée, c'est à dire 0
              donc if(a=0) est toujours faux (0= faux), peu importe que a vaille 0 ou pas
              de même if (a=1) est toujours vrai même si a contient 2
              1. Merci !

                Mais il y a autre probleme quand je rentre "0" pour le coefficient de x^2 il n'apparait pas "Ton équation n'est pas du seconde degree", a la place il apparait "Ton équation admet deux solution :infinity et infinity"
                Quelle erreur ai-je commi ?
                1. C'est " 2a " qui pose probléme.
                  Et il manque un " + " pour la concaténation.

                  Là ça fonctionne (les modifs sont en gras) :

                  <html><head><title>Résolveur d'équation du second dregree</title>
                  <script language="Javascript">
                  function equation()
                  {
                  var a=parseInt(document.formulaire.valeur1.value)
                  var b=parseInt(document.formulaire.valeur2.value)
                  var c=parseInt(document.formulaire.valeur3.value)
                  var d=b*b-4*a*c
                  var s0=(-b)/(2*a)
                  var s1=((-b)-d)/(2*a)
                  var s2=((-b)+d)/(2*a)
                  
                  if (a=0)
                  {
                  alert("Ton équation n'est pas du seconde degree")
                  }
                  else if (d<=0)
                  {
                  alert("Ton équation n'admet aucune solution reels")
                  }
                  else if (d=0)
                  {
                  alert("Ton éqution admet une seul solution :" +s0)
                  }
                  else
                  {
                  alert("Ton équation admet deux solution :" +s1+"et" +s2)
                  }
                  }
                  
                  </script></head>
                  
                  <body><center><h2>Résolveur d'équation du second degree</h2>
                  
                  <form name="formulaire" action="">
                  
                  <input type="text" name="valeur1" size="2">x^2
                  
                  +<input type="text" name="valeur2" size="2">x
                  
                  +<input type="text" name="valeur3" size="2">=0<br>
                  
                  <input type="button" value="solution !" onClick="equation()">
                  
                  </form></center></body></html>