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/6S10-1-u3mpZLb3.js.map
{"version":3,"file":"6S10-1-u3mpZLb3.js","sources":["../../src/exercices/6e/6S10-1.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 { texcolors } from '../../lib/format/style'\nimport { numAlpha } from '../../lib/outils/outilString.js'\nimport Exercice from '../Exercice.js'\nimport { mathalea2d, colorToLatexOrHTML } from '../../modules/2dGeneralites.js'\nimport { randint, listeQuestionsToContenu } from '../../modules/outils.js'\nimport { propositionsQcm } from '../../lib/interactif/qcm.js'\nimport { context } from '../../modules/context.js'\n\nexport const titre = 'Represent data with a diagram'\nexport const interactifReady = true\nexport const interactifType = 'qcm'\nexport const amcReady = true\nexport const amcType = 'AMCHybride'\n\n/**\n * Lecture de diagrammes\n * @author Jean-Claude Lhote\n * Référence 6S10-1\n */\nexport const uuid = 'adac4'\nexport const ref = '6S10-1'\nexport default function LireUnDiagramme () {\n  Exercice.call(this)\n  this.titre = titre\n  this.nbQuestions = 2\n  this.nbQuestionsModifiable = true\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 = 5\n\n  this.nouvelleVersion = function () {\n    this.listeQuestions = []\n    this.listeCorrections = []\n    this.autoCorrection = []\n    let typesDeQuestionsDisponibles\n    if (this.sup2 < 5) {\n      typesDeQuestionsDisponibles = [this.sup2]\n    } else {\n      typesDeQuestionsDisponibles = [1, 2, 3, 4]\n    }\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 N = 0\n    let nom\n    let nbAnimaux = 4 // nombre d'different animals in the'énoncé\n    let lstAnimauxExo // liste des animaux uniquement cités dans l'exercice\n    let lstNombresAnimaux // liste des effectifs de chaque animal\n    let lstVal = [] // liste des valeurs à éviter pour les effectifs\n\n    let paramsEnonce, coef, r, lstElementGraph, g\n    let reponse1, reponse2, nbMin, nbMax, monQcm1, monQcm2, monQcm3\n    let objets\n    const lstAnimaux = ['Giraffes', 'Zebras', 'Wildebeest', 'Buffaloes', 'Gazelles', 'Crocodiles', 'Rhinoceros', 'Leopards', 'Cheetahs', 'Hyenas', 'Wild dogs', 'Servals', 'Warthogs']\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    let A, B, T, angle, a, legende, textelegende, hachures, a0, t, alpha\n    for (let q = 0, texte, texteCorr, texteAMC; q < this.nbQuestions;) {\n      objets = []\n      lstVal = []\n      lstAnimauxExo = []\n      lstNombresAnimaux = []\n      if (!context.isAmc) {\n        this.autoCorrection[q * 3] = {}\n        this.autoCorrection[q * 3 + 1] = {}\n        this.autoCorrection[q * 3 + 2] = {}\n      } else {\n        this.autoCorrection[q] = {}\n      }\n\n      texteAMC = 'In the natural park of ' + choice(lstNomParc) + ', there are a lot of animals.<br> Here is a diagram which represents the numbers of some species.<br><br>'\n      texteCorr = ''\n      switch (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      for (let i = 0; i < nbAnimaux; i++) {\n        N = randint(5, 40, lstVal) // choisit un nombre entre 5 et 40 sauf dans les valeurs à éviter\n        lstNombresAnimaux.push(N)\n        lstVal = lstVal.concat([N - 2, N - 1, N, N + 1, N + 2]) // valeurs à supprimer pour éviter des valeurs proches\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      }\n      switch (listeTypeDeQuestions[q]) {\n        case 1:\n          A = point(0, 0)\n          B = point(6, 0)\n          T = point(7, 0)\n          a0 = cercleCentrePoint(A, B, 'black')\n          objets.push(a0)\n          alpha = 90\n\n          t = tracePoint(A)\n          t.style = '+'\n          objets.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            objets.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            objets.push(legende, textelegende)\n            paramsEnonce = { xmin: -6.5, ymin: -6.5, xmax: 20, ymax: 6.5, pixelsParCm: 20, scale: 0.5, mainlevee: false }\n          }\n          break\n        case 2:\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          objets.push(a0)\n          alpha = 0\n          t = tracePoint(A)\n          t.style = '+'\n          objets.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            objets.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            objets.push(legende, textelegende)\n            paramsEnonce = { xmin: -6.5, ymin: -0.2, xmax: 20, ymax: 6.5, pixelsParCm: 20, scale: 0.5, mainlevee: false }\n          }\n          break\n        case 3:\n          coef = 1\n          switch (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: 60 * 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            objets.push(traceBarre((((r.xMax - r.xMin) / (nbAnimaux + 1)) * (i + 1)), lstNombresAnimaux[i], lstAnimauxExo[i], { unite: 0.1 / coef, couleurDeRemplissage: texcolors(i + 1), hachures: 'north east lines' }))\n          }\n          objets.push(r)\n          paramsEnonce = { xmin: -6.5, ymin: -3, xmax: 20, ymax: 7, pixelsParCm: 20, scale: 0.5, mainlevee: false }\n\n          break\n\n        case 4:\n          coef = 1\n          switch (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: 60 * 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            objets.push(texteParPosition(lstAnimauxExo[i], (i + 1) * 2, -0.2, 66, 'black', 1, 'LEFT'))\n            objets.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          objets.push(r, g)\n\n          paramsEnonce = { xmin: -6.5, ymin: -3, xmax: 20, ymax: 7, pixelsParCm: 20, scale: 0.5, mainlevee: false }\n\n          break\n      }\n      nbMin = Math.min(...lstNombresAnimaux)\n      nbMax = Math.max(...lstNombresAnimaux)\n      reponse1 = lstAnimauxExo[lstNombresAnimaux.indexOf(nbMin)]\n      reponse2 = lstAnimauxExo[lstNombresAnimaux.indexOf(nbMax)]\n      texteAMC += mathalea2d(paramsEnonce, objets)\n      texte = texteAMC // Le texteAMC commun avec le texte (en non AMC) s'arrête ici !\n\n      // Construction of valid multiple choice questions in interactive AND AMC\n      const propositionsQcm1 = []\n      for (let i = 0; i < nbAnimaux; i++) {\n        propositionsQcm1.push({\n          texte: `${lstAnimauxExo[i]}`,\n          statut: reponse1 === lstAnimauxExo[i]\n        })\n      }\n\n      const propositionsQcm2 = []\n      for (let i = 0; i < nbAnimaux; i++) {\n        propositionsQcm2.push({\n          texte: `${lstAnimauxExo[i]}`,\n          statut: reponse2 === lstAnimauxExo[i]\n        })\n      }\n\n      const propositionsQcm3 = []\n      propositionsQcm3.push({\n        texte: 'More than half of the animals',\n        statut: nbMax > effectiftotal / 2\n      },\n      {\n        texte: 'Less than half of the animals',\n        statut: nbMax < effectiftotal / 2\n      },\n      {\n        texte: 'Half of the animals',\n        statut: nbMax === effectiftotal / 2\n      })\n\n      // The variation between Interactive MCQ and AMC starts here\n      if (!context.isAmc) {\n        this.autoCorrection[q * 3].propositions = propositionsQcm1\n        this.autoCorrection[q * 3 + 1].propositions = propositionsQcm2\n        this.autoCorrection[q * 3 + 2].propositions = propositionsQcm3\n        this.autoCorrection[q * 3].options = {}\n        this.autoCorrection[q * 3 + 1].options = {}\n        this.autoCorrection[q * 3 + 2].options = {}\n        monQcm1 = propositionsQcm(this, q * 3)\n        monQcm2 = propositionsQcm(this, q * 3 + 1)\n        monQcm3 = propositionsQcm(this, q * 3 + 2)\n        texte += `<br>${numAlpha(0)} What is the least numerous species?` + monQcm1.texte\n        texte += `<br>${numAlpha(1)} What is the most numerous species?` + monQcm2.texte\n        texte += `<br>${numAlpha(2)} The most numerous species represents ...` + monQcm3.texte\n        texteCorr = `<br>${numAlpha(0)} The least numerous animal among these species is:` + monQcm1.texteCorr\n        texteCorr += `<br>${numAlpha(1)} The most numerous animal among these species is:` + monQcm2.texteCorr\n        texteCorr += `<br>${numAlpha(2)} The most numerous animal among these species represents:` + monQcm3.texteCorr\n      } else { // en AMC\n        this.autoCorrection[q].enonce = ''\n        this.autoCorrection[q].propositions =\n         [\n           {\n             type: 'mthMono',\n             propositions: propositionsQcm1,\n             enonce: texteAMC + `${numAlpha(0)} What is the least numerous species?`\n           },\n           {\n             type: 'mthMono',\n             propositions: propositionsQcm2,\n             enonce: `${numAlpha(1)} What is the most numerous species?`\n           },\n           {\n             type: 'mthMono',\n             propositions: propositionsQcm3,\n             enonce: `${numAlpha(2)} The most numerous species represents?`,\n             options: { lastChoice: 2 }\n           }]\n      }\n\n      if (this.questionJamaisPosee(q, effectiftotal)) {\n        this.listeQuestions.push(texte)\n        this.listeCorrections.push(texteCorr)\n        q++\n      }\n    }\n    listeQuestionsToContenu(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 = ['Chart type', 5, '1: Circular diagram\\n2: Semi-circular diagram\\n3: Bar diagram\\n4: Cartesian diagram\\n5: Random']\n}\n"],"names":["titre","interactifReady","interactifType","amcReady","amcType","uuid","ref","LireUnDiagramme","Exercice","typesDeQuestionsDisponibles","listeMotifs","combinaisonListes","listeTypeDeQuestions","N","nom","nbAnimaux","lstAnimauxExo","lstNombresAnimaux","lstVal","paramsEnonce","coef","r","lstElementGraph","g","reponse1","reponse2","nbMin","nbMax","monQcm1","monQcm2","monQcm3","objets","lstAnimaux","lstNomParc","A","B","T","angle","a","legende","textelegende","hachures","a0","t","alpha","q","texte","texteCorr","texteAMC","context","choice","i","randint","effectiftotal","point","cercleCentrePoint","tracePoint","arc","rotation","texcolors","motifs","colorToLatexOrHTML","carre","translation","vecteur","texteParPosition","repere","traceBarre","segment","traceGraphiqueCartesien","mathalea2d","propositionsQcm1","propositionsQcm2","propositionsQcm3","numAlpha","propositionsQcm","listeQuestionsToContenu"],"mappings":"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"}