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/3F10-3-eufMcjWz.js.map
{"version":3,"file":"3F10-3-eufMcjWz.js","sources":["../../src/exercices/3e/3F10-3.js"],"sourcesContent":["import { droiteParPointEtPente } from '../../lib/2d/droites.js'\nimport { point, tracePoint } from '../../lib/2d/points.js'\nimport { repere } from '../../lib/2d/reperes.js'\nimport { labelPoint, texteParPosition } from '../../lib/2d/textes.js'\nimport { choice, combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { reduireAxPlusB, reduirePolynomeDegre3 } from '../../lib/outils/ecritures.js'\nimport { sp } from '../../lib/outils/outilString.js'\nimport Exercice from '../Exercice.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { propositionsQcm } from '../../lib/interactif/qcm.js'\nexport const interactifReady = true\nexport const interactifType = 'qcm'\nexport const amcReady = true\nexport const amcType = 'qcmMult'\nexport const titre = 'Vocabulaire et notations des fonctions'\nexport const dateDePublication = '29/09/2022'\n/**\n* Répndre à des questions sur les fonctions.\n*\n* @author Gilles Mora\n* 3F10-1\n*/\n\nexport const uuid = '4daef'\nexport const ref = '3F10-3'\nexport default function VocabulaireNotationsFonctions2 () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.sup = 5\n  this.consigne = ''\n  this.spacing = 1.5\n  this.nbQuestions = 3\n  this.nbQuestionsModifiable = true\n\n  this.nouvelleVersion = function () {\n    this.listeQuestions = []\n    this.listeCorrections = []\n    this.autoCorrection = []\n    let typesDeQuestionsDisponibles\n\n    const r = repere({\n      xMin: -5,\n      xMax: 5,\n      yMin: -4,\n      yMax: 4,\n      thickHauteur: 0.1,\n      axeXStyle: '->',\n      axeYStyle: '->'\n    })\n    const o = texteParPosition('O', -0.3, -0.3, 'milieu', 'black', 1)\n    switch (this.sup) {\n      case 1: // vocabulaire1\n        typesDeQuestionsDisponibles = ['Traduire une égalité par une phrase']\n        break\n      case 2: // vocabulaire2\n        typesDeQuestionsDisponibles = ['Traduire une phrase par une égalité']\n        break\n      case 3: // graphique\n        typesDeQuestionsDisponibles = ['Interprétation graphique']\n        break\n      case 4: // avec x\n        typesDeQuestionsDisponibles = ['Expression littérale']\n        break\n      case 5: // mélange\n        typesDeQuestionsDisponibles = ['Traduire une égalité par une phrase', 'Traduire une phrase par une égalité', 'Interprétation graphique', 'Expression littérale']\n        break\n    }\n    const listeTypeDeQuestions = combinaisonListes(typesDeQuestionsDisponibles, this.nbQuestions)\n    // const nom = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n    // const PointC = choice(['A', 'B', 'C', 'D', 'M', 'R', 'S', 'T'])\n    for (let i = 0, choix, texte, texteCorr, x, y, A, d, t, fonction1, nomF = [], PointC = [], listeFonction = [], cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      switch (listeTypeDeQuestions[i]) {\n        case 'Traduire une égalité par une phrase':\n          x = randint(-9, 9, [0, 1, -1])\n          y = randint(-9, 9, x)\n          if (this.interactif) { choix = randint(0, 5) } else { choix = randint(0, 3) }\n          if (choix === 0) {\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = `Traduire l'égalité  $${nomF}(${x})=${y}$ par une phrase contenant le mot «${sp(1)}image${sp(1)}».`\n            if (this.interactif) { texte += '<br>Une ou plusieurs réponses correctes.' }\n            texteCorr = `L'égalité  $${nomF}(${x})=${y}$ se traduit par : <br>\n            $\\\\bullet$ L'image de $${x}$ par la fonction $${nomF}$ est $${y}$.<br>\n            $\\\\bullet$ $${x}$ a pour image $${y}$ par la focntion $${nomF}$.\n            `\n            this.autoCorrection[i] = { options: { ordered: false, vertical: true } }\n            this.autoCorrection[i].enonce = `${texte}\\n`\n            this.autoCorrection[i].propositions = [\n              {\n                texte: `L'image de $${x}$ par la fonction $${nomF}$ est $${y}$.`,\n                statut: true\n              },\n              {\n                texte: `L'image de $${y}$ par la fonction $${nomF}$ est $${x}$.`,\n                statut: false\n              },\n              {\n                texte: ` $${x}$ est l'image $${y}$ par la fonction $${nomF}$.`,\n                statut: false\n              },\n              {\n                texte: `$${x}$ a pour image $${y}$ par la focntion $${nomF}$.`,\n                statut: true\n              }\n            ]\n          }\n          if (choix === 1) {\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = `Traduire l'égalité  $${nomF}(${x})=${y}$ par une phrase contenant le mot «${sp(1)}image${sp(1)}».`\n            if (this.interactif) { texte += '<br>Une ou plusieurs réponses correctes.' }\n            if (this.interactif) {\n              texteCorr = `L'égalité  $${nomF}(${x})=${y}$ se traduit par : <br>\n            Par la fonction $${nomF}$,  $${x}$  a pour image $${y}$.\n            `\n            } else {\n              texteCorr = `L'égalité  $${nomF}(${x})=${y}$ se traduit par : <br>\n            $\\\\bullet$ L'image de $${x}$ par la fonction $${nomF}$ est $${y}$.<br>\n            $\\\\bullet$ $${x}$ a pour image $${y}$ par la focntion $${nomF}$.}\n            `\n            }\n            this.autoCorrection[i] = { options: { ordered: false, vertical: true } }\n            this.autoCorrection[i].enonce = `${texte}\\n`\n            this.autoCorrection[i].propositions = [\n              {\n                texte: `Par la fonction $${nomF}$,  $${x}$  a pour image $${y}$.`,\n                statut: true\n              },\n              {\n                texte: `L'image de $${y}$ par la fonction $${nomF}$ est $${x}$.`,\n                statut: false\n              },\n              {\n                texte: `Par la fonction $${nomF}$, $${x}$ est l'image $${y}$.`,\n                statut: false\n              },\n              {\n                texte: `$${y}$ a pour image $${x}$ par la focntion $${nomF}$.`,\n                statut: false\n              }\n\n            ]\n          }\n\n          if (choix === 2) {\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = `Traduire l'égalité  $${nomF}(${x})=${y}$ par une phrase contenant le mot «${sp(1)}antécédent${sp(1)}».`\n            if (this.interactif) { texte += '<br>Une ou plusieurs réponses correctes.' }\n            texteCorr = `L'égalité  $${nomF}(${x})=${y}$ se traduit par : <br>\n            $\\\\bullet$ Un antécédent de $${y}$ par la fonction $${nomF}$ est $${x}$.<br>\n            $\\\\bullet$ $${x}$ est un antécédent de $${y}$ par la fonction $${nomF}$.\n            `\n            this.autoCorrection[i] = { options: { ordered: false, vertical: true } }\n            this.autoCorrection[i].enonce = `${texte}\\n`\n            this.autoCorrection[i].propositions = [\n              {\n                texte: `Un antécédent de $${x}$ par la fonction $${nomF}$ est $${y}$.`,\n                statut: false\n              },\n              {\n                texte: `Un antécédent de $${y}$ par la fonction $${nomF}$ est $${x}$.`,\n                statut: true\n              },\n              {\n                texte: ` $${x}$ est un antécédent de $${y}$ par la fonction $${nomF}$.`,\n                statut: true\n              },\n              {\n                texte: `$${x}$ a pour antécédent $${y}$ par la focntion $${nomF}$.`,\n                statut: false\n              }\n            ]\n          }\n          if (choix === 3) {\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = `Traduire l'égalité  $${nomF}(${x})=${y}$ par une phrase contenant le mot «${sp(1)}antécédent${sp(1)}».`\n            if (this.interactif) { texte += '<br>Une ou plusieurs réponses correctes.' }\n            if (this.interactif) {\n              texteCorr = `L'égalité  $${nomF}(${x})=${y}$ se traduit par : <br>\n            Par la fonction $${nomF}$,  $${y}$  a pour antécédent $${x}$.\n            `\n            } else {\n              texteCorr = `L'égalité  $${nomF}(${x})=${y}$ se traduit par : <br>\n            $\\\\bullet$ Un antécédent de $${y}$ par la fonction $${nomF}$ est $${x}$.<br>\n            $\\\\bullet$ $${x}$ est un antécédent de $${y}$ par la focntion $${nomF}$.\n            `\n            }\n            this.autoCorrection[i] = { options: { ordered: false, vertical: true } }\n            this.autoCorrection[i].enonce = `${texte}\\n`\n            this.autoCorrection[i].propositions = [\n              {\n                texte: `Par la fonction $${nomF}$, $${y}$ a pour antécédent $${x}$.`,\n                statut: true\n              },\n              {\n                texte: `Un antécédent de $${x}$ par la fonction $${nomF}$ est $${y}$.`,\n                statut: false\n              },\n              {\n                texte: `Par la fonction $${nomF}$, $${x}$ a pour antécédent $${y}$.`,\n                statut: false\n              },\n              {\n                texte: `$${y}$ est un antécédent de $${x}$ par la fonction $${nomF}$.`,\n                statut: false\n              }\n            ]\n          }\n          if (choix === 4) {\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = `Traduire l'égalité  $${nomF}(${x})=${y}$ par une phrase.`\n            texte += '<br>Une ou plusieurs réponses correctes.'\n            texteCorr = `L'égalité  $${nomF}(${x})=${y}$ se traduit par : <br>\n            $\\\\bullet$ Un antécédent de $${y}$ par la fonction $${nomF}$ est $${x}$.<br>\n            $\\\\bullet$ L'image de $${x}$ par la fonction $${nomF}$ est $${y}$.<br>\n            $\\\\bullet$ $${y}$ est l'image de $${x}$ par la fonction $${nomF}$.\n            `\n            this.autoCorrection[i] = { options: { ordered: false, vertical: true } }\n            this.autoCorrection[i].enonce = `${texte}\\n`\n            this.autoCorrection[i].propositions = [\n              {\n                texte: `Un antécédent de $${y}$ par la fonction $${nomF}$ est $${x}$.`,\n                statut: true\n              },\n              {\n                texte: `L'image de $${x}$ par la fonction $${nomF}$ est $${y}$.`,\n                statut: true\n              },\n              {\n                texte: ` $${y}$ est l'image de $${x}$ par la fonction $${nomF}$.`,\n                statut: true\n              },\n              {\n                texte: `$${x}$ a pour antécédent $${y}$ par la focntion $${nomF}$.`,\n                statut: false\n              }\n            ]\n          }\n          if (choix === 5) {\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = `Traduire l'égalité  $${nomF}(${x})=${y}$ par une phrase.`\n            texte += '<br>Une ou plusieurs réponses correctes.'\n            texteCorr = `L'égalité  $${nomF}(${x})=${y}$ se traduit par : <br>\n            $${x}$ a pour image $${y}$ par la fonction $${nomF}$.\n            `\n            this.autoCorrection[i] = { options: { ordered: false, vertical: true } }\n            this.autoCorrection[i].enonce = `${texte}\\n`\n            this.autoCorrection[i].propositions = [\n              {\n                texte: `$${y}$ est un antécédent de $${x}$ par la fonction $${nomF}$.`,\n                statut: false\n              },\n              {\n                texte: ` $${x}$ a pour image $${y}$ par la fonction $${nomF}$.`,\n                statut: true\n              },\n              {\n                texte: ` $${y}$ a pour image  $${x}$ par la fonction $${nomF}$.`,\n                statut: false\n              },\n              {\n                texte: `$${x}$ a pour antécédent $${y}$ par la focntion $${nomF}$.`,\n                statut: false\n              }\n            ]\n          }\n          break\n        case 'Traduire une phrase par une égalité':\n          x = randint(-9, 9, [0, 1, -1])\n          y = randint(-9, 9, x)\n          choix = randint(0, 4)\n          if (choix === 0) {\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = `L'image de $${x}$ par la fonction $${nomF}$ est $${y}$.<br>\n            Traduire cette phrase par une égalité.`\n          }\n          if (choix === 1) {\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = ` $${x}$ est un antécédent de $${y}$ par la fonction $${nomF}$.<br>\n            Traduire cette phrase par une égalité.`\n          }\n\n          if (choix === 2) {\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = ` $${y}$ a pour antécédent  $${x}$ par la fonction $${nomF}$.<br>\n            Traduire cette phrase par une égalité.`\n          }\n          if (choix === 3) {\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = ` $${y}$ est l'image de  $${x}$ par la fonction $${nomF}$.<br>\n            Traduire cette phrase par une égalité.`\n          }\n          if (choix === 4) {\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = ` Un antécédent de $${y}$ par la fonction $${nomF}$ est  $${x}$.<br>\n            Traduire cette phrase par une égalité.`\n          }\n\n          texteCorr = `L'égalité traduisant cette phrase est : $${nomF}(${x})=${y}$\n            `\n          this.autoCorrection[i] = { options: { ordered: false, horizontal: true } }\n          this.autoCorrection[i].enonce = `${texte}\\n`\n          this.autoCorrection[i].propositions = [\n            {\n              texte: `$${nomF}(${x})=${y}$`,\n              statut: true\n            },\n            {\n              texte: `$${nomF}(${y})=${x}$`,\n              statut: false\n            }\n          ]\n          break\n\n        case 'Interprétation graphique':\n          x = randint(-4, 4, [0, 1, -1])\n          y = randint(-3, 3, x)\n          choix = randint(0, 3)\n\n          if (choix === 0) {\n            PointC = choice(['A', 'B', 'C', 'D', 'M', 'R', 'S', 'T'])\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            A = point(x, y, `${PointC}`)\n            A.positionLabel = 'above'\n            d = droiteParPointEtPente(A, randint(-3, 3, 0) / 2, '', 'red')\n            d.epaisseur = 3\n            A.epaisseur = 3\n            t = tracePoint(A, 'blue')\n            t.epaisseur = 2\n\n            texte = `La fonction $${nomF}$ est représentée par la droite rouge ci-dessous.<br>\n            Le point $${PointC}$ est sur la droite. Donner l'égalité correspondante.<br>`\n            texte += mathalea2d({ xmin: -5.1, ymin: -4.1, xmax: 5.1, ymax: 4.1, pixelsParCm: 30, scale: 0.7 }, r, d, o, t, labelPoint(A))\n            texteCorr = `L'égalité traduisant que $${PointC}$ est sur la courbe représentant $${nomF}$ est : $${nomF}(${x})=${y}$\n            `\n            if (this.interactif) {\n              this.autoCorrection[i] = { options: { ordered: false, horizontal: true } }\n              this.autoCorrection[i].enonce = `${texte}\\n`\n              this.autoCorrection[i].propositions = [\n                {\n                  texte: `$${nomF}(${x})=${y}$`,\n                  statut: true\n                },\n                {\n                  texte: `$${nomF}(${y})=${x}$`,\n                  statut: false\n                }\n              ]\n            }\n          }\n          if (choix === 1) {\n            PointC = choice(['A', 'B', 'C', 'D', 'M', 'R', 'S', 'T'])\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = `Le point $${PointC}(${x}\\\\;;\\\\;${y})$  est un point de la courbe représentant la fonction $${nomF}$.<br>\n              Donner l'égalité correspondante.`\n            texteCorr = `L'égalité traduisant que $${PointC}$ est sur la courbe représentant $${nomF}$ est : $${nomF}(${x})=${y}$.\n              `\n            if (this.interactif) {\n              this.autoCorrection[i] = { options: { ordered: false, horizontal: true } }\n              this.autoCorrection[i].enonce = `${texte}\\n`\n              this.autoCorrection[i].propositions = [\n                {\n                  texte: `$${nomF}(${x})=${y}$`,\n                  statut: true\n                },\n                {\n                  texte: `$${nomF}(${y})=${x}$`,\n                  statut: false\n                }\n              ]\n            }\n          }\n\n          if (choix === 2) {\n            PointC = choice(['A', 'B', 'C', 'D', 'M', 'R', 'S', 'T'])\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = ` La courbe représentant la fonction $${nomF}$ passe par le point $${PointC}(${x}\\\\;;\\\\;${y})$.<br>\n              Donner l'égalité correspondante. `\n            texteCorr = `L'égalité traduisant que $${PointC}$ est sur la courbe représentant $${nomF}$ est : $${nomF}(${x})=${y}$\n              `\n            if (this.interactif) {\n              this.autoCorrection[i] = { options: { ordered: false, horizontal: true } }\n              this.autoCorrection[i].enonce = `${texte}\\n`\n              this.autoCorrection[i].propositions = [\n                {\n                  texte: `$${nomF}(${x})=${y}$`,\n                  statut: true\n                },\n                {\n                  texte: `$${nomF}(${y})=${x}$`,\n                  statut: false\n                }\n              ]\n            }\n          }\n          if (choix === 3) {\n            PointC = choice(['A', 'B', 'C', 'D', 'M', 'R', 'S', 'T'])\n            nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n            texte = `\n           Les coordonnées du point $${PointC}$ de la courbe représentant $${nomF}$ vérifient $${nomF}(${x})=${y}$.<br>\n           Quelles sont les coordonnées du point $${PointC}$ ? `\n            texteCorr = `L'égalité $${nomF}(${x})=${y}$ permet d'affirmer que le point  $${PointC}(${x}\\\\;;\\\\;${y})$ est sur la courbe représentant $${nomF}$.\n              `\n            if (this.interactif) {\n              this.autoCorrection[i] = { options: { ordered: false, horizontal: true } }\n              this.autoCorrection[i].enonce = `${texte}\\n`\n              this.autoCorrection[i].propositions = [\n                {\n                  texte: `$${PointC}(${x}\\\\;;\\\\;${y})$`,\n                  statut: true\n                },\n                {\n                  texte: `$${PointC}(${y};${x})$`,\n                  statut: false\n                }\n              ]\n            }\n          }\n\n          break\n\n        case 'Expression littérale':\n          x = randint(-9, 9, [0, 1, -1])\n          y = randint(-9, 9, x)\n\n          listeFonction = [`${x}x`, `${x}x^2`, `${reduireAxPlusB(x, y)}`, `${reduirePolynomeDegre3(0, x, 0, y)}`]\n          fonction1 = choice(listeFonction)\n          if (!this.interactif) {\n            choix = randint(0, 4)\n            if (choix === 0) {\n              nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n              texte = `$x$ a pour image $${fonction1}$ par la fonction $${nomF}$.<br>\n              Traduire cette phrase par une égalité.`\n            }\n            if (choix === 1) {\n              nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n              texte = ` L'image de $x$ par la fonction $${nomF}$ est $${fonction1}$.<br>\n              Traduire cette phrase par une égalité.`\n            }\n\n            if (choix === 2) {\n              nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n              texte = `Par la fonction $${nomF}$, $${fonction1}$ est l'image de $x$.<br>\n              Traduire cette phrase par une égalité.`\n            }\n            if (choix === 3) {\n              nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n              texte = ` $${fonction1}$ est l'image de  $x$ par la fonction $${nomF}$.<br>\n              Traduire cette phrase par une égalité.`\n            }\n            if (choix === 4) {\n              nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n              texte = ` La fonction $${nomF}$ associe, à tout nombre $x$, le nombre $${fonction1}$.<br>\n              Traduire cette phrase par une égalité.`\n            }\n\n            texteCorr = `L'égalité traduisant cette phrase est : $${nomF}(x)=${fonction1}.$\n              `\n          } else {\n            choix = randint(0, 2)\n            if (choix === 0) {\n              nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n              texte = `$x$ a pour image $${fonction1}$ par la fonction $${nomF}$.<br>\n             Alors :`\n              texte += '<br>Une ou plusieurs réponses correctes.'\n              this.autoCorrection[i] = { options: { ordered: false, vertical: true } }\n              this.autoCorrection[i].enonce = `${texte}\\n`\n              this.autoCorrection[i].propositions = [\n                {\n                  texte: `$${nomF}(x)=${fonction1}$`,\n                  statut: true\n                },\n                {\n                  texte: `$x$ est l'image de $${fonction1}$ par la fonction $${nomF}$`,\n                  statut: false\n                },\n                {\n                  texte: `Par la fonction $${nomF}$,  $${fonction1}$ a pour image $x$. `,\n                  statut: false\n                }\n              ]\n              texteCorr = `$x$ a pour image $${fonction1}$ par la fonction $${nomF}$.<br>\n              Alors :<br>\n              $${nomF}(x)=${fonction1}$\n              `\n            }\n\n            if (choix === 1) {\n              nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n              texte = ` L'image de $x$ par la fonction $${nomF}$ est $${fonction1}$.<br>\n              Alors :`\n              texte += '<br>Une ou plusieurs réponses correctes.'\n              this.autoCorrection[i] = { options: { ordered: false, vertical: true } }\n              this.autoCorrection[i].enonce = `${texte}\\n`\n              this.autoCorrection[i].propositions = [\n                {\n                  texte: `$${nomF}(${fonction1})=x$`,\n                  statut: false\n                },\n                {\n                  texte: `$x$ a pour image $${fonction1}$ par la fonction $${nomF}$`,\n                  statut: true\n                },\n                {\n                  texte: `Par la fonction $${nomF}$,  $x$ est l'image de $${fonction1}$. `,\n                  statut: false\n                }\n              ]\n              texteCorr = ` L'image de $x$ par la fonction $${nomF}$ est $${fonction1}$.<br>\n              Alors :<br>\n              $x$ a pour image $${fonction1}$ par la fonction $${nomF}$.\n              `\n            }\n\n            if (choix === 2) {\n              nomF = choice(['f', 'g', 'h', 'u', 'v', 'w', 'p', 'm', 't', 'k'])\n              texte = `Par la fonction $${nomF}$, $${fonction1}$ est l'image de $x$.<br>\n              Alors :`\n              texte += '<br>Une ou plusieurs réponses correctes.'\n              this.autoCorrection[i] = { options: { ordered: false, vertical: true } }\n              this.autoCorrection[i].enonce = `${texte}\\n`\n              this.autoCorrection[i].propositions = [\n                {\n                  texte: `$${nomF}(x)=${fonction1}$`,\n                  statut: true\n                },\n                {\n                  texte: `$x$ a pour image $${fonction1}$ par la fonction $${nomF}$`,\n                  statut: true\n                },\n                {\n                  texte: `L'image de $${fonction1}$ par la fonction $${nomF}$ est $x$`,\n                  statut: false\n                }\n              ]\n              texteCorr = `Par la fonction $${nomF}$, $${fonction1}$ est l'image de $x$.<br>\n              Alors :<br>\n              $\\\\bullet$ $${nomF}(x)=${fonction1}$, <br>\n              $\\\\bullet$ $x$ a pour image $${fonction1}$ par la fonction $${nomF}$.\n              `\n            }\n          }\n          break\n      }\n      if (this.interactif) {\n        texte += propositionsQcm(this, i).texte\n      }\n      if (this.questionJamaisPosee(i, x, y)) {\n        this.listeQuestions.push(texte)\n        this.listeCorrections.push(texteCorr)\n        i++\n      }\n      cpt++\n    }\n    listeQuestionsToContenu(this)\n  }\n  this.besoinFormulaireNumerique = [\n    'Choix des questions',\n    5,\n    '1 : Traduire une égalité par une phrase\\n2 : Traduire une phrase par une égalité\\n3 : Interprétation graphique\\n4 : Expression littérale\\n5 : Mélange'\n  ]\n}\n"],"names":["interactifReady","interactifType","amcReady","amcType","titre","dateDePublication","uuid","ref","VocabulaireNotationsFonctions2","Exercice","typesDeQuestionsDisponibles","r","repere","o","texteParPosition","listeTypeDeQuestions","combinaisonListes","i","choix","texte","texteCorr","x","y","A","t","fonction1","nomF","PointC","listeFonction","cpt","randint","choice","sp","point","droiteParPointEtPente","tracePoint","mathalea2d","labelPoint","reduireAxPlusB","reduirePolynomeDegre3","propositionsQcm","listeQuestionsToContenu"],"mappings":"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"}