File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/3L12-LyPX1HyT.js.map
{"version":3,"file":"3L12-LyPX1HyT.js","sources":["../../src/exercices/3e/3L12.js"],"sourcesContent":["import { choice, combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { lettreDepuisChiffre } from '../../lib/outils/outilString.js'\nimport Exercice from '../Exercice.js'\nimport { listeQuestionsToContenuSansNumero, randint } from '../../modules/outils.js'\nimport { remplisLesBlancs } from '../../lib/interactif/questionMathLive.js'\nimport { context } from '../../modules/context.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\nimport { reduireAxPlusB } from '../../lib/outils/ecritures.js'\nimport { factorisationCompare } from '../../lib/interactif/mathLive.js'\nimport { fraction } from '../../modules/fractions.js'\n\nexport const titre = 'Factoriser a²-b²'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\n\nexport const dateDeModifImportante = '26/02/2023'\n\n// FIX ME\n// On a saisi les produits dans les 2 ordres en attendant d'avoir un outil de calcul formel\n\n/**\n * Factoriser a²-b²\n * @author Jean-Claude Lhote,\n * Ajout Mélange des questions Matthieu Devillers\n * 3L12\n */\nexport const uuid = '81fd2'\nexport const ref = '3L12'\nexport default function FactoriserIdentitesRemarquables3 () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.titre = titre\n this.correctionDetailleeDisponible = false\n context.isHtml ? (this.spacingCorr = 3) : (this.spacingCorr = 2)\n if (!context.isHtml) {\n this.correctionDetaillee = false\n }\n this.nbCols = 1\n this.nbColsCorr = 1\n this.spacing = 1\n this.spacingCorr = 1\n this.nbQuestions = 4\n this.sup = 4\n this.sup2 = true\n this.tailleDiaporama = 3\n this.listeAvecNumerotation = false\n\n this.nouvelleVersion = function () {\n this.consigne = this.nbQuestions > 1 ? 'Factoriser les expressions suivantes.' : 'Factoriser l\\'expression suivante.'\n this.sup = parseInt(this.sup)\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n const Fractions = [\n [1, 2],\n [1, 3],\n [2, 3],\n [1, 4],\n [3, 4],\n [1, 5],\n [2, 5],\n [3, 5],\n [4, 5],\n [1, 6],\n [5, 6],\n [1, 7],\n [2, 7],\n [3, 7],\n [4, 7],\n [5, 7],\n [6, 7],\n [1, 8],\n [3, 8],\n [5, 8],\n [7, 8],\n [1, 9],\n [2, 9],\n [3, 10],\n [7, 10],\n [9, 10],\n [4, 9],\n [5, 9],\n [7, 9],\n [8, 9],\n [1, 10]\n ]\n let typesDeQuestionsDisponibles = []\n if (this.sup === 1) {\n typesDeQuestionsDisponibles = [1] // coef de x = 1\n } else if (this.sup === 2) {\n typesDeQuestionsDisponibles = [2] // coef de x > 1\n } else if (this.sup === 3) {\n typesDeQuestionsDisponibles = [3] // coef de x négatif\n } else {\n typesDeQuestionsDisponibles = [1, 2, 3]\n } // mélange des questions\n const listeTypeDeQuestions = combinaisonListes(typesDeQuestionsDisponibles, this.nbQuestions)\n for (let i = 0, texte, texteCorr, cpt = 0, a, b, ns, ds, typesDeQuestions; i < this.nbQuestions && cpt < 50;) {\n typesDeQuestions = listeTypeDeQuestions[i]\n a = randint(1, 9)\n b = randint(2, 9)\n const uneFraction = choice(Fractions)\n ns = uneFraction[0]\n ds = uneFraction[1]\n texteCorr = ''\n switch (typesDeQuestions) {\n case 1:\n texte = `$${lettreDepuisChiffre(i + 1)} = x^2-${a * a}$` // (x-a)(x+a)\n texteCorr = `$${lettreDepuisChiffre(i + 1)} = x^2-${a * a}=x^2-${a}^2=(x-${a})(x+${a})$`\n setReponse(this, i, { reponse: { value: `(${reduireAxPlusB(1, -a)})(${reduireAxPlusB(1, a)})`, compare: factorisationCompare } }, { formatInteractif: 'fillInTheBlank' })\n break\n case 2:\n texte = `$${lettreDepuisChiffre(i + 1)} = ${b * b}x^2-${a * a}$` // b>1\n texteCorr = `$${lettreDepuisChiffre(i + 1)} = ${b * b}x^2-${a * a}=(${b}x)^2-${a}^2=(${b}x-${a})(${b}x+${a})$`\n setReponse(this, i, { reponse: { value: `(${reduireAxPlusB(b, -a)})(${reduireAxPlusB(b, a)})`, compare: factorisationCompare } }, { formatInteractif: 'fillInTheBlank' })\n break\n case 3:{\n const dfrac = fraction(ns, ds).texFraction\n const dfrac2 = fraction(ns * ns, ds * ds).texFraction\n texte = `$${lettreDepuisChiffre(i + 1)} = ${dfrac2}x^2-${a * a}$` // b>1\n texteCorr = `$${lettreDepuisChiffre(i + 1)} = ${dfrac2}x^2-${a * a}=\\\\left(${dfrac}x\\\\right)^2-${a}^2=\\\\left(${dfrac}x-${a}\\\\right)\\\\left(${dfrac}x+${a}\\\\right)$`\n setReponse(this, i, { reponse: { value: `(${dfrac}x+${a})(${dfrac}x-${a})`, compare: factorisationCompare } }, { formatInteractif: 'fillInTheBlank' })\n }\n break\n }\n if (this.sup2) {\n this.spacingCorr = 1\n // On enlève la première égalité pour ne pas avoir A = A en première ligne\n texteCorr = texteCorr.slice(4)\n // On découpe\n const etapes = texteCorr.split('=')\n texteCorr = ''\n etapes.forEach(function (etape) {\n etape = etape.replace('$', '')\n texteCorr += etape === lettreDepuisChiffre(i + 1) ? '' : `$${lettreDepuisChiffre(i + 1)} = ${etape}$ <br>`\n })\n }\n if (this.interactif) texte += remplisLesBlancs(this, i, '=%{reponse}', 'inline', '\\\\ldots\\\\ldots')\n if (this.questionJamaisPosee(i, a, typesDeQuestions)) {\n // Si la question n'a jamais été posée, on en créé une autre\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n i++\n }\n cpt++\n }\n listeQuestionsToContenuSansNumero(this)\n }\n this.besoinFormulaireNumerique = ['Niveau de difficulté', 4, ' 1 : Coefficient de x égal à 1\\n 2 : Coefficient de x supérieur à 1\\n 3 : Coefficient de x rationnel\\n 4 : Mélange des cas précédents']\n this.besoinFormulaire2CaseACocher = ['Présentation des corrections en colonnes', false]\n}\n"],"names":["titre","interactifReady","interactifType","dateDeModifImportante","uuid","ref","FactoriserIdentitesRemarquables3","Exercice","context","Fractions","typesDeQuestionsDisponibles","listeTypeDeQuestions","combinaisonListes","i","texte","texteCorr","cpt","a","b","ns","ds","typesDeQuestions","randint","uneFraction","choice","lettreDepuisChiffre","setReponse","reduireAxPlusB","factorisationCompare","dfrac","fraction","dfrac2","etapes","etape","remplisLesBlancs","listeQuestionsToContenuSansNumero"],"mappings":"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"}