File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/6N21-ump57kWF.js.map
{"version":3,"file":"6N21-ump57kWF.js","sources":["../../src/exercices/6e/6N21.ts"],"sourcesContent":["import { combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { deprecatedTexFraction } from '../../lib/outils/deprecatedFractions.js'\nimport { lettreIndiceeDepuisChiffre } from '../../lib/outils/outilString.js'\nimport Exercice from '../ExerciceTs'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { context } from '../../modules/context.js'\nimport Figure from 'apigeom'\nimport figureApigeom from '../../lib/figureApigeom.js'\nimport { arrondi } from '../../lib/outils/nombres.js'\nimport GraduatedLine from 'apigeom/src/elements/grid/GraduatedLine.js'\nimport { orangeMathalea } from 'apigeom/src/elements/defaultValues.js'\n\nexport const dateDeModifImportante = '12/12/2023'\nexport const titre = 'Placing fractions on a number line'\nexport const interactifReady = true\nexport const interactifType = 'custom'\nexport const amcReady = true\nexport const amcType = 'AMCHybride'\n\n/**\n * Description didactique de l'exercice :\n * @author Rémi Angot\n * Référence 6N21\n * publié le 29/6/2021\n */\nexport const uuid = '2ba53'\nexport const ref = '6N21'\n\ntype goodAnswer = { label: string, x: number }[]\n\nclass PlacerPointsAbscissesFractionnaires extends Exercice {\n figures: Figure[] = []\n goodAnswers: goodAnswer[] = []\n constructor () {\n super()\n this.consigne = ''\n this.nbQuestions = 5\n this.sup = 1\n this.exoCustomResultat = true\n this.besoinFormulaireNumerique = ['Niveau de difficulté', 4, '1 : Demis, tiers ou quarts avec zéro placé\\n2 : Des cinquièmes aux neuvièmes avec zéro placé \\n3 : Toutes les fractions précédentes mais zéro non visible\\n4 : Mélange']\n }\n\n nouvelleVersion () {\n this.sup = parseInt(this.sup)\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n this.autoCorrection = []\n let typeDeQuestions\n if (this.sup > 3) {\n typeDeQuestions = combinaisonListes([1, 2, 3], this.nbQuestions)\n } else {\n typeDeQuestions = combinaisonListes([parseInt(this.sup)], this.nbQuestions)\n }\n const fractionsUtilisees: Array<[number, number]> = [] // Pour s'assurer de ne pas poser 2 fois la même question\n const tableUtilisées: [number[], number[], number[]] = [[], [], []]\n for (let i = 0, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n let texte = ''\n let texteCorr = ''\n let origine, num, den : number\n const scale = 2\n switch (typeDeQuestions[i]) {\n case 1: // Placer des demis aux quarts sur un axe\n origine = this.sup > 4 ? randint(-4, 1) : 0\n den = randint(2, 4, tableUtilisées[0])\n num = origine * den + randint(1, den * 4)\n tableUtilisées[0].push(den)\n if (tableUtilisées[0].length === 3) tableUtilisées[0] = []\n break\n case 2: // Placer des cinquièmes aux neuvièmes sur un axe\n origine = this.sup > 4 ? randint(-4, 1) : 0\n den = randint(5, 9, tableUtilisées[1])\n num = origine * den + randint(1, den * 4)\n tableUtilisées[1].push(den)\n if (tableUtilisées[1].length === 5) tableUtilisées[1] = []\n break\n default: // Placer des demis aux neuvièmes à partir d'un entier >=1 sur un axe\n origine = this.sup > 4 ? randint(-4, 1) : randint(1, 7)\n den = randint(2, 9, tableUtilisées[2])\n num = randint(origine * den + 1, (origine + 4) * den, den)\n tableUtilisées[2].push(den)\n if (tableUtilisées[2].length === 8) tableUtilisées[2] = []\n }\n\n const num2 = randint(origine * den + 1, (origine + 4) * den, [num, den])\n const num3 = randint(origine * den + 1, (origine + 4) * den, [num, num2, den])\n\n const label1 = lettreIndiceeDepuisChiffre(i * 3 + 1)\n const label2 = lettreIndiceeDepuisChiffre(i * 3 + 2)\n const label3 = lettreIndiceeDepuisChiffre(i * 3 + 3)\n\n this.goodAnswers[i] = [\n { label: label1, x: arrondi(num / den, 4) },\n { label: label2, x: arrondi(num2 / den, 4) },\n { label: label3, x: arrondi(num3 / den, 4) }\n ]\n\n texte = `Place the points $${label1}\\\\left(${deprecatedTexFraction(num, den)}\\\\right)$, $~${label2}\\\\left(${deprecatedTexFraction(num2, den)}\\\\right)$ et $~${label3}\\\\left(${deprecatedTexFraction(num3, den)}\\\\right)$.`\n const { figure, latex } = apigeomGraduatedLine({ xMin: origine, xMax: origine + 4, scale, stepBis: arrondi(1 / den, 6) })\n figure.options.labelAutomaticBeginsWith = label1\n figure.options.pointDescriptionWithCoordinates = false\n this.figures[i] = figure\n const { figure: figureCorr, latex: latexCorr } = apigeomGraduatedLine({ xMin: origine, xMax: origine + 4, scale, stepBis: arrondi(1 / den, 6), points: this.goodAnswers[i] })\n figureCorr.create('Point', { label: label1, x: arrondi(num / den, 4), color: orangeMathalea, colorLabel: orangeMathalea, shape: 'x', labelDxInPixels: 0 })\n figureCorr.create('Point', { label: label2, x: arrondi(num2 / den, 4), color: orangeMathalea, colorLabel: orangeMathalea, labelDxInPixels: 0 })\n figureCorr.create('Point', { label: label3, x: arrondi(num3 / den, 4), color: orangeMathalea, colorLabel: orangeMathalea, labelDxInPixels: 0 })\n\n switch (true) {\n case context.isHtml && this.interactif:\n texte += '<br>' + figureApigeom({ exercice: this as Exercice, idApigeom: `ex${this.numeroExercice}Q${i}`, figure })\n texteCorr += figureCorr.getStaticHtml()\n break\n case context.isHtml:\n texte += '<br>' + figure.getStaticHtml()\n texteCorr += figureCorr.getStaticHtml()\n break\n default:\n texte += '\\n\\n' + latex\n texteCorr += '\\\\;\\n' + latexCorr\n break\n }\n\n if (context.isAmc) {\n this.autoCorrection[i] = {\n enonce: 'ici la (ou les) question(s) est(sont) posée(s)',\n enonceAvant: false, // EE : ce champ est facultatif et permet (si false) de supprimer l'énoncé ci-dessus avant la numérotation de chaque question.\n enonceAvantUneFois: false, // EE : ce champ est facultatif et permet (si true) d'afficher l'énoncé ci-dessus une seule fois avant la numérotation de la première question de l'exercice. Ne fonctionne correctement que si l'option melange est à false.\n propositions: [\n {\n type: 'AMCOpen', // on donne le type de la première question-réponse qcmMono, qcmMult, AMCNum, AMCOpen\n propositions: [\n {\n texte: texteCorr,\n statut: 3, // OBLIGATOIRE (ici c'est le nombre de lignes du cadre pour la réponse de l'élève sur AMC)\n enonce: texte,\n sanscadre: true // EE : ce champ est facultatif et permet (si true) de cacher le cadre et les lignes acceptant la réponse de l'élève\n }\n ]\n }\n ]\n }\n }\n if (!isArrayInArray(fractionsUtilisees, [num, den])) {\n // Si la question n'a jamais été posée, on en crée une autre\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n i++\n fractionsUtilisees[i] = [num, den]\n }\n cpt++\n }\n\n listeQuestionsToContenu(this)\n }\n\n correctionInteractive = (i?: number) => {\n if (i === undefined) return ['KO']\n const result: ('OK'|'KO')[] = []\n const figure = this.figures[i]\n figure.isDynamic = false\n figure.divButtons.style.display = 'none'\n figure.divUserMessage.style.display = 'none'\n const goodAnswer = this.goodAnswers[i]\n const divFeedback = document.querySelector(`#feedback${`ex${this.numeroExercice}Q${i}`}`)\n for (let j = 0; j < goodAnswer.length; j++) {\n const label = goodAnswer[j].label\n const x = goodAnswer[j].x\n const { isValid, points } = figure.checkCoords({ checkOnlyAbscissa: true, label, x, y: 0 })\n const point = points[0]\n if (isValid) {\n result.push('OK')\n point.color = 'green'\n point.colorLabel = 'green'\n point.thickness = 3\n } else {\n result.push('KO')\n if (point !== undefined) {\n point.color = 'red'\n point.colorLabel = 'red'\n point.color = 'red'\n point.thickness = 3\n }\n }\n }\n if (divFeedback != null) {\n if (result[0] === 'OK' && result[1] === 'OK' && result[2] === 'OK') {\n divFeedback.innerHTML = '😎'\n } else {\n const p = document.createElement('p')\n p.innerText = '☹️'\n divFeedback.insertBefore(p, divFeedback.firstChild)\n }\n }\n return result\n }\n}\n\n/**\n * Vérifie la présence d'un tableau dans un tableau de tableau\n * @param {array} arr\n * @param {array} item\n * @returns {boolean}\n */\nfunction isArrayInArray (arr: Array<[number, number]>, item: [number, number]) {\n const itemAsString = JSON.stringify(item)\n const contains = arr.some(function (ele) {\n return JSON.stringify(ele) === itemAsString\n })\n return contains\n}\n\nfunction apigeomGraduatedLine ({ xMin, xMax, scale = 1, points, step = 1, stepBis = 0.25 }: {\n xMin: number,\n xMax: number,\n scale?: number,\n step?: number,\n stepBis?: number,\n points?: Array<{ x: number, label: string }>\n}): { figure: Figure, latex: string} {\n const width = 900\n const height = 80\n const figure = new Figure({ xMin: xMin - 0.2 / scale, yMin: -1.5, width, height, dy: 10, dx: stepBis, xScale: 3 * scale, snapGrid: true })\n figure.setToolbar({ tools: ['POINT', 'DRAG', 'REMOVE'], position: 'top' })\n\n const d = new GraduatedLine(figure, { min: xMin, max: xMax, step, stepBis })\n d.draw()\n let latex = `\\n\\\\bigskip\n \\\\begin{tikzpicture}[x=2.5mm]\n \\\\draw[-{Latex[round]},thick] (0,0) -- (61,0);\n \\\\foreach \\\\x in {0,${10 * stepBis},...,60} \\\\draw[thick] ([yshift=-0.8mm]\\\\x,0) -- ([yshift=0.8mm]\\\\x,0);\n \\\\foreach \\\\x [count=\\\\i from 0] in {0,10,...,60} \\\\draw[ultra thick] ([yshift=-1.5mm]\\\\x,0) coordinate (a\\\\i) -- ([yshift=1.5mm]\\\\x,0);\n \\\\foreach \\\\x [count=\\\\i from 0] in {${xMin},${xMin + 1},${xMin + 2},${xMin + 3},${xMin + 4},${xMin + 5},${xMin + 6}} {\n \\\\node[below=2mm of a\\\\i,inner sep=0pt,font=\\\\small] {$\\\\num{\\\\x}$};\n }`\n if (points !== undefined) {\n const xA = arrondi((points[0].x - xMin) * scale * 10)\n const xB = arrondi((points[1].x - xMin) * scale * 10)\n const xC = arrondi((points[2].x - xMin) * scale * 10)\n const labelA = points[0].label\n const labelB = points[1].label\n const labelC = points[2].label\n latex += `\\n\\\\tkzText[above=2mm](${xA},0){${labelA}}\n \\n\\\\tkzText[above=2mm](${xB},0){${labelB}}\n \\n\\\\tkzText[above=2mm](${xC},0){${labelC}}\n \\n\\\\tkzDrawPoint[shape=cross out, size=5pt, thick](${xA},0)\n \\n\\\\tkzDrawPoint[shape=cross out, size=5pt, thick](${xB},0)\n \\n\\\\tkzDrawPoint[shape=cross out, size=5pt, thick](${xC},0)`\n }\n latex += '\\n\\\\end{tikzpicture}'\n\n return { figure, latex }\n}\n\nexport default PlacerPointsAbscissesFractionnaires\n"],"names":["dateDeModifImportante","titre","interactifReady","interactifType","amcReady","amcType","uuid","ref","PlacerPointsAbscissesFractionnaires","Exercice","__publicField","i","result","figure","goodAnswer","divFeedback","j","label","x","isValid","points","point","p","typeDeQuestions","combinaisonListes","fractionsUtilisees","tableUtilisées","cpt","texte","texteCorr","origine","num","den","randint","num2","num3","label1","lettreIndiceeDepuisChiffre","label2","label3","arrondi","deprecatedTexFraction","latex","apigeomGraduatedLine","figureCorr","latexCorr","orangeMathalea","context","figureApigeom","isArrayInArray","listeQuestionsToContenu","arr","item","itemAsString","ele","xMin","xMax","scale","step","stepBis","Figure","GraduatedLine","xA","xB","xC","labelA","labelB","labelC","PlacerPointsAbscissesFractionnaires$1"],"mappings":"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"}