File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/3F12-4-FyloOd7W.js.map
{"version":3,"file":"3F12-4-FyloOd7W.js","sources":["../../src/exercices/3e/3F12-4.js"],"sourcesContent":["import Decimal from 'decimal.js'\nimport { courbe } from '../../lib/2d/courbes.js'\nimport { repere } from '../../lib/2d/reperes.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { chercheMinMaxFonction } from '../../lib/mathFonctions/etudeFonction.js'\nimport { resolutionSystemeLineaire2x2, resolutionSystemeLineaire3x3 } from '../../lib/mathFonctions/outilsMaths.js'\nimport { abs, nombreDeChiffresDansLaPartieEntiere } from '../../lib/outils/nombres.js'\nimport { numAlpha } from '../../lib/outils/outilString.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport Exercice from '../Exercice.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const titre = 'Read the image of a number from a graph'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const amcReady = true\nexport const amcType = 'AMCHybride'\n\n/**\n * Un graphique étant tracé, déterminer l'image de nombres donnés.\n * La fonction est un polynôme de degré 1, 2 ou 3 et les nombres des questions ne sont que des entiers.\n *\n * @author Rémi Angot\n * 3F12-4\n */\nexport const uuid = 'b8946'\nexport const ref = '3F12-4'\nexport default function ImageGraphique () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.titre = titre\n this.consigne = ''\n this.sup = 3\n this.spacing = 1\n context.isHtml ? this.spacingCorr = 3 : this.spacingCorr = 1\n this.nbQuestions = 1\n this.pointsParQuestions = 3\n // this.nbQuestionsModifiable = false\n this.nbCols = 1\n\n this.nouvelleVersion = function () {\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n this.autoCorrection = []\n\n this.contenu = '' // Liste de questions\n this.contenuCorrection = '' // Liste de questions corrigées\n this.sup = parseInt(this.sup)\n let a, b, c, d, x1, x2, x3, fx1, fx2, fx3, numa, dena, numb, denb, numc, denc, ymax, f\n\n function initialiseVariables () {\n x1 = randint(-6, -3)\n x2 = randint(x1 + 3, 2)\n x3 = randint(x2 + 2, 8)\n fx1 = randint(-5, 5)\n fx2 = randint(-6, 6)\n fx3 = randint(-5, 5)\n d = randint(-5, 5)\n c = randint(-5, 5)\n ymax = 7\n }\n\n for (let i = 0, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n initialiseVariables()\n\n texte = 'We have drawn below the representative curve of the function $f$.<br>'\n const r = repere({ xMin: -7, xMax: 9, yMin: -7, yMax: 7 })\n if (this.sup === 1) {\n a = new Decimal(fx2 - fx1).div(x2 - x1)\n b = a.mul(x1).sub(fx1)\n f = x => a * x - b\n\n texte += `Determine by graphic reading the images of $${x1}$ and $${x2}$ by this function $f$.<br>`\n texteCorr = `The image of $${x1}$ is $${fx1}$, we note $f(${x1})=${fx1}$.<br>`\n texteCorr += `The image of $${x2}$ is $${fx2}$, we note $f(${x2})=${fx2}$.`\n }\n\n if (this.sup === 2) {\n x1 = randint(-6, -3)\n x3 = randint(1, 6)\n fx1 = randint(-5, 5)\n fx3 = randint(-6, 6, c);\n [[numa, dena], [numb, denb]] = resolutionSystemeLineaire2x2(x1, x3, fx1, fx3, c)\n while (dena === 0 || denb === 0 || numa === 0) {\n x1 = randint(-6, -3)\n x3 = randint(1, 6)\n fx1 = randint(-5, 5)\n fx3 = randint(-6, 6, c)\n ;[[numa, dena], [numb, denb]] = resolutionSystemeLineaire2x2(x1, x3, fx1, fx3, c)\n }\n a = new Decimal(numa).div(dena)\n b = new Decimal(numb).div(denb)\n x2 = 0\n fx2 = c\n\n f = x => a * x ** 2 + b * x + c\n }\n\n if (this.sup === 3) {\n [[numa, dena], [numb, denb], [numc, denc]] = resolutionSystemeLineaire3x3(x1, x2, x3, fx1, fx2, fx3, d)\n let [extremum1, extremum2] = chercheMinMaxFonction([numa / dena, numb / denb, numc / denc, d])\n while (dena === 0 || denb === 0 || denc === 0 || abs(extremum1[1]) > ymax || abs(extremum2[1]) > ymax) {\n initialiseVariables();\n [[numa, dena], [numb, denb], [numc, denc]] = resolutionSystemeLineaire3x3(x1, x2, x3, fx1, fx2, fx3, d)\n if (chercheMinMaxFonction([numa / dena, numb / denb, numc / denc, d]) === []) {\n [extremum1, extremum2] = [[0, 999], [0, 999]]\n } else {\n [extremum1, extremum2] = chercheMinMaxFonction([numa / dena, numb / denb, numc / denc, d])\n }\n }\n a = new Decimal(numa).div(dena)\n b = new Decimal(numb).div(denb)\n c = new Decimal(numc).div(denc)\n\n f = x => a * x ** 3 + b * x ** 2 + c * x + d\n }\n\n if (this.sup === 2 || this.sup === 3) {\n texte += `Determine by graphic reading the images of $${x1}$, $${x2}$ and $${x3}$ by this function $f$.<br>`\n texteCorr = `The image of $${x1}$ is $${fx1}$, we note $f(${x1})=${fx1}$.<br>`\n texteCorr += `The image of $${x2}$ is $${fx2}$, we note $f(${x2})=${fx2}$.<br>`\n texteCorr += `The image of $${x3}$ is $${fx3}$, we note $f(${x3})=${fx3}$.<br>`\n }\n const C = courbe(f, { repere: r, step: 0.25 })\n texte += mathalea2d({ xmin: -7.5, xmax: 9.5, ymin: -7.5, ymax: 7.5, scale: 0.6 }, r, C)\n\n if (context.isAmc) {\n this.autoCorrection[i] = {\n enonce: texte + '<br>',\n options: { multicols: true, barreseparation: true, numerotationEnonce: true },\n propositions: [\n {\n type: 'AMCNum',\n propositions: [{\n texte: `The image of $${x1}$ is $${fx1}$, we note $f(${x1})=${fx1}$.\\\\\\\\`,\n statut: '',\n reponse: {\n texte: numAlpha(0) + `$f(${x1})$`,\n valeur: fx1,\n param: {\n digits: nombreDeChiffresDansLaPartieEntiere(fx1),\n decimals: 0,\n signe: true,\n approx: 0\n }\n }\n }]\n },\n {\n type: 'AMCNum',\n propositions: [{\n texte: `The image of $${x2}$ is $${fx2}$, we note $f(${x2})=${fx2}$.\\\\\\\\`,\n statut: '',\n reponse: {\n texte: numAlpha(1) + `$f(${x2})$`,\n valeur: fx2,\n param: {\n digits: nombreDeChiffresDansLaPartieEntiere(fx2),\n decimals: 0,\n signe: true,\n approx: 0\n }\n }\n }]\n }\n ]\n }\n if (this.sup !== 1) {\n this.autoCorrection[i].propositions.push({\n type: 'AMCNum',\n propositions: [{\n texte: `The image of $${x3}$ is $${fx3}$, we note $f(${x3})=${fx3}$.\\\\\\\\`,\n statut: '',\n reponse: {\n texte: numAlpha(2) + `$f(${x3})$`,\n valeur: fx3,\n param: {\n digits: nombreDeChiffresDansLaPartieEntiere(fx3),\n decimals: 0,\n signe: true,\n approx: 0\n }\n }\n }]\n })\n }\n } else if (this.interactif) {\n if (this.sup === 1) {\n texte += `$f(${x1})=$` + ajouteChampTexteMathLive(this, 2 * i, 'width25 inline nospacebefore')\n texte += `<br><br>$f(${x2})=$` + ajouteChampTexteMathLive(this, 2 * i + 1, 'width25 inline nospacebefore')\n setReponse(this, 2 * i, fx1)\n setReponse(this, 2 * i + 1, fx2)\n } else {\n texte += `$f(${x1})=$` + ajouteChampTexteMathLive(this, 3 * i, 'width25 inline nospacebefore')\n texte += `<br><br>$f(${x2})=$` + ajouteChampTexteMathLive(this, 3 * i + 1, 'width25 inline nospacebefore')\n texte += `<br><br>$f(${x3})=$` + ajouteChampTexteMathLive(this, 3 * i + 2, 'width25 inline nospacebefore')\n setReponse(this, 3 * i, fx1)\n setReponse(this, 3 * i + 1, fx2)\n setReponse(this, 3 * i + 2, fx3)\n }\n }\n if (this.listeQuestions.indexOf(texte) === -1) { // Si la question n'a jamais été posée, on en créé une autre\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n i++\n }\n cpt++\n }\n listeQuestionsToContenu(this)\n }\n\n this.besoinFormulaireNumerique = ['Function type', 3, '1: Affine\\n2: 2nd degree polynomial\\n3: 3rd degree polynomial']\n}\n"],"names":["titre","interactifReady","interactifType","amcReady","amcType","uuid","ref","ImageGraphique","Exercice","context","a","b","c","d","x1","x2","x3","fx1","fx2","fx3","numa","dena","numb","denb","numc","denc","ymax","f","initialiseVariables","randint","i","texte","texteCorr","cpt","r","repere","Decimal","x","resolutionSystemeLineaire2x2","resolutionSystemeLineaire3x3","extremum1","extremum2","chercheMinMaxFonction","abs","C","courbe","mathalea2d","numAlpha","nombreDeChiffresDansLaPartieEntiere","ajouteChampTexteMathLive","setReponse","listeQuestionsToContenu"],"mappings":"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"}