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/3A14-0-JrFwACbC.js.map
{"version":3,"file":"3A14-0-JrFwACbC.js","sources":["../../src/exercices/3e/3A14-0.js"],"sourcesContent":["import { point } from '../../lib/2d/points.js'\nimport { polygone } from '../../lib/2d/polygones.js'\nimport { segment } from '../../lib/2d/segmentsVecteurs.js'\nimport { texteParPosition } from '../../lib/2d/textes.js'\nimport { choice } from '../../lib/outils/arrayOutils'\nimport { createList } from '../../lib/format/lists.ts'\nimport { egalOuApprox } from '../../lib/outils/ecritures'\nimport { numAlpha } from '../../lib/outils/outilString.js'\nimport { decompositionFacteursPremiers, premierAvec } from '../../lib/outils/primalite.js'\nimport { texteGras } from '../../lib/format/style'\nimport { texNombre, stringNombre } from '../../lib/outils/texNombre.js'\nimport Exercice from '../Exercice.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { mathalea2d, fixeBordures, colorToLatexOrHTML } from '../../modules/2dGeneralites.js'\nimport { pyramide3d, pave3d, point3d, polygone3d } from '../../modules/3d.js'\n\nexport const titre = 'Arithmetic & volumes'\n\n/**\n * diviseurs communs, calcul de volume\n * @author Jean-Claude Lhote\n * Référence dnb06_2022_5\n */\nexport const uuid = '2e22a'\nexport const ref = '3A14-0'\nexport default function DesChocolatsDansDesBoites () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.titre = titre\n  this.introduction = 'According to Brevet des Collèges - Foreign centers - June 2022'\n  this.consigne = ''\n  context.isHtml ? this.spacing = 1 : this.spacing = 2\n  context.isHtml ? this.spacingCorr = 2 : this.spacingCorr = 2\n  this.nbQuestions = 1\n  this.nbQuestionsModifiable = false\n  this.nbCols = 1\n  this.nbColsCorr = 1\n\n  this.nouvelleVersion = function () {\n    context.anglePerspective = 50\n    const premier1 = choice([2, 3, 5, 7])\n    const premier2 = choice([2, 3, 5, 7])\n    const nbBoites = premier1 * premier2\n    const nbTruffesCafeParBoite = randint(5, 12)\n    const nbTruffesCocoParBoite = premierAvec(nbTruffesCafeParBoite)\n    const nbTruffesParBoite = nbTruffesCocoParBoite + nbTruffesCafeParBoite\n    const nbTruffesCafe = nbBoites * nbTruffesCafeParBoite\n    const nbTruffesCoco = nbBoites * nbTruffesCocoParBoite\n    const nbTruffes = nbTruffesCafe + nbTruffesCoco\n    let texte = 'To celebrate the 25th anniversary of his shop, a chocolatier wants to offer the first customers of the day a box containing chocolate truffles.<br><br>'\n    texte += `${texteGras('1.')} He made $${nbTruffes}$ truffles: $${nbTruffesCafe}$ coffee flavored truffles and $${nbTruffesCoco}$ coconut coated truffles. He wants to make these boxes so that:`\n\n    if (context.isHtml) {\n      texte += createList({\n        items: ['The number of coffee flavored truffles is the same in each box;',\n          'The number of coconut-coated truffles is the same in each box;',\n          'All truffles are used.'],\n        style: 'arrows',\n        classOptions: 'style=\"color: red; backgroundColor: red\"'\n      }).outerHTML\n    } else {\n      texte += createList({\n        items: ['The number of coffee flavored truffles is the same in each box;',\n          'The number of coconut-coated truffles is the same in each box;',\n          'All truffles are used.'],\n        style: 'arrows',\n        classOptions: 'style=\"color: red; backgroundColor: red\"'\n      })\n    }\n\n    if (context.isHtml) {\n      texte += `${numAlpha(0)} Decompose $${nbTruffesCafe}$ and $${nbTruffesCoco}$ into product of prime factors.<br>`\n      texte += `${numAlpha(1)} Deduce the list of divisors common to $${nbTruffesCafe}$ and $${nbTruffesCoco}$.<br>`\n      texte += `${numAlpha(2)} What maximum number of boxes can he make?<br>`\n      texte += `${numAlpha(3)} In this case, how many truffles of each type will there be in each box?<br><br>`\n    } else {\n      texte += `${numAlpha(0)} Decompose $${nbTruffesCafe}$ and $${nbTruffesCoco}$ into product of prime factors.<br>`\n      texte += `${numAlpha(1)} Deduce the list of divisors common to $${nbTruffesCafe}$ and $${nbTruffesCoco}$.<br>`\n      texte += `${numAlpha(2)} What maximum number of boxes can he make?<br>`\n      texte += `${numAlpha(3)} In this case, how many truffles of each type will there be in each box?<br><br>`\n    }\n    const largeurCadre = 30\n    const hauteurCadre = 20\n    const cadrePrincipal = polygone([point(0, 0), point(largeurCadre, 0), point(largeurCadre, hauteurCadre), point(0, hauteurCadre)])\n    const ligne1 = segment(point(0, hauteurCadre / 3), point(largeurCadre, hauteurCadre / 3))\n    const ligne2 = segment(point(largeurCadre / 2, hauteurCadre), point(largeurCadre / 2, 0))\n    const text1 = texteParPosition('type A', largeurCadre / 4 - 1, hauteurCadre - 1, 'medium', 'black', 2)\n    const text2 = texteParPosition('type B', 3 * largeurCadre / 4 - 1, hauteurCadre - 1, 'medium', 'black', 2)\n    text1.epaisseur = 4\n    text1.contour = true\n    text1.couleurDeRemplissage = colorToLatexOrHTML('black')\n    text2.epaisseur = 4\n    text2.contour = true\n    text2.couleurDeRemplissage = colorToLatexOrHTML('black')\n    const sommetPyramide = point3d(largeurCadre / 4 - 2, 4, hauteurCadre - 4)\n    const base = polygone3d([\n      point3d(largeurCadre / 4 - 6, 0, hauteurCadre / 3 + 1),\n      point3d(largeurCadre / 4 + 2, 0, hauteurCadre / 3 + 1),\n      point3d(largeurCadre / 4 + 2, 8, hauteurCadre / 3 + 1),\n      point3d(largeurCadre / 4 - 6, 8, hauteurCadre / 3 + 1)\n    ])\n    const pyramide = pyramide3d(base, sommetPyramide)\n    const sommetsPave = [\n      point3d(3 * largeurCadre / 4 - 5, 0, hauteurCadre / 3 + 2),\n      point3d(3 * largeurCadre / 4 + 3, 0, hauteurCadre / 3 + 2),\n      point3d(3 * largeurCadre / 4 - 5, 0, hauteurCadre - 5),\n      point3d(3 * largeurCadre / 4 - 5, 5, hauteurCadre / 3 + 2)\n    ]\n    const pave = pave3d(...sommetsPave)\n    const diametreTruffes = randint(10, 15) / 10\n    const volumeTotalTruffe = nbTruffesParBoite * 4 * Math.PI * (diametreTruffes / 2) ** 3 / 3\n    const volumeCible = 1.7 * volumeTotalTruffe\n    const volumeTropImportant = 2.3 * volumeTotalTruffe\n    let basePyramide, hauteurPave\n    const longueurPave = randint(4, 5)\n    const largeurPave = randint(2, 3) - 0.5\n    const hauteurPyramide = randint(4, 6)\n    const paveQuiConvient = Math.random() < 0.5\n    if (paveQuiConvient) {\n      hauteurPave = Number((volumeCible / longueurPave / largeurPave).toFixed(1))\n      basePyramide = Number(Math.sqrt(3 * volumeTropImportant / hauteurPyramide).toFixed(1))\n    } else {\n      hauteurPave = Math.round(volumeTropImportant / longueurPave / largeurPave)\n      basePyramide = Number(Math.sqrt(3 * volumeCible / hauteurPyramide).toFixed(1))\n    }\n    const volumePave = largeurPave * longueurPave * hauteurPave\n    const volumePyramide = (hauteurPyramide * basePyramide ** 2) / 3\n    const textA1 = texteParPosition('Pyramid with square base', largeurCadre / 4, hauteurCadre / 3 - 1, 'medium', 'black', 1.5)\n    const textA2 = texteParPosition(`side ${stringNombre(basePyramide, 1).replace(',', '.')} cm`, largeurCadre / 4, hauteurCadre / 3 - 2, 'medium', 'black', 1.5)\n    const textA3 = texteParPosition(`and height ${stringNombre(hauteurPyramide, 1).replace(',', '.')} cm`, largeurCadre / 4, hauteurCadre / 3 - 3, 'medium', 'black', 1.5)\n    const textB1 = texteParPosition('Right pad', 3 * largeurCadre / 4, hauteurCadre / 3 - 1, 'medium', 'black', 1.5)\n    const textB2 = texteParPosition(`length ${longueurPave} cm`, 3 * largeurCadre / 4, hauteurCadre / 3 - 2, 'medium', 'black', 1.5)\n    const textB3 = texteParPosition(`width ${stringNombre(largeurPave, 1).replace(',', '.')} cm`, 3 * largeurCadre / 4, hauteurCadre / 3 - 3, 'medium', 'black', 1.5)\n    const textB4 = texteParPosition(`and height ${stringNombre(hauteurPave, 1).replace(',', '.')} cm`, 3 * largeurCadre / 4, hauteurCadre / 3 - 4, 'medium', 'black', 1.5)\n    const objets = [cadrePrincipal, ligne1, ligne2, text1, text2, pyramide.c2d, pave.c2d, textA1, textA2, textA3, textB1, textB2, textB3, textB4]\n    texte += `${texteGras('2.')} The chocolatier wants to make boxes containing $${nbTruffesParBoite}$ truffles. For this, he has the choice between two types of boxes which can contain the $${nbTruffesParBoite}$ truffles, and whose characteristics are given below:`\n    texte += '<br>' + mathalea2d(Object.assign({ scale: 0.5 }, fixeBordures(objets)), objets)\n    texte += `In this question, each of the $${nbTruffesParBoite}$ truffles is compared to a ball of diameter $${texNombre(diametreTruffes, 1)}$ cm.<br>`\n    texte += 'Inside a box, so that the truffles are not damaged during transport, the volume occupied by the truffles must be greater than the volume not occupied by the truffles.<br>'\n    texte += 'What type(s) of box should the chocolatier choose for this condition to be met?'\n    this.listeQuestions[0] = texte\n    let texteCorr = mathalea2d(Object.assign({ scale: 0.5 }, fixeBordures(objets)), objets)\n    texteCorr += `${texteGras('1.')} He made $${nbTruffes}$ truffles: $${nbTruffesCafe}$ coffee flavored truffles and $${nbTruffesCoco}$ coconut coated truffles. He wants to make these boxes so that:`\n    // @todo replace this call with a new function allowing you to make bulleted lists depending on the context.\n    if (context.isHtml) {\n      texteCorr += createList({\n        items: ['The number of coffee flavored truffles is the same in each box;',\n          'The number of coconut-coated truffles is the same in each box;',\n          'All truffles are used.'],\n        style: 'arrows',\n        classOptions: 'style=\"backGroundColor: red\";'\n      }).outerHTML\n    } else {\n      texteCorr += createList({\n        items: ['The number of coffee flavored truffles is the same in each box;',\n          'The number of coconut-coated truffles is the same in each box;',\n          'All truffles are used.'],\n        style: 'arrows',\n        classOptions: 'style=\"backGroundColor: red\";'\n      })\n    }\n    if (context.isHtml) {\n      texteCorr += `${numAlpha(0)} $${nbTruffesCafe} = ${decompositionFacteursPremiers(nbTruffesCafe)}$ and $${nbTruffesCoco} = ${decompositionFacteursPremiers(nbTruffesCoco)}$.<br>`\n      texteCorr += `${numAlpha(1)} We are looking for the greatest common divisor of $${nbTruffesCafe}$ and $${nbTruffesCoco}$.<br>`\n      texteCorr += `In the prime factor decompositions of $${nbTruffesCafe}$ and $${nbTruffesCoco}$, we find $${decompositionFacteursPremiers(nbBoites)}$, so their greatest common divisor is $${decompositionFacteursPremiers(nbBoites)} = ${nbBoites}$.<br>`\n      texteCorr += `${numAlpha(2)} The maximum number of boxes he can make is therefore $${nbBoites}$.<br>`\n      texteCorr += `${numAlpha(3)} There will therefore be $\\\\dfrac{${nbTruffesCafe}}{${nbBoites}} = ${nbTruffesCafeParBoite}$ coffee truffles per box and $\\\\dfrac{${nbTruffesCoco}}{${nbBoites}} = ${nbTruffesCocoParBoite}$ coconut truffles per box.<br><br>`\n    } else {\n      texteCorr += `${numAlpha(0)} $${nbTruffesCafe} = ${decompositionFacteursPremiers(nbTruffesCafe)}$ and $${nbTruffesCoco} = ${decompositionFacteursPremiers(nbTruffesCoco)}$.<br>`\n      texteCorr += `${numAlpha(1)} We are looking for the greatest common divisor of $${nbTruffesCafe}$ and $${nbTruffesCoco}$.<br>`\n      texteCorr += `In the prime factor decompositions of $${nbTruffesCafe}$ and $${nbTruffesCoco}$, we find $${decompositionFacteursPremiers(nbBoites)}$, so their greatest common divisor is $${decompositionFacteursPremiers(nbBoites)} = ${nbBoites}$.<br>`\n      texteCorr += `${numAlpha(2)} The maximum number of boxes he can make is therefore $${nbBoites}$.<br>`\n      texteCorr += `${numAlpha(3)} There will therefore be $\\\\dfrac{${nbTruffesCafe}}{${nbBoites}} = ${nbTruffesCafeParBoite}$ coffee truffles per box and $\\\\dfrac{${nbTruffesCoco}}{${nbBoites}} = ${nbTruffesCocoParBoite}$ coconut truffles per box.<br><br>`\n    }\n    texteCorr += `${texteGras('2.')} In this question, each of the $${nbTruffesParBoite}$ truffles is compared to a ball of diameter $${texNombre(diametreTruffes, 1)}$ cm.<br>`\n    texteCorr += 'Inside a box, so that the truffles are not damaged during transport, the volume occupied by the truffles must be greater than the volume not occupied by the truffles.<br>'\n    const sousListe1 = {\n      items: [`The pyramid has a square base of side $${texNombre(basePyramide, 1)}$ cm, the area of its base is therefore in cm$^2$: $${texNombre(basePyramide, 1)}\\\\times ${texNombre(basePyramide, 1)} = ${texNombre(basePyramide ** 2, 2)}$cm$^2$.`,\n        `Its volume in cm$^3$ is: $\\\\dfrac{\\\\text{area of the base}\\\\times\\\\text{height}}{3}=\\\\dfrac{${texNombre(basePyramide ** 2, 2)}\\\\times ${hauteurPyramide}}{3 }${egalOuApprox(volumePyramide, 1)}${texNombre(volumePyramide, 1)}$ cm$^3$.`,\n        `The volume of the pyramid is approximately $${texNombre(volumePyramide, 1)}$ cm$^3$; that of truffles is approximately $${texNombre(volumeTotalTruffe, 1)}$ cm$^3$.`,\n        `The volume not occupied by the truffles is approximately $${texNombre(volumePyramide, 1)}-${texNombre(volumeTotalTruffe, 1)}$ or $${texNombre(volumePyramide - volumeTotalTruffe, 1)}$ cm$^3$`,\n        paveQuiConvient\n          ? 'it is greater than the volume of the truffles, so the pyramid-shaped box is not suitable.'\n          : 'it is less than the volume of the truffles, so the pyramid-shaped box is suitable.'],\n      style: 'arrows',\n      introduction: 'The pyramid: '\n    }\n    const sousListe2 = {\n      items: [`The right pad has a volume in cm$^3$ of: $${texNombre(largeurPave, 1)}\\\\times ${texNombre(longueurPave, 1)} \\\\times ${texNombre(hauteurPave, 1)} = ${texNombre(volumePave, 3)}$.`,\n        `The volume of the right pad is $${texNombre(volumePave, 1)}$ cm$^3$; that of truffles is approximately $${texNombre(volumeTotalTruffe, 1)}$ cm$^3$.`,\n        `The volume not occupied by the truffles is approximately $${texNombre(volumePave, 1)}-${texNombre(volumeTotalTruffe, 1)}$ or $${texNombre(volumePave - volumeTotalTruffe, 1)}$ cm$^3$.`,\n        paveQuiConvient\n          ? 'it is less than the volume of the truffles, so the box shaped like a straight block is suitable.'\n          : 'it is greater than the volume of the truffles, so the box shaped like a straight block is not suitable.'],\n      style: 'arrows',\n      introduction: 'The right pad: '\n    }\n    const liste = createList({\n      items: [`A truffle is likened to a ball of diameter $${texNombre(diametreTruffes, 1)}$ cm, therefore of radius $${texNombre(diametreTruffes / 2, 2)}$ cm and its volume in cm$^3$ is: $\\\\dfrac{4}{3}\\\\times\\\\pi\\\\ times${texNombre(diametreTruffes / 2, 2)}^3$.`,\n        `The volume occupied by $${nbTruffesParBoite}$ truffles is therefore: $${nbTruffesParBoite}\\\\times\\\\dfrac{4}{3}\\\\times\\\\pi\\\\times${texNombre(diametreTruffes / 2, 2)}^3=\\\\dfrac{${texNombre(nbTruffesParBoite * 4 * (diametreTruffes / 2) ** 3, 4)}}{3}\\\\pi $ or approximately $${texNombre(nbTruffesParBoite * 4 * Math.PI * (diametreTruffes / 2) ** 3 / 3, 1)}$cm$^3$.`,\n        sousListe1,\n        sousListe2\n      ],\n      style: 'fleas'\n    })\n    texteCorr += context.isHtml ? liste.outerHTML : liste\n    this.listeCorrections[0] = texteCorr\n    listeQuestionsToContenu(this)\n  }\n}\n"],"names":["titre","uuid","ref","DesChocolatsDansDesBoites","Exercice","context","premier1","choice","premier2","nbBoites","nbTruffesCafeParBoite","randint","nbTruffesCocoParBoite","premierAvec","nbTruffesParBoite","nbTruffesCafe","nbTruffesCoco","nbTruffes","texte","texteGras","createList","numAlpha","largeurCadre","hauteurCadre","cadrePrincipal","polygone","point","ligne1","segment","ligne2","text1","texteParPosition","text2","colorToLatexOrHTML","sommetPyramide","point3d","base","polygone3d","pyramide","pyramide3d","sommetsPave","pave","pave3d","diametreTruffes","volumeTotalTruffe","volumeCible","volumeTropImportant","basePyramide","hauteurPave","longueurPave","largeurPave","hauteurPyramide","paveQuiConvient","volumePave","volumePyramide","textA1","textA2","stringNombre","textA3","textB1","textB2","textB3","textB4","objets","mathalea2d","fixeBordures","texNombre","texteCorr","decompositionFacteursPremiers","sousListe1","egalOuApprox","sousListe2","liste","listeQuestionsToContenu"],"mappings":"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"}