File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/3L13-4-IIhynmrN.js.map
{"version":3,"file":"3L13-4-IIhynmrN.js","sources":["../../src/exercices/3e/3L13-4.js"],"sourcesContent":["import Exercice from '../Exercice'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu } from '../../modules/outils.js'\nimport { toString, aleaVariables, assignVariables, calculer, toTex, resoudre } from '../../modules/outilsMathjs.js'\nimport { GVGraphicView } from '../../modules/aleaFigure/GraphicView.js'\nimport { name } from '../../modules/aleaFigure/outils.js'\nimport { create, all } from 'mathjs'\n\nexport const math = create(all)\nmath.config({\n number: 'number',\n randomSeed: context.graine\n})\n\nexport const titre = 'Find perimeter or area by solving an equation'\nexport const dateDePublication = '04/03/2022'\n/**\n * @author Frédéric PIOU\n * Problème à partir de https://twitter.com/blatherwick_sam/status/1497292774621822979\n */\nexport const uuid = 'cd2f2'\nexport const ref = '3L13-4'\nexport default class problemes extends Exercice {\n constructor () {\n super()\n this.titre = titre\n this.nbQuestions = 2\n this.correctionDetailleeDisponible = true\n this.correctionDetaillee = false\n this.besoinFormulaire2Numerique = ['Types of values in the equation', 2, '1 - Positive integers\\n2 - Relative integers']\n }\n\n nouvelleVersion () {\n this.listeQuestions = []\n this.listeCorrections = []\n this.autoCorrection = []\n for (let i = 0, cpt = 0, exercice = {}; i < this.nbQuestions && cpt < 50;) {\n const numeroquestion = this.nbQuestions % 2 === 0 ? i % 2 + 1 : Math.floor(Math.random() * 2) + 1\n switch (numeroquestion) {\n case 1: {\n const graphic = new GVGraphicView(0, 0, 7, 5)\n const ABCD = graphic.addRectangle()\n const [A, B, C, D] = ABCD.vertices\n const angles = graphic.addAnglesPolygon(A, B, C, D)\n const AB = graphic.addSegment(A, B)\n AB.direct = graphic.addAngle(A, B, C).direct\n const BC = graphic.addSegment(B, C)\n BC.direct = AB.direct\n const CD = graphic.addSegment(C, D)\n const DA = graphic.addSegment(D, A)\n const variables = aleaVariables({\n a: this.sup2 !== 1,\n c: this.sup2 !== 1,\n x: this.sup2 !== 1,\n AB: (10 * graphic.distance(A, B)).toFixed(0),\n BC: (10 * graphic.distance(B, C)).toFixed(0),\n b: 'AB-a*x',\n d: 'BC-c*x',\n p: '2*(a*x+b+c*x+d)',\n test: 'a*x+b>0 and c*x+d>0 and a!=c'\n })\n delete variables.x\n const exprAB = toString(assignVariables('a*x+b', variables))\n const exprBC = toString(assignVariables('c*x+d', variables))\n AB.text = context.isHtml ? `${exprAB}`.replaceAll('*', '') : `$${exprAB}$`.replaceAll('*', '')\n BC.text = context.isHtml ? `${exprBC}`.replaceAll('*', '') : `$${exprBC}$`.replaceAll('*', '')\n const p = variables.p\n const graph = graphic.getFigure(ABCD, AB, BC, ...angles.map(x => { x.right = true; return x }))\n const resolution = resoudre(`${p}=2*(${exprAB}) + 2*(${exprBC})`, { suppr1: false, substeps: this.correctionDetaillee })\n const calculAB = calculer('a*(x)+b'.replace('x', resolution.solution.exact), { name: AB.name, suppr1: false, substeps: this.correctionDetaillee, variables })\n const calculBC = calculer('c*(x)+d'.replace('x', resolution.solution.exact), { name: BC.name, suppr1: false, substeps: this.correctionDetaillee, variables })\n const calculAire = calculer(`${calculAB.result}*${calculBC.result}`, { name: '\\\\mathcal{A}', suppr1: false, substeps: this.correctionDetaillee, variables })\n let solutionDecimale = math.fraction(calculAire.result.replaceAll(' ', '')).valueOf()\n const environ = solutionDecimale === math.round(solutionDecimale, 2) ? '' : 'approximately'\n solutionDecimale = math.round(solutionDecimale, 2).toString()\n exercice.texte = name`\n$${ABCD}$ is a rectangle.\n\n$x$ is a number such that $ {${AB}=${toTex(exprAB)}}$ and $ {${BC}=${toTex(exprBC)}}$ (in $cm$).\n\nThe perimeter of $${ABCD}$ measures $${p}~cm$.\n\nDetermine its area in $cm^2$.\n\n${graph}`\n\n exercice.texteCorr = name`\n$${ABCD}$ is a rectangle so its opposite sides are the same length.\n\nHence $${AB}=${CD}$ and $${BC}=${DA}$.\n\nThus, $${toTex(name`${p} = 2*${AB} + 2*${BC}`)}$. \n\nOr again $${toTex(`${p} = 2*(${exprAB}) + 2*(${exprBC})`)}$.\n\n$\\textbf{Let's solve this equation of unknown $x$}$. \n\n${resolution.texteCorr}\n\n$\\textbf{Let's calculate $${AB}$ in cm.}$\n\n${calculAB.texteCorr}\n\n$\\textbf{Let's calculate $${BC}$ in cm.}$\n\n${calculBC.texteCorr}\n\n$\\textbf{Let's calculate the area $\\mathcal{A}$ of $${ABCD}$ in $cm^2$.}$\n\n${calculAire.texteCorr}\n\nSo the area of rectangle $${ABCD}$ is ${environ} $${toTex(solutionDecimale)}~cm^2$. `\n break\n }\n default: {\n const graphic = new GVGraphicView(0, 0, 7, 5)\n const ABCD = graphic.addRectangle()\n const [A, B, C, D] = ABCD.vertices\n const angles = graphic.addAnglesPolygon(A, B, C, D)\n const AB = graphic.addSegment(A, B)\n AB.direct = graphic.addAngle(A, B, C).direct\n const BC = graphic.addSegment(B, C)\n const CD = graphic.addSegment(C, D)\n CD.direct = AB.direct\n const DA = graphic.addSegment(D, A)\n const variables = aleaVariables({\n c: this.sup2 !== 1,\n x: this.sup2 !== 1,\n a: this.sup2 !== 1,\n AB: (10 * graphic.distance(A, B)).toFixed(0),\n BC: (10 * graphic.distance(B, C)).toFixed(0),\n b: 'AB-a*x',\n d: 'AB-c*x',\n p: '2*(AB+BC)',\n test: 'a!=c and a*x+b>0'\n })\n delete variables.x\n const exprAB = toString(assignVariables('a*x+b', variables))\n const exprCD = toString(assignVariables('c*x+d', variables))\n AB.text = context.isHtml ? `${exprAB}`.replaceAll('*', '') : `$${exprAB}$`.replaceAll('*', '')\n CD.text = context.isHtml ? `${exprCD}`.replaceAll('*', '') : `$${exprCD}$`.replaceAll('*', '')\n const p = variables.p\n const graph = graphic.getFigure(ABCD, AB, CD, ...angles.map(x => { x.right = true; return x }))\n const resolution = resoudre(`${exprAB}=${exprCD}`, { suppr1: false, substeps: this.correctionDetaillee })\n const calculAB = calculer('a*(x)+b'.replace('x', resolution.solution.exact), { name: AB.name, suppr1: false, substeps: this.correctionDetaillee, variables })\n const resolution2 = resoudre(name`${p} = 2*${calculAB.result} + 2*${BC}`, { suppr1: false, substeps: this.correctionDetaillee })\n const calculAire = calculer(`${calculAB.result}*${resolution2.solution.exact}`, { name: '\\\\mathcal{A}', suppr1: false, substeps: this.correctionDetaillee, variables })\n let solutionDecimale = math.fraction(calculAire.result.replaceAll(' ', '')).valueOf()\n const environ = solutionDecimale === math.round(solutionDecimale, 2) ? '' : 'environ'\n solutionDecimale = math.round(solutionDecimale, 2).toString()\n exercice.texte = name`$${ABCD}$ is a rectangle.\n\n$x$ is a number such that $ {${AB}=${toTex(exprAB)}}$ and $ {${CD}=${toTex(exprCD)}}$ (in $cm$) .\n\nThe perimeter of $${ABCD}$ measures $${p}~cm$. \n\nDetermine its area in $cm^2$.\n \n${graph}`\n\n exercice.texteCorr = name`$${ABCD}$ is a rectangle so its opposite sides are the same length.\n\nHence $${AB}=${CD}$ and $${BC}=${DA}$.\n\nSo $${toTex(`${exprAB}=${exprCD}`)}$.\n\n$\\textbf{Let's solve the equation.}$\n\n${resolution.texteCorr}\n\n$\\textbf{Let's calculate $${AB}$ in cm}.$\n\n${calculAB.texteCorr}\n\nThus, $${toTex(name`${p} = 2* (${calculAB.result}) + 2* ${BC}`)}$.\n\n$\\textbf{Let's solve this equation of unknown $${BC}$}$.\n\n${resolution2.texteCorr}\n\n$\\textbf{Let's calculate the area $\\mathcal{A}$ of $${ABCD}$ in $cm^2$.}$\n\n${calculAire.texteCorr}\n\nSo the area of rectangle $${ABCD}$ is ${environ} $${toTex(solutionDecimale)}~cm^2$.`\n break\n }\n }\n // exercise.text += question number\n if (this.questionJamaisPosee(i, i)) {\n this.listeQuestions.push(exercice.texte.replaceAll('\\n\\n', '<br>'))\n this.listeCorrections.push(exercice.texteCorr.replaceAll('\\n\\n', '<br>'))\n i++\n }\n cpt++\n }\n listeQuestionsToContenu(this)\n }\n}\n"],"names":["math","create","all","context","titre","dateDePublication","uuid","ref","problemes","Exercice","i","cpt","exercice","graphic","GVGraphicView","ABCD","A","B","C","D","angles","AB","BC","CD","DA","variables","aleaVariables","exprAB","toString","assignVariables","exprBC","graph","x","resolution","resoudre","calculAB","calculer","calculBC","calculAire","solutionDecimale","environ","name","toTex","exprCD","resolution2","listeQuestionsToContenu"],"mappings":"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"}