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":"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"}