File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/2F31-2-HH5pdiny.js.map
{"version":3,"file":"2F31-2-HH5pdiny.js","sources":["../../src/exercices/2e/2F31-2.js"],"sourcesContent":["import { tableauVariationsFonction } from '../../lib/mathFonctions/etudeFonction.js'\nimport { choice } from '../../lib/outils/arrayOutils'\nimport { abs } from '../../lib/outils/nombres.js'\nimport { sp } from '../../lib/outils/outilString.js'\nimport { context } from '../../modules/context.js'\nimport { gestionnaireFormulaireTexte, listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport Exercice from '../Exercice.js'\n\nexport const titre = 'Utiliser les variations des fonctions de référence pour comparer ou encadrer'\nexport const dateDePublication = '31/01/2022'\nexport const dateDeModifImportante = '12/07/2023'\n/**\n * Description didactique de l'exercice\n * @author Gilles Mora, Louis Paternault\n * Référence\n */\nexport const uuid = '1ca05'\nexport const ref = '2F31-2'\nexport default function EncadrerAvecFctRef () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.consigne = ''\n this.nbQuestions = 3\n // this.nbQuestionsModifiable = false\n this.nbCols = 2 // Uniquement pour la sortie LaTeX\n this.nbColsCorr = 2 // Uniquement pour la sortie LaTeX\n this.sup = 5\n context.isHtml ? this.spacing = 2 : this.spacing = 1\n context.isHtml ? this.spacingCorr = 2 : this.spacingCorr = 1\n this.tailleDiaporama = 2 // Pour les exercices chronométrés. 50 par défaut pour les exercices avec du texte\n this.video = '' // Id YouTube ou url\n this.listePackages = ['tkz-tab']\n this.nouvelleVersion = function () {\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n const listeTypeQuestions = gestionnaireFormulaireTexte({\n saisie: this.sup,\n max: 4,\n melange: 5,\n defaut: 1,\n nbQuestions: this.nbQuestions,\n listeOfCase: ['carré', 'inverse', 'racine carrée', 'cube']\n })\n for (let i = 0, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n // Boucle principale où i+1 correspond au numéro de la question\n // les variables communes à toutes les questions\n let fonction // La fonction étudiée\n let derivee // Sa dérivée\n let xMin // La borne gauche de l'intervalle d'étude (prévoir une valeur de remplacement pour les infinis + et -)\n let xMax // La borne droite de l'intervalle d'étude\n let substituts = [] // les valeur de substitution pour xMin ou xMax...\n let tolerance // la tolérance doit être réglée au cas par cas, car pour la dérivée de 1/x entre 17 et 19 par exemple, il y a trop peu de différence avec zéro !\n let texteCorrAvantTableau // la partie de la correction avant le tableau\n let texteCorrApresTableau // la partie de la correction après le tableau\n let a, b // Les valeurs seuils\n const large1 = choice([true, false]) // pour décider des inégalités larges ou pas\n const large2 = choice([true, false])\n\n switch (listeTypeQuestions[i]) { // Suivant le type de question, le contenu sera différent\n case 'carré': {\n const N = choice([1, 2, 3, 4, 5])\n fonction = x => x ** 2\n derivee = x => 2 * x\n tolerance = 0.005\n switch (N) {\n case 1: // cas x<a avec a<0 ou a>0\n a = randint(-12, 12, 0)\n xMin = -200\n xMax = a\n substituts = [{ antVal: -200, antTex: '$-\\\\infty$', imgVal: -40000, imgTex: '' }]\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $x${large1 ? '\\\\leqslant' : ' < '}${a}$ alors $x^2$ ......`\n texteCorrAvantTableau = `$x${large1 ? '\\\\leqslant' : ' < '} ${a}$ signifie $x\\\\in ]-\\\\infty;${a}${large1 ? ']' : ' [ '}$. <br>\n Puisque la fonction carré est strictement décroissante sur $]-\\\\infty;0]$ et strictement croissante sur $[0;+\\\\infty[$, on obtient son tableau de variations\n sur l'intervalle $]-\\\\infty;${a}]$ : <br>\n `\n if (a < 0) {\n texteCorrApresTableau = `<br>On constate que le minimum de $x^2$ sur $]-\\\\infty;${a}]$ est $${a ** 2}$. <br>\n On en déduit que si $x${large1 ? '\\\\leqslant' : ' < '}${a}$ alors $x^2\\\\geqslant ${a ** 2}$.\n <br> Remarque : la fonction carré étant strictement décroissante sur $]-\\\\infty;0]$, elle change l'ordre.<br>\n Ainsi les antécédents et les images sont rangées dans l'ordre inverse : <br>\n Si $x${large1 ? '\\\\leqslant' : ' < '}${a}$ alors $x^2\\\\geqslant (${a})^2$ soit $x^2\\\\geqslant ${a ** 2}$.`\n } else {\n texteCorrApresTableau = `<br>On constate que le minimum de $x^2$ sur $]-\\\\infty;${a}]$ est $0$. <br>\n On en déduit que si $x${large1 ? '\\\\leqslant' : ' < '}${a}$ alors $x^2\\\\geqslant 0$.`\n }\n\n break\n case 2: // cas x>a\n a = randint(-12, 12, 0)\n xMin = a\n xMax = 200\n substituts = [{ antVal: 200, antTex: '$+\\\\infty$', imgVal: 40000, imgTex: '' }]\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $x${large1 ? '\\\\geqslant' : ' > '}${a}$ alors $x^2$ ......`\n texteCorrAvantTableau = `$x${large1 ? '\\\\geqslant' : ' > '} ${a}$ signifie $x\\\\in ${large1 ? '[' : ' ] '}${a};+\\\\infty[$. <br>\n Puisque la fonction carré est strictement décroissante sur $]-\\\\infty;0]$ et strictement croissante sur $[0;+\\\\infty[$, on obtient son tableau de variations\n sur l'intervalle $[${a};+\\\\infty[$ : <br>\n `\n if (a > 0) {\n texteCorrApresTableau = `On constate que le minimum de $x^2$ sur $[${a};+\\\\infty[$ est $${a ** 2}$. <br>\n On en déduit que si $x${large1 ? '\\\\geqslant' : ' > '}${a}$ alors $x^2${large1 ? '\\\\geqslant' : ' > '} ${a ** 2}$.\n <br> Remarque : la fonction carré étant strictement croissante sur $[0;+\\\\infty[$, elle conserve l'ordre sur cet intervalle.<br>\n Ainsi les antécédents et les images sont rangées dans le même ordre : <br>\n Si $x${large1 ? '\\\\geqslant' : ' > '}${a}$ alors $x^2${large1 ? '\\\\geqslant' : ' > '} ${a}^2$ soit $x^2${large1 ? '\\\\geqslant' : ' > '} ${a ** 2}$.`\n } else {\n texteCorrApresTableau = `On constate que le minimum de $x^2$ sur $[${a};+\\\\infty[$ est $0$. <br>\n On en déduit que si $x${large1 ? '\\\\geqslant' : ' > '}${a}$ alors $x^2\\\\geqslant 0$.\n `\n }\n\n break\n case 3: // cas a<x<b avec a>0\n a = randint(1, 10)\n b = randint(a + 1, 12)\n xMin = a\n xMax = b\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors ${sp(3)} ....... $x^2$ ........`\n texteCorrAvantTableau = `$${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ signifie $x\\\\in ${large1 ? '[' : ' ] '}${a};${b}${large2 ? ']' : ' [ '}$. <br>\n Puisque la fonction carré est strictement décroissante sur $]-\\\\infty;0]$ et strictement croissante sur $[0;+\\\\infty[$, on obtient son tableau de variations\n sur l'intervalle $[${a};${b}]$ : <br>`\n texteCorrApresTableau = `On constate que le minimum de $x^2$ sur $[${a};${b}]$ est $${a ** 2}$ et son maximum est $${b ** 2}$. <br>\n On en déduit que si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors ${sp(2)}$${a ** 2} ${large1 ? '\\\\leqslant' : ' < '} x^2 ${large2 ? '\\\\leqslant' : ' < '}${b ** 2}$.\n <br> Remarque : la fonction carré étant strictement croissante sur $[0;+\\\\infty[$, elle conserve l'ordre sur cet intervalle.<br>\n Ainsi les antécédents et les images sont rangées dans le même ordre : <br>\n Si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors $${sp(2)}${a}^2 ${large1 ? '\\\\leqslant' : ' < '} x^2 ${large2 ? '\\\\leqslant' : ' < '}${b}^2$, soit $${sp(2)}${a ** 2} ${large1 ? '\\\\leqslant' : ' < '} x^2 ${large2 ? '\\\\leqslant' : ' < '}${b ** 2}$.`\n\n break\n case 4: // cas a<x<b avec b<0\n a = -randint(2, 12)\n b = randint(a + 1, -1)\n xMin = a\n xMax = b\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors ${sp(3)} ....... $x^2$ .......`\n texteCorrAvantTableau = `$${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ signifie $x\\\\in ${large1 ? '[' : ' ] '}${a};${b}${large2 ? ']' : ' [ '}$. <br>\n Puisque la fonction carré est strictement décroissante sur $]-\\\\infty;0]$ et strictement croissante sur $[0;+\\\\infty[$, on obtient son tableau de variations\n sur l'intervalle $[${a};${b}]$ : <br>`\n texteCorrApresTableau = `On constate que le minimum de $x^2$ sur $[${a};${b}]$ est $${b ** 2}$ et son maximum est $${a ** 2}$. <br>\n On en déduit que si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors ${sp(2)}$${b ** 2} ${large2 ? '\\\\leqslant' : ' < '} x^2 ${large1 ? '\\\\leqslant' : ' < '}${a ** 2}$.\n <br> Remarque : la fonction carré étant strictement décroissante sur $]-\\\\infty;0]$, elle change l'ordre sur cet intervalle.<br>\n Ainsi les antécédents et les images sont rangées dans l'ordre inverse : <br>\n Si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors ${sp(2)}$(${a})^2 ${large1 ? '\\\\geqslant' : ' > '} x^2 ${large2 ? '\\\\geqslant' : ' > '}(${b})^2$ soit $${a ** 2} ${large1 ? '\\\\geqslant' : ' > '} x^2 ${large2 ? '\\\\geqslant' : ' > '}${b ** 2}$.`\n\n break\n case 5: // cas a<x<b avec a<0 et b>0\n a = randint(-10, -1)\n b = randint(1, 10)\n xMin = a\n xMax = b\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors ${sp(3)} ....... $x^2$ ........`\n texteCorrAvantTableau = `$${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ signifie $x\\\\in ${large1 ? '[' : ' ] '}${a};${b}${large2 ? ']' : ' [ '}$. <br>\n Puisque la fonction carré est strictement décroissante sur $]-\\\\infty;0]$ et strictement croissante sur $[0;+\\\\infty[$, on obtient son tableau de variations\n sur l'intervalle $[${a};${b}]$ : <br>\n `\n texteCorrApresTableau = `On constate que le minimum de $x^2$ sur $[${a};${b}]$ est $0$ et son maximum est $${Math.max(abs(a), b) ** 2}$. <br>\n On en déduit que si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors ${sp(2)}$0 ${large1 ? '\\\\leqslant' : ' < '} x^2 ${large2 ? '\\\\leqslant' : ' < '}${Math.max(abs(a), b) ** 2}$.`\n\n break\n }\n }\n break\n case 'inverse': {\n const N = choice([1, 2, 3])\n fonction = x => 1 / x\n derivee = x => -1 / x / x\n tolerance = 0.000001\n switch (N) {\n case 1: // cas a<x<b avec a>0\n a = randint(2, 20)\n b = randint(a + 1, 20)\n substituts = [{ antVal: a, antTex: a.toString(), imgVal: 1 / a, imgTex: `$\\\\frac{1}{${a}}$` },\n { antVal: b, antTex: b.toString(), imgVal: 1 / b, imgTex: `\\\\frac{1}{${b}}` }]\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors ${sp(3)} ....... $\\\\dfrac{1}{x}$ .......`\n texteCorrAvantTableau = `$${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ signifie $x\\\\in ${large1 ? '[' : ' ] '}${a};${b}${large2 ? ']' : ' [ '}$. <br>\n Puisque la fonction inverse est strictement décroissante sur $]-\\\\infty;0[$ et strictement décroissante sur $[0;+\\\\infty[$, on obtient son tableau de variations\n sur l'intervalle $[${a};${b}]$ : <br>\n `\n texteCorrApresTableau = `On constate que le minimum de $\\\\dfrac{1}{x}$ sur $[${a};${b}]$ est $\\\\dfrac{1}{${b}}$ et son maximum est $\\\\dfrac{1}{${a}}$. <br>\n On en déduit que si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors ${sp(2)}$\\\\dfrac{1}{${b}} ${large2 ? '\\\\leqslant' : ' < '} \\\\dfrac{1}{x} ${large1 ? '\\\\leqslant' : ' < '}\\\\dfrac{1}{${a}}$.\n <br> Remarque : la fonction inverse étant strictement décroissante sur $]0; +\\\\infty[$, elle change l'ordre.<br>\n Ainsi les antécédents et les images sont rangées dans l'ordre inverse : <br>\n Si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors ${sp(2)}$\\\\dfrac{1}{${a}} ${large1 ? '\\\\geqslant' : ' > '} \\\\dfrac{1}{x} ${large2 ? '\\\\geqslant' : ' > '}\\\\dfrac{1}{${b}}$ `\n\n break\n case 2: // cas a<x<b avec b<0\n a = randint(-20, -3)\n b = randint(a + 1, -2)\n substituts = [{ antVal: a, antTex: a.toString(), imgVal: 1 / a, imgTex: `$-\\\\frac{1}{${-a}}$` },\n { antVal: b, antTex: b.toString(), imgVal: 1 / b, imgTex: `$-\\\\frac{1}{${-b}}$` }]\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors ${sp(3)} ....... $\\\\dfrac{1}{x}$ .......`\n texteCorrAvantTableau = `$${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ signifie $x\\\\in ${large1 ? '[' : ' ] '}${a};${b}${large2 ? ']' : ' [ '}$. <br>\n Puisque la fonction inverse est strictement décroissante sur $]-\\\\infty;0[$ et strictement décroissante sur $[0;+\\\\infty[$, on obtient son tableau de variations\n sur l'intervalle $[${a};${b}]$ : <br>`\n texteCorrApresTableau = `On constate que le minimum de $\\\\dfrac{1}{x}$ sur $[${a};${b}]$ est $-\\\\dfrac{1}{${-b}}$ et son maximum est $-\\\\dfrac{1}{${-a}}$. <br>\n On en déduit que si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors ${sp(2)}$-\\\\dfrac{1}{${-b}} ${large2 ? '\\\\leqslant' : ' < '} \\\\dfrac{1}{x} ${large1 ? '\\\\leqslant' : ' < '}-\\\\dfrac{1}{${-a}}$.\n <br> Remarque : la fonction inverse étant strictement décroissante sur $]-\\\\infty;0[$, elle change l'ordre.<br>\n Ainsi les antécédents et les images sont rangées dans l'ordre inverse : <br>\n Si $${a} ${large1 ? '\\\\leqslant' : ' < '} x ${large2 ? '\\\\leqslant' : ' < '}${b}$ alors ${sp(2)}$-\\\\dfrac{1}{${-a}} ${large1 ? '\\\\geqslant' : ' > '} \\\\dfrac{1}{x} ${large2 ? '\\\\geqslant' : ' > '}-\\\\dfrac{1}{${-b}}$ `\n break\n case 3: // cas x<a avec a<0 ou x>a avec a>0\n a = -200\n b = randint(-12, -2) // -\\infty et b négatifs\n if (choice([true, false])) { // b et +\\infty positifs\n const aTemp = -a\n a = -b\n b = aTemp\n substituts = [{\n antVal: a,\n antTex: a.toString(),\n imgVal: 1 / a,\n imgTex: `$\\\\frac{1}{${a}}$`\n },\n { antVal: b, antTex: '$+\\\\infty$', imgVal: 1 / b, imgTex: '' }]\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $x${large1 ? '\\\\geqslant' : ' > '}${a}$ alors $\\\\dfrac{1}{x}$ ......`\n texteCorrAvantTableau = `$x${large1 ? '\\\\geqslant' : ' > '} ${a}$ signifie $x\\\\in ${large1 ? ']' : ' [ '};+\\\\infty;${b}[$. <br>\n Puisque la fonction inverse est strictement décroissante sur $]0;+\\\\infty[$, on obtient son tableau de variations\n sur l'intervalle $]0;+\\\\infty[$ : <br>`\n texteCorrApresTableau = `On constate que le maximum de $\\\\dfrac{1}{x}$ sur $]0;+\\\\infty[$ est $\\\\dfrac{1}{${a}}$. <br>\n On en déduit que si $x${large1 ? '\\\\geqslant' : ' < '}${a}$ alors $\\\\dfrac{1}{x}${large1 ? '\\\\leqslant' : ' < '} \\\\dfrac{1}{${a}}$.\n <br> Remarque : la fonction inverse étant strictement décroissante sur $]0;+\\\\infty[$, elle change l'ordre.<br>\n Ainsi les antécédents et les images sont rangées dans l'ordre inverse : <br>\n Si $x${large1 ? '\\\\geqslant' : ' > '}${a}$ alors $\\\\dfrac{1}{x}${large1 ? '\\\\leqslant' : ' < '}\\\\dfrac{1}{${a}}$.`\n } else {\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $x${large1 ? '\\\\leqslant' : ' < '}${b}$ alors $\\\\dfrac{1}{x}$ ......`\n texteCorrAvantTableau = `$x${large1 ? '\\\\leqslant' : ' < '} ${b}$ signifie $x\\\\in ]-\\\\infty;${b}${large1 ? ']' : ' [ '}$. <br>\n Puisque la fonction inverse est strictement décroissante sur $]-\\\\infty;0[$ et strictement décroissante sur $]0;+\\\\infty[$, on obtient son tableau de variations\n sur l'intervalle $]-\\\\infty;${b}]$ : <br>`\n texteCorrApresTableau = `On constate que le minimum de $\\\\dfrac{1}{x}$ sur $]-\\\\infty;${b}]$ est $-\\\\dfrac{1}{${-b}}$. <br>\n On en déduit que si $x${large1 ? '\\\\leqslant' : ' < '}${b}$ alors $\\\\dfrac{1}{x}${large1 ? '\\\\geqslant' : ' > '} -\\\\dfrac{1}{${-b}}$.\n <br> Remarque : la fonction inverse étant strictement décroissante sur $]-\\\\infty;0[$, elle change l'ordre.<br>\n Ainsi les antécédents et les images sont rangées dans l'ordre inverse : <br>\n Si $x${large1 ? '\\\\leqslant' : ' < '}${b}$ alors $\\\\dfrac{1}{x}${large1 ? '\\\\geqslant' : ' > '}-\\\\dfrac{1}{${-b}}$.`\n substituts = [{ antVal: a, antTex: '$-\\\\infty$', imgVal: 1 / a, imgTex: '' },\n { antVal: a, antTex: b.toString(), imgVal: 1 / b, imgTex: `$\\\\frac{1}{${b}}$` }]\n }// a est toujours le min et b le max\n\n break\n }\n xMin = a\n xMax = b\n break\n }\n case 'racine carrée': {\n const estParfait = function (a) {\n return Number.isInteger(Math.sqrt(a))\n }\n const N = choice([1, 2, 3])\n fonction = x => Math.sqrt(x)\n derivee = x => 1 / 2 / Math.sqrt(x)\n tolerance = 0.005\n switch (N) {\n case 1: { // cas x<a\n a = randint(1, 100)\n const racineDeA = estParfait(a) ? Math.sqrt(a).toString() : `\\\\sqrt{${a}}`\n substituts = [{ antVal: a, antTex: a.toString(), imgVal: Math.sqrt(a), imgTex: `$${racineDeA}$` }]\n xMin = 0\n xMax = a\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $x${large1 ? '\\\\leqslant' : ' < '}${a}$ alors $\\\\sqrt{x}$ ......`\n texteCorrAvantTableau = `$x${large1 ? '\\\\leqslant' : ' < '} ${a}$ signifie $x\\\\in [0;${a}${large1 ? ']' : ' [ '}$ puisque $x\\\\geqslant 0$. <br>\nPuisque la fonction racine carrée est strictement croissante sur $[0;+\\\\infty[$, on obtient son tableau de variations\nsur l'intervalle $[0;${a}]$ : <br>`\n texteCorrApresTableau = `On constate que le maximum de $\\\\sqrt{x}$ sur $[0;${a}]$ est $${racineDeA}$. <br>\nOn en déduit que si $x${large1 ? '\\\\leqslant' : ' < '}${a}$ alors $\\\\sqrt{x}\\\\leqslant ${racineDeA}$.\n<br> Remarque : la fonction racine carrée étant strictement croissante sur $[0+\\\\infty[$, elle conserve l'ordre.<br>\nAinsi les antécédents et les images sont rangées dans le même ordre : <br>\nSi $x${large1 ? '\\\\leqslant' : ' < '}${a}$ alors $\\\\sqrt{x}${large1 ? '\\\\leqslant' : ' < '} ${racineDeA}$.`\n }\n break\n case 2: { // cas x>a\n a = randint(0, 100)\n xMin = a\n xMax = 10000\n const racineDeA = estParfait(a) ? Math.sqrt(a).toString() : `\\\\sqrt{${a}}`\n substituts = [{ antVal: a, antTex: a.toString(), imgVal: Math.sqrt(a), imgTex: `$${racineDeA}$` },\n { antVal: 10000, antTex: '$+\\\\infty$', imgVal: 100, imgTex: '' }]\n\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $x${large1 ? '\\\\geqslant' : ' > '}${a}$ alors $\\\\sqrt{x}$ ......`\n texteCorrAvantTableau = `$x${large1 ? '\\\\geqslant' : ' > '} ${a}$ signifie $x\\\\in ${large1 ? '[' : ' ] '}${a};+\\\\infty[$. <br>\nPuisque la fonction racine carrée est strictement croissante sur $[0;+\\\\infty[$, on obtient son tableau de variations\nsur l'intervalle $[${a};+\\\\infty[$ : <br>`\n texteCorrApresTableau = `On constate que le minimum de $\\\\sqrt{x}$ sur $[${a};+\\\\infty[$ est $${racineDeA}$. <br>\nOn en déduit que si $x${large1 ? '\\\\geqslant' : ' > '}${a}$ alors $\\\\sqrt{x}\\\\geqslant ${racineDeA}$.\n<br> Remarque : la fonction racine carrée étant strictement croissante sur $[0+\\\\infty[$, elle conserve l'ordre.<br>\nAinsi les antécédents et les images sont rangées dans le même ordre : <br>\nSi $x${large1 ? '\\\\geqslant' : ' > '}${a}$ alors $\\\\sqrt{x}${large1 ? '\\\\geqslant' : ' > '} ${racineDeA}$.`\n }\n break\n case 3: { // cas a<x<b\n a = randint(0, 98)\n b = randint(a + 1, 100)\n xMin = a\n xMax = b\n const racineDeA = estParfait(a) ? Math.sqrt(a).toString() : `\\\\sqrt{${a}}`\n const racineDeB = estParfait(b) ? Math.sqrt(b).toString() : `\\\\sqrt{${b}}`\n substituts = [{ antVal: a, antTex: a.toString(), imgVal: Math.sqrt(a), imgTex: `$${racineDeA}$` },\n { antVal: b, antTex: b.toString(), imgVal: Math.sqrt(b), imgTex: `$${racineDeB}$` }]\n\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $${a}${large1 ? ' \\\\leqslant ' : ' < '} x ${large1 ? '\\\\leqslant' : ' < '} ${b}$ alors ...... $\\\\sqrt{x}$ ......`\n texteCorrAvantTableau = `$${a}${large1 ? '\\\\leqslant' : ' < '} x ${large1 ? '\\\\leqslant' : ' < '}${b}$ signifie $x\\\\in ${large1 ? '[' : ' ] '}${a};${b}${large1 ? ']' : ' [ '}$. <br>\nPuisque la fonction racine carrée est strictement croissante sur $[0;+\\\\infty[$, on obtient son tableau de variations\nsur l'intervalle $[${a};${b}]$ : <br>`\n texteCorrApresTableau = `On constate que le minimum de $\\\\sqrt{x}$ sur $[${a};${b}]$ est $${racineDeA}$ et son maximum est $${racineDeB}$. <br>\nOn en déduit que si $${a}${large1 ? '\\\\leqslant' : ' < '} x ${large1 ? '\\\\leqslant' : ' < '}${b}$ alors $${racineDeA}${large1 ? '\\\\leqslant' : ' < '} \\\\sqrt{x} ${large1 ? '\\\\leqslant' : ' < '}${racineDeB}$.\n<br> Remarque : la fonction racine carrée étant strictement croissante sur $[0+\\\\infty[$, elle conserve l'ordre.<br>\nAinsi les antécédents et les images sont rangées dans le même ordre : <br>\nSi $${a}${large1 ? '\\\\leqslant' : ' < '} x ${large1 ? '\\\\leqslant' : ' < '}${b}$ alors $${racineDeA}${large1 ? '\\\\leqslant' : ' < '} \\\\sqrt{x} ${large1 ? '\\\\leqslant' : ' < '}${racineDeB}$.`\n }\n break\n }\n break\n }\n case 'cube': {\n const N = choice([1, 2])\n fonction = x => x ** 3\n derivee = x => 3 * x ** 2\n tolerance = 0.005\n if (N === 1) { // cas x<a ou x>a\n const a = choice([\n randint(-10, 10),\n 10 * randint(-10, 10)\n ])\n const inférieur = choice([true, false]) // x < a ou x > a ?\n if (inférieur) {\n xMin = -200 // a peut aller jusqu'à -100 !\n xMax = a\n substituts = [{ antVal: -200, antTex: '$-\\\\infty$', imgVal: -8000000, imgTex: '' }]\n } else {\n xMin = a\n xMax = 200\n substituts = [{ antVal: 200, antTex: '$+\\\\infty$', imgVal: 8000000, imgTex: '' }]\n }\n let symbole\n let intervalle\n if (large1 && inférieur) {\n symbole = '\\\\leqslant'\n intervalle = `]-\\\\infty ; ${a}]`\n } else if (large1 && !inférieur) {\n symbole = '\\\\geqslant'\n intervalle = `[${a} ; +\\\\infty[`\n } else if ((!large1) && inférieur) {\n symbole = '<'\n intervalle = `]-\\\\infty ; ${a}[`\n } else { // (! large) && (! inférieur)\n symbole = '>'\n intervalle = `]${a} ; +\\\\infty[`\n }\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $x${symbole}${a}$ alors $x^3$ ......`\n texteCorrAvantTableau = `$x${symbole} ${a}$ signifie $x\\\\in ${intervalle}$. <br>\nPuisque $(${a})^3=${Math.pow(a, 3)}$ et que la fonction cube est strictement croissante sur $\\\\mathbb{R}$, on obtient son tableau de variations\nsur l'intervalle $]-\\\\infty;${a}]$ : <br>`\n texteCorrApresTableau = `On constate que le ${inférieur ? ' maximum ' : ' minimum '} de $x^3$ sur $${intervalle}$ est $${Math.pow(a, 3)}$. <br>\nOn en déduit que si $x${symbole}${a}$ alors $x^3${symbole} ${Math.pow(a, 3)}$.\n<br> Remarque : la fonction cube étant strictement croissante sur $\\\\mathbb{R}$, elle conserve l'ordre.<br>\nAinsi les antécédents et les images sont rangées dans le même ordre : <br>\nSi $x${symbole}${a}$ alors $x^3${symbole} ${Math.pow(a, 3)}$.`\n } else { // cas a<x<b\n let a, b\n while (a === b) {\n a = choice([\n randint(-10, 10),\n 10 * randint(-10, 10)\n ])\n b = choice([\n randint(-10, 10),\n 10 * randint(-10, 10)\n ])\n }\n if (a > b) {\n [a, b] = [b, a]\n }\n [xMin, xMax] = [a, b]\n const inférieur = choice([true, false]) // a < x < b ou b > x > a ?\n substituts = []\n let inégalité\n let intervalle\n if (large1 && inférieur) {\n inégalité = `${a} \\\\leqslant x \\\\leqslant ${b}`\n intervalle = `[${a} ; ${b}]`\n } else if (large1 && !inférieur) {\n inégalité = `${b} \\\\geqslant x \\\\geqslant ${a}`\n intervalle = `[${a} ; ${b}]`\n } else if ((!large1) && inférieur) {\n inégalité = `${a} < x < ${b}`\n intervalle = `]${a} ; ${b}[`\n } else { // (! large) && (! inférieur)\n inégalité = `${b} > x > ${a}`\n intervalle = `]${a} ; ${b}[`\n }\n texte = `Compléter par l'information la plus précise possible (on pourra utiliser un tableau de variations) : <br>Si $${inégalité}$ alors $x^3$ ......`\n texteCorrAvantTableau = `$${inégalité}$ signifie $x\\\\in ${intervalle}$. <br>\nPuisque $(${a})^3=${Math.pow(a, 3)}$ et $(${b})^3=${Math.pow(b, 3)}$, et que la fonction cube est strictement croissante sur $\\\\mathbb{R}$, on obtient son tableau de variations\nsur l'intervalle $${intervalle}$ : <br>`\n texteCorrApresTableau = `On constate que le minimum de $x^3$ sur $${intervalle}$ est $${Math.pow(a, 3)}$, et son maximum sur le même intervalle est $${Math.pow(b, 3)}$. <br>\nOn en déduit que si $${inégalité}$ alors : $${Math.pow(a, 3)} ${large1 ? ' \\\\leqslant ' : ' < '} x^3 ${large1 ? ' \\\\leqslant ' : ' < '} ${Math.pow(b, 3)}$.\n<br> Remarque : la fonction cube étant strictement croissante sur $\\\\mathbb{R}$, elle conserve l'ordre.<br>\nAinsi les antécédents et les images sont rangées dans le même ordre : <br>\nSi $${inégalité}$ alors : $${Math.pow(a, 3)} ${large1 ? ' \\\\leqslant ' : ' < '} x^3 ${large1 ? ' \\\\leqslant ' : ' < '} ${Math.pow(b, 3)}$.`\n }\n break\n }\n }\n const tableau = tableauVariationsFonction(fonction, derivee, xMin, xMax, { substituts, step: 1, tolerance })\n texteCorr = texteCorrAvantTableau + tableau + texteCorrApresTableau\n if (this.questionJamaisPosee(i, this.listeQuestions[i], xMin, xMax)) {\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.besoinFormulaireTexte = ['Choix des questions (nombres séparés par des tirets)', '1 : carré\\n2 : inverse\\n3 : racine carrée\\n4 : cube\\n5 : mélange']\n}\n"],"names":["titre","dateDePublication","dateDeModifImportante","uuid","ref","EncadrerAvecFctRef","Exercice","context","listeTypeQuestions","gestionnaireFormulaireTexte","i","texte","texteCorr","cpt","fonction","derivee","xMin","xMax","substituts","tolerance","texteCorrAvantTableau","texteCorrApresTableau","a","b","large1","choice","large2","N","x","randint","sp","abs","aTemp","estParfait","racineDeA","racineDeB","inférieur","symbole","intervalle","inégalité","tableau","tableauVariationsFonction","listeQuestionsToContenu"],"mappings":"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"}