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/betaTestcanPredef6_10qN1-MoBDRYL-.js.map
{"version":3,"file":"betaTestcanPredef6_10qN1-MoBDRYL-.js","sources":["../../src/exercices/beta/betaTestcanPredef6_10qN1.js"],"sourcesContent":["import { droiteGraduee } from '../../lib/2d/reperes.js'\nimport { choice, combinaisonListesSansChangerOrdre } from '../../lib/outils/arrayOutils'\nimport { texteEnCouleur } from '../../lib/outils/embellissements'\nimport { range1 } from '../../lib/outils/nombres'\nimport { prenomF } from '../../lib/outils/Personne'\nimport { texNombre } from '../../lib/outils/texNombre'\nimport Exercice from '../deprecatedExercice.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { calculANePlusJamaisUtiliser, listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const titre = 'CAN 6e 10 questions (niveau 1)'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\n\n// Les exports suivants sont optionnels mais au moins la date de publication semble essentielle\nexport const dateDePublication = '/11/2021' // La date de publication initiale au format 'jj/mm/aaaa' pour affichage temporaire d'un tag\n\n/**\n * @author Gilles Mora\n * Référence\n */\nexport default function Can10Questions6N1 () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.titre = titre\n  this.interactifReady = interactifReady\n  this.interactifType = interactifType\n  this.nbQuestions = 10\n  this.nbCols = 1\n  this.nbColsCorr = 1\n\n  this.nouvelleVersion = function () {\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n    let questions = []\n    if (!this.sup) {\n      // Si aucune question n'est sélectionnée\n      questions = combinaisonListesSansChangerOrdre(range1(10), this.nbQuestions)\n    } else {\n      if (typeof this.sup === 'number') {\n        // Si c'est un nombre c'est qu'il y a qu'une seule question\n        questions[0] = this.sup\n        this.nbQuestions = 1\n      } else {\n        questions = this.sup.split('-') // Sinon on créé un tableau à partir des valeurs séparées par des -\n        this.nbQuestions = questions.length\n      }\n    }\n    for (let i = 0; i < questions.length; i++) {\n      questions[i] = parseInt(questions[i]) - 1\n    }\n    const listeIndex = combinaisonListesSansChangerOrdre(questions, this.nbQuestions)\n    const typeQuestionsDisponibles = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']\n\n    for (let i = 0, texte, texteCorr, reponse, a, b, c, d, prenom1, maListe, fruits, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      switch (typeQuestionsDisponibles[listeIndex[i]]) {\n        case '1':\n          a = randint(2, 6)\n          b = randint(4, 6)\n          texte = `$${a} \\\\times ${b}$`\n          texteCorr = `$${a} \\\\times ${b}=${a * b}$`\n          reponse = a * b\n          setReponse(this, i, reponse, { formatInteractif: 'calcul' })\n          break\n        case '2':\n          a = randint(1, 5)\n          b = randint(1, 5)\n          c = randint(1, 3)\n          d = randint(1, 2)\n          reponse = d * 10 + b\n          texte = `$${c * 10 + a} + \\\\dots = ${calculANePlusJamaisUtiliser((c + d) * 10 + b + a)}$`\n          texteCorr = `On obtient le nombre cherché par la différence : $${calculANePlusJamaisUtiliser((c + d) * 10 + b + a)} - ${c * 10 + a} = ${reponse}$`\n          texteCorr += texteEnCouleur(`<br> Mentalement : <br>\n            On complète $${c * 10 + a}$ jusqu'à la dizaine la plus proche en ajoutant $${(c + 1) * 10 - (c * 10 + a)}$, on obtient $${(c + 1) * 10}$,\n            puis de $${(c + 1) * 10}$ à $${(c + d) * 10 + b + a}$, on ajoute encore $${(c + d) * 10 + b + a - (c + 1) * 10}$. <br>\n            Au total\n            on a donc ajouter $${(c + 1) * 10 - (c * 10 + a)}$ et  $${(c + d) * 10 + b + a - (c + 1) * 10}$ ce qui donne la réponse $${reponse}$.<br>\n              `)\n          reponse = d * 10 + b\n          setReponse(this, i, reponse, { formatInteractif: 'calcul' })\n          break\n\n        case '3':\n          a = randint(1, 6)\n          if (choice([true, false])) {\n            b = a * 8\n            reponse = a * 2\n            setReponse(this, i, reponse, { formatInteractif: 'calcul' })\n            texte = `Quel est le quart de $${b}$ ?`\n            texteCorr = `Le quart de $${b}$ est $${a * 2}.$`\n            texteCorr += texteEnCouleur(`<br> Mentalement : <br>\n            Prendre le quart d'une quantité revient à la diviser deux fois par $2$.<br>\n            Ainsi, le quart de $${b}$ est égal à $${b}\\\\div 2 \\\\div 2=${a * 4}\\\\div 2=${a * 2}$.\n               `)\n          } else {\n            b = a * 6\n            reponse = a * 2\n            setReponse(this, i, reponse, { formatInteractif: 'calcul' })\n            texte = `Quel est le tiers de $${b}$ ?`\n            texteCorr = `Le tiers de $${b}$ est $${a * 2}.$`\n            texteCorr += texteEnCouleur(`<br> Mentalement : <br>\n            Prendre le tiers d'une quantité revient à la diviser par $3$.<br>\n            Ainsi, le tiers de $${b}$ est égal à $${b}\\\\div 3=${a * 2}$.\n            \n            `)\n          }\n          break\n\n        case '4':\n          a = calculANePlusJamaisUtiliser(randint(2, 9) / 10)\n          b = choice([1, 10])\n          texte = `$${b}-${texNombre(a)}=$`\n          texteCorr = `$${b}-${texNombre(a)}=${texNombre(1 - a)}$`\n          reponse = calculANePlusJamaisUtiliser(b - a)\n          setReponse(this, i, reponse, { formatInteractif: 'calcul' })\n          if (b === 1) {\n            texteCorr += texteEnCouleur(`\n    <br> Mentalement : <br>\n    $1$ unité = $10$ dixièmes.<br>\n    On enlève $${texNombre(10 * a)}$ dixièmes à $10$ dixièmes, il en reste $${texNombre(10 * (1 - a))}$.<br>\n    Ainsi, $1-${texNombre(a)}=${texNombre(1 - a)}$.  `)\n          } else {\n            texteCorr += texteEnCouleur(`\n    <br> Mentalement : <br>\n    $10$ unités = $100$ dixièmes.<br>\n    On enlève $${texNombre(10 * a)}$ dixièmes à $100$ dixièmes, il en reste $${texNombre(10 * (10 - a))}$.<br>\n    Ainsi, $10-${texNombre(a)}=${texNombre(10 - a)}$.  `)\n          }\n          break\n\n        case '5':\n          a = randint(6, 9) // choix de la table = écart entre deux graduations\n          c = Math.floor(randint(10, 40) / a) * a // premier nombre.\n          maListe = []\n          for (let q = 0; q < 3; q++) {\n            maListe.push([c + a * q, texNombre(c + a * q)])\n          }\n          d = droiteGraduee({\n            Unite: 3 / a,\n            Min: c - a,\n            Max: c + 3 * a,\n            x: 0,\n            y: 0,\n            thickDistance: a,\n            thickSec: false,\n            thickOffset: 0,\n            axeStyle: '->',\n            pointListe: [[c + a * 3, 'A']],\n            labelListe: maListe,\n            pointCouleur: 'blue',\n            pointStyle: 'x',\n            labelsPrincipaux: false\n          })\n          reponse = c + 3 * a\n          texte = mathalea2d({\n            xmin: -1,\n            ymin: -1,\n            xmax: 15,\n            ymax: 2,\n            scale: 0.5\n          }, d) + 'Quel est le nombre écrit sous le point A ?'\n          texteCorr = `${texteEnCouleur('Comme les graduations vont de ' + a)} ${texteEnCouleur('en ' + a)} ${texteEnCouleur(', le nombre écrit sous le point $A$ correspond à ')} ${texteEnCouleur(c + 2 * a)} ${texteEnCouleur(' + ' + a)} ${texteEnCouleur('donc c\\'est ' + texNombre(c + 3 * a) + '.')}`\n          setReponse(this, i, reponse, { formatInteractif: 'calcul' })\n          break\n        case '6':\n          a = randint(2, 5)\n          b = randint(2, 9)\n          c = randint(2, 9)\n          reponse = calculANePlusJamaisUtiliser(a * 1000 + b * 10 + c * 100)\n          if (choice([true, false])) {\n            texte = `$${texNombre(a)}\\\\times 1000 + ${texNombre(b)}\\\\times 10 + ${texNombre(c)}\\\\times 100=$`\n            texteCorr = `$${texNombre(a)}\\\\times 1000 + ${texNombre(b)}\\\\times 10 + ${texNombre(c)}\\\\times 100 =${texNombre(reponse)}$`\n            texteCorr += texteEnCouleur(`<br> Mentalement : <br>\n      On décompose le calcul (milliers, centaines puis dizaines) : <br>\n      $\\\\bullet$ $${texNombre(a)}\\\\times 1000=${texNombre(a * 1000)}$.<br>\n      $\\\\bullet$ $${texNombre(c)}\\\\times 100=${texNombre(c * 100)}$.<br>\n      $\\\\bullet$ $${texNombre(b)}\\\\times 10=${texNombre(b * 10)}$.<br>\n      Ainsi,  <br>\n      $\\\\begin{aligned}\n    ${texNombre(a)}\\\\times 1000 + ${texNombre(b)}\\\\times 10 + ${texNombre(c)}\\\\times 100 &=${texNombre(a * 1000)}+${texNombre(c * 100)}+${texNombre(b * 10)}\\\\\\\\\n    &=${texNombre(reponse)}\n    \\\\end{aligned}$.`)\n          } else {\n            texte = `$ ${texNombre(c)}\\\\times 100+ ${texNombre(b)}\\\\times 10 + ${texNombre(a)}\\\\times 1000 =$`\n            texteCorr = `$ ${texNombre(c)}\\\\times 100+ ${texNombre(b)}\\\\times 10 + ${texNombre(a)}\\\\times 1000  =${texNombre(reponse)}$`\n            texteCorr += texteEnCouleur(`<br> Mentalement : <br>\n    On décompose le calcul (milliers, centaines puis dizaines) : <br>\n    $\\\\bullet$ $${texNombre(a)}\\\\times 1000=${texNombre(a * 1000)}$.<br>\n    $\\\\bullet$ $${texNombre(c)}\\\\times 100=${texNombre(c * 100)}$.<br>\n    $\\\\bullet$ $${texNombre(b)}\\\\times 10=${texNombre(b * 10)}$.<br>\n    Ainsi, <br>$\\\\begin{aligned}\n    ${texNombre(c)}\\\\times 100+ ${texNombre(b)}\\\\times 10 + ${texNombre(a)}\\\\times 1000 &=${texNombre(a)}\\\\times 1000 + ${texNombre(c)}\\\\times 100 + ${texNombre(b)}\\\\times 10\\\\\\\\\n    & =${texNombre(a * 1000)}+${texNombre(c * 100)}+${texNombre(b * 10)}\\\\\\\\\n    &=${texNombre(reponse)}\n    \\\\end{aligned}$. `)\n          }\n          setReponse(this, i, reponse, { formatInteractif: 'calcul' })\n          break\n        case '7':\n          a = randint(1, 3)\n          b = randint(10, 40)\n          d = calculANePlusJamaisUtiliser(a * 60 + b)\n          texte = `Compléter : <br> $${a}$ heures $${b}$ minutes $=$`\n          texteCorr = `Il y a $60$ minutes dans une heure.<br>\n      Comme $${a} \\\\times 60 + ${b}=${d}$ alors $${a}$h $${b}$min = $${d}$ minutes`\n          reponse = d\n          setReponse(this, i, reponse, { formatInteractif: 'calcul' })\n          break\n\n        case '8':\n          fruits = [\n            ['pêches', 4, 11, 19],\n            ['noix', 5, 4, 9],\n            ['cerises', 6, 11, 19],\n            ['pommes', 3, 21, 29],\n            ['framboises', 15, 1, 9],\n            ['fraises', 7, 6, 9],\n            ['citrons', 3, 15, 19],\n            ['bananes', 3, 15, 19]\n          ]\n          a = randint(0, 7)\n          b = fruits[a][1]\n          c = randint(fruits[a][2], fruits[a][3])\n          reponse = calculANePlusJamaisUtiliser(c / 5 * b)\n          texte = `$${texNombre(c / 10)}$ kg de ${fruits[a][0]} coûtent $${texNombre(c / 10 * b)}$ €,\n            combien coûtent $${texNombre(c / 5)}$ kg de ${fruits[a][0]} ?`\n          texteCorr = `On reconnaît une situation de proportionnalité : <br>\n            La masse de ${fruits[a][0]} est proportionnelle au prix.<br>\n            On remarque qu'on demande le prix pour une quantité double ($${texNombre(c / 5)}=2\\\\times ${texNombre(c / 10)}$).<br>\n            Ainsi, le prix à payer pour $${texNombre(c / 5)}$ kg de ${fruits[a][0]} est :  $${texNombre(c / 10 * b)} \\\\times 2 = ${texNombre(reponse)}$ €`\n          setReponse(this, i, reponse, { formatInteractif: 'calcul' })\n          break\n\n        case '9':\n          prenom1 = prenomF()\n          a = randint(11, 19)\n          b = randint(3, 7)\n          if (choice([true, false])) {\n            texte = `${prenom1} a $${a}$ ans. Elle a  $${b}$ ans de moins que sa sœur.<br>\n          Quel est l'âge de sa sœur ? `\n            texteCorr = `Puisque ${prenom1} a $${a}$ ans et qu'elle a $${b}$ ans de moins que sa sœur,\n          alors sa sœur a $${b}$ ans de plus qu'elle, soit $${a}+${b}=${a + b}$ ans.`\n            reponse = a + b\n          } else {\n            texte = `${prenom1} a $${a}$ ans. Elle a  $${b}$ ans de plus que sa sœur.<br>\n          Quel est l'âge de sa sœur ? `\n            texteCorr = `Puisque ${prenom1} a $${a}$ ans et qu'elle a $${b}$ ans de plus que sa sœur,\n          alors sa sœur a $${b}$ ans de moins qu'elle, soit $${a}-${b}=${a - b}$ ans.`\n            reponse = a - b\n          }\n\n          setReponse(this, i, reponse, { formatInteractif: 'calcul' })\n          break\n\n        case '10':\n          a = randint(6, 11)\n          b = randint(1, 5)\n          texte = `Le périmètre d'un rectangle de $${a}$ m de longueur $${b}$ m de largeur est : `\n          texteCorr = `Le périmètre d'un rectangle de longueur $L$ et de largeur $\\\\ell$ est donné par : $2\\\\times (L+\\\\ell)$.<br>\n          On applique avec $L=${a}$ et $\\\\ell=${b}$, on obtient :\n          $2(${a}+${b})=2\\\\times ${a + b}=${2 * a + 2 * b}$.`\n          reponse = 2 * (a + b)\n          setReponse(this, i, reponse, { formatInteractif: 'calcul' })\n          break\n      }\n      if (typeQuestionsDisponibles[listeIndex[i]] === '7') {\n        if (!this.interactif) {\n          texte += '.... minutes'\n        } else {\n          texte += ajouteChampTexteMathLive(this, i, 'inline largeur15') + 'min'\n        }\n      } else {\n        if (typeQuestionsDisponibles[listeIndex[i]] === '8') {\n          if (!this.interactif) {\n            texte += ''\n          } else {\n            texte += ajouteChampTexteMathLive(this, i, 'inline largeur15') + '€'\n          }\n        } else {\n          if (typeQuestionsDisponibles[listeIndex[i]] === '9') {\n            if (!this.interactif) {\n              texte += ''\n            } else {\n              texte += ajouteChampTexteMathLive(this, i, 'inline largeur15') + 'ans'\n            }\n          } else {\n            if (typeQuestionsDisponibles[listeIndex[i]] === '10') {\n              if (!this.interactif) {\n                texte += '... m'\n              } else {\n                texte += ajouteChampTexteMathLive(this, i, 'inline largeur15') + ' m'\n              }\n            } else {\n              texte += ajouteChampTexteMathLive(this, i, 'inline largeur15')\n            }\n          }\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}\n"],"names":["titre","interactifReady","interactifType","dateDePublication","Can10Questions6N1","Exercice","questions","combinaisonListesSansChangerOrdre","range1","i","listeIndex","typeQuestionsDisponibles","texte","texteCorr","reponse","a","b","c","d","prenom1","maListe","fruits","cpt","randint","setReponse","calculANePlusJamaisUtiliser","texteEnCouleur","choice","texNombre","q","droiteGraduee","mathalea2d","prenomF","ajouteChampTexteMathLive","listeQuestionsToContenu"],"mappings":"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"}