File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/3G32-0-GRCbfycV.js.map
{"version":3,"file":"3G32-0-GRCbfycV.js","sources":["../../src/exercices/3e/3G32-0.js"],"sourcesContent":["import { angle, codageAngleDroit } from '../../lib/2d/angles.js'\nimport { cercle } from '../../lib/2d/cercle.js'\nimport { afficheMesureAngle, texteSurSegment } from '../../lib/2d/codages.js'\nimport { droite, droiteVerticaleParPoint } from '../../lib/2d/droites.js'\nimport { milieu, point, pointAdistance, pointIntersectionLC, tracePoint } from '../../lib/2d/points.js'\nimport { polygone, polygoneAvecNom } from '../../lib/2d/polygones.js'\nimport { longueur, segment } from '../../lib/2d/segmentsVecteurs.js'\nimport { labelPoint, texteParPosition } from '../../lib/2d/textes.js'\nimport { projectionOrtho } from '../../lib/2d/transformations.js'\nimport { choice } from '../../lib/outils/arrayOutils'\nimport { arrondi, nombreDeChiffresDansLaPartieDecimale, nombreDeChiffresDe } from '../../lib/outils/nombres.js'\nimport { creerNomDePolygone, lettreDepuisChiffre, numAlpha, sp } from '../../lib/outils/outilString.js'\nimport { stringNombre, texNombre } from '../../lib/outils/texNombre.js'\nimport Exercice from '../Exercice.js'\nimport { colorToLatexOrHTML, mathalea2d } from '../../modules/2dGeneralites.js'\nimport { context } from '../../modules/context.js'\nimport { gestionnaireFormulaireTexte, listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { arete3d, CodageAngleDroit3D, demicercle3d, point3d, rotationV3d, sphere3d, vecteur3d } from '../../modules/3d.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport Grandeur from '../../modules/Grandeur'\nimport { max, min } from 'mathjs'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const titre = 'Problems Requiring Calculation of Length Using Trigonometry'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const amcReady = true\nexport const amcType = 'AMCHybride'\nexport const dateDePublication = '05/03/2022'\n\n/**\n * Calculer la largeur d\\'une rivière @author Jean-Claude Lhote\n * Calcul d\\'un parallèle terrestre @author Jean-Claude Lhote\n * Calculer la hauteur d\\'un objet vu sous un angle donné @author Jean-Claude Lhote\n * Calculer la hauteur d\\'une falaise @author Jean-Claude Lhote\n * Calculer la hauteur d\\'une montagne @author Jean-Claude Lhote\n * Triangle rectangle inscrit dans un triangle rectangle @author Rémi Angot\n * Fusion des exercices @author Guillaume Valmont\n * Interactivité des exercices, aléatoirisation des figures et des points dans les exos, AMC-isation de tous les exos @author Eric Elter\n * Référence 3G32-0\n */\nexport const uuid = '2045e'\nexport const ref = '3G32-0'\nexport default function ProblemesTrigoLongueur () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.titre = titre\n this.besoinFormulaireCaseACocher = ['Show intermediate questions and possibly a diagram']\n this.sup = true\n this.besoinFormulaire2Texte = [\n 'Type of questions',\n 'This exercise brings together exercises 3G32 and 3G32-X (X: 1 to 5) Numbers separated by dashes: 1: Calculate the width of a river2: Calculate an earth parallel3: Calculate the height of an object seen under a given angle4: Calculate the height of a cliff5: Calculate the height of a mountain6: Calculate a length in nested right triangles7: Blend'\n ]\n this.sup2 = 7\n this.nbQuestions = 2\n this.spacingCorr = 3\n this.spacing = 2\n\n this.nouvelleVersion = function () {\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n let listeDeNomsDePolygones\n const objet = [['TREE', 'A', '', 'located'], ['building', 'A', '', 'located'], ['wind turbine', 'a', 'you', 'located'], ['hill', 'a', 'you', 'located']]\n let distance\n let beta\n let alpha\n let taille\n let A\n let B\n let S\n let C\n let R\n let objets = []\n let p\n let O\n let H\n let M\n let R2\n let Axe\n let normalV\n let normalH\n let P\n let HP\n let Sph\n let OP\n let PoleNord\n let PoleSud\n let hauteur\n let teta\n let index\n // let M1, MInit, normalH1, R21, P1\n const lettresGrecques = [['α', '\\\\alpha'], ['β', '\\\\beta'], ['δ', '\\\\delta'], ['γ', '\\\\gamma'], ['ω', '\\\\omega'], ['ε', '\\\\epsilon'], ['θ', '\\\\theta'], ['λ', '\\\\lambda']]\n const listeTypeQuestions = gestionnaireFormulaireTexte({\n saisie: this.sup2,\n min: 1,\n max: 6,\n melange: 7,\n defaut: 7,\n nbQuestions: this.nbQuestions\n })\n\n let ii = 0 // Cet indice permet de gérer les numéros de champs interactifs car ces champs ne sont pas de nombre égal selon les listeTypeQuestions[i].\n let iiAMC // Cet indice permet de gérer les numéros de champs AMC car ces champs ne sont pas de nombre égal selon les listeTypeQuestions[i].\n for (let i = 0, texte, numA, ordA, numB, numC, numR, absC, numS, absS, numH, AB, BA, propositionsAMC, enonceAMC, enonceInit, texteCorr, reponse, j, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n propositionsAMC = []\n iiAMC = 0\n if (i % 3 === 0) listeDeNomsDePolygones = ['Q.D.']\n const choixAlpha = randint(0, 7)\n const alfa = context.isHtml ? lettresGrecques[choixAlpha][0] : lettresGrecques[choixAlpha][1]\n const alfaInteractif = lettresGrecques[choixAlpha][1]\n const choixBeta = randint(0, 7, [choixAlpha])\n const baita = context.isHtml ? lettresGrecques[choixBeta][0] : lettresGrecques[choixBeta][1]\n const baitaInteractif = lettresGrecques[choixBeta][1]\n const sensV = choice([-1, 1])\n const sensH = choice([-1, 1])\n switch (listeTypeQuestions[i]) {\n case 1:\n objets = []\n alpha = randint(25, 65)\n j = 0\n beta = alpha + randint(2, 5)\n distance = randint(7, 15) * 10\n taille = arrondi(Math.round(distance * (Math.tan(beta * Math.PI / 180) - Math.tan(alpha * Math.PI / 180))))\n numA = randint(1, 26, [4, 5, 15, 23, 24, 25])\n ordA = sensV * randint(5, 9)\n A = point(0, ordA, lettreDepuisChiffre(numA))\n numB = randint(1, 26, [4, 5, 15, 23, 24, 25, numA])\n B = point(0, 0, lettreDepuisChiffre(numB))\n AB = lettreDepuisChiffre(numA) + lettreDepuisChiffre(numB)\n BA = lettreDepuisChiffre(numB) + lettreDepuisChiffre(numA)\n numC = randint(1, 26, [4, 5, 15, 23, 24, 25, numA, numB])\n absC = sensH * randint(5, 9)\n C = point(absC, 0, lettreDepuisChiffre(numC), sensH > 0 ? sensV > 0 ? 'below left' : 'above left' : sensV > 0 ? 'below right' : 'above right')\n numS = randint(1, 26, [4, 5, 15, 23, 24, 25, numA, numB, numC])\n absS = randint(3, 7)\n S = point(absC + sensH * absS, 0, lettreDepuisChiffre(numS))\n p = polygoneAvecNom(A, B, S)\n R = polygoneAvecNom(point(absC, -1 * sensV), point(absC + sensH * absS, -1 * sensV), point(absC + sensH * absS, ordA + sensV), point(absC, ordA + sensV))\n R[0].color = colorToLatexOrHTML('blue')\n R[0].couleurDeRemplissage = colorToLatexOrHTML('blue')\n R[0].opaciteDeRemplissage = 0.5\n R[0].opacite = 0.5\n objets.push(p[1], p[0], R[0], segment(A, C), codageAngleDroit(A, B, C), labelPoint(C))\n objets.push(afficheMesureAngle(B, A, C, 'black', 1, `${alfa}`), afficheMesureAngle(B, A, S, 'black', 2, `${baita}`))\n objets.push(texteSurSegment(`${stringNombre(distance)} m`, sensH * sensV < 0 ? B : A, sensH * sensV < 0 ? A : B, 'black', -0.5))\n\n texte = 'A surveyor wants to measure the width of a river, represented by the rectangle, in the diagram below.<br>'\n texte += `To do this, he notices a stump marked $${lettreDepuisChiffre(numS)}$ on the opposite bank.<br>`\n texte += `He placed a cone on its bank in front of the stump, its location is noted $${lettreDepuisChiffre(numC)}$.<br>`\n texte += `Then, he moved away from the bank while remaining aligned with the stump $${lettreDepuisChiffre(numS)}$ and the cone $${lettreDepuisChiffre(numC)}$ until he reached a place where he placed a stick marked $${lettreDepuisChiffre(numB)}$.<br>`\n texte += `With the stick, he makes a quarter turn and moves away a distance of $${distance}$ m to his measuring device noted $${lettreDepuisChiffre(numA)}$.<br>`\n texte += `Using his device, he measures the angle $\\\\widehat{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numC)}}$ denoted $${alfa}$ and the angle $\\\\widehat{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numS)}}$ denoted $${baita}$.`\n texte += '<br>(The diagram below is not in real size and does not respect the proportions.)'\n texte += '<br>' + mathalea2d({\n xmin: min(-sensH, absC + sensH * (absS + 1)),\n ymin: min(-sensV, ordA + sensV),\n xmax: max(-sensH, absC + sensH * (absS + 1)),\n ymax: max(-sensV, ordA + sensV),\n pixelsParCm: 20,\n scale: 0.5\n }, objets) // 1O est le max de ordA+1 : ainsi le cadre a toujours proportionnellement la même hauteur, bien que la figure change de hauteur.\n enonceInit = texte\n if (this.sup) {\n enonceAMC = `<br>${numAlpha(j)}Express $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}$ in terms of $${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numB)}$ and $${alfa}$.`\n texte += enonceAMC\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'largeur25 inline nospacebefore grecTrigo', { texteAvant: `$${sp(20)}${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}=$` })\n setReponse(this, i + ii, [ // Attention, l'emplacement des espaces est primordial\n `${AB}\\\\times tan(${alfaInteractif})`,\n `${BA}\\\\times tan(${alfaInteractif})`,\n `${AB}tan(${alfaInteractif})`,\n `${BA}tan(${alfaInteractif})`,\n `tan(${alfaInteractif})\\\\times ${AB}`,\n `tan(${alfaInteractif})\\\\times ${BA}`,\n `tan(${alfaInteractif})${AB}`,\n `tan(${alfaInteractif})${BA}`],\n { formatInteractif: 'texte' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 2,\n enonce: enonceInit + enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n\n j++\n enonceAMC = `${numAlpha(j)}Express $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}$ in terms of $${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numB)}$ and $${baita}$.`\n texte += '<br>' + enonceAMC\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore greekTrigo', { texteAvant: `$${sp(20)}${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)} = $` })\n setReponse(this, i + ii, [\n `${AB}\\\\times tan(${baitaInteractif})`,\n `${BA}\\\\times tan(${baitaInteractif})`,\n `${AB}tan(${baitaInteractif})`,\n `${BA}tan(${baitaInteractif})`,\n `tan(${baitaInteractif})\\\\times ${AB}`,\n `tan(${baitaInteractif})\\\\times ${BA}`,\n `tan(${baitaInteractif})${AB}`,\n `tan(${baitaInteractif})${BA}`],\n { formatInteractif: 'text' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 2,\n enonce: enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n j++\n }\n enonceAMC = `${numAlpha(j)}Express $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numS)}$ in terms of $${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numB)}$, $${alfa}$ and $${baita}$.`\n texte += '<br>' + enonceAMC\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore greekTrigo', { texteAvant: `$${sp(20)}${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numS)} = $` })\n setReponse(this, i + ii, [ // La liste n'est pas exhaustive et ne remplace, hélas, pas du calcul formel.\n `${AB}\\\\times(tan(${baitaInteractif})-tan(${alfaInteractif}))`,\n `${BA}\\\\times(tan(${baitaInteractif})-tan(${alfaInteractif}))`,\n `${AB}(tan(${baitaInteractif})-tan(${alfaInteractif}))`,\n `${BA}(tan(${baitaInteractif})-tan(${alfaInteractif}))`,\n `(tan(${baitaInteractif})-tan(${alfaInteractif}))\\\\times ${AB}`,\n `(tan(${baitaInteractif})-tan(${alfaInteractif}))\\\\times ${BA}`,\n `(tan(${baitaInteractif})-tan(${alfaInteractif}))${AB}`,\n `(tan(${baitaInteractif})-tan(${alfaInteractif}))${BA}`,\n `${AB}\\\\times tan(${baitaInteractif})-${AB}\\\\times tan(${alfaInteractif})`,\n `${BA}\\\\times tan(${baitaInteractif})-${BA}\\\\times tan(${alfaInteractif})`,\n `${AB}tan(${baitaInteractif})-${AB}tan(${alfaInteractif})`,\n `${BA}tan(${baitaInteractif})-${BA}tan(${alfaInteractif})`,\n `tan(${baitaInteractif})\\\\times ${AB}-tan(${alfaInteractif})\\\\times ${AB}`,\n `tan(${baitaInteractif})\\\\times ${BA}-tan(${alfaInteractif})\\\\times ${BA}`,\n `tan(${baitaInteractif})${AB}-tan(${alfaInteractif})${AB}`,\n `tan(${baitaInteractif})${BA}-tan(${alfaInteractif})${BA}`,\n `${AB}\\\\times tan(${baitaInteractif})-${BA}\\\\times tan(${alfaInteractif})`,\n `${BA}\\\\times tan(${baitaInteractif})-${AB}\\\\times tan(${alfaInteractif})`,\n `${AB}tan(${baitaInteractif})-${BA}tan(${alfaInteractif})`,\n `${BA}tan(${baitaInteractif})-${AB}tan(${alfaInteractif})`,\n `tan(${baitaInteractif})\\\\times ${AB}-tan(${alfaInteractif})\\\\times ${BA}`,\n `tan(${baitaInteractif})\\\\times ${BA}-tan(${alfaInteractif})\\\\times ${AB}`,\n `tan(${baitaInteractif})${AB}-tan(${alfaInteractif})${BA}`,\n `tan(${baitaInteractif})${BA}-tan(${alfaInteractif})${AB}`],\n { formatInteractif: 'text' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: this.sup ? 2 : 5,\n enonce: this.sup ? enonceAMC : enonceInit + '<br>' + enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n j++\n enonceAMC = `${numAlpha(j)}Calculate the width of the river to the nearest meter knowing that $${alfa} = ${alpha}\\\\degree$ and $${baita} = ${beta}\\\\degree$.`\n texte += '<br>' + enonceAMC\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore units[lengths]', { texteAvant: `$${sp(25)}$` })\n setReponse(this, i + ii, new Grandeur(taille, 'm'), { formatInteractif: 'units' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCNum',\n propositions: [{\n texte: '',\n statut: '',\n reponse: {\n texte: enonceAMC,\n valeur: [taille],\n alignement: 'center',\n param: {\n digits: nombreDeChiffresDe(taille),\n decimals: 0,\n signe: false\n }\n }\n }]\n }\n iiAMC++\n }\n j = 0\n texteCorr = mathalea2d({\n xmin: min(-sensH, absC + sensH * (absS + 1)),\n ymin: min(-sensV, ordA + sensV),\n xmax: max(-sensH, absC + sensH * (absS + 1)),\n ymax: max(-sensV, ordA + sensV),\n pixelsParCm: 20,\n scale: 0.5\n }, objets) + '<br>'\n texteCorr += `${numAlpha(j)}In the right triangle $${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}$ in $${lettreDepuisChiffre(numB)}$ we have: $\\\\tan(${alfa})=\\\\dfrac{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}}{${AB}}$ hence $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)} = ${AB}\\\\times \\\\tan(${alfa})$. <br>`\n j++\n if (this.sup) {\n texteCorr += `${numAlpha(j)}`\n j++\n }\n texteCorr += `In the right triangle $${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}$ in $${lettreDepuisChiffre(numB)}$ we have: $\\\\tan(${baita})=\\\\dfrac{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}}{${AB}}$ hence $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)} = ${AB}\\\\times \\\\tan(${baita})$. <br>`\n if (this.sup) {\n texteCorr += `${numAlpha(j)}`\n j++\n }\n texteCorr += `Since $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)} = ${AB}\\\\times \\\\tan(${baita})$ and $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)} = ${AB}\\\\times \\\\tan(${alfa})$, then $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numS)} = ${AB}\\\\times(\\\\tan(${baita})-\\\\tan (${alfa}))$.<br>`\n texteCorr += `${numAlpha(j)}Do $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numS)} = ${distance}${sp()} m\\\\times(\\\\tan(${beta}\\\\degree)-\\\\tan(${alpha}\\\\degree))\\\\approx ${taille}${sp()}\\\\text{m}$.<br>`\n\n break\n case 2:\n context.anglePerspective = 20\n objets = []\n alpha = randint(30, 60)\n O = point3d(0, 0, 0, false, 'O')\n M = point3d(5, 0, 0, true, 'M')\n PoleNord = point3d(0, 0, 5, false, 'N')\n PoleSud = point3d(0, 0, -5, false, 'S')\n R = vecteur3d(O, M)\n Axe = arete3d(PoleSud, PoleNord)\n normalV = vecteur3d(0, 0, 1)\n M = rotationV3d(M, normalV, context.anglePerspective)\n M.c2d.nom = 'M'\n M.c2d.positionLabel = 'right'\n normalH = rotationV3d(R, normalV, 90)\n P = rotationV3d(M, normalH, -alpha)\n P.c2d.nom = 'P'\n P.c2d.positionLabel = 'above right'\n H = point3d(0, 0, P.z, false)\n R2 = rotationV3d(vecteur3d(H, P), normalV, context.anglePerspective) // Rayon obtenu depuis P\n H.c2d.nom = 'H'\n H.c2d.positionLabel = 'left'\n Sph = sphere3d(O, 5, 'black', 'black', 6, 'gray', 12, 'gray')\n HP = arete3d(H, P)\n OP = arete3d(O, P)\n objets.push(...Sph.c2d, Axe.c2d, HP.c2d, OP.c2d, new CodageAngleDroit3D(P, H, O), tracePoint(H.c2d, P.c2d, O.c2d, M.c2d), labelPoint(H.c2d, P.c2d, O.c2d, M.c2d))\n objets.push(demicercle3d(H, normalV, R2, 'indirect', false, 'red', -context.anglePerspective))\n objets.push(demicercle3d(H, normalV, R2, 'direct', true, 'red', -context.anglePerspective))\n objets.push(arete3d(O, M).c2d)\n objets.push(afficheMesureAngle(M.c2d, O.c2d, P.c2d, 'black', 1.5, `$${alpha} \\\\degree$`))\n texte = mathalea2d({\n xmin: -8,\n ymin: -6,\n xmax: 8,\n ymax: 6,\n pixelsParCm: 20,\n scale: 0.5\n }, objets) + '<br>'\n texte += `What is the length of $${alpha}$°N parallel to the nearest kilometer?`\n enonceAMC = texte\n enonceAMC += ` We will take $${texNombre(6400)}$${sp()}km as the radius of the Earth.<br>`\n texteCorr = mathalea2d({\n xmin: -8,\n ymin: -6,\n xmax: 8,\n ymax: 6,\n pixelsParCm: 20,\n scale: 0.5\n }, objets) + '<br>'\n texteCorr += `Consider that the $${alpha}$$°N parallel is a circle. Let $H$ be the center of this circle located on the axis of rotation of the Earth.<br>`\n texteCorr += 'The segments $[HP]$ and $[OM]$ are parallel, so the alternate-internal angles $\\\\widehat{MOP}$ and $\\\\widehat{OPH}$ are equal.<br>'\n texteCorr += 'In the right triangle $OPH$ at $H$, $\\\\cos(\\\\widehat{OPH})=\\\\dfrac{HP}{OP}$ hence $HP=OP\\\\times \\\\cos( \\\\widehat{OPH})$.<br>'\n texteCorr += `Since the radius of the Earth is approximately $${texNombre(6400)}$${sp()}km, we can calculate $HP$.<br>`\n texteCorr += `$HP\\\\approx${texNombre(6400)}${sp()}km\\\\times \\\\cos(${alpha}\\\\degree)\\\\approx ${texNombre(arrondi(6400 * Math.cos(alpha * Math.PI / 180)))}${sp()}km$<br>`\n reponse = Math.round(2 * Math.PI * 6400 * Math.cos(alpha * Math.PI / 180))\n texteCorr += `Now let's calculate the length $L$ of the $${alpha}$°N parallel: $L\\\\approx 2\\\\times \\\\pi\\\\times ${texNombre(arrondi(6400 * Math.cos(alpha * Math.PI / 180)))}${sp()}km\\\\approx ${texNombre(reponse)}${sp()}km$.<br>`\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore units[lengths]')\n setReponse(this, i + ii, new Grandeur(reponse, 'km'), { formatInteractif: 'units' })\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 5,\n enonce: enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n propositionsAMC[iiAMC] = {\n type: 'AMCNum',\n propositions: [{\n texte: '',\n statut: '',\n reponse: {\n texte: `Calculated length, expressed in km and rounded to the nearest unit, of the $${alpha}$°N parallel:`,\n valeur: [reponse],\n alignement: 'center',\n param: {\n digits: nombreDeChiffresDe(reponse),\n decimals: 0,\n signe: false\n }\n }\n }]\n }\n iiAMC++\n }\n break\n case 3:\n objets = []\n distance = randint(5, 300)\n hauteur = randint(150, 190) / 100\n beta = Math.atan(hauteur / distance) / Math.PI * 180\n alpha = randint(10, 50)\n teta = (alpha - beta) * Math.PI / 180\n taille = arrondi(hauteur + distance * Math.tan(teta), 1)\n if (taille < 20) index = 0\n else if (taille < 50) index = 1\n else if (taille < 100) index = 2\n else index = 3\n numA = randint(1, 26, [4, 5, 15, 23, 24, 25])\n A = point(0, 0, lettreDepuisChiffre(numA))\n numB = randint(1, 26, [4, 5, 15, 23, 24, 25, numA])\n ordA = sensH * (randint(10, 14))\n B = pointAdistance(A, ordA, 0, lettreDepuisChiffre(numB))\n numC = randint(1, 26, [4, 5, 15, 23, 24, 25, numA, numB])\n absC = choice([2.5, 3, 3.5])\n C = pointAdistance(A, absC, 90, lettreDepuisChiffre(numC))\n numR = randint(1, 26, [4, 5, 15, 23, 24, 25, numA, numB, numC])\n R = pointAdistance(B, absC, 90, lettreDepuisChiffre(numR))\n numS = randint(1, 26, [4, 5, 15, 23, 24, 25, numA, numB, numC, numR])\n absS = randint(7, 11)\n S = pointAdistance(B, absS, 90, lettreDepuisChiffre(numS))\n p = polygoneAvecNom(A, B, R, S, C)\n objets.push(p[1], p[0], segment(C, B), segment(C, R), codageAngleDroit(C, A, B), codageAngleDroit(A, B, R), codageAngleDroit(C, R, S))\n objets.push(afficheMesureAngle(B, C, S, 'black', 3, `${alfa}`), afficheMesureAngle(A, B, C, 'black', 2, `${baita}`), afficheMesureAngle(B, C, R, 'black', 2, `${baita}`))\n objets.push(texteSurSegment(`${stringNombre(hauteur)} m`, sensH < 0 ? A : C, sensH < 0 ? C : A, 'black', -0.5), texteSurSegment(`${stringNombre(distance)} m`, C, R))\n texte = `An observer looks at ${objet[index][1]} ${objet[index][0]} at an angle of $${alpha}\\\\degree$.<br>`\n texte += `This${objet[index][2]} ${objet[index][0]} is ${objet[index][3]} at a distance of $${texNombre(distance)}$ m from the observer.<br>`\n texte += `The observer's eye is located $${texNombre(hauteur)}$ m from the ground.`\n enonceInit = texte\n j = 0\n if (this.sup) {\n texte = `<br>$${lettreDepuisChiffre(numC)}$ represents the eye of the observer, $[${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}]$ represents this ${objet[index][2]} ${objet[index][0]}.<br>`\n texte += '(The diagram below is not in real size and does not respect the proportions.)<br>'\n texte += mathalea2d({\n xmin: min(-sensH, ordA + sensH),\n ymin: -1,\n xmax: max(-sensH, ordA + sensH),\n ymax: absS + 1,\n pixelsParCm: 20,\n scale: 0.5\n }, objets)\n texte += `<br>${numAlpha(j)} First calculate $${baita}$, rounded to the nearest hundredth.`\n enonceAMC = texte\n texte = enonceInit + texte\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'largeur10 inline nospacebefore', { texteApres: '$\\\\degree$' })\n setReponse(this, i + ii, arrondi(beta))\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 2,\n enonce: enonceInit + enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n propositionsAMC[iiAMC] = {\n type: 'AMCNum',\n propositions: [{\n texte: '',\n statut: '',\n reponse: {\n texte: `Calculated value, rounded to the nearest hundredth, of $${baita}$:`,\n valeur: [arrondi(beta)],\n alignement: 'center',\n param: {\n digits: nombreDeChiffresDe(arrondi(beta)),\n decimals: nombreDeChiffresDansLaPartieDecimale(arrondi(beta)),\n signe: false\n }\n }\n }]\n }\n iiAMC++\n }\n j++\n enonceAMC = `${numAlpha(j)}Deduce the measure of the angle $\\\\widehat{${lettreDepuisChiffre(numR)}${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numS)}}$, rounded to the nearest hundredth.`\n texte += '<br>' + enonceAMC\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width10 inline nospacebefore', { texteApres: '$\\\\degree$' })\n setReponse(this, i + ii, arrondi(alpha - beta))\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCNum',\n propositions: [{\n texte: '',\n statut: '',\n reponse: {\n texte: enonceAMC,\n valeur: [arrondi(alpha - beta)],\n alignement: 'center',\n param: {\n digits: nombreDeChiffresDe(arrondi(alpha - beta)),\n decimals: nombreDeChiffresDansLaPartieDecimale(arrondi(alpha - beta)),\n signe: false\n }\n }\n }]\n }\n iiAMC++\n }\n j++\n enonceAMC = `${numAlpha(j)}Calcate then the length $${lettreDepuisChiffre(numR)}${lettreDepuisChiffre(numS)}$, rounded to the nearest cm.`\n texte += '<br>' + enonceAMC\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width10 inline nospacebefore units[lengths]')\n setReponse(this, i + ii, new Grandeur(arrondi(taille - hauteur), 'm'), { formatInteractif: 'units' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 2,\n enonce: enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n propositionsAMC[iiAMC] = {\n type: 'AMCNum',\n propositions: [{\n texte: '',\n statut: '',\n reponse: {\n texte: `Length in meters, calculated to the nearest hundredth, of $${lettreDepuisChiffre(numR)}${lettreDepuisChiffre(numS)}$:`,\n valeur: [arrondi(taille - hauteur)],\n alignement: 'center',\n param: {\n digits: nombreDeChiffresDe(arrondi(taille - hauteur)),\n decimals: nombreDeChiffresDansLaPartieDecimale(arrondi(taille - hauteur)),\n signe: false\n }\n }\n }]\n }\n iiAMC++\n }\n j++\n }\n enonceAMC = this.sup ? `${numAlpha(j)}` : ''\n texte += '<br>' + enonceAMC\n enonceAMC += `Calculate the height, in meters, of this ${objet[index][2]} ${objet[index][0]}, rounded to the nearest meter.`\n texte += `Calculate the height of this ${objet[index][2]} ${objet[index][0]}, rounded to the nearest meter.`\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'largeur25 inline nospacebefore unites[longueurs]')\n setReponse(this, i + ii, new Grandeur(arrondi(taille, 0), 'm'), { formatInteractif: 'unites' })\n ii++\n } else if (context.isAmc) {\n if (!this.sup) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 6,\n enonce: enonceInit + '<br>' + enonceAMC + '<br>',\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n propositionsAMC[iiAMC] = {\n type: 'AMCNum',\n propositions: [{\n texte: '',\n statut: '',\n reponse: {\n texte: !this.sup ? `Height, in meters, of this ${objet[index][2]} ${objet[index][0]}:` : enonceAMC,\n valeur: [arrondi(taille, 0)],\n alignement: 'center',\n param: {\n digits: nombreDeChiffresDe(arrondi(taille, 0)),\n decimals: 0,\n signe: false\n }\n }\n }]\n }\n iiAMC++\n }\n j = 0\n texteCorr = mathalea2d({\n xmin: min(-sensH, ordA + sensH),\n ymin: -1,\n xmax: max(-sensH, ordA + sensH),\n ymax: absS + 1,\n pixelsParCm: 20,\n scale: 0.5\n }, objets)\n texteCorr += this.sup ? `<br>${numAlpha(j)}` : '<br>'\n texteCorr += `In the right triangle $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numR)}${lettreDepuisChiffre(numB)}$ in $${lettreDepuisChiffre(numR)}$, $\\\\tan(${baita})=\\\\dfrac{${lettreDepuisChiffre(numR)}${lettreDepuisChiffre(numB)}}{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numR)}}$.<br>Hence $${baita}=\\\\arctan(\\\\dfrac{${texNombre(hauteur)}} {${texNombre(distance)}})\\\\approx ${texNombre(beta, 2)}\\\\degree$.<br>`\n j++\n texteCorr += this.sup ? `${numAlpha(j)}` : ''\n texteCorr += `$\\\\widehat{${lettreDepuisChiffre(numR)}${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numS)}} = ${alfa}-${baita}\\\\approx ${texNombre(alpha - beta, 2)}\\\\degree$<br>`\n j++\n texteCorr += this.sup ? `${numAlpha(j)}` : ''\n texteCorr += `In the right triangle $${lettreDepuisChiffre(numR)}${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numS)}$ in $${lettreDepuisChiffre(numC)}$, $\\\\tan(\\\\widehat{${lettreDepuisChiffre(numR)}${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numS)}})=\\\\dfrac{${lettreDepuisChiffre(numR)}${lettreDepuisChiffre(numS)}}{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numR)}}$.<br>`\n texteCorr += `Hence $${lettreDepuisChiffre(numR)}${lettreDepuisChiffre(numS)} = ${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numR)}\\\\times \\\\tan(\\\\widehat{${lettreDepuisChiffre(numR)}${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numS)}})\\\\approx ${distance}${sp()}\\\\text{m}\\\\times \\\\tan(${texNombre(alpha - beta, 2)}\\\\degree)\\\\approx ${texNombre(taille - hauteur)}${sp()}\\\\text {m}$<br>`\n j++\n texteCorr += this.sup ? `${numAlpha(j)}` : ''\n texteCorr += `$${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)} = ${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numR)}+${lettreDepuisChiffre(numR)}${lettreDepuisChiffre(numS)}\\\\approx${texNombre(hauteur)}${sp()}\\\\text{m}+${texNombre(taille - hauteur)}${sp()}\\\\text{m} = ${texNombre(taille)}${sp()}\\\\text{m}\\\\approx${texNombre(Math.round(taille))}${sp()}\\\\text{m}$<br>`\n texteCorr += `This ${objet[index][2]} ${objet[index][0]} is approximately $${texNombre(Math.round(taille))}$ m tall.`\n break\n case 4:\n objets = []\n alpha = randint(25, 45)\n beta = Math.tan(alpha * Math.PI / 180) * Math.tan((alpha + 1) * Math.PI / 180) / (Math.tan((alpha + 1) * Math.PI / 180) - Math.tan(alpha * Math.PI / 180))\n distance = randint(5, 10)\n taille = beta * distance\n numB = randint(1, 26, [4, 5, 15, 23, 24, 25])\n B = point(0, 0, lettreDepuisChiffre(numB))\n numS = randint(1, 26, [4, 5, 15, 23, 24, 25, numB])\n absS = sensH * (randint(4, 6))\n S = pointAdistance(B, absS, 0, lettreDepuisChiffre(numS))\n numC = randint(1, 26, [4, 5, 15, 23, 24, 25, numB, numS])\n absC = sensH * (randint(10, 14))\n C = pointAdistance(B, absC, 0, lettreDepuisChiffre(numC))\n numA = randint(1, 26, [4, 5, 15, 23, 24, 25, numB, numS, numC])\n ordA = (randint(10, 14))\n A = pointAdistance(C, ordA, 90, lettreDepuisChiffre(numA))\n p = polygoneAvecNom(B, S, C, A)\n objets.push(p[1], p[0], segment(A, S), codageAngleDroit(B, C, A))\n objets.push(afficheMesureAngle(C, B, A, 'black', 2, `${alfa}`), afficheMesureAngle(C, S, A, 'black', 2, `${baita}`))\n objets.push(texteSurSegment(`${stringNombre(distance)} m`, B, S, 'black', -sensH * 0.5), texteParPosition('h', milieu(C, A).x + sensH * 0.5, milieu(C, A).y, 0, 'black', 2, 'middle', true))\n j = 0\n texte = 'An observer on a boat approaches a cliff whose height he wants to measure'\n texte += this.sup ? ' $h$.<br>' : '.<br>'\n texte += `He drops anchor then notices that he sees the cliff at an angle of $${alpha}\\\\degree$.<br>`\n texte += `He then approaches the cliff until he sees it at an angle of $${alpha + 5}\\\\degree$.<br>`\n texte += `He notices that between his two measurements, he has moved closer to the cliff of $${distance}$ m.<br>`\n enonceInit = texte\n if (this.sup) {\n enonceAMC = '(The diagram below is not in real size and does not respect the proportions.)<br>'\n enonceAMC += mathalea2d({\n xmin: min(-sensH, absC + sensH),\n ymin: -1,\n xmax: max(-sensH, absC + sensH),\n ymax: ordA + 1,\n pixelsParCm: 20,\n scale: 0.5\n }, objets)\n enonceAMC += `<br>${numAlpha(j)}Express $h$ as a function of $${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}$ and $${baita}$ then as a function of $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}$ and $${alfa}$.`\n texte += enonceAMC\n if (this.interactif) {\n texte += '<br>' + ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore greekTrigo', { texteAvant: `$${sp(20)}h=$` })\n AB = lettreDepuisChiffre(numS) + lettreDepuisChiffre(numC)\n BA = lettreDepuisChiffre(numC) + lettreDepuisChiffre(numS)\n setReponse(this, i + ii, [ // Attention, l'emplacement des espaces est primordial\n `${AB}\\\\times tan(${baitaInteractif})`,\n `${BA}\\\\times tan(${baitaInteractif})`,\n `${AB}tan(${baitaInteractif})`,\n `${BA}tan(${baitaInteractif})`,\n `tan(${baitaInteractif})\\times ${AB}`,\n `tan(${baitaInteractif})\\times ${BA}`,\n `tan(${baitaInteractif})${AB}`,\n `tan(${baitaInteractif})${BA}`],\n { formatInteractif: 'text' })\n ii++\n texte += '<br>' + ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore greekTrigo', { texteAvant: `$${sp(20)}h=$` })\n AB = lettreDepuisChiffre(numB) + lettreDepuisChiffre(numC)\n BA = lettreDepuisChiffre(numC) + lettreDepuisChiffre(numB)\n setReponse(this, i + ii, [ // Attention, l'emplacement des espaces est primordial\n `${AB}\\\\times tan(${alfaInteractif})`,\n `${BA}\\\\times tan(${alfaInteractif})`,\n `${AB}tan(${alfaInteractif})`,\n `${BA}tan(${alfaInteractif})`,\n `tan(${alfaInteractif})\\times ${AB}`,\n `tan(${alfaInteractif})\\times ${BA}`,\n `tan(${alfaInteractif})${AB}`,\n `tan(${alfaInteractif})${BA}`],\n { formatInteractif: 'text' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 3,\n enonce: enonceInit + '<br>' + enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n j++\n enonceAMC = `${numAlpha(j)}Deduce $${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}$ based on $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}$, $${alfa}$ and $${baita}$.`\n texte += '<br>' + enonceAMC\n if (this.interactif) {\n texte += '<br>' + ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore greekTrigo', { texteAvant: `$${sp(20)}${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)} = $` })\n AB = lettreDepuisChiffre(numS) + lettreDepuisChiffre(numB)\n BA = lettreDepuisChiffre(numB) + lettreDepuisChiffre(numS)\n setReponse(this, i + ii, [ // Aucune exhaustivité hélas\n `\\\\frac{${AB}\\\\times tan(${alfaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `\\\\frac{${BA}\\\\times tan(${alfaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `${AB}\\\\times \\\\frac{tan(${alfaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `${BA}\\\\times \\\\frac{tan(${alfaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `tan(${alfaInteractif})\\\\times \\\\frac{${AB}}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `tan(${alfaInteractif})\\\\times \\\\frac{${BA}}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `\\\\frac{${AB}tan(${alfaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `\\\\frac{${BA}tan(${alfaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `${AB}\\\\frac{tan(${alfaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `${BA}\\\\frac{tan(${alfaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `tan(${alfaInteractif})\\\\frac{${AB}}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `tan(${alfaInteractif})\\\\frac{${BA}}{tan(${baitaInteractif})-tan(${alfaInteractif})}`],\n { formatInteractif: 'text' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 3,\n enonce: enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n j++\n enonceAMC = `${numAlpha(j)}Express $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}$ in terms of $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}$, $${alfa}$ and $${baita}$.`\n texte += '<br>' + enonceAMC\n if (this.interactif) {\n texte += '<br>' + ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore greekTrigo', { texteAvant: `$${sp(20)}${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)} = $` })\n setReponse(this, i + ii, [ // Aucune exhaustivité hélas\n `\\\\frac{${AB}\\\\times tan(${alfaInteractif})\\\\times tan(${baitaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `\\\\frac{${BA}\\\\times tan(${alfaInteractif})\\\\times tan(${baitaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `${AB}\\\\times \\\\frac{tan(${alfaInteractif})\\\\times tan(${baitaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `${BA}\\\\times \\\\frac{tan(${alfaInteractif})\\\\times tan(${baitaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `tan(${alfaInteractif})\\\\times tan(${baitaInteractif})\\\\times \\\\frac{${AB}}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `tan(${alfaInteractif})\\\\times tan(${baitaInteractif})\\\\times \\\\frac{${BA}}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `\\\\frac{${AB}tan(${alfaInteractif})tan(${baitaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `\\\\frac{${BA}tan(${alfaInteractif})tan(${baitaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `${AB}\\\\frac{tan(${alfaInteractif})tan(${baitaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `${BA}\\\\frac{tan(${alfaInteractif})tan(${baitaInteractif})}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `tan(${alfaInteractif})tan(${baitaInteractif})\\\\frac{${AB}}{tan(${baitaInteractif})-tan(${alfaInteractif})}`,\n `tan(${alfaInteractif})tan(${baitaInteractif})\\\\frac{${BA}}{tan(${baitaInteractif})-tan(${alfaInteractif})}`],\n { formatInteractif: 'text' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 2,\n enonce: enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n j++\n }\n enonceAMC = this.sup ? `${numAlpha(j)}` : ''\n texte += '<br>' + enonceAMC\n enonceAMC += 'How high, in meters, is the cliff?'\n texte += 'How high is the cliff?'\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore units[lengths]')\n setReponse(this, i + ii, new Grandeur(arrondi(taille, 0), 'm'), { formatInteractif: 'units' })\n ii++\n } else if (context.isAmc) {\n if (!this.sup) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 6,\n enonce: enonceInit + '<br>' + enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n propositionsAMC[iiAMC] = {\n type: 'AMCNum',\n propositions: [{\n texte: '',\n statut: '',\n reponse: {\n texte: !this.sup ? 'Height, in meters and rounded to the nearest meter, of the cliff: ' : enonceAMC,\n valeur: [arrondi(taille, 0)],\n alignement: 'center',\n param: {\n digits: nombreDeChiffresDe(arrondi(taille, 0)),\n decimals: 0,\n signe: false\n }\n }\n }]\n }\n iiAMC++\n }\n j++\n enonceAMC = this.sup ? `${numAlpha(j)}` : ''\n texte += '<br>' + enonceAMC\n enonceAMC += 'At what distance, in meters and rounded to the nearest meter, from the foot of the cliff is the observer located during the second survey?'\n texte += 'How far from the foot of the cliff is the observer during the second survey?'\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore units[lengths]')\n context.isAmc ? setReponse(this, i + ii, arrondi(taille / Math.tan((alpha + 5) * Math.PI / 180), 0)) : setReponse(this, i + ii, new Grandeur(arrondi(taille / Math.tan((alpha + 5) * Math.PI / 180), 0), 'm'), { formatInteractif: 'units' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCNum',\n propositions: [{\n texte: '',\n statut: '',\n reponse: {\n texte: enonceAMC,\n valeur: [arrondi(taille / Math.tan((alpha + 5) * Math.PI / 180), 0)],\n alignement: 'center',\n param: {\n digits: nombreDeChiffresDe(arrondi(taille / Math.tan((alpha + 5) * Math.PI / 180), 0)),\n decimals: 0,\n signe: false\n }\n }\n }]\n }\n iiAMC++\n }\n texte += '<br>Round results to the nearest meter. (We will assume the observation point is at water level)'\n texteCorr = mathalea2d({\n xmin: min(-sensH, absC + sensH),\n ymin: -1,\n xmax: max(-sensH, absC + sensH),\n ymax: ordA + 1,\n pixelsParCm: 20,\n scale: 0.5\n }, objets)\n j = 0\n texteCorr += this.sup ? `<br>${numAlpha(j)}` : '<br>'\n texteCorr += `In the right triangle $${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}$ in $${lettreDepuisChiffre(numC)}$, $\\\\tan(${baita})=\\\\dfrac{h}{${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}}$.<br>Hence $h=${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}\\\\times \\\\tan(${baita}) $.<br>`\n texteCorr += `In the right triangle $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}$ in $${lettreDepuisChiffre(numC)}$, $\\\\tan(${alfa})=\\\\dfrac{h}{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}}$.<br>Hence $h=${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}\\\\times \\\\tan(${alfa}) $.<br>`\n j++\n texteCorr += this.sup ? `${numAlpha(j)}` : ''\n texteCorr += `But $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)} = ${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}+${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}$ therefore $h=(${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}+${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)})\\\\times \\\\tan(${alfa})$.<br>`\n texteCorr += `We deduce that $${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}\\\\times \\\\tan(${baita})=(${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}+${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)})\\\\times \\\\tan(${alfa})$ or $${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}\\\\times \\\\tan(${baita})=${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}\\\\times \\\\ tan(${alfa})+${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}\\\\times \\\\tan(${alfa})$.<br>`\n texteCorr += `Hence $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}\\\\times \\\\tan(${alfa})=${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}\\\\times \\\\tan(${baita})-${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}\\\\times \\\\tan(${alfa})=${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}\\\\times(\\\\tan(${baita})-\\\\tan(${alfa}))$.<br>`\n texteCorr += `And $${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}=\\\\dfrac{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}\\\\times \\\\tan(${alfa})}{\\\\tan(${baita})-\\\\tan(${alfa})}$.<br>`\n j++\n texteCorr += this.sup ? `${numAlpha(j)}` : ''\n texteCorr += `So $h=${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}\\\\times \\\\tan(${baita})=\\\\dfrac{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}\\\\times \\\\tan(${alfa})\\\\times \\\\tan(${baita})}{\\\\tan(${baita})-\\\\tan (${alfa})}$.<br>`\n texteCorr += this.sup ? '' : 'Digital application: <br>'\n j++\n texteCorr += this.sup ? `${numAlpha(j)}` : ''\n texteCorr += `$h=\\\\dfrac{${distance}${sp()}\\\\text{m}\\\\times \\\\tan(${alpha}\\\\degree)\\\\times \\\\tan(${alpha + 5}\\\\degree)}{\\\\tan(${alpha + 5}\\\\degree)- \\\\tan(${alpha}\\\\degree)}\\\\approx ${Math.round(taille)}${sp()}\\\\text{m}$.<br>`\n texteCorr += this.sup ? `The height of the cliff is $${Math.round(taille)}${sp()}\\\\text{m}$.<br>` : ''\n j++\n texteCorr += this.sup ? `${numAlpha(j)}` : ''\n texteCorr += `$${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numC)}=\\\\dfrac{${distance}${sp()}\\\\text{m}\\\\times \\\\tan(${alpha}\\\\degree)}{\\\\tan(${alpha + 5}\\\\degree)-\\\\tan(${alpha}\\\\degree)}\\\\ approx ${texNombre(Math.round(taille / Math.tan((alpha + 5) * Math.PI / 180)))}${sp()}\\\\text{m}$.<br>`\n texteCorr += this.sup ? `The observer is $${texNombre(Math.round(taille / Math.tan((alpha + 5) * Math.PI / 180)))}$ m from the cliff during the second survey.<br>` : ''\n texteCorr += this.sup ? '' : `The height of the cliff is $${Math.round(taille)}$ m and the observer is $${texNombre(Math.round(taille / Math.tan((alpha + 5) * Math.PI / 180)))}$ m from it during the second reading.<br>`\n break\n case 5:\n objets = []\n alpha = randint(25, 45)\n j = 0\n beta = alpha + randint(1, 3)\n taille = randint(20, 50) * 100\n distance = Math.round(taille * Math.sin((beta - alpha) * Math.PI / 180) / Math.sin(alpha * Math.PI / 180) / Math.sin(beta * Math.PI / 180))\n taille = Math.round(distance * Math.sin(alpha * Math.PI / 180) * Math.sin(beta * Math.PI / 180) / Math.sin((beta - alpha) * Math.PI / 180))\n numB = randint(1, 26, [4, 5, 15, 23, 24, 25])\n B = point(0, 0, lettreDepuisChiffre(numB))\n numC = randint(1, 26, [4, 5, 15, 23, 24, 25, numB])\n absC = sensH * randint(4, 6)\n C = pointAdistance(B, absC, 0, lettreDepuisChiffre(numC))\n numS = randint(1, 26, [4, 5, 15, 23, 24, 25, numB, numC])\n absS = sensH * randint(10, 14)\n S = pointAdistance(B, absS, 0, lettreDepuisChiffre(numS))\n numA = randint(1, 26, [4, 5, 15, 23, 24, 25, numB, numC, numS])\n ordA = randint(5, 9)\n A = pointAdistance(S, ordA, 90, lettreDepuisChiffre(numA))\n numH = randint(1, 26, [4, 5, 15, 23, 24, 25, numB, numC, numS, numA])\n H = projectionOrtho(C, droite(B, A), H, sensH > 0 ? 'above left' : 'above right')\n p = polygoneAvecNom(B, C, S, A)\n objets.push(p[1], p[0], segment(H, C), segment(A, C), codageAngleDroit(B, S, A), codageAngleDroit(C, H, A))\n objets.push(afficheMesureAngle(S, B, A, 'black', 2, `${alfa}`), afficheMesureAngle(S, C, A, 'black', 2, `${baita}`))\n\n objets.push(texteSurSegment(`${stringNombre(distance)} m`, B, C, 'black', -sensH * 0.5), labelPoint(H), texteParPosition('h', milieu(S, A).x + sensH * 0.5, milieu(S, A).y, 0, 'black', 2, 'middle', true))\n\n texte = 'A traveler approaches a mountain. He would like to calculate its height.<br>'\n texte += `To do this, he uses a theodolite at a point $${lettreDepuisChiffre(numB)}$ which allows him to measure the vertical angle $${alfa}$ formed by the summit $${lettreDepuisChiffre(numA)}$ of the mountain, the point $${lettreDepuisChiffre(numB)}$ and the base of the mountain $${lettreDepuisChiffre(numS)}$ .<br>`\n texte += `It then travels $${distance}$ m towards the mountain and performs a new measurement of the angle $${baita}$ at a point $${lettreDepuisChiffre(numC)}$.<br>`\n texte += '(The diagram below is not in real size and does not respect the proportions.)<br>'\n texte += ` We give: $${alfa} = ${alpha}\\\\degree$, $${baita} = ${beta}\\\\degree$ and $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)} = ${distance}$ m.<br>`\n texte += mathalea2d({\n xmin: min(-sensH, absS + sensH),\n ymin: -1,\n xmax: max(-sensH, absS + sensH),\n ymax: ordA + 1,\n pixelsParCm: 20,\n scale: 0.5\n }, objets)\n enonceInit = texte\n if (this.sup) {\n enonceAMC = `${numAlpha(j)}Express the measure of the angle $\\\\widehat{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numS)}}$ as a function of $${baita}$.`\n texte += '<br>' + enonceAMC\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore greekTrigo', { texteAvant: `$${sp(20)}\\\\widehat{CAS} = $` })\n setReponse(this, i + ii, [ // Attention, l'emplacement des espaces est primordial\n `90-${baitaInteractif}`],\n { formatInteractif: 'text' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 2,\n enonce: enonceInit + '<br>' + enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n enonceAMC = `${numAlpha(j + 1)}Express the measure of the angle $\\\\widehat{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numS)}}$ as a function of $${alfa}$.`\n texte += '<br>' + enonceAMC\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore greekTrigo', { texteAvant: `$${sp(20)}\\\\widehat{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numS)}} = $` })\n setReponse(this, i + ii, [ // Attention, l'emplacement des espaces est primordial\n `90-${alfaInteractif}`],\n { formatInteractif: 'text' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 2,\n enonce: enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n j += 2\n }\n enonceAMC = `${numAlpha(j)}Show that $\\\\widehat{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numH)}} = ${baita}-${alfa}$.`\n texte += '<br>' + enonceAMC\n if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: this.sup ? 2 : 4,\n enonce: this.sup ? enonceAMC : enonceInit + '<br>' + enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n j++\n if (this.sup) {\n enonceAMC = `${numAlpha(j)}In the triangle $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)}${lettreDepuisChiffre(numA)}$, express $CA$ as a function of $CH$.`\n } else {\n enonceAMC = `${numAlpha(j)}Express $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}$ in terms of $${lettreDepuisChiffre(numH)}$.`\n }\n texte += '<br>' + enonceAMC\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore greekTrigo', { texteAvant: `$${sp(20)}CA=$` })\n setReponse(this, i + ii, [ // Attention, l'emplacement des espaces est primordial\n `\\\\frac{CH}{sin(${baitaInteractif}-${alfaInteractif})}`,\n `\\\\frac{HC}{sin(${baitaInteractif}-${alfaInteractif})}`],\n { formatInteractif: 'text' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 2,\n enonce: enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n j++\n if (this.sup) {\n enonceAMC = `${numAlpha(j)}In the triangle $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)}$, express $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)}$ in terms of $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}$.`\n } else {\n enonceAMC = `${numAlpha(j)}Express $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)}$ in terms of $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}$.`\n }\n texte += '<br>' + enonceAMC\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore greekTrigo', { texteAvant: `$${sp(20)}${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)} = $` })\n setReponse(this, i + ii, [ // Aucune exhasutivité hélas\n `${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}\\\\times sin(${alfaInteractif})`,\n `sin(${alfaInteractif})\\\\times ${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}`,\n `${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numB)}\\\\times sin(${alfaInteractif})`,\n `sin(${alfaInteractif})\\\\times ${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numB)}`],\n { formatInteractif: 'text' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 2,\n enonce: enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n j++\n if (this.sup) {\n enonceAMC = `${numAlpha(j)}Deduce $h$ based on $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}$, then based on $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)}$ and finally based on $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}$.`\n } else {\n enonceAMC = `${numAlpha(j)}Deduce $h$ based on $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}$.`\n }\n texte += '<br>' + enonceAMC\n enonceAMC += this.sup ? '<br>' : ''\n if (this.interactif) {\n texte += '<br>' + ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore greekTrigo', { texteAvant: `$${sp(20)}h=$` })\n setReponse(this, i + ii, [ // Aucune exhaustivité hélas\n `${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numC)}\\\\times sin(${baitaInteractif})`,\n `sin(${baitaInteractif})\\\\times ${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numC)}`,\n `${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}\\\\times sin(${baitaInteractif})`,\n `sin(${baitaInteractif})\\\\times ${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}`],\n { formatInteractif: 'text' })\n ii++\n texte += '<br>' + ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore greekTrigo', { texteAvant: `$${sp(20)}h=$` })\n setReponse(this, i + ii, [ // Aucune exhasutivité hélas\n `\\\\frac{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)}\\\\times sin(${baitaInteractif})}{${baitaInteractif}-${alfaInteractif}}`,\n `\\\\frac{${lettreDepuisChiffre(numH)}${lettreDepuisChiffre(numC)}\\\\times sin(${baitaInteractif})}{${baitaInteractif}-${alfaInteractif}}`,\n `\\\\frac{sin(${baitaInteractif}\\\\times ${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)} sin(${baitaInteractif})}{${baitaInteractif}-${alfaInteractif}}`,\n `\\\\frac{sin(${baitaInteractif}\\\\times ${lettreDepuisChiffre(numH)}${lettreDepuisChiffre(numC)} sin(${baitaInteractif})}{${baitaInteractif}-${alfaInteractif}}`],\n { formatInteractif: 'text' })\n ii++\n texte += '<br>' + ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore greekTrigo', { texteAvant: `$${sp(20)}h=$` })\n setReponse(this, i + ii, [ // Aucune exhasutivité hélas\n `\\\\frac{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}\\\\times sin(${alfaInteractif})\\\\times sin(${baitaInteractif})}{${baitaInteractif}-${alfaInteractif}}`,\n `\\\\frac{sin(${alfaInteractif})\\\\times ${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}\\\\times sin(${baitaInteractif})}{${baitaInteractif}-${alfaInteractif}}`,\n `\\\\frac{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numB)}\\\\times sin(${alfaInteractif})\\\\times sin(${baitaInteractif})}{${baitaInteractif}-${alfaInteractif}}`,\n `\\\\frac{sin(${alfaInteractif})\\\\times ${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numB)}\\\\times sin(${baitaInteractif})}{${baitaInteractif}-${alfaInteractif}}`],\n { formatInteractif: 'text' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 5,\n enonce: enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n }\n j++\n enonceAMC = `${numAlpha(j)}Assuming the observation point is at ground level, how high is the mountain?`\n texte += '<br>' + enonceAMC + '(round to the nearest meter)'\n enonceAMC += '(express in meters and round to the nearest meter)'\n\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore units[lengths]')\n setReponse(this, i + ii, new Grandeur(arrondi(taille, 0), 'm'), { formatInteractif: 'units' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCNum',\n propositions: [{\n texte: '',\n statut: '',\n reponse: {\n texte: enonceAMC,\n valeur: [arrondi(taille, 0)],\n alignement: 'center',\n param: {\n digits: nombreDeChiffresDe(arrondi(taille, 0)),\n decimals: 0,\n signe: false\n }\n }\n }]\n }\n iiAMC++\n }\n j = 0\n texteCorr = mathalea2d({\n xmin: min(-sensH, absS + sensH),\n ymin: -1,\n xmax: max(-sensH, absS + sensH),\n ymax: ordA + 1,\n pixelsParCm: 20,\n scale: 0.5\n }, objets)\n if (this.sup) {\n texteCorr += `${numAlpha(j)}In the right triangle $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numA)}$ in $${lettreDepuisChiffre(numS)}$, the acute angles are complementary so $\\\\widehat{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numS)}}=90-${baita}$.<br>`\n texteCorr += `${numAlpha(j + 1)}in the right triangle $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numA)}$ in $${lettreDepuisChiffre(numS)}$, for the same reason $\\\\widehat{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numS)}}=90-${alfa}$.<br>`\n j += 2\n }\n texteCorr += `${numAlpha(j)}We know that $\\\\widehat{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numS)}}=90-${baita}$ and $\\\\widehat{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numS)}}=90-${alfa}$.<br>So $\\\\widehat{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numH)}}=\\\\widehat{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numS)}}-\\\\ widehat{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numS)}}=90-${alfa}-(90-${baita})=\\\\cancel{90}-${alfa}-\\\\cancel{90}+${baita} = ${baita}-${alfa}$.<br>`\n j++\n texteCorr += `${numAlpha(j)}In the right triangle $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)}${lettreDepuisChiffre(numA)}$ in $${lettreDepuisChiffre(numH)}$, $\\\\sin(\\\\widehat{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numH)}})=\\\\dfrac{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)}}{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}}$ hence $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}=\\\\dfrac{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)}}{\\\\ sin(\\\\widehat{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}${lettreDepuisChiffre(numH)}})}=\\\\dfrac{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)}}{\\\\sin(${baita}-${alfa})}$.<br>`\n j++\n texteCorr += `${numAlpha(j)}In the right triangle $${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)}$ in $${lettreDepuisChiffre(numH)}$, $\\\\sin(\\\\widehat{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numH)}})=\\\\dfrac{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)}}{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}}$ hence $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)} = ${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}\\\\times \\\\sin(\\\\widehat{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numH)}})=${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}\\\\times \\\\sin(${alfa})$.<br>`\n j++\n\n texteCorr += `${numAlpha(j)}In the right triangle $${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numS)}${lettreDepuisChiffre(numA)}$ in $${lettreDepuisChiffre(numS)}$, $h=${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numA)}\\\\times \\\\sin(${baita})=\\\\dfrac{${lettreDepuisChiffre(numC)}${lettreDepuisChiffre(numH)}}{\\\\sin(${baita}-${alfa})}\\\\times \\\\sin(${baita}) )=\\\\dfrac{${lettreDepuisChiffre(numB)}${lettreDepuisChiffre(numC)}\\\\times \\\\sin(${alfa})}{\\\\sin(${baita}-${alfa})}\\\\times \\\\sin(${baita})$<br>`\n\n j++\n texteCorr += `${numAlpha(j)}Numerical application: $h=\\\\dfrac{${distance}${sp()}\\\\text{m}\\\\times \\\\sin(${alpha}\\\\degree)}{\\\\sin(${beta}\\\\degree-${alpha}\\\\degree)}\\\\times \\\\sin(${beta}\\\\degree)$`\n texteCorr += `$=\\\\dfrac{${distance}${sp()}\\\\text{m}\\\\times \\\\sin(${alpha}\\\\degree)\\\\times \\\\sin(${beta}\\\\degree)}{\\\\sin(${beta - alpha}\\\\degree)}\\\\approx ${texNombre(Math.round(taille))}${sp()}\\\\text{m}$.<br>`\n break\n case 6: {\n let objetsEnonce = []\n let paramsEnonce = {}\n\n const AD = randint(5, 9)\n const AE = randint(AD + 1, AD + 4)\n const AC = randint(3, AD - 1)\n const A = point(0, 0, 'A', 'below left')\n const C = point(AC, 0, 'C', 'below')\n const D = point(AD, 0, 'D', 'below right')\n const dDE = droiteVerticaleParPoint(D)\n const cAE = cercle(A, AE)\n const E = pointIntersectionLC(dDE, cAE, 'E')\n E.positionLabel = 'right'\n const p = polygone(A, D, E)\n const dAE = droite(A, E)\n const B = projectionOrtho(C, dAE, 'B', 'above left')\n const codage1 = codageAngleDroit(A, B, C)\n const codage2 = codageAngleDroit(A, D, E)\n const nomDesSommets = creerNomDePolygone(5, listeDeNomsDePolygones)\n listeDeNomsDePolygones.push(nomDesSommets)\n A.nom = nomDesSommets[0]\n B.nom = nomDesSommets[1]\n C.nom = nomDesSommets[2]\n D.nom = nomDesSommets[3]\n E.nom = nomDesSommets[4]\n const labels = labelPoint(A, B, C, D, E)\n /* const mirroir = choice([true, false]) // EE : Je n'I didn't understand the point here if there is no mirror on the figure\n if (mirroir) {\n B.x *= -1\n C.x *= -1\n D.x *= -1\n E.x *= -1\n A.positionLabel = 'below'\n B.positionLabel = 'above'\n C.positionLabel = 'below'\n D.positionLabel = 'below'\n E.positionLabel = 'above'\n } */\n const sBC = segment(B, C)\n\n objetsEnonce = [p, sBC, codage1, codage2, labels]\n paramsEnonce = {\n xmin: -10,\n ymin: -1,\n xmax: 10,\n ymax: E.y + 1.5,\n pixelsParCm: 20,\n scale: 1,\n mainlevee: false\n }\n texte = `$${A.nom + E.nom} = ${AE}~\\\\text{cm}$, $${A.nom + D.nom} = ${AD}~\\\\text{cm}$ and $${A.nom + C.nom} = ${AC}~\\\\text{cm}$.`\n texte += '<br>' + mathalea2d(paramsEnonce, objetsEnonce)\n texte += `<br>Calculate the length $${A.nom + B.nom}$ and give an approximate value to the nearest millimeter.`\n enonceAMC = texte + '<br>'\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i + ii, 'width25 inline nospacebefore units[lengths]')\n setReponse(this, i + ii, new Grandeur(arrondi(longueur(A, B), 1), 'cm'), { formatInteractif: 'units' })\n ii++\n } else if (context.isAmc) {\n propositionsAMC[iiAMC] = {\n type: 'AMCOpen',\n propositions:\n [\n {\n texte: '',\n statut: 5,\n enonce: enonceAMC,\n sanslignes: true\n }\n ]\n }\n iiAMC++\n propositionsAMC[iiAMC] = {\n type: 'AMCNum',\n propositions: [{\n texte: '',\n statut: '',\n reponse: {\n texte: `Calculated length, expressed in cm and rounded to the nearest thousandth, of the $[${A.nom + B.nom}]$ segment:`,\n valeur: [arrondi(longueur(A, B), 1)],\n alignement: 'center',\n param: {\n digits: 1 + nombreDeChiffresDe(arrondi(longueur(A, B), 1)),\n decimals: 1,\n signe: false\n }\n }\n }]\n }\n iiAMC++\n }\n texteCorr = `In the right triangle $${A.nom + D.nom + E.nom}$ in $${D.nom}$:`\n texteCorr += `<br>$\\\\cos(\\\\widehat{${D.nom + A.nom + E.nom}})=\\\\dfrac{${A.nom + D.nom}}{${A.nom + E.nom}}\\\\quad$ i.e. $\\\\quad\\\\cos(\\\\widehat{${D.nom + A.nom + E.nom}})=\\\\dfrac{ ${AD}}{${AE}}$, `\n texteCorr += `<br> hence $\\\\widehat{${D.nom + A.nom + E.nom}}=\\\\text{arccos}\\\\left(\\\\dfrac{${AD}}{${AE}}\\\\right)\\\\approx${texNombre(angle(D, A, E), 1)}\\\\degree$.`\n\n texteCorr += `<br><br>In the right triangle $${A.nom + B.nom + C.nom}$ in $${B.nom}$:`\n texteCorr += `<br>$\\\\cos(\\\\widehat{${B.nom + A.nom + C.nom}})=\\\\dfrac{${A.nom + B.nom}}{${A.nom + C.nom}}\\\\quad$ i.e. $\\\\quad\\\\cos(${texNombre(arrondi(angle(D, A, E), 1))}\\\\degree)\\\\approx\\\\dfrac{ ${A.nom + B.nom}}{${AC}}$, `\n texteCorr += `<br> hence $${A.nom + B.nom} \\\\approx ${AC}${sp()}\\\\text{cm}\\\\times \\\\cos(${texNombre(arrondi(angle(D, A, E), 1))}\\\\degree)\\\\approx${texNombre(longueur(A, B), 1)}$ cm.`\n\n // textCorr += `<br><br>We could also write: $${A.nom + B.nom} = ${AC}\\\\times \\\\cos\\\\left(\\\\text{arccos}\\\\left(\\\\dfrac{${AD}}{${AE}} \\\\right)\\\\right)=${AC}\\\\times \\\\dfrac{${AD}}{${AE}} = ${texFractionReduite(AC * AD, AE)}$ cm which is the exact value.`\n }\n break\n }\n if (context.isAmc) {\n // enonceAMC = this.nbQuestions > 1? '\\\\begin{Large}\\\\textbf{Problem #' + (i + 1) + '}\\\\end{Large}': 'It doesn't matter'\n this.autoCorrection[i] = {\n // enounce: enonceAMC,\n enonce: '',\n // enonceBefore: this.nbQuestions > 1, // EE: this field is optional and allows (if false) to delete the statement above before the numbering of each question.\n enonceAvant: false, // EE : ce champ est facultatif et permet (si false) de supprimer l'énoncé ci-dessus avant la numérotation de chaque question.\n propositions: propositionsAMC\n }\n }\n if (this.questionJamaisPosee(i, texte, distance, alfa, baita, beta, alpha, taille, A, B, S, C, R, p, O, H, M, R2, Axe, normalV, normalH, P, HP, Sph, OP, PoleNord, PoleSud, hauteur, teta, index)) {\n // If the question has never been asked, we create another one\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n i++\n }\n cpt++\n }\n listeQuestionsToContenu(this)\n }\n}\n"],"names":["titre","interactifReady","interactifType","amcReady","amcType","dateDePublication","uuid","ref","ProblemesTrigoLongueur","Exercice","listeDeNomsDePolygones","objet","distance","beta","alpha","taille","A","B","S","C","R","objets","p","O","H","M","R2","Axe","normalV","normalH","P","HP","Sph","OP","PoleNord","PoleSud","hauteur","teta","index","lettresGrecques","listeTypeQuestions","gestionnaireFormulaireTexte","ii","iiAMC","i","texte","numA","ordA","numB","numC","numR","absC","numS","absS","numH","AB","BA","propositionsAMC","enonceAMC","enonceInit","texteCorr","reponse","j","cpt","choixAlpha","randint","alfa","context","alfaInteractif","choixBeta","baita","baitaInteractif","sensV","choice","sensH","arrondi","point","lettreDepuisChiffre","polygoneAvecNom","colorToLatexOrHTML","segment","codageAngleDroit","labelPoint","afficheMesureAngle","texteSurSegment","stringNombre","mathalea2d","min","max","numAlpha","ajouteChampTexteMathLive","sp","setReponse","Grandeur","nombreDeChiffresDe","point3d","vecteur3d","arete3d","rotationV3d","sphere3d","CodageAngleDroit3D","tracePoint","demicercle3d","texNombre","pointAdistance","nombreDeChiffresDansLaPartieDecimale","texteParPosition","milieu","projectionOrtho","droite","objetsEnonce","paramsEnonce","AD","AE","AC","D","dDE","droiteVerticaleParPoint","cAE","cercle","E","pointIntersectionLC","polygone","dAE","codage1","codage2","nomDesSommets","creerNomDePolygone","labels","sBC","longueur","angle","listeQuestionsToContenu"],"mappings":"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"}