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/3A10-5-e9ShCyVL.js.map
{"version":3,"file":"3A10-5-e9ShCyVL.js","sources":["../../src/exercices/3e/3A10-5.js"],"sourcesContent":["import { sp } from '../../lib/outils/outilString.js'\nimport { texNombre } from '../../lib/outils/texNombre.js'\nimport Exercice from '../Exercice.js'\nimport { contraindreValeur, gestionnaireFormulaireTexte, listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\nimport { choice } from '../../lib/outils/arrayOutils'\nimport { miseEnEvidence } from '../../lib/outils/embellissements'\nimport { context } from '../../modules/context.js'\n\nexport const titre = 'Recourir à une décomposition en facteurs premiers dans des cas simples'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const amcReady = true\nexport const amcType = 'AMCOpen'\nexport const dateDePublication = '29/08/2022'\nexport const dateDeModifImportante = '27/09/2023'\n/**\n *\n * Attendus de 3e : Recourir à une décomposition en facteurs premiers dans des cas simples\n * @author Eric Elter\n */\n\nexport const uuid = 'eee79'\nexport const ref = '3A10-5'\nexport default function RecourirDecompositionFacteursPremiers () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.nbQuestions = 4\n  this.besoinFormulaireTexte = ['Nombres premiers utilisés ', 'Nombres séparés par des tirets\\n1 : 2, 3 et 5\\n2 : 2, 3 et 7\\n3 : 2, 5 et 7\\n4 : 3, 5 et 7\\n5 : Au moins un nombre premier entre 10 et 20\\n6 : Mélange']\n  this.besoinFormulaire2Numerique = ['Puissance la plus élevée possible (entre 2 et 5)', 3]\n  this.sup = 6\n  this.tailleDiaporama = 2\n\n  function ecrireReponse (alpha, a, beta, b, gamma, c) {\n    let reponse = ''\n    let reponse2 = ''\n    if (a !== 0) {\n      reponse += `${alpha}`\n      reponse2 += `${alpha}`\n      if (a !== 1) {\n        for (let k = 1; k < a; k++) {\n          reponse += `\\\\times${alpha}`\n        }\n        reponse2 += `^${a}`\n      }\n    }\n    if (b !== 0) {\n      reponse += a === 0 ? '' : '\\\\times'\n      reponse2 += a === 0 ? '' : '\\\\times'\n      reponse += `${beta}`\n      reponse2 += `${beta}`\n      if (b !== 1) {\n        for (let k = 1; k < b; k++) {\n          reponse += `\\\\times${beta}`\n        }\n        reponse2 += `^${b}`\n      }\n    }\n    if (c !== 0) {\n      reponse += `\\\\times${gamma}`\n      reponse2 += `\\\\times${gamma}`\n      if (c !== 1) {\n        for (let k = 1; k < c; k++) {\n          reponse += `\\\\times${gamma}`\n        }\n        reponse2 += `^${c}`\n      }\n    }\n    return ([reponse, reponse2])\n  }\n\n  this.nouvelleVersion = function () {\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n    this.autoCorrection = []\n    this.sup2 = contraindreValeur(1, 3, parseInt(this.sup2), 3)\n    this.consigne = 'Décomposer en produit de facteurs premiers '\n    this.consigne += (this.nbQuestions === 1 || context.isAmc) ? 'le nombre suivant.' : 'les nombres suivants.'\n    if (this.interactif) this.consigne += '<br>Indiquer les facteurs par ordre croissant.'\n    const listeTypeDeQuestions = gestionnaireFormulaireTexte({\n      saisie: this.sup,\n      min: 1,\n      max: 5,\n      melange: 6,\n      defaut: 6,\n      nbQuestions: this.nbQuestions\n    })\n    const puissanceMax = contraindreValeur(2, 5, this.sup2, 3)\n    for (\n      let i = 0, texte, texteCorr, facteur1, facteur2, facteurX, solution, cpt = 0, a, b, c, nbADecomposer; i < this.nbQuestions && cpt < 50;) {\n      a = randint(0, puissanceMax)\n      b = randint(0, puissanceMax, a)\n      c = randint(0, puissanceMax, [a, b])\n      switch (listeTypeDeQuestions[i]) {\n        case 1: // 2, 3 et 5\n          nbADecomposer = Math.pow(2, a) * Math.pow(3, b) * Math.pow(5, c)\n          texte = `$${texNombre(nbADecomposer)}`\n          texteCorr = texte + `${sp(2)}=${sp(1)}` + miseEnEvidence(ecrireReponse(2, a, 3, b, 5, c)[0], 'blue') + `${sp(2)}=${sp(1)}` + miseEnEvidence(ecrireReponse(2, a, 3, b, 5, c)[1]) + '$'\n          texte += '$' + ajouteChampTexteMathLive(this, i, 'inline largeur25 nospacebefore', { texteAvant: `${sp(2)}=` })\n          setReponse(this, i, ecrireReponse(2, a, 3, b, 5, c), { formatInteractif: 'texte' })\n          break\n        case 2: // 2, 3 et 7\n          nbADecomposer = Math.pow(2, a) * Math.pow(3, b) * Math.pow(7, c)\n          texte = `$${texNombre(nbADecomposer)}`\n          texteCorr = texte + `${sp(2)}=${sp(1)}` + miseEnEvidence(ecrireReponse(2, a, 3, b, 7, c)[0], 'blue') + `${sp(2)}=${sp(1)}` + miseEnEvidence(ecrireReponse(2, a, 3, b, 7, c)[1]) + '$'\n          texte += '$' + ajouteChampTexteMathLive(this, i, 'inline largeur25 nospacebefore', { texteAvant: `${sp(2)}=` })\n          setReponse(this, i, ecrireReponse(2, a, 3, b, 7, c), { formatInteractif: 'texte' })\n          break\n        case 3: // 2, 5 et 7\n          nbADecomposer = Math.pow(2, a) * Math.pow(5, b) * Math.pow(7, c)\n          texte = `$${texNombre(nbADecomposer)}`\n          texteCorr = texte + `${sp(2)}=${sp(1)}` + miseEnEvidence(ecrireReponse(2, a, 5, b, 7, c)[0], 'blue') + `${sp(2)}=${sp(1)}` + miseEnEvidence(ecrireReponse(2, a, 5, b, 7, c)[1]) + '$'\n          texte += '$' + ajouteChampTexteMathLive(this, i, 'inline largeur25 nospacebefore', { texteAvant: `${sp(2)}=` })\n          setReponse(this, i, ecrireReponse(2, a, 5, b, 7, c), { formatInteractif: 'texte' })\n          break\n        case 4: // 3, 5 et 7\n          nbADecomposer = Math.pow(3, a) * Math.pow(5, b) * Math.pow(7, c)\n          texte = `$${texNombre(nbADecomposer)}`\n          texteCorr = texte + `${sp(2)}=${sp(1)}` + miseEnEvidence(ecrireReponse(3, a, 5, b, 7, c)[0], 'blue') + `${sp(2)}=${sp(1)}` + miseEnEvidence(ecrireReponse(3, a, 5, b, 7, c)[1]) + '$'\n          texte += '$' + ajouteChampTexteMathLive(this, i, 'inline largeur25 nospacebefore', { texteAvant: `${sp(2)}=` })\n          setReponse(this, i, ecrireReponse(3, a, 5, b, 7, c), { formatInteractif: 'texte' })\n          break\n        case 5: // 11, 13, 17 ou 19 et deux autres facteurs parmi 2, 3 et 5\n          facteur1 = choice([2, 3, 5])\n          facteur2 = choice([2, 3, 5], [facteur1])\n          if (facteur1 > facteur2) {\n            facteurX = facteur1\n            facteur1 = facteur2\n            facteur2 = facteurX\n          }\n          facteurX = choice([11, 13, 17, 19])\n          nbADecomposer = Math.pow(facteurX, 1) * Math.pow(facteur1, b) * Math.pow(facteur2, c)\n          texte = `$${texNombre(nbADecomposer)}`\n          solution = ecrireReponse(facteur1, b, facteur2, c, facteurX, 1)\n          texteCorr = texte + `${sp(2)}=${sp(1)}` + miseEnEvidence(solution[0], 'blue') + `${sp(2)}=${sp(1)}` + miseEnEvidence(solution[1]) + '$'\n          texte += '$' + ajouteChampTexteMathLive(this, i, 'inline largeur25 nospacebefore', { texteAvant: `${sp(2)}=` })\n          setReponse(this, i, solution, { formatInteractif: 'texte' })\n          break\n      }\n      if (this.questionJamaisPosee(i, texte)) {\n        // Si la question n'a jamais été posée, on en crée une autre\n        this.listeQuestions.push(texte)\n        this.listeCorrections.push(texteCorr)\n        if (context.isAmc) {\n          this.autoCorrection[i] = {\n            enonce: this.consigne.substring(0, this.consigne.length - 1) + ' : ' + texte + '.<br>',\n            propositions: [{ texte: texteCorr, statut: 1, feedback: '', sanscadre: false, pointilles: false }]\n          }\n        }\n        i++\n      }\n      cpt++\n    }\n    listeQuestionsToContenu(this)\n  }\n}\n"],"names":["titre","interactifReady","interactifType","amcReady","amcType","dateDePublication","dateDeModifImportante","uuid","ref","RecourirDecompositionFacteursPremiers","Exercice","ecrireReponse","alpha","a","beta","b","gamma","c","reponse","reponse2","k","contraindreValeur","context","listeTypeDeQuestions","gestionnaireFormulaireTexte","puissanceMax","texte","texteCorr","facteur1","facteur2","facteurX","solution","cpt","nbADecomposer","randint","texNombre","sp","miseEnEvidence","ajouteChampTexteMathLive","setReponse","choice","listeQuestionsToContenu"],"mappings":"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"}