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/5L10-MaRCXgCh.js.map
{"version":3,"file":"5L10-MaRCXgCh.js","sources":["../../src/exercices/5e/5L10.js"],"sourcesContent":["import { choice } from '../../lib/outils/arrayOutils'\nimport { deprecatedTexFraction } from '../../lib/outils/deprecatedFractions.js'\nimport Exercice from '../Exercice.js'\nimport { gestionnaireFormulaireTexte, listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { propositionsQcm } from '../../lib/interactif/qcm.js'\nimport { miseEnEvidence } from '../../lib/outils/embellissements'\nexport const amcReady = true\nexport const amcType = 'qcmMult'\nexport const interactifReady = true\nexport const interactifType = 'qcm'\n\nexport const titre = 'Write a literal expression'\n\nexport const dateDeModifImportante = '19/11/2023'\n\n/**\n* Écrire une expression littérale à partir d'une phrase :\n* * Double, triple, moitié, tiers, quart\n* * Successeur, prédécesseur\n* * Carré, cube, opposé, inverse\n* * Somme, produit, quotient\n* * Nombre pair, nombre impair, multiple d'un nombre donné\n* @author Rémi Angot\n* Ajout de la possibilité de ne pas poser de question sur l'inverse d'un nombre par Guillaume Valmont le 11/05/2022\n* Ajout de la possibilité de choisir séparément chaque cas par Eric Elter le 19/11/2023\n*/\nexport const uuid = '3c1f7'\nexport const ref = '5L10'\nexport default function ÉcrireUneExpressionLitterale () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.nbQuestions = 4\n  this.nbCols = 1\n  this.nbColsCorr = 1\n  this.besoinFormulaireCaseACocher = ['Include the inverse of a number']\n  this.sup = true\n  this.sup2 = 19\n\n  this.nouvelleVersion = function () {\n    this.autoCorrection = []\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n\n    const listeTypeDeQuestions = gestionnaireFormulaireTexte({\n      max: 18,\n      defaut: 19,\n      melange: 19,\n      nbQuestions: this.nbQuestions,\n      saisie: this.sup2,\n      exclus: this.sup ? [] : [10] // Pour le choix qui existait précédemment de pouvoir supprimer l'inverse de la liste\n    })\n\n    for (let i = 0, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      this.autoCorrection[i] = {}\n      const lettresDisponibles = ['x', 'y', 'z', 't', 'a', 'b', 'c', 'n', 'm']\n      const x = choice(lettresDisponibles)\n      const y = choice(lettresDisponibles, x)\n      const k = randint(2, 10)\n      switch (listeTypeDeQuestions[i]) {\n        case 1: // 2x\n          texte = `Express twice $${x}$ as a function of $${x}$.`\n          texteCorr = `The double of $${x}$ can be written as: $${miseEnEvidence(`2${x}`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$2\\\\times ${x}$`,\n              statut: true,\n              feedback: 'Correct but not simplified.'\n            },\n            {\n              texte: `$2${x}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}+${x}$`,\n              statut: true,\n              feedback: 'Correct but not simplified.'\n            },\n            {\n              texte: `$2+${x}$`,\n              statut: false,\n              feedback: 'You confused sum and product.'\n            },\n            {\n              texte: `$${x}^2$`,\n              statut: false,\n              feedback: 'You confused the double and the square.'\n            },\n            {\n              texte: `$${x}2$`,\n              statut: false,\n              feedback: 'This entry is incorrect.'\n            }\n          ]\n          break\n        case 2: // 3x\n          texte = `Express triple $${x}$ as a function of $${x}$.`\n          texteCorr = `The triple of $${x}$ can be written as: $${miseEnEvidence(`3${x}`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$3\\\\times ${x}$`,\n              statut: true,\n              feedback: 'Correct but not simplified.'\n            },\n            {\n              texte: `$3${x}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}+2${x}$`,\n              statut: true,\n              feedback: 'Correct but not simplified.'\n            },\n            {\n              texte: `$3+${x}$`,\n              statut: false,\n              feedback: 'You confused sum and product.'\n            },\n            {\n              texte: `$${x}^3$`,\n              statut: false,\n              feedback: 'You confused the triple and the cube.'\n            },\n            {\n              texte: `$${x}3$`,\n              statut: false,\n              feedback: 'This entry is incorrect.'\n            }\n          ]\n          break\n        case 3: // x/2\n          texte = `Express half of $${x}$ as a function of $${x}$.`\n          texteCorr = `Half of $${x}$ can be written as: $${miseEnEvidence(`${deprecatedTexFraction(x, 2)}`)}$ or $${miseEnEvidence(`${x}\\\\div 2`)}$ or $${miseEnEvidence(`0.5${x}`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$${x}\\\\div 2$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$\\\\dfrac{${x}}{2}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$0.5${x}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}-2$`,\n              statut: false,\n              feedback: 'You confused quotient and difference.'\n            },\n            {\n              texte: `$\\\\dfrac{1}{2}+${x}$`,\n              statut: false,\n              feedback: 'You confused multiplying by $\\\\dfrac{1}{2}$ and adding $\\\\dfrac{1}{2}$.'\n            },\n            {\n              texte: `$${x}\\\\div 0.5$`,\n              statut: false,\n              feedback: 'This means multiplying by $2$, not dividing by $2$.'\n            }\n          ]\n          break\n        case 4: // x/4\n          texte = `Express quarter of $${x}$ as a function of $${x}$.`\n          texteCorr = `The quarter of $${x}$ can be noted: $${miseEnEvidence(`${deprecatedTexFraction(x, 4)}`)}$ or $${miseEnEvidence(`${x}\\\\div 4`)}$ or $${miseEnEvidence(`0,25${x}`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$${x}\\\\div 4$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$\\\\dfrac{${x}}{4}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$0.25${x}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}-\\\\dfrac{1}{4}$`,\n              statut: false,\n              feedback: 'You confused quotient and difference.'\n            },\n            {\n              texte: `$\\\\dfrac{1}{4}+${x}$`,\n              statut: false,\n              feedback: 'You confused multiplying by $\\\\dfrac{1}{4}$ and adding $\\\\dfrac{1}{4}$.'\n            },\n            {\n              texte: `$${x}\\\\div 0.25$`,\n              statut: false,\n              feedback: 'This means multiplying by $4$, not dividing by $4$.'\n            }\n          ]\n          break\n        case 5: // x+1\n          texte = `$${x}$ being an integer, express the following integer in terms of $${x}$.`\n          texteCorr = `The successor of $${x}$ can be noted: $${miseEnEvidence(`${x}+1`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$1+${x}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}+1$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}+${x}$`,\n              statut: false,\n              feedback: 'The double is rarely next. Actually, it only happens for 1.'\n            },\n            {\n              texte: `$2${x}$`,\n              statut: false,\n              feedback: 'The double is rarely next. Actually, it only happens for 1.'\n            },\n            {\n              texte: `$${x}-1$`,\n              statut: false,\n              feedback: 'You confused next and previous.'\n            },\n            {\n              texte: `$${x}2$`,\n              statut: false,\n              feedback: 'This entry is incorrect.'\n            }\n          ]\n          break\n        case 6: // x-1\n          texte = `$${x}$ being an integer, express the previous integer in terms of $${x}$.`\n          texteCorr = `The predecessor of $${x}$ can be noted: $${miseEnEvidence(`${x}-1`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$${x}-1$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}+(-1)$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$1-${x}$`,\n              statut: false,\n              feedback: ''\n            },\n            {\n              texte: `$${x}-${x}$`,\n              statut: false,\n              feedback: 'That\\'s zero, it seems to me... so it only works for 1.'\n            },\n            {\n              texte: `$-1${x}$`,\n              statut: false,\n              feedback: 'You confused multiplying and adding.'\n            },\n            {\n              texte: `$${x}+1$`,\n              statut: false,\n              feedback: 'You confused previous and next.'\n            }\n          ]\n          break\n        case 7: // x^2\n          texte = `Express the square of $${x}$ as a function of $${x}$.`\n          texteCorr = `The square of $${x}$ can be written as: $${miseEnEvidence(`${x}^2`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$${x}${x}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}\\\\times ${x}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}^2$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}2$`,\n              statut: false,\n              feedback: 'This entry is incorrect.'\n            },\n            {\n              texte: `$2${x}$`,\n              statut: false,\n              feedback: 'You confused the square and the double.'\n            },\n            {\n              texte: `$${x}+2$`,\n              statut: false,\n              feedback: 'You have confused sum and power.'\n            }\n          ]\n          break\n        case 8: // x^3\n          texte = `Express the cube of $${x}$ as a function of $${x}$.`\n          texteCorr = `The cube of $${x}$ can be written: $${miseEnEvidence(`${x}^3`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$${x}${x}${x}$`,\n              statut: true,\n              feedback: 'Correct, but not simplified.'\n            },\n            {\n              texte: `$${x}\\\\times ${x}\\\\times ${x}$`,\n              statut: true,\n              feedback: 'Correct, but not simplified.'\n            },\n            {\n              texte: `$${x}^3$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}3$`,\n              statut: false,\n              feedback: 'This entry is incorrect.'\n            },\n            {\n              texte: `$3${x}$`,\n              statut: false,\n              feedback: 'You confused the cube and the triple.'\n            },\n            {\n              texte: `$${x}+3$`,\n              statut: false,\n              feedback: 'You have confused sum and power.'\n            }\n          ]\n          break\n        case 9: // -x\n          texte = `Express the opposite of $${x}$ in terms of $${x}$.`\n          texteCorr = `The opposite of $${x}$ can be noted: $${miseEnEvidence(`-${x}`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$-${x}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$-1\\\\times ${x}$`,\n              statut: true,\n              feedback: 'Correct, but not simplified.'\n            },\n            {\n              texte: `$${x}-1$`,\n              statut: false,\n              feedback: 'You confused multiplication and addition.'\n            },\n            {\n              texte: `$\\\\dfrac{1}{${x}}$`,\n              statut: false,\n              feedback: 'You confused opposite and inverse.'\n            },\n            {\n              texte: `$${x}$`,\n              statut: false,\n              feedback: 'This is only true for zero.'\n            },\n            {\n              texte: `$1-${x}$`,\n              statut: false,\n              feedback: \"It's one too many...\"\n            }\n          ]\n          break\n        case 10: // 1/x\n          texte = `Express the inverse of $${x}$ as a function of $${x}$.`\n          texteCorr = `The inverse of $${x}$ can be noted: $${miseEnEvidence(`${deprecatedTexFraction(1, x)}`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$\\\\dfrac{1}{${x}}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$-1\\\\times ${x}$`,\n              statut: false,\n              feedback: 'You confused inverse and opposite.'\n            },\n            {\n              texte: `$${x}-1$`,\n              statut: false,\n              feedback: 'You confused division and subtraction.'\n            },\n            {\n              texte: `$-${x}$`,\n              statut: false,\n              feedback: 'You confused inverse and opposite.'\n            },\n            {\n              texte: `$${x}$`,\n              statut: false,\n              feedback: 'This is only true for 1.'\n            },\n            {\n              texte: `$1-${x}$`,\n              statut: false,\n              feedback: 'You confused division and subtraction.'\n            }\n          ]\n          break\n        case 11: // x+k\n          texte = `Express the sum of $${x}$ and ${k} as a function of $${x}$.`\n          texteCorr = `The sum of $${x}$ and ${k} can be noted: $${miseEnEvidence(`${x}+${k}`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$${k}+${x}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}+${k}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${k}${x}$`,\n              statut: false,\n              feedback: 'You confused addition and multiplication.'\n            },\n            {\n              texte: `$${x}${k}$`,\n              statut: false,\n              feedback: 'This entry is incorrect.'\n            },\n            {\n              texte: `$${x}-${k}$`,\n              statut: false,\n              feedback: 'You confused sum and difference.'\n            },\n            {\n              texte: `$${k}\\\\times ${x}$`,\n              statut: false,\n              feedback: 'You confused sum and product.'\n            }\n          ]\n          break\n        case 12: // kx\n          texte = `Express the product of $${x}$ by ${k} as a function of $${x}$.`\n          texteCorr = `The product of $${x}$ by ${k} can be written as: $${miseEnEvidence(`${k}${x}`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$${k}${x}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${k}\\\\times ${x}$`,\n              statut: true,\n              feedback: 'Correct, but not simplified.'\n            },\n            {\n              texte: `$${k}+${x}$`,\n              statut: false,\n              feedback: 'You confused addition and multiplication.'\n            },\n            {\n              texte: `$${x}${k}$`,\n              statut: false,\n              feedback: 'This entry is incorrect.'\n            },\n            {\n              texte: `$${x}+${k}$`,\n              statut: false,\n              feedback: 'You confused sum and product.'\n            },\n            {\n              texte: `$${x}-${k}$`,\n              statut: false,\n              feedback: 'You confused sum and product.'\n            }\n          ]\n          break\n        case 15: // x/k\n          texte = `Express the quotient of $${x}$ by ${k} as a function of $${x}$.`\n          texteCorr = `The quotient of $${x}$ by ${k} can be written as: $${miseEnEvidence(`${deprecatedTexFraction(x, k)}`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$${x}\\\\div ${k}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$\\\\dfrac{${x}}{${k}}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${k}\\\\div ${x}$`,\n              statut: false,\n              feedback: \"It's the opposite.\"\n            },\n            {\n              texte: `$${x}\\\\times ${k}$`,\n              statut: false,\n              feedback: 'This entry is incorrect.'\n            },\n            {\n              texte: `$${x}+${k}$`,\n              statut: false,\n              feedback: 'You confused sum and quotient.'\n            },\n            {\n              texte: `$${x}-${k}$`,\n              statut: false,\n              feedback: 'You confused difference and quotient.'\n            }\n          ]\n          break\n        case 14: // k/x\n          texte = `Express the quotient of ${k} by $${x}$ as a function of $${x}$.`\n          texteCorr = `The quotient of ${k} by $${x}$ can be written: $${miseEnEvidence(`${deprecatedTexFraction(k, x)}`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$${k}\\\\div ${x}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$\\\\dfrac{${k}}{${x}}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}\\\\div ${k}$`,\n              statut: false,\n              feedback: \"It's the opposite.\"\n            },\n            {\n              texte: `$${k}\\\\times ${x}$`,\n              statut: false,\n              feedback: 'You confused product and quotient.'\n            },\n            {\n              texte: `$${x}\\\\times ${k}$`,\n              statut: false,\n              feedback: 'You confused product and quotient.'\n            },\n            {\n              texte: `$${k}-${x}$`,\n              statut: false,\n              feedback: 'You confused difference and quotient.'\n            }\n          ]\n          break\n        case 13: // xy\n          texte = `How can the product of $${x}$ and $${y}$ be noted?`\n          texteCorr = `The product of $${x}$ by $${y}$ can be written as $${miseEnEvidence(`${x}${y}`)}$.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$${y}${x}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${x}${y}$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${y}\\\\times ${x}$`,\n              statut: true,\n              feedback: 'Correct, but not simplified.'\n            },\n            {\n              texte: `$${x}+${y}$`,\n              statut: false,\n              feedback: 'You confused sum and product.'\n            },\n            {\n              texte: `$${y}+${x}$`,\n              statut: false,\n              feedback: 'You confused sum and product.'\n            },\n            {\n              texte: `$${x}-${y}$`,\n              statut: false,\n              feedback: 'You confused difference and product.'\n            }\n          ]\n          break\n        case 16: // pair\n          texte = 'Write a literal expression that represents an even number.'\n          texteCorr = `An even number can be written as $${miseEnEvidence('2n')}$ with $n$ a natural number.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: '$2n$',\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: '$2(n+1)$',\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: '$n+2$',\n              statut: false,\n              feedback: 'Is the number n even?'\n            },\n            {\n              texte: '$n-2$',\n              statut: false,\n              feedback: 'Is the number n even?'\n            },\n            {\n              texte: '$n\\\\div 2$',\n              statut: false,\n              feedback: 'Is the result an integer?'\n            },\n            {\n              texte: '$n^2$',\n              statut: false,\n              feedback: 'Is the square of an odd number even?'\n            }\n          ]\n          break\n        case 17: // impair\n          texte = 'Write a literal expression that represents an odd number.'\n          texteCorr = `An odd number can be written as $${miseEnEvidence('2n+1')}$ with $n$ a natural number.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: '$2n+1$',\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: '$n+1$',\n              statut: false,\n              feedback: 'What happens if n is an odd number?'\n            },\n            {\n              texte: '$n+3$',\n              statut: false,\n              feedback: 'What happens if n is an odd number?'\n            },\n            {\n              texte: '$3n$',\n              statut: false,\n              feedback: 'What if n is an even number?'\n            },\n            {\n              texte: '$n-1$',\n              statut: false,\n              feedback: 'What happens if n is an odd number?'\n            },\n            {\n              texte: '$n+7$',\n              statut: false,\n              feedback: 'What happens if n is an odd number?'\n            }\n          ]\n          break\n        case 18: // multiple de k\n          texte = `Write a literal expression that allows you to represent a multiple of ${k}.`\n          texteCorr = `A multiple of ${k} can be written as $${miseEnEvidence(`${k}n`)}$ with $n$ a natural number.`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$${k}n$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${k}\\\\times n$`,\n              statut: true,\n              feedback: 'Correct !'\n            },\n            {\n              texte: `$${k}+n$`,\n              statut: false,\n              feedback: 'You confused product and sum.'\n            },\n            {\n              texte: `$${k}-n$`,\n              statut: false,\n              feedback: 'You confused product and difference.'\n            },\n            {\n              texte: `$\\\\dfrac{${k}}{n}$`,\n              statut: false,\n              feedback: ''\n            },\n            {\n              texte: `$n-${k}$`,\n              statut: false,\n              feedback: 'You confused product and difference.'\n            }\n          ]\n          break\n      }\n      this.autoCorrection[i].enonce = `${texte}\\n`\n      if (this.questionJamaisPosee(i, texte)) { // Si la question n'a jamais été posée, on en créé une autre\n        if (this.interactif) {\n          texte += propositionsQcm(this, i).texte\n        }\n        this.listeQuestions.push(texte)\n        this.listeCorrections.push(texteCorr)\n        i++\n      }\n      cpt++\n    }\n    listeQuestionsToContenu(this)\n  }\n  this.besoinFormulaire2Texte = ['Type of questions', [\n    'Numbers separated by hyphens',\n    ' 1: Double',\n    ' 2: Triple',\n    ' 3: Half',\n    ' 4: Quarter',\n    ' 5: Next integer',\n    ' 6: Previous integer',\n    ' 7: Square',\n    ' 8: Cube',\n    ' 9: Opposite',\n    '10: Reverse',\n    '11: Sum of two numbers',\n    '12: Product of two numbers V1',\n    '13: Product of two numbers V2',\n    '14: Quotient of two numbers V1',\n    '15: Quotient of two numbers V2',\n    '16: Even number',\n    '17: Odd number',\n    '18: Multiple',\n    '19: Mixture'\n  ].join('\\n')\n  ]\n}\n"],"names":["amcReady","amcType","interactifReady","interactifType","titre","dateDeModifImportante","uuid","ref","ÉcrireUneExpressionLitterale","Exercice","listeTypeDeQuestions","gestionnaireFormulaireTexte","i","texte","texteCorr","cpt","lettresDisponibles","x","choice","y","k","randint","miseEnEvidence","deprecatedTexFraction","propositionsQcm","listeQuestionsToContenu"],"mappings":"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"}