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/4F12-eVp9ir89.js.map
{"version":3,"file":"4F12-eVp9ir89.js","sources":["../../src/exercices/4e/4F12.js"],"sourcesContent":["import { courbe, courbeInterpolee } from '../../lib/2d/courbes.js'\nimport { point } from '../../lib/2d/points.js'\nimport { polyline } from '../../lib/2d/polygones.js'\nimport { grille, repere } from '../../lib/2d/reperes.js'\nimport { texteParPosition } from '../../lib/2d/textes.js'\nimport { choice } from '../../lib/outils/arrayOutils'\nimport { prenomF } from '../../lib/outils/Personne'\nimport { texNombre } from '../../lib/outils/texNombre'\nimport Exercice from '../deprecatedExercice.js'\nimport { fixeBordures, mathalea2d, vide2d } from '../../modules/2dGeneralites.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu, randint, calculANePlusJamaisUtiliser } from '../../modules/outils.js'\nexport const titre = 'Solve a problem based on reading a graphical representation'\nexport const amcReady = true\nexport const amcType = 'AMCHybride'\n\n/**\n * Problème avec lecture de représentation graphique d'une fonction\n * @author Rémi Angot\n * Référence 4F12\n */\nexport const uuid = 'b428e'\nexport const ref = '4F12'\nexport default function ExploiterRepresentationGraphique () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.titre = titre\n  this.consigne = ''\n  this.nbQuestions = 1\n  this.nbCols = 1\n  this.nbColsCorr = 1\n  this.nbQuestionsModifiable = false\n  this.sup = 4\n\n  this.nouvelleVersion = function () {\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n    this.autoCorrection = []\n    // Initial velocities giving integer height and integer range\n    // Initial speeds giving integer height and integer flight duration.\n    const vitessesInitiales = [28.27, 35.2, 49.6, 63.55, 70.85, 77.45, 84.85, 91.65]\n    const vitessesInitialesBis = [10.95, 12.65, 14.15, 15.5, 16.7, 17.9, 19, 20, 21, 21.9, 22.8, 23.7, 24.5, 25.3, 26.1, 26.8, 27.6, 28.2, 29]\n    let V0, xscale, zero\n    let typeDeProbleme\n    let enonceAMC\n    let v1, v2, v3, situation\n    let repeRe\n    let tempsPause\n    let periodeRapide\n    if (this.sup === 1) {\n      typeDeProbleme = choice(['projectile', 'projectile2'])\n    }\n    if (this.sup === 2) {\n      typeDeProbleme = 'bike'\n    }\n    if (this.sup === 3) {\n      typeDeProbleme = 'temperature'\n    }\n    if (this.sup === 4) {\n      typeDeProbleme = choice(['temperature', 'projectile', 'projectile2', 'bike'])\n    }\n    let f, t1, l, g1, r, graphique, fille, hmin, hmax, tmin, tmax\n    switch (typeDeProbleme) {\n      case 'projectile': // Curve of flight altitude versus time\n        V0 = choice(vitessesInitiales)\n        t1 = Math.round(Math.sqrt(2) * V0 / 10)\n        xscale = 9 / t1\n        f = (x) => Math.max(-5 * x ** 2 + V0 * Math.sqrt(2) * x / 2, 0)\n        repeRe = repere({ yLegende: 'height (in m)', xLegende: 'time (in s)', xUnite: 1 * xscale, yUnite: 0.1 * xscale, xMin: 0, yMin: 0, xMax: t1 + 1, yMax: f(t1 / 2) + 20, xThickDistance: 1, yThickDistance: 10, grilleSecondaireY: true, grilleSecondaireYDistance: 2, grilleSecondaireYMin: 0, grilleSecondaireYMax: f(t1 / 2) + 5 }) // ()\n        graphique = courbe(f, { repere: repeRe, xMax: t1 + 1, step: 0.2 })\n        zero = texteParPosition('0', -0.5, 0, 'medium', 'black', 1, 'middle', true)\n        this.introduction =\n          'We have shown below the evolution of the height of a projectile launched from the ground (in m) as a function of time (in seconds).'\n\n        this.introduction +=\n          '<br><br>' +\n          mathalea2d(\n            Object.assign({}, fixeBordures([repeRe, graphique, zero]), {\n              pixelsParCm: 30,\n              scale: 1\n            })\n            ,\n            repeRe,\n            graphique,\n            zero\n          )\n\n        this.introduction +=\n          '<br><br>' +\n          'Using this graph, answer the following questions:'\n\n        this.listeQuestions.push(\n          'How long does it take for the projectile to fall back to the ground?'\n        )\n        this.listeCorrections.push(\n          `At the end of ${texNombre(t1)} s, the projectile falls to the ground because the curve passes through the point of coordinates $(${texNombre(t1)}~;~0)$.`\n        )\n\n        this.listeQuestions.push(\n          'What is the maximum height reached by the projectile?'\n        )\n        this.listeCorrections.push(\n          `The highest point of the curve has the X value of $${texNombre((t1 / 2))}$ and the Y value of $${Math.round(f(t1 / 2))}$ so the maximum height is $${Math.round(f(t1 / 2))}$ m.`\n        )\n\n        break\n      case 'projectile2':\n        V0 = choice(vitessesInitialesBis)\n        t1 = Math.round(V0 ** 2 / 10)\n        xscale = 52 / t1\n        f = (x) => Math.max(-10 * x ** 2 / (V0 ** 2) + x, 0)\n        repeRe = repere({ yLegende: 'height (in m)', xLegende: 'distance (in m)', xUnite: 0.25 * xscale, yUnite: 0.5 * xscale, xMin: 0, yMin: 0, xMax: t1 + 4, yMax: f(t1 / 2) + 2.1, xThickDistance: 4, yThickDistance: 1, grilleSecondaireY: true, grilleSecondaireYDistance: 0.25, grilleSecondaireYMin: 0, grilleSecondaireYMax: f(t1 / 2) + 1 }) // ()\n        graphique = courbe(f, { repere: repeRe, step: 0.5 })\n        zero = texteParPosition('0', -0.5, 0, 'medium', 'black', 1, 'middle', true)\n\n        this.introduction =\n            'The trajectory of a projectile launched from the ground is shown below.'\n\n        this.introduction +=\n            '<br><br>' +\n            mathalea2d(\n              Object.assign({}, fixeBordures([repeRe, graphique, zero]), {\n                pixelsParCm: 30,\n                scale: 1\n              })\n              ,\n              repeRe,\n              graphique,\n              zero\n            )\n\n        this.introduction +=\n            '<br><br>' +\n            'Using this graph, answer the following questions:'\n\n        this.listeQuestions.push(\n          'How far did the projectile fall to the ground?'\n        )\n        this.listeCorrections.push(\n            `The projectile falls to the ground at a distance of ${t1} m, because the curve passes through the coordinate point $(${texNombre(t1)}~;~0)$.`\n        )\n\n        this.listeQuestions.push(\n          'What is the maximum height reached by the projectile?'\n        )\n        this.listeCorrections.push(\n            `The highest point of the curve has the X value of $${texNombre((t1 / 2))}$ and the Y value of $${Math.round(f(t1 / 2))}$ so the maximum height is $${Math.round(f(t1 / 2))}$ m.`\n        )\n\n        break\n\n      case 'bike':\n        v1 = randint(1, 4)\n        v2 = randint(1, 3, v1)\n        v3 = v1 + v2\n        r = repere({\n          yLegende: 'distance (in km)',\n          xLegende: 'time (in min)',\n          xMin: 0,\n          yMin: 0,\n          xMax: 60,\n          yMax: v3 + 1,\n          xUnite: 0.1,\n          yUnite: 1,\n          xThickDistance: 10,\n          yThickDistance: 1,\n          grilleSecondaireY: true,\n          grilleSecondaireX: true,\n          grilleSecondaireYDistance: 0.2,\n          grilleSecondaireXDistance: 2,\n          grilleSecondaireXMin: 0,\n          grilleSecondaireXMax: 60,\n          grilleSecondaireYMin: 0,\n          grilleSecondaireYMax: v3 + 1\n        })\n        g1 = grille(-1, -1, 6, 8, 'black')\n        g1.opacite = 1\n        situation = randint(1, 3)\n        zero = texteParPosition('0', -0.7, 0, 'medium', 'black', 1, 'middle', true)\n\n        if (situation === 1) {\n          l = polyline([point(0, 0), point(1, v1), point(2, v3), point(3, v3), point(4, 0)], 'blue')\n          tempsPause = 20\n          periodeRapide = 'from the 30th to the 40th minute'\n        }\n        if (situation === 2) {\n          l = polyline([point(0, 0), point(1, v3), point(2, v3), point(3, v2), point(4, 0)], 'blue')\n          tempsPause = 10\n          periodeRapide = 'during the first 10 minutes'\n        }\n        if (situation === 3) {\n          l = polyline([point(0, 0), point(1, v3), point(2, v2), point(3, v2), point(4, 0)], 'blue')\n          tempsPause = 20\n          periodeRapide = 'during the first 10 minutes'\n        }\n        l.epaisseur = 2\n\n        fille = prenomF()\n        this.introduction = `${fille} is cycling with her smartphone on a straight greenway that leaves her house. An application allows her to see how far from home she is.`\n\n        this.introduction += '<br><br>' + mathalea2d(\n          Object.assign({}, fixeBordures([r, l, zero]), {\n            pixelsParCm: 30,\n            scale: 1\n          })\n          , zero, r, l)\n\n        this.introduction += '<br><br>' + 'Using this graph, answer the following questions:'\n\n        this.listeQuestions.push('How long did she cycle?')\n        this.listeCorrections.push('She cycled for 40 minutes.')\n\n        this.listeQuestions.push('How far did she travel in total?')\n        this.listeCorrections.push(`The farthest point from her house is ${v3} km and then she returns home, so the total distance is ${2 * v3} km.`)\n\n        this.listeQuestions.push(`What happens after ${tempsPause} minutes of cycling?`)\n        this.listeCorrections.push('The distance remains constant even though it is on a straight path. So she took a break.')\n\n        this.listeQuestions.push('When was it the fastest?')\n        this.listeCorrections.push(`She was the fastest ${periodeRapide} where she completed ${v3} km in 10 minutes.`)\n\n        break\n      case 'temperature':\n        hmin = randint(2, 4)\n        hmax = randint(12, 16)\n        tmin = randint(-5, 15)\n        tmax = tmin + randint(5, 12)\n        zero = tmin < 0 ? texteParPosition('0', -0.5, 0, 'medium', 'black', 1, 'middle', true) : vide2d()\n        r = repere({\n          xMin: 0,\n          yMin: tmin - 1,\n          yMax: tmax + 2,\n          xMax: 24,\n          xUnite: 1,\n          yUnite: 1,\n          xLegende: 'Hour',\n          yLegende: 'Temperature (in °C)'\n        })\n        graphique = courbeInterpolee(\n          [\n            [-2, tmin + 2],\n            [hmin, tmin],\n            [hmax, tmax],\n            [26, tmin + 2]\n          ],\n          {\n            color: 'blue',\n            epaisseur: 2,\n            repere: r,\n            xMin: 0,\n            xMax: 24\n          })\n        this.introduction =\n          'The evolution of the temperature over one day is shown below.'\n        this.introduction +=\n          '<br><br>' +\n          mathalea2d(\n            Object.assign({}, fixeBordures([r, graphique]), {\n              pixelsParCm: 30,\n              scale: 1\n            })\n            ,\n            r,\n            zero,\n            graphique\n          )\n\n        this.introduction +=\n          '<br><br>' +\n          'Using this graph, answer the following questions:'\n\n        this.listeQuestions.push(\n          'What is the coldest temperature of the day?'\n        )\n        this.listeCorrections.push(`The lowest temperature is ${tmin}°C.`)\n\n        this.listeQuestions.push(\n          'What is the hottest temperature of the day?'\n        )\n        this.listeCorrections.push(`The highest temperature of the day is ${tmax}°C.`)\n        this.listeQuestions.push(\n          'What time is it hottest?'\n        )\n        this.listeCorrections.push(`It is at ${hmax} h that it is hottest.`)\n        this.listeQuestions.push(\n          'What time is it coldest?'\n        )\n        this.listeCorrections.push(`It is at ${hmin} h that it is the coldest.`)\n\n        break\n    }\n    if (context.isAmc) {\n      enonceAMC = this.introduction\n      for (let i = 0; i < this.listeQuestions.length; i++) {\n        enonceAMC += `${i + 1}) ${this.listeQuestions[i]}<br>`\n      }\n      switch (typeDeProbleme) {\n        case 'bike':\n          this.autoCorrection[0] = {\n            enonce: enonceAMC,\n            propositions: [\n              {\n                type: 'AMCNum',\n                propositions: [{\n                  texte: this.listeCorrections[0],\n                  statut: '',\n                  reponse: {\n                    texte: '1)',\n                    valeur: 40,\n                    param: {\n                      digits: 2,\n                      decimals: 0,\n                      signe: false,\n                      approx: 0\n                    }\n                  }\n                }]\n              },\n              {\n                type: 'AMCNum',\n                propositions: [{\n                  texte: this.listeCorrections[1],\n                  statut: '',\n                  reponse: {\n                    texte: '1)',\n                    valeur: 2 * v3,\n                    param: {\n                      digits: 2,\n                      decimals: 0,\n                      signe: false,\n                      approx: 0\n                    }\n                  }\n                }]\n              },\n              {\n                type: 'AMCOpen',\n                propositions: [{\n                  texte: this.listeCorrections[2],\n                  statut: 2\n                }]\n              },\n              {\n                type: 'AMCOpen',\n                propositions: [{\n                  texte: this.listeCorrections[3],\n                  statut: 2\n                }]\n              }\n            ]\n          }\n          break\n        case 'projectile':\n          this.autoCorrection[0] = {\n            enonce: enonceAMC,\n            propositions: [\n              {\n                type: 'AMCNum',\n                propositions: [{\n                  texte: this.listeCorrections[0],\n                  statut: '',\n                  reponse: {\n                    texte: '1)',\n                    valeur: calculANePlusJamaisUtiliser(t1),\n                    param: {\n                      digits: 2,\n                      decimals: 0,\n                      signe: false,\n                      approx: 0\n                    }\n                  }\n                }]\n              },\n              {\n                type: 'AMCNum',\n                propositions: [{\n                  texte: this.listeCorrections[1],\n                  statut: '',\n                  reponse: {\n                    texte: '1)',\n                    valeur: Math.round(f(t1 / 2)),\n                    param: {\n                      digits: 3,\n                      decimals: 0,\n                      signe: false,\n                      approx: 0\n                    }\n                  }\n                }]\n              }\n            ]\n          }\n          break\n        case 'projectile2':\n          this.autoCorrection[0] = {\n            enonce: enonceAMC,\n            propositions: [\n              {\n                type: 'AMCNum',\n                propositions: [{\n                  texte: this.listeCorrections[0],\n                  statut: '',\n                  reponse: {\n                    texte: '1)',\n                    valeur: t1,\n                    param: {\n                      digits: 2,\n                      decimals: 0,\n                      signe: false,\n                      approx: 0\n                    }\n                  }\n                }]\n              },\n              {\n                type: 'AMCNum',\n                propositions: [{\n                  texte: this.listeCorrections[1],\n                  statut: '',\n                  reponse: {\n                    texte: '1)',\n                    valeur: Math.round(f(t1 / 2)),\n                    param: {\n                      digits: 3,\n                      decimals: 0,\n                      signe: false,\n                      approx: 0\n                    }\n                  }\n                }]\n              }\n            ]\n          }\n          break\n        case 'temperature':\n          this.autoCorrection[0] = {\n            enonce: enonceAMC,\n            propositions: [\n              {\n                type: 'AMCNum',\n                propositions: [{\n                  texte: this.listeCorrections[0],\n                  statut: '',\n                  reponse: {\n                    texte: '1)',\n                    valeur: tmin,\n                    param: {\n                      digits: 2,\n                      decimals: 0,\n                      signe: false,\n                      approx: 0\n                    }\n                  }\n                }]\n              },\n              {\n                type: 'AMCNum',\n                propositions: [{\n                  texte: this.listeCorrections[1],\n                  statut: '',\n                  reponse: {\n                    texte: '1)',\n                    valeur: tmax,\n                    param: {\n                      digits: 2,\n                      decimals: 0,\n                      signe: false,\n                      approx: 0\n                    }\n                  }\n                }]\n              },\n              {\n                type: 'AMCNum',\n                propositions: [{\n                  texte: this.listeCorrections[2],\n                  statut: '',\n                  reponse: {\n                    texte: '1)',\n                    valeur: hmax,\n                    param: {\n                      digits: 2,\n                      decimals: 0,\n                      signe: false,\n                      approx: 0\n                    }\n                  }\n                }]\n              },\n              {\n                type: 'AMCNum',\n                propositions: [{\n                  texte: this.listeCorrections[3],\n                  statut: '',\n                  reponse: {\n                    texte: '1)',\n                    valeur: hmin,\n                    param: {\n                      digits: 2,\n                      decimals: 0,\n                      signe: false,\n                      approx: 0\n                    }\n                  }\n                }]\n              }\n            ]\n          }\n          break\n      }\n    } else listeQuestionsToContenu(this)\n  }\n  this.besoinFormulaireNumerique = ['Choice of problems', 4, '1: Projectile\\n2: Bike ride\\n3: Temperature\\n4: Random']\n}\n"],"names":["titre","amcReady","amcType","uuid","ref","ExploiterRepresentationGraphique","Exercice","vitessesInitiales","vitessesInitialesBis","V0","xscale","zero","typeDeProbleme","enonceAMC","v1","v2","v3","situation","repeRe","tempsPause","periodeRapide","choice","f","t1","l","g1","r","graphique","fille","hmin","hmax","tmin","tmax","x","repere","courbe","texteParPosition","mathalea2d","fixeBordures","texNombre","randint","grille","polyline","point","prenomF","vide2d","courbeInterpolee","context","i","calculANePlusJamaisUtiliser","listeQuestionsToContenu"],"mappings":"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"}