30Équation de la droite par deux pointsPoint A : x = Ax  y = Ay Point B : x = Bx  y = By boutonDroite par ces deux pointsboutoncalculspente ordOrg equation Créer un paragraphecontenantCréer un paragraphecontenantCréer un paragraphecontenantsi clic surfaireCréer un boutonaffichantInsérer un saut de ligneInsérer un saut de ligneCréer une entréede contenu initialCréer un textede contenuCréer une entréede contenu initialCréer un textede contenuInsérer un saut de ligneInsérer un saut de ligneCréer une entréede contenu initialCréer un textede contenuCréer une entréede contenu initialCréer un textede contenuCréer un titrecontenantMarge gauchepixels'actions en boucle' appelée une seule foisPas de canevaspouractions initiales pouractions en boucle pente ordOrg equation Axvaleur deAyvaleur deBxvaleur deByvaleur desifairesinonxAest un nombre ?yAest un nombre ?xBest un nombre ?yBest un nombre ?etetetsifairesinonxAxB=sifairesinonyAyB=pentePoints confondusFixe le contenu deàpentePente infinieequationcréer un texte avecx = xAFixe le contenu deàFixe le contenu deàyAyB-xAxB-÷yAmxA×-pentecréer un texte avecPente : m=frac(y_(A)-y_B )(x_A-x_B) =frac((@2)-(@4))((@1…créer une liste avecxAyAxByBmsubstituer dansles valeurscode mathordOrgcréer un texte avecOrdonnée à l'origine : b = y_A - mx_A=(@2)-(@3)(@1)~~@4créer une liste avecxAyAmbsubstituer dansles valeurscode mathequationcréer un texte avecÉquation : y=mx+b~~(@1)x+(@2)créer une liste avecmbsubstituer dansles valeurscode mathFinaliser les expressions mathématiquesFixe le contenu deàFixe le contenu deàFixe le contenu deàfixerbàfixermàpenteVous devez entrer 4 nombresFixe le contenu deàfixeryBàfixerxBàfixeryAàfixerxAàFixe le contenu deàFixe le contenu deàFixe le contenu deàpourcalculs retour


var canvas, Ax, Ay, Bx, By, xA, yA, xB, yB, pente, ordOrg, equation, bouton, m, b;

/**
 * Fonction exécutée une fois, au départ
 */
function actions_initiales() {
  //noCanvas();
  noLoop();
  document.body.style.paddingLeft="30px";
  createElement("h1",'Équation de la droite par deux points');
  createSpan('Point A : x = ');
  Ax=createInput('');
  createSpan(' y = ');
  Ay=createInput('');
  createSpan("<br>");
  createSpan("<br>");
  createSpan('Point B : x = ');
  Bx=createInput('');
  createSpan(' y = ');
  By=createInput('');
  createSpan("<br>");
  createSpan("<br>");
  bouton=createButton('Droite par ces deux points');
  siClicPrudent("bouton",bouton,"calculs",calculs);
  pente=createP('');
  ordOrg=createP('');
  equation=createP('');
}

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

/**
 * Décrire cette fonction…
 */
function calculs() {
  fixeContenuPrudent("pente",pente,'');
  fixeContenuPrudent("ordOrg",ordOrg,'');
  fixeContenuPrudent("equation",equation,'');
  xA = valeurPrudent("Ax",Ax);
  yA = valeurPrudent("Ay",Ay);
  xB = valeurPrudent("Bx",Bx);
  yB = valeurPrudent("By",By);
  if (estNombre(xA) && estNombre(yA) && estNombre(xB) && estNombre(yB)) {
    if (xA == xB) {
      if (yA == yB) {
        fixeContenuPrudent("pente",pente,'Points confondus');
      } else {
        fixeContenuPrudent("pente",pente,'Pente infinie');
        fixeContenuPrudent("equation",equation,(String('x = ') + String(xA)));
      }
    } else {
      m = (yA - yB) / (xA - xB);
      b = yA - m * xA;
      fixeContenuPrudent("pente",pente,(String('Pente : ') + String(codeMath((substitution('m=frac(y_(A)-y_B )(x_A-x_B) =frac((@2)-(@4))((@1)-(@3))~~@5',[xA, yA, xB, yB, m]))))));
      fixeContenuPrudent("ordOrg",ordOrg,(String('Ordonnée à l\'origine : ') + String(codeMath((substitution('b = y_A - mx_A=(@2)-(@3)(@1)~~@4',[xA, yA, m, b]))))));
      fixeContenuPrudent("equation",equation,(String('Équation : ') + String(codeMath((substitution('y=mx+b~~(@1)x+(@2)',[m, b]))))));
      refreshMathJax();}
  } else {
    fixeContenuPrudent("pente",pente,'Vous devez entrer 4 nombres');
  }
}
Exécuter