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/5R20-4-af7FmpZo.js.map
{"version":3,"file":"5R20-4-af7FmpZo.js","sources":["../../src/exercices/5e/5R20-4.js"],"sourcesContent":["import { choice, combinaisonListesSansChangerOrdre } from '../../lib/outils/arrayOutils'\nimport { texteEnCouleur } from '../../lib/outils/embellissements'\nimport { numAlpha } from '../../lib/outils/outilString.js'\nimport { prenomF, prenomM } from '../../lib/outils/Personne'\nimport { texPrix, texteGras } from '../../lib/format/style'\nimport Exercice from '../deprecatedExercice.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu, randint, calculANePlusJamaisUtiliser } from '../../modules/outils.js'\n\nexport const titre = 'Solve a problem using an algebraic sum of relatives'\n\n/**\n * * résoudre un problème additif avec des relatifs\n * @author Sébastien Lozano\n */\n\nexport const uuid = '6667e'\nexport const ref = '5R20-4'\nexport default function ProblemesAdditifsRelatifs5e () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.debug = false\n  this.sup = 1\n  if (this.debug) {\n    this.nbQuestions = 1\n  } else {\n    this.nbQuestions = 1\n  }\n\n  this.titre = titre\n  this.consigne = ''\n\n  this.nbCols = 1\n  this.nbColsCorr = 1\n  // this.nbQuestionsModifiable = false;\n  context.isHtml ? this.spacing = 2 : this.spacing = 1\n  context.isHtml ? this.spacingCorr = 2 : this.spacingCorr = 0.5\n\n  let typesDeQuestionsDisponibles\n\n  this.nouvelleVersion = function () {\n    if (this.debug) {\n      typesDeQuestionsDisponibles = [0]\n    } else {\n      // AvailableQuestionTypes = shuffle([choice([1,3]),choice([2,4]),0]);\n      typesDeQuestionsDisponibles = [0]\n    }\n\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n    this.autoCorrection = []\n\n    // AvailableQuestionTypes=[1];\n\n    // let listTypeOfQuestions = combinationLists(availablequestiontypes, this.nbQuestions) // All types of questions are asked but the order differs for each \"cycle\"\n    const listeTypeDeQuestions = combinaisonListesSansChangerOrdre(typesDeQuestionsDisponibles, this.nbQuestions) // Tous les types de questions sont posées --> à remettre comme ci-dessus\n\n    for (let i = 0, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      let gainPerteUnitaire // pour le gain/perte unitaire\n      let gainMultiple // pour le gain multiple\n      // we want multiples of 5 to only have half integers or integers\n      do {\n        gainPerteUnitaire = randint(10, 30)\n        gainMultiple = randint(10, 30)\n      } while (gainPerteUnitaire % 5 !== 0 || gainMultiple % 5 !== 0 || gainMultiple <= gainPerteUnitaire)\n\n      const nombreTotalDeLancers = randint(5, 10) // nombre totale de lancers\n      let nombreDeGainsUnitaires // nb de gains untitaires\n      let nombreDePertes // nb de pertes\n      do {\n        nombreDeGainsUnitaires = randint(2, 5)\n        nombreDePertes = randint(2, 5)\n      } while (nombreDeGainsUnitaires + nombreDePertes >= nombreTotalDeLancers)\n\n      // we sometimes exchange the number of unit gains and the number of losses to have a negative balance more often\n      if (nombreDePertes < nombreDeGainsUnitaires) {\n        if (randint(0, 1) === 0) {\n          const temp = nombreDePertes\n          nombreDePertes = nombreDeGainsUnitaires\n          nombreDeGainsUnitaires = temp\n        }\n      }\n\n      const prenoms = [[prenomF(), 'She', 'She'], [prenomM(), 'He', 'he']]\n      const currentPrenom = choice(prenoms)\n\n      // a function to write corrective strings\n      const myGainPerteString = function (nb, type, valeur) {\n        let sortie = ''\n        switch (type) {\n          case 'gain':\n            sortie = `(+\\\\$${texPrix(valeur)}~)`\n            for (let m = 1; m < nb; m++) {\n              sortie += `+(+\\\\$${texPrix(valeur)}~)`\n            }\n            break\n          case 'loss':\n            sortie = `(-${texPrix(valeur)}~)`\n            for (let m = 1; m < nb; m++) {\n              sortie += `+(-\\\\$${texPrix(valeur)}~)`\n            }\n            break\n        }\n        return sortie\n      }\n\n      // a function to say if the balance is positive or negative\n      const isBilanPositif = function (tot) {\n        if (tot >= 0) {\n          return true\n        } else {\n          return false\n        }\n      }\n\n      let bilan\n      if (isBilanPositif(calculANePlusJamaisUtiliser((nombreTotalDeLancers - nombreDeGainsUnitaires - nombreDePertes) * calculANePlusJamaisUtiliser(gainMultiple / 10)) + calculANePlusJamaisUtiliser(nombreDeGainsUnitaires * calculANePlusJamaisUtiliser(gainPerteUnitaire / 10)) - calculANePlusJamaisUtiliser(nombreDePertes * calculANePlusJamaisUtiliser(gainPerteUnitaire / 10)))) {\n        bilan = ['Overall, the amount of winnings', 'is greater than the amount of losses', `${texteEnCouleur('The results are therefore positive.')}`, 'won', texPrix(calculANePlusJamaisUtiliser((nombreTotalDeLancers - nombreDeGainsUnitaires - nombreDePertes) * calculANePlusJamaisUtiliser(gainMultiple / 10)) + calculANePlusJamaisUtiliser(nombreDeGainsUnitaires * calculANePlusJamaisUtiliser(gainPerteUnitaire / 10)) - calculANePlusJamaisUtiliser(nombreDePertes * calculANePlusJamaisUtiliser(gainPerteUnitaire / 10)))]\n      } else {\n        bilan = ['Overall, the amount of winnings', 'is less than the amount of losses', `${texteEnCouleur('The results are therefore negative.')}`, 'lost', texPrix((-1) * (calculANePlusJamaisUtiliser((nombreTotalDeLancers - nombreDeGainsUnitaires - nombreDePertes) * calculANePlusJamaisUtiliser(gainMultiple / 10)) + calculANePlusJamaisUtiliser(nombreDeGainsUnitaires * calculANePlusJamaisUtiliser(gainPerteUnitaire / 10)) - calculANePlusJamaisUtiliser(nombreDePertes * calculANePlusJamaisUtiliser(gainPerteUnitaire / 10))))]\n      }\n      // for situations\n      const situations = [\n        { // case 0 --> les quilles\n          nb_tot_lancers: nombreTotalDeLancers,\n          nb_gains_unitaires: nombreDeGainsUnitaires,\n          nb_pertes: nombreDePertes,\n          nb_gains: nombreTotalDeLancers - nombreDeGainsUnitaires - nombreDePertes,\n          perte: calculANePlusJamaisUtiliser(gainPerteUnitaire / 10),\n          gain_unitaire: calculANePlusJamaisUtiliser(gainPerteUnitaire / 10),\n          gain_multiple: calculANePlusJamaisUtiliser(gainMultiple / 10),\n          enonce_1: 'throw a ball at pins.',\n          enonce_2: '- If the ball hits several pins, the player wins',\n          enonce_3: '- If the ball only hits one pin, the player wins',\n          enonce_4: '- If the ball does not touch any pin, the player loses',\n          enonce_5: 'threw',\n          enonce_6: 'the ball',\n          correction_1: 'hit several pins',\n          correction_2: 'hit only one pin',\n          prenom: currentPrenom[0], // prenoms[choice([0,1])][0],\n          pronomMaj: currentPrenom[1], // prenoms[choice([0,1])][1],\n          pronomMin: currentPrenom[2], // prenoms[choice([0,1])][2],\n          bilan\n        }\n      ]\n\n      const enonces = []\n      let indexSousQuestion\n      let indexSousQuestionCorr\n      for (let k = 0; k < situations.length; k++) {\n        indexSousQuestion = 0\n        indexSousQuestionCorr = 0\n        enonces.push({\n          enonce: `A game consists of ${situations[k].enonce_1}<br>\n          ${situations[0].enonce_2} $\\\\$${texPrix(situations[0].gain_multiple)}~$.<br>\n          ${situations[0].enonce_3} $\\\\$${texPrix(situations[0].gain_unitaire)}~$.<br>\n          ${situations[0].enonce_4} $\\\\$${texPrix(situations[0].perte)}~$.<br>\n          ${situations[k].prenom} ${situations[k].enonce_5} $${situations[k].nb_tot_lancers}$ times ${situations[k].enonce_6}.<br>\n          ${situations[k].prenom} lost money $${situations[k].nb_pertes}$ times and won $${situations[k].nb_gains_unitaires}$ times $\\\\$${texPrix(situations[k].gain_unitaire)}~$.<br>\n          ${numAlpha(indexSousQuestion++)} Did ${situations[k].prenom} overall win or lose money?<br>\n          ${numAlpha(indexSousQuestion++)} How much did ${situations[k].prenom} overall won or lost?`,\n          question: '',\n          correction: `${situations[k].prenom} ${situations[k].enonce_5} $${situations[k].nb_tot_lancers}$ times ${situations[k].enonce_6}.<br>\n          On the $${situations[k].nb_tot_lancers}$ throws, we know how many times ${situations[k].prenom} lost money and how many times ${situations[k].prenom} won $\\\\$${texPrix(situations[k].gain_unitaire)}~$.<br>\n          The other throws therefore correspond to the number of times ${situations[k].prenom} has ${situations[k].correction_1} and won $\\\\$${texPrix(situations[k].gain_multiple)}~$.<br>\n          $${situations[k].nb_tot_lancers}-${situations[k].nb_pertes}-${situations[k].nb_gains_unitaires} = ${situations[k].nb_tot_lancers - situations[k].nb_pertes - situations[k].nb_gains_unitaires}$, ${situations[k].prenom} has therefore ${situations[k].correction_1} $${situations[k].nb_gains}$ times.<br>\n          ${texteGras(`${situations[k].prenom} has ${situations[k].correction_1}:`)}<br>\n          $${myGainPerteString(situations[k].nb_gains, 'gain', situations[k].gain_multiple)} = ${situations[k].nb_gains}\\\\times (+\\\\$${texPrix(situations[k].gain_multiple)}~) = (+\\\\$${texPrix(situations[k].nb_gains * situations[k].gain_multiple)}~$)<br>\n          ${texteGras(`${situations[k].prenom} has ${situations[k].correction_2}: `)}<br>\n          $${myGainPerteString(situations[k].nb_gains_unitaires, 'gain', situations[k].gain_unitaire)} = ${situations[k].nb_gains_unitaires}\\\\times (+\\\\$${texPrix(situations[k].gain_unitaire)}~) = (+\\\\$${texPrix(situations[k].nb_gains_unitaires * situations[k].gain_unitaire)}~$)<br>\n          ${texteGras('Losses:')}<br>\n          $${myGainPerteString(situations[k].nb_pertes, 'loss', situations[k].perte)} = ${situations[k].nb_pertes}\\\\times (-\\\\$${texPrix(situations[k].perte)}~) = (-\\\\$${texPrix(situations[k].nb_pertes * situations[k].perte)}~$)<br>\n          ${numAlpha(indexSousQuestionCorr++)} ${situations[k].bilan[0]} ${situations[k].bilan[1]}.<br>\n          ${situations[k].bilan[2]}<br>\n          ${numAlpha(indexSousQuestionCorr++)}$(+\\\\$${texPrix(situations[k].nb_gains * situations[k].gain_multiple)}~)+(+\\\\$${texPrix(situations[k].nb_gains_unitaires * situations[k].gain_unitaire)}~)+(-\\\\$${texPrix(situations[k].nb_pertes * situations[k].perte)}~ ) = (\\\\$${texPrix(situations[k].nb_gains * situations[k].gain_multiple + situations[k].nb_gains_unitaires * situations[k].gain_unitaire - situations[k].nb_pertes * situations[k].perte)}~)$<br>\n          ${texteEnCouleur(`Globalement, ${situations[k].prenom} ${situations[k].bilan[3]} $\\\\$${situations[k].bilan[4]}~$.`)}`\n        })\n      }\n\n      switch (listeTypeDeQuestions[i]) {\n        case 0:\n          texte = `${enonces[0].enonce}`\n          if (this.debug) {\n            texte += '<br>'\n            texte += `<br> =====CORRECTION======<br>${enonces[0].correction}`\n            texte += '             '\n            texteCorr = ''\n          } else {\n            texteCorr = `${enonces[0].correction}`\n          }\n          break\n      }\n\n      if (this.listeQuestions.indexOf(texte) === -1) { // 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.needNumericalForm = ['Difficulty level',2,\\\"1: Natural integers\\n2: Relative integers\\\"];\n  // this.needFormular2BoxCheck = [\"With quadratic expressions\"];\n}\n"],"names":["titre","uuid","ref","ProblemesAdditifsRelatifs5e","Exercice","context","typesDeQuestionsDisponibles","listeTypeDeQuestions","combinaisonListesSansChangerOrdre","i","texte","texteCorr","cpt","gainPerteUnitaire","gainMultiple","randint","nombreTotalDeLancers","nombreDeGainsUnitaires","nombreDePertes","temp","prenoms","prenomF","prenomM","currentPrenom","choice","myGainPerteString","nb","type","valeur","sortie","texPrix","m","isBilanPositif","tot","bilan","calculANePlusJamaisUtiliser","texteEnCouleur","situations","enonces","indexSousQuestion","indexSousQuestionCorr","k","numAlpha","texteGras","listeQuestionsToContenu"],"mappings":"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"}