JS - ax²+bx+c=0 - Squelette du script

by M.V. 414

HTML

<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({ tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]} });
</script>

<h2>Résolution de l'équation $ax^2+bx+c=0$</h2>
<label for="a">a=</label><input type="text" id="input_a" value="1" size='6'>
<label for="b">b=</label><input type="text" id="input_b" value="2" size='6'>
<label for="c">c=</label><input type="text" id="input_c" value="3" size='6'>

<p>Le discriminant vaut <span id="span_delta"></span></p>
<p>Il y a <span id="span_nbsolutions"></span> solution<span id="pluriel"></span> <span id="solreelle"></span></p>
<span id="span_solutions"></span>

CSS

input[type='text']{ text-align:center; }

JavaScript

/* =========================
   DEFINITION DES FONCTIONS
   ========================= */
// Fonction "CalculerSolutions" qui va calculer les solutions et les mettre dans une liste
var CalculerSolutions = function(a,b,c) {
   var solutions = []; // une liste (vide au départ) qui devra contenir en sortie de fonction :
                       // [delta,0] ou [delta,1,x0] ou [delta,2,x1,x2]
   var delta = Math.pow(b,2)-4*a*c; // Calcul de delta
   solutions.push(delta); // Ajout de delta à la liste
   if (delta < 0) {
   		solutions.push(0); // Ajout du nombre de solutions à la liste
   } else if(delta === 0) {
   		solutions.push(1); // Ajout du nombre de solutions à la liste
    	var x0 = -b/(2*a); // Calcul de la solution
    	solutions.push(x0); // Ajout de la solution à la liste
   } else if(delta > 0) {
    	solutions.push(2); // Ajout du nombre de solutions à la liste
    	var x1 = (-b-Math.sqrt(delta))/(2*a); // Calcul des solutions
    	var x2 = (-b+Math.sqrt(delta))/(2*a);
  	  solutions.push(x1); // Ajout des solutions à la liste
	    solutions.push(x2);
   }
   return solutions; // Sortie de fonction: affichage des résultats
}
// Fonction "AfficherSolutions" qui va : 
//  1. récupérer les valeurs a, b, c du formulaire ;
//  2. utiliser la fonction CalculerSolutions pour le calcul de delta et des solutions 
//  3. afficher delta et les solutions.
var AfficherSolutions = function() {
    var va = $("#input_a").val(); // Récupération des valeurs input
    var vb = $("#input_b").val();
    var vc = $("#input_c").val();
    var listeSolutions = CalculerSolutions(va,vb,vc); // Calcul des valeurs et stockage dans la liste listeSolutions
    $("#span_delta").text(listeSolutions[0]); // Affichage du delta
    $("#span_nbsolutions").text(listeSolutions[1]); // Affichage du nombre de solutions
    if(listeSolutions[1] > 1) {
      $("#pluriel").text("s");
    } // Ajout d'un "s" à "solution" si 2 résultats
    if(listeSolutions[1] === 0) {
   ...