HEX
Server: Apache
System: Linux vps.mmtprep.com 4.18.0-477.21.1.el8_8.x86_64 #1 SMP Thu Aug 10 13:51:50 EDT 2023 x86_64
User: mmtprep (1001)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/can2G20-RlsCsBk2.js.map
{"version":3,"file":"can2G20-RlsCsBk2.js","sources":["../../src/exercices/can/2e/can2G20.js"],"sourcesContent":["import { droite } from '../../../lib/2d/droites.js'\nimport { milieu, point, tracePoint } from '../../../lib/2d/points.js'\nimport { repere } from '../../../lib/2d/reperes.js'\nimport { segment } from '../../../lib/2d/segmentsVecteurs.js'\nimport { texteParPosition } from '../../../lib/2d/textes.js'\nimport { choice } from '../../../lib/outils/arrayOutils'\nimport { miseEnEvidence } from '../../../lib/outils/embellissements'\nimport { ecritureAlgebrique } from '../../../lib/outils/ecritures.js'\nimport Exercice from '../../Exercice.js'\nimport { mathalea2d } from '../../../modules/2dGeneralites.js'\nimport { randint } from '../../../modules/outils.js'\nimport FractionEtendue from '../../../modules/FractionEtendue.js'\nexport const titre = 'Déterminer une équation de droite (graphique)'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const dateDePublication = '15/11/2022'\n/**\n * Modèle d'exercice très simple pour la course aux nombres\n * @author Gilles Mora\n * Référence can2G20\n *\n*/\n\nexport const uuid = '1f967'\nexport const ref = 'can2G20'\nexport default function EquationDroite () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.typeExercice = 'simple' // Cette ligne est très importante pour faire faire un exercice simple !\n  this.formatChampTexte = 'largeur15 inline'\n  this.nbQuestions = 1\n  // Dans un exercice simple, ne pas mettre de this.listeQuestions = [] ni de this.consigne\n  this.tailleDiaporama = 2\n  this.nouvelleVersion = function () {\n    let xA, yA, xB, yB, o, A, B, Bx, By, sABx, sBBx, m, lA, traceA, lB, lABx, lBBx, lABx2, lBBx2, sBAx, Ax, sAxA, traceB, d, r1, xmin, xmax, ymin, ymax, objet, objetC, objetC2\n    switch (choice([1, 2])) {\n      case 1:\n        xA = 0\n        yA = randint(1, 4)\n        xB = randint(-4, 4, 0)\n        yB = randint(0, 4)\n        o = texteParPosition('O', -0.3, -0.3, 'milieu', 'black', 1)\n        A = point(xA, yA)\n        B = point(xB, yB)\n        Bx = point(B.x, A.y)\n        sABx = segment(A, Bx)\n        sBBx = segment(B, Bx)\n        m = new FractionEtendue(yB - yA, xB - xA)\n        sBBx.epaisseur = 2\n        sBBx.pointilles = 5\n        sABx.epaisseur = 2\n        sABx.pointilles = 5\n        lA = texteParPosition('A', xA, yA + 0.5, 'milieu', 'black', 1.5)\n        traceA = tracePoint(A, 'black') // Variable qui trace les points avec une croix\n        lB = texteParPosition('B', xB, yB + 0.5, 'milieu', 'black', 1.5)\n        lABx = texteParPosition(`${xB - xA}`, milieu(A, Bx).x, A.y + 0.3, 'milieu', 'red', 1.5)\n        lBBx = texteParPosition(`${yB - yA}`, B.x + 0.5, milieu(B, Bx).y, 'milieu', 'blue', 1.5)\n        traceB = tracePoint(B, 'black') // Variable qui trace les points avec une croix\n        d = droite(A, B, '', 'blue')\n        d.epaisseur = 2\n        traceA.taille = 3\n        traceA.epaisseur = 2\n        traceB.taille = 3\n        traceB.epaisseur = 2\n        xmin = -5\n        ymin = -1\n        xmax = 5\n        ymax = 5\n        r1 = repere({\n          xMin: xmin,\n          xMax: xmax,\n          xUnite: 1,\n          yMin: ymin,\n          yMax: ymax,\n          yUnite: 1,\n          thickHauteur: 0.1,\n          xLabelMin: xmin + 1,\n          xLabelMax: xmax - 1,\n          yLabelMax: ymax - 1,\n          yLabelMin: ymin + 1,\n          axeXStyle: '->',\n          axeYStyle: '->',\n          yLabelDistance: 1,\n          yLabelEcart: 0.3,\n          grilleSecondaire: true,\n          grilleSecondaireYDistance: 1,\n          grilleSecondaireXDistance: 1,\n          grilleSecondaireYMin: ymin,\n          grilleSecondaireYMax: ymax,\n          grilleSecondaireXMin: xmin,\n          grilleSecondaireXMax: xmax\n        })\n        objet = mathalea2d({ xmin, xmax, ymin, ymax: ymax + 0.25, pixelsParCm: 30, scale: 0.75, style: 'margin: auto' }, d, r1, traceB, o)\n        objetC = mathalea2d({ xmin, xmax, ymin, ymax: ymax + 0.25, pixelsParCm: 30, scale: 0.75, style: 'margin: auto' }, d, r1, traceA, lA, lB, traceB, o, sABx, sBBx, lABx, lBBx)\n\n        this.question = `Donner l'équation réduite de la droite.<br>\n\n        `\n        this.question += `${objet}<br>\n\n        `\n        if (yB === yA) {\n          this.correction = `La droite est horizontale. On en déduit que son coefficient directeur est $m=0$.<br>\n          Son ordonnée à l'origine est $${yA}$, ainsi l'équation réduite de la droite est $y=${yA}$.\n       `\n        } else {\n          this.correction = `Le coefficient directeur $m$ de la droite $(AB)$ est donné par : <br>\n    $m=\\\\dfrac{${miseEnEvidence(yB - yA, 'blue')}}{${miseEnEvidence(xB - xA, 'red')}}${m.texSimplificationAvecEtapes()}$.\n<br>`\n          if ((yB - yA) / xB === 1) { this.correction += `Son ordonnée à l'origine est $${yA}$, ainsi l'équation réduite de la droite est $y=x${ecritureAlgebrique(yA)}$.` }\n          if ((yB - yA) / xB === -1) { this.correction += `Son ordonnée à l'origine est $${yA}$, ainsi l'équation réduite de la droite est $y=-x${ecritureAlgebrique(yA)}$.` }\n          if ((yB - yA) / xB !== -1 && (yB - yA) / xB !== 1) { this.correction += `Son ordonnée à l'origine est $${yA}$, ainsi l'équation réduite de la droite est $y=${m.texFractionSimplifiee}x${ecritureAlgebrique(yA)}$.` }\n          this.correction += `<br>\n\n          ${objetC}<br>\n\n          `\n        }\n        this.canEnonce = this.question\n        this.canReponseACompleter = ''\n        this.reponse = [`y={${m}x + ${yA}`, `y=\\\\frac{${yB - yA}}{${xB - xA}}x + ${yA}`]\n        break\n\n      case 2:\n        xA = 0\n        yA = randint(-5, 5) / 2\n        xB = randint(-4, 4, 0)\n        yB = randint(-5, 5, 0) / 2\n        o = texteParPosition('O', -0.3, -0.3, 'milieu', 'black', 1)\n        A = point(xA, yA)\n        B = point(xB, yB)\n        Bx = point(B.x, A.y)\n        By = point(A.y, B.y)\n        Ax = point(A.x, B.y)\n        sABx = segment(A, Bx)\n        sBBx = segment(B, Bx)\n        sBAx = segment(B, Ax)\n        sAxA = segment(Ax, A)\n        m = new FractionEtendue(2 * (yB - yA), xB - xA)\n        sBBx.epaisseur = 2\n        sBBx.pointilles = 5\n        sABx.epaisseur = 2\n        sABx.pointilles = 5\n        sBAx.epaisseur = 2\n        sBAx.pointilles = 5\n        lA = texteParPosition('A', xA, yA + 0.5, 'milieu', 'black', 1.5)\n        traceA = tracePoint(A, 'black') // Variable qui trace les points avec une croix\n        lB = texteParPosition('B', xB, yB + 0.5, 'milieu', 'black', 1.5)\n        if (yA > yB) { lABx = texteParPosition(`${xB - xA}`, milieu(A, Bx).x, A.y + 0.3, 'milieu', 'red', 1.5) } else { lABx = texteParPosition(`${xB - xA}`, milieu(A, Bx).x, A.y - 0.3, 'milieu', 'red', 1.5) }\n        if (yA > yB) { lABx2 = texteParPosition(`${xA - xB}`, milieu(B, Ax).x, B.y - 0.3, 'milieu', 'red', 1.5) } else { lABx2 = texteParPosition(`${xA - xB}`, milieu(B, Ax).x, B.y + 0.3, 'milieu', 'red', 1.5) }\n        lBBx = texteParPosition(`${2 * (yB - yA)}`, B.x + 0.5, milieu(B, Bx).y, 'milieu', 'blue', 1.5)\n        lBBx2 = texteParPosition(`${2 * (yA - yB)}`, A.x + 0.3, milieu(By, A).y, 'milieu', 'blue', 1.5)\n        traceB = tracePoint(B, 'black') // Variable qui trace les points avec une croix\n        d = droite(A, B, '', 'blue')\n        d.epaisseur = 2\n        traceA.taille = 3\n        traceA.epaisseur = 2\n        traceB.taille = 3\n        traceB.epaisseur = 2\n        xmin = -5\n        ymin = -3\n        xmax = 5\n        ymax = 3\n        r1 = repere({\n          xMin: xmin,\n          xMax: xmax,\n          xUnite: 1,\n          yMin: 2 * ymin,\n          yMax: 2 * ymax,\n          yUnite: 0.5,\n          thickHauteur: 0.1,\n          xLabelMin: xmin + 1,\n          xLabelMax: xmax - 1,\n          yLabelMax: 2 * ymax - 2,\n          yLabelMin: 2 * ymin + 2,\n          axeXStyle: '->',\n          axeYStyle: '->',\n          yLabelDistance: 2,\n          yLabelEcart: 0.5,\n          grilleSecondaire: true,\n          grilleSecondaireYDistance: 1,\n          grilleSecondaireXDistance: 1,\n          grilleSecondaireYMin: 2 * ymin,\n          grilleSecondaireYMax: 2 * ymax,\n          grilleSecondaireXMin: xmin,\n          grilleSecondaireXMax: xmax\n        })\n        objet = mathalea2d({ xmin, xmax, ymin, ymax: ymax + 0.25, pixelsParCm: 30, scale: 0.75, style: 'margin: auto' }, d, r1, traceB, o)\n        objetC = mathalea2d({ xmin, xmax, ymin, ymax: ymax + 0.25, pixelsParCm: 30, scale: 0.75, style: 'margin: auto' }, d, r1, traceA, lA, lB, traceB, o, sABx, sBBx, lABx, lBBx)\n        objetC2 = mathalea2d({ xmin, xmax, ymin, ymax: ymax + 0.25, pixelsParCm: 30, scale: 0.75, style: 'margin: auto' }, d, r1, traceA, lA, lB, traceB, o, lABx2, sBAx, sAxA, lBBx2)\n        this.question = `Donner l'équation réduite de la droite.<br>\n\n        `\n        this.question += `${objet}<br>\n\n          `\n        if (yB === yA) {\n          this.correction = `La droite est horizontale. On en déduit que son coefficient directeur est $m=0$.<br>\n        Son ordonnée à l'origine est $${2 * yA}$, ainsi l'équation réduite de la droite est $y=${2 * yA}$.\n     `\n        } else {\n          if (xB > xA) {\n            this.correction = `Le coefficient directeur $m$ de la droite $(AB)$ est donné par : <br>\n    $m=\\\\dfrac{${miseEnEvidence(2 * yB - 2 * yA, 'blue')}}{${miseEnEvidence(xB - xA, 'red')}}${m.texSimplificationAvecEtapes()}$.\n<br>`\n            if (2 * (yB - yA) / xB === 1) { this.correction += `Son ordonnée à l'origine est $${2 * yA}$, ainsi l'équation réduite de la droite est $y=x${ecritureAlgebrique(2 * yA)}$.` }\n            if (2 * (yB - yA) / xB === -1) { this.correction += `Son ordonnée à l'origine est $${2 * yA}$, ainsi l'équation réduite de la droite est $y=-x${ecritureAlgebrique(2 * yA)}$.` }\n            if (2 * (yB - yA) / xB !== -1 && 2 * (yB - yA) / xB !== 1) { this.correction += `Son ordonnée à l'origine est $${2 * yA}$, ainsi l'équation réduite de la droite est $y=${m.texFractionSimplifiee}x${ecritureAlgebrique(2 * yA)}$.` }\n            this.correction += `<br>\n\n          ${objetC}<br>\n\n          `\n          } else {\n            this.correction = `Le coefficient directeur $m$ de la droite $(AB)$ est donné par : <br>\n      $m=\\\\dfrac{${miseEnEvidence(2 * yA - 2 * yB, 'blue')}}{${miseEnEvidence(xA - xB, 'red')}}${m.texSimplificationAvecEtapes()}$.\n  <br>`\n            if (2 * (yB - yA) / xB === 1) { this.correction += `Son ordonnée à l'origine est $${2 * yA}$, ainsi l'équation réduite de la droite est $y=x${ecritureAlgebrique(2 * yA)}$.` }\n            if (2 * (yB - yA) / xB === -1) { this.correction += `Son ordonnée à l'origine est $${2 * yA}$, ainsi l'équation réduite de la droite est $y=-x${ecritureAlgebrique(2 * yA)}$.` }\n            if (2 * (yB - yA) / xB !== -1 && 2 * (yB - yA) / xB !== 1) { this.correction += `Son ordonnée à l'origine est $${2 * yA}$, ainsi l'équation réduite de la droite est $y=${m.texFractionSimplifiee}x${ecritureAlgebrique(2 * yA)}$.` }\n            this.correction += `<br>\n\n            ${objetC2}<br>\n\n            `\n          }\n        }\n        this.canEnonce = this.question\n        this.canReponseACompleter = ''\n        if (yA !== 0) { this.reponse = [`y={${m}x + ${2 * yA}`, `y=\\\\frac{${2 * yB - 2 * yA}}{${xB - xA}}x + ${2 * yA}`] } else { this.reponse = [`y={${m}x `, `y=\\\\frac{${2 * yB - 2 * yA}}{${xB - xA}}x`] }\n        break\n    }\n  }\n}\n"],"names":["titre","interactifReady","interactifType","dateDePublication","uuid","ref","EquationDroite","Exercice","xA","yA","xB","yB","o","A","B","Bx","By","sABx","sBBx","m","lA","traceA","lB","lABx","lBBx","lABx2","lBBx2","sBAx","Ax","sAxA","traceB","d","r1","xmin","xmax","ymin","ymax","objet","objetC","objetC2","choice","randint","texteParPosition","point","segment","FractionEtendue","tracePoint","milieu","droite","repere","mathalea2d","miseEnEvidence","ecritureAlgebrique"],"mappings":"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"}