File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/betaSys2x2CombLin-Of2w98QS.js.map
{"version":3,"file":"betaSys2x2CombLin-Of2w98QS.js","sources":["../../src/exercices/beta/betaSys2x2CombLin.js"],"sourcesContent":["import { simplify } from 'mathjs'\nimport { matriceCarree } from '../../lib/mathFonctions/MatriceCarree.js'\nimport {\n ecritureAlgebrique,\n ecritureAlgebriqueSauf1,\n ecritureParentheseSiNegatif,\n rienSi1\n} from '../../lib/outils/ecritures.js'\nimport { abs } from '../../lib/outils/nombres.js'\n\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu, ppcm, randint } from '../../modules/outils.js'\nimport Exercice from '../Exercice.js'\n\nexport const titre = '2G35-3'\n\n// Représentation d'un système 2x2\n\nconst axby = (a, b, niveau) => niveau === 1\n ? rienSi1(a) + 'x' + ecritureAlgebriqueSauf1(b) + 'y' // Ecriture simple (niveau 1)\n : simplify(a + '*x+' + b + '*y').toString().replaceAll('*', '') // Ecriture avec factorisation ou parenthèse (niveau 2)\n\nconst dessSysteme = (s, d, niveau) =>\n `\\\\begin{cases} ${axby(s.a11, s.a12, niveau)} & = ${d[0]} \\\\\\\\\n ${axby(s.a21, s.a22, niveau)} & = ${d[1]} \\\\end{cases}`\n\n/**\n * Description didactique de l'exercice\n * @author Eric Schrafstetter\n * Référence\n */\nexport default function Systeme2x2parCombinaisonLineaire () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.consigne = 'Résoudre chacun des systèmes suivants $\\\\emph{par combinaisons}$'\n this.nbQuestions = 2\n this.nbCols = 1 // Uniquement pour la sortie LaTeX\n this.nbColsCorr = 1 // Uniquement pour la sortie LaTeX\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 context.isHtml ? (this.spacingCorr = 2) : (this.spacingCorr = 1)\n this.sup = 1 // Ecriture simple du système\n this.nouvelleVersion = function () {\n const niveau = +this.sup // Niveau 1 = écriture ax+by = c ; Niveau 2 = parenthèses ou factorisation\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n\n for (let i = 0, texte, texteCorr, sys, varSol, varCoeff, coeff, droit, mat, equationX, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n // Boucle principale où i+1 correspond au numéro de la question\n sys = {}\n varSol = ['xS', 'yS'] // Noms des variables pour la solution\n varCoeff = ['a11', 'a12', 'a21', 'a22'] // Noms des coefficients de la matrice\n do {\n varSol.concat(varCoeff).forEach(v => (sys[v] = randint(-10, 10, 0))) // Affectation des 6 valeurs\n coeff = matriceCarree([[sys.a11, sys.a12], [sys.a21, sys.a22]]) // Création de la matrice\n } while (coeff.determinant === 0) // On veut une unique solution\n droit = coeff.multiplieVecteur([sys.xS, sys.yS]) // Vecteur à droite du système\n mat = dessSysteme(sys, droit, niveau) // Représentation du système\n equationX = rienSi1(sys.a11) + 'x' + ecritureAlgebrique(sys.a12 * sys.yS) + '=' + droit[0] // Equation finale en x\n\n texte = `$${mat}$`\n\n texteCorr = 'Donnons un nom à chacune des lignes du système :<br>'\n texteCorr += `$\\\\begin{matrix} L_1 \\\\\\\\ L_2 \\\\end{matrix}${mat}$<br>`\n\n const m = ppcm(abs(sys.a11), abs(sys.a21)) // ppcm entre les coefficients en x\n const c1 = m / sys.a11 // coeff multiplicateur\n const c2 = m / sys.a21\n if (c1 !== 1 || c2 !== 1) {\n texteCorr += 'Faisons apparaître le même coefficient devant $x$ pour les 2 lignes :<br>'\n texteCorr += `Le plus petit multiple commun entre les coefficients ${sys.a11} et ${sys.a21} est ${m}, pour cela :<br>`\n if (c1 !== 1) { texteCorr += `- Multiplions la ligne $L_1$ par ${c1}<br>` }\n if (c2 !== 1) { texteCorr += `- Multiplions la ligne $L_2$ par ${c2}<br>` }\n sys.a11 *= c1 // Màj des coeff de la matrice\n sys.a12 *= c1\n sys.a21 *= c2\n sys.a22 *= c2\n coeff = matriceCarree([[sys.a11, sys.a12], [sys.a21, sys.a22]]) // Nouveau système\n droit = coeff.multiplieVecteur([sys.xS, sys.yS]) // Terme à droite de l'égalité\n mat = dessSysteme(sys, droit, niveau)\n texteCorr += 'On obtient alors le système :<br>$\\\\begin{array}{r}'\n if (c1 !== 1) { texteCorr += `${ecritureParentheseSiNegatif(c1)}\\\\times ` } // on n'affiche pas les \"1 *\n texteCorr += 'L_1 \\\\\\\\'\n if (c2 !== 1) { texteCorr += `${ecritureParentheseSiNegatif(c2)}\\\\times ` }\n texteCorr += `L_2 \\\\end{array}${mat}$<br>`\n }\n texteCorr += 'Soustrayons les lignes pour éliminer les $x$ : <br>'\n // Elimination des x et résolution de l'équation en y\n texteCorr += `$${axby(sys.a11, sys.a12, niveau)}-(${axby(sys.a21, sys.a22, niveau)}) = ${droit[0]} - ${ecritureParentheseSiNegatif(droit[1])}$ <br>`\n texteCorr += `On obtient l'équation à une inconnue : $${rienSi1(sys.a12 - sys.a22)}y = ${droit[0] - droit[1]}$ <br>`\n texteCorr += `qui admet comme solution $y=${sys.yS}$ <br>`\n // Calcul du x\n texteCorr += `Remplaçons $y$ par $${sys.yS}$ dans $L_1$ (on aurait pu aussi utiliser $L_2$):<br>`\n texteCorr += `$L_1$ : $${equationX}$ et donc $x=${sys.xS}$<br>`\n texteCorr += `$\\\\underline{Conclusion}$ : $S=\\\\{(${sys.xS},${sys.yS})\\\\}$<br>`\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 = [\n 'Niveau de difficulté', 2,\n '1 : Ecriture simplifiée du système\\n2 : Ecriture quelconque du système'\n ]\n}\n"],"names":["titre","axby","a","b","niveau","rienSi1","ecritureAlgebriqueSauf1","simplify","dessSysteme","d","Systeme2x2parCombinaisonLineaire","Exercice","context","i","texte","texteCorr","sys","varSol","varCoeff","coeff","droit","mat","equationX","cpt","v","randint","matriceCarree","ecritureAlgebrique","m","ppcm","abs","c1","c2","ecritureParentheseSiNegatif","listeQuestionsToContenu"],"mappings":"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"}