File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/5N14-GwHdlgiu.js.map
{"version":3,"file":"5N14-GwHdlgiu.js","sources":["../../src/exercices/5e/5N14.js"],"sourcesContent":["import { choice, combinaisonListes, enleveElement } from '../../lib/outils/arrayOutils'\nimport { miseEnEvidence } from '../../lib/outils/embellissements'\nimport { obtenirListeFractionsIrreductibles } from '../../modules/fractions.js'\nimport Exercice from '../deprecatedExercice.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { propositionsQcm } from '../../lib/interactif/qcm.js'\nimport FractionEtendue from '../../modules/FractionEtendue.js'\nexport const interactifReady = true\nexport const interactifType = 'qcm'\nexport const amcReady = true\nexport const amcType = 'qcmMono'\nexport const titre = 'Compare two fractions (multiple denominators)'\n\n/**\n* Comparer deux fractions dont les dénominateurs sont multiples (avec un coefficient paramétrable qui est par défaut inférieur à 11)\n* @author Rémi Angot\n* 5N14\n* Ajout du paramètre d'inclusion de nombres négatifs le 14/08/2021 : Guillaume Valmont\n* rendu interactif + AMC par Jean-Claude Lhote\n*/\nexport const uuid = '234a7'\nexport const ref = '5N14'\nexport default function ExerciceComparerDeuxFractions (max = 11) {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.sup = max // Correspond au facteur commun\n this.consigne = 'Compare the following fractions.'\n this.spacing = 2\n this.spacingCorr = 2\n this.nbQuestions = 5\n this.nbColsCorr = 1\n this.sup2 = false\n\n this.nouvelleVersion = function () {\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n this.autoCorrection = []\n const listeSignes = combinaisonListes([-1, 1], this.nbQuestions)\n // We create a list of irreducible FractionExtents.\n const listeFractions = obtenirListeFractionsIrreductibles()\n for (let i = 0, positifOuNegatif, texte, texteCorr, signe, signe2; i < this.nbQuestions;) {\n this.autoCorrection[i] = {}\n if (this.sup2 === true) positifOuNegatif = listeSignes[i]\n else positifOuNegatif = 1\n const fractionAbsolue = choice(listeFractions)\n const k = randint(2, this.sup)\n let ecart = choice([-4, -3, -2, -1, 1, 2, 3, 4], [-k * fractionAbsolue.num, k * fractionAbsolue.num]) // On exclut -k * a pour ne pas avoir une fraction nulle\n if (k * fractionAbsolue.num + ecart <= 0) {\n ecart = ecart * (-1)\n }\n if (ecart > 0) {\n signe = '<'\n signe2 = '>'\n } else {\n signe = '>'\n signe2 = '<'\n }\n enleveElement(listeFractions, fractionAbsolue) // Il n'y aura pas 2 fois la même réponse\n const fraction = fractionAbsolue.multiplieEntier(positifOuNegatif)\n const autreFraction = new FractionEtendue(k * fraction.num + ecart, k * fraction.den)\n const ordreDesFractions = randint(1, 2)\n if (ordreDesFractions === 1) {\n texte = `$${fraction.texFSD} \\\\quad$ and $\\\\quad ${autreFraction.texFSD}$`\n } else {\n texte = `$${autreFraction.texFSD} \\\\quad$ and $\\\\quad ${fraction.texFSD}$`\n }\n if (!context.isHtml) {\n texte = texte.replace('\\\\quad$ and $\\\\quad', '\\\\ldots\\\\ldots\\\\ldots')\n }\n let signeAsurB\n if (fraction.signe < 0) signeAsurB = '-'\n else signeAsurB = ''\n texteCorr = `$${fraction.texFSD}= ${signeAsurB} \\\\dfrac{${Math.abs(fractionAbsolue.num).toString() + miseEnEvidence('\\\\times' + k.toString())}}{${Math.abs(fractionAbsolue.den).toString() + miseEnEvidence('\\\\times' + k.toString())}}=${fraction.reduire(k).texFSD}\\\\quad$`\n if (ordreDesFractions === 1) {\n texteCorr += ` and $\\\\quad${fraction.reduire(k).texFSD} ${signe} ${autreFraction.texFSD} \\\\quad$ therefore $\\\\quad ${fraction.texFSD} ${signe} ${autreFraction.texFSD}$`\n } else {\n texteCorr += ` and $\\\\quad${autreFraction.texFSD} ${signe2} ${fraction.reduire(k).texFSD} \\\\quad$ therefore $\\\\quad ${autreFraction.texFSD} ${signe2} ${fraction.texFSD} $`\n }\n this.autoCorrection[i] = {\n enonce: 'compare the following fractions:' + (ordreDesFractions < 2 ? `$${fraction.texFSD} \\\\quad$ and $\\\\quad ${autreFraction.texFSD}$` : `$${autreFraction.texFSD} \\\\quad$ and $\\\\quad ${fraction.texFSD}$`),\n propositions: [\n {\n texte: ordreDesFractions < 2 ? `$${fraction.texFSD} < ${autreFraction.texFSD}$` : `$${autreFraction.texFSD} < ${fraction.texFSD}$`,\n statut: ordreDesFractions < 2 ? ecart > 0 : ecart < 0\n },\n {\n texte: ordreDesFractions < 2 ? `$${fraction.texFSD} > ${autreFraction.texFSD}$` : `$${autreFraction.texFSD} >${fraction.texFSD}$`,\n statut: ordreDesFractions < 2 ? ecart < 0 : ecart > 0\n }\n ],\n options: { ordered: false }\n }\n\n if (this.interactif && !context.isAmc) {\n texte = propositionsQcm(this, i).texte\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 if (!context.isHtml) {\n this.canEnonce = 'Complete with $>$ or $<$.<br>'\n this.correction = this.listeCorrections[0]\n if (ordreDesFractions === 1) {\n this.canReponseACompleter = `$${fraction.texFSD}\\\\ldots${autreFraction.texFSD}$`\n } else {\n this.canReponseACompleter = `$${autreFraction.texFSD} \\\\ldots${fraction.texFSD}$`\n }\n }\n }\n listeQuestionsToContenu(this) // Espacement de 2 em entre chaque questions.\n }\n this.besoinFormulaireNumerique = ['Maximum value of the multiplier coefficient', 99999]\n this.besoinFormulaire2CaseACocher = ['Include negative numbers']\n}\n"],"names":["interactifReady","interactifType","amcReady","amcType","titre","uuid","ref","ExerciceComparerDeuxFractions","max","Exercice","listeSignes","combinaisonListes","listeFractions","obtenirListeFractionsIrreductibles","i","positifOuNegatif","texte","texteCorr","signe","signe2","fractionAbsolue","choice","k","randint","ecart","enleveElement","fraction","autreFraction","FractionEtendue","ordreDesFractions","context","signeAsurB","miseEnEvidence","propositionsQcm","listeQuestionsToContenu"],"mappings":"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"}