20Trouver les solutions de l'équationequationtext(          )ax^2+bx+c=0code mathLa formule utiliséeformuletext(          )frac(-b+-sqrt(b^2-4ac))(2a)code mathvaleur_aa =  valeur_asolutionvaleur_bb =  valeur_bsolutionvaleur_cc =  valeur_csolutionboutonTrouver les solutionsboutonsolutionligne1 ligne2 ligne3 ligne4 placer cadre GeoGebraFaireCréer un paragraphecontenantCréer un paragraphecontenantCréer un paragraphecontenantCréer un paragraphecontenantsi clic surfaireCréer un boutonaffichantInsérer un saut de ligneInsérer un saut de lignesi on tape 'retour' dansfaireCréer une entréede nomet de contenu initialInsérer un saut de lignesi on tape 'retour' dansfaireCréer une entréede nomet de contenu initialInsérer un saut de lignesi on tape 'retour' dansfaireCréer une entréede nomet de contenu initialFinaliser les expressions mathématiquesCréer un paragraphecontenantCréer un paragraphecontenantCréer un paragraphecontenantCréer un paragraphecontenantMarge gauchepixels'actions en boucle' appelée une seule foispouractions initiales pour actions en boucle  ?pour placer cadre GeoGebra ...pour transmettre parametres...valeur_avaleur devaleur_bvaleur devaleur_cvaleur deabctransmettre parametres a GeoGebraavec :abca0=valeur_a0Fixe la valeur deàb0=valeur_b0Fixe la valeur deàc0=valeur_c0Fixe la valeur deàligne1 ligne2 ligne3 ligne4 abccoeurSolutionavec :abcFinaliser les expressions mathématiquesFixe le contenu deàFixe le contenu deàFixe le contenu deàFixe le contenu deàsifairesifairesifairefixercàfixerbàfixeraàpoursolution retourpourcoeurSolutionavec : a, b, cb2^4ac××-dest un nombre ?pasligne1<b>Attention :</b> les valeurs de <i>a</i>, <i>b…quitter la fonction (en retournant)Fixe le contenu deàa0=ligne1<b>Attention :</b> la valeur de <i>a</i> doit êt…quitter la fonction (en retournant)Fixe le contenu deàligne1"discriminant" =b^2-4ac=(@2)^2-4(@1)(@3)~~@4créer une liste avecabcdsubstituer dansles valeurscode mathd0<ligne2Pas de solutionFixe le contenu deàd0=b-2a×÷ligne2Une solutionligne3Solution =frac(-b)(2a)=frac(-(@2))(2(@1))~~@3créer une liste avecabs1substituer dansles valeurscode mathFixe le contenu deàFixe le contenu deàfixers1àd0>dracine carréeb-rd+2a×÷b-rd-2a×÷ligne2Deux solutionsligne3Solution1 =frac(-b+sqrt(b^2-4ac))(2a)=frac(-(@2)…créer une liste avecabcs1substituer dansles valeurscode mathligne4Solution2 =frac(-b-sqrt(b^2-4ac))(2a)=frac(-(@2)…créer une liste avecabcs2substituer dansles valeurscode mathFixe le contenu deàFixe le contenu deàFixe le contenu deàfixers2àfixers1àfixerrdàsifairesifairesifaireFixe le contenu deàsifairesifairefixerdà

var canvas, d, b, a, c, ligne1, ligne2, s1, ligne3, rd, s2, ligne4, commande, nomParametre, valeur, x, formule, equation, bouton, valeur_a, valeur_b, valeur_c;

/**
 * Fonction exécutée une fois, au départ
 */
function actions_initiales() {
  noLoop();
  document.body.style.paddingLeft="20px";
  createP('Trouver les solutions de l\'équation');
  equation=createP((codeMath('text(          )ax^2+bx+c=0')));
  createP('La formule utilisée');
  formule=createP((codeMath('text(          )frac(-b+-sqrt(b^2-4ac))(2a)')));
  refreshMathJax();valeur_a=creerEntreeNommee('a = ','');
  siRetourPrudent("valeur_a",valeur_a,"solution",solution);
  createSpan("<br>");
  valeur_b=creerEntreeNommee('b = ','');
  siRetourPrudent("valeur_b",valeur_b,"solution",solution);
  createSpan("<br>");
  valeur_c=creerEntreeNommee('c = ','');
  siRetourPrudent("valeur_c",valeur_c,"solution",solution);
  createSpan("<br>");
  createSpan("<br>");
  bouton=createButton('Trouver les solutions');
  siClicPrudent("bouton",bouton,"solution",solution);
  ligne1=createP('');
  ligne2=createP('');
  ligne3=createP('');
  ligne4=createP('');
  placer_cadre_GeoGebra();
}

