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/4C10-3KQOhC64.js.map
{"version":3,"file":"4C10-3KQOhC64.js","sources":["../../src/exercices/4e/4C10.js"],"sourcesContent":["import { choice, combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { ecritureParentheseSiNegatif } from '../../lib/outils/ecritures.js'\nimport { texNombre } from '../../lib/outils/texNombre.js'\nimport { contraindreValeur, listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport Exercice from '../Exercice.js'\nimport Decimal from 'decimal.js'\nimport FractionEtendue from '../../modules/FractionEtendue.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\n\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const titre = 'Calculate products and quotients of relative numbers'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const amcReady = true\nexport const amcType = 'AMCNum'\nexport const dateDePublication = '23/09/2022'\n\nexport const uuid = '745ba'\nexport const ref = '4C10'\nexport default function ProduitsEtQuotientRelatifs () {\n  Exercice.call(this)\n  this.consigne = 'Calculate.'\n  this.sup = 1\n  this.sup2 = 1\n  this.nbQuestions = 10\n  this.besoinFormulaireNumerique = ['Operations', 3, '1: Multiplication\\n2: Division\\n3: Mixing']\n  this.besoinFormulaire2Numerique = ['Operands', 4, '1: Relative integers (exact quotient)\\n2: An integer and a decimal (simple decimal quotient)\\n3: Rationals\\n4: Mixture']\n\n  this.nouvelleVersion = function () {\n    this.listeQuestions = []\n    this.listeCorrections = []\n    this.sup = contraindreValeur(1, 3, this.sup, 3)\n    this.sup2 = contraindreValeur(1, 4, this.sup2, 1)\n    const typesDeQuestions = []\n    if (this.sup % 2 === 1) typesDeQuestions.push('multiplication')\n    if (this.sup > 1) typesDeQuestions.push('division')\n    const typesDeNombre = this.sup2 < 4 ? [this.sup2] : [1, 2, 3]\n    const listeTypesDeQuestion = combinaisonListes(typesDeQuestions, this.nbQuestions)\n    const listeTypesDeNombre = combinaisonListes(typesDeNombre, this.nbQuestions)\n    const ponderation = [['-', '-'], ['-', '-'], ['-', '-'], ['-', '+'], ['+', '-'], ['-', '+'], ['+', '-'], ['+', '+']]\n    for (let i = 0, texte, texteCorr, a, b, c, num1, num2, den1, den2, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      const signes = choice(ponderation)\n      switch (listeTypesDeNombre[i]) {\n        case 1: // entiers\n          a = new Decimal(randint(2, 9) * (signes[0] === '-' ? -1 : 1))\n          b = new Decimal(randint(2, 9) * (signes[1] === '-' ? -1 : 1))\n          break\n\n        case 2: // un entier un décimal\n          if (choice([true, false])) {\n            a = new Decimal(randint(2, 9) * (signes[0] === '-' ? -1 : 1))\n            b = new Decimal(randint(11, 29) * (signes[1] === '-' ? -1 : 1)).div(10)\n          } else {\n            a = new Decimal(randint(11, 29) * (signes[0] === '-' ? -1 : 1)).div(10)\n            b = new Decimal(randint(2, 9) * (signes[1] === '-' ? -1 : 1))\n          }\n          break\n        case 3: // rationnels\n          den1 = randint(2, 9)\n          num1 = randint(2, 15, [den1, 2 * den1, 3 * den1, 4 * den1, 5 * den1, 6 * den1, 7 * den1]) // on évite les fractions réductibles\n          den2 = randint(2, 9)\n          num2 = randint(2, 15, [den2, 2 * den2, 3 * den2, 4 * den2, 5 * den2, 6 * den2, 7 * den2]) // on évite les fractions réductibles\n          a = new FractionEtendue(num1 * (signes[0] === '-' ? -1 : 1), den1)\n          b = new FractionEtendue(num2 * (signes[1] === '-' ? -1 : 1), den2)\n          break\n      }\n      switch (listeTypesDeQuestion[i]) {\n        case 'multiplication':\n          if (listeTypesDeNombre[i] < 3) {\n            texte = `$${texNombre(a, 1)}\\\\times ${ecritureParentheseSiNegatif(b)} = $${ajouteChampTexteMathLive(this, i, 'width25 inline')}`\n            texteCorr = texte.split('=')[0] + ' =' + texNombre(a.mul(b), 1) + '$'\n            setReponse(this, i, listeTypesDeNombre[i] < 3 ? a.mul(b) : a.produitFraction(b))\n          } else {\n            texte = `$${a.texFSD}\\\\times ${b.texFSP} = $${ajouteChampTexteMathLive(this, i, 'width25 inline')}`\n            texteCorr = texte.split('=')[0] + ' =' + a.texProduitFraction(b, true) + '$'\n            setReponse(this, i, a.produitFraction(b), { formatInteractif: 'fractionEqual' })\n          }\n          break\n\n        case 'division':\n          if (listeTypesDeNombre[i] < 3) {\n            c = a.mul(b)\n            texte = `$\\\\dfrac{${texNombre(c, 1)}}{${texNombre(a, 1)}} = $${ajouteChampTexteMathLive(this, i, 'width25 inline')}`\n            texteCorr = texte.split('=')[0] + ' =' + texNombre(b, 1) + '$'\n            setReponse(this, i, b)\n          } else {\n            c = a.produitFraction(b)\n            texte = `$\\\\dfrac{${c.texFraction}}{${a.texFraction}} = $${ajouteChampTexteMathLive(this, i, 'width25 inline')}`\n            texteCorr = texte.split('=')[0]\n            b = c.produitFraction(a.inverse())\n            texteCorr += ` = ${c.texProduitFraction(a.inverse(), true)}$`\n            setReponse(this, i, b.simplifie(), { formatInteractif: 'fractionEqual' })\n          }\n          break\n      }\n      if (this.questionJamaisPosee(i, a, b, listeTypesDeQuestion[i])) {\n        this.listeQuestions.push(texte)\n        this.listeCorrections.push(texteCorr)\n        i++\n      }\n      cpt++\n    }\n    listeQuestionsToContenu(this)\n  }\n}\n"],"names":["titre","interactifReady","interactifType","amcReady","amcType","dateDePublication","uuid","ref","ProduitsEtQuotientRelatifs","Exercice","contraindreValeur","typesDeQuestions","typesDeNombre","listeTypesDeQuestion","combinaisonListes","listeTypesDeNombre","ponderation","i","texte","texteCorr","a","b","num1","num2","den1","den2","cpt","signes","choice","Decimal","randint","FractionEtendue","texNombre","ecritureParentheseSiNegatif","ajouteChampTexteMathLive","setReponse","listeQuestionsToContenu"],"mappings":"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"}