File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/5C12-3-C0COR1G5.js.map
{"version":3,"file":"5C12-3-C0COR1G5.js","sources":["../../src/exercices/5e/5C12-3.ts"],"sourcesContent":["import { combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { miseEnEvidence } from '../../lib/outils/embellissements'\nimport { lettreDepuisChiffre, sp } from '../../lib/outils/outilString.js'\nimport { texNombre } from '../../lib/outils/texNombre'\nimport Exercice from '../deprecatedExercice.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { remplisLesBlancs } from '../../lib/interactif/questionMathLive'\nimport { context } from '../../modules/context.js'\nimport { ComputeEngine } from '@cortex-js/compute-engine'\nimport type { MathfieldElement } from 'mathlive'\n\nexport const titre = 'Using distributiveness for mental arithmetic'\nexport const interactifReady = true\nexport const interactifType = 'custom'\nexport const amcReady = true\nexport const amcType = 'AMCHybride'\nconst ce = new ComputeEngine()\nexport const dateDePublication = '26/11/2022'\nexport const dateDeModifImportante = '18/11/2023'\n// Modif EE : Passage en interactif donc passage en TS\n/**\n * Distributivité numérique\n * @author Sébastien LOZANO\n*/\n\nexport const uuid = '9103e'\nexport const ref = '5C12-3'\nclass DistributiviteNumerique extends Exercice {\n rep1: number[] = []\n rep2: number[] = []\n rep3: number[] = []\n rep4: number[] = []\n rep5: number[] = []\n typeQuestion: (1 | 2)[] = []\n exoCustomResultat: boolean\n constructor () {\n super()\n this.exoCustomResultat = true\n this.nbQuestions = 4 // Ici le nombre de questions\n this.sup = 3\n this.besoinFormulaireNumerique = ['Type of questions', 3, '1: In expanded form\\n2: In factored form\\n3: Combination']\n }\n\n nouvelleVersion () {\n this.listeQuestions = [] // tableau contenant la liste des questions\n this.listeCorrections = []\n const typesDeQuestionsDisponibles = this.sup === 3 ? [1, 2, 3, 4] : this.sup === 2 ? [3, 4] : [1, 2]\n const listeTypeDeQuestions = combinaisonListes(typesDeQuestionsDisponibles, this.nbQuestions)\n this.consigne = 'Use distributivity to calculate cleverly'\n const consigneAMC = this.consigne + 'the following expression:'\n this.consigne += this.nbQuestions === 1 ? 'the following expression.' : 'the following expressions.'\n\n // Some functions to factorize the code\n function avecLesPriorites (i:number, k:number, b:number, c:number, formeInitiale:string, operation:number) {\n let sortie:[string, number, number, number, number, number] = ['', 0, 0, 0, 0, 0]\n if (formeInitiale === 'factorized') {\n sortie = [`\n $\\\\textbf{Here it makes more sense to distribute first :}$<br>\n $${lettreDepuisChiffre(i + 1)}=${miseEnEvidence(k)}\\\\times ${operation === 1 ? texNombre(b + c, 0) : texNombre(b - c, 0)}$<br>\n $${lettreDepuisChiffre(i + 1)}=${miseEnEvidence(k)}\\\\times (${texNombre(b, 0)} ${operation === 1 ? `+ ${texNombre(c, 0)}` : `- ${texNombre(c, 0)}`})$<br>\n $${lettreDepuisChiffre(i + 1)}=${miseEnEvidence(k)}\\\\times ${texNombre(b, 0)} ${operation === 1 ? '+' : '-'} ${miseEnEvidence(k)}\\\\times ${texNombre(c, 0)}$<br>\n $${lettreDepuisChiffre(i + 1)}=${texNombre(k * b, 0)} ${operation === 1 ? '+' : '-'} ${texNombre(k * c, 0)}$<br>\n $${lettreDepuisChiffre(i + 1)}=${operation === 1 ? texNombre(k * b + k * c, 0) : texNombre(k * b - k * c, 0)}$\n `,\n b,\n c,\n k * b,\n k * c,\n operation === 1 ? k * b + k * c : k * b - k * c\n ]\n } else {\n sortie = [`\n $\\\\textbf{Here it makes more sense to factor first :}$<br>\n $${lettreDepuisChiffre(i + 1)}=${miseEnEvidence(k)}\\\\times ${texNombre(b, 0)} ${operation === 1 ? '+' : '-'} ${miseEnEvidence(k)}\\\\times ${texNombre(c, 0)}$<br>\n $${lettreDepuisChiffre(i + 1)}=${miseEnEvidence(k)}\\\\times (${texNombre(b, 0)} ${operation === 1 ? `+ ${texNombre(c, 0)}` : `- ${texNombre(c, 0)}`})$<br>\n $${lettreDepuisChiffre(i + 1)}=${miseEnEvidence(k)}\\\\times ${operation === 1 ? texNombre(b + c, 0) : texNombre(b - c, 0)}$<br>\n $${lettreDepuisChiffre(i + 1)}=${operation === 1 ? texNombre(k * (b + c), 0) : texNombre(k * (b - c), 0)}$\n `,\n b,\n c,\n operation === 1 ? b + c : b - c,\n operation === 1 ? k * (b + c) : k * (b - c),\n 0]\n }\n return sortie\n }\n\n for (let i = 0, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n let texte = '' // Nous utilisons souvent cette variable pour construire le texte de la question.\n let texteCorr = '' // Idem pour le texte de la correction.\n // Choice of random parameters\n let k = 0\n let b, c\n let cinqChamps: boolean = false\n let correctionTableau:[string, number, number, number, number, number] = ['', 0, 0, 0, 0, 0]\n const puissance = [100, 1000]\n const ajoutRetrait = randint(1, 3)\n switch (listeTypeDeQuestions[i]) { // Chaque question peut être d'un type différent, ici 4 cas sont prévus...\n case 1: { // Calcul mental addition developpée initialement\n k = randint(47, 83)\n const choixIndicePuissance = randint(0, 1)\n c = ajoutRetrait\n b = puissance[choixIndicePuissance] - c\n texte = `$${lettreDepuisChiffre(i + 1)}=${k}\\\\times ${texNombre(b, 0)} + ${k}\\\\times ${c}$`\n correctionTableau = avecLesPriorites(i, k, b, c, 'developed', 1)\n cinqChamps = false\n this.typeQuestion[i] = 2\n break\n }\n case 2: { // Calcul mental soustraction developpée initialement\n k = randint(47, 83)\n const choixIndicePuissance = randint(0, 1)\n c = ajoutRetrait\n b = puissance[choixIndicePuissance] + c\n texte = `$${lettreDepuisChiffre(i + 1)}=${k}\\\\times ${texNombre(b, 0)} - ${k}\\\\times ${c}$`\n correctionTableau = avecLesPriorites(i, k, b, c, 'developed', -1)\n cinqChamps = false\n this.typeQuestion[i] = 2\n break\n }\n case 3: { // Calcul mental addition factorisée initialement\n k = randint(47, 83)\n const choixIndicePuissance = randint(0, 1)\n c = ajoutRetrait\n b = puissance[choixIndicePuissance] - c\n texte = `$${lettreDepuisChiffre(i + 1)}=${k}\\\\times ${texNombre(b + 2 * c, 0)}$`\n correctionTableau = avecLesPriorites(i, k, b + c, c, 'factorized', 1)\n cinqChamps = true\n this.typeQuestion[i] = 1\n break\n }\n case 4: { // Calcul mental soustraction factorisée initialement\n k = randint(47, 83)\n const choixIndicePuissance = randint(0, 1)\n c = ajoutRetrait\n b = puissance[choixIndicePuissance] + c\n texte = `$${lettreDepuisChiffre(i + 1)}=${k}\\\\times ${texNombre(b - 2 * c, 0)}$`\n correctionTableau = avecLesPriorites(i, k, b - c, c, 'factorized', -1)\n cinqChamps = true\n this.typeQuestion[i] = 1\n break\n }\n }\n texteCorr += correctionTableau[0]\n this.rep1[i] = correctionTableau[1]\n this.rep2[i] = correctionTableau[2]\n this.rep3[i] = correctionTableau[3]\n this.rep4[i] = correctionTableau[4]\n this.rep5[i] = correctionTableau[5]\n if (this.interactif) {\n if (cinqChamps) {\n const code = sp(2) + remplisLesBlancs(this, i, `= ${texNombre(k, 0)} \\\\times %{place1} ${listeTypeDeQuestions[i] % 2 === 1 ? '+' : '-'} ${texNombre(k, 0)} \\\\times %{place2} = %{place3} ${listeTypeDeQuestions[i] % 2 === 1 ? '+' : '-'} %{place4} = %{place5}`, 'ml-2')\n texte += code\n } else {\n const code = sp(2) + remplisLesBlancs(this, i, ` = ${texNombre(k, 0)} \\\\times (%{place1} ${listeTypeDeQuestions[i] % 2 === 1 ? '+' : '-'} %{place2}) = ${texNombre(k, 0)} \\\\times %{place3} = %{place4}`, 'ml-2')\n texte += code\n }\n }\n\n if (this.questionJamaisPosee(i, texte)) {\n // If the question has never been asked, we store it in the list of questions\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n if (context.isAmc) {\n this.autoCorrection[i] = {\n enonce: '',\n enonceAvant: true,\n propositions: [\n {\n type: 'AMCOpen',\n propositions: [{\n enonce: consigneAMC + texte + '<br>',\n texte: texteCorr,\n statut: 3,\n pointilles: false,\n multicolsBegin: true\n }]\n },\n {\n type: 'AMCNum',\n propositions: [{\n texte: '',\n statut: '',\n multicolsEnd: true,\n reponse: {\n texte: 'Detail the calculations in the left box and give the result below.',\n valeur: cinqChamps ? [correctionTableau[5]] : [correctionTableau[4]],\n param: {\n digits: 1,\n decimals: 0,\n signe: false,\n approx: 0\n }\n }\n }]\n }\n ]\n }\n }\n i++\n }\n cpt++\n }\n listeQuestionsToContenu(this) // On envoie l'exercice à la fonction de mise en page\n }\n\n correctionInteractive = (i?: number) => {\n if (i === undefined) return ''\n if (this.answers === undefined) this.answers = {}\n const result: ('OK' | 'KO')[] = []\n const mf = document.querySelector(`#champTexteEx${this.numeroExercice}Q${i}`) as MathfieldElement\n this.answers[`Ex${this.numeroExercice}Q${i}`] = mf.getValue()\n const divFeedback = document.querySelector(`#feedbackEx${this.numeroExercice}Q${i}`) as HTMLDivElement\n const test1 = ce.parse(mf.getPromptValue('place1')).isSame(ce.parse(`${this.rep1[i]}`))\n const test2 = ce.parse(mf.getPromptValue('place2')).isSame(ce.parse(`${this.rep2[i]}`))\n const test3 = ce.parse(mf.getPromptValue('place3')).isSame(ce.parse(`${this.rep3[i]}`))\n const test4 = ce.parse(mf.getPromptValue('place4')).isSame(ce.parse(`${this.rep4[i]}`))\n mf.setPromptState('place1', test1 ? 'correct' : 'incorrect', true)\n mf.setPromptState('place2', test2 ? 'correct' : 'incorrect', true)\n mf.setPromptState('place3', test3 ? 'correct' : 'incorrect', true)\n mf.setPromptState('place4', test4 ? 'correct' : 'incorrect', true)\n if (this.typeQuestion[i] === 1) {\n const test5 = ce.parse(mf.getPromptValue('place5')).isSame(ce.parse(`${this.rep5[i]}`))\n mf.setPromptState('place5', test5 ? 'correct' : 'incorrect', true)\n if (test1 && test2 && test3 && test4) {\n result.push('OK')\n divFeedback.innerHTML = '😎'\n } else {\n result.push('KO')\n divFeedback.innerHTML = '☹️'\n }\n if (test5) {\n result.push('OK')\n } else {\n result.push('KO')\n }\n } else {\n if (test1 && test2 && test3) {\n result.push('OK')\n divFeedback.innerHTML = '😎'\n } else {\n result.push('KO')\n divFeedback.innerHTML = '☹️'\n }\n if (test4) {\n result.push('OK')\n } else {\n result.push('KO')\n }\n }\n return result\n }\n}\n\nexport default DistributiviteNumerique\n"],"names":["titre","interactifReady","interactifType","amcReady","amcType","ce","ComputeEngine","dateDePublication","dateDeModifImportante","uuid","ref","DistributiviteNumerique","Exercice","__publicField","i","result","mf","divFeedback","test1","test2","test3","test4","test5","typesDeQuestionsDisponibles","listeTypeDeQuestions","combinaisonListes","consigneAMC","avecLesPriorites","k","b","c","formeInitiale","operation","sortie","lettreDepuisChiffre","miseEnEvidence","texNombre","cpt","texte","texteCorr","cinqChamps","correctionTableau","puissance","ajoutRetrait","randint","choixIndicePuissance","code","sp","remplisLesBlancs","context","listeQuestionsToContenu"],"mappings":"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"}