pour actions initiales  Le ...pour exporter parametre ver...pour actions en boucle  ?pour transmettre parametres...pour configurer la page  Fi...pour solution  fixer a à va...pourcoeurSolutionavec : a, b, c, ligne1, ligne2, ligne3, ligne4a est le coefficient de x^2b est le coefficient de xc est le terme constantLa ligne 1 affiche le discriminantLa ligne2 affiche le nombre de solutions réellesLas lignes 3 et 4 affichent les solutions (avec …b2^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<ligne2text(Pas de solution)code mathFixe le contenu deàd0=b-2a×÷ligne2text(Une solution)code mathligne3Solution =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×÷ligne2text(Deux solutions)code mathligne3Solution1 =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àCommentaireCommentaireCommentaireCommentaireCommentaireCommentaireProgramme p5Visuel spécial(sans fonctions de base)

var canvas, d, b, a, c, ligne1, ligne2, s1, ligne3, rd, s2, ligne4, commande, nomParametre, valeur, x;

/**
 * Fonction exécutée une fois, au départ
 */
function actions_initiales() {
  definirPageWebExecution('');
  configurer_la_page();
  noLoop();
}

/**
 * Décrire cette fonction…
 */
function exporter_parametre_vers_GeoGebra(nomParametre, valeur) {
  fixerValeurVariableGeoGebra2(nomParametre,valeur,'','cadreGGB');
}

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

/**
 * Décrire cette fonction…
 */
function transmettre_parametres_a_GeoGebra(a, b, c) {
  exporter_parametre_vers_GeoGebra('a', a);
  exporter_parametre_vers_GeoGebra('b', b);
  exporter_parametre_vers_GeoGebra('c', c);
}

/**
 * Décrire cette fonction…
 */
function configurer_la_page() {
  fixeContenuPrudent("(select('#'+'formule'))",(select('#'+'formule')),(codeMath('frac(-b+-sqrt(b^2-4ac))(2a)')));
  siClicPrudent("(select('#'+'bouton'))",(select('#'+'bouton')),"solution",solution);
  fixeValeurPrudent("(select('#'+'valeur_a'))",(select('#'+'valeur_a')),'');
  fixeValeurPrudent("(select('#'+'valeur_b'))",(select('#'+'valeur_b')),'');
  fixeValeurPrudent("(select('#'+'valeur_c'))",(select('#'+'valeur_c')),'');
  ligne1 = select('#'+'ligne1');
  ligne2 = select('#'+'ligne2');
  ligne3 = select('#'+'ligne3');
  ligne4 = select('#'+'ligne4');
  fixeContenuPrudent("ligne1",ligne1,'');
  fixeContenuPrudent("ligne2",ligne2,'');
  fixeContenuPrudent("ligne3",ligne3,'');
  fixeContenuPrudent("ligne4",ligne4,'');
  refreshMathJax();}

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

/**
 * Décrire cette fonction…
 */
function coeurSolution(a, b, c, ligne1, ligne2, ligne3, ligne4) {
  nePasTesterFonctionsDeBase();
  // 'a est le coefficient de x^2'
  // 'b est le coefficient de x'
  // 'c est le terme constant'
  // 'La ligne 1 affiche le discriminant'
  // 'La ligne2 affiche le nombre de solutions réelles'
  // 'Las lignes 3 et 4 affichent les solutions (avec formules)'
  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,(codeMath('text(Pas de solution)')));
  }
  if (d == 0) {
    s1 = -b / (2 * a);
    fixeContenuPrudent("ligne2",ligne2,(codeMath('text(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,(codeMath('text(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