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/beta2F31-RVWbQS6m.js.map
{"version":3,"file":"beta2F31-RVWbQS6m.js","sources":["../../src/exercices/beta/beta2F31.js"],"sourcesContent":["import { courbe } from '../../lib/2d/courbes.js'\nimport { droite } from '../../lib/2d/droites.js'\nimport { repere } from '../../lib/2d/reperes.js'\nimport { choice, combinaisonListes } from '../../lib/outils/arrayOutils'\nimport Exercice from '../Exercice.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nexport const titre = 'Croissance de fonction ?'\n\n/**\n * Description didactique de l'exercice\n * @author\n * Référence\n*/\nexport default function CroissanceDeFonction () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.consigne = ''\n  this.nbQuestions = 3\n  this.nbCols = 2 // Uniquement pour la sortie LaTeX\n  this.nbColsCorr = 2 // Uniquement pour la sortie LaTeX\n  this.sup = 1 // Niveau de difficulté\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.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n\n    const typeFonctionsDisponibles = ['affine', 'carré', 'inverse', 'cube', 'racine carrée'] // On créé 3 types de questions\n    const listeTypeQuestions = combinaisonListes(typeFonctionsDisponibles, this.nbQuestions) // Tous les types de questions sont posés mais l'ordre diffère à chaque \"cycle\"\n    for (let i = 0, a, b, x0, x1, coeff, f, r, graph, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      // Boucle principale où i+1 correspond au numéro de la question\n      r = repere({ xMin: -10, yMin: -10, xMax: 10, yMax: 10 })\n      switch (listeTypeQuestions[i]) { // Suivant le type de question, le contenu sera différent\n        case 'affine':\n          a = randint(3, 12) / 4 * choice([-1, 1])\n          b = randint(-9, 9, 0) / 4\n          if (a > 0) {\n            x0 = Math.ceil((-8 - b) / a)\n            x1 = Math.floor((8 - b) / a)\n          } else {\n            x1 = Math.ceil((-8 - b) / a)\n            x0 = Math.floor((8 - b) / a)\n          }\n          texteCorr = 'La fonction représentée est une fonction affine. Toute fonction affine est monotone.'\n          if (a < 0) {\n            texteCorr += '<br>Nous pouvons voir sur le zoom ci-dessous que le coefficient de cette fonction est négatif.<br>'\n            texteCorr += `La fonction est donc décroissante sur  $\\\\mathbb{R}$ et donc en particulier sur $[${x0};${x1}]$.<br>`\n          } else {\n            texteCorr += '<br>Nous pouvons voir sur le zoom ci-dessous que le coefficient de cette fonction est positif.<br>'\n            texteCorr += `La fonction est donc croissante sur  $\\\\mathbb{R}$ et donc en particulier sur $[${x0};${x1}]$.<br>`\n          }\n          f = x => a * x + b\n          graph = droite(a, -1, b)\n\n          break\n        case 'carré':\n          a = randint(3, 12) / 4 * choice([-1, 1])\n          b = randint(-9, 9, 0) / 4\n          if (choice([true, false])) {\n            x0 = -3\n            x1 = 0\n          } else {\n            x0 = 0\n            x1 = 3\n          }\n          f = x => x ** 2\n          graph = courbe(f, { repere: r, step: 0.2, xMin: -3.2, xMax: 3.3, yMin: -11, yMax: 11 })\n          texteCorr = 'La fonction étudiée est la fonction carré. Nous savons que cette fonction est décroissante sur $\\\\mathbb{R^-}$ et croissante sur $\\\\mathbb{R^+}$'\n          if (x0 === -3) {\n            texteCorr += `la fonction est donc décroissante sur $[${x0};${x1}]$.`\n          } else {\n            texteCorr += `la fonction est donc croissante sur $[${x0};${x1}]$.`\n          }\n          break\n        case 'inverse':\n          a = randint(3, 12) / 4 * choice([-1, 1])\n          b = randint(-9, 9, 0) / 4\n          if (choice([true, false])) {\n            x0 = -8\n            x1 = -1\n          } else {\n            x0 = 1\n            x1 = 8\n          }\n\n          f = x => 1 / x\n          graph = courbe(f, { repere: r, step: 0.1, xMin: -11, xMax: 11, yMin: -11, yMax: 11 })\n          texteCorr = 'La fonction représentée est la fonction inverse. Cette fonction est décroissante sur $\\\\mathbb{R^-}$ et sur $\\\\mathbb{R^+}$.'\n          texteCorr += `Elle est donc décroissante sur $[${x0};${x1}]$.`\n          break\n\n        case 'cube':\n          a = randint(3, 12) / 8 * choice([-1, 1])\n          b = randint(-9, 9, 0) / 4\n          x0 = choice([-2, -1])\n          x1 = choice([0, 1, 2])\n          f = x => x ** 3\n          graph = courbe(f, { repere: r, step: 0.2, xMin: -2.2, xMax: 2.2, yMin: -11, yMax: 11 })\n          texteCorr = 'La fonction représentée est la fonction cube. Cette fonction est croissante sur $\\\\mathbb{R^-}$ et sur $\\\\mathbb{R^+}$.'\n          texteCorr += `Elle est donc croissante sur $[${x0};${x1}]$.`\n\n          break\n        case 'racine carrée':\n          a = randint(3, 12) / 8 * choice([-1, 1])\n          b = randint(1, 9) / 4\n          x0 = choice([0, 1, 2, 3])\n          x1 = randint(x0 + 2, 9)\n          f = x => Math.sqrt(x)\n          graph = courbe(f, { repere: r, step: 0.2, xMin: 0, xMax: 11, yMin: -11, yMax: 11 })\n          texteCorr = 'La fonction représentée est la fonction racine carrée. Cette fonction est croissante sur $\\\\mathbb{R^+}$.'\n          texteCorr += `Elle est donc croissante sur $[${x0};${x1}]$.`\n          break\n      }\n      graph.epaisseur = 2\n      texte = `Déterminer la croissance de la fonction $f$ représentée ci-dessous sur l'intervalle $[${x0};${x1}]$.`\n      texte += mathalea2d({ xmin: -10, ymin: -10, xmax: 10, ymax: 10 }, r, graph)\n      coeff = 20 / Math.max(Math.abs(f(x0) - f(x1)), Math.abs(x0 - x1))\n      r = repere({ xUnite: coeff, yUnite: coeff, xMin: Math.min(0, x0 - 1), yMin: Math.min(0, Math.floor(f(x0)), Math.floor(f(x1))) - 1, xMax: Math.max(0, x1 + 1), yMax: Math.max(0, Math.ceil(f(x0)), Math.ceil(f(x1))) + 1 })\n      graph = courbe(f, { repere: r, step: 0.3 / coeff, xMin: x0, xMax: x1, color: 'red' })\n      texteCorr += mathalea2d({ xmin: Math.min(-1, x0 * coeff - 1), ymin: Math.min(-1, coeff * Math.min(Math.floor(f(x0)), Math.floor(f(x1))) - 1), xmax: Math.max(0, coeff * x1 + 1), ymax: Math.max(0, 1 + coeff * Math.max(Math.ceil(f(x0)), Math.ceil(f(x1)))) }, r, graph)\n      if (this.listeQuestions.indexOf(texte) === -1) {\n        // Si la question n'a jamais été posée, on en crée une autre\n        this.listeQuestions.push(texte)\n        this.listeCorrections.push(texteCorr)\n        i++\n      }\n      cpt++\n    }\n    listeQuestionsToContenu(this)\n  }\n  // this.besoinFormulaireNumerique = ['Niveau de difficulté', 2,'1 : Facile\\n2 : Difficile'];\n}\n"],"names":["titre","CroissanceDeFonction","Exercice","listeTypeQuestions","combinaisonListes","i","a","b","x0","x1","coeff","f","r","graph","texte","texteCorr","cpt","repere","randint","choice","x","droite","courbe","mathalea2d","listeQuestionsToContenu"],"mappings":"wKAOY,MAACA,EAAQ,2BAON,SAASC,GAAwB,CAC9CC,EAAS,KAAK,IAAI,EAClB,KAAK,SAAW,GAChB,KAAK,YAAc,EACnB,KAAK,OAAS,EACd,KAAK,WAAa,EAClB,KAAK,IAAM,EACX,KAAK,gBAAkB,EACvB,KAAK,MAAQ,GAEb,KAAK,gBAAkB,UAAY,CACjC,KAAK,eAAiB,CAAE,EACxB,KAAK,iBAAmB,CAAE,EAG1B,MAAMC,EAAqBC,EADM,CAAC,SAAU,QAAS,UAAW,OAAQ,eAAe,EAChB,KAAK,WAAW,EACvF,QAASC,EAAI,EAAGC,EAAGC,EAAGC,EAAIC,EAAIC,EAAOC,EAAGC,EAAGC,EAAOC,EAAOC,EAAWC,EAAM,EAAGX,EAAI,KAAK,aAAeW,EAAM,IAAK,CAG9G,OADAJ,EAAIK,EAAO,CAAE,KAAM,IAAK,KAAM,IAAK,KAAM,GAAI,KAAM,EAAE,CAAE,EAC/Cd,EAAmBE,CAAC,EAAC,CAC3B,IAAK,SACHC,EAAIY,EAAQ,EAAG,EAAE,EAAI,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACvCZ,EAAIW,EAAQ,GAAI,EAAG,CAAC,EAAI,EACpBZ,EAAI,GACNE,EAAK,KAAK,MAAM,GAAKD,GAAKD,CAAC,EAC3BG,EAAK,KAAK,OAAO,EAAIF,GAAKD,CAAC,IAE3BG,EAAK,KAAK,MAAM,GAAKF,GAAKD,CAAC,EAC3BE,EAAK,KAAK,OAAO,EAAID,GAAKD,CAAC,GAE7BS,EAAY,uFACRT,EAAI,GACNS,GAAa,qGACbA,GAAa,qFAAqFP,CAAE,IAAIC,CAAE,YAE1GM,GAAa,qGACbA,GAAa,mFAAmFP,CAAE,IAAIC,CAAE,WAE1GE,EAAIS,GAAKd,EAAIc,EAAIb,EACjBM,EAAQQ,EAAOf,EAAG,GAAIC,CAAC,EAEvB,MACF,IAAK,QACHD,EAAIY,EAAQ,EAAG,EAAE,EAAI,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACvCZ,EAAIW,EAAQ,GAAI,EAAG,CAAC,EAAI,EACpBC,EAAO,CAAC,GAAM,EAAK,CAAC,GACtBX,EAAK,GACLC,EAAK,IAELD,EAAK,EACLC,EAAK,GAEPE,EAAIS,GAAKA,GAAK,EACdP,EAAQS,EAAOX,EAAG,CAAE,OAAQC,EAAG,KAAM,GAAK,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,GAAI,EACtFG,EAAY,mJACRP,IAAO,GACTO,GAAa,2CAA2CP,CAAE,IAAIC,CAAE,MAEhEM,GAAa,yCAAyCP,CAAE,IAAIC,CAAE,MAEhE,MACF,IAAK,UACHH,EAAIY,EAAQ,EAAG,EAAE,EAAI,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACvCZ,EAAIW,EAAQ,GAAI,EAAG,CAAC,EAAI,EACpBC,EAAO,CAAC,GAAM,EAAK,CAAC,GACtBX,EAAK,GACLC,EAAK,KAELD,EAAK,EACLC,EAAK,GAGPE,EAAIS,GAAK,EAAIA,EACbP,EAAQS,EAAOX,EAAG,CAAE,OAAQC,EAAG,KAAM,GAAK,KAAM,IAAK,KAAM,GAAI,KAAM,IAAK,KAAM,GAAI,EACpFG,EAAY,+HACZA,GAAa,oCAAoCP,CAAE,IAAIC,CAAE,MACzD,MAEF,IAAK,OACHH,EAAIY,EAAQ,EAAG,EAAE,EAAI,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACvCZ,EAAIW,EAAQ,GAAI,EAAG,CAAC,EAAI,EACxBV,EAAKW,EAAO,CAAC,GAAI,EAAE,CAAC,EACpBV,EAAKU,EAAO,CAAC,EAAG,EAAG,CAAC,CAAC,EACrBR,EAAIS,GAAKA,GAAK,EACdP,EAAQS,EAAOX,EAAG,CAAE,OAAQC,EAAG,KAAM,GAAK,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,GAAI,EACtFG,EAAY,0HACZA,GAAa,kCAAkCP,CAAE,IAAIC,CAAE,MAEvD,MACF,IAAK,gBACHH,EAAIY,EAAQ,EAAG,EAAE,EAAI,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACvCZ,EAAIW,EAAQ,EAAG,CAAC,EAAI,EACpBV,EAAKW,EAAO,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EACxBV,EAAKS,EAAQV,EAAK,EAAG,CAAC,EACtBG,EAAIS,GAAK,KAAK,KAAKA,CAAC,EACpBP,EAAQS,EAAOX,EAAG,CAAE,OAAQC,EAAG,KAAM,GAAK,KAAM,EAAG,KAAM,GAAI,KAAM,IAAK,KAAM,GAAI,EAClFG,EAAY,4GACZA,GAAa,kCAAkCP,CAAE,IAAIC,CAAE,MACvD,KACH,CACDI,EAAM,UAAY,EAClBC,EAAQ,yFAAyFN,CAAE,IAAIC,CAAE,MACzGK,GAASS,EAAW,CAAE,KAAM,IAAK,KAAM,IAAK,KAAM,GAAI,KAAM,EAAE,EAAIX,EAAGC,CAAK,EAC1EH,EAAQ,GAAK,KAAK,IAAI,KAAK,IAAIC,EAAEH,CAAE,EAAIG,EAAEF,CAAE,CAAC,EAAG,KAAK,IAAID,EAAKC,CAAE,CAAC,EAChEG,EAAIK,EAAO,CAAE,OAAQP,EAAO,OAAQA,EAAO,KAAM,KAAK,IAAI,EAAGF,EAAK,CAAC,EAAG,KAAM,KAAK,IAAI,EAAG,KAAK,MAAMG,EAAEH,CAAE,CAAC,EAAG,KAAK,MAAMG,EAAEF,CAAE,CAAC,CAAC,EAAI,EAAG,KAAM,KAAK,IAAI,EAAGA,EAAK,CAAC,EAAG,KAAM,KAAK,IAAI,EAAG,KAAK,KAAKE,EAAEH,CAAE,CAAC,EAAG,KAAK,KAAKG,EAAEF,CAAE,CAAC,CAAC,EAAI,CAAC,CAAE,EACzNI,EAAQS,EAAOX,EAAG,CAAE,OAAQC,EAAG,KAAM,GAAMF,EAAO,KAAMF,EAAI,KAAMC,EAAI,MAAO,MAAO,EACpFM,GAAaQ,EAAW,CAAE,KAAM,KAAK,IAAI,GAAIf,EAAKE,EAAQ,CAAC,EAAG,KAAM,KAAK,IAAI,GAAIA,EAAQ,KAAK,IAAI,KAAK,MAAMC,EAAEH,CAAE,CAAC,EAAG,KAAK,MAAMG,EAAEF,CAAE,CAAC,CAAC,EAAI,CAAC,EAAG,KAAM,KAAK,IAAI,EAAGC,EAAQD,EAAK,CAAC,EAAG,KAAM,KAAK,IAAI,EAAG,EAAIC,EAAQ,KAAK,IAAI,KAAK,KAAKC,EAAEH,CAAE,CAAC,EAAG,KAAK,KAAKG,EAAEF,CAAE,CAAC,CAAC,CAAC,CAAC,EAAIG,EAAGC,CAAK,EACpQ,KAAK,eAAe,QAAQC,CAAK,IAAM,KAEzC,KAAK,eAAe,KAAKA,CAAK,EAC9B,KAAK,iBAAiB,KAAKC,CAAS,EACpCV,KAEFW,GACD,CACDQ,EAAwB,IAAI,CAC7B,CAEH"}