File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/3F21-2-3WIfmOuO.js.map
{"version":3,"file":"3F21-2-3WIfmOuO.js","sources":["../../src/exercices/3e/3F21-2.js"],"sourcesContent":["import { courbe } from '../../lib/2d/courbes.js'\nimport { point, tracePoint } from '../../lib/2d/points.js'\nimport { repere } from '../../lib/2d/reperes.js'\nimport { combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { ecritureAlgebrique, ecritureParentheseSiNegatif } from '../../lib/outils/ecritures.js'\nimport Exercice from '../Exercice.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { fraction } from '../../modules/fractions.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const titre = 'Déterminer une fonction affine par la donnée des images de deux nombres'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\n\n/**\n * Déterminer la forme algébrique à partir de la donnée de 2 nombres et de leurs images\n * cas 0 : fonction constante\n * cas 1 : f(0) et f(x2) donnés\n * cas 2 : f(x1) et f(x1+1) donnés\n * cas 3 : f(x1) et f(x2) donnés a et b entiers\n * cas 4 : f(x1) et f(x2) donnés a et b rationnels\n * x1, x2, f(x1) et f(x2) sont toujours entiers relatifs\n * @author Jean-Claude Lhote\n * Référence 3F21-2\n */\nexport const uuid = 'b8b33'\nexport const ref = '3F21-2'\nexport default function DeterminerFonctionAffine () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.titre = titre\n this.interactifReady = interactifReady\n this.interactifType = interactifType\n this.consigne = ''\n this.sup = 1\n this.nbQuestions = 2\n this.nbCols = 2 // Uniquement pour la sortie LaTeX\n this.nbColsCorr = 2 // Uniquement pour la sortie LaTeX\n // this.sup = 1\n this.tailleDiaporama = 3 // Pour les exercices chronométrés. 50 par défaut pour les exercices avec du texte\n this.video = '' // Id YouTube ou url\n\n this.nouvelleVersion = function () {\n this.titre = titre\n\n this.listeQuestions = [] // tableau contenant la liste des questions\n this.listeCorrections = []\n let typeDeQuestionsDisponibles\n if (parseInt(this.sup) === 1) {\n typeDeQuestionsDisponibles = [0, 1]\n } else if (parseInt(this.sup) === 2) {\n typeDeQuestionsDisponibles = [1, 2, 3]\n } else {\n typeDeQuestionsDisponibles = [3, 4]\n }\n const listeTypeDeQuestions = combinaisonListes(typeDeQuestionsDisponibles, this.nbQuestions)\n for (let i = 0, x1, x2, y1, y2, a, b, tA, tB, r, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n texte = '' // Nous utilisons souvent cette variable pour construire le texte de la question.\n texteCorr = '' // Idem pour le texte de la correction.\n\n switch (listeTypeDeQuestions[i]) {\n case 0: // fonction constante\n a = 0\n b = randint(-10, 10, 0)\n x1 = randint(-5, -1)\n x2 = randint(1, 5)\n y1 = b\n y2 = b\n texteCorr = `On remarque que $f(${x1})=f(${x2})=${b}$ donc la droite représentant la fonction $f$ passe par deux points distincts ayant la même ordonnée.<br>`\n texteCorr += `Elle est donc parallèle à l'axe des abscisses. La fonction $f$ est une fonction constante et $f(x)=${b}$.`\n setReponse(this, i, `f(x)=${b}`)\n if (this.correctionDetaillee) {\n tA = tracePoint(point(x1, y1), 'red')\n tB = tracePoint(point(x2, y2), 'red')\n\n r = repere({ xMin: -5, yMin: Math.min(-1, b - 1), xMax: 5, yMax: Math.max(b + 1, 2) })\n texteCorr += `<br><br>${mathalea2d({\n xmin: -5,\n ymin: Math.min(-1, b - 1),\n xmax: 5,\n ymax: Math.max(b + 1, 2),\n pixelsParCm: 20,\n scale: 0.7\n }, r, courbe(x => a * x + b, { repere: r, color: 'blue' }), tA, tB)}`\n }\n break\n\n case 1: // f(0)=y1 f(x2)= y2 a et b entiers relatifs.\n a = randint(-2, 2, 0)\n b = randint(-5, 5, 0)\n x1 = 0\n y1 = b\n x2 = randint(-5, 5, 0)\n y2 = b + a * x2\n texteCorr = `Soit $f(x)=ax+b$. Nous savons que $f(0)=${y1}=b$.<br>`\n texteCorr += `Donc $f(x)=ax${ecritureAlgebrique(y1)}$. En utilisant la donnée $f(${x2})=${y2}$ on obtient : $a \\\\times ${ecritureParentheseSiNegatif(x2)}${ecritureAlgebrique(b)}=${y2}$ d'où $a \\\\times ${ecritureParentheseSiNegatif(x2)}=${y2}${ecritureAlgebrique(-b)}=${y2 - b}$ donc $a=\\\\dfrac{${y2 - b}}{${x2}}=${a}$.<br>`\n texteCorr += `Donc $f(x)=${a}x${ecritureAlgebrique(b)}$.`\n setReponse(this, i, `f(x)=${a}x${ecritureAlgebrique(b)}`)\n if (this.correctionDetaillee) {\n tA = tracePoint(point(x1, y1), 'red')\n tB = tracePoint(point(x2, y2), 'red')\n\n r = repere({\n xMin: -5,\n yMin: Math.min(-5 * a + b, 5 * a + b),\n xMax: 5,\n yMax: Math.max(-5 * a + b, 5 * a + b)\n })\n texteCorr += `<br><br>${mathalea2d({\n xmin: -5,\n ymin: Math.min(-5 * a + b, 5 * a + b),\n xmax: 5,\n ymax: Math.max(-5 * a + b, 5 * a + b),\n pixelsParCm: 20,\n scale: 0.7\n }, r, courbe(x => a * x + b, { repere: r, color: 'blue' }), tA, tB)}`\n }\n break\n\n case 2: // f(x1)=y1 et f(x1+1)=y2\n a = randint(-5, 5, 0)\n b = randint(-5, 5, 0)\n x1 = randint(-5, 5, [-1, 0])\n y1 = a * x1 + b\n x2 = x1 + 1\n y2 = b + a * x2\n texteCorr = `Soit $f(x)=ax+b$. On passe de $${x1}$ à $${x2}$ en ajoutant 1, donc la pente $a$ de la droite correspond à $f(${x2})-f(${x1})=${y2}-${ecritureParentheseSiNegatif(y1)}=`\n if (y1 < 0) texteCorr += `${y2}${ecritureAlgebrique(-y1)}=${a}$.<br>`\n else texteCorr += `${a}$.<br>`\n texteCorr += `Donc $f(x)=${a}x+b$.<br>En utilisant la donnée $f(${x2})=${y2}$ on obtient : $${a} \\\\times ${ecritureParentheseSiNegatif(x2)}+b=${y2}$ d'où $${a * x2}+b=${y2}$ donc $b=${y2}${ecritureAlgebrique(-a * x2)}=${b}$.<br>`\n texteCorr += `Donc $f(x)=${a}x${ecritureAlgebrique(b)}$.`\n setReponse(this, i, `f(x)=${a}x${ecritureAlgebrique(b)}`)\n if (this.correctionDetaillee) {\n tA = tracePoint(point(x1, y1), 'red')\n tB = tracePoint(point(x2, y2), 'red')\n\n r = repere({\n xMin: -5,\n yMin: Math.min(-5 * a + b, 5 * a + b),\n xMax: 5,\n yMax: Math.max(-5 * a + b, 5 * a + b)\n })\n texteCorr += `<br><br>${mathalea2d({\n xmin: -5,\n ymin: Math.min(-5 * a + b, 5 * a + b),\n xmax: 5,\n ymax: Math.max(-5 * a + b, 5 * a + b),\n pixelsParCm: 20,\n scale: 0.7\n }, r, courbe(x => a * x + b, { repere: r, color: 'blue' }), tA, tB)}`\n }\n break\n\n case 3: // f(x1)=y1 f(x2)=y2 a et b entiers\n a = randint(-5, 5, 0)\n b = randint(-5, 5, 0)\n x1 = randint(-5, 5, 0)\n y1 = a * x1 + b\n x2 = randint(-5, 5, [0, x1])\n y2 = b + a * x2\n texteCorr = `Soit $f(x)=ax+b$. En utilisant les données de l'énoncé, on obtient : $f(${x1})=${y1}=a \\\\times ${ecritureParentheseSiNegatif(x1)}+b$ et $f(${x2})=${y2}=a \\\\times ${ecritureParentheseSiNegatif(x2)}+b$<br>`\n texteCorr += `Donc d'une part : $b=${y1}+a\\\\times ${ecritureParentheseSiNegatif(-x1)}$ et d'autre part : $b=${y2}+a\\\\times ${ecritureParentheseSiNegatif(-x2)}$.<br>`\n texteCorr += `Par identification, on obtient : $${y1}+a\\\\times ${ecritureParentheseSiNegatif(-x1)}=${y2}+a\\\\times ${ecritureParentheseSiNegatif(-x2)}$.<br>`\n texteCorr += `On en déduit que $${y1}${ecritureAlgebrique(-y2)}=a(${x1}${ecritureAlgebrique(-x2)})$ soit $${y1 - y2}=${x1 - x2}a$.<br>`\n texteCorr += `Donc $a=\\\\dfrac{${y1 - y2}}{${x1 - x2}}=${a}$.<br>`\n texteCorr += `Donc $b=${y1}${ecritureAlgebrique(a)}\\\\times ${ecritureParentheseSiNegatif(-x1)}=${y1}${ecritureAlgebrique(-a * x1)}=${b}$.<br>`\n texteCorr += `Donc $f(x)=${a}x${ecritureAlgebrique(b)}$.`\n setReponse(this, i, `f(x)=${a}x${ecritureAlgebrique(b)}`)\n if (this.correctionDetaillee) {\n tA = tracePoint(point(x1, y1), 'red')\n tB = tracePoint(point(x2, y2), 'red')\n\n r = repere({\n xMin: -5,\n yMin: Math.min(-5 * a + b, 5 * a + b),\n xMax: 5,\n yMax: Math.max(-5 * a + b, 5 * a + b)\n })\n texteCorr += `<br><br>${mathalea2d({\n xmin: -5,\n ymin: Math.min(-5 * a + b, 5 * a + b),\n xmax: 5,\n ymax: Math.max(-5 * a + b, 5 * a + b),\n pixelsParCm: 20,\n scale: 0.7\n }, r, courbe(x => a * x + b, { repere: r, color: 'blue' }), tA, tB)}`\n }\n break\n\n case 4:\n x1 = randint(-5, 5, 0)\n x2 = randint(-5, 5, [0, x1])\n y1 = randint(-5, 5)\n y2 = randint(-5, 5)\n a = fraction(y2 - y1, x2 - x1)\n b = a.multiplieEntier(-x1).ajouteEntier(y1)\n texteCorr = `Soit $f(x)=ax+b$. En utilisant les données de l'énoncé, on obtient : $f(${x1})=${y1}=a \\\\times ${ecritureParentheseSiNegatif(x1)}+b$ et $f(${x2})=${y2}=a \\\\times ${ecritureParentheseSiNegatif(x2)}+b$<br>`\n texteCorr += `Donc d'une part : $b=${y1}+a\\\\times ${ecritureParentheseSiNegatif(-x1)}$ et d'autre part : $b=${y2}+a\\\\times ${ecritureParentheseSiNegatif(-x2)}$.<br>`\n texteCorr += `Par identification, on obtient : $${y1}+a\\\\times ${ecritureParentheseSiNegatif(-x1)}=${y2}+a\\\\times ${ecritureParentheseSiNegatif(-x2)}$.<br>`\n texteCorr += `On en déduit que $${y1}${ecritureAlgebrique(-y2)}=a(${x1}${ecritureAlgebrique(-x2)})$ soit $${y1 - y2}=${x1 - x2}a$.<br>`\n texteCorr += `Donc $a=\\\\dfrac{${y1 - y2}}{${x1 - x2}}=${a.texFractionSimplifiee}$.<br>`\n texteCorr += `Donc $b=${y1}+${a.texFractionSimplifiee}\\\\times ${ecritureParentheseSiNegatif(-x1)}=${fraction(y1 * a.denIrred, a.denIrred).texFraction}+${a.multiplieEntier(-x1).texFractionSimplifiee}=${b.texFractionSimplifiee}$.<br>`\n texteCorr += `Donc $f(x)=${a.texFractionSimplifiee}x${b.simplifie().texFractionSignee}$.`\n setReponse(this, i, `f(x)=${a.texFractionSimplifiee}x${b.simplifie().texFractionSignee}`)\n if (this.correctionDetaillee) {\n tA = tracePoint(point(x1, y1), 'red')\n tB = tracePoint(point(x2, y2), 'red')\n\n a = a.n / a.d\n b = b.n / b.d\n r = repere({\n xMin: -5,\n yMin: Math.round(Math.min(-5 * a + b, 5 * a + b)),\n xMax: 5,\n yMax: Math.round(Math.max(-5 * a + b, 5 * a + b))\n })\n texteCorr += `<br><br>${mathalea2d({\n xmin: -5,\n ymin: Math.round(Math.min(-5 * a + b, 5 * a + b)),\n xmax: 5,\n ymax: Math.round(Math.max(-5 * a + b, 5 * a + b)),\n pixelsParCm: 20,\n scale: 0.7\n }, r, courbe(x => a * x + b, { repere: r, color: 'blue' }), tA, tB)}`\n }\n break\n }\n texte = `La fonction $f$ est une fonction affine et on sait que $f(${x1})=${y1}$ et $f(${x2})=${y2}$.<br>`\n texte += 'Déterminer la forme algébrique de la fonction $f$.'\n texte += ajouteChampTexteMathLive(this, i)\n if (this.questionJamaisPosee(i, x1, x2, y1, y2, a, b, listeTypeDeQuestions[i])) {\n // Si la question n'a jamais été posée, on la stocke dans la liste des questions\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n i++\n }\n cpt++\n }\n listeQuestionsToContenu(this) // On envoie l'exercice à la fonction de mise en page\n }\n this.besoinFormulaireNumerique = ['Niveau de difficulté', 3, '1 : Facile\\n2 : Difficile\\n3 : Très difficile']\n}\n"],"names":["titre","interactifReady","interactifType","uuid","ref","DeterminerFonctionAffine","Exercice","typeDeQuestionsDisponibles","listeTypeDeQuestions","combinaisonListes","i","x1","x2","y1","y2","a","b","tA","tB","r","texte","texteCorr","cpt","randint","setReponse","tracePoint","point","repere","mathalea2d","courbe","x","ecritureAlgebrique","ecritureParentheseSiNegatif","fraction","ajouteChampTexteMathLive","listeQuestionsToContenu"],"mappings":"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"}