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/2G30-7-5c9mAaJb.js.map
{"version":3,"file":"2G30-7-5c9mAaJb.js","sources":["../../src/exercices/2e/2G30-7.js"],"sourcesContent":["import { droite } from '../../lib/2d/droites.js'\nimport { point, tracePoint } from '../../lib/2d/points.js'\nimport { repere } from '../../lib/2d/reperes.js'\nimport { segment } from '../../lib/2d/segmentsVecteurs.js'\nimport { labelPoint, texteParPosition } from '../../lib/2d/textes.js'\nimport { texFractionReduite } from '../../lib/outils/deprecatedFractions.js'\nimport { ecritureAlgebrique, reduireAxPlusB } from '../../lib/outils/ecritures'\nimport { abs } from '../../lib/outils/nombres'\nimport { pgcd } from '../../lib/outils/primalite'\nimport Exercice from '../deprecatedExercice.js'\nimport { colorToLatexOrHTML, mathalea2d } from '../../modules/2dGeneralites.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { context } from '../../modules/context.js'\nimport Decimal from 'decimal.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const titre = 'Determine a reduced equation from its graphical representation'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const amcReady = true\nexport const amcType = 'AMCHybride'\n/**\n */\nexport const uuid = '41e6f'\nexport const ref = '2G30-7'\nexport default function Lecturegraphiquedeaetb () {\n  Exercice.call(this)\n\n  this.nbQuestions = 3// On complète le nb de questions\n  this.nbCols = 1\n  this.nbColsCorr = 1\n  this.tailleDiaporama = 3\n  this.video = ''\n  this.spacing = 1\n  this.spacingCorr = 1\n  this.spacingCorr = 1\n  this.sup = 1\n\n  this.nouvelleVersion = function () {\n    this.sup = parseInt(this.sup)\n    this.listeQuestions = []\n    this.listeCorrections = []\n    this.autoCorrection = []\n    // let AvailableQuestionTypes = []\n    // typesOfAvailableQuestions = []// We complete according to the number of cases in the exo (switch)\n\n    // const listTypeOfQuestions = combinationLists(availableQuestionTypes, this.nbQuestions)\n\n    for (let i = 0, a, b, r, c, d, s1, s2, t, l, o, texte, texteCorr, cpt = 0;\n      i < this.nbQuestions && cpt < 50;) { // on rajoute les variables dont on a besoin\n      if (this.sup === 1) {\n        a = randint(-4, 4) // coefficient directeur\n        b = randint(-5, 5) // ordonnée à l'origine\n        if (a === 0 && b === 0) {\n          a = 1\n        }// On évite la situation de double nullité\n        r = repere({\n          xMin: -8,\n          xMax: 8,\n          yMin: -8,\n          yMax: 8,\n          yLabelEcart: 0.8,\n          yLabelDistance: 2,\n          xLabelDistance: 2,\n          grilleX: false,\n          grilleY: false,\n          grilleSecondaire: true,\n          grilleSecondaireYDistance: 1,\n          grilleSecondaireXDistance: 1,\n          grilleSecondaireYMin: -8,\n          grilleSecondaireYMax: 8,\n          grilleSecondaireXMin: -8,\n          grilleSecondaireXMax: 8\n        })\n        c = droite(a, -1, b) // On définit l'objet qui tracera la courbe dans le repère\n        c.color = colorToLatexOrHTML('red')\n        c.epaisseur = 2\n        o = texteParPosition('O', -0.5, -0.5, 'medium', 'black', 1)\n        texte = 'From the graphic representation of the line below, give by graphic reading its reduced equation.<br><br>'\n        texte += mathalea2d({\n          xmin: -8,\n          ymin: -8,\n          xmax: 8,\n          ymax: 8,\n          scale: 0.5\n        }, r, c, o)// On trace le graphique\n        if (a === 0) {\n          texteCorr = 'We observe that the line is horizontal.'\n          texteCorr += `<br>The line is the set of points having as ordinate: $${b}$`\n          texteCorr += `<br>The reduced equation of this line is therefore: $y=${b}$`\n        } else {\n          texteCorr = 'We know that the reduced equation of a non-vertical line is of the form: $y= ax+b$ with $a$ and $b$ two real numbers not both zero.<br>'\n          texteCorr += 'The first coefficient to read graphically is $b$, the intercept of the line.<br>'\n          texteCorr += 'It is the ordinate of the point of intersection of the line with the ordinate axis.<br>'\n          texteCorr += `We read here that the point $(0,${b}) \\\\in (d)$.<br>`\n          texteCorr += `We can then conclude that the intercept is: $b=${b}$. <br>`\n          texteCorr += 'We can then read the leading coefficient $a$ of the line $(d)$.<br>'\n          texteCorr += 'We know that $a=\\\\dfrac{\\\\text{Vertical displacement}}{\\\\text{Horizontal displacement}}$'\n          texteCorr += `<br>By reading the vertical displacement corresponding to a horizontal displacement of one unit, we read: <br>$a=\\\\dfrac{\\\\text{Vertical difference}}{1}=${a}$`\n          texteCorr += '<br>We can deduce that the reduced equation of the line $(d)$ is:'\n\n          texteCorr += `$y=${reduireAxPlusB(a, b)}$`\n        }\n        if (b + a < -5 || b + a > 5) {\n          s1 = segment(-2, b - 2 * a, -1, b - 2 * a, 'blue')\n          s2 = segment(-1, b - 2 * a, -1, b - a, 'blue')\n          o = texteParPosition('O', -0.5, -0.5, 'medium', 'black', 1)\n          s1.epaisseur = 4\n          s2.epaisseur = 4\n          const A = point(0, b, 'A')\n          t = tracePoint(A, 'blue') // Variable qui trace les points avec une croix\n          l = labelPoint(A, 'blue')// Variable qui trace les nom s A et B\n          if (a !== 0) {\n            texteCorr += mathalea2d({\n              xmin: -8,\n              ymin: -8,\n              xmax: 8,\n              ymax: 8,\n              scale: 0.5\n            }, r, s1, s2, t, l, c, o)\n          }\n        } else {\n          s1 = segment(0, b, 1, b, 'blue')\n          s2 = segment(1, b, 1, b + a, 'blue')\n          o = texteParPosition('O', -0.5, -0.5, 'medium', 'black', 1)\n          s1.epaisseur = 4\n          s2.epaisseur = 4\n          const A = point(0, b, 'A')\n          t = tracePoint(A, 'blue') // Variable qui trace les points avec une croix\n          l = labelPoint(A, 'blue')// Variable qui trace les nom s A et B\n          if (a !== 0) {\n            texteCorr += mathalea2d({\n              xmin: -8,\n              ymin: -8,\n              xmax: 8,\n              ymax: 8,\n              scale: 0.5\n            }, r, s1, s2, t, l, c, o)\n          }\n        }\n        // We draw the graph\n        setReponse(this, i, 'y=' + reduireAxPlusB(a, b))\n        if (context.isAmc) {\n          this.autoCorrection[i] = {\n            enonce: texte + '<br>',\n            propositions: [\n              {\n                type: 'AMCNum',\n                propositions: [{\n                  texte: texteCorr,\n                  statut: '',\n                  reponse: {\n                    texte: 'leading coefficient',\n                    valeur: a,\n                    param: {\n                      digits: 1,\n                      decimals: 0,\n                      signe: true,\n                      approx: 0\n                    }\n                  }\n                }]\n              },\n              {\n                type: 'AMCNum',\n                propositions: [{\n                  statut: '',\n                  reponse: {\n                    texte: 'originally ordered',\n                    valeur: b,\n                    param: {\n                      digits: 1,\n                      decimals: 0,\n                      signe: true,\n                      approx: 0\n                    }\n                  }\n                }]\n              }\n            ]\n          }\n        }\n      } else { // cas du coeff directeur fractionnaire\n        a = randint(-5, 5, [0]) // numérateur coefficient directeur non nul\n        b = randint(-5, 5) // ordonnée à l'origine\n        d = randint(2, 5, 3) // dénominateur coefficient directeur\n        if (a === 0 && b === 0) {\n          a = 1\n          d = 3\n        }// On évite la situation de double nullité\n\n        r = repere({\n          xMin: -6,\n          xMax: 6,\n          yMin: -6,\n          yMax: 6,\n          yLabelEcart: 0.8,\n          yLabelDistance: 2,\n          xLabelDistance: 2,\n          grilleX: false,\n          grilleY: false,\n          grilleSecondaire: true,\n          grilleSecondaireYDistance: 1,\n          grilleSecondaireXDistance: 1,\n          grilleSecondaireYMin: -6,\n          grilleSecondaireYMax: 6,\n          grilleSecondaireXMin: -6,\n          grilleSecondaireXMax: 6\n        })\n        c = droite(a / d, -1, b) // On définit l'objet qui tracera la courbe dans le repère\n        c.color = colorToLatexOrHTML('red')\n        c.epaisseur = 2// On définit l'objet qui tracera la courbe dans le repère\n        o = texteParPosition('O', -0.5, -0.5, 'medium', 'black', 1)\n        texte = 'From the graphic representation of the line below, give by graphic reading its reduced equation.<br><br>'\n        texte += mathalea2d({\n          xmin: -6,\n          ymin: -6,\n          xmax: 6,\n          ymax: 6,\n          scale: 0.5\n        }, r, c, o)// On trace le graphique\n        if (a === 0) {\n          texteCorr = 'We observe that the line is horizontal.'\n          texteCorr += `<br>The line is the set of points having as ordinate: $${b}$`\n          texteCorr += `<br>The reduced equation of this line is therefore: $y=${b}$`\n        } else {\n          texteCorr = 'We know that the reduced equation of a non-vertical line is of the form: $y= ax+b$ with $a$ and $b$ two real numbers not both zero.<br>'\n          texteCorr += 'The first coefficient to read graphically is $b$, the intercept of the line.<br>'\n          texteCorr += 'It is the ordinate of the point of intersection of the line with the ordinate axis.<br>'\n          texteCorr += `We read here that: $A(0,${b}) \\\\in (d)$.<br>`\n          texteCorr += `We can then conclude that the intercept is: $b=${b}$. <br>`\n          texteCorr += 'We can then read the leading coefficient $a$ of the line $(d)$.<br>'\n          texteCorr += 'We know that $a=\\\\dfrac{\\\\text{Vertical displacement}}{\\\\text{Horizontal displacement}}$'\n          texteCorr += '<br>We are looking for a horizontal displacement corresponding to an entire vertical displacement.'\n          texteCorr += `<br>We read that for a movement to the right of ${d} units, it is necessary`\n\n          if (a > 0) {\n            texteCorr += 'rise from'\n          }\n          if (a < 0) {\n            texteCorr += 'come down from'\n          }\n          texteCorr += `${abs(a)} units. `\n          texteCorr += `<br>He comes: $a=\\\\dfrac{${a}}{${d}}`\n          if (pgcd(a, d) !== 1) {\n            texteCorr += `=${texFractionReduite(a, d)}`\n          }\n          texteCorr += '$'\n\n          texteCorr += '<br>We can deduce that the reduced equation of the line $(d)$ is: $y='\n          if (a === d) {\n            texteCorr += `x${b !== 0 ? ecritureAlgebrique(b) : ''}`\n          } else if (a === -d) {\n            texteCorr += `-x${b !== 0 ? ecritureAlgebrique(b) : ''}`\n          } else {\n            texteCorr += `${texFractionReduite(a, d)}x`\n            if (b !== 0) {\n              texteCorr += `${ecritureAlgebrique(b)}=${reduireAxPlusB(new Decimal(a).div(d), b)}`\n            }\n          }\n\n          texteCorr += '$.'\n\n          if (a > 0) {\n            s1 = segment(0, b - a, -d, b - a, 'blue')\n            s1.epaisseur = 4\n            s2 = segment(0, b - a, 0, b, 'blue')\n          }\n          if (a < 0) {\n            s1 = segment(0, b, d, b, 'blue')\n            s1.epaisseur = 4\n            s2 = segment(d, b - abs(a), d, b, 'blue')\n          }\n          s2.epaisseur = 4\n          const A = point(0, b, 'A')\n          t = tracePoint(A, 'red') // Variable qui trace les points avec une croix\n          l = labelPoint(A, 'red')// Variable qui trace les nom s A et B\n          if (a !== 0) {\n            texteCorr += mathalea2d({\n              xmin: -6,\n              ymin: -6,\n              xmax: 6,\n              ymax: 6,\n              scale: 0.5\n            }, r, s1, s2, t, l, c, o)\n          }// On trace le graphique\n          setReponse(this, i, 'y=' + reduireAxPlusB(new Decimal(a).div(d), b))\n          if (context.isAmc) {\n            this.autoCorrection[i] = {\n              enonce: texte + '<br>',\n              propositions: [\n                {\n                  type: 'AMCNum',\n                  propositions: [{\n                    texte: texteCorr,\n                    statut: '',\n                    reponse: {\n                      texte: 'leading coefficient',\n                      valeur: new Decimal(a).div(d).toString(),\n                      param: {\n                        digits: 3,\n                        decimals: 2,\n                        signe: true,\n                        approx: 0\n                      }\n                    }\n                  }]\n                },\n                {\n                  type: 'AMCNum',\n                  propositions: [{\n                    statut: '',\n                    reponse: {\n                      texte: 'originally ordered',\n                      valeur: b,\n                      param: {\n                        digits: 1,\n                        decimals: 0,\n                        signe: true,\n                        approx: 0\n                      }\n                    }\n                  }]\n                }\n              ]\n            }\n          }\n        }\n      }\n      texte += ajouteChampTexteMathLive(this, i)\n      if (this.questionJamaisPosee(i, a, b)) {\n        // If the question has never been asked, we create another one\n        this.listeQuestions.push(texte)\n        this.listeCorrections.push(texteCorr)\n        i++\n      }\n      cpt++\n    }\n\n    listeQuestionsToContenu(this)\n  }\n  this.besoinFormulaireNumerique = ['Question Types', 2, '1: Integer values\\n2: Fractional values']\n}\n"],"names":["titre","interactifReady","interactifType","amcReady","amcType","uuid","ref","Lecturegraphiquedeaetb","Exercice","i","a","b","r","c","d","s1","s2","t","l","texte","texteCorr","cpt","randint","repere","droite","colorToLatexOrHTML","texteParPosition","mathalea2d","reduireAxPlusB","segment","A","point","tracePoint","labelPoint","setReponse","context","abs","pgcd","texFractionReduite","ecritureAlgebrique","Decimal","ajouteChampTexteMathLive","listeQuestionsToContenu"],"mappings":"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"}