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/6P11-2-wgmToJVU.js.map
{"version":3,"file":"6P11-2-wgmToJVU.js","sources":["../../src/exercices/6e/6P11-2.js"],"sourcesContent":["import { tableau } from '../../lib/2d/tableau.js'\nimport { choice, combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { sp } from '../../lib/outils/outilString.js'\nimport { prenom } from '../../lib/outils/Personne'\nimport { texMasse, texPrix } from '../../lib/format/style'\nimport { stringNombre, texNombre } from '../../lib/outils/texNombre'\nimport { fixeBordures, mathalea2d } from '../../modules/2dGeneralites.js'\nimport { context } from '../../modules/context.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { Decimal } from 'decimal.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport Exercice from '../deprecatedExercice.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const titre = 'Solve proportionality problems with linearity (with or without a table)'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\n\nexport const dateDeModifImportante = '30/04/2023' // EE : Rajout de 2 paramètres\n\n/**\n * Résoudre un problème de proportionnalité avec linéarité via tableau\n * @MireilleGain, 30 mai 2021\n */\nexport const uuid = '65288'\nexport const ref = '6P11-2'\nexport default function ProportionnaliteParLineariteTableau () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.nbQuestions = 5\n  this.nbCols = 1 // Uniquement pour la sortie LaTeX\n  this.nbColsCorr = 1 // Uniquement pour la sortie LaTeX\n  this.sup = 4 // Niveau de difficulté\n  this.sup2 = false\n  this.sup3 = false\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\n  this.nouvelleVersion = function () {\n    this.consigne = `We consider that ${this.nbQuestions > 1 ? 'the' : 'there'} situation${this.nbQuestions > 1 ? 's' : ''} following${this.nbQuestions > 1 ? 's' : ''}`\n    this.consigne += this.sup3 ? ', except in obvious cases,' : ''\n    this.consigne += ` ${this.nbQuestions > 1 ? 'are' : 'is a'} situation${this.nbQuestions > 1 ? 's' : ''} of proportionality.`\n    this.consigne += this.sup2 ? ` ${context.isHtml ? '<br>' : '\\\\\\\\\\\\not'}We ask to solve ${this.nbQuestions > 1 ? 'the' : 'there'} using a table.` : ''\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n    this.autoCorrection = []\n\n    let typeDeQuestionsDisponibles\n    if (this.sup === 1) {\n      typeDeQuestionsDisponibles = this.sup3 ? [1, 1, 1, 1, 4] : [1]\n    } else if (this.sup === 2) {\n      typeDeQuestionsDisponibles = this.sup3 ? [2, 2, 2, 2, 4] : [2]\n    } else if (this.sup === 3) {\n      typeDeQuestionsDisponibles = this.sup3 ? [3, 3, 3, 3, 4] : [3]\n    } else if (this.sup === 4) {\n      typeDeQuestionsDisponibles = this.sup3 ? [1, 2, 3, 2, 4] : [1, 2, 3]\n    }\n\n    const listeTypeQuestions = combinaisonListes(typeDeQuestionsDisponibles, this.nbQuestions) // Tous les types de questions sont posés mais l'ordre diffère à chaque 'cycle'\n\n    let np, cm, ng, o, pp, pg, pu, tp, index, a\n    const fruits = [\n      ['peaches', new Decimal('0.24')],\n      ['nut', new Decimal('0.29')],\n      ['cherries', new Decimal('0.31')],\n      ['apples', new Decimal('0.12')],\n      ['raspberries', new Decimal('0.75')],\n      ['strawberries', new Decimal('0.37')],\n      ['lemons', new Decimal('0.08')],\n      ['bananas', new Decimal('0.09')]\n    ]\n\n    const objets = [\n      ['marbles', new Decimal('0.1')],\n      ['candy', new Decimal('0.1')],\n      ['candles', new Decimal('1.2')],\n      ['pencils', new Decimal('0.5')],\n      ['cakes', new Decimal('1.3')],\n      ['erasers', new Decimal('0.4')],\n      ['stickers', new Decimal('0.2')],\n      ['notebooks', new Decimal('1.4')]\n    ]\n\n    for (let i = 0, texte, texteCorr, texteApres, monTableau, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      a = choice([1, 2, 3])\n      // Main loop where i+1 corresponds to the question number\n\n      switch (listeTypeQuestions[i]) { // Suivant le type de question, le contenu sera différent\n        case 1: // multiplication\n          if (a === 1) {\n            index = randint(0, 7)\n            np = randint(1, 10)\n            cm = randint(2, 7)\n            ng = np * cm\n            pp = objets[index][1].mul(np * randint(8, 9)).div(10)\n            pg = pp.mul(cm)\n            o = objets[index][0]\n            texte = `${prenom()} buys $${np}$ ${np === 1 ? o.slice(0, -1) : o} for $${texPrix(pp)}$ €. How much would you have to pay to buy $${ng}$?`\n            monTableau = tableau({\n              largeurTitre: 10,\n              ligne1: [{ texte: `Number of ${o}s` }, { texte: stringNombre(np, 0), math: true }, {\n                texte: stringNombre(ng, 0),\n                math: true\n              }],\n              ligne2: [{ texte: 'Price (in euros)' }, {\n                texte: `${stringNombre(pp, 2, true, false)}`,\n                math: true\n              }, {\n                texte: `${stringNombre(pg, 2, true, false)}`,\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }],\n              flecheHaut: [[1, 2, {\n                texte: '×' + stringNombre(cm, 0),\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }]]\n            })\n            setReponse(this, i, pg)\n            texteApres = '€'\n          } else if (a === 2) {\n            index = randint(0, 7)\n            np = randint(1, 10)\n            cm = randint(2, 7)\n            ng = np * cm\n            pp = fruits[index][1].mul(np)\n            pg = pp.mul(cm)\n            o = choice([fruits[index][0]])\n            texte = `${prenom()} buys $${texMasse(pp)}$ kg of ${o} for $${texPrix(np)}$ €. How much ${o} could be purchased with $${ng}$ €?`\n            monTableau = tableau({\n              largeurTitre: 10,\n              ligne1: [{ texte: `${o} prices (in euros)` }, {\n                texte: stringNombre(np, 0),\n                math: true\n              }, { texte: stringNombre(ng, 0), math: true }],\n              ligne2: [{ texte: `Mass of ${o} (in kg)` }, {\n                texte: `${stringNombre(pp, 3, true, false)}`,\n                math: true\n              }, {\n                texte: `${stringNombre(pg, 3, true, false)}`,\n                math: true,\n                color: '#f15929',\n                gras: true\n              }],\n              flecheHaut: [[1, 2, {\n                texte: '×' + stringNombre(cm, 0),\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }]]\n            })\n            setReponse(this, i, pg)\n            texteApres = 'kg'\n          } else {\n            index = randint(0, 7)\n            np = randint(2, 10)\n            cm = randint(2, 7)\n            ng = np * cm\n            pp = new Decimal(randint(11, 48)).mul(np).div(10)\n            pg = pp.mul(cm)\n            texte = `$${np}$ objects occupy a volume of $${texNombre(pp, 1, false)}$ cm³. What volume would be occupied by $${ng}$ of these objects?`\n            monTableau = tableau({\n              largeurTitre: 10,\n              ligne1: [{ texte: 'Number of objects' }, { texte: stringNombre(np, 0), math: true }, {\n                texte: stringNombre(ng, 0),\n                math: true\n              }],\n              ligne2: [{ texte: 'Volume of objects (in cm³)' }, {\n                texte: `${stringNombre(pp, 1)}`,\n                math: true\n              }, { texte: `${stringNombre(pg, 1)}`, math: true, gras: true, color: '#f15929' }],\n              flecheHaut: [[1, 2, {\n                texte: '×' + stringNombre(cm, 0),\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }]]\n            })\n            setReponse(this, i, pg)\n            texteApres = 'cm³'\n          }\n          break\n\n        case 2: // division\n          if (a === 1) {\n            index = randint(0, 7)\n            np = randint(1, 10)\n            cm = randint(2, 7)\n            ng = np * cm\n            pp = new Decimal(randint(8, 9)).mul(np).div(10)\n            pg = pp.mul(cm)\n            o = objets[index][0]\n            texte = `${prenom()} buys $${ng}$ ${ng === 1 ? o.slice(0, -1) : o} for $${texPrix(pg)}$ €. How much would you have to pay to buy $${np}$?`\n            monTableau = tableau({\n              largeurTitre: 10,\n              ligne1: [{ texte: `Number of ${o}s` }, { texte: stringNombre(ng, 0) }, { texte: stringNombre(np, 0) }],\n              ligne2: [{ texte: 'Price (in euros)' }, {\n                texte: `${stringNombre(pg, 2, true, false)}`,\n                math: true\n              }, {\n                texte: `${stringNombre(pp, 2, true, false)}`,\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }],\n              flecheHaut: [[1, 2, {\n                texte: '÷' + stringNombre(cm, 0),\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }]]\n            })\n            setReponse(this, i, pp)\n            texteApres = '€'\n          } else if (a === 2) {\n            np = randint(1, 10)\n            cm = randint(2, 7)\n            ng = np * cm\n            pp = np * randint(40, 60)\n            pg = cm * pp\n            texte = `${prenom()} paints an area of $${stringNombre(pg, 0)}$ m² in $${ng}$ days. What surface would be painted in $${np}$ ${np === 1 ? 'day' : 'days'}?`\n            monTableau = tableau({\n              largeurTitre: 10,\n              ligne1: [{ texte: 'Duration (in days)' }, { texte: stringNombre(ng, 0), math: true }, {\n                texte: stringNombre(np, 0),\n                math: true\n              }],\n              ligne2: [{ texte: 'Painted surface (in m²)' }, {\n                texte: `${stringNombre(pg, 0)}`,\n                math: true\n              }, { texte: `${stringNombre(pp, 0)}`, math: true, gras: true, color: '#f15929' }],\n              flecheHaut: [[1, 2, {\n                texte: '÷' + stringNombre(cm, 0),\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }]]\n            })\n            setReponse(this, i, pp)\n            texteApres = 'm²'\n          } else {\n            index = randint(0, 7)\n            np = randint(1, 10)\n            cm = randint(2, 7)\n            ng = np * cm\n            pp = fruits[index][1].mul(np)\n            pg = pp.mul(cm)\n            o = fruits[index][0]\n            texte = `${prenom()} buys $${texMasse(pg)}$ kg of ${o} for $${texPrix(ng)}$ €. How much mass could be purchased with $${np}$ €?`\n            monTableau = tableau({\n              largeurTitre: 10,\n              ligne1: [{ texte: `${o} prices (in euros)` }, {\n                texte: stringNombre(ng, 0),\n                math: true\n              }, { texte: stringNombre(np, 0), math: true }],\n              ligne2: [{ texte: `Mass of ${o} (in kg)` }, {\n                texte: `${stringNombre(pg, 3, true, false)}`,\n                math: true\n              }, {\n                texte: `${stringNombre(pp, 3, true, false)}`,\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }],\n              flecheHaut: [[1, 2, {\n                texte: '÷' + stringNombre(cm, 0),\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }]]\n            })\n            setReponse(this, i, pp)\n            texteApres = 'kg'\n          }\n          break\n\n        case 3: // passage par l'unité\n          if (a === 1) {\n            index = randint(0, 7)\n            pu = objets[index][1].mul(randint(1, 19)).div(10)\n            np = randint(2, 10)\n            pp = pu.mul(np)\n            ng = randint(2, 10, [np, 2 * np, 3 * np, 4 * np, 5 * np, np / 2, np / 3, np / 4, np / 5])\n            pg = pu.mul(ng)\n            o = objets[index][0]\n            texte = `${prenom()} buys $${np}$ ${np === 1 ? o.slice(0, -1) : o} for $${texPrix(pp)}$ €. How much would you have to pay to buy $${ng}$?`\n            monTableau = tableau({\n              largeurTitre: 10,\n              ligne1: [{ texte: `Number of ${o}s` }, { texte: stringNombre(np, 0), math: true }, {\n                texte: '1',\n                math: true\n              }, { texte: stringNombre(ng, 0), math: true }],\n              ligne2: [{ texte: 'Price (in euros)' }, {\n                texte: `${stringNombre(pp, 2, true, false)}`,\n                math: true\n              }, {\n                texte: `${stringNombre(pu, 2, true, false)}`,\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }, {\n                texte: `${stringNombre(pg, 2, true, false)}`,\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }],\n              flecheHaut: [[1, 2, {\n                texte: '÷' + stringNombre(np, 0),\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }], [2, 3, { texte: '×' + stringNombre(ng, 0), math: true, gras: true, color: '#f15929' }]]\n            })\n            setReponse(this, i, pg)\n            texteApres = '€'\n          } else if (a === 2) {\n            pu = randint(40, 60)\n            np = randint(2, 10)\n            pp = pu * np\n            ng = randint(2, 10, [np, 2 * np, 3 * np, 4 * np, 5 * np, np / 2, np / 3, np / 4, np / 5])\n            pg = pu * ng\n            texte = `${prenom()} paints an area of $${stringNombre(pp, 0)}$ m² in $${np}$ days. What surface would be painted in $${ng}$ days?`\n            monTableau = tableau({\n              largeurTitre: 10,\n              ligne1: [{ texte: 'Duration (in days)' }, { texte: stringNombre(np, 0), math: true }, {\n                texte: '1',\n                math: true\n              }, { texte: stringNombre(ng, 0), math: true }],\n              ligne2: [{ texte: 'Painted surface (in m²)' }, {\n                texte: stringNombre(pp, 0),\n                math: true\n              }, { texte: stringNombre(pu, 0), math: true, gras: true, color: '#f15929' }, {\n                texte: stringNombre(pg, 0),\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }],\n              flecheHaut: [[1, 2, {\n                texte: '÷' + stringNombre(np, 0),\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }], [2, 3, { texte: '×' + stringNombre(ng, 0), math: true, gras: true, color: '#f15929' }]]\n            })\n            setReponse(this, i, pg)\n            texteApres = 'm²'\n          } else {\n            index = randint(0, 7)\n            pu = objets[index][1].mul(randint(8, 12)).div(10)\n            np = randint(2, 10)\n            pp = pu.mul(np)\n            ng = randint(2, 10, [np, 2 * np, 3 * np, 4 * np, 5 * np, np / 2, np / 3, np / 4, np / 5])\n            pg = pu.mul(ng)\n            o = fruits[index][0]\n            texte = `${prenom()} buys $${texMasse(pp)}$ kg of ${o} for $${texPrix(np)}$ €. How much ${o} could be purchased with $${ng}$ €?`\n            monTableau = tableau({\n              largeurTitre: 10,\n              ligne1: [{ texte: `${o} prices (in euros)` }, { texte: stringNombre(np, 0), math: true }, {\n                texte: '1',\n                math: true\n              }, { texte: stringNombre(ng, 0), math: true }],\n              ligne2: [{ texte: `Mass of ${o} (in kg)` }, {\n                texte: `${stringNombre(pp, 3, true, false)}`,\n                math: true\n              }, {\n                texte: `${stringNombre(pu, 3, true, false)}`,\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }, {\n                texte: `${stringNombre(pg, 3, true, false)}`,\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }],\n              flecheHaut: [[1, 2, {\n                texte: '÷' + stringNombre(np, 0),\n                math: true,\n                gras: true,\n                color: '#f15929'\n              }], [2, 3, { texte: '×' + stringNombre(ng, 0), math: true, gras: true, color: '#f15929' }]]\n            })\n            setReponse(this, i, pg)\n            texteApres = 'kg'\n          }\n          break\n\n        case 4: // Non proportionnalité\n          if (a === 1) {\n            tp = new Decimal(randint(120, 165)).div(100)\n            np = randint(10, 14)\n            cm = randint(2, 4)\n            ng = np * cm\n            texte = `${prenom()} measures $${texNombre(tp, 2, true, false)}$ m to $${np}$ years. How big will it be in $${ng}$ years?`\n            texteCorr = 'We cannot know because size is not proportional to age.'\n            texteApres = 'm'\n          } else if (a === 2) {\n            tp = randint(30, 45)\n            np = randint(10, 13)\n            cm = randint(2, 5)\n            ng = np * cm\n            texte = `${prenom()} weighs $${texMasse(tp)}$ kg at $${np}$ years. What will its weight be at $${ng}$ years old?`\n            texteCorr = 'We cannot know because weight (more precisely mass) is not proportional to age.'\n            texteApres = 'kg'\n          } else if (a === 3) {\n            tp = randint(35, 39)\n            np = randint(10, 13)\n            cm = randint(2, 5)\n            ng = np * cm\n            texte = `${prenom()} rises from $${tp}$ to $${np}$ years. What will his shoe size be at $${ng}$ years old?`\n            texteCorr = 'We cannot know because the size is not proportional to age.'\n            texteApres = ''\n          }\n          setReponse(this, i, 'No')\n          break\n      }\n      if (listeTypeQuestions[i] !== 4) {\n        const { xmin, xmax, ymin, ymax } = fixeBordures([monTableau])\n        texteCorr = mathalea2d(Object.assign({ xmin, xmax, ymin, ymax }, {\n          scale: 0.7,\n          style: 'display:block'\n        }), monTableau)\n      }\n      if (this.interactif && this.sup3) {\n        this.consigne += 'If it is not a situation of proportionality, write: non-proportional.'\n      }\n      texte += ajouteChampTexteMathLive(this, i, ' inline', { texteApres: sp(2) + texteApres })\n      if (this.listeQuestions.indexOf(texte) === -1) {\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    }\n    listeQuestionsToContenu(this)\n  }\n  this.besoinFormulaireNumerique = ['Difficulty level', 4, '1: Multiplication\\n2: Division\\n3: Passage through unity\\n4: Combination']\n  this.besoinFormulaire2CaseACocher = ['With table in the locker']\n  this.besoinFormulaire3CaseACocher = ['With situations of non-proportionality']\n}\n"],"names":["titre","interactifReady","interactifType","dateDeModifImportante","uuid","ref","ProportionnaliteParLineariteTableau","Exercice","context","typeDeQuestionsDisponibles","listeTypeQuestions","combinaisonListes","np","cm","ng","o","pp","pg","pu","tp","index","a","fruits","Decimal","objets","i","texte","texteCorr","texteApres","monTableau","cpt","choice","randint","prenom","texPrix","tableau","stringNombre","setReponse","texMasse","texNombre","xmin","xmax","ymin","ymax","fixeBordures","mathalea2d","ajouteChampTexteMathLive","sp","listeQuestionsToContenu"],"mappings":"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"}