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/beta5G30-2-M-Gb2gvb.js.map
{"version":3,"file":"beta5G30-2-M-Gb2gvb.js","sources":["../../src/exercices/beta/beta5G30-2.js"],"sourcesContent":["import { arcPointPointAngle } from '../../lib/2d/cercle.js'\nimport { texteSurArc } from '../../lib/2d/codages.js'\nimport { droite } from '../../lib/2d/droites.js'\nimport { point } from '../../lib/2d/points.js'\nimport { vecteur } from '../../lib/2d/segmentsVecteurs.js'\nimport { homothetie, rotation, translation } from '../../lib/2d/transformations.js'\nimport { choice } from '../../lib/outils/arrayOutils'\nimport Exercice from '../Exercice.js'\nimport { mathalea2d, colorToLatexOrHTML, fixeBordures } from '../../modules/2dGeneralites.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu } from '../../modules/outils.js'\nimport { pickRandom } from 'mathjs'\nimport { aleaVariables } from '../../modules/outilsMathjs.js'\nexport const titre = 'Angles et parallèles'\n// eslint-disable-next-line no-debugger\ndebugger\n\n// Les exports suivants sont optionnels mais au moins la date de publication semble essentielle\nexport const dateDePublication = '08/01/2022' // La date de publication initiale au format 'jj/mm/aaaa' pour affichage temporaire d'un tag\n// export const dateDeModifImportante = '08/01/2022' // Une date de modification importante au format 'jj/mm/aaaa' pour affichage temporaire d'un tag\n\nfunction anglesSecantes (A, rot = { O: 60, A: 0 }) {\n  const s = rotation(translation(A, vecteur(1, 0)), A, rot.A)\n  const t = rotation(s, A, 180)\n  const x = rotation(translation(A, vecteur(1, 0)), A, rot.O)\n  const Ox = rotation(x, A, 180)\n  return {\n    a: arcPointPointAngle(s, x, rot.O - rot.A, true, 'blue'),\n    b: arcPointPointAngle(x, t, 180 - (rot.O - rot.A), true, 'green'),\n    c: arcPointPointAngle(t, Ox, rot.O - rot.A, true, 'red'),\n    d: arcPointPointAngle(Ox, s, 180 - (rot.O - rot.A), true, 'gray'),\n    s,\n    t,\n    x,\n    Ox,\n    As: droite(A, s),\n    Ax: droite(A, x),\n    A,\n    labela: texteSurArc((rot.O - rot.A) % 180 + '°', s, x, rot.O - rot.A, 'black'),\n    labelb: texteSurArc((180 - (rot.O - rot.A)) % 180 + '°', x, t, 180 - (rot.O - rot.A), 'black'),\n    labelc: texteSurArc((rot.O - rot.A) % 180 + '°', t, Ox, rot.O - rot.A, 'black'),\n    labeld: texteSurArc((180 - (rot.O - rot.A)) % 180 + '°', Ox, s, 180 - (rot.O - rot.A), 'black')\n  }\n}\n/**\n * Description didactique de l'exercice\n * @author Frédéric PIOU\n * Référence\n*/\nexport default function ExercicesAnglesAIC () {\n  Exercice.call(this)\n  const formulaire = [\n    '0 : Mélange des types de questions',\n    '1 : Angle alterne-interne ou correspondant ?',\n    '2 : Déterminer si des droites sont parallèles.',\n    '3 : Calculer la mesure d\\'un angle.'\n  ]\n  this.nbQuestions = 0\n  this.besoinFormulaireNumerique = [\n    'Type de questions', this.nbQuestions, formulaire.join('\\n')\n  ]\n  this.consigne = ''\n  this.nbCols = 0\n  this.nbColsCorr = 0\n  this.tailleDiaporama = 1\n  this.video = ''\n  this.correctionDetailleeDisponible = false\n  this.correctionDetaillee = true\n  context.isHtml ? (this.spacing = 2.5) : (this.spacing = 0)\n  context.isHtml ? (this.spacingCorr = 2.5) : (this.spacingCorr = 0)\n  this.sup = 0 // Type d'exercice\n  this.nouvelleVersion = function (numeroExercice, dDebug = false) {\n    this.nbQuestions = this.NbQuestions > 0 ? this.nbQuestions : this.sup !== 0 ? 1 : formulaire.length - 1\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n    this.autoCorrection = [] // À placer même si l'exercice n'a pas vocation à être corrigé\n    let nquestion = 0\n    for (let i = 0, exercice, cpt = 0; i < this.nbQuestions && cpt < 100;) { // Boucle principale où i+1 correspond au numéro de la question\n      nquestion = this.sup === 0 ? cpt + 1 : this.sup\n      if (dDebug) {\n        console.log(`\n          ********************************\n          Exercice ${i + 1} Case ${nquestion}\n          ********************************`)\n      }\n      switch (nquestion) { // Chaque question peut être d'un type différent, ici 4 cas sont prévus...\n        case 1: {\n          const objetsEnonce = [] // on initialise le tableau des objets Mathalea2d de l'enoncé\n          const objetsEnonceml = [] // Idem pour l'enoncé à main levée si besoin\n          const objetsCorrection = [] // Idem pour la correction\n          const param = aleaVariables(\n            {\n              O: 'randomInt(0,90)',\n              A: 'randomInt(-90,90)',\n              B: 'randomInt(-90,90)',\n              r1: 'pickRandom([1.5,2])',\n              r2: 'pickRandom([1.5,2])',\n              test: 'O-A>30 and O-B>30'\n            }\n          )\n          if (dDebug) console.log(param)\n          const O = point(0, 0)\n          const anglesA = anglesSecantes(homothetie(rotation(point(1, 0), O, param.O), O, param.r1), { O: param.O, A: param.A })\n          const anglesB = anglesSecantes(homothetie(rotation(point(1, 0), O, param.O + 180), O, param.r2), { O: param.O, A: param.B })\n          for (const i of ['a', 'b', 'c', 'd']) {\n            anglesA[i].couleurDeRemplissage = colorToLatexOrHTML('red')\n            anglesB[i].couleurDeRemplissage = colorToLatexOrHTML('red')\n          }\n          const ab = choice([\n            choice(['aa', 'bb', 'cc', 'dd']),\n            choice(['ca', 'db']),\n            choice(['a', 'b', 'c', 'd']) + choice(['a', 'b', 'c', 'd'])\n          ])\n          const a = ab[0]\n          const b = ab[1]\n          objetsEnonce.push(\n            anglesA[a],\n            anglesA.As,\n            anglesA.Ax,\n            anglesB[b],\n            anglesB.As,\n            anglesB.Ax,\n            anglesA['label' + a],\n            anglesB['label' + b]\n          )\n          const paramsEnonce = fixeBordures([\n            ...Object.keys(anglesA).map(key => { return anglesA[key] }),\n            ...Object.keys(anglesB).map(key => { return anglesB[key] })\n          ])\n          // On copie tout le contenu de objetsEnonce et de objetsEnonceml dans objetsCorrection\n          objetsEnonce.forEach(objet => {\n            objetsCorrection.push(objet)\n          })\n          objetsEnonceml.forEach(objet => {\n            objetsCorrection.push(objet)\n          })\n          // ici sont créés les texte, tex_corr, objets mathalea2d divers entrant dans le contenu de l'exercice\n          let texte = 'Les angles marqués sont-ils alternes-internes, correspondants ou ni l\\'un ni l\\'autre ?<br>'\n          let reponse\n          if (a === b) {\n            reponse = 'correspondants'\n          } else if (a + b === 'ca' || a + b === 'db') {\n            reponse = 'alternes-internes'\n          } else {\n            reponse = 'ni alternes-internes ni correspondants'\n          }\n          const texteCorr = `Les angles marqués sont ${reponse}.`\n          texte += mathalea2d(Object.assign({ scale: 0.7 }, paramsEnonce), objetsEnonce)\n          exercice = { texte, texteCorr }\n          break\n        }\n        case 2: {\n          const objetsEnonce = [] // on initialise le tableau des objets Mathalea2d de l'enoncé\n          const objetsCorrection = [] // Idem pour la correction\n          const param = aleaVariables(\n            {\n              O: 'randomInt(0,90)',\n              A: 'randomInt(-90,90)',\n              B: 'A',\n              r1: 'pickRandom([1.5,2])',\n              r2: 'pickRandom([1.5,2])',\n              test: '70>O-A>30 and 70>O-B>30 and abs(A-B)<45'\n            }\n          )\n          const ab = aleaVariables(\n            {\n              a: 'randomInt(0,3)',\n              b: 'randomInt(0,3)',\n              test: 'a!=b and (a!=2 or b!=0) and (a!=3 or b!=1)'\n            }\n          )\n          if (dDebug) console.log(param)\n          const O = point(0, 0)\n          const anglesA = anglesSecantes(homothetie(rotation(point(1, 0), O, param.O), O, param.r1), { O: param.O, A: param.A })\n          const anglesB = anglesSecantes(homothetie(rotation(point(1, 0), O, param.O + 180), O, param.r2), { O: param.O, A: param.B })\n          for (const i of ['a', 'b', 'c', 'd']) {\n            anglesA[i].couleurDeRemplissage = colorToLatexOrHTML('blue')\n            anglesB[i].couleurDeRemplissage = colorToLatexOrHTML('blue')\n          }\n          const a = ['a', 'b', 'c', 'd'][parseInt(ab.a)]\n          const b = ['a', 'b', 'c', 'd'][parseInt(ab.b)]\n          const epsilon = choice([pickRandom([-2, -1, 1, 2]), 0])\n          anglesA.labela = texteSurArc(((param.O - param.A) % 180 + epsilon) + '°', anglesA.s, anglesA.x, param.O - param.A, 'black')\n          anglesA.labelb = texteSurArc((180 - (param.O - param.A) + epsilon) % 180 + '°', anglesA.x, anglesA.t, 180 - (param.O - param.A), 'black')\n          anglesA.labelc = texteSurArc((param.O - param.A + epsilon) % 180 + '°', anglesA.t, anglesA.Ox, param.O - param.A, 'black')\n          anglesA.labeld = texteSurArc((180 - (param.O - param.A) + epsilon) % 180 + '°', anglesA.Ox, anglesA.s, 180 - (param.O - param.A), 'black')\n          anglesB.labela = texteSurArc(((param.O - param.A) % 180) + '°', anglesB.s, anglesB.x, param.O - param.A, 'black')\n          anglesB.labelb = texteSurArc((180 - (param.O - param.A)) % 180 + '°', anglesB.x, anglesB.t, 180 - (param.O - param.A), 'black')\n          anglesB.labelc = texteSurArc((param.O - param.A) % 180 + '°', anglesB.t, anglesB.Ox, param.O - param.A, 'black')\n          anglesB.labeld = texteSurArc((180 - (param.O - param.A)) % 180 + '°', anglesB.Ox, anglesB.s, 180 - (param.O - param.A), 'black')\n          objetsEnonce.push(\n            anglesA[a],\n            anglesA.As,\n            anglesA.Ax,\n            anglesB[b],\n            anglesB.As,\n            anglesB.Ax,\n            anglesA['label' + a],\n            anglesB['label' + b]\n          )\n          objetsEnonce.forEach(objet => {\n            objetsCorrection.push(objet)\n          })\n          let angles, calculs\n          switch (a + b) {\n            case 'ab':\n              anglesB[a].couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'a'], anglesB.a)\n              angles = 'correspondants'\n              calculs = `$180°-${anglesB.labelb.texte} = ${anglesB.labela.texte}$`\n              break\n            case 'ac':\n              anglesB[a].couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'a'], anglesB.a)\n              angles = 'correspondants'\n              break\n            case 'ad':\n              anglesB[a].couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'a'], anglesB.a)\n              angles = 'correspondants'\n              calculs = `$180°-${anglesB.labeld.texte} = ${anglesB.labela.texte}$`\n              break\n            case 'ba':\n              anglesB[a].couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'b'], anglesB.b)\n              angles = 'correspondants'\n              calculs = `$180°-${anglesB.labela.texte} = ${anglesB.labelb.texte}$`\n              break\n            case 'bc':\n              anglesB[a].couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'b'], anglesB.b)\n              angles = 'correspondants'\n              calculs = `$180°-${anglesB.labelc.texte} = ${anglesB.labelb.texte}$`\n              break\n            case 'bd':\n              anglesB[a].couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'b'], anglesB.b)\n              angles = 'correspondants'\n              break\n            case 'cb':\n              anglesB.a.couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'a'], anglesB.a)\n              angles = 'alternes-internes'\n              calculs = `$180°-${anglesB.labelb.texte} = ${anglesB.labela.texte}$`\n              break\n            case 'cd':\n              anglesB.a.couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'a'], anglesB.a)\n              angles = 'alternes-internes'\n              calculs = `$180°-${anglesB.labeld.texte} = ${anglesB.labela.texte}$`\n              break\n            case 'da':\n              anglesB.b.couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'b'], anglesB.b)\n              angles = 'alternes-internes'\n              calculs = `$180°-${anglesB.labela.texte} = ${anglesB.labelb.texte}$`\n              break\n            case 'dc':\n              anglesB.b.couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'b'], anglesB.b)\n              calculs = `$180°-${anglesB.labelc.texte} = ${anglesB.labelb.texte}$`\n              angles = 'alternes-internes'\n              break\n          }\n          const paramsEnonce = fixeBordures([\n            ...Object.keys(anglesA).map(key => { return anglesA[key] }),\n            ...Object.keys(anglesB).map(key => { return anglesB[key] })\n          ])\n          let texte = 'Les droites sont-elles parallèles ?<br>'\n          let sont\n          if (epsilon !== 0) {\n            sont = 'ne sont pas'\n          } else {\n            sont = 'sont'\n          }\n          const texteCorr = mathalea2d(Object.assign({ scale: 0.7 }, paramsEnonce), objetsCorrection) + String.raw`\n          <br>\n          ${calculs !== undefined ? calculs : 'Les angles bleu et vert sont opposés par le sommet. Ils sont donc de même mesure.'}\n          <br>\n          Les angles rouge et vert sont ${angles} et ${sont} de la même mesure.\n          <br>\n          Donc les droites ${sont} parallèles.\n          `\n          texte += mathalea2d(Object.assign({ scale: 0.7 }, paramsEnonce), objetsEnonce)\n          exercice = { texte, texteCorr }\n          break\n        }\n        case 3: {\n          const objetsEnonce = [] // on initialise le tableau des objets Mathalea2d de l'enoncé\n          const objetsCorrection = [] // Idem pour la correction\n          const param = aleaVariables(\n            {\n              O: 'randomInt(0,90)',\n              A: 'randomInt(-90,90)',\n              B: 'A',\n              r1: 'pickRandom([1.5,2])',\n              r2: 'pickRandom([1.5,2])',\n              test: '70>O-A>30 and 70>O-B>30 and abs(A-B)<45'\n            }\n          )\n          const ab = aleaVariables(\n            {\n              a: 'randomInt(0,3)',\n              b: 'randomInt(0,3)',\n              test: 'a!=b and (a!=2 or b!=0) and (a!=3 or b!=1)'\n            }\n          )\n          if (dDebug) console.log(param)\n          const O = point(0, 0)\n          const anglesA = anglesSecantes(homothetie(rotation(point(1, 0), O, param.O), O, param.r1), { O: param.O, A: param.A })\n          const anglesB = anglesSecantes(homothetie(rotation(point(1, 0), O, param.O + 180), O, param.r2), { O: param.O, A: param.B })\n          for (const i of ['a', 'b', 'c', 'd']) {\n            anglesA[i].couleurDeRemplissage = colorToLatexOrHTML('blue')\n            anglesB[i].couleurDeRemplissage = colorToLatexOrHTML('blue')\n          }\n          const a = ['a', 'b', 'c', 'd'][parseInt(ab.a)]\n          const b = ['a', 'b', 'c', 'd'][parseInt(ab.b)]\n          const epsilon = 0\n          anglesA.labela = texteSurArc(((param.O - param.A) % 180 + epsilon) + '°', anglesA.s, anglesA.x, param.O - param.A, 'black')\n          anglesA.labelb = texteSurArc((180 - (param.O - param.A) + epsilon) % 180 + '°', anglesA.x, anglesA.t, 180 - (param.O - param.A), 'black')\n          anglesA.labelc = texteSurArc((param.O - param.A + epsilon) % 180 + '°', anglesA.t, anglesA.Ox, param.O - param.A, 'black')\n          anglesA.labeld = texteSurArc((180 - (param.O - param.A) + epsilon) % 180 + '°', anglesA.Ox, anglesA.s, 180 - (param.O - param.A), 'black')\n          anglesB.labela = texteSurArc(((param.O - param.A) % 180) + '°', anglesB.s, anglesB.x, param.O - param.A, 'black')\n          anglesB.labelb = texteSurArc((180 - (param.O - param.A)) % 180 + '°', anglesB.x, anglesB.t, 180 - (param.O - param.A), 'black')\n          anglesB.labelc = texteSurArc((param.O - param.A) % 180 + '°', anglesB.t, anglesB.Ox, param.O - param.A, 'black')\n          anglesB.labeld = texteSurArc((180 - (param.O - param.A)) % 180 + '°', anglesB.Ox, anglesB.s, 180 - (param.O - param.A), 'black')\n          objetsEnonce.push(\n            anglesA[a],\n            anglesA.As,\n            anglesA.Ax,\n            anglesB[b],\n            anglesB.As,\n            anglesB.Ax,\n            anglesA['label' + a]\n            // anglesB['label' + b]\n          )\n          objetsEnonce.forEach(objet => {\n            objetsCorrection.push(objet)\n          })\n          objetsCorrection.push(anglesB['label' + b])\n          let angles, calculs, mesure\n          switch (a + b) {\n            case 'ab':\n              anglesB[a].couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'a'], anglesB.a)\n              angles = 'correspondants'\n              calculs = `$180°- ${anglesB.labela.texte}=${anglesB.labelb.texte}$`\n              mesure = anglesB.labelb.texte\n              break\n            case 'ac':\n              anglesB[a].couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'a'], anglesB.a)\n              angles = 'correspondants'\n              mesure = anglesB.labela.texte\n              break\n            case 'ad':\n              anglesB[a].couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'a'], anglesB.a)\n              angles = 'correspondants'\n              calculs = `$180°-${anglesB.labela.texte}=${anglesB.labeld.texte}$`\n              mesure = anglesB.labeld.texte\n              break\n            case 'ba':\n              anglesB[a].couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'b'], anglesB.b)\n              angles = 'correspondants'\n              calculs = `$180°-${anglesB.labelb.texte}=${anglesB.labela.texte}$`\n              mesure = anglesB.labela.texte\n              break\n            case 'bc':\n              anglesB[a].couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'b'], anglesB.b)\n              angles = 'correspondants'\n              calculs = `$180°- ${anglesB.labelb.texte}=${anglesB.labelc.texte}$`\n              mesure = anglesB.labelc.texte\n              break\n            case 'bd':\n              anglesB[a].couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'b'], anglesB.b)\n              angles = 'correspondants'\n              mesure = anglesB.labelb.texte\n              break\n            case 'cb':\n              anglesB.a.couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'a'], anglesB.a)\n              angles = 'alternes-internes'\n              calculs = `$180°- ${anglesB.labela.texte}=${anglesB.labelb.texte}$`\n              mesure = anglesB.labelb.texte\n              break\n            case 'cd':\n              anglesB.a.couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'a'], anglesB.a)\n              angles = 'alternes-internes'\n              calculs = `$180°-${anglesB.labela.texte}=${anglesB.labeld.texte}$`\n              mesure = anglesB.labeld.texte\n              break\n            case 'da':\n              anglesB.b.couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'b'], anglesB.b)\n              angles = 'alternes-internes'\n              calculs = `$180°- ${anglesB.labelb.texte}=${anglesB.labela.texte}$`\n              mesure = anglesB.labela.texte\n              break\n            case 'dc':\n              anglesB.b.couleurDeRemplissage = colorToLatexOrHTML('green')\n              anglesA[a].couleurDeRemplissage = colorToLatexOrHTML('red')\n              objetsCorrection.push(anglesB['label' + 'b'], anglesB.b)\n              calculs = `$180°- ${anglesB.labelb.texte}=${anglesB.labelc.texte}$`\n              angles = 'alternes-internes'\n              mesure = anglesB.labelc.texte\n              break\n          }\n          const paramsEnonce = fixeBordures([\n            ...Object.keys(anglesA).map(key => { return anglesA[key] }),\n            ...Object.keys(anglesB).map(key => { return anglesB[key] })\n          ])\n          let texte = `\n          Donnée : Les droites sont parallèles.\n          <br>\n          En déduire la mesure de l'angle bleu.\n          `\n          const texteCorr = mathalea2d(Object.assign({ scale: 0.7 }, paramsEnonce), objetsCorrection) + String.raw`\n          <br>\n          Les angles rouge et vert sont ${angles} et formés par des droites parallèles.\n          <br>\n          Donc ils sont de même mesure.\n          <br>\n          ${calculs !== undefined ? calculs : 'Les angles bleu et vert sont opposés par le sommet.<br> Ils sont donc de même mesure.'}\n          <br>\n          L'angle bleu mesure donc ${mesure}.\n          `\n          texte += mathalea2d(Object.assign({ scale: 0.7 }, paramsEnonce), objetsEnonce)\n          exercice = { texte, texteCorr }\n          break\n        }\n      }\n      // Les lignes ci-dessous permettent d'avoir un affichage aux dimensions optimisées\n      if (this.questionJamaisPosee(i, nquestion)) {\n        this.listeQuestions.push(exercice.texte)\n        this.listeCorrections.push(exercice.texteCorr)\n        i++\n      }\n      cpt++\n    }\n    listeQuestionsToContenu(this) // On envoie l'exercice à la fonction de mise en page\n  }\n}\n"],"names":["titre","dateDePublication","anglesSecantes","A","rot","s","rotation","translation","vecteur","t","Ox","arcPointPointAngle","droite","texteSurArc","ExercicesAnglesAIC","Exercice","formulaire","context","numeroExercice","dDebug","nquestion","i","exercice","cpt","objetsEnonce","param","aleaVariables","O","point","anglesA","homothetie","anglesB","colorToLatexOrHTML","ab","choice","a","b","paramsEnonce","fixeBordures","key","objet","texte","reponse","texteCorr","mathalea2d","objetsCorrection","epsilon","pickRandom","angles","calculs","sont","mesure","listeQuestionsToContenu"],"mappings":"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"}