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/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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"}