/**
 * Fonction exécutée périodiquement, de façon répétée
 */
function actions_en_boucle() {
}

/**
 * Décrire cette fonction…
 */
function placer_cadre_GeoGebra() {
  if (retournerSiCadreCharge('cadreGGB1',"GEOGEBRA")) {
    positionnerObjetPrudent("(select('#'+'cadreGGB1'))",(select('#'+'cadreGGB1')),0,500);
  } else {
    faireDelaiPrudent("placer_cadre_GeoGebra",placer_cadre_GeoGebra,0.1);
  }
}

/**
 * Décrire cette fonction…
 */
function transmettre_parametres_a_GeoGebra(a, b, c) {
  if (retournerSiCadreCharge('cadreGGB1',"GEOGEBRA")) {
    fixerValeurVariableGeoGebraF('a',a,'cadreGGB1');
    fixerValeurVariableGeoGebraF('b',b,'cadreGGB1');
    fixerValeurVariableGeoGebraF('c',c,'cadreGGB1');
  }
}

/**
 * Décrire cette fonction…
 */
function solution() {
  a = valeurPrudent("valeur_a",valeur_a);
  b = valeurPrudent("valeur_b",valeur_b);
  c = valeurPrudent("valeur_c",valeur_c);
  transmettre_parametres_a_GeoGebra(a, b, c);
  if (a == 0) {
    fixeValeurPrudent("valeur_a",valeur_a,0);
  }
  if (b == 0) {
    fixeValeurPrudent("valeur_b",valeur_b,0);
  }
  if (c == 0) {
    fixeValeurPrudent("valeur_c",valeur_c,0);
  }
  fixeContenuPrudent("ligne1",ligne1,'');
  fixeContenuPrudent("ligne2",ligne2,'');
  fixeContenuPrudent("ligne3",ligne3,'');
  fixeContenuPrudent("ligne4",ligne4,'');
  coeurSolution(a, b, c);
  refreshMathJax();}

/**
 * Décrire cette fonction…
 */
function coeurSolution(a, b, c) {
  d = Math.pow(b, 2) - 4 * a * c;
  if (!estNombre(d)) {
    fixeContenuPrudent("ligne1",ligne1,'<b>Attention :</b> les valeurs de <i>a</i>, <i>b</i> et <i>c</i> doivent être <i>des nombres</i>.');
    return ;
  }
  if (a == 0) {
    fixeContenuPrudent("ligne1",ligne1,'<b>Attention :</b> la valeur de <i>a</i> doit être <i>non nulle</i>.');
    return ;
  }
  fixeContenuPrudent("ligne1",ligne1,(codeMath((substitution('"discriminant" =b^2-4ac=(@2)^2-4(@1)(@3)~~@4',[a, b, c, d])))));
  if (d < 0) {
    fixeContenuPrudent("ligne2",ligne2,'Pas de solution');
  }
  if (d == 0) {
    s1 = -b / (2 * a);
    fixeContenuPrudent("ligne2",ligne2,'Une solution');
    fixeContenuPrudent("ligne3",ligne3,(codeMath((substitution('Solution =frac(-b)(2a)=frac(-(@2))(2(@1))~~@3',[a, b, s1])))));
  }
  if (d > 0) {
    rd = Math.sqrt(d);
    s1 = (-b + rd) / (2 * a);
    s2 = (-b - rd) / (2 * a);
    fixeContenuPrudent("ligne2",ligne2,'Deux solutions');
    fixeContenuPrudent("ligne3",ligne3,(codeMath((substitution('Solution1 =frac(-b+sqrt(b^2-4ac))(2a)=frac(-(@2)+sqrt((@2)^2-4(@1)(@3)))(2(@1))~~ @4',[a, b, c, s1])))));
    fixeContenuPrudent("ligne4",ligne4,(codeMath((substitution('Solution2 =frac(-b-sqrt(b^2-4ac))(2a)=frac(-(@2)-sqrt((@2)^2-4(@1)(@3)))(2(@1))~~@4 ',[a, b, c, s2])))));
  }
}
Exécuter