File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/2F31-1-dsS9pXiw.js.map
{"version":3,"file":"2F31-1-dsS9pXiw.js","sources":["../../src/exercices/2e/2F31-1.js"],"sourcesContent":["import { choice, combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { miseEnEvidence } from '../../lib/outils/embellissements'\nimport { deprecatedTexFraction } from '../../lib/outils/deprecatedFractions.js'\nimport { stringNombre, texNombre } from '../../lib/outils/texNombre'\nimport Exercice from '../deprecatedExercice.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport Decimal from 'decimal.js'\nexport const titre = 'Utiliser les variations des fonctions de référence pour comparer des images'\nexport const dateDePublication = '07/01/2022'\n/**\n * Description didactique de l'exercice\n * @author Gilles Mora // Suppression de calcul et mise en place de Decimal par Jean-Claude Lhote\n * Référence\n*/\nfunction ecritureParentheseSiNegatif (a, maximumFractionDigits = 15) {\n if (a instanceof Decimal) {\n return a.isNeg() ? `(${stringNombre(a, maximumFractionDigits)})` : `${stringNombre(a, maximumFractionDigits)}`\n }\n const result = Intl.NumberFormat('fr-FR', { maximumFractionDigits }).format(a).replace(',', '{,}')\n return a < 0 ? `(${result})` : result\n}\nexport const uuid = '1803c'\nexport const ref = '2F31-1'\nexport default function ComparerAvecFctRef () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.consigne = ''\n this.nbQuestions = 2\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 = 1\n this.spacingCorr = 2\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 let typeDeQuestionsDisponibles\n if (this.sup === 1) {\n typeDeQuestionsDisponibles = ['carré']\n } else if (this.sup === 2) {\n typeDeQuestionsDisponibles = ['inverse']\n } else if (this.sup === 3) {\n typeDeQuestionsDisponibles = ['cube']\n } else if (this.sup === 4) {\n typeDeQuestionsDisponibles = ['racine carrée']\n } else if (this.sup === 5) {\n typeDeQuestionsDisponibles = ['carré', 'carré', 'inverse', 'cube', 'racine carrée']\n }\n const listeFractions1 = [[1, 2], [2, 3], [3, 4], [2, 5], [4, 5],\n [5, 6], [2, 7], [4, 7], [6, 7], [3, 8], [7, 8],\n [2, 9], [5, 9], [8, 9], [1, 11], [3, 11], [5, 11], [7, 11], [9, 11], [10, 11], [3, 13], [7, 13]]\n const listeFractions2 = [[1, 3], [1, 4], [1, 5], [3, 5],\n [1, 6], [1, 7], [3, 7], [5, 7], [1, 8], [5, 8],\n [1, 9], [4, 9], [7, 9], [2, 11], [4, 11], [6, 11], [8, 11], [9, 11], [1, 13], [5, 13]]\n const listeTypeQuestions = combinaisonListes(typeDeQuestionsDisponibles, this.nbQuestions) // Tous les types de questions sont posés mais l'ordre diffère à chaque \"cycle\"\n for (let i = 0, a, b, N, texte, texteCorr, fraction1 = [], fraction2 = [], n1, d1, n2, d2, d3, n3, n4, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n // Boucle principale où i+1 correspond au numéro de la question\n switch (listeTypeQuestions[i]) { // Suivant le type de question, le contenu sera différent\n case 'carré':\n N = randint(1, 3)\n if (N === 1) {\n a = (new Decimal(randint(0, 5) * 1000 + randint(5, 9) * 100 + randint(5, 9) * 10 + randint(0, 2))).div(1000)\n b = (new Decimal(2 * randint(1, 9))).div(1000).mul(choice([1, -1])).plus(a)\n texte = `En utilisant le sens de variation d'une fonction de référence, comparer $${texNombre(a)}^2$ et $${texNombre(b)}^2$.`\n texteCorr = `On doit comparer les carrés de deux nombres. On utilise donc la fonction carré.<br>\n La fonction carré étant strictement croissante sur $[0;+\\\\infty[$, elle conserve l'ordre. Cela signifie que deux nombres positifs sont rangés dans le même ordre que leurs carrés. <br>\n Autrement dit, si $a$ et $b$ sont deux nombres positifs et si $a < b$, alors $a^2 < b^2$.`\n\n if (a.lessThan(b)) {\n texteCorr += `<br>Comme $${texNombre(a, 3)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${texNombre(b, 3)}$,\n alors $${texNombre(a, 3)}^2${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${texNombre(b, 3)}^2$.`\n } else {\n texteCorr += `<br>Comme $${texNombre(b)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${texNombre(a)}$,\n alors $${texNombre(b, 3)}^2${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${texNombre(a, 3)}^2$.`\n }\n }\n if (N === 2) {\n fraction1 = choice(listeFractions1)\n fraction2 = choice(listeFractions2)\n n1 = fraction1[0]\n d1 = fraction1[1]\n n2 = fraction2[0]\n d2 = fraction2[1]\n d3 = d1 * d2\n n3 = n1 * d2\n n4 = n2 * d1\n texte = `En utilisant le sens de variation d'une fonction de référence, comparer $\\\\left(${deprecatedTexFraction(n1, d1)}\\\\right)^2$ et $\\\\left(${deprecatedTexFraction(n2, d2)}\\\\right)^2$.`\n texteCorr = `On doit comparer les carrés de deux nombres. On utilise donc la fonction carré.<br>\n La fonction carré étant strictement croissante sur $[0;+\\\\infty[$, elle conserve l'ordre. Cela signifie que deux nombres positifs sont rangés dans le même ordre que leurs carrés.<br>\n Autrement dit, si $a$ et $b$ sont deux nombres positifs et si $a < b$, alors $a^2 < b^2$.`\n if (n1 === n2) {\n texteCorr += `<br>On commence par comparer les fractions $${deprecatedTexFraction(n1, d1)}$ et $${deprecatedTexFraction(n2, d2)}$. <br>\n Les fractions ont le même numérateur. La plus grande est celle qui a le plus petit dénominateur. <br>\n `\n if (d1 < d2) {\n texteCorr += `On a $${d1}<${d2}$, donc $${deprecatedTexFraction(n2, d2)}<${deprecatedTexFraction(n1, d1)}$.<br>\n <br>Comme $${deprecatedTexFraction(n2, d2)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${deprecatedTexFraction(n1, d1)}$, alors $\\\\left(${deprecatedTexFraction(n2, d2)}\\\\right)^2${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}\\\\left(${deprecatedTexFraction(n1, d1)}\\\\right)^2$`\n } else {\n texteCorr += `On a $${d2}<${d1}$, donc $${deprecatedTexFraction(n1, d1)}<${deprecatedTexFraction(n2, d2)}$.<br>\n <br> Comme, $${deprecatedTexFraction(n1, d1)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${deprecatedTexFraction(n2, d2)}$, alors $\\\\left(${deprecatedTexFraction(n1, d1)}\\\\right)^2${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}\\\\left(${deprecatedTexFraction(n2, d2)}\\\\right)^2$`\n }\n }\n if (d1 === d2) {\n texteCorr += `<br>On commence par comparer les fractions $${deprecatedTexFraction(n1, d1)}$ et $${deprecatedTexFraction(n2, d2)}$. <br>\n Les fractions ont le même dénomérateur. La plus grande est celle qui a le plus grand numérateur. <br>\n `\n if (n2 < n1) {\n texteCorr += `On a $${n2}<${n1}$, donc $${deprecatedTexFraction(n2, d2)}<${deprecatedTexFraction(n1, d1)}$.<br>\n <br>Comme $${deprecatedTexFraction(n2, d2)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${deprecatedTexFraction(n1, d1)}$, alors $\\\\left(${deprecatedTexFraction(n2, d2)}\\\\right)^2${miseEnEvidence('<', 'blue')}\\\\left(${deprecatedTexFraction(n1, d1)}\\\\right)^2$`\n } else {\n texteCorr += `On a $${n1}<${n2}$, donc $${deprecatedTexFraction(n1, d1)}<${deprecatedTexFraction(n2, d2)}$.<br>\n <br>Comme, $${deprecatedTexFraction(n1, d1)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${deprecatedTexFraction(n2, d2)}$, alors $\\\\left(${deprecatedTexFraction(n1, d1)}\\\\right)^2${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}\\\\left(${deprecatedTexFraction(n2, d2)}\\\\right)^2$`\n }\n }\n if (n1 !== n2 && d1 !== d2) {\n texteCorr += `<br>On commence par comparer les fractions $${deprecatedTexFraction(n1, d1)}$ et $${deprecatedTexFraction(n2, d2)}$. <br>\n Pour cela on les met au même dénominateur : $${deprecatedTexFraction(n1, d1)}= ${deprecatedTexFraction(n3, d3)}$ et $${deprecatedTexFraction(n2, d2)}= ${deprecatedTexFraction(n4, d3)}$<br>\n `\n if (n3 < n4) {\n texteCorr += `On a $${n3}<${n4}$, donc $${deprecatedTexFraction(n3, d3)}<${deprecatedTexFraction(n4, d3)}$, soit $${deprecatedTexFraction(n1, d1)}<${deprecatedTexFraction(n2, d2)}$.<br>\n <br>Comme $${deprecatedTexFraction(n1, d1)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${deprecatedTexFraction(n2, d2)}$, alors $\\\\left(${deprecatedTexFraction(n1, d1)}\\\\right)^2${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}\\\\left(${deprecatedTexFraction(n2, d2)}\\\\right)^2$`\n } else {\n texteCorr += `On a $${n4}<${n3}$, donc $${deprecatedTexFraction(n4, d3)}<${deprecatedTexFraction(n3, d3)}$ , soit $${deprecatedTexFraction(n2, d2)}<${deprecatedTexFraction(n1, d1)}$.<br>\n <br>Comme, $${deprecatedTexFraction(n2, d2)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${deprecatedTexFraction(n1, d1)}$, alors $\\\\left(${deprecatedTexFraction(n2, d2)}\\\\right)^2${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}\\\\left(${deprecatedTexFraction(n1, d1)}\\\\right)^2$`\n }\n }\n }\n\n if (N === 3) {\n a = (new Decimal(randint(0, 5) * 1000 + randint(5, 9) * 100 + randint(5, 9) * 10 + randint(0, 2))).div(1000).mul(-1)\n b = (new Decimal(2 * randint(1, 9))).div(1000).mul(choice([1, -1])).plus(a)\n texte = `En utilisant le sens de variation d'une fonction de référence, comparer $(${texNombre(a, 3)})^2$ et $(${texNombre(b, 3)})^2$.`\n texteCorr = `On doit comparer les carrés de deux nombres. On utilise donc la fonction carré.<br>\n La fonction carré étant strictement décroissante sur $]-\\\\infty;0]$, elle change l'ordre. <br>\n Cela signifie que deux nombres négatifs sont rangés dans l'ordre inverse de leurs carrés.<br>\n Autrement dit, si $a$ et $b$ sont deux nombres négatifs et si $a < b$, alors $a^2 > b^2$.`\n\n if (a.lessThan(b)) { texteCorr += `<br>Comme $${texNombre(a, 3)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${texNombre(b, 3)}$, alors $(${texNombre(a, 3)})^2${miseEnEvidence('\\\\boldsymbol{>}', 'blue')}(${texNombre(b, 3)})^2$` } else { texteCorr += `<br>Comme $${texNombre(b, 3)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${texNombre(a, 3)}$, alors $(${texNombre(b, 3)})^2${miseEnEvidence('\\\\boldsymbol{>}', 'blue')}(${texNombre(a, 3)})^2$` }\n }\n break\n case 'inverse':\n N = randint(1, 2)\n if (N === 1) {\n a = (new Decimal(randint(1, 9) * 10 + randint(5, 9))).div(10)\n b = (new Decimal(randint(1, 9))).div(10).mul(choice([1, -1])).plus(a)\n texte = `En utilisant le sens de variation d'une fonction de référence, comparer $\\\\dfrac{1}{${texNombre(a, 1)}}$ et $\\\\dfrac{1}{${texNombre(b, 1)}}$.`\n texteCorr = `On doit comparer les inverses de deux nombres. On utilise donc la fonction inverse.<br>\n La fonction inverse étant strictement décroissante sur $]0;+\\\\infty[$, elle change l'ordre.\n Cela signifie que deux nombres strictement positifs sont rangés dans l'ordre inverse de leurs inverses.<br>\n Autrement dit, si $a$ et $b$ sont deux nombres strictement positifs et si $a < b$, alors $\\\\dfrac{1}{a} > \\\\dfrac{1}{b}$.<br>`\n\n if (a.lessThan(b)) {\n texteCorr += `Comme $${texNombre(a, 1)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${texNombre(b, 1)}$, alors $\\\\dfrac{1}{${texNombre(a, 1)}}${miseEnEvidence('\\\\boldsymbol{>}', 'blue')}\\\\dfrac{1}{${texNombre(b, 1)}}$`\n } else { texteCorr += `Comme $${texNombre(b, 1)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${texNombre(a, 1)}$, alors $\\\\dfrac{1}{${texNombre(b, 1)}}${miseEnEvidence('\\\\boldsymbol{>}', 'blue')}\\\\dfrac{1}{${texNombre(a, 1)}}$` }\n }\n if (N === 2) {\n a = (new Decimal(randint(1, 9) * 10 + randint(5, 9))).div(10)\n b = (new Decimal(randint(1, 9))).div(10).mul(choice([1, -1])).plus(a)\n texte = `En utilisant le sens de variation d'une fonction de référence, comparer $-\\\\dfrac{1}{${texNombre(a, 1)}}$ et $-\\\\dfrac{1}{${texNombre(b, 1)}}$.`\n texteCorr = `On doit comparer $-\\\\dfrac{1}{${texNombre(a, 1)}}$ et $-\\\\dfrac{1}{${texNombre(b, 1)}}$ soit $\\\\dfrac{1}{-${texNombre(a, 1)}}$ et $\\\\dfrac{1}{-${texNombre(b, 1)}}$, c'est-à-dire\n les inverses de deux nombres (négatifs). On utilise donc la fonction inverse.<br>\n La fonction inverse étant strictement décroissante sur $]-\\\\infty;0[$, elle change l'ordre.\n Cela signifie que deux nombres strictement négatifs sont rangés dans l'ordre inverse de leurs inverses.<br>\n Autrement dit, si $a$ et $b$ sont deux nombres strictement négatifs et si $a < b$, alors $\\\\dfrac{1}{a} > \\\\dfrac{1}{b}$.<br>`\n\n if (a > b) {\n texteCorr += ` Comme $-${texNombre(a, 1)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}-${texNombre(b, 1)}$, alors $\\\\dfrac{1}{-${texNombre(a, 1)}}${miseEnEvidence('\\\\boldsymbol{>}', 'blue')}\\\\dfrac{1}{-${texNombre(b, 1)}}$`\n } else { texteCorr += `Comme $-${texNombre(b, 1)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}-${texNombre(a, 1)}$, alors $\\\\dfrac{1}{-${texNombre(b, 1)}}${miseEnEvidence('\\\\boldsymbol{>}', 'blue')}\\\\dfrac{1}{-${texNombre(a, 1)}}$` }\n }\n break\n\n case 'cube':\n a = (new Decimal(randint(-10, 10) * 10 + randint(-9, 9, 0))).div(10).mul(choice([-1, 1]))\n b = (new Decimal(randint(1, 9))).div(10).mul(choice([-1, 1]))\n texte = `En utilisant le sens de variation d'une fonction de référence, comparer $${ecritureParentheseSiNegatif(a, 1)}^3$\n et $${ecritureParentheseSiNegatif(b, 1)}^3$.`\n texteCorr = `On doit comparer les cubes de deux nombres. On utilise donc la fonction cube.<br>\n La fonction cube étant strictement croissante sur $\\\\mathbb{R}$, elle conserve l'ordre.\n Cela signifie que deux nombres réels sont rangés dans le même ordre que leurs cubes.<br>\n Autrement dit, si $a$ et $b$ sont deux nombres réels et si $a < b$, alors $a^3 < b^3$.<br>`\n if (a.lessThan(b)) { texteCorr += `Comme $${texNombre(a, 1)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${texNombre(b, 1)}$, alors $${ecritureParentheseSiNegatif(a, 1)}^3${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${ecritureParentheseSiNegatif(b, 1)}^3$.` } else { texteCorr += `Comme $${texNombre(b, 1)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${texNombre(a, 1)}$, alors $${ecritureParentheseSiNegatif(b, 1)}^3${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${ecritureParentheseSiNegatif(a, 1)}^3$.` }\n break\n case 'racine carrée':\n a = (new Decimal(randint(0, 10) * 10 + randint(6, 9))).div(10)\n b = (new Decimal(randint(1, 5, 0))).div(10).mul(choice([-1, 1])).plus(a)\n texte = `En utilisant le sens de variation d'une fonction de référence, comparer $\\\\sqrt{${texNombre(a, 1)}}$ et $\\\\sqrt{${texNombre(b)}}$.`\n texteCorr = `On doit comparer les racines carrées de deux nombres. On utilise donc la fonction racine carrée.<br>\n La fonction racine carrée étant strictement croissante sur $[0;+\\\\infty[$, elle conserve l'ordre.\n Cela signifie que deux nombres réels positifs sont rangés dans le même ordre que leurs racines carrées.<br>\n Autrement dit, si $a$ et $b$ sont deux nombres réels positifs et si $a < b$, alors $\\\\sqrt{a} < \\\\sqrt{b}$.<br>`\n if (a < b) {\n texteCorr += ` Comme $${texNombre(a, 1)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${texNombre(b, 1)}$, alors\n $\\\\sqrt{${texNombre(a, 1)}}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}\\\\sqrt{${texNombre(b, 1)}}$.`\n } else {\n texteCorr += ` Comme $${texNombre(b, 1)}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}${texNombre(a, 1)}$,\n alors $\\\\sqrt{${texNombre(b, 1)}}${miseEnEvidence('\\\\boldsymbol{<}', 'blue')}\\\\sqrt{${texNombre(a, 1)}}$.`\n }\n\n break\n }\n\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 = ['Choix des questions', 5, '1 : carré\\n2 : inverse\\n3 : cube\\n4 : racine carrée\\n5 : mélange']\n}\n"],"names":["titre","dateDePublication","ecritureParentheseSiNegatif","a","maximumFractionDigits","Decimal","stringNombre","result","uuid","ref","ComparerAvecFctRef","Exercice","typeDeQuestionsDisponibles","listeFractions1","listeFractions2","listeTypeQuestions","combinaisonListes","i","b","N","texte","texteCorr","fraction1","fraction2","n1","d1","n2","d2","d3","n3","n4","cpt","randint","choice","texNombre","miseEnEvidence","deprecatedTexFraction","listeQuestionsToContenu"],"mappings":"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"}