File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/beta2F31-q78HCRAf.js.map
{"version":3,"file":"beta2F31-q78HCRAf.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 '../deprecatedExercice.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":"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"}