File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/6N11-2-ipxcfAle.js.map
{"version":3,"file":"6N11-2-ipxcfAle.js","sources":["../../src/exercices/6e/6N11-2.js"],"sourcesContent":["import { point, tracePoint } from '../../lib/2d/points.js'\nimport { droiteGraduee } from '../../lib/2d/reperes.js'\nimport { labelPoint } from '../../lib/2d/textes.js'\nimport { combinaisonListes, shuffle } from '../../lib/outils/arrayOutils'\nimport { lettreIndiceeDepuisChiffre } from '../../lib/outils/outilString.js'\nimport { stringNombre, texNombre } from '../../lib/outils/texNombre.js'\nimport Exercice from '../Exercice.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { listeQuestionsToContenu, randint, calculANePlusJamaisUtiliser, egal } from '../../modules/outils.js'\nimport { pointCliquable } from '../../modules/2dinteractif.js'\nimport { context } from '../../modules/context.js'\n\nexport const titre = 'Place an entire abscissa point (large numbers)'\nexport const interactifReady = false\n// remettre interactif_Ready à true qd point_Cliquable sera de nouveau opérationnel\nexport const interactifType = 'custom'\nexport const amcReady = true\nexport const amcType = 'AMCOpen'\n/**\n * Placer un point d'abscisse entière\n * @author Jean-Claude Lhote et Rémi Angot\n * référence 6N11-2\n * Relecture : Novembre 2021 par EE\n * Correction : Problème de score 19/10/22 par Rémi ANGOT\n */\nexport const uuid = '4f2a3'\nexport const ref = '6N11-2'\nexport default function PlacerUnPointAbscisseEntiere2d () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.nbQuestions = 5\n this.nbQuestionsModifiable = true\n this.nbCols = 1\n this.nbColsCorr = 1\n this.spacing = 1\n this.spacingCorr = 1\n this.sup = 1\n\n this.nouvelleVersion = function () {\n if (this.interactif) {\n this.consigne = 'Place a point on a graduated axis.'\n } else {\n this.consigne = 'Place three points on a graduated axis.'\n }\n // exercisenumber is 0 for exercise 1\n let typesDeQuestions\n this.listeQuestions = []\n this.listeCorrections = []\n this.autoCorrection = []\n this.contenu = '' // Liste de questions\n this.contenuCorrection = '' // Liste de questions corrigées\n if (parseInt(this.sup) === 4) { typesDeQuestions = combinaisonListes([1, 2, 3], this.nbQuestions) } else {\n typesDeQuestions = combinaisonListes(\n [parseInt(this.sup)],\n this.nbQuestions\n )\n }\n const pointsSolutions = []\n const pointsNonSolutions = [] // Pour chaque question, la liste des points qui ne doivent pas être cliqués\n const tailleUnite = 4\n const d = []\n let abscisse = []\n this.contenu = this.consigne\n for (let i = 0, abs0, l1, l2, l3, x1, x2, x3, x11, x22, x33, A, B, C, traceA, traceB, traceC, labels, pas1, texte = '', texteCorr = ''; i < this.nbQuestions; i++) {\n l1 = lettreIndiceeDepuisChiffre(i * 3 + 1)\n l2 = lettreIndiceeDepuisChiffre(i * 3 + 2)\n l3 = lettreIndiceeDepuisChiffre(i * 3 + 3)\n this.autoCorrection[3 * i] = { propositions: [{ statut: 4, feedback: '' }] }\n this.autoCorrection[3 * i + 1] = { propositions: [{ statut: 4, feedback: '' }] }\n this.autoCorrection[3 * i + 2] = { propositions: [{ statut: 4, feedback: '' }] }\n switch (typesDeQuestions[i]) {\n case 1: // Placer des entiers sur un axe (milliers)\n abs0 = randint(1, 9) * 1000\n pas1 = 1000\n break\n\n case 2: // Placer des entiers sur un axe (dizaines de mille)\n abs0 = randint(5, 15) * 10000\n pas1 = 10000\n break\n\n case 3: // Placer des entiers sur un axe (centaines de mille)\n abs0 = randint(35, 85) * 100000\n pas1 = 100000\n break\n }\n x1 = randint(0, 2) + randint(1, 9) / 10\n x2 = randint(3, 4) + randint(1, 9) / 10\n x3 = randint(5, 6) + randint(1, 9) / 10\n x11 = abs0 + x1 * pas1\n x22 = abs0 + x2 * pas1\n x33 = abs0 + x3 * pas1\n abscisse = shuffle([[x1, x11], [x2, x22], [x3, x33]])\n d[2 * i] = droiteGraduee({\n Unite: 4,\n Min: 0,\n Max: 7.1,\n axeStyle: '->',\n pointTaille: 5,\n pointStyle: 'x',\n labelsPrincipaux: false,\n thickSec: true,\n step1: 10,\n labelListe: [[0, !context.isAmc ? stringNombre(abs0) : texNombre(abs0, 0)], [1, !context.isAmc ? stringNombre(calculANePlusJamaisUtiliser(abs0 + pas1)) : texNombre(calculANePlusJamaisUtiliser(abs0 + pas1))]]\n })\n d[2 * i + 1] = droiteGraduee({\n Unite: 4,\n Min: 0,\n Max: 7.1,\n axeStyle: '->',\n pointTaille: 5,\n pointStyle: 'x',\n labelsPrincipaux: false,\n labelListe: [[0, !context.isAmc ? stringNombre(abs0) : texNombre(abs0, 0)], [1, !context.isAmc ? stringNombre(calculANePlusJamaisUtiliser(abs0 + pas1)) : texNombre(calculANePlusJamaisUtiliser(abs0 + pas1))]],\n thickSec: true,\n step1: 10\n })\n const mesObjets = [d[2 * i]]\n if (this.interactif) {\n texte = `Place the point $${l1}\\\\left(${texNombre(abscisse[0][1])}\\\\right).$`\n } else {\n texte = `Place the points $${l1}\\\\left(${texNombre(abscisse[0][1])}\\\\right)$, $~${l2}\\\\left(${texNombre(abscisse[1][1])}\\\\right)$ and $~${l3}\\\\left(${texNombre(abscisse[2][1])}\\\\right)$.`\n }\n pointsNonSolutions[i] = []\n if (this.interactif) {\n for (let indicePoint = 0, monPoint; indicePoint < 70; indicePoint++) {\n monPoint = pointCliquable(indicePoint / 10 * tailleUnite, 0, { size: 5, width: 3, color: 'blue', radius: tailleUnite / 25 })\n mesObjets.push(monPoint)\n if (egal(indicePoint * pas1 / 10 + abs0, abscisse[0][1])) {\n pointsSolutions[i] = monPoint\n } else {\n pointsNonSolutions[i].push(monPoint)\n }\n }\n }\n texte += (context.isHtml ? '' : '\\\\\\\\') + mathalea2d({ xmin: -2, ymin: -1, xmax: 30, ymax: 1, pixelsParCm: 20, scale: 0.5 }, ...mesObjets)\n if (this.interactif) {\n texte += `<div id=\"resultatCheckEx${this.numeroExercice}Q${i}\"></div>`\n }\n\n A = point(abscisse[0][0] * tailleUnite, 0, l1)\n traceA = tracePoint(A, 'blue')\n traceA.epaisseur = 3\n traceA.taille = 5\n labels = labelPoint(A)\n if (!this.interactif) {\n A.nom = lettreIndiceeDepuisChiffre(i * 3 + 1)\n B = point(abscisse[1][0] * tailleUnite, 0, l2)\n traceB = tracePoint(B, 'blue')\n traceB.epaisseur = 3\n traceB.taille = 5\n C = point(abscisse[2][0] * tailleUnite, 0, l3)\n traceC = tracePoint(C, 'blue')\n traceC.epaisseur = 3\n traceC.taille = 5\n labels = labelPoint(A, B, C)\n }\n if (this.interactif) {\n texteCorr = `$${l1}\\\\left(${stringNombre(abscisse[0][1])}\\\\right).$`\n texteCorr += '<br>' + mathalea2d({ xmin: -2, xmax: 30, ymin: -1, ymax: 1, pixelsParCm: 20, scale: 0.5 }, d[2 * i + 1], traceA, labels)\n } else {\n texteCorr = `$${l1}\\\\left(${stringNombre(abscisse[0][1])}\\\\right)$, $~${l2}\\\\left(${stringNombre(abscisse[1][1])}\\\\right)$ and $~${l3}\\\\left(${stringNombre(abscisse[2][1])}\\\\right)$`\n texteCorr += '<br>' + mathalea2d({ xmin: -2, xmax: 30, ymin: -1, ymax: 1, pixelsParCm: 20, scale: 0.5 }, d[2 * i + 1], traceA, traceB, traceC, labels)\n }\n if (context.isAmc) {\n this.autoCorrection[i] =\n {\n enonce: texte + '<br>',\n propositions: [\n {\n texte: texteCorr,\n statut: 3, // OBLIGATOIRE (ici c'is the number of lines of the frame for the answer of the'élève sur AMC)\n sanscadre: true\n }\n ]\n }\n }\n\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n }\n // To distinguish the two types of result retrieval coding\n this.exoCustomResultat = true\n // Correction management\n this.correctionInteractive = (i) => {\n let resultat\n let aucunMauvaisPointsCliques = true\n const divFeedback = document.querySelector(`#resultCheckEx${this.numeroExercice}Q${i}`)\n pointsSolutions[i].stopCliquable()\n for (const monPoint of pointsNonSolutions[i]) {\n if (monPoint.etat) aucunMauvaisPointsCliques = false\n monPoint.stopCliquable()\n if (aucunMauvaisPointsCliques && pointsSolutions[i].etat) {\n divFeedback.innerHTML = '😎'\n resultat = 'OK'\n } else {\n divFeedback.innerHTML = '☹️'\n resultat = 'KO'\n }\n }\n return resultat\n }\n listeQuestionsToContenu(this)\n }\n this.besoinFormulaireNumerique = [\n 'Difficulty level',\n 4,\n '1: Order of magnitude: thousands\\n2: Order of magnitude: tens of thousands\\n3: Order of magnitude: hundreds of thousands\\n4: Mixture'\n ]\n}\n"],"names":["titre","interactifReady","interactifType","amcReady","amcType","uuid","ref","PlacerUnPointAbscisseEntiere2d","Exercice","typesDeQuestions","combinaisonListes","pointsSolutions","pointsNonSolutions","tailleUnite","d","abscisse","i","abs0","l1","l2","l3","x1","x2","x3","x11","x22","x33","A","B","C","traceA","traceB","traceC","labels","pas1","texte","texteCorr","lettreIndiceeDepuisChiffre","randint","shuffle","droiteGraduee","context","texNombre","stringNombre","calculANePlusJamaisUtiliser","mesObjets","indicePoint","monPoint","pointCliquable","egal","mathalea2d","point","tracePoint","labelPoint","resultat","aucunMauvaisPointsCliques","divFeedback","listeQuestionsToContenu"],"mappings":"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"}