File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/betaEquations-yHdzcDgH.js.map
{"version":3,"file":"betaEquations-yHdzcDgH.js","sources":["../../src/exercices/beta/betaEquations.js"],"sourcesContent":["import { point } from '../../lib/2d/points.js'\nimport { polygone } from '../../lib/2d/polygones.js'\nimport { segment } from '../../lib/2d/segmentsVecteurs.js'\nimport { texteParPosition } from '../../lib/2d/textes.js'\nimport Exercice from '../Exercice.js'\nimport { fixeBordures, mathalea2d, ObjetMathalea2D } from '../../modules/2dGeneralites.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu } from '../../modules/outils.js'\nimport { parse, simplify, compare, evaluate } from 'mathjs'\nimport { aleaName, aleaExpression, resoudre, toTex, calculer, calculExpression2, resoudreEquation, aleaEquation, expressionLitterale, aleaVariables, traduireProgrammeCalcul, appliquerProgrammeCalcul, remonterProgrammeCalcul, ecrireProgrammeCalcul } from '../../modules/outilsMathjs.js'\nimport Algebrite from 'algebrite'\n\n// eslint-disable-next-line no-debugger\ndebugger\nconst nbCase = 139\n\nexport const titre = 'Calculs algébriques'\n// Les exports suivants sont optionnels mais au moins la date de publication semble essentielle\nexport const dateDePublication = '02/01/2021' // La date de publication initiale au format 'jj/mm/aaaa' pour affichage temporaire d'un tag\n\nfunction TraceSchemaBarre (x, y, legende = '', { epaisseur = 0.6, couleurDeRemplissage = 'blue', color = 'black', opaciteDeRemplissage = 0.3, angle = 66, unite = 1, hachures = false } = {}) {\n ObjetMathalea2D.call(this, { })\n this.bordures = [x, 0, x + epaisseur, y * unite]\n const p = polygone(\n point(x, 0),\n point(x, y * unite),\n point(x + epaisseur, y * unite),\n point(x + epaisseur, 0)\n )\n p.couleurDeRemplissage = couleurDeRemplissage\n p.opaciteDeRemplissage = opaciteDeRemplissage\n p.color = color\n if (hachures) {\n p.hachures = hachures\n }\n const texte = texteParPosition(legende, x, -0.2, angle, 'black', 1, 'gauche')\n\n this.tikz = function () {\n return p.tikz() + '\\n' + texte.tikz()\n }\n this.svg = function (coeff) {\n return p.svg(coeff) + '\\n' + texte.svg(coeff)\n }\n}\n\nfunction traceSchemaBarre (...args) {\n return new TraceSchemaBarre(...args)\n}\n\nfunction schemaBarre () {\n const diagramme = []\n const longueur1 = segment(point(0, 1.5), point(6, 1.5))\n longueur1.styleExtremites = '<->'\n diagramme.push(longueur1)\n diagramme.push(traceSchemaBarre(0, 1, '', { couleurDeRemplissage: 'blue', epaisseur: 6 }))\n diagramme.push(traceSchemaBarre(6, 1, '', { couleurDeRemplissage: 'blue', epaisseur: 5 }))\n const diagrammeMathalea = mathalea2d(Object.assign({}, fixeBordures(diagramme, { rxmin: -3, rymin: -2, rymax: 1.5 }), { style: 'inline', scale: 1 }), ...diagramme)\n const texte = `${diagrammeMathalea}`\n const texteCorr = ''\n return { texte, texteCorr }\n}\n/**\n * Résoudre des équations du premier degré\n * @author Frédéric PIOU\n * Référence\n*/\n\nexport default function EquationsProgression () {\n Exercice.call(this)\n const formulaire = []\n for (let i = 0; i < nbCase; i++) formulaire.push(`${i}`)\n this.nbQuestions = 0\n this.besoinFormulaireNumerique = [\n 'Type de questions', nbCase, formulaire.join('\\n')\n ]\n this.consigne = ''\n this.nbCols = 0\n this.nbColsCorr = 0\n this.tailleDiaporama = 1\n this.video = ''\n this.correctionDetailleeDisponible = true\n this.correctionDetaillee = true\n context.isHtml ? (this.spacing = 2.5) : (this.spacing = 0)\n context.isHtml ? (this.spacingCorr = 2.5) : (this.spacingCorr = 0)\n this.sup = 'all' // Type d'exercice\n this.nouvelleVersion = function (numeroExercice, debug = true) {\n const ddbug = debug\n this.nbQuestions = this.NbQuestions > 0 ? this.nbQuestions : this.sup !== 'all' ? 1 : formulaire.length - 1\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n this.autoCorrection = [] // À placer même si l'exercice n'a pas vocation à être corrigé\n let nquestion = 0\n for (let i = 0, exercice = { texte: '', texteCorr: '' }, cpt = 0; i < this.nbQuestions && cpt < 200;) { // Boucle principale où i+1 correspond au numéro de la question\n nquestion = this.sup === 'all' ? cpt + 1 : this.sup\n if (ddbug) {\n console.log(`\n ********************************\n Exercice ${i + 1} Case ${nquestion}\n ********************************`)\n }\n switch (nquestion) {\n case 1: {\n exercice = traduireProgrammeCalcul(['+', '*'], parse(1), ddbug)\n break\n }\n case 2: {\n exercice = traduireProgrammeCalcul(['*', '+'], parse(1), ddbug)\n break\n }\n case 3: {\n exercice = traduireProgrammeCalcul(['+', '*', '-'], parse(1), ddbug)\n break\n }\n case 4: {\n exercice = traduireProgrammeCalcul(['-', '*', '2*x'], parse(1), ddbug)\n break\n }\n case 5: {\n exercice = resoudreEquation(aleaEquation('a*x+b=c*x+d', { // Ici le type de l'équation\n a: false, // a est un nombre entier compris entre 1 et 9 (1 et 9 compris)\n b: false, // idem\n c: false,\n d: false, // aleaEquation va choisir au hasard les nombres a, b, c et d\n test: 'a!=c' // mais elle vérfie que a est différent de c (1000 essais autorisés)\n }), ddbug)\n break\n }\n case 6: {\n exercice = resoudreEquation(aleaEquation('a*x+b=c*x+d', {\n a: false,\n b: true, // Si c'est true alors le nombre pourra être négatif (mais pas nul)\n c: false,\n d: true, // C'est toujours un nombre entier compris entre -9 et 9 cette fois-ci (non nul)\n test: 'a!=c'\n }), ddbug)\n break\n }\n case 7: {\n exercice = resoudreEquation(aleaEquation('a*x+b=c*x+d', {\n a: true,\n b: true,\n c: false,\n d: true,\n test: 'a!=c'\n }), ddbug)\n break\n }\n case 8: {\n exercice = resoudreEquation(aleaEquation('x/a=b/c', {\n a: false,\n b: true,\n c: false,\n test: 'a!= 1 and abs(b)%c!=0' // Ici on fait en sorte que b/c ne soit pas simplifiable en utilisant le reste\n }), ddbug)\n break\n }\n case 9: {\n exercice = resoudreEquation(aleaEquation('-x/a=b/c', {\n a: false,\n b: true,\n c: false,\n test: 'abs(b)%c!=0'\n }), ddbug)\n break\n }\n case 10: {\n exercice = resoudreEquation(aleaEquation('a/x=b/c', {\n a: true,\n b: true,\n c: false,\n test: 'abs(b)%c!=0'\n }), ddbug)\n break\n }\n case 11: {\n exercice = resoudreEquation(aleaEquation('(a*x+b)/c=d/e', {\n a: true,\n b: true,\n c: false,\n d: true,\n e: false,\n test: 'c>1 and a%c!=0 and abs(d)%e!=0'\n }), ddbug)\n break\n }\n case 12: {\n exercice = resoudreEquation(aleaEquation('a*x+b/c=d/e', {\n a: true,\n b: true,\n c: false,\n d: true,\n e: false,\n test: 'c>1 and abs(d)%e!=0 and abs(b)%c!=0'\n }), ddbug)\n break\n }\n case 13: {\n exercice = resoudreEquation(aleaEquation('a/(b*x+c)=d/e', {\n a: true,\n b: true,\n c: true,\n d: true,\n e: false,\n test: 'abs(d)%e!=0'\n }), ddbug)\n break\n }\n case 14: {\n exercice = resoudreEquation(aleaEquation('A*x+B=C*x+D', {\n s: 'fraction(randomInt(-9, 9))+fraction(randomInt(-10, 10), 10)', // les calculs avec fraction donnent des valeurs exactes\n a: 'fraction(randomInt(-9, 9))+fraction(randomInt(-10, 10), 10)', // même si on les additionnent\n b: 'fraction(randomInt(-9, 9))+fraction(randomInt(-10, 10), 10)', // c'est un avantage\n c: 'fraction(randomInt(-9, 9))+fraction(randomInt(-10, 10), 10)', //\n A: 'a+b', // on construit les coefficient de l'équation\n B: 'c', // pour que la solution\n C: 'b', // soit le nombre s (qui est décimal)\n D: 'a*s+c',\n test: 'A!=0 and D!=0' // Le test permet d'éliminer les cas particuliers\n }), ddbug)\n break\n }\n case 15: {\n exercice = resoudreEquation(aleaEquation('a*(b*x+c)=d*x+e', {\n a: true,\n b: true,\n c: true,\n d: true,\n e: false,\n test: 'a!=1 and a*b!=d' // Pour qu'il y ait une solution\n }), ddbug)\n break\n }\n case 16: {\n exercice = resoudreEquation(aleaEquation('a*x+b*y=c', { // On résous l'équation en x\n a: true, // On aura donc y en fonction de x\n b: true,\n c: true\n }), ddbug)\n break\n }\n case 17: {\n exercice = resoudreEquation(aleaEquation('a*x^2+b=a*x*(x+c)', {\n a: true, // On s'arrange pour qu'on puisse\n b: true, // se ramener à une équation\n c: true // du premier degré\n }), ddbug)\n break\n }\n case 18: {\n exercice = resoudreEquation(aleaEquation('x/a=y', {\n a: false,\n test: 'a!=1'\n }), ddbug)\n break\n }\n case 19: {\n exercice = calculer('a/b+c/d',\n {\n comment: true,\n substeps: true,\n variables: aleaVariables({\n a: false,\n b: 'randomInt(2,100)',\n c: false,\n d: 'randomInt(2,100)',\n test: '(d%b==0 or b%d==0) and gcd(a,b)==1 and gcd(c,d)==1'\n })\n })\n break\n }\n case 20: {\n exercice = calculer(aleaExpression('a*x+b*x', aleaVariables({\n a: 'randomInt(2,100)',\n b: 'randomInt(2,100)'\n })).toString())\n break\n }\n case 21: {\n exercice = calculer(aleaExpression('a*x+b*x-c*x', aleaVariables({\n a: 'randomInt(2,100)',\n b: 'randomInt(2,100)',\n c: 'randomInt(2,100)',\n test: 'a+b>=c'\n })).toString())\n break\n }\n case 22: {\n exercice = calculer(aleaExpression('a/b*x+c/d*x', aleaVariables({\n a: false,\n b: 'randomInt(2,100)',\n c: false,\n d: 'randomInt(2,100)',\n test: '(d%b==0 or b%d==0) and gcd(a,b)==1 and gcd(c,d)==1'\n // On souhaite que l'une des deux fractions soit simplifiable\n })).toString())\n break\n }\n case 23: {\n exercice = calculer(aleaExpression('a*x^2+b*x+c*x^2', aleaVariables({\n a: 'randomInt(1,20)',\n b: 'randomInt(1,20)',\n c: 'randomInt(1,20)'\n })).toString())\n break\n }\n case 24: {\n const variables = aleaVariables(\n {\n a: 'randomInt(1,15)^2',\n c: 'randomInt(1,15)^2',\n b: '2*sqrt(a)*sqrt(c)'\n }\n )\n exercice = calculer('a*x^2+c*x+b', {\n variables\n })\n break\n }\n case 25: {\n // doublon avec le case 24\n const variables = aleaVariables(\n {\n a: 'randomInt(1,15)^2',\n c: 'randomInt(1,15)^2',\n b: '2*sqrt(a)*sqrt(c)'\n }\n )\n exercice = calculer('a*x^2+c*x+b', {\n variables\n })\n break\n }\n case 26: {\n exercice = calculer(aleaExpression('a*x^2-b', aleaVariables({\n a: 'randomInt(1,15)^2',\n b: 'randomInt(1,15)^2'\n })).toString(), true, ddbug)\n break\n }\n case 27: {\n exercice = ecrireProgrammeCalcul(['-', '*', '2*x'], parse(1), ddbug)\n break\n }\n case 28: {\n exercice = ecrireProgrammeCalcul(['-', '*', '2*x'], parse(1), ddbug)\n break\n }\n case 29: {\n exercice = calculer(aleaExpression('a+c/d', aleaVariables({\n a: false,\n b: 'randomInt(2,100)',\n c: false,\n d: 'randomInt(2,100)',\n test: 'c!=d and c%d!=0'\n })).toString())\n break\n }\n case 30: {\n exercice = calculer(aleaExpression('a-c/d', aleaVariables({\n a: false,\n b: 'randomInt(2,100)',\n c: false,\n d: 'randomInt(2,100)',\n test: 'c!=d and c%d!=0 and a-c/d>0'\n })).toString())\n break\n }\n case 31: {\n exercice = calculer(aleaExpression('a/b-c/d', aleaVariables({\n a: false,\n b: 'randomInt(2,100)',\n c: false,\n d: 'randomInt(2,100)',\n test: 'gcd(a,b)==1 and gcd(c,d)==1 and d!=b and (d%b==0 or b%d==0) and a/b-c/d>0'\n })).toString())\n break\n }\n case 32: {\n exercice = resoudreEquation(aleaEquation('a*x+b>c*x+d', { // On résoud maintenant une inéquation\n a: false,\n b: false,\n c: false,\n d: false,\n test: 'a!=c'\n }), ddbug)\n break\n }\n case 33: {\n exercice = resoudreEquation(aleaEquation('a*x^2+b*x+c=0', { // On résoud une équation du second degré\n s: true,\n t: true,\n a: true,\n b: 'a*(-s-t)', // les racines sont des entiers (seuls gérés par mathsteps)\n c: 'a*s*t'\n }, ddbug), ddbug)\n break\n }\n case 34: {\n exercice = traduireProgrammeCalcul(['+', '*'], parse(1), ddbug)\n break\n }\n case 35: {\n exercice = ecrireProgrammeCalcul(['*', '+'], parse(1), ddbug)\n break\n }\n case 36: {\n exercice = traduireProgrammeCalcul(['*', '2*x'], parse(1), ddbug)\n break\n }\n case 37: {\n exercice = traduireProgrammeCalcul(['-', '-2*x'], parse(1), ddbug)\n break\n }\n case 38: {\n exercice = traduireProgrammeCalcul(['-', '/', 'x'], parse(1), ddbug)\n break\n }\n case 39: {\n exercice = appliquerProgrammeCalcul(\n ['-', '/', 'x', '*', 'x^2'],\n aleaVariables(\n {\n a: true,\n b: false,\n c: 'fraction(a,b)',\n test: 'a%b!=0'\n }).c, ddbug)\n break\n }\n case 40: {\n exercice = remonterProgrammeCalcul(\n ['-', '/', '*', '+'],\n aleaVariables(\n {\n a: true,\n b: false,\n c: 'fraction(a,b)',\n test: 'a%b!=0'\n }).c, ddbug)\n break\n }\n case 41: {\n exercice = remonterProgrammeCalcul(\n ['-'],\n aleaVariables(\n {\n a: false\n }).a, ddbug)\n break\n }\n case 42: {\n exercice = remonterProgrammeCalcul(\n ['-', '*'],\n aleaVariables(\n {\n a: false\n }).a, ddbug)\n break\n }\n case 43: {\n exercice = calculer(aleaExpression('(a/b)*(c/d)', aleaVariables({\n a: false,\n b: 'randomInt(2,100)',\n c: false,\n d: 'randomInt(2,100)',\n test: 'gcd(a,b)==1 and gcd(c,d)==1 and d!=b and (d%b==0 or b%d==0) and a/b-c/d>0'\n })).toString({ parenthesis: 'keep' }))\n break\n }\n case 44: {\n exercice = calculer(aleaExpression('a*x+b*x', aleaVariables({\n a: 'round(random(1,10),1)',\n b: 'round(random(-10,10),1)',\n test: 'b!=0 and a+b>0'\n })).toString())\n break\n }\n case 45: {\n exercice = calculer(aleaExpression('a*x*b', aleaVariables({\n a: false,\n b: false,\n test: 'a>1 and b>1'\n })).toString())\n break\n }\n case 46: {\n exercice = calculer(aleaExpression('a*x*b+c*x', aleaVariables({\n a: false,\n b: false,\n c: true,\n test: 'b>1 and a>1 and a*b+c>0'\n })).toString())\n break\n }\n case 47: {\n exercice = calculer(aleaExpression('a*x*b+c*x', aleaVariables({\n a: false,\n b: false,\n c: true,\n test: 'b>1 and a>1 and a*b+c>0'\n })).toString())\n break\n }\n case 48: {\n exercice = calculer(aleaExpression('x*a*x*b', aleaVariables({\n a: false,\n b: false,\n test: 'b>1 and a>1'\n })).toString())\n break\n }\n case 49: {\n exercice = calculer(aleaExpression('x*a*x+b*x^2', aleaVariables({\n a: false,\n b: true,\n test: 'a>1 and a+b>0'\n })).toString())\n break\n }\n case 50: {\n exercice = calculer(aleaExpression('a*x*b*x*c*x+d*x^2', aleaVariables({\n a: false,\n b: false,\n c: false,\n d: true,\n test: 'a>1 and b>1 and c>1'\n })).toString())\n break\n }\n case 51: {\n exercice = traduireProgrammeCalcul(['+', '/', '-x^2'], parse(1), ddbug)\n break\n }\n case 52: {\n exercice = traduireProgrammeCalcul(['*', '-x', '/'], parse(1), ddbug)\n break\n }\n case 53: {\n exercice = traduireProgrammeCalcul(['/', '-x', '*'], parse(1), ddbug)\n break\n }\n case 54: {\n exercice = appliquerProgrammeCalcul(['+', '*', '-'], aleaVariables(\n {\n a: true\n }).a, ddbug)\n break\n }\n case 55: {\n exercice = remonterProgrammeCalcul(['*', '-', '/'], aleaVariables(\n {\n a: true\n }).a, ddbug)\n break\n }\n case 56: {\n exercice = remonterProgrammeCalcul(['+', '*', '-'], aleaVariables(\n {\n a: true\n }).a, ddbug)\n break\n }\n case 57: {\n exercice = calculer(aleaExpression('a/b+c/d',\n aleaVariables({\n a: true,\n b: 'randomInt(2,100)',\n c: true,\n d: 'randomInt(2,100)',\n test: '(d%b==0 or b%d==0) and gcd(abs(a),b)==1 and gcd(abs(c),d)==1'\n })).toString())\n break\n }\n case 58: {\n exercice = calculer(aleaExpression('a+c/d', aleaVariables({\n a: true,\n b: 'randomInt(2,100)',\n c: true,\n d: 'randomInt(2,100)',\n test: 'c!=d and c%d!=0'\n })).toString())\n break\n }\n case 59: {\n exercice = calculer(aleaExpression('a*x+b*x', aleaVariables({\n a: 'round(random(-10,10),1)',\n b: 'round(random(-10,10),1)',\n test: 'b!=0 and a!=0'\n })).toString())\n break\n }\n case 60: {\n exercice = calculer(aleaExpression('a*x*b', aleaVariables({\n a: true,\n b: true,\n test: 'a!= 1 and abs(b)!=1'\n })).toString())\n break\n }\n case 61: {\n exercice = calculer(aleaExpression('a*x*b+c*x', aleaVariables({\n a: true,\n b: true,\n c: true,\n test: 'a!= 1 and b!=1'\n })).toString())\n break\n }\n case 62: {\n exercice = calculer(aleaExpression('x*a*x*b', aleaVariables({\n a: true,\n b: true,\n test: 'a!=1 and b!=1'\n })).toString())\n break\n }\n case 63: {\n exercice = calculer(aleaExpression('x*a*x+b*x^2', aleaVariables({\n a: true,\n b: true,\n test: 'a!=1 and b!=1'\n })).toString())\n break\n }\n case 64: {\n exercice = calculer(aleaExpression('a*x*b*x*c*x+d*x^2', aleaVariables({\n a: true,\n b: true,\n c: true,\n d: true,\n test: 'a!= 1 and b!=1 and c!=1'\n })).toString())\n break\n }\n case 65: {\n exercice = schemaBarre()\n break\n }\n case 66: {\n exercice = calculer(aleaExpression('a/e*x*b/f*x*c*x+d*x^2', aleaVariables({\n a: true,\n b: true,\n c: true,\n d: true,\n e: 'randomInt(1,10)',\n f: 'randomInt(1,10)',\n test: 'a!= 1 and b!=1 and c!=1'\n })).toString())\n break\n }\n case 67: {\n exercice = appliquerProgrammeCalcul(\n ['+', '*', 'x'],\n aleaVariables(\n {\n a: true,\n b: false,\n c: 'fraction(a,b)',\n test: 'a%b!=0'\n }).c, ddbug)\n break\n }\n case 68: {\n exercice = remonterProgrammeCalcul(['+', '/'], aleaVariables(\n {\n a: true,\n b: false,\n c: 'fraction(a,b)',\n test: 'a%b!=0'\n }).c, ddbug)\n break\n }\n case 69: {\n exercice = calculExpression2(expressionLitterale('(a*x+b)^2+(c*x+d)*(e*x+f)', aleaVariables({\n a: true,\n b: true,\n c: true,\n d: true,\n e: true,\n f: true\n })).toString())\n break\n }\n case 70: {\n exercice = calculExpression2(expressionLitterale('(a*x+b)^2+(c*x+d)*(c*x-d)', aleaVariables({\n a: true,\n b: true,\n c: true,\n d: false\n })).toString())\n break\n }\n case 71: {\n exercice = calculExpression2(expressionLitterale('(8*x-6)^2+(-9*x-2)*(7*x+2)', aleaVariables({\n a: true,\n b: true,\n c: true,\n d: false\n })).toString())\n break\n }\n case 72: {\n exercice = resoudreEquation(aleaEquation('a*x+b=c', { // On résoud une équation du second degré\n a: true,\n b: true,\n c: true\n }, ddbug), ddbug)\n break\n }\n case 73: {\n exercice = resoudreEquation(aleaEquation('x/a+b=c', { // On résoud une équation du second degré\n a: true,\n b: true,\n c: true\n }, ddbug), ddbug)\n break\n }\n case 74: {\n exercice = resoudreEquation(aleaEquation('c=a*x+b', { // On résoud une équation du second degré\n a: true,\n b: true,\n c: true\n }, ddbug), ddbug)\n break\n }\n case 75: {\n exercice = resoudreEquation(aleaEquation('a*(x+b)=c', { // On résoud une équation du second degré\n a: 'randomInt(2,10)',\n b: true,\n c: true\n }, ddbug), ddbug)\n break\n }\n case 76: {\n exercice = resoudreEquation(aleaEquation('a*(x+b)+d*x=c', { // On résoud une équation du second degré\n a: 'randomInt(2,10)',\n b: true,\n c: true,\n d: false,\n test: 'a+d!=0'\n }, ddbug), ddbug)\n break\n }\n case 77: {\n exercice = resoudreEquation(aleaEquation('a*x+b=c*x+d', { // On résoud une équation du second degré\n a: true,\n b: true,\n c: true,\n d: true,\n test: 'a!=c'\n }, ddbug), ddbug)\n break\n }\n case 78: {\n exercice = calculer(aleaExpression('a*(b*x+c)+d*x', aleaVariables({\n a: false,\n b: true,\n c: true,\n d: true,\n test: 'a> 1'\n })).toString())\n break\n }\n case 79: {\n exercice = calculer(aleaExpression('(a/b)*(a/b)+c/d*(e/f)',\n aleaVariables({\n a: true,\n b: 'randomInt(2,100)',\n c: true,\n d: 'randomInt(2,100)',\n e: true,\n f: false,\n test: '(d%b==0 or b%d==0) and gcd(abs(a),b)==1 and gcd(abs(c),d)==1'\n })).toString())\n break\n }\n case 80: {\n exercice = calculer(aleaExpression('9*(-2*x)',\n aleaVariables({\n a: true,\n b: 'randomInt(2,100)',\n c: true,\n d: 'randomInt(2,100)',\n e: true,\n f: false,\n test: '(d%b==0 or b%d==0) and gcd(abs(a),b)==1 and gcd(abs(c),d)==1'\n })).toString())\n break\n }\n case 81: {\n exercice = calculer(aleaExpression('(-8/71)*(-8/71)',\n aleaVariables({\n a: true,\n b: 'randomInt(2,100)',\n c: true,\n d: 'randomInt(2,100)',\n e: true,\n f: false,\n test: '(d%b==0 or b%d==0) and gcd(abs(a),b)==1 and gcd(abs(c),d)==1'\n })).toString())\n break\n }\n case 82: {\n exercice = resoudreEquation(aleaEquation('(-2*x+8)/8=7/2', {\n a: true,\n b: true,\n c: false,\n d: true,\n e: false,\n test: 'c>1 and a%c!=0 and abs(d)%e!=0'\n }), ddbug)\n break\n }\n case 83: {\n exercice = resoudreEquation(aleaEquation('-2*x^2-14*x-24=0', { // On résoud une équation du second degré\n s: true,\n t: true,\n a: true,\n b: 'a*(-s-t)', // les racines sont des entiers (seuls gérés par mathsteps)\n c: 'a*s*t'\n }, ddbug), ddbug)\n break\n }\n case 84: {\n exercice = resoudreEquation(aleaEquation('-x/9=-2/3', {\n a: false,\n b: true,\n c: false,\n test: 'abs(b)%c!=0'\n }), ddbug)\n break\n }\n case 85: {\n exercice = calculer(aleaExpression('(-2/3)*(-2/3)-4*(-2/3)*(-2/3)',\n aleaVariables({\n a: true,\n b: 'randomInt(2,100)',\n c: true,\n d: 'randomInt(2,100)',\n e: true,\n f: false,\n test: '(d%b==0 or b%d==0) and gcd(abs(a),b)==1 and gcd(abs(c),d)==1'\n })).toString())\n break\n }\n case 86: {\n exercice = calculer(aleaExpression('(8*x-6)^2+(-9*x-2)*(7*x+2)', aleaVariables({\n a: true,\n b: true,\n c: true,\n d: false\n })).toString())\n break\n }\n case 87: {\n exercice = calculer(aleaExpression('(-3)^2', aleaVariables({\n a: true,\n b: true,\n c: true,\n d: false\n })).toString())\n break\n }\n case 88: {\n exercice = calculer(aleaExpression('a/d*(b/e)*(c/f)', aleaVariables({\n a: true,\n b: true,\n c: true,\n d: false,\n e: false,\n f: false,\n test: 'd>1 and e>1 and f>1'\n })).toString())\n break\n }\n case 89: {\n exercice = calculer('a/d+8+x+b/e*e-7+(x-3)^2/6', {\n variables: aleaVariables({\n a: true,\n b: true,\n c: true,\n d: false,\n e: false,\n f: false,\n test: 'd>1 and e>1 and f>1'\n }),\n valueOf: true\n })\n break\n }\n case 90: {\n exercice = calculer(expressionLitterale('nthRoot(4)', aleaVariables({\n a: true,\n b: true,\n c: true,\n d: false,\n e: false,\n f: false,\n test: 'd>1 and e>1 and f>1'\n })).toString())\n break\n }\n case 91: {\n exercice = calculer(expressionLitterale('nthRoot(24)', aleaVariables({\n a: true,\n b: true,\n c: true,\n d: false,\n e: false,\n f: false,\n test: 'd>1 and e>1 and f>1'\n })).toString())\n break\n }\n case 92: {\n exercice = resoudreEquation(aleaEquation('5^2=AB^2+3^2', {\n a: false,\n b: true,\n c: false,\n test: 'abs(b)%c!=0'\n }), ddbug)\n break\n }\n case 93: {\n exercice = resoudreEquation(aleaEquation('AB^2-3^2=0', {\n a: false,\n b: true,\n c: false,\n test: 'abs(b)%c!=0'\n }), ddbug)\n break\n }\n case 94: {\n exercice = resoudreEquation(aleaEquation('AB^2-3=0', {\n a: false,\n b: true,\n c: false,\n test: 'abs(b)%c!=0'\n }), ddbug)\n break\n }\n case 95: {\n exercice = calculer(expressionLitterale('nthRoot(24)', aleaVariables({\n a: true,\n b: true,\n c: true,\n d: false,\n e: false,\n f: false,\n test: 'd>1 and e>1 and f>1'\n })).toString())\n break\n }\n case 96: {\n exercice = calculer('(2*x-3)^2')\n break\n }\n case 97: {\n exercice = calculer('(2*x-3*x)^2')\n break\n }\n case 98: {\n exercice = calculer('a/d+(b/e)', {\n substeps: true,\n variables: aleaVariables({\n a: 'pickRandom([-1,1])*randomInt(1,20)',\n b: 'pickRandom([-1,1])*randomInt(1,20)',\n // c: true,\n d: 'randomInt(1,20)',\n e: 'randomInt(1,20)',\n // f: false,\n test: 'd!=e and d>1 and e>1 and a%d!=0 and b%e!=0 and gcd(abs(a),d)==1 and gcd(abs(b),e)==1 and (d%e==0 or e%d==0)'\n })\n })\n exercice.texte = `Calculer $${exercice.printExpression}$`\n break\n }\n case 99: {\n exercice = calculer('a/d+(b/e)', {\n substeps: true,\n variables: aleaVariables({\n a: 'pickRandom([-1,1])*randomInt(1,10)',\n b: 'pickRandom([-1,1])*randomInt(1,10)',\n // c: true,\n d: 'randomInt(1,10)',\n e: 'randomInt(1,10)',\n // f: false,\n test: 'gcd(d,e)==1 and d>1 and e>1 and a%d!=0 and b%e!=0 and gcd(abs(a),d)==1 and gcd(abs(b),e)==1'\n })\n })\n exercice.texte = `Calculer $${exercice.printExpression}$`\n break\n }\n case 100: {\n exercice = calculer('a+(b/e)', {\n substeps: true,\n variables: aleaVariables({\n a: 'pickRandom([-1,1])*randomInt(1,20)',\n b: 'pickRandom([-1,1])*randomInt(1,20)',\n // c: true,\n // d: 'randomInt(1,10)',\n e: 'randomInt(1,10)',\n // f: false,\n test: 'e>1 and gcd(abs(b),e)==1 and abs(b)>e'\n })\n })\n exercice.texte = `Calculer $${exercice.printExpression}$`\n break\n }\n case 101: {\n exercice = calculer('(8*x-6)^2', { substeps: true })\n exercice.texte = `Calculer $${exercice.printExpression}$`\n break\n }\n case 102: {\n exercice = calculer('(6*x-7)^2', { comment: true, substeps: false }, ddbug)\n break\n }\n case 103: {\n exercice = {}\n const expr = '5+1*4+1*x-1*(x^2+1*3^2+0)+0*4+0*y+(-5)*(-6)+4/1+4/5+4/(-1)+4/(-5)'\n exercice.texte = `\n $${toTex(expr, { suppr0: false, suppr1: false })}$\n <br>\n $${toTex(expr, { suppr0: true, suppr1: true })}$\n `\n exercice.texteCorr = ''\n break\n }\n case 104: {\n exercice = {}\n const expr = '5+1*4+1*x-1*(x^2+1*3^2+0)+0*4+0*y+(-5)*(-6)+4/1+4/5+4/(-1)+4/(-5)'\n exercice.texte = `\n $${toTex(expr, { suppr0: false, suppr1: false })}$\n <br>\n $${toTex(expr, { suppr0: true, suppr1: true })}$\n `\n exercice.texteCorr = ''\n break\n }\n case 105: {\n const variables = aleaVariables(\n {\n a: true,\n b: true,\n c: true,\n d: false,\n e: false,\n f: false,\n test: 'abs(a)!=d and abs(b)!=e and abs(c)!=f and abs(a)<6 and abs(b)<6 and abs(c)<6 and 1<=d<6 and 1<=e<6 and 1<=f<6 and gcd(abs(a),d)==1 and gcd(abs(b),e)==1 and gcd(abs(c),f)==1'\n }, { valueOf: true }\n )\n const disc = aleaVariables(Object.assign(variables, { disc: '(b/e)^2-4*(a/d)*(c/f)' }), { valueOf: false }).disc\n const polynomeTex = toTex(simplify('a/d*x^2+b/e*x+c/f', [], variables), { suppr1: true })\n const discriminantTex = toTex(simplify('(b/e)^2-4*(a/d)*(c/f)', [], variables), { suppr1: true })\n const stepscalculsDiscriminant = calculer('(b/e)^2-4*(a/d)*c/f', { comments: false, mixed: false, variables }).texteCorr\n exercice = {}\n exercice.texteCorr = `$\\\\Delta = b^2-4ac=${discriminantTex}=${toTex(disc.toFraction())}$\n <br>\n ${stepscalculsDiscriminant}`\n exercice.texte = `Le discriminant de $${polynomeTex}$ est : `\n break\n }\n case 106: {\n const variables = aleaVariables(\n {\n a: true,\n b: true,\n c: true,\n d: false,\n e: false,\n f: false,\n test: 'abs(a)!=d and abs(b)!=e and abs(c)!=f and abs(a)<6 and abs(b)<6 and abs(c)<6 and 1<=d<6 and 1<=e<6 and 1<=f<6 and gcd(abs(a),d)==1 and gcd(abs(b),e)==1 and gcd(abs(c),f)==1'\n }, { valueOf: true }\n )\n const disc = aleaVariables(Object.assign(variables, { disc: '(b/e)^2-4*(a/d)*(c/f)' }), { valueOf: false }).disc\n const polynomeTex = toTex(simplify('a/d*x^2+b/e*x+c/f', [], variables), { suppr1: true })\n const discriminantTex = toTex(simplify('(b/e)^2-4*(a/d)*(c/f)', [], variables), { suppr1: true })\n const stepscalculsDiscriminant = calculer('(b/e)^2-4*(a/d)*c/f', { comments: false, mixed: false, variables }).texteCorr\n exercice = {}\n exercice.texteCorr = `$\\\\Delta = b^2-4ac=${discriminantTex}=${toTex(disc.toFraction())}$\n <br>\n Calcul détaillé :\n <br>\n ${stepscalculsDiscriminant}`\n exercice.texte = `Le discriminant de $${polynomeTex}$ est : `\n break\n }\n case 107: {\n exercice = calculer('(5*x-3)^2', { name: 'A' })\n exercice.texte = `Développer puis réduire l'expression suivante : $${exercice.name}=${exercice.printExpression}$`\n exercice.texteCorr = this.correctionDetaillee ? exercice.texteCorr : `$${exercice.name}=${exercice.printResult}$`\n break\n }\n case 108: {\n exercice = {}\n exercice.texte = `$${toTex('(4+(-6)*x)/(-8)=1*x+(-7)/3', { supprPlusMoins: false })}$`\n exercice.texteCorr = ''\n break\n }\n case 109: {\n exercice = calculer('9/2*(4/3+7/8)', { substeps: true })\n exercice.texte = `Calculer : $${exercice.printExpression}$`\n exercice.texteCorr = this.correctionDetaillee ? exercice.texteCorr : `$${exercice.printExpression}=${exercice.printResult}$`\n break\n }\n case 110: {\n const commentairesPersonnalises = {\n CANCEL_MINUSES: 'Simplifier l\\'écriture',\n SUBTRACT_FROM_BOTH_SIDES: 'Enlever {stepChange} à chaque membre.',\n SIMPLIFY_ARITHMETIC: '',\n SIMPLIFY_RIGHT_SIDE: 'Réduire.',\n SIMPLIFY_LEFT_SIDE: 'Réduire.'\n }\n exercice = resoudre('3*x+2=9*x-3', { comment: true, comments: commentairesPersonnalises })\n exercice.texte = `Résoudre l'équation $${exercice.equation}$ en détaillant les étapes.`\n exercice.texteCorr += `\n <br>\n La solution de cette équation est donc $${exercice.solution.print}$.\n `\n break\n }\n case 111: {\n exercice = resoudre('9*x+2<3*x-3')\n exercice.texte = `Résoudre l'inéquation $${exercice.equation}$ en détaillant les étapes.`\n exercice.texteCorr += `\n <br>\n Les solutions de cette inéquation sont donc tous les nombres $x$ vérifiant $${exercice.solution.print}$.\n `\n break\n }\n case 112: {\n exercice = calculer('x*x*x')\n exercice.texte = `Calculer : $${exercice.printExpression}$`\n exercice.texteCorr = this.correctionDetaillee ? exercice.texteCorr : `$${exercice.printExpression}=${exercice.printResult}$`\n break\n }\n case 113: {\n exercice = resoudre('9*x+7=6*x-3', { color: 'black', comment: true })\n exercice.texte = `Résoudre : $${exercice.equation}$`\n exercice.texteCorr = this.correctionDetaillee ? exercice.texteCorr : `La solution est $${exercice.solution.print}$`\n break\n }\n case 114: {\n exercice = resoudre('9*x+7=6*x-3', { color: 'black', comment: true })\n exercice.texte = `Résoudre : $${exercice.equation}$`\n exercice.texteCorr = `<br>\n ${exercice.texteCorr}<br>\n La solution est $${exercice.solution.print}$.\n <br>\n Vérification :\n <br>\n D'une part : $${exercice.verifLeftSide.printExpression}=${exercice.verifLeftSide.printResult}$\n <br>\n D'autre part : $${exercice.verifRightSide.printExpression}=${exercice.verifRightSide.printResult}$\n `\n break\n }\n case 115: {\n const variables = aleaVariables(\n {\n a: true,\n b: true,\n c: 'randomInt(0,10)'\n }\n )\n exercice = {}\n exercice.texte = `$${toTex(`${variables.a}+(${variables.b})+${variables.c}`, { supprPlusMoins: false })}$`\n exercice.texteCorr = ''\n break\n }\n case 116: {\n exercice = calculer('(-4)+(-3)+7', { supprPlusMoins: false })\n break\n }\n case 117: {\n const variables =\n {\n a: true,\n b: true\n }\n exercice = resoudre('9*x+a=6*x+b', { variables, color: 'blue', comment: true })\n exercice.texte = `Résoudre : $${exercice.equation}$`\n exercice.texteCorr = `\n <br>\n ${exercice.texteCorr}\n <br>\n La solution est $${exercice.solution.print}$.\n <br>\n Vérification :\n <br>\n D'une part : $${exercice.verifLeftSide.printExpression}=${exercice.verifLeftSide.printResult}$\n <br>\n D'autre part : $${exercice.verifRightSide.printExpression}=${exercice.verifRightSide.printResult}$\n `\n break\n }\n case 118 : {\n const comments = {\n MULTIPLY_FRACTIONS: 'Multiplier numérateurs et dénominateurs entre eux.'\n }\n exercice = calculer('5/2*(7/3+6/8)', { substeps: true, comment: true, comments })\n exercice.texte = `Calculer : $${exercice.printExpression}$`\n exercice.texteCorr = this.correctionDetaillee ? '<br>' + exercice.texteCorr : `$${exercice.printExpression}=${exercice.printResult}$`\n break\n }\n case 119 : {\n exercice = resoudre('10*x+5=1')\n exercice.texte = `\n <br>\n Résoudre : $${exercice.equation}$`\n exercice.texteCorr = this.correctionDetaillee ? '<br>' + exercice.texteCorr : `$${exercice.printExpression}=${exercice.printResult}$`\n exercice.texteCorr += `La solution est $${exercice.solution.printDecimal}$`\n break\n }\n case 120: {\n const variables = aleaVariables({\n n: 'pickRandom([randomInt(2,9), randomInt(11, 99), randomInt(101, 999)])',\n d: 'pickRandom([randomInt(2,9), randomInt(11, 99), randomInt(101, 999)])',\n p: 'randomInt(0,7)',\n nb: 'n+d/pickRandom([10,100,1000])',\n s: 'nb*10^(-p)'\n }, { valueOf: true, format: true })\n exercice = {}\n exercice.texte = `$${variables.nb} \\\\times 10^{-${variables.p}}$`\n exercice.texteCorr = exercice.texte\n exercice.texteCorr += `$=${variables.s}$`\n exercice.texte = exercice.texteCorr\n break\n }\n case 121: {\n const variables = aleaVariables({\n n: 'cos(pi/3)',\n p: Algebrite.run('cos(pi/3)')\n }, { valueOf: false })\n exercice = {}\n exercice.texte = `$${variables.n}+${variables.p}$`\n exercice.texteCorr = exercice.texte\n break\n }\n case 122: {\n const variables = aleaVariables(\n {\n a: 'randomInt(1,10)',\n test: 'a!=7'\n }\n , { valueOf: true })\n exercice = resoudre('a*(x+6)-7=7*x-3', { variables })\n break\n }\n case 123: {\n exercice = resoudre('2/x=3')\n break\n }\n case 124: {\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=124,n=1,cd=1&serie=uAXn&z=1&v=ex\n const questions = []\n questions.push(calculer(aleaName(['(a)', '(b)']).join('+'), { // 1\n variables: {\n a: 'round(random(-10,-1),0)',\n b: 'round(random(1,10),0)'\n },\n supprPlusMoins: false,\n substeps: true\n }))\n questions.push(calculer(aleaName(['(a)', '(b)']).join('+'), { // 2\n variables: {\n a: 'round(random(-10,-1),0)',\n b: 'round(random(-10,-1),0)'\n },\n supprPlusMoins: false,\n substeps: true\n }))\n questions.push(calculer(aleaName(['(a)', '(b)']).join('+'), { // 3\n variables: {\n a: 'round(random(-10,10),1)',\n b: 'round(random(-10,10),1)',\n test: 'a*b<0 or (a<0 and b<0)'\n },\n supprPlusMoins: false,\n substeps: true\n }))\n questions.push(calculer(aleaName(['(a)', '(b)']).join('+'), { // 4\n variables: {\n a: 'round(random(-10,10),1)',\n b: 'round(random(-10,10),1)',\n test: 'a*b<0 or (a<0 and b<0)'\n },\n supprPlusMoins: false,\n substeps: true\n }))\n exercice.texte = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ ' + x.texte).join('<br>')\n exercice.texteCorr = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ <br>' + x.texteCorr).join('<br>')\n break\n }\n case 125 : {\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=125\n // TODO : Bug de mathsteps pour calculer('-3/7-(-4/8)')\n const questions = []\n questions.push(calculer('-3/7-(-4/8)'))\n questions.push(calculer('-3/7-(0-4/8)'), { suppr0: true })\n questions.push(calculer('-3/7--4/8', { substeps: true }))\n exercice.texte = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ ' + x.texte).join('<br>')\n exercice.texteCorr = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ <br>' + x.texteCorr).join('<br>')\n break\n }\n case 126 : {\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=126\n // TODO : Corriger parenthèses de toTex() pour calculer('-3/7--4/8')\n const questions = []\n questions.push(calculer('-3/7--4/8', { substeps: true }))\n exercice.texte = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ ' + x.texte).join('<br>')\n exercice.texteCorr = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ <br>' + x.texteCorr).join('<br>')\n break\n }\n case 127 : {\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=127\n // TODO : Bug de mathsteps pour calculer('2/3-(-4/8)')\n const questions = []\n questions.push(calculer('2/3-(-4/8)'), { suppr0: true })\n exercice.texte = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ ' + x.texte).join('<br>')\n exercice.texteCorr = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ <br>' + x.texteCorr).join('<br>')\n break\n }\n case 128 : {\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=127\n // TODO : Bug de mathsteps pour calculer('2/3-(-4/8)')\n const questions = []\n questions.push(calculer('2/3-(-4/8)'), { suppr0: true })\n exercice.texte = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ ' + x.texte).join('<br>')\n exercice.texteCorr = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ <br>' + x.texteCorr).join('<br>')\n break\n }\n case 129: {\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=124,n=1,cd=1&serie=uAXn&z=1&v=ex\n const questions = []\n questions.push(calculer(aleaName(['(a)', '(b)']).join('-'), { // 6\n variables: {\n a: 'round(random(-10,-1),0)',\n b: 'round(random(-10,10),0)',\n test: 'b!=0'\n },\n supprPlusMoins: false,\n substeps: true\n }))\n questions.push(calculer(aleaName(['(a)', '(b)']).join('-'), { // 7\n variables: {\n a: 'round(random(-10,-0.1),1)',\n b: 'round(random(0.1,10),1)'\n },\n supprPlusMoins: false,\n substeps: true\n }))\n questions.push(calculer(aleaName(['(a)', '(b)']).join('-'), { // 8\n variables: {\n a: 'round(random(-10,-0.1),1)',\n b: 'round(random(-10,10),1)',\n test: 'a*b<0 or (a<0 and b<0)'\n },\n supprPlusMoins: false,\n substeps: true\n }))\n exercice.texte = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ ' + x.texte).join('<br>')\n exercice.texteCorr = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ <br>' + x.texteCorr).join('<br>')\n break\n }\n case 130: {\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=130,n=1,cd=1&serie=uAXn&z=1&v=ex\n const questions = []\n let calcul, variables, expression, intro\n const terms = []\n const lettres = ['A', 'B']\n // Calcul astucieux\n calcul = []\n variables = aleaVariables({\n a: 'round(random(1,10),1)', // a>0\n b: 'round(random(-10,10),1)', // b != 0\n c: 'round(random(-10,-1),1)', // c<0\n d: '-b',\n e: '-c',\n test: 'b!=0 and b!=a and b!=c'\n })\n expression = aleaExpression(aleaName(['(a)', '(b)', '(c)', '(d)', '(e)']).join('+'), variables)\n calcul.push(expression)\n calcul.push(aleaExpression(['(a)', '(b)', '(d)', '(c)', '(e)'].join('+'), variables))\n calcul.push(evaluate(expression).toFixed(1))\n intro = 'On peut regrouper les termes opposés pour faciliter les calculs.<br>'\n questions.push({\n texte: `Calculer $${toTex(lettres[0] + '=' + expression, { supprPlusMoins: false })}$`,\n texteCorr: intro + calcul.map((x) => `$${toTex(lettres[0] + '=' + x, { supprPlusMoins: false })}$`).join('<br>')\n })\n // Regrouper les nombres de même signe\n calcul = []\n variables = aleaVariables({\n a: 'round(random(1,10),1)', // a>0\n b: 'round(random(-10,-1),1)', // b<0\n c: 'round(random(-10,10),1)',\n d: 'round(random(-10,10),1)',\n e: 'round(random(-10,10),1)'\n })\n expression = aleaExpression(aleaName(['(a)', '(b)', '(c)', '(d)', '(e)']).join('+'), variables)\n calcul.push(expression)\n let newNode = parse(expression)\n newNode = newNode.transform((node) => {\n if (node.isParenthesisNode) terms.push(node)\n return node\n })\n terms.sort((a, b) => compare(b.content.toString(), a.content.toString()))\n calcul.push(terms.map(x => x.toString()).join('+'))\n let positive = evaluate(terms.filter(x => x.content.toString() > 0).map(x => x.toString()).join('+')).toFixed(1)\n let negative = terms.filter(x => x.content.toString() < 0).map(x => x.toString()).join('+')\n calcul.push(positive + '+' + negative)\n positive = evaluate(terms.filter(x => x.content.toString() > 0).map(x => x.toString()).join('+')).toFixed(1)\n negative = `(${evaluate(terms.filter(x => x.content.toString() < 0).map(x => x.toString()).join('+')).toFixed(1)})`\n calcul.push(positive + '+' + negative)\n calcul.push(evaluate(expression).toFixed(1))\n intro = 'On peut additionner les termes positifs entre eux puis les termes négatifs entre eux puis terminer le calcul.<br>'\n questions.push({\n texte: `Calculer $${toTex(lettres[1] + '=' + expression, { supprPlusMoins: false })}$`,\n texteCorr: intro + calcul.map((x) => `$${toTex(lettres[1] + '=' + x, { supprPlusMoins: false })}$`).join('<br>')\n })\n exercice.texte = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ ' + x.texte).join('<br>')\n exercice.texteCorr = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ <br>' + x.texteCorr).join('<br>')\n break\n }\n case 131: {\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=131,n=1,cd=1&serie=uAXn&z=1&v=ex\n const questions = []\n let calcul, variables, expression, expression1, intro, terms\n const lettres = ['A', 'B']\n // Calcul astucieux\n calcul = []\n terms = []\n variables = aleaVariables({\n a: 'round(random(-10,10),0)',\n b: 'round(random(-10,10),0)',\n c: 'round(random(1,10),0)', // c>0\n d: 'round(random(-10,10),0)',\n e: 'round(random(1,10),0)', // e<0\n test: 'a!=0'\n })\n expression1 = aleaExpression('(a)+(b)-(c)+(d)-(-e)', variables)\n calcul.push(expression1)\n expression = aleaExpression('(a)+(b)+(-c)+(d)+(e)', variables)\n calcul.push(expression)\n let newNode = parse(expression)\n newNode = newNode.transform((node) => {\n if (node.isParenthesisNode) terms.push(node)\n return node\n })\n terms.sort((a, b) => compare(b.content.toString(), a.content.toString()))\n calcul.push(terms.map(x => x.toString()).join('+'))\n let positive = evaluate(terms.filter(x => x.content.toString() > 0).map(x => x.toString()).join('+')).toFixed(1)\n let negative = terms.filter(x => x.content.toString() < 0).map(x => x.toString()).join('+')\n calcul.push(positive + '+' + negative)\n positive = evaluate(terms.filter(x => x.content.toString() > 0).map(x => x.toString()).join('+')).toFixed(1)\n negative = `(${evaluate(terms.filter(x => x.content.toString() < 0).map(x => x.toString()).join('+')).toFixed(1)})`\n calcul.push(positive + '+' + negative)\n calcul.push(evaluate(expression).toFixed(1))\n intro = 'On peut transfomer toutes les soustractions en additions.<br>'\n questions.push({\n texte: `Calculer $${toTex(lettres[0] + '=' + expression1, { supprPlusMoins: false })}$`,\n texteCorr: intro + calcul.map((x) => `$${toTex(lettres[0] + '=' + x, { supprPlusMoins: false })}$`).join('<br>')\n })\n // Deuxième calcul\n // Calcul astucieux\n calcul = []\n terms = []\n variables = aleaVariables({\n a: 'round(random(-10,10),0)',\n b: 'round(random(-10,10),0)',\n c: 'round(random(1,10),0)', // c>0\n d: 'round(random(-10,10),0)',\n e: 'round(random(1,10),0)', // e<0\n test: 'a!=0'\n })\n expression1 = aleaExpression('(a)-(-e)+(b)-(c)+(d)', variables)\n calcul.push(expression1)\n expression = aleaExpression('(a)+(e)+(b)+(-c)+(d)', variables)\n calcul.push(expression)\n newNode = parse(expression)\n newNode = newNode.transform((node) => {\n if (node.isParenthesisNode) terms.push(node)\n return node\n })\n terms.sort((a, b) => compare(b.content.toString(), a.content.toString()))\n calcul.push(terms.map(x => x.toString()).join('+'))\n positive = evaluate(terms.filter(x => x.content.toString() > 0).map(x => x.toString()).join('+')).toFixed(1)\n negative = terms.filter(x => x.content.toString() < 0).map(x => x.toString()).join('+')\n calcul.push(positive + '+' + negative)\n positive = evaluate(terms.filter(x => x.content.toString() > 0).map(x => x.toString()).join('+')).toFixed(1)\n negative = `(${evaluate(terms.filter(x => x.content.toString() < 0).map(x => x.toString()).join('+')).toFixed(1)})`\n calcul.push(positive + '+' + negative)\n calcul.push(evaluate(expression).toFixed(1))\n intro = 'On peut transfomer toutes les soustractions en additions.<br>'\n questions.push({\n texte: `Calculer $${toTex(lettres[0] + '=' + expression1, { supprPlusMoins: false })}$`,\n texteCorr: intro + calcul.map((x) => `$${toTex(lettres[0] + '=' + x, { supprPlusMoins: false })}$`).join('<br>')\n })\n exercice.texte = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ ' + x.texte).join('<br>')\n exercice.texteCorr = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ <br>' + x.texteCorr).join('<br>')\n exercice.texte = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ ' + x.texte).join('<br>')\n exercice.texteCorr = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ <br>' + x.texteCorr).join('<br>')\n break\n }\n case 132: {\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=132,n=1,cd=1&serie=uAXn&z=1&v=ex\n let questions = []\n let calcul, expression, solution\n const variables = []\n // Calcul astucieux\n variables.push(aleaVariables({\n a: 'round(random(1,10),0)', // a>0\n b: 'round(random(-10,-1),0)', // b<0\n c: 'a+b',\n test: 'a!=0 and b!=0 and c>0'\n }))\n variables.push(aleaVariables({\n a: 'round(random(-10,-1),0)', // a<0\n b: 'round(random(1,10),0)', // b>0\n c: 'a+b',\n test: 'a!=0 and b!=0 and c<0'\n }))\n variables.push(aleaVariables({\n a: 'round(random(-10,-1),0)', // a<0\n b: 'round(random(-10,-1),0)', // b<0\n c: 'a+b',\n test: 'a!=0 and b!=0 and c<0'\n }))\n variables.push(aleaVariables({\n a: 'round(random(-10,10),0)',\n b: '-a',\n c: 'a+b',\n test: 'a!=0 and b!=0'\n }))\n for (let i = 0; i < variables.length; i++) {\n calcul = []\n expression = aleaExpression('(a)+(ldots)', variables[i]) + '=' + aleaExpression('c', variables[i])\n solution = aleaExpression('(a)+(b)', variables[i]) + '=' + aleaExpression('c', variables[i])\n calcul.push(solution)\n questions.push({\n texte: `Compléter $${toTex(expression, { supprPlusMoins: false })}$`.replace('ldots', '\\\\ldots'),\n texteCorr: calcul.map(x => `$${toTex(x, { supprPlusMoins: false })}$`).join('<br>')\n })\n }\n questions = aleaName(questions)\n exercice.texte = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ ' + x.texte).join('<br>')\n exercice.texteCorr = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ <br>' + x.texteCorr).join('<br>')\n exercice.texte = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ ' + x.texte).join('<br>')\n exercice.texteCorr = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ <br>' + x.texteCorr).join('<br>')\n break\n }\n case 133: {\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=133,n=1,cd=1&serie=uAXn&z=1&v=ex\n const questions = []\n let calcul = {}\n let variable\n // Calcul astucieux\n variable = aleaVariables({\n a: 'round(random(-10,-1),0)', // a<0\n b: 'round(random(1,10),0)', // b>0\n c: 'a-b'\n })\n calcul.texte = 'Calculer ' + `$${toTex(aleaExpression('(a)-b', variable))}$`\n calcul.texteCorr = 'Soustraire un nombre revient à ajouter son opposé.<br>' + `$${toTex(aleaExpression('(a)-b', variable) + '=' + aleaExpression('(a)+(-b)', variable), { supprPlusMoins: false })}$<br>` + `$${toTex(aleaExpression('(a)-b', variable) + '=' + aleaExpression('c', variable), { supprPlusMoins: false })}$`\n questions.push(calcul)\n // Calcul 2\n variable = aleaVariables({\n a: 'round(random(-10,10),0)', // a!=0\n b: 'round(random(1,10),0)', // b>0\n test: 'a!= 0 and a<b'\n })\n calcul = calculer('(a)-b', { // 1\n variables: variable,\n supprPlusMoins: false,\n substeps: true\n })\n calcul.texteCorr = 'Soustraire un nombre revient à ajouter son opposé.<br>' + `$${toTex(aleaExpression('(a)-b', variable) + '=' + aleaExpression('(a)+(-b)', variable), { supprPlusMoins: false })}$<br>` + calcul.texteCorr\n questions.push(calcul)\n // Calcul 3\n variable = aleaVariables({\n a: 'round(random(-10,10),0)', // a!=0\n b: 'round(random(-10,-1),0)', // b<0\n test: 'a!= 0 and a<b'\n })\n calcul = calculer('(a)-(b)', { // 1\n variables: variable,\n supprPlusMoins: false,\n substeps: true\n })\n // calcul.texteCorr = 'Soustraire un nombre revient à ajouter son opposé.<br>' + `$${toTex(aleaExpression('(a)-(b)', variable) + '=' + aleaExpression('(a)+(b)', Object.assign(variable, { b: -variable.b })), { supprPlusMoins: false })}$<br>` + calcul.texteCorr\n questions.push(calcul)\n // questions = aleaName(questions)\n exercice.texte = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ ' + x.texte).join('<br>')\n exercice.texteCorr = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ <br>' + x.texteCorr).join('<br>')\n exercice.texte = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ ' + x.texte).join('<br>')\n exercice.texteCorr = questions.map((x, i) => '$\\\\textbf{' + (i + 1) + '.}$ <br>' + x.texteCorr).join('<br>')\n break\n }\n case 134: {\n // Produits en croix\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=134,n=1,cd=1&serie=uAXn&z=1&v=ex\n const variables = {\n a: 'randomInt(2,10)',\n b: 'randomInt(2,10)',\n c: 'randomInt(2,10)',\n test: 'gcd(a,b)==1 and a!=c'\n }\n exercice = resoudre(aleaName(['a/b', 'c/x']).join('='), { variables, produitsencroix: true, comment: true, verifications: true })\n break\n }\n case 135: {\n // Produits en croix\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=135,n=1,cd=1&serie=uAXn&z=1&v=ex\n const variables = {\n a: 'randomInt(2,10)',\n b: 'randomInt(2,10)',\n c: 'randomInt(2,10)',\n d: 'randomInt(2,10)',\n test: 'gcd(a,b)==1 and b!=c'\n }\n exercice = resoudre(aleaName(['a/b', 'x/c']).join('='), { variables, produitsencroix: true, comment: true, verifications: true })\n break\n }\n case 136: {\n // Produits en croix\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=136,n=1,cd=1&serie=uAXn&z=1&v=ex\n const variables = {\n a: 'randomInt(2,10)',\n b: 'randomInt(2,10)',\n c: 'randomInt(2,10)',\n d: 'randomInt(2,10)',\n test: 'gcd(a,b)==1 and a!=c'\n }\n exercice = resoudre(aleaName(['a/b', 'c/(x+d)']).join('='), { variables, produitsencroix: true, comment: true, changeType: ['DISTRIBUTE'], verifications: true })\n break\n }\n case 137: {\n // Produits en croix\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=137,n=1,cd=1&serie=uAXn&z=1&v=ex\n const variables = {\n a: 'randomInt(2,10)',\n b: 'randomInt(2,10)',\n c: 'randomInt(2,10)',\n d: 'randomInt(2,10)',\n test: 'gcd(a,b)==1 and a!=c'\n }\n exercice = resoudre(aleaName(['a/b', 'c*x/(x+d)']).join('='), { variables, produitsencroix: true, comment: true, changeType: ['DISTRIBUTE'], verifications: true })\n break\n }\n case 138: {\n // Pour comparaison sans les produits en croix avec Case 137\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=138,n=1,cd=1&serie=uAXn&z=1&v=ex\n const variables = {\n a: 'randomInt(2,10)',\n b: 'randomInt(2,10)',\n c: 'randomInt(2,10)',\n d: 'randomInt(2,10)',\n test: 'gcd(a,b)==1 and a!=c'\n }\n exercice = resoudre(aleaName(['a/b', 'c*x/(x+d)']).join('='), { variables, comment: true, changeType: ['DISTRIBUTE'], verifications: true })\n break\n }\n case 139: {\n // Produits en croix\n // http://localhost:8080/mathalea.html?ex=betaEquations,s=139,n=1,cd=1&serie=uAXn&z=1&v=ex\n const variables = {\n a: 'randomInt(2,10)',\n c: 'randomInt(2,10)',\n d: 'randomInt(2,10)',\n test: 'a!=c'\n }\n exercice = resoudre(aleaName(['a/x', 'c/(x+d)']).join('='), { variables, produitsencroix: true, comment: true, changeType: ['DISTRIBUTE'], verifications: true })\n break\n }\n }\n if (this.questionJamaisPosee(i, nquestion)) {\n // this.listeQuestions.push(exercice.texte + '<br>--------$\\\\textbf{CORRECTION}$----------<br>' + exercice.texteCorr)\n this.listeQuestions.push(exercice.texte)\n this.listeCorrections.push(exercice.texteCorr)\n i++\n }\n cpt++\n }\n listeQuestionsToContenu(this) // On envoie l'exercice à la fonction de mise en page\n }\n}\n"],"names":["nbCase","titre","dateDePublication","TraceSchemaBarre","x","y","legende","epaisseur","couleurDeRemplissage","color","opaciteDeRemplissage","angle","unite","hachures","ObjetMathalea2D","p","polygone","point","texte","texteParPosition","coeff","traceSchemaBarre","args","schemaBarre","diagramme","longueur1","segment","mathalea2d","fixeBordures","EquationsProgression","Exercice","formulaire","i","context","numeroExercice","debug","ddbug","nquestion","exercice","cpt","traduireProgrammeCalcul","parse","resoudreEquation","aleaEquation","calculer","aleaVariables","aleaExpression","variables","ecrireProgrammeCalcul","appliquerProgrammeCalcul","remonterProgrammeCalcul","calculExpression2","expressionLitterale","expr","toTex","disc","polynomeTex","simplify","discriminantTex","stepscalculsDiscriminant","resoudre","Algebrite","questions","aleaName","calcul","expression","intro","terms","lettres","evaluate","newNode","node","a","b","compare","positive","negative","expression1","solution","variable","listeQuestionsToContenu"],"mappings":"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"}