File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/6C12-FV0_Z6eE.js.map
{"version":3,"file":"6C12-FV0_Z6eE.js","sources":["../../src/exercices/6e/6C12.js"],"sourcesContent":["import { choice, enleveElementNo } from '../../lib/outils/arrayOutils'\nimport { texteEnCouleurEtGras } from '../../lib/outils/embellissements'\nimport { arrondi, range, rangeMinMax, troncature } from '../../lib/outils/nombres'\nimport { numAlpha, sp } from '../../lib/outils/outilString.js'\nimport { prenomF } from '../../lib/outils/Personne'\nimport { texNombre3, texPrix } from '../../lib/outils/texNombre'\nimport Exercice from '../Exercice'\nimport { estentier, gestionnaireFormulaireTexte, listeQuestionsToContenu } from '../../modules/outils.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { context } from '../../modules/context.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const titre = 'Solve pricing issues with items'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const amcReady = true\nexport const amcType = 'AMCHybride'\n\n// Gestion de la date de publication initiale\nexport const dateDePublication = '02/11/2021'\n\n/**\n * Description didactique de l'exercice\n * À partir d'un prix, proposer différentes questions qui permettent de répondre, selon les questions,\n * soit de tête (*10), soit après un calcul posé (multiplication, addition ou soustraction),\n * soit après un calcul avec calculatrice (division)\n * Chacune de ces questions indépendantes trouve de l'intérêt par le choix de l'opération à effectuer\n * et donc à donner du sens à chacune des opérations.\n * @author Eric Elter (ES6 : Loïc Geeraerts)\n * Référence 6C12 - Exercice aisément adaptable pour les CM.\n * Date octobre 2021\n */\n\nexport const uuid = '28d56'\nexport const ref = '6C12'\nexport default class QuestionsPrix extends Exercice {\n constructor () {\n super()\n // this.consigne = 'Answer the following questions.' // Modified instruction, lower, inside the function\n this.nbQuestionsModifiable = true\n this.nbQuestions = 1\n this.sup = 9\n this.sup2 = false\n this.sup3 = false\n this.sup4 = 3\n this.tailleDiaporama = 3 // Pour les exercices chronométrés. 50 par défaut pour les exercices avec du texte\n this.video = '' // Id YouTube ou url\n this.interactifType = 'mathLive'\n\n this.besoinFormulaireTexte = ['Choice of questions', 'Numbers separated by hyphens\\n1: Multiplication of the price by 10 or 100\\n2: Multiplication of the price by an integer between 3 and 9\\n3: Sum of the price with another price\\n4: Difference of the price with another price\\n5 : Price of the sum of two different quantities of the same item\\n6: Price of the difference of two different quantities of the same item\\n7: Division of the price by 10\\n8: Division of the price by an integer between 3 and 9\\n9: All questions\\n']\n this.besoinFormulaire2CaseACocher = ['Random order of questions']\n this.besoinFormulaire3CaseACocher = ['Whole unit price']\n if (context.isAmc) {\n this.besoinFormulaire4Numerique = ['AMC Choice', 3, '1: Check boxes to note each question\\n2: A free text of answers for each question\\n3: Both at the same time\\n']\n }\n }\n\n nouvelleVersion () {\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n this.autoCorrection = []\n for (let i = 0, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n const QuestionsDisponibles = gestionnaireFormulaireTexte({\n max: 8,\n defaut: 9,\n nbQuestions: 999,\n melange: 9,\n saisie: this.sup,\n shuffle: this.sup2,\n enleveDoublons: true\n })\n\n const Chiffres = range(9, [0])\n const TabPrixUnitaire = []\n const TabAutrePrix = []\n for (let kk = 0; kk < 3; kk++) {\n TabPrixUnitaire[kk] = choice(Chiffres, TabPrixUnitaire)\n TabAutrePrix[kk] = choice(Chiffres, TabAutrePrix)\n }\n (QuestionsDisponibles.length === 1 & this.nbQuestions === 1) ? this.consigne = 'Answer the following question.' : this.consigne = 'Answer the following questions.'\n let PrixUnitaire\n let AutrePrix\n let PrixReduction\n if (this.sup3) {\n PrixUnitaire = arrondi(10 * choice([1, 2]) + TabPrixUnitaire[0], 0)\n AutrePrix = arrondi(10 * TabAutrePrix[0] + TabAutrePrix[1], 0)\n PrixReduction = arrondi(choice(rangeMinMax(5, arrondi(PrixUnitaire / 2, 0)), 0))\n } else {\n PrixUnitaire = arrondi(10 * choice([1, 2]) + TabPrixUnitaire[0] + 0.1 * TabPrixUnitaire[1] + 0.01 * TabPrixUnitaire[2])\n AutrePrix = arrondi(10 * choice([1, 2]) + TabAutrePrix[0] + 0.1 * TabAutrePrix[1] + 0.01 * TabAutrePrix[2])\n PrixReduction = arrondi(choice(rangeMinMax(101, arrondi(50 * PrixUnitaire, 0))) / 100, 2)\n }\n const quidame = prenomF()\n const FamilleH = ['father', 'brother', 'cousin', 'grandfather', 'uncle', 'neighbor']\n const Personnage1 = choice(FamilleH)\n const FamilleF = ['mother', 'sister', 'cousin', 'Grandmother', 'aunt', 'neighbor']\n const Personnage2 = choice(FamilleF)\n const Objets = [\n 'A', 'video game', 'video games', 'the',\n 'A', 'pants', 'pants', 'the',\n 'a', 'cap', 'caps', 'the',\n 'a', \"collector's card\", 'collectible cards', 'the',\n 'A', 'toy', 'toys', 'the',\n 'A', 'book', 'books', 'the',\n 'a', 'towel', 'napkins', 'this'\n ]\n const NumArticle = choice(range(6))\n const ArticleIndef = Objets[4 * NumArticle]\n const ArticleSingulier = Objets[4 * NumArticle + 1]\n const ArticlePluriel = Objets[4 * NumArticle + 2]\n const ArticleDemonst = Objets[4 * NumArticle + 3]\n const NbArticles = choice(rangeMinMax(3, 9))\n const NbArticles2 = choice(rangeMinMax(3, 9), [NbArticles])\n const NbArticles3 = choice(rangeMinMax(11, 19), [NbArticles + NbArticles2, NbArticles2 + NbArticles2]) - NbArticles2\n const NbArticles4 = choice(rangeMinMax(3, 9), [NbArticles, NbArticles2, NbArticles3])\n const NbArticles5 = choice(rangeMinMax(2, 9), [NbArticles, NbArticles2, NbArticles3, NbArticles4, NbArticles + NbArticles4, NbArticles2 + NbArticles4, NbArticles3 + NbArticles4, NbArticles4 + NbArticles4]) + NbArticles4\n const DixOuCent = choice([10, 100])\n const Nbpartage = choice(rangeMinMax(2, 8))\n const propositionsAMC = [] // Ce tableau contiendra tous les propositions d'AMC hybride\n let enonceAMC\n let correctionAMC\n let reponseAMC\n let digitAMC\n let decimalesAMC\n let lignesAMC\n let alignementAMC\n let sanscadreAMC\n const enonceAMCInit = `${quidame} identifies ${ArticlePluriel} in an advertising magazine at $${texPrix(PrixUnitaire)}$${sp()}€ per unit.<br>`\n texte = enonceAMCInit + '<br>'\n texteCorr = ''\n correctionAMC = ''\n for (let kk = 0; kk < QuestionsDisponibles.length; kk++) {\n if (QuestionsDisponibles.length > 1) { // Si une seule question, pas besoin de puces numerotees\n enonceAMC = numAlpha(kk)\n correctionAMC = numAlpha(kk)\n } else {\n enonceAMC = ''\n correctionAMC += ''\n }\n lignesAMC = 3\n digitAMC = this.sup3 ? 3 : 5\n switch (QuestionsDisponibles[kk]) {\n case 1:\n enonceAMC += `What would be the price of $${DixOuCent}$ ${ArticlePluriel}${sp()}?<br><br>`\n reponseAMC = arrondi(DixOuCent * PrixUnitaire)\n correctionAMC += ` $${DixOuCent} \\\\times ${texNombre3(PrixUnitaire)} = ${texNombre3(reponseAMC)}$<br>`\n correctionAMC += `The price of $${DixOuCent}$ ${ArticlePluriel} would be` + texteEnCouleurEtGras(`$${texPrix(reponseAMC)}$`) + `${sp()}€.<br><br>`\n lignesAMC = 1\n if (DixOuCent === 100) digitAMC++\n break\n case 2:\n enonceAMC += `What would be the price of $${NbArticles}$ ${ArticlePluriel}${sp()}?<br><br>`\n reponseAMC = arrondi(NbArticles * PrixUnitaire)\n correctionAMC += ` $${NbArticles} \\\\times ${texNombre3(PrixUnitaire)} = ${texNombre3(arrondi(NbArticles * PrixUnitaire))}$<br>`\n correctionAMC += `The price of $${NbArticles}$ ${ArticlePluriel} would be` + texteEnCouleurEtGras(`$${texPrix(reponseAMC)}$`) + `${sp()}€.<br><br>`\n break\n case 3:\n enonceAMC += `If ${quidame} purchased ${ArticleIndef} ${ArticleSingulier} at $${texPrix(PrixUnitaire)}$${sp()}€ per unit and then other items for $${texNombre3(AutrePrix)}$${sp()}€, what would be the final price${sp()}?<br><br>`\n reponseAMC = arrondi(PrixUnitaire + AutrePrix)\n correctionAMC += ` $${texNombre3(PrixUnitaire)} + ${texNombre3(AutrePrix)} = ${texNombre3(reponseAMC)}$<br>`\n correctionAMC += `If ${quidame} purchased ${ArticleIndef} ${ArticleSingulier} and other items for $${texPrix(AutrePrix)}$${sp()}€,`\n correctionAMC += 'the final price would be' + texteEnCouleurEtGras(`$${texPrix(reponseAMC)}$`) + `${sp()}€.<br><br>`\n break\n case 4:\n enonceAMC += `${quidame} has a $${texNombre3(PrixReduction)}$${sp()}€ discount voucher. If ${quidame} bought ${ArticleIndef} ${ArticleSingulier}, how much money would ${quidame} ultimately pay${sp()}?<br><br>`\n reponseAMC = arrondi(PrixUnitaire - PrixReduction)\n correctionAMC += ` $${texNombre3(PrixUnitaire)} - ${texNombre3(PrixReduction)} = ${texNombre3(reponseAMC)}$<br>`\n correctionAMC += `Thanks to its discount voucher, ${quidame} would only pay` + texteEnCouleurEtGras(`$${texPrix(reponseAMC)}$`) + `${sp()}€.<br><br>`\n break\n case 5:\n enonceAMC += `If ${quidame} bought $${NbArticles2}$ ${ArticlePluriel} and its ${Personnage1} also bought $${NbArticles3}$, how much money would they both pay to ${sp()}?<br><br>`\n reponseAMC = arrondi((NbArticles2 + NbArticles3) * PrixUnitaire)\n correctionAMC += ` $${NbArticles2} + ${NbArticles3} = ${NbArticles2 + NbArticles3}$<br>`\n correctionAMC += `${quidame} and its ${Personnage1} would buy $${NbArticles2 + NbArticles3}$ ${ArticlePluriel}.<br>`\n correctionAMC += `$${NbArticles2 + NbArticles3} \\\\times ${texNombre3(PrixUnitaire)} = ${texNombre3(reponseAMC)}$<br>`\n correctionAMC += `If ${quidame} and its ${Personnage1} bought $${NbArticles2 + NbArticles3}$ ${ArticlePluriel},`\n correctionAMC += 'the final price would be' + texteEnCouleurEtGras(`$${texPrix(reponseAMC)}$`) + `${sp()}€.<br><br>`\n break\n case 6:\n enonceAMC += `If ${quidame} bought $${NbArticles5}$ ${ArticlePluriel} but its ${Personnage2} offered to reimburse it for $${NbArticles4}$, how much money would ${quidame} spend${sp()}?<br><br>`\n reponseAMC = arrondi((NbArticles5 - NbArticles4) * PrixUnitaire)\n correctionAMC += `$${NbArticles5} - ${NbArticles4} = ${NbArticles5 - NbArticles4}$<br>`\n correctionAMC += `${quidame} would only pay $${NbArticles5 - NbArticles4}$ ${ArticlePluriel}.<br>`\n correctionAMC += `$${NbArticles5 - NbArticles4} \\\\times ${texNombre3(PrixUnitaire)} = ${texNombre3(reponseAMC)}$<br>`\n correctionAMC += `If ${quidame} bought $${NbArticles5}$ ${ArticlePluriel} but his ${Personnage2} offered to reimburse him $${NbArticles4}$,`\n correctionAMC += `${quidame} would spend` + texteEnCouleurEtGras(`$${texPrix(reponseAMC)}$`) + `${sp()}€.<br><br>`\n break\n case 7 :\n enonceAMC += `If ${quidame} decided to buy ${ArticleDemonst} ${ArticleSingulier} with $9$ friends, what minimum fair amount would they each have to give${sp()}?<br><br>`\n correctionAMC += '$1 + 9 = $10<br>'\n correctionAMC += 'The sharing would be between $10$ people.<br>'\n if (this.sup3) {\n reponseAMC = arrondi(PrixUnitaire / 10, 3)\n correctionAMC += `$${texNombre3(PrixUnitaire)} \\\\div 10 = ${texNombre3(reponseAMC)}$<br>`\n correctionAMC += `If ${quidame} shared ${ArticleDemonst} ${ArticleSingulier} with $9$ friends, each would give equally` + texteEnCouleurEtGras(`$${texPrix(reponseAMC)}$`) + `${sp()}€.<br><br>`\n } else {\n reponseAMC = troncature(arrondi(PrixUnitaire / 10, 3) + 0.01, 2)\n correctionAMC += `$${texNombre3(PrixUnitaire)} \\\\div 10 = ${texNombre3(arrondi(PrixUnitaire / 10, 3))}$ and $${texNombre3(troncature(arrondi(PrixUnitaire / 10, 3), 2))} < ${texNombre3(arrondi(PrixUnitaire / 10, 3))} < ${texNombre3(reponseAMC)}$<br>`\n correctionAMC += `If ${quidame} shared ${ArticleDemonst} ${ArticleSingulier} with $9$ friends, each would equally donate at least` + texteEnCouleurEtGras(`$${texPrix(reponseAMC)}$`) + `${sp()}€.<br><br>`\n }\n break\n case 8 :\n enonceAMC += `If ${quidame} decided to buy ${ArticleDemonst} ${ArticleSingulier} with $${Nbpartage}$ comrades, what minimum fair amount should they each give to ${sp()}?<br><br>`\n correctionAMC += `$1 + ${Nbpartage} = ${Nbpartage + 1}$<br>`\n correctionAMC += `Sharing would be between ${Nbpartage + 1} people.<br>`\n if (estentier(arrondi(PrixUnitaire * 100, 0) / (Nbpartage + 1))) {\n reponseAMC = arrondi(PrixUnitaire / (Nbpartage + 1), 3)\n correctionAMC += `$${texNombre3(PrixUnitaire)} \\\\div ${Nbpartage + 1} = ${texNombre3(reponseAMC)}$<br>`\n correctionAMC += `If ${quidame} shared ${ArticleDemonst} ${ArticleSingulier} with $${Nbpartage}$ comrades, each would give equally` + texteEnCouleurEtGras(`$${texPrix(reponseAMC)}$`) + `${sp()}€.<br><br>`\n } else {\n reponseAMC = troncature(arrondi(PrixUnitaire / (Nbpartage + 1), 3) + 0.01, 2)\n if (estentier(arrondi(PrixUnitaire * 1000, 0) / (Nbpartage + 1))) {\n correctionAMC += `$${texNombre3(PrixUnitaire)} \\\\div ${Nbpartage + 1} = ${texNombre3(arrondi(PrixUnitaire / (Nbpartage + 1), 3))}$ and $${texNombre3(troncature(arrondi(PrixUnitaire / (Nbpartage + 1), 3), 2))} < ${texNombre3(arrondi(PrixUnitaire / (Nbpartage + 1), 3))} < ${texNombre3(reponseAMC)}$<br>`\n } else {\n correctionAMC += `$${texNombre3(PrixUnitaire)} \\\\div ${Nbpartage + 1} \\\\approx ${texNombre3(arrondi(PrixUnitaire / (Nbpartage + 1), 3))}$ and $${texNombre3(troncature(arrondi(PrixUnitaire / (Nbpartage + 1), 3), 2))} < ${texNombre3(arrondi(PrixUnitaire / (Nbpartage + 1), 3))} < ${texNombre3(reponseAMC)}$<br>`\n }\n correctionAMC += `If ${quidame} shared ${ArticleDemonst} ${ArticleSingulier} with $${Nbpartage}$ comrades, each would equally give at least` + texteEnCouleurEtGras(`$${texPrix(reponseAMC)}$`) + `${sp()}€.<br><br>`\n }\n break\n } // fin du switch\n if (!context.isAmc) {\n texte += enonceAMC\n texteCorr += correctionAMC\n }\n if (this.interactif && !context.isAmc) {\n texte += ajouteChampTexteMathLive(this, 8 * i + kk, 'inline largeur25', { texteApres: ' €' }) + '<br><br>'\n setReponse(this, 8 * i + kk, reponseAMC)\n }\n if (context.isAmc) {\n if (kk === 0) enonceAMC = enonceAMCInit + enonceAMC\n enonceAMC += this.sup4 === 1 ? 'Code the answer by darkening the correct boxes.' : this.sup4 === 2 ? 'First of all, indicate the calculation and carry it out in your head or in the box below.' : 'First indicate the calculation below and do it in your head or on this sheet. Then code the answer by darkening the correct boxes.'\n decimalesAMC = this.sup3 ? 0 : 2\n alignementAMC = this.sup4 === 1 ? 'center' : 'flushright'\n sanscadreAMC = !(this.sup4 === 2)\n propositionsAMC[2 * kk] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: correctionAMC,\n statut: lignesAMC,\n enonce: enonceAMC,\n sanscadre: sanscadreAMC\n }\n ]\n }\n propositionsAMC[2 * kk + 1] = {\n type: 'AMCNum',\n propositions:\n [\n {\n texte: (this.sup4 === 1) ? correctionAMC : '',\n statut: '',\n alignement: alignementAMC,\n reponse:\n {\n texte: (this.sup4 === 1) ? enonceAMC : '',\n valeur: [reponseAMC],\n param:\n {\n digits: digitAMC,\n decimals: decimalesAMC,\n signe: false\n }\n }\n }\n ]\n }\n }\n }\n if (this.sup4 === 1) {\n for (let kk = arrondi(propositionsAMC.length / 2); kk >= 0; kk--) {\n enleveElementNo(propositionsAMC, 2 * kk)\n }\n } else if (this.sup4 === 2) {\n for (let kk = arrondi(propositionsAMC.length / 2); kk >= 0; kk--) {\n enleveElementNo(propositionsAMC, 2 * kk + 1)\n }\n }\n if (this.questionJamaisPosee(i, PrixUnitaire)) {\n if (context.isAmc) {\n this.autoCorrection[i] = {\n propositions: propositionsAMC,\n enonceAvant: false\n }\n }\n // If the question has never been asked, we create another one\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n i++\n }\n cpt++\n } // fin du for\n\n listeQuestionsToContenu(this)\n }\n}\n"],"names":["titre","interactifReady","interactifType","amcReady","amcType","dateDePublication","uuid","ref","QuestionsPrix","Exercice","context","i","texte","texteCorr","cpt","QuestionsDisponibles","gestionnaireFormulaireTexte","Chiffres","range","TabPrixUnitaire","TabAutrePrix","kk","choice","PrixUnitaire","AutrePrix","PrixReduction","arrondi","rangeMinMax","quidame","prenomF","Personnage1","Personnage2","Objets","NumArticle","ArticleIndef","ArticleSingulier","ArticlePluriel","ArticleDemonst","NbArticles","NbArticles2","NbArticles3","NbArticles4","NbArticles5","DixOuCent","Nbpartage","propositionsAMC","enonceAMC","correctionAMC","reponseAMC","digitAMC","decimalesAMC","lignesAMC","alignementAMC","sanscadreAMC","enonceAMCInit","texPrix","sp","numAlpha","texNombre3","texteEnCouleurEtGras","troncature","estentier","ajouteChampTexteMathLive","setReponse","enleveElementNo","listeQuestionsToContenu"],"mappings":"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"}