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/3G13-Wrdt2MTo.js.map
{"version":3,"file":"3G13-Wrdt2MTo.js","sources":["../../src/exercices/3e/3G13.js"],"sourcesContent":["import Algebrite from 'algebrite'\nimport { abs, divide, evaluate, format, fraction, isInteger, max, multiply, pow, round, subtract } from 'mathjs'\nimport { arcPointPointAngle } from '../../lib/2d/cercle.js'\nimport { texteSurArc, texteSurSegment } from '../../lib/2d/codages.js'\nimport { point } from '../../lib/2d/points.js'\nimport { segmentAvecExtremites } from '../../lib/2d/segmentsVecteurs.js'\nimport { labelPoint } from '../../lib/2d/textes.js'\nimport { homothetie, rotation } from '../../lib/2d/transformations.js'\nimport { choice, combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { choisitLettresDifferentes } from '../../lib/outils/aleatoires'\nimport { deprecatedTexFraction } from '../../lib/outils/deprecatedFractions.js'\nimport { texNombre } from '../../lib/outils/texNombre.js'\nimport { fixeBordures, mathalea2d } from '../../modules/2dGeneralites.js'\nimport { context } from '../../modules/context.js'\nimport {\n  gestionnaireFormulaireTexte,\n  listeQuestionsToContenu,\n  randint\n} from '../../modules/outils.js'\nimport Exercice from '../Exercice.js'\n\nexport const titre = 'Homothety (calculations)'\n// eslint-disable-next-line no-debugger\n// debugger\n// Les exports suivants sont optionnels mais au moins la date de publication semble essentielle\nexport const dateDePublication = '28/11/2021' // La date de publication initiale au format 'jj/mm/aaaa' pour affichage temporaire d'un tag\nexport const dateDeModifImportante = '29/01/2023' //  Par EE\n\n/**\n * Calculs dans une homothétie : longueurs, aires.\n * @author Frédéric PIOU\n*/\nexport const uuid = '6f383'\nexport const ref = '3G13'\n\n/**\n * Formattage pour une sortie LaTeX entre $$\n * formatFraction = false : si l'expression est un objet fraction du module mathjs alors elle peut donner l'écriture fractionnaire\n * Pour une fraction négative la sortie est -\\dfrac{6}{7} au lieu de \\dfrac{-6}{7}\n * @author Frédéric PIOU\n */\n\nexport function texNum (expression, formatFraction = false) {\n  if (typeof expression === 'object') {\n    const signe = expression.s === 1 ? '' : '-'\n    if (formatFraction) {\n      expression = expression.d !== 1 ? signe + deprecatedTexFraction(expression.n, expression.d) : signe + expression.n\n      expression = expression.replace(',', '{,}').replace('{{,}}', '{,}')\n    } else {\n      expression = texNombre(evaluate(format(expression)))\n    }\n    // expression = expression.replace(',', '{,}').replace('{{,}}', '{,}') // Deleted by EE because it is not functional in the preceding else.\n  } else {\n    expression = texNombre(parseFloat(Algebrite.eval(expression)))\n  }\n  return expression\n}\n\nexport default function CalculsHomothetie () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.consigne = ''\n  this.nbQuestions = 4 // Nombre de questions par défaut\n  this.nbCols = 0 // Uniquement pour la sortie LaTeX\n  this.nbColsCorr = 0 // Uniquement pour la sortie LaTeX\n  this.tailleDiaporama = 1 // Pour les exercices chronométrés. 50 par défaut pour les exercices avec du texte\n  this.video = '' // Id YouTube ou url\n  this.correctionDetailleeDisponible = true\n  this.correctionDetaillee = true\n  context.isHtml ? (this.spacing = 1.5) : (this.spacing = 0)\n  context.isHtml ? (this.spacingCorr = 1.5) : (this.spacingCorr = 0)\n  this.sup = 12 // Type d'exercice\n  this.sup2 = 3 // 1 : Homothéties de rapport positif, 2: de rapport négatif 3 : mélange\n  this.sup3 = 1 // Choix des valeurs\n  this.sup4 = true // Affichage des figures facultatives dans l'énoncé (en projet)\n\n  this.besoinFormulaireTexte = [\n    'Type of questions', [\n      'Numbers separated by hyphens',\n      '1: Calculate the ratio',\n      '2: Calculate an image length',\n      '3: Calculate an antecedent length',\n      '4: Calculate an image length (two steps)',\n      '5: Calculate an antecedent length (two steps)',\n      '6: Calculate an image area',\n      '7: Calculate an antecedent area',\n      '8: Calculate the ratio from the areas',\n      '9: Calculate the ratio knowing OA and AA\\'',\n      '10: Framing the report k',\n      '11: Frame the report k knowing OA and AA\\'',\n      '12: Mixture'\n    ].join('\\not')\n  ]\n  this.besoinFormulaire2Numerique = [\n    'Report sign',\n    3,\n    '1: positive\\n2: negative\\n3: mixture'\n  ]\n  this.besoinFormulaire3Numerique = [\n    'Choice of values',\n    3,\n    '1: k is decimal (0.1 < k < 4) \\n2: k is a fraction k = a/b with (a,b) in [1;9]\\n3: k is a fraction and the measurements are integers'\n  ]\n  this.besoinFormulaire4CaseACocher = ['Figure in statement (1-5,9-11)', false]\n  this.nouvelleVersion = function () {\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n\n    const typeQuestionsDisponibles = ['report', 'picture', 'antecedent', 'image2steps', 'background2steps', 'areaImage', 'areaAntecedent', 'areaReport', 'report2', 'frame', 'framerk2']\n    const listeTypeQuestions = gestionnaireFormulaireTexte({ saisie: this.sup, min: 1, max: 11, melange: 12, defaut: 12, nbQuestions: this.nbQuestions, listeOfCase: typeQuestionsDisponibles })\n    const kEstEntier = this.sup3 > 1\n    const valeursSimples = this.sup3 === 3\n    for (let i = 0, approx, environ, melange, donnee1, donnee2, donnee3, donnees, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) { // Boucle principale où i+1 correspond au numéro de la question\n      const lettres = choisitLettresDifferentes(5, ['P', 'Q', 'U', 'V', 'W', 'X', 'Y', 'Z'])\n      const A = lettres[0]; const hA = lettres[1]; const O = lettres[2]; const B = lettres[3]; const hB = lettres[4]\n      const ks = fraction(choice([[1], [-1], [-1, 1]][this.sup2 - 1]))\n      let k = fraction(1, 1)\n      while (abs(k).toString() === '1') {\n        k = kEstEntier ? multiply(fraction(randint(1, 9), randint(1, 9)), ks) : multiply(fraction(choice([randint(15, 40) / 10, randint(1, 9) / 10])), ks)\n      }\n      let absk = abs(k)\n      const agrandissement = evaluate(absk > 1)\n      const kpositif = evaluate(k > 0)\n      const longueurEntiere = valeursSimples ? fraction(randint(1, 19)) : fraction(randint(11, 99))\n      let OA = multiply(agrandissement ? divide(longueurEntiere, 10) : longueurEntiere, 10 ** (valeursSimples) * absk.d ** (kEstEntier))\n      let OhA = multiply(k, OA)\n      let OB = multiply(divide(randint(10, 99, [parseInt(longueurEntiere.toString())]), fraction(10)), 10 ** (valeursSimples) * absk.d ** (kEstEntier))\n      let OhB = multiply(k, OB)\n      let AhA = subtract(OhA, OA)\n      let kAire = fraction(choice([randint(1, 4) + 0.5 + choice([0, 0.5]), randint(1, 9) / 10]))\n      let Aire = valeursSimples ? fraction(randint(10, 99)) : fraction(randint(100, 999) / 10)\n      let hAire = multiply(pow(kAire, 2), Aire)\n      let hAireArrondie = round(hAire, 2)\n      const plusgrandque = agrandissement ? '>' : '<'\n      const unAgrandissement = agrandissement ? 'an agrandissement' : 'a discount'\n      const intervallek = agrandissement ? (kpositif ? '$k > 1$' : '$k < -1$') : (kpositif ? '$0 < k < 1$' : '$-1 < k < 0$')\n      const positif = kpositif ? 'positive' : 'negative'\n      const signek = kpositif ? '' : '-'\n      const lopposede = kpositif ? '' : 'opposite of'\n      const lopposedu = kpositif ? 'THE' : 'the opposite of'\n      const derapportpositifet = this.sup4 ? '' : `${positif} report and`\n      const inNotin = kpositif ? '\\\\in' : '\\\\notin'\n      const illustrerParUneFigureAMainLevee = this.sup4 ? '' : 'Illustrate the situation with a freehand figure.<br>'\n      let kinverse = abs(divide(1, k))\n      const OhAdivkInversed = texNum(abs(divide(OhA, kinverse.d)))\n      const OhBdivkInversed = texNum(abs(divide(OhB, kinverse.d)))\n      const largeurFigure = divide(10, max(abs(OA), abs(OhA), abs(AhA)))\n      let testFigureCorrigee = true\n      let correctionOhA = OhA\n      let correctionOA = OA\n      if (evaluate(abs(k) < 0.3)) {\n        correctionOhA = multiply(multiply(fraction(3, 10), OA), (-1) ** evaluate(k < 0))\n      } else if (evaluate(abs(k) < 1 && abs(k) > 0.7)) {\n        correctionOhA = multiply(multiply(fraction(7, 10), OA), (-1) ** evaluate(k < 0))\n      } else if (evaluate(abs(k) > 1 && abs(k) < 1.3)) {\n        correctionOhA = multiply(multiply(fraction(13, 10), OA), (-1) ** evaluate(k < 0))\n      } else if (evaluate(abs(k) > 4)) {\n        correctionOA = multiply(fraction(2, 1), OA)\n      } else {\n        testFigureCorrigee = false\n      }\n      const figurealechelle = !(testFigureCorrigee && this.sup4) || [4, 5, 6, 7, 8].includes(listeTypeQuestions[i]) ? '' : '(Figure is not to scale.)'\n      const figurealechelle2 = !(this.sup4) ? '' : '(Figure is not to scale.)'\n      let figure = {\n        O: point(0, 0, `${O}`),\n        A: point(multiply(correctionOA, largeurFigure).valueOf(), 0, `${A}`, 'below'),\n        hA: point(multiply(correctionOhA, largeurFigure).valueOf(), 0, `${hA}`, kpositif ? 'below' : 'above')\n      }\n      figure = Object.assign({}, figure, {\n        B: homothetie(rotation(figure.A, figure.O, 40), figure.O, 1.2, `${B}`),\n        hB: homothetie(rotation(figure.hA, figure.O, 40), figure.O, 1.2, `${hB}`, kpositif ? 'above' : 'below')\n      })\n      kinverse = { tex: texNum(kinverse, kEstEntier), n: kinverse.n, d: kinverse.d }\n      OhA = texNum(abs(OhA))\n      const OhAtimeskinverse = (valeursSimples && !isInteger(absk)) ? `=${OhA}\\\\times ${kinverse.tex}` + (kinverse.d !== 1 ? `=\\\\dfrac{${OhA}}{${kinverse.d}}\\\\times ${kinverse.n} = ${OhAdivkInversed}\\\\times ${kinverse.n}` : '') : ''\n      OhB = texNum(abs(OhB))\n      const OhBtimeskinverse = (valeursSimples && !isInteger(absk)) ? `=${OhB}\\\\times ${kinverse.tex}` + (kinverse.d !== 1 ? `=\\\\dfrac{${OhB}}{${kinverse.d}}\\\\times ${kinverse.n} = ${OhBdivkInversed}\\\\times ${kinverse.n}` : '') : ''\n      hAire = texNum(hAire)\n      hAireArrondie = texNum(hAireArrondie)\n      k = texNum(k, kEstEntier)\n      kAire = texNum(kAire, kEstEntier)\n      const parentheseskAire = (absk.d === 1 || this.sup3 === 1) && kpositif ? signek + kAire : String.raw`\\left(${signek}${kAire}\\right)`\n      absk = texNum(absk, kEstEntier)\n      OA = texNum(OA)\n      AhA = texNum(abs(AhA))\n      OB = texNum(OB)\n      Aire = texNum(Aire)\n      const calculsOhA = !kpositif ? `${hA}${A} - ${O}${A} = ${AhA} - ${OA}` : agrandissement ? `${O}${A} + ${A}${hA} = ${OA} + ${AhA} ` : `${O}${A} - ${A}${hA} = ${OA} - ${AhA}`\n      figure = Object.assign({}, figure, {\n        segmentOA: segmentAvecExtremites(figure.O, figure.A),\n        segmentOhA: segmentAvecExtremites(figure.O, figure.hA),\n        segmentOB: segmentAvecExtremites(figure.O, figure.B),\n        segmentOhB: segmentAvecExtremites(figure.O, figure.hB)\n      })\n      figure = Object.assign({}, figure, {\n        arcOA: agrandissement || !kpositif ? figure.A : arcPointPointAngle(figure.O, figure.A, 60, false),\n        arcOhA: !agrandissement || !kpositif ? figure.hA : arcPointPointAngle(figure.O, figure.hA, 60, false),\n        arcOB: agrandissement || !kpositif ? figure.B : arcPointPointAngle(figure.B, figure.O, 60, false),\n        arcOhB: !agrandissement || !kpositif ? figure.hB : arcPointPointAngle(figure.hB, figure.O, 60, false),\n        arcAhA: kpositif ? figure.A : arcPointPointAngle(figure.hA, figure.A, 60, false),\n        legendeOA: agrandissement || !kpositif ? texteSurSegment(`${OA.replace('{,}', ',')} cm`, figure.A, figure.O, 'black', 0.30) : texteSurArc(`${OA.replace('{,}', ',')} cm`, figure.O, figure.A, 60, 'black', 0.30),\n        legendeOhA: !agrandissement || !kpositif ? texteSurSegment(`${OhA.replace('{,}', ',')} cm`, figure.hA, figure.O, 'black', 0.30) : texteSurArc(`${OhA.replace('{,}', ',')} cm`, figure.O, figure.hA, 60, 'black', 0.30),\n        legendeOB: agrandissement || !kpositif ? texteSurSegment(`${OB.replace('{,}', ',')} cm`, figure.O, figure.B, 'black', 0.30) : texteSurArc(`${OB.replace('{,}', ',')} cm`, figure.B, figure.O, 60, 'black', 0.30),\n        legendeOhB: !agrandissement || !kpositif ? texteSurSegment(`${OhB.replace('{,}', ',')} cm`, figure.O, figure.hB, 'black', 0.30) : texteSurArc(`${OhB.replace('{,}', ',')} cm`, figure.hB, figure.O, 60, 'black', 0.30),\n        legendeAhA: kpositif ? texteSurSegment(`${AhA.replace('{,}', ',')} cm`, figure.hA, figure.A, 'black', 0.30) : texteSurArc(`${AhA.replace('{,}', ',')} cm`, figure.hA, figure.A, 60, 'black', 0.30)\n      })\n      figure = Object.assign({}, figure, {\n        legendeOAi: agrandissement || !kpositif ? texteSurSegment('?', figure.O, figure.A, 'black', 0.30) : texteSurArc('?', figure.O, figure.A, 60, 'black', 0.30),\n        legendeOhAi: !agrandissement || !kpositif ? texteSurSegment('?', figure.O, figure.hA, 'black', 0.30) : texteSurArc('?', figure.O, figure.hA, 60, 'black', 0.30),\n        legendeOBi: agrandissement || !kpositif ? texteSurSegment('?', figure.O, figure.B, 'black', 0.30) : texteSurArc('?', figure.B, figure.O, 60, 'black', 0.30),\n        legendeOhBi: !agrandissement || !kpositif ? texteSurSegment('?', figure.O, figure.hB, 'black', 0.30) : texteSurArc('?', figure.hB, figure.O, 60, 'black', 0.30)\n      })\n      figure.arcOA.pointilles = 5\n      figure.arcOhA.pointilles = 5\n      figure.arcOB.pointilles = 5\n      figure.arcOhB.pointilles = 5\n      figure.arcAhA.pointilles = 5\n      // const fscale = context.isHtml ? kpositive? 1: 0.7: kpositive? 0.7:0.5\n      let objetsEnonce = []\n      const fscale = context.isHtml ? 1 : kpositif ? 0.7 : 0.6\n\n      const flabelsRapport = labelPoint(figure.O, figure.A, figure.hA)\n      objetsEnonce = [figure.segmentOA, figure.segmentOhA, figure.legendeOA, figure.legendeOhA]\n      if (figure.arcOA.typeObjet !== 'point') objetsEnonce.push(figure.arcOA)\n      if (figure.arcOhA.typeObjet !== 'point') objetsEnonce.push(figure.arcOhA)\n      let frapport = mathalea2d(Object.assign({}, fixeBordures(objetsEnonce), { style: 'inline', scale: fscale }), objetsEnonce, flabelsRapport)\n      frapport = { enonce: (this.sup4 ? '<br>' + frapport : ''), solution: frapport }\n\n      const flabelsImage = labelPoint(figure.O, figure.A, figure.hA)\n      objetsEnonce = [figure.segmentOA, figure.segmentOhA, figure.legendeOA, figure.legendeOhAi]\n      if (figure.arcOA.typeObjet !== 'point') objetsEnonce.push(figure.arcOA)\n      if (figure.arcOhA.typeObjet !== 'point') objetsEnonce.push(figure.arcOhA)\n      let fImage = mathalea2d(Object.assign({}, fixeBordures(objetsEnonce), { style: 'inline', scale: fscale }), objetsEnonce, flabelsImage)\n      fImage = { enonce: (this.sup4 ? fImage : ''), solution: fImage }\n\n      const flabelsAntecedent = labelPoint(figure.O, figure.A, figure.hA)\n      objetsEnonce = [figure.segmentOA, figure.segmentOhA, figure.legendeOhA]\n      if (figure.A.typeObjet !== 'point') objetsEnonce.push(figure.A)\n      if (figure.O.typeObjet !== 'point') objetsEnonce.push(figure.O)\n      if (figure.hA.typeObjet !== 'point') objetsEnonce.push(figure.hA)\n      if (figure.arcOhA.typeObjet !== 'point') objetsEnonce.push(figure.arcOhA)\n      let fAntecedent = mathalea2d(Object.assign({}, fixeBordures(objetsEnonce), { style: 'inline', scale: fscale }), objetsEnonce, flabelsAntecedent)\n      fAntecedent = { enonce: (this.sup4 ? fAntecedent : ''), solution: fAntecedent }\n\n      const flabelsImage2etapes = labelPoint(figure.O, figure.A, figure.hA, figure.B, figure.hB)\n      objetsEnonce = [figure.segmentOA, figure.segmentOhA, figure.segmentOB, figure.segmentOhB, figure.legendeOA, figure.legendeOhA, figure.legendeOB]\n      if (figure.A.typeObjet !== 'point') objetsEnonce.push(figure.A)\n      if (figure.O.typeObjet !== 'point') objetsEnonce.push(figure.O)\n      if (figure.hA.typeObjet !== 'point') objetsEnonce.push(figure.hA)\n      if (figure.B.typeObjet !== 'point') objetsEnonce.push(figure.B)\n      if (figure.hB.typeObjet !== 'point') objetsEnonce.push(figure.hB)\n      if (figure.arcOA.typeObjet !== 'point') objetsEnonce.push(figure.arcOA)\n      if (figure.arcOB.typeObjet !== 'point') objetsEnonce.push(figure.arcOB)\n      if (figure.arcOhA.typeObjet !== 'point') objetsEnonce.push(figure.arcOhA)\n      if (figure.arcOhB.typeObjet !== 'point') objetsEnonce.push(figure.arcOhB)\n      let fImage2etapes = mathalea2d(Object.assign({}, fixeBordures(objetsEnonce), { style: 'inline', scale: fscale }), objetsEnonce, flabelsImage2etapes)\n      fImage2etapes = { enonce: (this.sup4 ? fImage2etapes : ''), solution: fImage2etapes }\n\n      const flabelsAntecedent2etapes = labelPoint(figure.O, figure.A, figure.hA, figure.B, figure.hB)\n      objetsEnonce = [figure.segmentOA, figure.segmentOhA, figure.segmentOB, figure.segmentOhB, figure.legendeOBi, figure.legendeOhB, figure.legendeOA, figure.legendeOhA]\n      if (figure.arcOA.typeObjet !== 'point') objetsEnonce.push(figure.arcOA)\n      if (figure.arcOhA.typeObjet !== 'point') objetsEnonce.push(figure.arcOhA)\n      if (figure.arcOB.typeObjet !== 'point') objetsEnonce.push(figure.arcOB)\n      if (figure.arcOhB.typeObjet !== 'point') objetsEnonce.push(figure.arcOhB)\n      let fAntecedent2etapes = mathalea2d(Object.assign({}, fixeBordures(objetsEnonce), { style: 'inline', scale: fscale }), objetsEnonce, flabelsAntecedent2etapes)\n      fAntecedent2etapes = { enonce: (this.sup4 ? fAntecedent2etapes : ''), solution: fAntecedent2etapes }\n\n      objetsEnonce = [figure.segmentOA, figure.segmentOhA, figure.legendeOA, figure.legendeOhA, figure.legendeAhA]\n      if (figure.arcOA.typeObjet !== 'point') objetsEnonce.push(figure.arcOA)\n      if (figure.arcOhA.typeObjet !== 'point') objetsEnonce.push(figure.arcOhA)\n      if (figure.arcAhA.typeObjet !== 'point') objetsEnonce.push(figure.arcAhA)\n      let frapport2 = mathalea2d(Object.assign({}, fixeBordures(objetsEnonce), { style: 'inline', scale: fscale }), objetsEnonce, flabelsRapport)\n      frapport2 = { enonce: (this.sup4 ? '<br>' + frapport2 : ''), solution: frapport2 }\n      switch (listeTypeQuestions[i]) {\n        case 'report': // cas 1\n          donnees = [String.raw`${O}${hA} = ${OhA}\\text{ cm}`, String.raw`${O}${A} = ${OA}\\text{ cm}`]\n          melange = combinaisonListes([0, 1])\n          donnee1 = donnees[melange[0]]\n          donnee2 = donnees[melange[1]]\n          texte = String.raw`$${hA}$ is the image of $${A}$ by a scaling ${derapportpositifet} with center $${O}$ such that $ {${donnee1}}$ and $ {${donnee2}}$.<br>${illustrerParUneFigureAMainLevee} Calculate the ratio $k$ of this scaling ${figurealechelle}.${frapport.enonce}`\n          texteCorr = String.raw`\n                $k=${signek}\\dfrac{${O}${hA}}{${O}${A}} = ${signek}\\dfrac{${OhA}}{${OA}} = ${k}$.\n                `\n          if (this.correctionDetaillee) {\n            texteCorr = String.raw`$[${O}${hA}]$ is the image of $[${O}${A}]$ and $${O} ${hA} ${plusgrandque} ${O} ${A}$ so it is ${unAgrandissement} and we have ${intervallek}.<br> ${frapport.solution}`\n            texteCorr += String.raw`<br>The ratio of this homothety is ${lopposedu} quotient of the length of a segment \"at arrival\" by its length \"at departure\".<br>Let $k=${signek}\\dfrac{${O}${hA}}{${O}${A}} = ${signek}\\ dfrac{${OhA}}{${OA}} = ${k}$.`\n          }\n          break\n        case 'picture': // cas 2\n          texte = String.raw`$${hA}$ is the image of $${A}$ by a homothety of center $${O}$ and ratio $k=${k}$such that $ {${O}${A} = ${OA}\\text{ cm}}$.<br>${illustrerParUneFigureAMainLevee}Calculate $${O}${hA}$ ${figurealechelle}. <br>${fImage.enonce}`\n          texteCorr = String.raw`\n                $${O}${hA}= ${absk} \\times ${OA} =  ${OhA}~\\text{cm}$.\n                `\n          if (this.correctionDetaillee) {\n            texteCorr = String.raw`\n                ${intervallek} donc $[${O}${hA}]$ est ${unAgrandissement} de $[${O}${A}]$.\n                <br>${fImage.solution}\n                `\n            texteCorr += String.raw`<br>A ${positif} ratio scaling is a transformation which multiplies all the lengths by ${lopposede} its ratio.<br>Let $${O}${hA} = ${signek}k \\times ${O}${A}$.<br>So $${O}${hA}= ${absk} \\times ${OA} = ${OhA}~\\text{cm }$.`\n          }\n          break\n        case 'antecedent': // cas 3\n          texte = String.raw`$${hA}$ is the image of $${A}$ by a homothety of center $${O}$ and ratio $k=${k}$ such that $ {${O}${hA} = ${OhA}\\text{ cm}}$.<br>${illustrerParUneFigureAMainLevee}Calculate $${O}${A}$ ${figurealechelle}. <br>${fAntecedent.enonce}`\n          texteCorr = String.raw`$${O}${A}=\\dfrac{${O}${hA}}{${absk}}=\\dfrac{${OhA}}{${absk}} = ${OA}~\\text{cm}$.`\n          if (this.correctionDetaillee) {\n            texteCorr = String.raw`\n                ${intervallek} donc $[${O}${hA}]$ est ${unAgrandissement} de $[${O}${A}]$.\n                <br>${fAntecedent.solution}\n                `\n            texteCorr += String.raw`<br>A ${positif} ratio scaling is a transformation which multiplies all the lengths by ${lopposede} its ratio.<br>Let $${O}${hA} = ${signek}k \\times ${O}${A}$.<br>So $${O}${A}=\\dfrac{${O}${hA}}{${signek}k}=\\dfrac {${OhA}}{${absk}} ${OhAtimeskinverse} = ${OA}~\\text{cm}$.`\n          }\n          break\n        case 'image2steps': // cas 4\n          donnees = [String.raw`${O}${B} = ${OB}\\text{ cm}`, String.raw`${O}${hA} = ${OhA}\\text{ cm}`, String.raw`${O}${A} = ${OA}\\text{ cm}`]\n          melange = combinaisonListes([0, 1, 2])\n          donnee1 = donnees[melange[0]]\n          donnee2 = donnees[melange[1]]\n          donnee3 = donnees[melange[2]]\n          texte = String.raw`$${hA}$ and $${hB}$ are the respective images of $${A}$ and $${B}$ by a homothety${derapportpositifet} with center $${O}$ such that $ {${donnee1}}$, $ {${donnee2}}$ and $ {${donnee3}}$.<br>${illustrerParUneFigureAMainLevee}Calculate $${O}${hB}$ ${figurealechelle2}.<br>${fImage2etapes.enonce}`\n          texteCorr = String.raw`\n                    $k=${signek}\\dfrac{${O}${hA}}{${O}${A}} = ${signek}\\dfrac{${OhA}}{${OA}} = ${k}$ et $${O}${hB}= ${absk} \\times ${OB} = ${OhB}~\\text{cm}$.\n                    `\n          if (this.correctionDetaillee) {\n            texteCorr = String.raw`$[${O}${hA}]$ is the image of $[${O}${A}]$ and $${O} ${hA} ${plusgrandque} ${O} ${A}$ so it is ${unAgrandissement} and we have ${intervallek}.<br>${fImage2etapes.solution}`\n            texteCorr += String.raw`<br>The ratio of this homothety is${lopposedu} quotient of the length of a segment \"at arrival\" by its length \"at departure\".<br>Let $k=${signek}\\dfrac{${O}${hA}}{${O}${A}} = ${signek}\\ dfrac{${OhA}}{${OA}} = ${k}$.<br>$[${O}${hB}]$ is the image of $[${O}${B}]$.<br>But a scaling of ratio ${positif} is a transformation which multiplies all the lengths by ${lopposede} its ratio. <br>Let $${O}${hB}= ${signek}k \\times ${O}${B}$.<br>So $${O}${hB}= ${absk} \\times ${OB} = ${OhB}~\\text{cm}$.`\n          }\n          break\n        case 'background2steps': // cas 5\n          donnees = [String.raw`${O}${hB} = ${OhB}\\text{ cm}`, String.raw`${O}${hA} = ${OhA}\\text{ cm}`, String.raw`${O}${A} = ${OA}\\text{ cm}`]\n          melange = combinaisonListes([0, 1, 2])\n          donnee1 = donnees[melange[0]]\n          donnee2 = donnees[melange[1]]\n          donnee3 = donnees[melange[2]]\n          texte = String.raw`$${hA}$ and $${hB}$ are the respective images of $${A}$ and $${B}$ by a ${derapportpositifet} scale with center $${O}$ such that $ {${donnee1}}$, $ {${donnee2}}$ and $ {${donnee3}}$.<br>${illustrerParUneFigureAMainLevee}Calculate $${O}${B}$ ${figurealechelle2}.<br>${fAntecedent2etapes.enonce}`\n          texteCorr = String.raw`$k=${signek}\\dfrac{${O}${hA}}{${O}${A}} = ${signek}\\dfrac{${OhA}}{${OA}} = ${k}$and $${O}${B}=\\dfrac{${O}${hB}}{${absk}}=\\dfrac{${OhB}}{${absk}} = ${OB}~\\ text{cm}$.`\n          if (this.correctionDetaillee) {\n            texteCorr = String.raw`$[${O}${hA}]$ is the image of $[${O}${A}]$ and $${O} ${hA} ${plusgrandque} ${O} ${A}$ so it is ${unAgrandissement} and we have ${intervallek}.<br>${fAntecedent2etapes.solution}`\n            texteCorr += String.raw`<br>The ratio of this homothety is ${lopposedu} quotient of the length of a segment \"at arrival\" by its length \"at departure\".<br>Let $k=${signek}\\dfrac{${O}${hA}}{${O}${A}} = ${signek}\\ dfrac{${OhA}}{${OA}} = ${k}$.<br>$[${O}${hB}]$ is the image of $[${O}${B}]$.<br>But a scaling of ratio ${positif} is a transformation which multiplies all the lengths by ${lopposede} its ratio. <br>Let $${O}${hB} = ${signek}k \\times ${O}${B}$.<br>So $${O}${B}=\\dfrac{${O}${hB}}{${signek}k}=\\dfrac{${OhB}}{${absk}} ${OhBtimeskinverse} = ${OB}~\\text{cm}$.`\n          }\n          break\n        case 'areaImage': // cas 6\n          environ = (hAire === hAireArrondie) ? '' : 'approximately'\n          approx = (environ === 'approximately') ? '\\\\approx' : '='\n          texte = String.raw`A figure has the area $ {${Aire}\\text{ cm}^2}$.<br>Calculate the area of its image by a scale of ratio $${signek}${kAire}$ (round to the nearest $ {\\text{mm}^2}$ close if necessary).`\n          texteCorr = String.raw`\n                $ {${parentheseskAire}^2 \\times ${Aire} ${approx} ${hAireArrondie}~\\text{cm}^2}$\n                `\n          if (this.correctionDetaillee) {\n            texteCorr = String.raw`A ${positif} ratio scaling is a transformation that multiplies all areas by the square of its ratio.<br>$${parentheseskAire}^2 \\times ${Aire} = ${hAire}$<br>So the area of the image in this figure is ${environ} $ {${hAireArrondie}~\\text{cm}^2}$.`\n          }\n          break\n        case 'areaAntecedent': // cas 7\n          texte = String.raw`The image of a figure by a homothety of ratio $${signek}${kAire}$ has the area $ {${hAire}\\text{ cm}^2}$.<br>Calculate the area of the starting figure.`\n          texteCorr = String.raw`$ {\\dfrac{${hAire}}{${parentheseskAire}^2} = ${Aire}~\\text{cm}^2}$`\n          if (this.correctionDetaillee) {\n            texteCorr = String.raw`A ${positif} ratio scaling is a transformation which multiplies all the areas by the square of its ratio.<br>Let $\\mathscr{A}$ denote the area of the starting figure.<br>Hence $${parentheseskAire}^2 \\times \\mathscr{A} = ${hAire}$.<br>Then $\\mathscr{A}=\\dfrac{${hAire}}{${parentheseskAire}^2} = ${Aire}$.<br>So the area of the starting figure is $ {${Aire}~\\text{cm}^2}$.`\n          }\n          break\n        case 'areaReport': // cas 8\n          texte = String.raw`A figure and its image by a ${positif} ratio scale have respectively areas $ {${Aire}\\text{ cm}^2}$ and $ {${hAire}\\text{ cm}^2}$.<br>Calculate the ratio of the homothety.`\n          texteCorr = String.raw`$ {k=${signek}\\sqrt{\\dfrac{${hAire}}{${Aire}}} = ${signek}${kAire}}$`\n          if (this.correctionDetaillee) {\n            texteCorr = String.raw`A ${positif} ratio scale is a transformation which multiplies all the areas by the square of its ratio.<br>Let $k$ be the ratio of this scale. We therefore have $k^2 \\times ${Aire} = ${hAire}$, or again $k ^2=\\dfrac{${hAire}}{${Aire}}$.<br>Hence $ {k=${signek}\\sqrt{\\dfrac{${hAire}}{${Aire}}} = ${signek}${kAire}}$.`\n          }\n          break\n        case 'report2': // cas 9\n          donnees = [String.raw`${A}${hA} = ${AhA}\\text{ cm}`, String.raw`${O}${A} = ${OA}\\text{ cm}`]\n          melange = combinaisonListes([0, 1])\n          donnee1 = donnees[melange[0]]\n          donnee2 = donnees[melange[1]]\n          texte = String.raw`$${hA}$ is the image of $${A}$ by a scaling ${derapportpositifet} with center $${O}$ such that $ {${donnee1}}$ and $ {${donnee2}}$.<br>${illustrerParUneFigureAMainLevee} Calculate the ratio $k$ of this scaling ${figurealechelle}.${frapport2.enonce}`\n          texteCorr = String.raw`\n                $k=${signek}\\dfrac{${O}${hA}}{${O}${A}} = ${signek}\\dfrac{${OhA}}{${OA}} = ${k}$.\n                `\n          if (this.correctionDetaillee) {\n            texteCorr = String.raw`$${O}${hA} = ${calculsOhA} = ${OhA}\\text{ cm}$<br>$[${O}${hA}]$ is the image of $[${O}${A}]$ and $${O} ${hA} ${plusgrandque} ${O} ${A}$ so it is ${unAgrandissement} and we have ${intervallek}.<br> ${frapport.solution}`\n            texteCorr += String.raw`<br>The ratio of this homothety is ${lopposedu} quotient of the length of a segment \"at arrival\" by its length \"at departure\".<br>Let $k=${signek}\\dfrac{${O}${hA}}{${O}${A}} = ${signek}\\ dfrac{${OhA}}{${OA}} = ${k}$.`\n          }\n          break\n        case 'frame': // cas 10\n          donnees = [String.raw`${O}${hA} = ${OhA}\\text{ cm}`, String.raw`${O}${A} = ${OA}\\text{ cm}`]\n          melange = combinaisonListes([0, 1])\n          donnee1 = donnees[melange[0]]\n          donnee2 = donnees[melange[1]]\n          texte = String.raw`$${hA}$ is the image of $${A}$ by a homothety ${derapportpositifet} with center $${O}$ such that $ {${donnee1}}$ and $ {${donnee2}}$.<br>${illustrerParUneFigureAMainLevee}Without performing calculations, what can we say about the ratio $k $ of this homothety?(choose the correct answer)<br>$\\square\\hphantom{a} k<-1 \\hspace{1cm} \\square\\hphantom{a} -1 < k < 0 \\hspace{1cm} \\ square\\hphantom{a} 0 < k < 1 \\hspace{1cm} \\square\\hphantom{a} k > 1$.<br>${figurealechelle}${frapport.enonce}`\n          texteCorr = String.raw`\n                $${intervallek}$.\n                `\n          if (this.correctionDetaillee) {\n            texteCorr = String.raw`$[${O}${hA}]$ is the image of $[${O}${A}]$ and $${O} ${hA} ${plusgrandque} ${O} ${A}$ so it is ${unAgrandissement}.<br>Moreover $${hA}${inNotin}[${O};${A})$ therefore ${intervallek}.<br> ${frapport.solution}`\n          }\n          break\n        case 'framerk2': // cas 11\n          donnees = [String.raw`${A}${hA} = ${AhA}\\text{ cm}`, String.raw`${O}${A} = ${OA}\\text{ cm}`]\n          melange = combinaisonListes([0, 1])\n          donnee1 = donnees[melange[0]]\n          donnee2 = donnees[melange[1]]\n          texte = String.raw`$${hA}$ is the image of $${A}$ by a homothety ${derapportpositifet} with center $${O}$ such that $ {${donnee1}}$ and $ {${donnee2}}$.<br>${illustrerParUneFigureAMainLevee}Without performing calculations, what can we say about the ratio $k $ of this homothety?(choose the correct answer)<br>$\\square\\hphantom{a} k<-1 \\hspace{1cm} \\square\\hphantom{a} -1 < k < 0 \\hspace{1cm} \\ square\\hphantom{a} 0 < k < 1 \\hspace{1cm} \\square\\hphantom{a} k > 1$.<br>${figurealechelle}${frapport2.enonce}`\n          texteCorr = String.raw`$${intervallek}$.`\n          if (this.correctionDetaillee) {\n            texteCorr = String.raw`$${O}${hA} = ${calculsOhA} = ${OhA}\\text{ cm}$<br>$[${O}${hA}]$ is the image of $[${O}${A}]$ and $${O} ${hA} ${plusgrandque} ${O} ${A}$ so it is ${unAgrandissement}.<br>Plus $ ${hA}${inNotin}[${O};${A})$ therefore ${intervallek}.<br> ${frapport.solution}`\n          }\n          break\n      }\n      if (this.questionJamaisPosee(i, k)) {\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}\n"],"names":["titre","dateDePublication","dateDeModifImportante","uuid","ref","texNum","expression","formatFraction","signe","deprecatedTexFraction","texNombre","evaluate","format","Algebrite","CalculsHomothetie","Exercice","context","typeQuestionsDisponibles","listeTypeQuestions","gestionnaireFormulaireTexte","kEstEntier","valeursSimples","i","approx","environ","melange","donnee1","donnee2","donnee3","donnees","texte","texteCorr","cpt","lettres","choisitLettresDifferentes","A","hA","O","B","hB","ks","fraction","choice","k","abs","multiply","randint","absk","agrandissement","kpositif","longueurEntiere","OA","divide","OhA","OB","OhB","AhA","subtract","kAire","Aire","hAire","pow","hAireArrondie","round","plusgrandque","unAgrandissement","intervallek","positif","signek","lopposede","lopposedu","derapportpositifet","inNotin","illustrerParUneFigureAMainLevee","kinverse","OhAdivkInversed","OhBdivkInversed","largeurFigure","max","testFigureCorrigee","correctionOhA","correctionOA","figurealechelle","figurealechelle2","figure","point","homothetie","rotation","OhAtimeskinverse","isInteger","OhBtimeskinverse","parentheseskAire","calculsOhA","segmentAvecExtremites","arcPointPointAngle","texteSurSegment","texteSurArc","objetsEnonce","fscale","flabelsRapport","labelPoint","frapport","mathalea2d","fixeBordures","flabelsImage","fImage","flabelsAntecedent","fAntecedent","flabelsImage2etapes","fImage2etapes","flabelsAntecedent2etapes","fAntecedent2etapes","frapport2","combinaisonListes","listeQuestionsToContenu"],"mappings":"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"}