File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/3L11-2-d2BTP6nL.js.map
{"version":3,"file":"3L11-2-d2BTP6nL.js","sources":["../../src/exercices/3e/3L11-2.js"],"sourcesContent":["import { ecritureParentheseSiNegatif } from '../../lib/outils/ecritures.js'\nimport { lettreDepuisChiffre } from '../../lib/outils/outilString.js'\nimport Exercice from '../Exercice.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenuSansNumero, printlatex, randint, gestionnaireFormulaireTexte } from '../../modules/outils.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const titre = 'Réduire une expression'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const amcType = 'AMCHybride'\nexport const amcReady = true\nexport const dateDeModifImportante = '20/02/2023'\n\n/**\n * Réduire des expressions lorsque c'est possible\n *\n * @author Rémi Angot (Amélioration AMC par Eric Elter)\n */\nexport const uuid = 'f6853'\nexport const ref = '3L11-2'\nexport default function ReductionSiPossible () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.nbQuestions = 5\n this.nbCols = 1\n this.nbColsCorr = 1\n this.spacing = context.isHtml ? 3 : 2\n this.spacingCorr = context.isHtml ? 3 : 2\n this.tailleDiaporama = 3\n this.sup = false\n this.sup2 = false\n this.sup3 = 9\n this.listeAvecNumerotation = false\n\n this.nouvelleVersion = function () {\n this.consigne = this.nbQuestions > 1 ? 'Réduire les expressions suivantes, si cela est possible.' : 'Réduire l\\'expression suivante, si cela est possible.'\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n this.autoCorrection = []\n\n const exclus = []\n if (this.sup) {\n exclus.push(1)\n exclus.push(3)\n }\n if (context.isAmc) {\n exclus.push(3)\n }\n\n const listeTypeDeQuestions = gestionnaireFormulaireTexte({\n nbQuestions: this.nbQuestions,\n saisie: this.sup3,\n max: 7,\n melange: 8,\n defaut: 2,\n exclus\n })\n\n // const listeTypeDeQuestions = combinaisonListes(typesDeQuestionsDisponibles, this.nbQuestions) // Tous les types de questions sont posées mais l'ordre diffère à chaque \"cycle\"\n for (let i = 0, texte, texteCorr, reponse, coeffa, constb, a, b, c, d, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n a = randint(-11, 11, 0)\n b = randint(-11, 11, [0, a])\n c = randint(-11, 11, [0])\n d = randint(-11, 11, 0)\n switch (listeTypeDeQuestions[i]) {\n case 1 : // 'ax+b':\n texte = `$${lettreDepuisChiffre(i + 1)}=${printlatex(`${a}*x+(${b})`)}$`\n texteCorr = texte\n reponse = [printlatex(`${a}*x+(${b})`), printlatex(`${b}+(${a}*x)`)]\n coeffa = a\n constb = b\n break\n case 2 : // 'ax+bx':\n texte = `$${lettreDepuisChiffre(i + 1)}=${printlatex(`${a}*x+(${b}*x)`)}$`\n texteCorr = `$${lettreDepuisChiffre(i + 1)}=${printlatex(`${a}*x+(${b}*x)`)}=${printlatex(`${a + b}x`)}$`\n reponse = printlatex(`${a + b}x`)\n coeffa = a + b\n constb = 0\n break\n case 3 : // 'ax+bx2':\n texte = `$${lettreDepuisChiffre(i + 1)}=${printlatex(`${a}*x+(${b}*x^2)`)}$`\n texteCorr = texte\n reponse = [printlatex(`${a}*x+(${b}*x^2)`), printlatex(`${b}*x^2+(${a}*x)`)]\n // celui-ci ne peut pas être choisi pour AMC\n break\n case 4 : // 'ax*b':\n texte = `$${lettreDepuisChiffre(i + 1)}=${printlatex(`${a}*x`)}\\\\times ${ecritureParentheseSiNegatif(b)}$`\n texteCorr = `$${lettreDepuisChiffre(i + 1)}=${printlatex(`${a}*x`)}\\\\times ${ecritureParentheseSiNegatif(b)}=${printlatex(`${a * b}*x`)}$`\n reponse = printlatex(`${a * b}*x`)\n coeffa = a * b\n constb = 0\n break\n case 5 : // 'b*ax':\n a = randint(1, 11)\n texte = `$${lettreDepuisChiffre(i + 1)}=${b}\\\\times ${printlatex(`${a}*x`)}$`\n texteCorr = `$${lettreDepuisChiffre(i + 1)}=${b}\\\\times ${printlatex(`${a}*x`)}=${printlatex(`${b * a}*x`)}$`\n reponse = printlatex(`${b * a}*x`)\n coeffa = a * b\n constb = 0\n break\n case 6 : // 'ax+b+cx+d':\n texte = `$${lettreDepuisChiffre(i + 1)}=${printlatex(`${a}*x+(${b})+(${c})*x+(${d})`)}$`\n texteCorr = `$${lettreDepuisChiffre(i + 1)}=${printlatex(`${a}*x+(${b})+(${c})*x+(${d})`)}`\n if (b + d === 0) {\n if (a + c === 0) {\n texteCorr += '=0$'\n reponse = 0\n coeffa = 0\n constb = 0\n } else {\n texteCorr += `=${printlatex(`${a + c}*x`)}$`\n reponse = printlatex(`${a + c}*x`)\n coeffa = a + c\n constb = 0\n }\n } else {\n if (a + c === 0) {\n texteCorr += `=${b + d}$`\n reponse = b + d\n constb = b + d\n coeffa = 0\n } else {\n texteCorr += `=${printlatex(`${a + c}*x+(${b + d})`)}$`\n reponse = [printlatex(`${a + c}*x+(${b + d})`), printlatex(`${b + d}+(${a + c}*x)`)]\n coeffa = a + c\n constb = b + d\n }\n }\n break\n case 7 :// 'b+ax+d+cx':\n texte = `$${lettreDepuisChiffre(i + 1)}=${printlatex(`${b}+(${a})*x+(${d})+(${c})*x`)}$`\n texteCorr = `$${lettreDepuisChiffre(i + 1)}=${printlatex(`${b}+(${a})*x+(${d})+(${c})*x`)}`\n if (b + d === 0) {\n if (a + c === 0) {\n texteCorr += '=0$'\n reponse = 0\n coeffa = 0\n constb = 0\n } else {\n texteCorr += `=${printlatex(`${a + c}*x`)}$`\n reponse = printlatex(`${a + c}*x`)\n coeffa = a + c\n constb = 0\n }\n } else {\n if (a + c === 0) {\n texteCorr += `=${b + d}$`\n reponse = b + d\n coeffa = 0\n constb = b + d\n } else {\n texteCorr += `=${printlatex(`${a + c}*x+(${b + d})`)}$`\n reponse = [printlatex(`${a + c}*x+(${b + d})`), printlatex(`${b + d}+(${a + c}*x)`)]\n coeffa = a + c\n constb = b + d\n }\n }\n break\n case 8 : // 'ax+b+x':\n a = randint(-11, 11, [0, -1])\n texte = `$${lettreDepuisChiffre(i + 1)}=${printlatex(`${a}*x+(${b})+x`)}$`\n texteCorr = `$${lettreDepuisChiffre(i + 1)}=${printlatex(`${a}*x+(${b})+x`)}=${printlatex(`${a + 1}*x+(${b})`)}$`\n reponse = [printlatex(`${a + 1}*x+(${b})`), printlatex(`${b}+(${a + 1}*x)`)]\n coeffa = a + 1\n constb = b\n break\n }\n if (this.sup2) {\n this.spacingCorr = 1\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 (!context.isAmc) {\n setReponse(this, i, reponse)\n texte += this.interactif ? (`<br>$${lettreDepuisChiffre(i + 1)} = $` + ajouteChampTexteMathLive(this, i, 'largeur75 inline nospacebefore')) : ''\n } else {\n this.autoCorrection[i] = {\n enonce: '',\n enonceAvant: false,\n options: { multicols: true, barreseparation: true },\n propositions: [\n {\n type: 'AMCOpen',\n propositions: [{\n texte: texteCorr,\n enonce: texte + '<br>',\n statut: 4\n }]\n },\n {\n type: 'AMCNum',\n propositions: [{\n texte: '',\n statut: '',\n reponse: {\n texte: 'valeur de $a$ dans $ax+b$',\n valeur: [coeffa],\n param: {\n digits: 2,\n decimals: 0,\n signe: true,\n approx: 0\n }\n }\n }]\n },\n {\n type: 'AMCNum',\n propositions: [{\n texte: '',\n statut: '',\n reponse: {\n texte: 'valeur de $b$ dans $ax+b$',\n valeur: [constb],\n param: {\n digits: 2,\n decimals: 0,\n signe: true,\n approx: 0\n }\n }\n }]\n }\n ]\n }\n }\n\n if (this.questionJamaisPosee(i, a, b, c, d)) { // 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\n this.besoinFormulaireCaseACocher = ['On peut toujours réduire.']\n this.besoinFormulaire2CaseACocher = ['Présentation des corrections en colonnes', false]\n this.besoinFormulaire3Texte = [\n 'Type de questions', [\n 'Nombres séparés par des tirets',\n '1 : ax+b',\n '2 : ax+bx',\n '3 : ax+bx²',\n '4 : ax*b',\n '5 : b*ax',\n '6 : ax+b+cx+d',\n '7 : b+ax+d+cx',\n '8 : ax+b+x',\n '9 : Mélange'\n ].join('\\n')\n ]\n}\n"],"names":["titre","interactifReady","interactifType","amcType","amcReady","dateDeModifImportante","uuid","ref","ReductionSiPossible","Exercice","context","exclus","listeTypeDeQuestions","gestionnaireFormulaireTexte","texte","texteCorr","reponse","coeffa","constb","a","b","c","d","cpt","randint","lettreDepuisChiffre","printlatex","ecritureParentheseSiNegatif","etapes","etape","setReponse","ajouteChampTexteMathLive","listeQuestionsToContenuSansNumero"],"mappings":"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"}