HEX
Server: Apache
System: Linux vps.mmtprep.com 4.18.0-477.21.1.el8_8.x86_64 #1 SMP Thu Aug 10 13:51:50 EDT 2023 x86_64
User: mmtprep (1001)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
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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"}