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/6M20-ZRAJPhlZ.js.map
{"version":3,"file":"6M20-ZRAJPhlZ.js","sources":["../../src/exercices/6e/6M20.js"],"sourcesContent":["import { codageAngleDroit } from '../../lib/2d/angles.js'\nimport { afficheCoteSegment, afficheLongueurSegment } from '../../lib/2d/codages.js'\nimport { point } from '../../lib/2d/points.js'\nimport { polygoneAvecNom } from '../../lib/2d/polygones.js'\nimport { longueur, segment } from '../../lib/2d/segmentsVecteurs.js'\nimport { rotation } from '../../lib/2d/transformations.js'\nimport { triangle2points1hauteur } from '../../lib/2d/triangle.js'\nimport { combinaisonListes, combinaisonListesSansChangerOrdre, shuffle } from '../../lib/outils/arrayOutils'\nimport { arrondi } from '../../lib/outils/nombres.js'\nimport { creerNomDePolygone } from '../../lib/outils/outilString.js'\nimport { texNombre } from '../../lib/outils/texNombre.js'\nimport { calculANePlusJamaisUtiliser, listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport Exercice from '../Exercice.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { context } from '../../modules/context.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport Grandeur from '../../modules/Grandeur'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const titre = 'Calculate the area of triangles'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const amcReady = true\nexport const amcType = 'AMCNum'\n\nexport const dateDeModifImportante = '12/04/2023'\n\n/**\n * Calculer l'aire de 3 triangles dont une hauteur est tracée.\n *\n * Une figure dynamique est disponible sur laquelle on peut déplacer le pied de la hauteur.\n *\n * @author Rémi Angot conversion mathalea2d Jean-Claude Lhote\n * Ajout de la possibilité de choisir le nombre de questions par Guillaume Valmont le 08/05/2022\n * Référence 6M20\n */\nexport const uuid = '06b1a'\nexport const ref = '6M20'\nexport default function AireDeTriangles () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.interactifReady = interactifReady\n  this.interactifType = interactifType\n  this.amcReady = amcReady\n  this.amcType = amcType\n  this.titre = titre\n  this.spacing = 2\n  // eslint-disable-next-line no-undef\n  context.isHtml ? (this.spacingCorr = 3) : (this.spacingCorr = 2)\n  this.nbQuestions = 3\n  this.nbCols = 1\n  this.nbColsCorr = 1\n  this.sup = 3\n\n  this.correctionDetailleeDisponible = true\n  this.correctionDetaillee = false\n\n  this.nouvelleVersion = function () {\n    this.listeCorrections = [] // Liste de questions corrigées\n    this.listeQuestions = []\n    this.autoCorrection = []\n    const tableauDesCotes = shuffle([5, 6, 7, 8, 9]) // pour s'assurer que les 3 côtés sont différents\n    const tableauDesHauteurs = shuffle([3, 4, 5, 6]) // pour s'assurer que les 3 hauteurs sont différents\n    const cotes = combinaisonListesSansChangerOrdre(tableauDesCotes, this.nbQuestions)\n    const hauteurs = combinaisonListesSansChangerOrdre(tableauDesHauteurs, this.nbQuestions)\n    let triH\n    const A = point(0, 0)\n    let B\n    let C\n    let H\n    let triangle\n    let polynom\n    let hauteurpoly\n    let d\n    const objetsEnonce = []\n    const objetsCorrection = []\n    let xmin\n    let xmax\n    let ymin\n    let ymax\n\n    const NB_LETTRES = 20\n    const nom = creerNomDePolygone(NB_LETTRES, 'Q.D.')\n\n    const typeQuestionsDisponibles = this.sup === 3 ? ['interior', 'outside'] : this.sup === 1 ? ['interior'] : ['outside']\n\n    const listeTypeQuestions = combinaisonListes(typeQuestionsDisponibles, this.nbQuestions)\n    for (let i = 0, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      objetsEnonce.length = 0\n      objetsCorrection.length = 0\n      A.nom = nom[(i * 4) % NB_LETTRES]\n      B = rotation(point(cotes[i], 0), A, randint(-60, 60), nom[(i * 4 + 1) % NB_LETTRES])\n      if (listeTypeQuestions[i] === 'outside') {\n        d = longueur(A, B) + randint(6, 9) / 3\n      } else {\n        d = calculANePlusJamaisUtiliser(randint(6, Math.round(longueur(A, B) * 10 - 6)) / 10)\n      }\n      triH = triangle2points1hauteur(A, B, hauteurs[i], d, 2)\n      H = triH.pied\n      H.nom = nom[(i * 4 + 3) % NB_LETTRES]\n      triangle = triH.triangle\n      C = triangle.listePoints[2]\n      C.nom = nom[(i * 4 + 2) % NB_LETTRES]\n      polynom = polygoneAvecNom(A, H, B, C)\n      hauteurpoly = segment(C, H)\n      hauteurpoly.pointilles = 2\n      xmin = Math.min(A.x, B.x, C.x, H.x) - 1.5\n      xmax = Math.max(A.x, B.x, C.x, H.x) + 1.5\n      ymin = Math.min(A.y, B.y, C.y, H.y) - 2\n      ymax = Math.max(A.y, B.y, C.y, H.y) + 1.5\n      objetsEnonce.push(polynom[0], polynom[1], hauteurpoly, afficheCoteSegment(segment(B, A), '', 1), afficheLongueurSegment(A, C, 'black', 0.5), afficheLongueurSegment(C, B, 'black', 0.5), afficheLongueurSegment(C, H, 'black', 0.3), codageAngleDroit(A, H, C))\n      objetsCorrection.push(polynom[0], polynom[1], hauteurpoly, afficheCoteSegment(segment(B, A), '', 1), afficheLongueurSegment(C, H, 'black', 0.3), codageAngleDroit(A, H, C))\n      texte = `Calculate the area of triangle ${A.nom}${B.nom}${C.nom}.<br>`\n      texte += mathalea2d({\n        xmin,\n        xmax,\n        ymin,\n        ymax,\n        pixelsParCm: 20,\n        scale: 0.5,\n        mainlevee: false\n      }, objetsEnonce) + '<br>'\n      if (this.correctionDetaillee) {\n        texteCorr = mathalea2d({\n          xmin,\n          xmax,\n          ymin,\n          ymax,\n          pixelsParCm: 20,\n          scale: 0.5,\n          mainlevee: false\n        }, objetsCorrection) + '<br>'\n      } else texteCorr = ''\n      texteCorr += `$\\\\mathcal{A}_{${A.nom}${B.nom}${C.nom}}=\\\\dfrac{1}{2}\\\\times ${A.nom}${B.nom}\\\\times ${H.nom}${C.nom}=\\\\dfrac{1}{2}\\\\times${cotes[i]}~\\\\text{cm}\\\\times ${hauteurs[i]}~\\\\text{cm}=${texNombre(\n                calculANePlusJamaisUtiliser((cotes[i] * hauteurs[i]) / 2)\n            )}~\\\\text{cm}^2$`\n      setReponse(this, i, new Grandeur(arrondi(cotes[i] * hauteurs[i] / 2, 3), 'cm^2'), { formatInteractif: 'units' })\n      texte += ajouteChampTexteMathLive(this, i, 'width25 inline nospacebefore units[aires]', { texteAvant: `Area of the ${A.nom}${B.nom}${C.nom} triangle:` })\n      if (context.isAmc) {\n        this.autoCorrection[i] = {\n          enonce: texte + `<br>Area of ${A.nom}${B.nom}${C.nom} in cm$^2$:`, // Si vide, l'statement is that of'exercice.\n          propositions: [\n            {\n              texte: texteCorr\n            }\n          ],\n          reponse: {\n            valeur: [arrondi(cotes[i] * hauteurs[i] / 2)], // obligatoire (la réponse numérique à comparer à celle de l'student), DO NOT PUT A COMMA STRING! 4.9 and not 4.9. This value must be passed into an array'où la nécessité des crochets.\n            param: {\n              signe: false,\n              decimals: 1,\n              approx: 0\n            }\n          }\n        }\n      }\n\n      // If the question has never been asked, we save it\n      if (this.questionJamaisPosee(i, texte)) { // <- laisser le i et ajouter toutes les variables qui rendent les exercices différents (par exemple a, b, c et d)\n        // Delete b, c and d in the line above and replace them with NumberAAdd!\n        this.listeQuestions.push(texte)\n        this.listeCorrections.push(texteCorr)\n        i++\n      }\n      cpt++\n    }\n    listeQuestionsToContenu(this)\n  }\n  this.besoinFormulaireNumerique = ['Type of triangles', 4, '1: Only triangles without an obtuse angle\\n2: Only triangles with an obtuse angle\\n3: Mixture']\n}\n"],"names":["titre","interactifReady","interactifType","amcReady","amcType","dateDeModifImportante","uuid","ref","AireDeTriangles","Exercice","context","tableauDesCotes","shuffle","tableauDesHauteurs","cotes","combinaisonListesSansChangerOrdre","hauteurs","triH","A","point","B","C","H","triangle","polynom","hauteurpoly","d","objetsEnonce","objetsCorrection","xmin","xmax","ymin","ymax","NB_LETTRES","nom","creerNomDePolygone","typeQuestionsDisponibles","listeTypeQuestions","combinaisonListes","i","texte","texteCorr","cpt","rotation","randint","longueur","calculANePlusJamaisUtiliser","triangle2points1hauteur","polygoneAvecNom","segment","afficheCoteSegment","afficheLongueurSegment","codageAngleDroit","mathalea2d","texNombre","setReponse","Grandeur","arrondi","ajouteChampTexteMathLive","listeQuestionsToContenu"],"mappings":"oNAmBY,MAACA,EAAQ,kCACRC,EAAkB,GAClBC,EAAiB,WACjBC,GAAW,GACXC,GAAU,SAEVC,GAAwB,aAWxBC,GAAO,QACPC,GAAM,OACJ,SAASC,IAAmB,CACzCC,EAAS,KAAK,IAAI,EAClB,KAAK,gBAAkBR,EACvB,KAAK,eAAiBC,EACtB,KAAK,SAAWC,GAChB,KAAK,QAAUC,GACf,KAAK,MAAQJ,EACb,KAAK,QAAU,EAEfU,EAAQ,OAAU,KAAK,YAAc,EAAM,KAAK,YAAc,EAC9D,KAAK,YAAc,EACnB,KAAK,OAAS,EACd,KAAK,WAAa,EAClB,KAAK,IAAM,EAEX,KAAK,8BAAgC,GACrC,KAAK,oBAAsB,GAE3B,KAAK,gBAAkB,UAAY,CACjC,KAAK,iBAAmB,CAAE,EAC1B,KAAK,eAAiB,CAAE,EACxB,KAAK,eAAiB,CAAE,EACxB,MAAMC,EAAkBC,EAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,CAAC,CAAC,EACzCC,EAAqBD,EAAQ,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EACzCE,EAAQC,EAAkCJ,EAAiB,KAAK,WAAW,EAC3EK,EAAWD,EAAkCF,EAAoB,KAAK,WAAW,EACvF,IAAII,EACJ,MAAMC,EAAIC,EAAM,EAAG,CAAC,EACpB,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,MAAMC,EAAe,CAAE,EACjBC,EAAmB,CAAE,EAC3B,IAAIC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAa,GACbC,EAAMC,EAAmBF,EAAY,MAAM,EAE3CG,EAA2B,KAAK,MAAQ,EAAI,CAAC,WAAY,SAAS,EAAI,KAAK,MAAQ,EAAI,CAAC,UAAU,EAAI,CAAC,SAAS,EAEhHC,EAAqBC,EAAkBF,EAA0B,KAAK,WAAW,EACvF,QAASG,EAAI,EAAGC,EAAOC,EAAWC,EAAM,EAAGH,EAAI,KAAK,aAAeG,EAAM,IACvEf,EAAa,OAAS,EACtBC,EAAiB,OAAS,EAC1BV,EAAE,IAAMgB,EAAKK,EAAI,EAAKN,CAAU,EAChCb,EAAIuB,EAASxB,EAAML,EAAMyB,CAAC,EAAG,CAAC,EAAGrB,EAAG0B,EAAQ,IAAK,EAAE,EAAGV,GAAKK,EAAI,EAAI,GAAKN,CAAU,CAAC,EAC/EI,EAAmBE,CAAC,IAAM,UAC5Bb,EAAImB,EAAS3B,EAAGE,CAAC,EAAIwB,EAAQ,EAAG,CAAC,EAAI,EAErClB,EAAIoB,EAA4BF,EAAQ,EAAG,KAAK,MAAMC,EAAS3B,EAAGE,CAAC,EAAI,GAAK,CAAC,CAAC,EAAI,EAAE,EAEtFH,EAAO8B,EAAwB7B,EAAGE,EAAGJ,EAASuB,CAAC,EAAGb,EAAG,CAAC,EACtDJ,EAAIL,EAAK,KACTK,EAAE,IAAMY,GAAKK,EAAI,EAAI,GAAKN,CAAU,EACpCV,EAAWN,EAAK,SAChBI,EAAIE,EAAS,YAAY,CAAC,EAC1BF,EAAE,IAAMa,GAAKK,EAAI,EAAI,GAAKN,CAAU,EACpCT,EAAUwB,EAAgB9B,EAAGI,EAAGF,EAAGC,CAAC,EACpCI,EAAcwB,EAAQ5B,EAAGC,CAAC,EAC1BG,EAAY,WAAa,EACzBI,EAAO,KAAK,IAAIX,EAAE,EAAGE,EAAE,EAAGC,EAAE,EAAGC,EAAE,CAAC,EAAI,IACtCQ,EAAO,KAAK,IAAIZ,EAAE,EAAGE,EAAE,EAAGC,EAAE,EAAGC,EAAE,CAAC,EAAI,IACtCS,EAAO,KAAK,IAAIb,EAAE,EAAGE,EAAE,EAAGC,EAAE,EAAGC,EAAE,CAAC,EAAI,EACtCU,EAAO,KAAK,IAAId,EAAE,EAAGE,EAAE,EAAGC,EAAE,EAAGC,EAAE,CAAC,EAAI,IACtCK,EAAa,KAAKH,EAAQ,CAAC,EAAGA,EAAQ,CAAC,EAAGC,EAAayB,EAAmBD,EAAQ7B,EAAGF,CAAC,EAAG,GAAI,CAAC,EAAGiC,EAAuBjC,EAAGG,EAAG,QAAS,EAAG,EAAG8B,EAAuB9B,EAAGD,EAAG,QAAS,EAAG,EAAG+B,EAAuB9B,EAAGC,EAAG,QAAS,EAAG,EAAG8B,EAAiBlC,EAAGI,EAAGD,CAAC,CAAC,EAC9PO,EAAiB,KAAKJ,EAAQ,CAAC,EAAGA,EAAQ,CAAC,EAAGC,EAAayB,EAAmBD,EAAQ7B,EAAGF,CAAC,EAAG,GAAI,CAAC,EAAGiC,EAAuB9B,EAAGC,EAAG,QAAS,EAAG,EAAG8B,EAAiBlC,EAAGI,EAAGD,CAAC,CAAC,EAC1KmB,EAAQ,kCAAkCtB,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGC,EAAE,GAAG,QAC/DmB,GAASa,EAAW,CAClB,KAAAxB,EACA,KAAAC,EACA,KAAAC,EACA,KAAAC,EACA,YAAa,GACb,MAAO,GACP,UAAW,EACnB,EAASL,CAAY,EAAI,OACf,KAAK,oBACPc,EAAYY,EAAW,CACrB,KAAAxB,EACA,KAAAC,EACA,KAAAC,EACA,KAAAC,EACA,YAAa,GACb,MAAO,GACP,UAAW,EACrB,EAAWJ,CAAgB,EAAI,OAClBa,EAAY,GACnBA,GAAa,kBAAkBvB,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGC,EAAE,GAAG,0BAA0BH,EAAE,GAAG,GAAGE,EAAE,GAAG,WAAWE,EAAE,GAAG,GAAGD,EAAE,GAAG,wBAAwBP,EAAMyB,CAAC,CAAC,sBAAsBvB,EAASuB,CAAC,CAAC,eAAee,EACzLR,EAA6BhC,EAAMyB,CAAC,EAAIvB,EAASuB,CAAC,EAAK,CAAC,CAC3D,CAAA,iBACPgB,EAAW,KAAMhB,EAAG,IAAIiB,EAASC,EAAQ3C,EAAMyB,CAAC,EAAIvB,EAASuB,CAAC,EAAI,EAAG,CAAC,EAAG,MAAM,EAAG,CAAE,iBAAkB,QAAS,EAC/GC,GAASkB,EAAyB,KAAMnB,EAAG,4CAA6C,CAAE,WAAY,eAAerB,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGC,EAAE,GAAG,aAAc,EACpJX,EAAQ,QACV,KAAK,eAAe6B,CAAC,EAAI,CACvB,OAAQC,EAAQ,eAAetB,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGC,EAAE,GAAG,cACpD,aAAc,CACZ,CACE,MAAOoB,CACR,CACF,EACD,QAAS,CACP,OAAQ,CAACgB,EAAQ3C,EAAMyB,CAAC,EAAIvB,EAASuB,CAAC,EAAI,CAAC,CAAC,EAC5C,MAAO,CACL,MAAO,GACP,SAAU,EACV,OAAQ,CACT,CACF,CACF,GAIC,KAAK,oBAAoBA,EAAGC,CAAK,IAEnC,KAAK,eAAe,KAAKA,CAAK,EAC9B,KAAK,iBAAiB,KAAKC,CAAS,EACpCF,KAEFG,IAEFiB,EAAwB,IAAI,CAC7B,EACD,KAAK,0BAA4B,CAAC,oBAAqB,EAAG;AAAA;AAAA,WAA+F,CAC3J"}