File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/betaEqValAbs-iV_pYx-n.js.map
{"version":3,"file":"betaEqValAbs-iV_pYx-n.js","sources":["../../src/exercices/beta/betaEqValAbs.js"],"sourcesContent":["import { texMasse } from '../../lib/format/style'\nimport { tableauDeVariation } from '../../lib/mathFonctions/etudeFonction.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu, randint, xcas } from '../../modules/outils.js'\nimport Exercice from '../Exercice.js'\n\nexport const titre = 'Résoudre une équation avec une valeur absolue'\n\n/**\n * Description didactique de l'exercice\n * @author Eric Schrafstetter\n * Référence\n */\nexport default function EquationAvecUneValeurAbsolue () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.consigne = 'Résoudre dans $\\\\mathbb{R}$ les équations :'\n this.nbQuestions = 2\n this.nbCols = 1 // Uniquement pour la sortie LaTeX\n this.nbColsCorr = 1 // 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 this.typeExercice = 'xcas'\n context.isHtml ? (this.spacingCorr = 2) : (this.spacingCorr = 1.5)\n this.listePackages = 'tkz-tab' // Pour la compilation LateX des tableaux de signes\n\n this.nouvelleVersion = function () {\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n\n for (let i = 0, texte, texteCorr, a, b, pente, signe, entier, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n // Boucle principale où i+1 correspond au numéro de la question\n a = randint(-5, 5, 0) + '*x+' + randint(-20, 20)\n b = randint(-5, 5, 0) + '*x+' + randint(-20, 20);\n [\n `a:=simplify(${a})`,\n 'pente:=lcoeff(a)',\n `b:=simplify(${b})`,\n 'x1:=solve(a)(1)'\n ].forEach(e => `${xcas(e)}`)\n pente = +`${xcas('pente')}` > 0 ? 'croissante' : 'décroissante'\n signe = +`${xcas('pente')}` > 0 ? '-+' : '+-';\n [\n `cas1:=simplify(${signe[0]}a)`,\n `cas2:=simplify(${signe[1]}a)`,\n 'scas1:=solve(cas1=b)',\n 'xcas1:=piecewise(len(scas1)>0, scas1(1), i)',\n 'scas2:=solve(cas2=b)',\n 'xcas2:=piecewise(len(scas2)>0, scas2(1), i)'\n ].forEach(e => `${xcas(e)}`)\n\n // Enoncé\n texte = `$${xcas('abs(a)')}=${xcas('b')}$`\n // Corrigé\n texteCorr = 'Pour supprimer la valeur absolue, on cherche la valeur remarquable qui annule l\\'expression entre les $\\\\mid.\\\\mid$'\n entier = (1e3 * +`${xcas('approx(x1,4)')}`) % 1 === 0 ? '' : `\\\\simeq${xcas('approx(x1,4)')}`\n texteCorr += `<br>On aura $${xcas('a')}=0$ lorsque $x=${xcas('x1')}${entier}$`\n texteCorr += `<br>De plus la droite $y=${xcas('a')}$ est ${pente}, ce qui permet d'obtenir le tableau des signes suivant :`\n\n texteCorr += tableauDeVariation({\n tabInit: [\n [\n // Première colonne du tableau avec le format [chaine d'entête, hauteur de ligne, nombre de pixels de largeur estimée du texte pour le centrage]\n ['$x$', 2.5, 10], [`$${xcas('a')}$`, 1.5, 50], [`$${xcas('abs(a)')}$`, 1.5, 50], ['', 1.2, 20]\n ],\n // Première ligne du tableau avec chaque antécédent suivi de son nombre de pixels de largeur estimée du texte pour le centrage\n ['$-\\\\infty$', 20, `$${xcas('x1')}$`, 40, '$+\\\\infty$', 20]\n ],\n // Les autres lignes du tableau dont le fonctionnement est expliqué plus haut\n tabLines: [['Line', 20, '', 0, `$${signe[0]}$`, 50, 'z', 20, `$${signe[1]}$`, 50],\n ['Line', 20, '', 0, `$${xcas('cas1')}$`, 50, 'z', 20, `$${xcas('cas2')}$`, 50],\n ['Line', 20, '', 0, '$\\\\text{Cas 1}$', 50, 't', 20, '$\\\\text{Cas 2}$', 50]\n ],\n\n colorBackground: '',\n espcl: 3.5, // taille en cm entre deux antécédents\n deltacl: 0.8, // distance entre la bordure et les premiers et derniers antécédents\n lgt: 8\n })\n\n texteCorr += `<br>$\\\\underline{\\\\text{Cas 1}}$ : On cherche $x\\\\in ]-\\\\infty,${xcas('x1')}]$ tels que : $${xcas('cas1')}=${xcas('b')}$`\n texteCorr += `<br>Ce qui donne $${xcas('simplify(cas1-b)')}=0$ d'où `\n\n if (`${xcas('xcas1')}` === 'i') {\n texteCorr += 'une impossibilité.'\n } else {\n texteCorr += `$x=${xcas('xcas1')}$`\n // On teste si on doit afficher la valeur approchée du résultat\n entier = (1e3 * +`${xcas('approx(xcas1,4)')}`) % 1 === 0 ? '' : `\\\\simeq${texMasse(`${xcas('approx(xcas1,4)')}`)}`\n if (`${xcas('xcas1<=x1')}`.includes('true')) {\n texteCorr += `<br>Cette solution $\\\\textbf{convient}$ car $x=${xcas('xcas1')}${entier}\\\\in ]-\\\\infty,${xcas('x1')}]$`\n } else {\n texteCorr += `<br>Cette solution $\\\\underline{\\\\text{ne convient pas}}$ car $x=${xcas('xcas1')}${entier}\\\\notin ]-\\\\infty,${xcas('x1')}]$`\n }\n }\n texteCorr += `<br>$\\\\underline{\\\\text{Cas 2}}$ : On cherche $x\\\\in [${xcas('x1')},+\\\\infty[$ tels que : $${xcas('cas2')}=${xcas('b')}$`\n texteCorr += `<br>Ce qui donne $${xcas('simplify(cas2-b)')}=0$ d'où `\n\n if (`${xcas('xcas2')}` === 'i') {\n texteCorr += 'une impossibilité.'\n } else {\n texteCorr += `$x=${xcas('xcas2')}$`\n entier = (1e3 * +`${xcas('approx(xcas2,4)')}`) % 1 === 0 ? '' : `\\\\simeq${xcas('approx(xcas2,4)')}`\n if (`${xcas('xcas2>=x1')}`.includes('true')) {\n // eslint-disable-next-line no-unused-vars\n // etape = `$x=${xcas('xcas2')}\\\\simeq${xcas('approx(xcas2,4)')}$`\n texteCorr += `<br>Cette solution $\\\\textbf{convient}$ car $x=${xcas('xcas2')}${entier}\\\\in [${xcas('x1')},+\\\\infty[$`\n } else {\n texteCorr += `<br>Cette solution $\\\\underline{\\\\text{ne convient pas}}$ car $x=${xcas('xcas2')}${entier}\\\\notin [${xcas('x1')},+\\\\infty[$`\n }\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 = ['Niveau de difficulté', 3]\n}\n\n// python3 list-to-js.py pour faire apparaître l'exercice dans le menu\n"],"names":["titre","EquationAvecUneValeurAbsolue","Exercice","context","i","texte","texteCorr","a","b","pente","signe","entier","cpt","randint","e","xcas","tableauDeVariation","texMasse","listeQuestionsToContenu"],"mappings":"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"}