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/2N52-1-B0VsLFdO.js.map
{"version":3,"file":"2N52-1-B0VsLFdO.js","sources":["../../src/exercices/2e/2N52-1.js"],"sourcesContent":["import { choice, combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { texteEnCouleur } from '../../lib/outils/embellissements'\nimport { ecritureAlgebrique, ecritureParentheseSiNegatif, reduireAxPlusB } from '../../lib/outils/ecritures'\nimport Exercice from '../deprecatedExercice.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { fraction, obtenirListeFractionsIrreductiblesFaciles } from '../../modules/fractions.js'\nexport const titre = 'Résoudre les équations produit-nul'\n\n/**\n * Résoudre des équations (ax+b)(cx+d)=0\n* @author Stéphane Guyon & Jean-claude Lhote\n* 2N52-1, ex 2L12\n* publié le 6/02/2021\n*/\nexport const uuid = '53762'\nexport const ref = '2N52-1'\nexport default function EquationsProduitsNuls2 () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.titre = titre\n  this.nbCols = 1\n  this.nbColsCorr = 1\n  this.spacing = 1\n  this.spacingCorr = 1\n  this.nbQuestions = 3\n  this.sup = 1\n  this.spacingCorr = 3\n  this.nbQuestions = 2\n  this.correctionDetailleeDisponible = true\n  this.correctionDetaillee = true\n\n  this.nouvelleVersion = function () {\n    this.consigne = 'Résoudre dans $\\\\mathbb R$ ' + (this.nbQuestions !== 1 ? 'les équations suivantes' : 'l\\'équation suivante') + '.'\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n    let typesDeQuestionsDisponibles = []\n    if (this.sup < 4) {\n      typesDeQuestionsDisponibles = [parseInt(this.sup)]\n    } else {\n      typesDeQuestionsDisponibles = [1, 2, 3]\n    }\n\n    const listeTypeDeQuestions = combinaisonListes(typesDeQuestionsDisponibles, this.nbQuestions)\n    for (let i = 0, texte, texteCorr, cpt = 0, a, b, c, d, fractions, index, f1, f2, f3, f4, typesDeQuestions; i < this.nbQuestions && cpt < 50;) {\n      typesDeQuestions = listeTypeDeQuestions[i]\n      a = randint(-9, 9, 0)\n      b = randint(-9, 9, 0)\n      c = randint(-9, 9, [0, a])\n      d = randint(1, 9, [0, b])\n      switch (typesDeQuestions) {\n        case 1:\n          texte = `$(${reduireAxPlusB(a, b)})(${reduireAxPlusB(c, d)})=0$`\n          texteCorr = `On reconnaît une équation produit-nul, donc on applique la propriété :<br>\n                    ${texteEnCouleur('Un produit est nul si et seulement si au moins un de ses facteurs est nul.')}<br>`\n          texteCorr += texte + '<br>' // optimisation du code\n          texteCorr += `$\\\\iff ${reduireAxPlusB(a, b)}=0$ ou $${reduireAxPlusB(c, d)}=0$<br>`\n          if (this.correctionDetaillee) { // on ajoute les étapes de résolution si la correction détaillée est cochée.\n            texteCorr += `$\\\\iff ${reduireAxPlusB(a, 0)}=${-b}$ ou $ ${reduireAxPlusB(c, 0)}=${-d}$<br>`\n          }\n          f1 = fraction(-b, a)\n          f2 = fraction(-d, c)\n          texteCorr += `$\\\\iff x=${f1.texFraction}$ ou $ x=${f2.texFraction}$<br>On en déduit :  `\n          if (-b / a > -d / c) {\n            texteCorr += `$S=\\\\left\\\\{${f2.texFractionSimplifiee};${f1.texFractionSimplifiee}\\\\right\\\\}$`\n          } else if (-b / a < -d / c) {\n            texteCorr += `$S=\\\\left\\\\{${f1.texFractionSimplifiee};${f2.texFractionSimplifiee}\\\\right\\\\}$`\n          } else texteCorr += `$S=\\\\left\\\\{${f1.texFractionSimplifiee}\\\\right\\\\}$`\n\n          break\n        case 2:\n          fractions = obtenirListeFractionsIrreductiblesFaciles()\n          index = randint(0, fractions.length - 1)\n          f1 = fractions[index]\n          index = randint(0, fractions.length - 1, index)\n          f2 = fractions[index]\n          f3 = f1.inverse().multiplieEntier(-b)\n          f4 = f2.inverse().multiplieEntier(-d)\n          texte = `$(${f1.texFraction}x${ecritureAlgebrique(b)})(${f2.texFraction}x${ecritureAlgebrique(d)})=0$`\n          texteCorr = `On reconnaît une équation produit-nul, donc on applique la propriété :<br>\n                    ${texteEnCouleur('Un produit est nul si et seulement si au moins un de ses facteurs est nul.')}<br>\n                    $(${f1.texFraction}x${ecritureAlgebrique(b)})(${f2.texFraction}x${ecritureAlgebrique(d)})=0$<br>`\n          texteCorr += `$\\\\iff ${f1.texFraction}x${ecritureAlgebrique(b)}=0$ ou $${f2.texFraction}x${ecritureAlgebrique(d)}=0$<br>`\n          if (this.correctionDetaillee) {\n            texteCorr += `$\\\\iff ${f1.texFraction}x=${-b}$ ou $${f2.texFraction}x=${-d}$<br>`\n            texteCorr += `$\\\\iff x=${-b}\\\\div ${f1.texFraction}$ ou $x=${-d}\\\\div ${f2.texFraction}$<br>`\n            texteCorr += `$\\\\iff x=${-b}\\\\times ${f1.inverse().texFraction}$ ou $x=${-d}\\\\times ${f2.inverse().texFraction}$<br>`\n          }\n          texteCorr += `$\\\\iff x=${f3.texFractionSimplifiee}$ ou $ x=${f4.texFractionSimplifiee}$<br>\n                     On en déduit :  `\n          if (f3.differenceFraction(f4).s > 0) {\n            texteCorr += `$S=\\\\left\\\\{${f4.texFractionSimplifiee};${f3.texFractionSimplifiee}\\\\right\\\\}$`\n          } else if (f3.differenceFraction(f4).s < 0) {\n            texteCorr += `$S=\\\\left\\\\{${f3.texFractionSimplifiee};${f4.texFractionSimplifiee}\\\\right\\\\}$`\n          } else texteCorr += `$S=\\\\left\\\\{${f3.texFractionSimplifiee}\\\\right\\\\}$`\n          break\n        case 3: // (ax+f1)(bx+f2)=0\n          fractions = obtenirListeFractionsIrreductiblesFaciles()\n          index = randint(0, fractions.length - 1)\n          f1 = fractions[index].multiplieEntier(choice([-1, 1]))\n          index = randint(0, fractions.length - 1, index)\n          f2 = fractions[index].multiplieEntier(choice([-1, 1]))\n          f3 = f1.entierDivise(-a)\n          f4 = f2.entierDivise(-b)\n          texte = `$(${reduireAxPlusB(a, 0)}${f1.texFractionSignee})(${reduireAxPlusB(b, 0)}${f2.texFractionSignee})=0$`\n          texteCorr = `On reconnaît une équation produit-nul, donc on applique la propriété :<br>\n                        ${texteEnCouleur('Un produit est nul si et seulement si au moins un de ses facteurs est nul.')}<br>\n                        $(${reduireAxPlusB(a, 0)}${f1.texFractionSignee})(${reduireAxPlusB(b, 0)}${f2.texFractionSignee})=0$<br>`\n          texteCorr += `$\\\\iff ${reduireAxPlusB(a, 0)}${f1.texFractionSignee}=0$ ou $${reduireAxPlusB(b, 0)}${f2.texFractionSignee}=0$<br>`\n          if (this.correctionDetaillee) {\n            texteCorr += `$\\\\iff ${reduireAxPlusB(a, 0)}=${f1.multiplieEntier(-1).texFraction}$ ou $${reduireAxPlusB(b, 0)}=${f2.multiplieEntier(-1).texFraction}$<br>`\n            texteCorr += `$\\\\iff x=${f1.multiplieEntier(-1).texFraction}\\\\div ${ecritureParentheseSiNegatif(a)}$ ou $x=${f2.multiplieEntier(-1).texFraction}\\\\div ${ecritureParentheseSiNegatif(b)}$<br>`\n            texteCorr += `$\\\\iff x=${f1.multiplieEntier(-1).texFraction}\\\\times ${fraction(1, a).texFSP}$ ou $x=${f2.multiplieEntier(-1).texFraction}\\\\times ${fraction(1, b).texFSP}$<br>`\n          }\n          texteCorr += `$\\\\iff x=${f3.texFractionSimplifiee}$ ou $ x=${f4.texFractionSimplifiee}$<br>\n                         On en déduit :  `\n          if (f3.differenceFraction(f4).s > 0) {\n            texteCorr += `$S=\\\\left\\\\{${f4.texFractionSimplifiee};${f3.texFractionSimplifiee}\\\\right\\\\}$`\n          } else if (f3.differenceFraction(f4).s < 0) {\n            texteCorr += `$S=\\\\left\\\\{${f3.texFractionSimplifiee};${f4.texFractionSimplifiee}\\\\right\\\\}$`\n          } else texteCorr += `$S=\\\\left\\\\{${f3.texFractionSimplifiee}\\\\right\\\\}$`\n          break\n      }\n      if (this.listeQuestions.indexOf(texte) === -1) {\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    listeQuestionsToContenu(this)\n  }\n  this.besoinFormulaireNumerique = ['Niveau de difficulté', 5, '1 : (ax+b)(cx+d)=0 a,b,c et d entiers\\n 2 : (ax+b)(cx+d)=0 a et c rationnels\\n 3 : (ax+b)(cx+d)=0 b et d rationnels\\n4 : Mélange des cas précédents']\n}\n"],"names":["titre","uuid","ref","EquationsProduitsNuls2","Exercice","typesDeQuestionsDisponibles","listeTypeDeQuestions","combinaisonListes","i","texte","texteCorr","cpt","a","b","c","d","fractions","index","f1","f2","f3","f4","typesDeQuestions","randint","reduireAxPlusB","texteEnCouleur","fraction","obtenirListeFractionsIrreductiblesFaciles","ecritureAlgebrique","choice","ecritureParentheseSiNegatif","listeQuestionsToContenu"],"mappings":"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"}