File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/5S12-_91ZTmdd.js.map
{"version":3,"file":"5S12-_91ZTmdd.js","sources":["../../src/exercices/5e/5S12.js"],"sourcesContent":["import { arc, cercleCentrePoint } from '../../lib/2d/cercle.js'\nimport { point, tracePoint } from '../../lib/2d/points.js'\nimport { carre, motifs } from '../../lib/2d/polygones.js'\nimport { repere } from '../../lib/2d/reperes.js'\nimport { traceBarre, traceGraphiqueCartesien } from '../../lib/2d/diagrammes.js'\nimport { segment, vecteur } from '../../lib/2d/segmentsVecteurs.js'\nimport { texteParPosition } from '../../lib/2d/textes.js'\nimport { rotation, translation } from '../../lib/2d/transformations.js'\nimport { choice, combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { deprecatedTexFraction } from '../../lib/outils/deprecatedFractions.js'\nimport { egalOuApprox } from '../../lib/outils/ecritures'\nimport { texcolors } from '../../lib/format/style'\nimport { rangeMinMax } from '../../lib/outils/nombres.js'\nimport { premiereLettreEnMajuscule } from '../../lib/outils/outilString.js'\nimport { texNombre } from '../../lib/outils/texNombre.js'\nimport Exercice from '../Exercice.js'\nimport { mathalea2d, colorToLatexOrHTML } from '../../modules/2dGeneralites.js'\nimport { listeQuestionsToContenuSansNumero, randint } from '../../modules/outils.js'\nimport { tableauColonneLigne } from '../../lib/2d/tableau.js'\n\nexport const dateDePublication = '20/03/2022' // La date de publication initiale au format 'jj/mm/aaaa' pour affichage temporaire d'un tag\nexport const dateDeModifImportante = '17/04/2022'\nexport const titre = 'Represent data with a diagram'\n\n/**\n * @author Mickael Guironnet - Jean-Claude Lhote\n * Référence 5S12\n */\nexport const uuid = 'd3ca7'\nexport const ref = '5S12'\nexport default function ConstruireUnDiagramme () {\n Exercice.call(this)\n this.titre = titre\n this.nbQuestions = 1\n this.nbQuestionsModifiable = false\n this.nbCols = 1\n this.nbColsCorr = 1\n this.pasDeVersionLatex = false\n this.pas_de_version_HMTL = false\n this.sup = 3\n this.sup2 = 1\n this.sup3 = 1\n this.sup4 = true\n this.listeAvecNumerotation = false\n\n // this.sup3 = false;\n this.nouvelleVersion = function () {\n this.listeQuestions = []\n this.listeCorrections = []\n this.autoCorrection = []\n let typesDeQuestionsDisponibles\n if (this.sup3 < 5) {\n typesDeQuestionsDisponibles = [parseInt(this.sup3)]\n } else {\n typesDeQuestionsDisponibles = [randint(1, 4)]\n }\n let baseNombreAnimaux\n if (this.sup4) baseNombreAnimaux = 20\n else baseNombreAnimaux = randint(15, 24, 20)\n const listeHachuresDisponibles = [0, 1, 3, 4, 5, 6, 7, 8, 9, 10]\n const listeMotifs = combinaisonListes(listeHachuresDisponibles, 4)\n const listeTypeDeQuestions = combinaisonListes(typesDeQuestionsDisponibles, this.nbQuestions)\n let nom; let texte; let texteCorr\n let nbAnimaux = 4 // nombre d'different animals in the'énoncé\n const lstAnimauxExo = [] // liste des animaux uniquement cités dans l'exercice\n const lstNombresAnimaux = [] // liste des Population de chaque animal\n\n let paramsEnonce, paramsCorrection, coef, r, lstElementGraph, g\n const objetsEnonce = []\n const objetsCorrection = []\n const lstAnimaux = ['Giraffes', 'Zebras', 'Buffaloes', 'Gazelles', 'Crocodiles', 'Rhinoceros', 'Leopards', 'Cheetahs', 'Hyenas']\n const lstNomParc = ['Dramve', 'Fatenmin', 'Batderfa', 'Vihi', 'Genser', 'Barbetdou', 'Dramrendu', 'Secai', 'Cipeudram', 'Cigel', 'Lisino', 'Fohenlan',\n 'Farnfoss', 'Kinecardin', 'Zeffari', 'Barmwich', 'Swadlincote', 'Swordbreak', 'Loshull', 'Ruyron', 'Fluasall', 'Blueross', 'Vlane']\n\n texte = 'In the natural park of ' + choice(lstNomParc) + ', there are many animals.<br> Here is a table which gives the number of individuals of some species.<br><br>'\n texteCorr = ''\n const entete = ['\\\\text{Animals}']\n let contenutableau, A, B, T, angle, a, legende, textelegende, hachures, a0, t, alpha\n switch (parseInt(this.sup)) {\n case 1: nbAnimaux = 2; break\n case 2: nbAnimaux = 3; break\n case 3: nbAnimaux = 4; break\n default: nbAnimaux = 4\n }\n\n const lstCoeffAnimaux = [] // liste des Population de chaque animal sur 20\n lstCoeffAnimaux.push(baseNombreAnimaux)\n const max = Math.floor(baseNombreAnimaux / nbAnimaux)\n for (let i = 0; i < nbAnimaux - 1; i++) {\n let k1 = choice(rangeMinMax(2, max, lstCoeffAnimaux))\n if (k1 === undefined || k1 === null) {\n k1 = choice(rangeMinMax(2, max))\n }\n // const k1 = randint(2, Math.floor(20 / nbAnimals), lstCoeffAnimals)\n lstCoeffAnimaux.push(k1)\n lstCoeffAnimaux[0] -= k1\n }\n\n const factor = randint(3, 6)\n\n switch (parseInt(this.sup2)) {\n case 1:\n for (let i = 0; i < nbAnimaux; i++) {\n lstNombresAnimaux.push(lstCoeffAnimaux[i] * factor)\n }\n break\n case 2:\n for (let i = 0; i < nbAnimaux; i++) {\n lstNombresAnimaux.push(lstCoeffAnimaux[i] * factor * 10)\n }\n break\n }\n let effectiftotal = 0\n for (let i = 0; i < nbAnimaux; i++) {\n effectiftotal += lstNombresAnimaux[i]\n }\n for (let i = 0; i < nbAnimaux; i++) {\n nom = choice(lstAnimaux, lstAnimauxExo) // choisit un animal au hasard sauf parmi ceux déjà utilisés\n lstAnimauxExo.push(nom)\n entete.push(`\\\\text{${nom}}`)\n }\n\n let emptyValues = []\n switch (listeTypeDeQuestions[0]) {\n case 1:\n emptyValues = Array.apply(null, Array(2 * nbAnimaux)).map(function () { return ' ' })\n texte += `${tableauColonneLigne(entete, ['\\\\text{Population}', '\\\\text{Fraction of Total}', '\\\\text{Angle of Fraction}'], lstNombresAnimaux.concat(emptyValues))}<br><br>`\n texte += 'Represent this data using a circular diagram.<br><br>'\n entete.push('\\\\text{Totals}')\n contenutableau = []\n for (let i = 0; i < nbAnimaux; i++) {\n contenutableau.push(lstNombresAnimaux[i])\n }\n contenutableau.push(effectiftotal)\n for (let i = 0; i < nbAnimaux; i++) {\n contenutableau.push(deprecatedTexFraction(lstNombresAnimaux[i], effectiftotal) + egalOuApprox(lstNombresAnimaux[i] / effectiftotal, 2) + texNombre(lstNombresAnimaux[i] / effectiftotal, 2))\n }\n contenutableau.push('1')\n for (let i = 0; i < nbAnimaux; i++) {\n contenutableau.push(`${deprecatedTexFraction(lstNombresAnimaux[i], effectiftotal)} \\\\times 360 ${egalOuApprox(lstNombresAnimaux[i] * 360 / effectiftotal, 0)} ${Math.round(lstNombresAnimaux[i] * 360 / effectiftotal)}\\\\degree`)\n }\n contenutableau.push('360\\\\degree')\n\n texteCorr += `${tableauColonneLigne(entete, ['\\\\text{Population}', '\\\\text{Fraction of Total}', '\\\\text{Angle of Fraction}'], contenutableau, 3)}<br>`\n\n A = point(0, 0)\n B = point(6, 0)\n T = point(7, 0)\n a0 = cercleCentrePoint(A, B, 'black')\n objetsEnonce.push(a0)\n objetsCorrection.push(a0)\n alpha = 90\n\n t = tracePoint(A)\n t.style = '+'\n objetsEnonce.push(t)\n objetsCorrection.push(t)\n\n for (let i = 0; i < nbAnimaux; i++) {\n angle = 360 * lstNombresAnimaux[i] / effectiftotal\n a = arc(rotation(B, A, alpha), A, angle, true, texcolors(i + 1), 'black', 0.7)\n hachures = motifs(listeMotifs[i])\n a.hachures = hachures\n a.couleurDeRemplissage = colorToLatexOrHTML(texcolors(i + 1))\n a.couleurDesHachures = a.couleurDeRemplissage\n objetsCorrection.push(a)\n alpha += angle\n legende = carre(translation(T, vecteur(0, 1.5 * i)), translation(T, vecteur(1, 1.5 * i)), 'black')\n legende.couleurDeRemplissage = a.couleurDeRemplissage\n legende.couleurDesHachures = a.couleurDesHachures\n legende.hachures = hachures\n legende.opaciteDeRemplissage = 0.7\n textelegende = texteParPosition(lstAnimauxExo[i], 8.5, i * 1.5 + 0.5, 0, 'black', 1.5, 'LEFT', false)\n objetsCorrection.push(legende, textelegende)\n paramsEnonce = { xmin: -6.5, ymin: -6.5, xmax: 6.5, ymax: 6.5, pixelsParCm: 20, scale: 1, mainlevee: false }\n paramsCorrection = { xmin: -6.5, ymin: -6.5, xmax: 20, ymax: 6.5, pixelsParCm: 20, scale: 1, mainlevee: false }\n }\n break\n case 2:\n emptyValues = Array.apply(null, Array(2 * nbAnimaux)).map(function () { return ' ' })\n texte += `${tableauColonneLigne(entete, ['\\\\text{Population}', '\\\\text{Fraction of Total}', '\\\\text{Angle of Fraction}'], lstNombresAnimaux.concat(emptyValues))}<br><br>`\n texte += 'Represent this data using a semi-circular diagram.<br><br>'\n entete.push('\\\\text{Totals}')\n contenutableau = []\n for (let i = 0; i < nbAnimaux; i++) {\n contenutableau.push(lstNombresAnimaux[i])\n }\n contenutableau.push(effectiftotal)\n for (let i = 0; i < nbAnimaux; i++) {\n contenutableau.push(deprecatedTexFraction(lstNombresAnimaux[i], effectiftotal) + egalOuApprox(lstNombresAnimaux[i] / effectiftotal, 2) + texNombre(lstNombresAnimaux[i] / effectiftotal, 2))\n }\n contenutableau.push('1')\n for (let i = 0; i < nbAnimaux; i++) {\n contenutableau.push(`${deprecatedTexFraction(lstNombresAnimaux[i], effectiftotal)} \\\\times 180 ${egalOuApprox(lstNombresAnimaux[i] * 180 / effectiftotal, 0)} ${Math.round(lstNombresAnimaux[i] * 180 / effectiftotal)}\\\\degree`)\n }\n contenutableau.push('180\\\\degree')\n\n texteCorr += `${tableauColonneLigne(entete, ['\\\\text{Population}', '\\\\text{Fraction of Total}', '\\\\text{Angle of Fraction}'], contenutableau, 3)}<br>`\n\n A = point(0, 0)\n B = point(6, 0)\n T = point(7, 0)\n a0 = arc(B, A, 180, true, 'white', 'black')\n objetsEnonce.push(a0)\n objetsCorrection.push(a0)\n alpha = 0\n t = tracePoint(A)\n t.style = '+'\n objetsEnonce.push(t)\n objetsCorrection.push(t)\n\n for (let i = 0; i < nbAnimaux; i++) {\n angle = 180 * lstNombresAnimaux[i] / effectiftotal\n a = arc(rotation(B, A, alpha), A, angle, true, texcolors(i + 1), 'black', 0.7)\n hachures = motifs(listeMotifs[i])\n a.hachures = hachures\n a.couleurDeRemplissage = colorToLatexOrHTML(texcolors(i + 1))\n a.couleurDesHachures = a.couleurDeRemplissage\n objetsCorrection.push(a)\n alpha += angle\n legende = carre(translation(T, vecteur(0, 1.5 * i)), translation(T, vecteur(1, 1.5 * i)), 'black')\n legende.couleurDeRemplissage = a.couleurDeRemplissage\n legende.couleurDesHachures = a.couleurDesHachures\n legende.hachures = hachures\n legende.opaciteDeRemplissage = 0.7\n textelegende = texteParPosition(lstAnimauxExo[i], 8.5, i * 1.5 + 0.5, 0, 'black', 1.5, 'LEFT', false)\n objetsCorrection.push(legende, textelegende)\n paramsEnonce = { xmin: -6.5, ymin: -0.2, xmax: 6.5, ymax: 6.5, pixelsParCm: 20, scale: 1, mainlevee: false }\n paramsCorrection = { xmin: -6.5, ymin: -0.2, xmax: 20, ymax: 6.5, pixelsParCm: 20, scale: 1, mainlevee: false }\n }\n break\n case 3:\n texte += `${tableauColonneLigne(entete, ['\\\\text{Population}'], lstNombresAnimaux)}<br><br>`\n texte += 'Represent this data using a bar chart.<br>'\n coef = 1\n switch (parseInt(this.sup2)) {\n case 1:\n coef = 1\n break\n case 2:\n coef = 10\n break\n }\n r = repere({\n grilleX: false,\n grilleY: 'dots',\n xThickListe: false,\n xLabelListe: false,\n yUnite: 0.1 / coef,\n yThickDistance: 10 * coef,\n yMax: Math.max.apply(null, lstNombresAnimaux) + 20 * coef,\n xMin: 0,\n xMax: 10,\n yMin: 0,\n axeXStyle: '',\n yLegende: 'Number of individuals'\n })\n\n lstElementGraph = []\n for (let i = 0; i < nbAnimaux; i++) {\n objetsCorrection.push(traceBarre((((r.xMax - r.xMin) / (nbAnimaux + 1)) * (i + 1)), lstNombresAnimaux[i], premiereLettreEnMajuscule(lstAnimauxExo[i]), { unite: 0.1 / coef, couleurDeRemplissage: texcolors(i + 1), hachures: 'north east lines' }))\n }\n objetsCorrection.push(r)\n paramsEnonce = { xmin: -6.5, ymin: 0, xmax: 6.5, ymax: 0, pixelsParCm: 20, scale: 1, mainlevee: false }\n paramsCorrection = { xmin: -6.5, ymin: -3, xmax: 20, ymax: 10, pixelsParCm: 20, scale: 1, mainlevee: false }\n\n break\n\n case 4:\n texte += `${tableauColonneLigne(entete, ['\\\\text{Population}'], lstNombresAnimaux)}<br><br>`\n texte += 'Represent this data using a Cartesian graph.<br>'\n coef = 1\n switch (parseInt(this.sup2)) {\n case 1:\n coef = 1\n break\n case 2:\n coef = 10\n break\n }\n r = repere({\n grilleX: false,\n grilleY: 'dots',\n xThickListe: false,\n xLabelListe: false,\n yUnite: 0.1 / coef,\n yThickDistance: 10 * coef,\n yMax: Math.max.apply(null, lstNombresAnimaux) + 20 * coef,\n xMin: 0,\n xMax: 10,\n yMin: 0,\n axeXStyle: '',\n yLegende: 'Number of individuals'\n })\n\n lstElementGraph = []\n for (let i = 0; i < nbAnimaux; i++) {\n lstElementGraph.push([(i + 1) * 2, lstNombresAnimaux[i]])\n objetsCorrection.push(texteParPosition(lstAnimauxExo[i], (i + 1) * 2, -0.2, 66, 'black', 1, 'LEFT'))\n objetsCorrection.push(segment((i + 1) * 2, -0.1, (i + 1) * 2, 0.1))\n }\n g = traceGraphiqueCartesien(lstElementGraph, r, {\n couleurDesPoints: 'red',\n couleurDuTrait: 'lightgray',\n styleDuTrait: '', // plein par défaut\n epaisseurDuTrait: 1,\n styleDesPoints: 'o', // croix par défaut\n tailleDesPoints: 3\n })\n\n objetsCorrection.push(r, g)\n\n paramsEnonce = { xmin: -6.5, ymin: 0, xmax: 6.5, ymax: 0, pixelsParCm: 20, scale: 1, mainlevee: false }\n paramsCorrection = { xmin: -6.5, ymin: -3, xmax: 20, ymax: 8, pixelsParCm: 20, scale: 1, mainlevee: false }\n\n break\n }\n texte += mathalea2d(paramsEnonce, objetsEnonce)\n texteCorr += mathalea2d(paramsCorrection, objetsCorrection)\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n listeQuestionsToContenuSansNumero(this) // On envoie l'exercice à la fonction de mise en page\n }\n this.besoinFormulaireNumerique = ['Number of different species', 3, '1: Two species\\n2: Three species\\n3: Four species']\n this.besoinFormulaire2Numerique = ['Numerical values', 2, '1: Between 1 and 100\\n2: Between 100 and 1000']\n this.besoinFormulaire3Numerique = ['Chart type', 5, '1: Circular diagram\\n2: Semi-circular diagram\\n3: Bar diagram\\n4: Cartesian diagram\\n5: Random']\n this.besoinFormulaire4CaseACocher = ['Exact values', true]\n}\n"],"names":["dateDePublication","dateDeModifImportante","titre","uuid","ref","ConstruireUnDiagramme","Exercice","typesDeQuestionsDisponibles","randint","baseNombreAnimaux","listeMotifs","combinaisonListes","listeTypeDeQuestions","nom","texte","texteCorr","nbAnimaux","lstAnimauxExo","lstNombresAnimaux","paramsEnonce","paramsCorrection","coef","r","lstElementGraph","g","objetsEnonce","objetsCorrection","lstAnimaux","choice","entete","contenutableau","A","B","T","angle","a","legende","textelegende","hachures","a0","t","alpha","lstCoeffAnimaux","max","i","k1","rangeMinMax","factor","effectiftotal","emptyValues","tableauColonneLigne","deprecatedTexFraction","egalOuApprox","texNombre","point","cercleCentrePoint","tracePoint","arc","rotation","texcolors","motifs","colorToLatexOrHTML","carre","translation","vecteur","texteParPosition","repere","traceBarre","premiereLettreEnMajuscule","segment","traceGraphiqueCartesien","mathalea2d","listeQuestionsToContenuSansNumero"],"mappings":"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"}