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