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/betaModele31_parametrables-3BteO9vd.js.map
{"version":3,"file":"betaModele31_parametrables-3BteO9vd.js","sources":["../../src/exercices/beta/betaModele31_parametrables.js"],"sourcesContent":["import { codageAngleDroit } from '../../lib/2d/angles.js'\nimport { point, tracePoint } from '../../lib/2d/points.js'\nimport { polygoneRegulier } from '../../lib/2d/polygones.js'\nimport { labelPoint } from '../../lib/2d/textes.js'\nimport { combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { creerNomDePolygone } from '../../lib/outils/outilString.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport Exercice from '../Exercice.js'\n\nexport const titre = 'Nom de l\\'exercice'\n\n// Les exports suivants sont optionnels mais au moins la date de publication semble essentielle\nexport const dateDePublication = '25/10/2021' // La date de publication initiale au format 'jj/mm/aaaa' pour affichage temporaire d'un tag\nexport const dateDeModifImportante = '24/10/2021' // Une date de modification importante au format 'jj/mm/aaaa' pour affichage temporaire d'un tag\n\n/**\n * Description didactique de l'exercice\n * @author\n * Référence\n */\nexport default class NomExercice extends Exercice {\n  constructor () {\n    super()\n    this.titre = titre\n    this.consigne = 'consigne'\n    this.nbQuestions = 1\n\n    this.besoinFormulaireNumerique = ['Figure à tracer', 2, '1 : Carré\\n2 : Triangle'] // le paramètre sera numérique de valeur max 2 (le 2 en vert)\n    this.sup = 2 // Valeur du paramètre par défaut\n    // Remarques : le paramètre peut aussi être un texte avec : this.besoinFormulaireTexte = [texte, tooltip]\n    //              il peut aussi être une case à cocher avec : this.besoinFormulaireCaseACocher = [texte] (dans ce cas, this.sup = true ou this.sup = false)\n\n    this.nbCols = 1\n    this.nbColsCorr = 1\n  }\n\n  nouvelleVersion () {\n    this.listeQuestions = []\n    this.listeCorrections = []\n    this.autoCorrection = []\n\n    const typesDeQuestionsDisponibles = [1] // tableau à compléter par valeurs possibles des types de questions\n    const listeTypeDeQuestions = combinaisonListes(typesDeQuestionsDisponibles, this.nbQuestions)\n    let objetsEnonce, objetsEnonceml, objetsCorrection, paramsEnonce, paramsEnonceml, paramsCorrection\n    for (let i = 0, texte, texteCorr, cotes, nomPoly, naturePoly, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      objetsEnonce = [] // on initialise le tableau des objets Mathalea2d de l'enoncé\n      objetsEnonceml = [] // Idem pour l'enoncé à main levée si besoin\n      objetsCorrection = [] // Idem pour la correction\n\n      if (this.sup === 1) { // On a un comportement différent selon le paramètre.\n        cotes = 4\n        naturePoly = 'carré'\n        texteCorr = 'Pour cette construction on peut utiliser la règle et l\\'équerre.<br>'\n      } else if (this.sup === 2) {\n        cotes = 3\n        naturePoly = 'triangle équilatéral'\n        texteCorr = 'Pour cette construction on peut utiliser la règle et le compas.<br>'\n      }\n      nomPoly = creerNomDePolygone(cotes, 'GPT') // Permet de choisir un nom de polygone de cotes lettres qui se suivent à l'exclusion de la séquence GPT\n      texte = `Construire le ${naturePoly} $${nomPoly}$.<br>`\n\n      let A, B, C, D\n      switch (listeTypeDeQuestions[i]) {\n        case 1: {\n          A = point(0, 0, nomPoly.charAt(0), 'below') // nomPoly.charAt(0) renvoie le premier caractère de nomPoly\n          B = point(5, randint(-30, 30) / 10, nomPoly.charAt(1), 'below') // nomPoly.charAt(1) renvoie le deuxième caractère de nomPoly\n\n          const figure = polygoneRegulier(A, B, cotes) // Trace le polygone régulier direct à n côtés qui a pour côté [AB]\n          // En tant que polygone, figure a de nombreux attributs. En particulier :\n          // figure.listePoints[] contient l'ensemble des points du polygone\n          // figure.listePoints[0] contient le premier point\n          // figure.listePoints[1] contient le deuxième point etc\n          // Voir l'exercice 5S12 pour voir comment colorier et hachurer une figure\n\n          // Les points créés avec polygoneRegulier n'ont pas de nom donc pour leur ajouter un nom on peut faire\n          C = figure.listePoints[2]\n          C.nom = nomPoly.charAt(2)\n          C.positionLabel = 'above'\n          // ou alors\n          // C = point(figure.listePoints[2].x, figure.listePoints[2].y, nomPoly.charAt(2), 'above')\n          let traces2, labels2, D, angleA, angleB, angleC, angleD//\n          if (cotes === 3) {\n            traces2 = tracePoint(A, B, C)\n            labels2 = labelPoint(A, B, C)\n          } else {\n            D = point(figure.listePoints[3].x, figure.listePoints[3].y, nomPoly.charAt(3), 'above')\n            angleA = codageAngleDroit(B, A, D)\n            angleB = codageAngleDroit(A, B, C)\n            angleC = codageAngleDroit(B, C, D)\n            angleD = codageAngleDroit(C, D, A)\n            traces2 = tracePoint(A, B, C, D)\n            labels2 = labelPoint(A, B, C, D)\n          }\n          figure.epaisseur = 2\n          const traces1 = tracePoint(A, B)\n          const labels1 = labelPoint(A, B)\n\n          objetsEnonce.push(traces1, labels1)\n          objetsEnonceml.push(traces2, labels2, figure, angleA, angleB, angleC, angleD)\n          objetsCorrection.push(traces2, labels2, figure, angleA, angleB, angleC, angleD)\n          // ici sont créés les texte, tex_corr, objets mathalea2d divers entrant dans le contenu de l'exercice\n        }\n          break\n\n        case 2:\n          // Idem Cas1 mais avec d'autres texte, texteCorr...\n          break\n\n        case 3:\n\n          break\n\n        case 4:\n\n          break\n      }\n      // Les lignes ci-dessous permettent d'avoir un affichage aux dimensions optimisées\n      const xmin = Math.min(A.x, B.x, C.x, D.x) - 2\n      const xmax = Math.max(A.x, B.x, C.x, D.x) + 2\n      const ymin = Math.min(A.y, B.y, C.y, D.y) - 2\n      const ymax = Math.max(A.y, B.y, C.y, D.y) + 2\n      // paramètres de la fenêtre Mathalea2d pour l'énoncé normal\n      paramsEnonce = { xmin, ymin, xmax, ymax, pixelsParCm: 20, scale: 1 }\n      // paramètres de la fenêtre Mathalea2d pour l'énoncé main levée\n      paramsEnonceml = { xmin, ymin, xmax, ymax, pixelsParCm: 20, scale: 1, mainlevee: true, amplitude: 1 }\n      // paramètres de la fenêtre Mathalea2d pour la correction\n      paramsCorrection = paramsEnonce\n      // On ajoute au texte de l'énoncé, la figure à main levée et la figure de l'enoncé.\n      texte += mathalea2d(paramsEnonce, objetsEnonce) + mathalea2d(paramsEnonceml, objetsEnonceml)\n      // On ajoute au texte de la correction, la figure de la correction\n      texteCorr += mathalea2d(paramsCorrection, objetsCorrection)\n      // Si la question n'a jamais été posée, on l'enregistre\n      if (this.questionJamaisPosee(i, objetsEnonce)) { // <- laisser le i et ajouter toutes les variables qui rendent les exercices différents (par exemple a, b, c et d)\n        // Dans cet exercice, on n'utilise pas a, b, c et d mais A, B, C et D alors remplace-les !\n        this.listeQuestions.push(texte)\n        this.listeCorrections.push(texteCorr)\n        i++\n      }\n      cpt++\n    }\n    listeQuestionsToContenu(this)\n  }\n}\n"],"names":["titre","dateDePublication","dateDeModifImportante","NomExercice","Exercice","listeTypeDeQuestions","combinaisonListes","objetsEnonce","objetsEnonceml","objetsCorrection","paramsEnonce","paramsEnonceml","paramsCorrection","i","texte","texteCorr","cotes","nomPoly","naturePoly","cpt","creerNomDePolygone","A","B","C","D","point","randint","figure","polygoneRegulier","traces2","labels2","angleA","angleB","angleC","angleD","tracePoint","labelPoint","codageAngleDroit","traces1","labels1","xmin","xmax","ymin","ymax","mathalea2d","listeQuestionsToContenu"],"mappings":"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"}