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/6C11-2-k9ZtsuWI.js.map
{"version":3,"file":"6C11-2-k9ZtsuWI.js","sources":["../../src/exercices/6e/6C11-2.js"],"sourcesContent":["import {\n  choice,\n  combinaisonListes,\n  combinaisonListes2,\n  enleveElement,\n  enleveElementNo\n} from '../../lib/outils/arrayOutils'\nimport { texteEnCouleurEtGras } from '../../lib/outils/embellissements'\nimport { range, rangeMinMax } from '../../lib/outils/nombres'\nimport { numAlpha } from '../../lib/outils/outilString.js'\nimport { texNombre } from '../../lib/outils/texNombre'\nimport Exercice from '../deprecatedExercice.js'\nimport { context } from '../../modules/context.js'\nimport { contraindreValeur, listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { max, min, mod } from 'mathjs'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const titre = 'Find the vocabulary associated with the terms of equality resulting from Euclidean division'\n\nexport const amcReady = true\nexport const amcType = 'qcmMult'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\n\n// Gestion de la date de publication initiale\nexport const dateDePublication = '25/10/2021'\nexport const dateDeModifImportante = '07/05/2023'\n\n/**\n * Détermination du vocabulaire associé à l'égalité issue de la division euclidienne\n *\n * @author Eric ELTER\n */\nexport const uuid = '4e35d'\nexport const ref = '6C11-2'\nexport default function VocabulaireDivisionEuclidienne () {\n  Exercice.call(this)\n  this.titre = titre\n  this.spacing = 1\n  this.nbQuestions = 5\n  this.sup = 1\n  this.sup2 = 1\n  this.sup3 = 1\n  this.sup4 = 3\n\n  this.nouvelleVersion = function () {\n    this.consigne = 'Using the vocabulary associated with Euclidean division, determine, '\n    this.consigne += this.nbQuestions === 1 ? 'for the proposed equality, ' : 'for each proposed equality, '\n    this.consigne += 'the word adapted to the designated number.'\n    this.autoCorrection = []\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n    const QuestionsDisponibles = range(3)\n    if (this.sup) {\n      if (typeof (this.sup) === 'number') {\n        enleveElementNo(QuestionsDisponibles, contraindreValeur(0, 3, this.sup, 0) - 1)\n      } else {\n        const QuestionsDisponibles2 = this.sup.split('-')\n        for (let i = 0; i < QuestionsDisponibles2.length; i++) {\n          if (QuestionsDisponibles.length > 2) {\n            enleveElement(QuestionsDisponibles, contraindreValeur(0, 3, parseInt(QuestionsDisponibles2[i]), 0) - 1)\n          }\n        }\n      }\n    }\n    const ChoixReponses = ['dividend', 'divider', 'quotient', 'stay']\n    const ChoixQuestions = this.sup2 === 2 ? combinaisonListes2(QuestionsDisponibles, this.nbQuestions) : combinaisonListes(QuestionsDisponibles, this.nbQuestions)\n    let ReponsesCorrectes = []\n    const Nbutilises = []\n    for (let i = 0, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      Nbutilises[0] = 0\n      Nbutilises[1] = randint(5, 99)\n      switch (this.sup4) {\n        case 1 :\n          Nbutilises[2] = randint(3, Nbutilises[1] - 2)\n          Nbutilises[3] = randint(Nbutilises[2] + 1, Nbutilises[1] - 1)\n          break\n        case 2 :\n          Nbutilises[2] = randint(5, 99, [Nbutilises[1]])\n          Nbutilises[3] = randint(4, min(Nbutilises[2], Nbutilises[1]) - 1)\n          break\n        default :\n          if (randint(0, 1) === 0) {\n            Nbutilises[2] = randint(3, Nbutilises[1] - 2)\n            Nbutilises[3] = randint(Nbutilises[2] + 1, Nbutilises[1] - 1)\n          } else {\n            Nbutilises[2] = randint(5, 99, [Nbutilises[1]])\n            Nbutilises[3] = randint(4, min(Nbutilises[2], Nbutilises[1]) - 1)\n          }\n          Nbutilises[2] = randint(5, 99, [Nbutilises[1]])\n          Nbutilises[3] = randint(4, max(Nbutilises[2], Nbutilises[1]) - 1, [min(Nbutilises[2], Nbutilises[1])])\n          break\n      }\n      Nbutilises[0] = Nbutilises[2] * Nbutilises[1] + Nbutilises[3]\n      const TabCorrection = []\n      TabCorrection[0] = `$${texNombre(Nbutilises[0])}$ is the dividend`\n      TabCorrection[1] = ''\n      TabCorrection[2] = ''\n      TabCorrection[3] = `$${Nbutilises[3]}$ is the remainder`\n      const TabEgaliteDivEuclidienne = []\n      TabEgaliteDivEuclidienne[0] = `$${texNombre(Nbutilises[0])} = ${Nbutilises[1]} \\\\times ${Nbutilises[2]} + ${Nbutilises[3]}$`\n      TabEgaliteDivEuclidienne[1] = `$${texNombre(Nbutilises[0])} = ${Nbutilises[3]} + ${Nbutilises[1]} \\\\times ${Nbutilises[2]}$`\n      TabEgaliteDivEuclidienne[2] = `$${Nbutilises[1]} \\\\times ${Nbutilises[2]} + ${Nbutilises[3]} = ${texNombre(Nbutilises[0])}$`\n      TabEgaliteDivEuclidienne[3] = `$${Nbutilises[3]} + ${Nbutilises[1]} \\\\times ${Nbutilises[2]} = ${texNombre(Nbutilises[0])}$`\n      let EgaliteDivEuclidienne\n      switch (this.sup3) {\n        case 1 :\n          EgaliteDivEuclidienne = TabEgaliteDivEuclidienne[0]\n          break\n        case 2 :\n          EgaliteDivEuclidienne = TabEgaliteDivEuclidienne[choice(rangeMinMax(1, 3))]\n          break\n        default :\n          EgaliteDivEuclidienne = TabEgaliteDivEuclidienne[choice(range(3))]\n          break\n      }\n      texte = 'In ' + EgaliteDivEuclidienne + `, what is the name of $${texNombre(Nbutilises[ChoixQuestions[i]])}$ when equality is associated with a Euclidean division?<br>`\n      if (Nbutilises[3] < Nbutilises[1]) {\n        if (Nbutilises[3] < Nbutilises[2]) {\n          texteCorr = `$${Nbutilises[3]}$ is less than $${Nbutilises[1]}$ and $${Nbutilises[2]}$ therefore equality ` + EgaliteDivEuclidienne + ' can be associated with two different Euclidean divisions:<br>'\n          TabCorrection[1] = `$${Nbutilises[1]}$ is the divisor`\n          TabCorrection[2] = `$${Nbutilises[2]}$ is the quotient`\n          texteCorr += numAlpha(0) + `or the Euclidean division of $ ${texNombre(Nbutilises[0])} $ by $ ${Nbutilises[1]} $. So, `\n          for (let kk = 0; kk < 3; kk++) {\n            texteCorr += kk === ChoixQuestions[i] ? texteEnCouleurEtGras(TabCorrection[kk]) : TabCorrection[kk]\n            texteCorr += kk < 2 ? ', ' : ' and '\n          }\n          texteCorr += ChoixQuestions[i] === 3 ? texteEnCouleurEtGras(TabCorrection[3]) : TabCorrection[3]\n          texteCorr += '.<br>'\n          TabCorrection[1] = `$${Nbutilises[1]}$ is the quotient`\n          TabCorrection[2] = `$${Nbutilises[2]}$ is the divisor`\n          TabCorrection[ChoixQuestions[i]] = texteEnCouleurEtGras(TabCorrection[ChoixQuestions[i]])\n          texteCorr += numAlpha(1) + `or the Euclidean division of $ ${texNombre(Nbutilises[0])} $ by $ ${Nbutilises[2]} $. So, `\n          for (let kk = 0; kk < 3; kk++) {\n            texteCorr += kk === ChoixQuestions[i] ? texteEnCouleurEtGras(TabCorrection[kk]) : TabCorrection[kk]\n            texteCorr += kk < 2 ? ', ' : ' and '\n          }\n          texteCorr += ChoixQuestions[i] === 3 ? texteEnCouleurEtGras(TabCorrection[3]) : TabCorrection[3]\n          texteCorr += '.<br>'\n          if (mod(ChoixQuestions[i], 3) === 0) {\n            ReponsesCorrectes = [ChoixReponses[ChoixQuestions[i]]]\n          } else {\n            ReponsesCorrectes = ['divider', 'quotient']\n          }\n        } else {\n          texteCorr = `$${Nbutilises[3]}$ is less than $${Nbutilises[1]}$ but not $${Nbutilises[2]}$ so the equality ` + EgaliteDivEuclidienne + ' is associated with'\n          TabCorrection[1] = `$${Nbutilises[1]}$ is the divisor`\n          TabCorrection[2] = `$${Nbutilises[2]}$ is the quotient`\n          texteCorr += ` the Euclidean division of $${texNombre(Nbutilises[0])}$ by $${Nbutilises[1]}$. So, `\n          for (let kk = 0; kk < 3; kk++) {\n            texteCorr += kk === ChoixQuestions[i] ? texteEnCouleurEtGras(TabCorrection[kk]) : TabCorrection[kk]\n            texteCorr += kk < 2 ? ', ' : ' and '\n          }\n          texteCorr += ChoixQuestions[i] === 3 ? texteEnCouleurEtGras(TabCorrection[3]) : TabCorrection[3]\n          texteCorr += '.<br>'\n          ReponsesCorrectes = [ChoixReponses[ChoixQuestions[i]]]\n        }\n      } else {\n        texteCorr = `$${Nbutilises[3]}$ is less than $${Nbutilises[2]}$ but not $${Nbutilises[1]}$ so the equality ` + EgaliteDivEuclidienne + ' is associated with'\n        TabCorrection[1] = `$${Nbutilises[1]}$ is the quotient`\n        TabCorrection[2] = `$${Nbutilises[2]}$ is the divisor`\n        texteCorr += ` the Euclidean division of $${texNombre(Nbutilises[0])}$ by $${Nbutilises[2]}$. So, `\n        for (let kk = 0; kk < 3; kk++) {\n          texteCorr += kk === ChoixQuestions[i] ? texteEnCouleurEtGras(TabCorrection[kk]) : TabCorrection[kk]\n          texteCorr += kk < 2 ? ', ' : ' and '\n        }\n        texteCorr += ChoixQuestions[i] === 3 ? texteEnCouleurEtGras(TabCorrection[3]) : TabCorrection[3]\n        texteCorr += '.<br>'\n        ReponsesCorrectes = [ChoixReponses[(3 - ChoixQuestions[i]) === 0 ? 3 : ((3 - ChoixQuestions[i]) % 3)]]\n      }\n      if (this.questionJamaisPosee(i, ...Nbutilises)) {\n        // If the question has never been asked, we create another one\n        if (this.interactif) {\n          texte += '<br>' + ajouteChampTexteMathLive(this, i, 'largeur20 inline alphanumeric')\n        }\n        setReponse(this, i, ReponsesCorrectes, { formatInteractif: 'ignoreCase' })\n        if (context.isAmc) {\n          // this.autoCorrection[i].propositions = [{ text: this.listeCorrections[i], status: '1' }] // Here, a single line for each text box\n\n          this.autoCorrection[i].enonce = `${texte}\\n`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: 'dividend',\n              statut: ReponsesCorrectes.includes('dividend')\n            },\n            {\n              texte: 'divider',\n              statut: ReponsesCorrectes.includes('divider')\n            },\n            {\n              texte: 'quotient',\n              statut: ReponsesCorrectes.includes('quotient')\n            },\n            {\n              texte: 'stay',\n              statut: ReponsesCorrectes.includes('stay')\n            }\n          ]\n          this.autoCorrection[i].options = {\n            ordered: false\n          }\n        }\n        this.listeQuestions.push(texte)\n        this.listeCorrections.push(texteCorr)\n        i++\n      }\n      cpt++\n    }\n\n    listeQuestionsToContenu(this)\n  }\n  this.besoinFormulaireTexte = ['Choice of words to remove',\n    \"(Numbers separated by hyphens)\\nAt most, only the first two different non-zero integers will be retained.\\n0: To remove no words\\n1: To remove 'dividend' from the choice of words\\n2: To remove 'divisor' from the choice of words\\n3: To remove 'quotient' from the choice of words\\n4: To remove 'rest' from the choice of words\"\n  ]\n  this.besoinFormulaire2Numerique = [\n    'Choice of words to find',\n    2,\n    '1: The words to find are distributed randomly, but in a cyclical manner.\\n2: The words to find are all present and distributed randomly but the words are not necessarily distributed fairly.'\n  ]\n  this.besoinFormulaire3Numerique = [\n    'Choice on equality',\n    2,\n    '1: Classic equality (a=bq+r or a=qb+r)\\n2: Less classic equality (for example, a=r+bq or qb+r=a)\\n3: Combination'\n  ]\n  this.besoinFormulaire4Numerique = [\n    'Choice on the number of Euclidean divisions associated with each equality',\n    3,\n    '1: A single associated Euclidean division\\n2: Two associated Euclidean divisions\\n3: Combination'\n  ]\n}\n"],"names":["titre","amcReady","amcType","interactifReady","interactifType","dateDePublication","dateDeModifImportante","uuid","ref","VocabulaireDivisionEuclidienne","Exercice","QuestionsDisponibles","range","enleveElementNo","contraindreValeur","QuestionsDisponibles2","i","enleveElement","ChoixReponses","ChoixQuestions","combinaisonListes2","combinaisonListes","ReponsesCorrectes","Nbutilises","texte","texteCorr","cpt","randint","min","max","TabCorrection","texNombre","TabEgaliteDivEuclidienne","EgaliteDivEuclidienne","choice","rangeMinMax","numAlpha","kk","texteEnCouleurEtGras","mod","ajouteChampTexteMathLive","setReponse","context","listeQuestionsToContenu"],"mappings":"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"}