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/5N20-dS-q01o7.js.map
{"version":3,"file":"5N20-dS-q01o7.js","sources":["../../src/exercices/5e/5N20.js"],"sourcesContent":["import { choice, combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { miseEnEvidence } from '../../lib/outils/embellissements'\nimport { abs } from '../../lib/outils/nombres.js'\nimport { pgcd } from '../../lib/outils/primalite.js'\nimport Exercice from '../Exercice.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport FractionEtendue from '../../modules/FractionEtendue.js'\nimport { propositionsQcm } from '../../lib/interactif/qcm.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\nimport { fraction } from '../../modules/fractions.js'\nimport { texNombre } from '../../lib/outils/texNombre.js'\n\nexport const amcReady = true\nexport const amcType = 'qcmMono'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\n\nexport const titre = 'Add or subtract two fractions (multiple denominators)'\n\n/**\n * Effectuer l'addition ou la soustraction de deux fractions dont un dénominateur est un multiple de l'autre.\n *\n * Le résultat de la soustraction sera toujours positif.\n *\n * Le coefficient est paramétrable, par défaut il est inférieur à 11.\n *\n * On peut paramétrer de n'avoir que des soustractions.\n * @author Rémi Angot\n * 5N20\n */\nexport const uuid = 'd5ee3'\nexport const ref = '5N20'\nexport default function ExerciceAdditionnerSoustraireFractions5e (max = 11) {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.sup = max // Correspond au facteur commun\n  this.sup2 = 3 // Si 1 alors il n'y aura pas de soustraction\n  this.sup3 = true // Si false alors le résultat n'est pas en fraction simplifiée\n  this.titre = titre\n  this.consigne = 'Calculate.'\n  this.spacing = 2\n  this.spacingCorr = 2\n  this.nbQuestions = 5\n  this.nbColsCorr = 1\n\n  this.nouvelleVersion = function () {\n    if (this.sup3 && !context.isAmc) {\n      this.consigne = 'Calculate and simplify the result as much as possible.'\n    } else {\n      if (this.interactif && !context.isAmc) {\n        this.consigne = 'Calculate.'\n      } else if (context.isAmc) {\n        this.consigne = 'Calculate and choose the correct answer from the proposed answers.'\n      } else if (!this.sup3) {\n        this.consigne = 'Calculate.'\n      }\n    }\n    this.sup = parseInt(this.sup)\n    this.sup2 = parseInt(this.sup2)\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n    this.autoCorrection = []\n    let listeTypeDeQuestions\n    if (this.sup2 === 1) {\n      listeTypeDeQuestions = combinaisonListes(['+'], this.nbQuestions)\n    }\n    if (this.sup2 === 2) {\n      listeTypeDeQuestions = combinaisonListes(['-'], this.nbQuestions)\n    }\n    if (this.sup2 === 3) {\n      listeTypeDeQuestions = combinaisonListes(['+', '-'], this.nbQuestions)\n    }\n    for (let i = 0, a, b, c, d, k, s, ordreDesFractions, texte, texteCorr; i < this.nbQuestions;) {\n      this.autoCorrection[i] = {}\n      texte = ''\n      texteCorr = ''\n      // the numerators\n      a = randint(1, 9)\n      // the denominators\n      b = randint(2, 9, a)\n      if (this.sup > 1) {\n        k = randint(2, this.sup)\n      } else k = 1\n      d = b * k\n      if (listeTypeDeQuestions[i] === '-') {\n        c = choice([randint(1, b * k), randint(b * k, 9 * k)])\n      } else {\n        c = randint(1, 19, d)\n      }\n      const f1 = new FractionEtendue(a, b)\n      const f2 = new FractionEtendue(c, d)\n      if (listeTypeDeQuestions[i] === '+') { // une addition\n        /** ***************** Choix des réponses du QCM ***********************************/\n        this.autoCorrection[i].propositions = [\n          {\n            texte: this.sup3 ? `$${fraction(a * k + c, d).texFractionSimplifiee}$` : `$${fraction(a * k + c, d).texFraction}$`,\n            statut: true\n          },\n          {\n            texte: this.sup3 ? `$${fraction(a + c, d).texFractionSimplifiee}$` : `$${fraction(a + c, d).texFraction}$`,\n            statut: false\n          },\n          {\n            texte: this.sup3 ? `$${fraction(a + c, b + d).texFractionSimplifiee}$` : `$${fraction(a + c, b + d).texFraction}$`,\n            statut: false\n          },\n          {\n            texte: this.sup3 ? `$${fraction(a * c, d).texFractionSimplifiee}$` : `$${fraction(a * c, d).texFraction}$`,\n            statut: false\n          }\n        ]\n        this.autoCorrection[i].options = {\n          ordered: false,\n          lastChoice: 5\n        }\n        if (this.level === 6) {\n          // In 6th grade, no simplified fraction\n          // Fractions have the same denominator (b=d)\n          this.autoCorrection[i].propositions[0].texte = `$${fraction(a + c, b).texFraction}$`\n        }\n        /*************************************************************************/\n        ordreDesFractions = randint(1, 2)\n        if (ordreDesFractions === 1) {\n          texte = `$${f1.texFraction}+${f2.texFraction}=$`\n          /** ****************** AMC question/questionmult ********************************/\n          this.autoCorrection[i].enonce = `${texte}\\n`\n          /*******************************************************************************/\n        } else {\n          texte = `$${f2.texFraction}+${f1.texFraction}=$`\n          /** ****************** AMC question/questionmult ******************************/\n          this.autoCorrection[i].enonce = `${texte}\\n`\n          /*******************************************************************************/\n        }\n\n        if (ordreDesFractions === 1) {\n          texteCorr = `$${f1.texFraction}+${f2.texFraction}=`\n\n          if (this.level !== 6) {\n            texteCorr += `\\\\dfrac{${a}${miseEnEvidence('\\\\times' + k)}}{${b}${miseEnEvidence('\\\\times' + k)}}+${f2.texFraction}=${fraction(a * k, b * k).texFraction}+${f2.texFraction}=`\n          }\n          texteCorr += `\\\\dfrac{${a * k}+${c}}{${d}}=${fraction(a * k + c, d).texFraction}$`\n        } else {\n          texteCorr = `$${f2.texFraction}+${f1.texFraction}=`\n          if (this.level !== 6) {\n            texteCorr += `${f2.texFraction}+\\\\dfrac{${a}${miseEnEvidence('\\\\times' + k)}}{${b}${miseEnEvidence('\\\\times' + k)}}=${f2.texFraction}+${fraction(a * k, b * k).texFraction}=`\n          }\n          texteCorr += `\\\\dfrac{${c}+${a * k}}{${d}}=${fraction(a * k + c, d).texFraction}$`\n        }\n        // Is the result simplifiable?\n        if (this.sup3) {\n          s = pgcd(a * k + c, d)\n          if (s !== 1) {\n            texteCorr += `$=\\\\dfrac{${(a * k + c) / s}${miseEnEvidence('\\\\times' + s)}}{${d / s}${miseEnEvidence('\\\\times' + s)}}=${fraction((a * k + c) / s, d / s).texFractionSimplifiee}$`\n          }\n        }\n        if ((this.modeQcm && !context.isAmc) || (this.interactif && this.interactifType === 'mth')) {\n          texte += '<br>' + propositionsQcm(this, i).texte\n        }\n        if (context.isHtml && this.interactifType === 'mathLive') {\n          if (this.sup3) {\n            setReponse(this, i, (new FractionEtendue(a * d + c * b, b * d)).simplifie(), { formatInteractif: 'fraction' })\n          } else {\n            setReponse(this, i, (new FractionEtendue(a * d + c * b, b * d)).simplifie(), { formatInteractif: 'fractionEqual' })\n          }\n        }\n      } else { // une soustraction\n        /** ***************** Choix des réponses du QCM ***********************************/\n        this.autoCorrection[i].propositions = [\n          {\n            texte: this.sup3 ? `$${fraction(Math.abs(a * k - c), Math.abs(d)).texFractionSimplifiee}$` : `$${fraction(Math.abs(a * k - c), Math.abs(d)).texFraction}$`,\n            statut: true\n          },\n          {\n            texte: this.sup3 ? `$${fraction(Math.abs(a - c), Math.abs(b - d)).texFractionSimplifiee}$` : `$${fraction(Math.abs(a - c), Math.abs(b - d)).texFraction}$`,\n            statut: false\n          },\n          {\n            texte: this.sup3 ? `$${fraction(Math.abs(a - c), d).texFractionSimplifiee}$` : `$${fraction(Math.abs(a - c), d).texFraction}$`,\n            statut: false\n          },\n          {\n            texte: this.sup3 ? `$${fraction(a * c, d).texFractionSimplifiee}$` : `$${fraction(a * c, d).texFraction}$`,\n            statut: false\n          }\n        ]\n        this.autoCorrection[i].options = {\n          ordered: false,\n          lastChoice: 5\n        }\n        if (this.level === 6) {\n          // In 6th grade, no simplified fraction\n          // Fractions have the same denominator (b=d)\n          this.autoCorrection[i].propositions[0].texte = `$${fraction(Math.abs(a - c), b).texFraction}$`\n        }\n\n        /*********************************************************************************/\n        if ((a / b) > (c / d)) {\n          texte = `$${f1.texFraction}-${f2.texFraction}=$`\n        } else {\n          texte = `$${f2.texFraction}-${f1.texFraction}=$`\n          /** ****************** AMC question/questionmult ******************************/\n\n          /*****************************************************************************/\n        }\n        if ((a / b) > (c / d)) {\n          texteCorr = `$${f1.texFraction}-${f2.texFraction}=`\n          if (this.level !== 6) {\n            texteCorr += `\\\\dfrac{${a}${miseEnEvidence('\\\\times' + k)}}{${b}${miseEnEvidence('\\\\times' + k)}}-${f2.texFraction}=${fraction(a * k, b * k).texFraction}-${f2.texFraction}=`\n          }\n          texteCorr += `\\\\dfrac{${a * k}-${c}}{${d}}=${fraction(a * k - c, d).texFraction}$`\n        } else {\n          texteCorr = `$${f2.texFraction}-${f1.texFraction}=`\n          if (this.level !== 6) {\n            texteCorr += `${f2.texFraction}-\\\\dfrac{${a}${miseEnEvidence('\\\\times' + k)}}{${b}${miseEnEvidence('\\\\times' + k)}}=${f2.texFraction}-${fraction(a * k, b * k).texFraction}=\\\\dfrac{${c}-${a * k}}{${d}}=`\n          }\n          texteCorr += `${fraction(c - a * k, d).texFraction}$`\n        }\n        // Is the result simplifiable?\n        if (this.sup3) {\n          s = pgcd(Math.abs(a * k - c), d)\n          if (abs(a * k - c) % d === 0) { // si la fraction peut-être un nombre entier\n            texteCorr += `$=${texNombre(abs(a * k - c) / d, 0)}$`\n          } else if (s !== 1) {\n            texteCorr += `$=\\\\dfrac{${abs(a * k - c) / s}${miseEnEvidence('\\\\times' + s)}}{${d / s}${miseEnEvidence('\\\\times' + s)}}=${fraction((abs(a * k - c) / s), d / s).texFractionSimplifiee}$`\n          }\n        }\n        if ((this.modeQcm && !context.isAmc) || (this.interactif && this.interactifType === 'mth')) {\n          texte += '<br>' + propositionsQcm(this, i).texte\n        }\n        if (context.isHtml && this.interactifType === 'mathLive') {\n          if (this.sup3) {\n            setReponse(this, i, (new FractionEtendue(Math.abs(a * d - c * b), b * d)).simplifie(), { formatInteractif: 'fraction' })\n          } else {\n            setReponse(this, i, (new FractionEtendue(Math.abs(a * d - c * b), b * d)).simplifie(), { formatInteractif: 'fractionEqual' })\n          }\n        }\n      }\n      if (context.isHtml && this.interactifType === 'mathLive') texte += ajouteChampTexteMathLive(this, i)\n      texte = texte.replaceAll('$$', ' ')\n      texteCorr = texteCorr.replaceAll('$$', ' ')\n      if (context.isAmc) {\n        this.autoCorrection[i].enonce = texte\n      }\n\n      if (this.questionJamaisPosee(i, a, k, b, c)) {\n        this.listeQuestions.push(texte)\n        this.listeCorrections.push(texteCorr)\n        i++\n      }\n    }\n    listeQuestionsToContenu(this) // Espacement de 2 em entre chaque questions.\n  }\n\n  this.besoinFormulaireNumerique = ['Maximum value of the multiplier coefficient', 99999]\n  this.besoinFormulaire2Numerique = ['Type of calculations', 3, '1: Additions\\n2: Subtractions\\n3: Mixing']\n  this.besoinFormulaire3CaseACocher = ['With the simplified writing of the result fraction']\n}\n"],"names":["amcReady","amcType","interactifReady","interactifType","titre","uuid","ref","ExerciceAdditionnerSoustraireFractions5e","max","Exercice","context","listeTypeDeQuestions","combinaisonListes","i","a","b","c","d","k","s","ordreDesFractions","texte","texteCorr","randint","choice","f1","FractionEtendue","f2","fraction","miseEnEvidence","pgcd","propositionsQcm","setReponse","abs","texNombre","ajouteChampTexteMathLive","listeQuestionsToContenu"],"mappings":"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"}