File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/6G22-2-P29oZ1Rv.js.map
{"version":3,"file":"6G22-2-P29oZ1Rv.js","sources":["../../src/exercices/6e/6G22-2.js"],"sourcesContent":["import { codageAngle } from '../../lib/2d/angles.js'\nimport { point, pointAdistance, tracePoint } from '../../lib/2d/points.js'\nimport { demiDroite } from '../../lib/2d/segmentsVecteurs.js'\nimport { texteParPoint } from '../../lib/2d/textes.js'\nimport { rotation } from '../../lib/2d/transformations.js'\nimport { triangle2points1angle1longueur } from '../../lib/2d/triangle.js'\nimport { propositionsQcm } from '../../lib/interactif/qcm.js'\nimport { degCos, degSin } from '../../lib/mathFonctions/trigo.js'\nimport { combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { lettreDepuisChiffre } from '../../lib/outils/outilString.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport Exercice from '../Exercice.js'\n\nexport const interactifReady = true\nexport const interactifType = 'qcm'\nexport const amcType = 'qcmMono'\nexport const amcReady = true\n\nexport const titre = 'Recognize a particular angle'\n\nexport const dateDePublication = '03/12/2022'\n\n/**\n * Reconnaître un angle nul, aigu, droit, obtus, plat\n * @author Guillaume Valmont\n * 6G22-2\n */\nexport const uuid = 'fe08e'\nexport const ref = '6G22-2'\nexport default class ReconnaitreUnAngleParticulier extends Exercice {\n constructor () {\n super()\n this.titre = titre\n this.correctionDetailleeDisponible = true\n this.nbQuestions = 4\n this.nbColsCorr = 2\n this.besoinFormulaireCaseACocher = ['Points confused in the case of zero angles']\n this.sup = false\n }\n\n nouvelleVersion () {\n this.listeQuestions = []\n this.listeCorrections = []\n this.autoCorrection = []\n const typeQuestionsDisponibles = ['null', 'acute', 'right', 'obtuse', 'flat']\n const listeTypeQuestions = combinaisonListes(typeQuestionsDisponibles, this.nbQuestions)\n for (let i = 0, texte, texteCorr, triangle, explications, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n const objets2d = []\n const indiceNomA = randint(1, 26)\n const indiceNomB = randint(1, 26, [indiceNomA])\n const indiceNomC = randint(1, 26, [indiceNomA, indiceNomB])\n const distanceAB = 3\n const distanceCB = this.sup ? 3 : 4\n const A = point(0, 0, lettreDepuisChiffre(indiceNomA))\n let B = pointAdistance(A, distanceAB, lettreDepuisChiffre(indiceNomB))\n switch (listeTypeQuestions[i]) {\n case 'null':\n triangle = triangle2points1angle1longueur(B, A, 0, distanceCB, -1)\n explications = 'A zero angle is an angle whose measure is equal to 0°.'\n break\n case 'acute':\n triangle = triangle2points1angle1longueur(B, A, randint(10, 80), distanceCB, -1)\n explications = 'An acute angle is an angle whose measurement is between 0° and 90°.'\n break\n case 'right':\n triangle = triangle2points1angle1longueur(B, A, 90, distanceCB, -1)\n explications = 'A zero angle is an angle whose measure is equal to 0°.'\n break\n case 'obtuse':\n B = point(A.x + distanceAB * degCos(randint(-30, 30)), A.y + distanceAB * degSin(randint(-30, 30)), lettreDepuisChiffre(indiceNomB))\n triangle = triangle2points1angle1longueur(B, A, randint(100, 170), distanceCB, -1)\n explications = 'A zero angle is an angle whose measure is equal to 0°.'\n break\n case 'flat':\n B = point(A.x + distanceAB * degCos(randint(-30, 30)), A.y + distanceAB * degSin(randint(-30, 30)), lettreDepuisChiffre(indiceNomB))\n triangle = triangle2points1angle1longueur(B, A, 179.99, distanceCB, -1)\n explications = 'An acute angle is an angle whose measurement is between 0° and 90°.'\n break\n }\n const C = triangle.listePoints[2]\n C.nom = lettreDepuisChiffre(indiceNomC)\n const points = [A, B, C]\n const angle = codageAngle(A, B, C, listeTypeQuestions[i] === 'right' ? 1 : 2)\n const demiDroiteBA = demiDroite(B, A)\n const demiDroiteCA = demiDroite(B, C)\n objets2d.push(tracePoint(...points), texteParPoint(A.nom, rotation(A, B, 10)), texteParPoint(C.nom, rotation(C, B, -10)), texteParPoint(B.nom, rotation(B, A, -10)), angle, demiDroiteBA, demiDroiteCA)\n // We display the mathalea2d framework\n const pointsX = []\n const pointsY = []\n for (const point of points) {\n pointsX.push(point.x)\n pointsY.push(point.y)\n }\n const xmin = Math.min(...pointsX) - 2.2\n const xmax = Math.max(...pointsX) + 2.2\n const ymin = Math.min(...pointsY) - 2.2\n const ymax = Math.max(...pointsY) + 2.2\n const parametres2d = { xmin, ymin, xmax, ymax, pixelsParCm: 20, scale: 0.4 }\n const enonceFigure = 'In the figure below:<br>' + mathalea2d(parametres2d, objets2d) + '<br>'\n texte = ''\n texteCorr = ''\n // We construct the questions\n\n const questionReponse =\n {\n question: enonceFigure + '$\\\\widehat{' + A.nom + B.nom + C.nom + '}$ is an angle:',\n propositions: ['null', 'acute', 'right', 'obtuse', 'flat'],\n reponses: [listeTypeQuestions[i]],\n explications\n }\n const propositions = []\n for (const proposition of questionReponse.propositions) {\n let statut = false\n for (const reponse of questionReponse.reponses) {\n if (proposition === reponse) statut = true\n }\n propositions.push({\n texte: proposition,\n statut,\n feedback: ''\n })\n }\n this.autoCorrection[i] = {\n enonce: questionReponse.question,\n options: { ordered: true },\n propositions\n }\n const monQcm = propositionsQcm(this, i)\n texte += context.isAmc ? '' : questionReponse.question + '<br>'\n texte += monQcm.texte\n texteCorr += context.isAmc ? '' : questionReponse.question + '<br>'\n texteCorr += monQcm.texteCorr\n this.correctionDetaillee ? texteCorr += questionReponse.explications + '<br><br>' : texteCorr += '<br>'\n if (this.questionJamaisPosee(i, ...pointsX, ...pointsY, listeTypeQuestions[i])) {\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n i++\n }\n cpt++\n }\n listeQuestionsToContenu(this)\n }\n}\n"],"names":["interactifReady","interactifType","amcType","amcReady","titre","dateDePublication","uuid","ref","ReconnaitreUnAngleParticulier","Exercice","listeTypeQuestions","combinaisonListes","i","texte","texteCorr","triangle","explications","cpt","objets2d","indiceNomA","randint","indiceNomB","indiceNomC","distanceAB","distanceCB","A","point","lettreDepuisChiffre","B","pointAdistance","triangle2points1angle1longueur","degCos","degSin","C","points","angle","codageAngle","demiDroiteBA","demiDroite","demiDroiteCA","tracePoint","texteParPoint","rotation","pointsX","pointsY","xmin","xmax","ymin","ymax","enonceFigure","mathalea2d","questionReponse","propositions","proposition","statut","reponse","monQcm","propositionsQcm","context","listeQuestionsToContenu"],"mappings":"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"}