File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/6G23-4-Rnj-FOzd.js.map
{"version":3,"file":"6G23-4-Rnj-FOzd.js","sources":["../../src/exercices/6e/6G23-4.js"],"sourcesContent":["import { angleModulo, rapporteur } from '../../lib/2d/angles.js'\nimport { point, pointSurSegment, tracePoint } from '../../lib/2d/points.js'\nimport { segment } from '../../lib/2d/segmentsVecteurs.js'\nimport { labelPoint } from '../../lib/2d/textes.js'\nimport { rotation } from '../../lib/2d/transformations.js'\nimport { choice } from '../../lib/outils/arrayOutils'\nimport { texteEnCouleurEtGras } from '../../lib/outils/embellissements'\nimport { texteGras } from '../../lib/format/style'\nimport { abs } from '../../lib/outils/nombres.js'\nimport { lettreDepuisChiffre, numAlpha } from '../../lib/outils/outilString.js'\nimport Exercice from '../Exercice.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { contraindreValeur, listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { max, min } from 'mathjs'\nimport { context } from '../../modules/context.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const titre = 'Measure an angle with built-in protractor'\nexport const interactifType = 'mathLive'\nexport const interactifReady = true\nexport const amcReady = true\nexport const amcType = 'AMCHybride'\nexport const dateDePublication = '26/04/2022'\n\n/**\n * Mesurer un angle avec rapporteur déjà en place\n * Ref 6G23-4\n * @author Eric Elter\n * Publié le 27/04/2022\n */\nexport const uuid = 'ff2cc'\nexport const ref = '6G23-4'\nexport default function MesurerUnAngleAvecRapporteur () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.consigne = ''\n this.nbQuestions = 1\n this.sup = 1\n this.sup2 = 7\n this.sup3 = 4\n this.sup4 = false\n this.nouvelleVersion = function () {\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n this.autoCorrection = []\n let figureExo\n\n for (let i = 0, texteAMC, posA, sudOuest, nordOuest, sudEst, nordEst, texte, texteCorr, paramsEnonce, paramsCorrection; i < this.nbQuestions; i++) {\n const propositionsAMC = []\n // We prepare the figure...\n const objetsEnonce = [] // on initialise le tableau des objets Mathalea2d de l'enoncé\n const objetsCorrection = [] // Idem pour la correction\n const tailleRapporteur = contraindreValeur(7, 12, this.sup2, 12)\n // Setting up points surrounding the space for the rapporteur. Useful for paramsEnonce because the protractor can rotate and let's optimize the space for this protractor.\n sudOuest = point(-(tailleRapporteur + 3), 0)\n nordOuest = point(-(tailleRapporteur + 3), tailleRapporteur + 3)\n sudEst = point(tailleRapporteur + 3, 0)\n nordEst = point(tailleRapporteur + 3, tailleRapporteur + 3)\n\n // The center of the protractor is A.\n // The point on line 0 is B. In fact, we construct B1 and B is between A and B1 (so that B is not always X cm from A because this distance does not have to be fixed for a student )\n // The other points will be in the order C, D, E and F. With the prior construction of C1, D1... under the same conditions as previously.\n\n const nbAngles = contraindreValeur(1, 4, this.sup3, 1)\n const sensRot = choice([-1, 1]) // Ce sens de rotation indique si on part du 0 de gauche ou du O de droite.\n const sensRot2 = choice([-1, 1]) // Ce sens de rotation indique si on fait une rotation de B dans le sens trigo ou l'autre sens.\n const numA = randint(1, 26, [4, 5, 15, 23, 24, 25])\n const numB = randint(1, 26, [4, 5, 15, 23, 24, 25, numA])\n const numC = randint(1, 26, [4, 5, 15, 23, 24, 25, numA, numB])\n /* A décommenter pour débugguer (et commenter les 6 lignes du dessus)\n numA = 1\n numB = 2\n numC = 3\n */\n const angB = this.sup === 1 ? 90 + sensRot * 90 : (this.sup === 2 ? sensRot * 90 : randint(0, 360) - 180)\n\n // posA (and posB, pos C...) allows you to choose a position of the point so that it is not illegible (generated by the protractor or the orientation of a half-line)\n if (sensRot2 * sensRot === 1) {\n posA = angB > 135 ? 'above' : (angB > 45 ? 'right' : (angB > -45 ? 'below' : (angB > -135 ? 'left' : 'above')))\n } else {\n posA = angB > 135 ? 'below' : (angB > 45 ? 'left' : (angB > -45 ? 'above' : (angB > -135 ? 'right' : 'below')))\n }\n const A = point(0, 0, lettreDepuisChiffre(numA), posA)\n const B1 = rotation(point(tailleRapporteur + 3, 0), A, angB)\n\n const posB = angB > 135 ? 'above' : (angB > 45 ? 'right' : (angB > -45 ? 'below' : (angB > -135 ? 'left' : 'above')))\n const B = pointSurSegment(A, B1, tailleRapporteur + randint(10, 25) / 10, lettreDepuisChiffre(numB), posB)\n const angC = sensRot * sensRot2 * randint(10, 170 - 20 * (nbAngles - 1), [90])\n const posC = angleModulo(angB + angC) > 135 ? 'above' : (angleModulo(angB + angC) > 45 ? 'right' : (angleModulo(angB + angC) > -45 ? 'below' : (angleModulo(angB + angC) > -135 ? 'left' : 'above')))\n\n const C1 = rotation(B1, A, angC)\n const C = pointSurSegment(A, C1, tailleRapporteur + randint(10, 25) / 10, lettreDepuisChiffre(numC), posC)\n const AB = segment(A, B1)\n const AC = segment(A, C1)\n const ACCorr = segment(A, C1, 'red')\n ACCorr.epaisseur = 2\n const R = rapporteur({\n x: 0,\n y: 0,\n taille: tailleRapporteur,\n depart: angC < 0 ? angB + 180 : angB,\n semi: true,\n avecNombre: 'both directions'\n })\n sudEst = rotation(sudEst, A, angC < 0 ? angB + 180 : angB)\n nordEst = rotation(nordEst, A, angC < 0 ? angB + 180 : angB)\n sudOuest = rotation(sudOuest, A, angC < 0 ? angB + 180 : angB)\n nordOuest = rotation(nordOuest, A, angC < 0 ? angB + 180 : angB)\n objetsEnonce.push(R, AB, AC, labelPoint(A, B, C), tracePoint(B, C)) // On remplit les tableaux d'objets Mathalea2d\n objetsCorrection.push(R, AB, ACCorr, labelPoint(A, B, C), tracePoint(B, C)) // On remplit les tableaux d'objets Mathalea2d\n texteAMC = nbAngles > 1 ? `${numAlpha(0)}` : ''\n texteCorr = texteAMC\n texteAMC += `What is the measure, in degrees, of the angle $\\\\widehat{${lettreDepuisChiffre(numB) + lettreDepuisChiffre(numA) + lettreDepuisChiffre(numC)}}$?`\n\n texte = nbAngles > 1 ? '<br>' + texteAMC : texteAMC\n texteCorr += `As the half-line (${lettreDepuisChiffre(numB) + lettreDepuisChiffre(numA)}] passes through the ${texteGras(0)} graduation of the protractor and the half-line (${lettreDepuisChiffre(numC) + lettreDepuisChiffre(numA)}] passes through the ${texteEnCouleurEtGras(abs(angC), 'red')} graduation of the protractor, we read that the angle $\\\\widehat{${lettreDepuisChiffre(numB) + lettreDepuisChiffre(numA) + lettreDepuisChiffre(numC)}}$ measures ${texteEnCouleurEtGras(abs(angC) + '°')}.<br>`\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i * nbAngles, 'inline width25', { texteApres: ' °' })\n }\n setReponse(this, i * nbAngles, abs(angC))\n if (context.isAmc) {\n propositionsAMC[0] = {\n type: 'AMCNum', // on donne le type de la première question-réponse qcmMono, qcmMult, AMCNum, AMCOpen\n propositions: [ // une ou plusieurs (Qcms) 'proposals'\n {\n texte: '', // Facultatif. la proposition de Qcm ou ce qui est affiché dans le corrigé pour cette question quand ce n'est pas un Qcm\n reponse: { // utilisé si type = 'AMCNum'\n texte: texteAMC, // facultatif\n valeur: abs(angC), // obligatoire (la réponse numérique à comparer à celle de l'élève). EE : Si une fraction est la réponse, mettre un tableau sous la forme [num,den]\n alignement: 'center', // EE : ce champ est facultatif et n\"is functional only for the hybrid. It allows you to choose where the boxes are arranged on the sheet. By default, it is like the text before it. To put left, center or right, choose from ('flushleft\", 'center', 'flushright').\n param: {\n digits: 3, // obligatoire pour AMC (le nombre de chiffres dans le nombre, si digits est mis à 0, alors il sera déterminé pour coller au nombre décimal demandé)\n decimals: 0, // obligatoire pour AMC (le nombre de chiffres dans la partie décimale du nombre, si decimals est mis à 0, alors il sera déterminé pour coller au nombre décimal demandé)\n signe: false, // obligatoire pour AMC (présence d'une case + ou -)\n approx: 0 // (0 = valeur exacte attendue, sinon valeur de tolérance (voir explication détaillée dans type AMCNum))\n }\n },\n options: { ordered: false, lastChoice: false } // options pour Qcms\n }\n ]\n }\n }\n // Above concerns the obligatory part with at least one angle.\n // Below, we add points depending on the number of angles requested.\n\n if (nbAngles > 1) {\n const angD = (this.sup4 & nbAngles === 2) ? angleModulo(180 - angC) : sensRot * sensRot2 * randint(10, 170 - 20 * (nbAngles - 2) - abs(angC))\n const D1 = rotation(B1, A, angC + angD)\n const numD = randint(1, 26, [4, 5, 15, 23, 24, 25, numA, numB, numC])\n const posD = angleModulo(angB + angC + angD) > 135 ? 'above' : (angleModulo(angB + angC + angD) > 45 ? 'right' : (angleModulo(angB + angC + angD) > -45 ? 'below' : (angleModulo(angB + angC + angD) > -135 ? 'left' : 'above')))\n const D = pointSurSegment(A, D1, tailleRapporteur + randint(10, 25) / 10, lettreDepuisChiffre(numD), posD)\n const AD = segment(A, D1)\n const ADCorr = segment(A, D1, 'blue')\n ADCorr.epaisseur = 2\n texteAMC = `${numAlpha(1)} What is the measure, in degrees, of the angle $\\\\widehat{${lettreDepuisChiffre(numC) + lettreDepuisChiffre(numA) + lettreDepuisChiffre(numD)}}$?`\n\n texte += '<br>' + texteAMC\n texteCorr += `<br>${numAlpha(1)} The half-line (${lettreDepuisChiffre(numC) + lettreDepuisChiffre(numA)}] passes through the ${texteEnCouleurEtGras(abs(angC), 'red')} graduation of the protractor. `\n texteCorr += `The half-line (${lettreDepuisChiffre(numD) + lettreDepuisChiffre(numA)}] passes through the ${texteEnCouleurEtGras(abs(angC + angD), 'blue')} graduation of the protractor. `\n texteCorr += `And ${abs(angC + angD)}-${abs(angC)}=${texteGras(abs(angD))}.<br>So we deduce that the angle $\\\\widehat{${lettreDepuisChiffre(numC) + lettreDepuisChiffre(numA) + lettreDepuisChiffre(numD)}}$ measures ${texteEnCouleurEtGras(abs(angD) + '°')}.<br>`\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i * nbAngles + 1, 'inline width25', { texteApres: ' °' })\n }\n setReponse(this, i * nbAngles + 1, abs(angD))\n if (context.isAmc) {\n propositionsAMC[1] = {\n type: 'AMCNum', // on donne le type de la première question-réponse qcmMono, qcmMult, AMCNum, AMCOpen\n propositions: [ // une ou plusieurs (Qcms) 'proposals'\n {\n texte: '', // Facultatif. la proposition de Qcm ou ce qui est affiché dans le corrigé pour cette question quand ce n'est pas un Qcm\n reponse: { // utilisé si type = 'AMCNum'\n texte: texteAMC, // facultatif\n valeur: abs(angD), // obligatoire (la réponse numérique à comparer à celle de l'élève). EE : Si une fraction est la réponse, mettre un tableau sous la forme [num,den]\n alignement: 'center', // EE : ce champ est facultatif et n\"is functional only for the hybrid. It allows you to choose where the boxes are arranged on the sheet. By default, it is like the text before it. To put left, center or right, choose from ('flushleft\", 'center', 'flushright').\n param: {\n digits: 3, // obligatoire pour AMC (le nombre de chiffres dans le nombre, si digits est mis à 0, alors il sera déterminé pour coller au nombre décimal demandé)\n decimals: 0, // obligatoire pour AMC (le nombre de chiffres dans la partie décimale du nombre, si decimals est mis à 0, alors il sera déterminé pour coller au nombre décimal demandé)\n signe: false, // obligatoire pour AMC (présence d'une case + ou -)\n approx: 0 // (0 = valeur exacte attendue, sinon valeur de tolérance (voir explication détaillée dans type AMCNum))\n }\n },\n options: { ordered: false, lastChoice: false } // options pour Qcms\n }\n ]\n }\n }\n objetsEnonce.push(AD, labelPoint(D), tracePoint(D)) // On remplit les tableaux d'objets Mathalea2d\n objetsCorrection.push(ADCorr, labelPoint(D), tracePoint(D)) // On remplit les tableaux d'objets Mathalea2d\n if (nbAngles > 2) {\n const angE = (this.sup4 & nbAngles === 3) ? angleModulo(180 - angC - angD) : sensRot * sensRot2 * randint(10, 170 - 20 * (nbAngles - 3) - abs(angC + angD))\n const E1 = rotation(B1, A, angC + angD + angE)\n const numE = randint(1, 26, [4, 5, 15, 23, 24, 25, numA, numB, numC, numD])\n const posE = angleModulo(angB + angC + angD + angE) > 135 ? 'above' : (angleModulo(angB + angC + angD + angE) > 45 ? 'right' : (angleModulo(angB + angC + angD + angE) > -45 ? 'below' : (angleModulo(angB + angC + angD + angE) > -135 ? 'left' : 'above')))\n const E = pointSurSegment(A, E1, tailleRapporteur + randint(10, 25) / 10, lettreDepuisChiffre(numE), posE)\n const AE = segment(A, E1)\n const AECorr = segment(A, E1, 'hotpink')\n AECorr.epaisseur = 2\n texteAMC = `${numAlpha(2)} What is the measure, in degrees, of the angle $\\\\widehat{${lettreDepuisChiffre(numD) + lettreDepuisChiffre(numA) + lettreDepuisChiffre(numE)}}$?`\n\n texte += '<br>' + texteAMC\n texteCorr += `<br>${numAlpha(2)} The half-line (${lettreDepuisChiffre(numD) + lettreDepuisChiffre(numA)}] passes through the ${texteEnCouleurEtGras(abs(angC + angD), 'blue')} graduation of the protractor. `\n texteCorr += `The half-line (${lettreDepuisChiffre(numE) + lettreDepuisChiffre(numA)}] passes through the ${texteEnCouleurEtGras(abs(angC + angD + angE), 'hotpink')} graduation of the protractor. `\n texteCorr += `And ${abs(angC + angD + angE)}-${abs(angC + angD)}=${texteGras(abs(angE))}.<br>So we deduce that the angle $\\\\widehat{${lettreDepuisChiffre(numD) + lettreDepuisChiffre(numA) + lettreDepuisChiffre(numE)}}$ measures ${texteEnCouleurEtGras(abs(angE) + '°')}.<br>`\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i * nbAngles + 2, 'inline width25', { texteApres: ' °' })\n }\n setReponse(this, i * nbAngles + 2, abs(angE))\n if (context.isAmc) {\n propositionsAMC[2] = {\n type: 'AMCNum', // on donne le type de la première question-réponse qcmMono, qcmMult, AMCNum, AMCOpen\n propositions: [ // une ou plusieurs (Qcms) 'proposals'\n {\n texte: '', // Facultatif. la proposition de Qcm ou ce qui est affiché dans le corrigé pour cette question quand ce n'est pas un Qcm\n reponse: { // utilisé si type = 'AMCNum'\n texte: texteAMC, // facultatif\n valeur: abs(angE), // obligatoire (la réponse numérique à comparer à celle de l'élève). EE : Si une fraction est la réponse, mettre un tableau sous la forme [num,den]\n alignement: 'center', // EE : ce champ est facultatif et n\"is functional only for the hybrid. It allows you to choose where the boxes are arranged on the sheet. By default, it is like the text before it. To put left, center or right, choose from ('flushleft\", 'center', 'flushright').\n param: {\n digits: 3, // obligatoire pour AMC (le nombre de chiffres dans le nombre, si digits est mis à 0, alors il sera déterminé pour coller au nombre décimal demandé)\n decimals: 0, // obligatoire pour AMC (le nombre de chiffres dans la partie décimale du nombre, si decimals est mis à 0, alors il sera déterminé pour coller au nombre décimal demandé)\n signe: false, // obligatoire pour AMC (présence d'une case + ou -)\n approx: 0 // (0 = valeur exacte attendue, sinon valeur de tolérance (voir explication détaillée dans type AMCNum))\n }\n },\n options: { ordered: false, lastChoice: false } // options pour Qcms\n }\n ]\n }\n }\n objetsEnonce.push(AE, labelPoint(E), tracePoint(E)) // On remplit les tableaux d'objets Mathalea2d\n objetsCorrection.push(AECorr, labelPoint(E), tracePoint(E)) // On remplit les tableaux d'objets Mathalea2d\n if (nbAngles > 3) {\n const angF = (this.sup4) ? angleModulo(180 - angC - angD - angE) : sensRot * sensRot2 * randint(10, 170 - abs(angC + angD + angE))\n const F1 = rotation(B1, A, angC + angD + angE + angF)\n const numF = randint(1, 26, [4, 5, 15, 23, 24, 25, numA, numB, numC, numD, numE])\n const posF = angleModulo(angB + angC + angD + angE + angF) > 135 ? 'above' : (angleModulo(angB + angC + angD + angE + angF) > 45 ? 'right' : (angleModulo(angB + angC + angD + angE + angF) > -45 ? 'below' : (angleModulo(angB + angC + angD + angE + angF) > -135 ? 'left' : 'above')))\n const F = pointSurSegment(A, F1, tailleRapporteur + randint(10, 25) / 10, lettreDepuisChiffre(numF), posF)\n const AF = segment(A, F1)\n const AFCorr = segment(A, F1, 'green')\n AFCorr.epaisseur = 2\n texteAMC = `${numAlpha(3)} What is the measure, in degrees, of the angle $\\\\widehat{${lettreDepuisChiffre(numE) + lettreDepuisChiffre(numA) + lettreDepuisChiffre(numF)}}$?`\n\n texte += '<br>' + texteAMC\n texteCorr += `<br>${numAlpha(3)} The half-line (${lettreDepuisChiffre(numE) + lettreDepuisChiffre(numA)}] passes through the ${texteEnCouleurEtGras(abs(angC + angD + angE), 'hotpink')} graduation of the protractor. `\n texteCorr += `The half-line (${lettreDepuisChiffre(numF) + lettreDepuisChiffre(numA)}] passes through the ${texteEnCouleurEtGras(abs(angC + angD + angE + angF), 'green')} graduation of the protractor. `\n texteCorr += `And ${abs(angC + angD + angE + angF)}-${abs(angC + angD + angE)}=${texteGras(abs(angF))}.<br>So we deduce that the angle $\\\\widehat{${lettreDepuisChiffre(numE) + lettreDepuisChiffre(numA) + lettreDepuisChiffre(numF)}}$ measures ${texteEnCouleurEtGras(abs(angF) + '°')}.<br>`\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, i * nbAngles + 3, 'inline width25', { texteApres: ' °' })\n }\n setReponse(this, i * nbAngles + 3, abs(angF))\n if (context.isAmc) {\n propositionsAMC[3] = {\n type: 'AMCNum', // on donne le type de la première question-réponse qcmMono, qcmMult, AMCNum, AMCOpen\n propositions: [ // une ou plusieurs (Qcms) 'proposals'\n {\n texte: '', // Facultatif. la proposition de Qcm ou ce qui est affiché dans le corrigé pour cette question quand ce n'est pas un Qcm\n reponse: { // utilisé si type = 'AMCNum'\n texte: texteAMC, // facultatif\n valeur: abs(angF), // obligatoire (la réponse numérique à comparer à celle de l'élève). EE : Si une fraction est la réponse, mettre un tableau sous la forme [num,den]\n alignement: 'center', // EE : ce champ est facultatif et n\"is functional only for the hybrid. It allows you to choose where the boxes are arranged on the sheet. By default, it is like the text before it. To put left, center or right, choose from ('flushleft\", 'center', 'flushright').\n param: {\n digits: 3, // obligatoire pour AMC (le nombre de chiffres dans le nombre, si digits est mis à 0, alors il sera déterminé pour coller au nombre décimal demandé)\n decimals: 0, // obligatoire pour AMC (le nombre de chiffres dans la partie décimale du nombre, si decimals est mis à 0, alors il sera déterminé pour coller au nombre décimal demandé)\n signe: false, // obligatoire pour AMC (présence d'une case + ou -)\n approx: 0 // (0 = valeur exacte attendue, sinon valeur de tolérance (voir explication détaillée dans type AMCNum))\n }\n },\n options: { ordered: false, lastChoice: false } // options pour Qcms\n }\n ]\n }\n }\n objetsEnonce.push(AF, labelPoint(F), tracePoint(F)) // On remplit les tableaux d'objets Mathalea2d\n objetsCorrection.push(AFCorr, labelPoint(F), tracePoint(F)) // On remplit les tableaux d'objets Mathalea2d\n }\n }\n }\n // Mathalea2d window parameters for normal statement\n\n paramsEnonce = {\n xmin: min(nordEst.x, nordOuest.x, sudEst.x, sudOuest.x),\n ymin: -1 + min(nordEst.y, nordOuest.y, sudEst.y, sudOuest.y),\n xmax: max(nordEst.x, nordOuest.x, sudEst.x, sudOuest.x),\n ymax: 1 + max(nordEst.y, nordOuest.y, sudEst.y, sudOuest.y),\n pixelsParCm: 20,\n scale: context.isHtml ? 1 : 0.75,\n mainlevee: false\n }\n paramsCorrection = {\n xmin: min(nordEst.x, nordOuest.x, sudEst.x, sudOuest.x),\n ymin: -1 + min(nordEst.y, nordOuest.y, sudEst.y, sudOuest.y),\n xmax: max(nordEst.x, nordOuest.x, sudEst.x, sudOuest.x),\n ymax: 1 + max(nordEst.y, nordOuest.y, sudEst.y, sudOuest.y),\n pixelsParCm: 20,\n scale: 0.9,\n mainlevee: false\n }\n // figureExo = mathalea2d(Object.assign({ pixelsByCm: 20, scale: 1, main: false }, fixedBorders(objectsEnonce)), objectsEnonce)\n figureExo = mathalea2d(paramsEnonce, objetsEnonce)\n if (context.isAmc) {\n this.autoCorrection[i] = {\n enonce: figureExo,\n enonceAvant: true, // EE : ce champ est facultatif et permet (si false) de supprimer l'énoncé ci-dessus avant la numérotation de chaque question.\n // stateBeforeOnce: true, // EE: this field is optional and allows (if true) to display the statement above only once before the numbering of the first question of the exercise. Only works correctly if the mix option is false.\n enonceCentre: true, // EE : ce champ est facultatif et permet (si true) de centrer le champ 'States' ci-dessus.\n melange: false, // EE : ce champ est facultatif et permet (si false) de ne pas provoquer le mélange des questions.\n options: { multicols: true, barreseparation: true, multicolsAll: false, avecSymboleMult: false }, // facultatif. Par défaut, multicols est à false. Ce paramètre provoque un multicolonnage (sur 2 colonnes par défaut) des propositions : pratique quand on met plusieurs AMCNum. !!! Attention, cela ne fonctionne pas, nativement, pour AMCOpen. !!!\n // barseparation (default to false) allows you to put a separation bar between the two columns.\n // multicolsAll (defaults to false) allows multicolumn on 2 columns including the statement. multicolsAll cancels multicols.\n // withSymboleMult (by default false) allows in the case of QCMMult to have a question number AND the symbol indicating a possible multiple choice and not a single one.\n propositions: propositionsAMC\n }\n }\n\n // We add to the text of the statement, the freehand figure and the figure of the statement.\n texte += '<br>' + figureExo\n // We add to the text of the correction, the figure of the correction\n texteCorr += mathalea2d(paramsCorrection, objetsCorrection)\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n listeQuestionsToContenu(this)\n }\n }\n this.besoinFormulaireNumerique = [\"Rapporteur's position\", 3, \"1: Horizontal\\n2: Vertical\\n3: Doesn't matter\"]\n this.besoinFormulaire2Numerique = ['Protractor size (between 7 and 12)', 12]\n this.besoinFormulaire3Numerique = ['Number of angles to measure (between 1 and 4)', 4]\n this.besoinFormulaire4CaseACocher = ['With two symmetrically opposite points']\n}\n"],"names":["titre","interactifType","interactifReady","amcReady","amcType","dateDePublication","uuid","ref","MesurerUnAngleAvecRapporteur","Exercice","figureExo","i","texteAMC","posA","sudOuest","nordOuest","sudEst","nordEst","texte","texteCorr","paramsEnonce","paramsCorrection","propositionsAMC","objetsEnonce","objetsCorrection","tailleRapporteur","contraindreValeur","point","nbAngles","sensRot","choice","sensRot2","numA","randint","numB","numC","angB","A","lettreDepuisChiffre","B1","rotation","posB","B","pointSurSegment","angC","posC","angleModulo","C1","C","AB","segment","AC","ACCorr","R","rapporteur","labelPoint","tracePoint","numAlpha","texteGras","texteEnCouleurEtGras","abs","ajouteChampTexteMathLive","setReponse","context","angD","D1","numD","posD","D","AD","ADCorr","angE","E1","numE","posE","E","AE","AECorr","angF","F1","numF","posF","F","AF","AFCorr","min","max","mathalea2d","listeQuestionsToContenu"],"mappings":"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"}