math-exercises 3.0.168 → 3.0.170

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/lib/exercises/math/derivation/derivativeNumber/averageRateOfChangeAlgebraicExpression.d.ts +4 -3
  2. package/lib/exercises/math/derivation/derivativeNumber/averageRateOfChangeAlgebraicExpression.d.ts.map +1 -1
  3. package/lib/exercises/math/derivation/derivativeNumber/averageRateOfChangeAlgebraicExpression.js +236 -52
  4. package/lib/exercises/math/derivation/derivativeNumber/expressFAPlusH.d.ts +13 -0
  5. package/lib/exercises/math/derivation/derivativeNumber/expressFAPlusH.d.ts.map +1 -0
  6. package/lib/exercises/math/derivation/derivativeNumber/expressFAPlusH.js +225 -0
  7. package/lib/exercises/math/derivation/derivativeNumber/findAverageRateLimit.d.ts +14 -0
  8. package/lib/exercises/math/derivation/derivativeNumber/findAverageRateLimit.d.ts.map +1 -0
  9. package/lib/exercises/math/derivation/derivativeNumber/findAverageRateLimit.js +162 -0
  10. package/lib/exercises/math/derivation/derivativeNumber/index.d.ts +3 -0
  11. package/lib/exercises/math/derivation/derivativeNumber/index.d.ts.map +1 -1
  12. package/lib/exercises/math/derivation/derivativeNumber/index.js +3 -1
  13. package/lib/exercises/math/derivation/tangent/derivativeNumberReading.d.ts +4 -1
  14. package/lib/exercises/math/derivation/tangent/derivativeNumberReading.d.ts.map +1 -1
  15. package/lib/exercises/math/derivation/tangent/derivativeNumberReading.js +50 -9
  16. package/lib/exercises/math/derivation/variations/signVarTableFromDerivativeGraph.js +1 -1
  17. package/lib/exercises/math/derivation/variations/signVarTableFromGraph.js +1 -1
  18. package/lib/exercises/math/functions/trinoms/equation/findTwoNumbersFromSumAndProduct.d.ts +8 -0
  19. package/lib/exercises/math/functions/trinoms/equation/findTwoNumbersFromSumAndProduct.d.ts.map +1 -0
  20. package/lib/exercises/math/functions/trinoms/equation/findTwoNumbersFromSumAndProduct.js +182 -0
  21. package/lib/exercises/math/functions/trinoms/equation/index.d.ts +1 -0
  22. package/lib/exercises/math/functions/trinoms/equation/index.d.ts.map +1 -1
  23. package/lib/exercises/math/functions/trinoms/equation/index.js +1 -0
  24. package/lib/exercises/math/functions/trinoms/equation/trinomSelectEquationWithoutDeltaNeeded.js +1 -1
  25. package/lib/exercises/math/functions/trinoms/index.d.ts +1 -0
  26. package/lib/exercises/math/functions/trinoms/index.d.ts.map +1 -1
  27. package/lib/exercises/math/functions/trinoms/index.js +1 -0
  28. package/lib/exercises/math/functions/trinoms/problems/index.d.ts +3 -0
  29. package/lib/exercises/math/functions/trinoms/problems/index.d.ts.map +1 -0
  30. package/lib/exercises/math/functions/trinoms/problems/index.js +2 -0
  31. package/lib/exercises/math/functions/trinoms/problems/maxSurfaceForGivenClosure.d.ts +11 -0
  32. package/lib/exercises/math/functions/trinoms/problems/maxSurfaceForGivenClosure.d.ts.map +1 -0
  33. package/lib/exercises/math/functions/trinoms/problems/maxSurfaceForGivenClosure.js +212 -0
  34. package/lib/exercises/math/functions/trinoms/problems/swedishFlag.d.ts +8 -0
  35. package/lib/exercises/math/functions/trinoms/problems/swedishFlag.d.ts.map +1 -0
  36. package/lib/exercises/math/functions/trinoms/problems/swedishFlag.js +174 -0
  37. package/lib/exercises/math/functions/trinoms/summitAndCanonical/findTrinomCanonicalFormFromGraph.js +2 -2
  38. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitReading.d.ts.map +1 -1
  39. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitReading.js +22 -1
  40. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.d.ts +4 -1
  41. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.d.ts.map +1 -1
  42. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.js +45 -20
  43. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromGraph.d.ts +4 -1
  44. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromGraph.d.ts.map +1 -1
  45. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromGraph.js +43 -9
  46. package/lib/exercises/math/sequences/index.d.ts +1 -0
  47. package/lib/exercises/math/sequences/index.d.ts.map +1 -1
  48. package/lib/exercises/math/sequences/index.js +1 -0
  49. package/lib/exercises/math/sequences/variations/expressConsecutiveTermsDifference.d.ts +11 -0
  50. package/lib/exercises/math/sequences/variations/expressConsecutiveTermsDifference.d.ts.map +1 -0
  51. package/lib/exercises/math/sequences/variations/expressConsecutiveTermsDifference.js +160 -0
  52. package/lib/exercises/math/sequences/variations/index.d.ts +2 -0
  53. package/lib/exercises/math/sequences/variations/index.d.ts.map +1 -0
  54. package/lib/exercises/math/sequences/variations/index.js +1 -0
  55. package/lib/exercises/math/trigonometry/circle/findAngleFromCosAndSin.d.ts.map +1 -1
  56. package/lib/exercises/math/trigonometry/circle/findAngleFromCosAndSin.js +0 -1
  57. package/lib/exercises/math/trigonometry/circle/findAssociateAnglePointOnTrigoCircle.d.ts +8 -0
  58. package/lib/exercises/math/trigonometry/circle/findAssociateAnglePointOnTrigoCircle.d.ts.map +1 -0
  59. package/lib/exercises/math/trigonometry/circle/findAssociateAnglePointOnTrigoCircle.js +158 -0
  60. package/lib/exercises/math/trigonometry/circle/index.d.ts +2 -0
  61. package/lib/exercises/math/trigonometry/circle/index.d.ts.map +1 -1
  62. package/lib/exercises/math/trigonometry/circle/index.js +2 -0
  63. package/lib/exercises/math/trigonometry/circle/mainAngleMeasure.d.ts.map +1 -1
  64. package/lib/exercises/math/trigonometry/circle/mainAngleMeasure.js +8 -3
  65. package/lib/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.d.ts +8 -0
  66. package/lib/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.d.ts.map +1 -0
  67. package/lib/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.js +167 -0
  68. package/lib/exercises/utils/geogebra/toolBarConstructor.d.ts +2 -0
  69. package/lib/exercises/utils/geogebra/toolBarConstructor.d.ts.map +1 -1
  70. package/lib/exercises/utils/geogebra/toolBarConstructor.js +4 -0
  71. package/lib/index.d.ts +52 -4
  72. package/lib/index.d.ts.map +1 -1
  73. package/lib/math/geometry/segment.d.ts +1 -1
  74. package/lib/math/polynomials/trinom.d.ts +1 -1
  75. package/lib/math/polynomials/trinom.d.ts.map +1 -1
  76. package/lib/math/polynomials/trinom.js +2 -2
  77. package/lib/playground.d.ts.map +1 -1
  78. package/lib/playground.js +1 -3
  79. package/lib/tree/nodes/algebraicNode.d.ts +2 -0
  80. package/lib/tree/nodes/algebraicNode.d.ts.map +1 -1
  81. package/lib/tree/nodes/complex/complexNode.d.ts +1 -0
  82. package/lib/tree/nodes/complex/complexNode.d.ts.map +1 -1
  83. package/lib/tree/nodes/complex/complexNode.js +3 -0
  84. package/lib/tree/nodes/equations/equalNode.d.ts +1 -0
  85. package/lib/tree/nodes/equations/equalNode.d.ts.map +1 -1
  86. package/lib/tree/nodes/equations/equalNode.js +3 -0
  87. package/lib/tree/nodes/equations/equationSolutionNode.d.ts +1 -0
  88. package/lib/tree/nodes/equations/equationSolutionNode.d.ts.map +1 -1
  89. package/lib/tree/nodes/equations/equationSolutionNode.js +3 -0
  90. package/lib/tree/nodes/equations/multiEqualNode.d.ts +1 -0
  91. package/lib/tree/nodes/equations/multiEqualNode.d.ts.map +1 -1
  92. package/lib/tree/nodes/equations/multiEqualNode.js +3 -0
  93. package/lib/tree/nodes/equations/notEqualNode.d.ts +1 -0
  94. package/lib/tree/nodes/equations/notEqualNode.d.ts.map +1 -1
  95. package/lib/tree/nodes/equations/notEqualNode.js +3 -0
  96. package/lib/tree/nodes/functions/absNode.d.ts +1 -0
  97. package/lib/tree/nodes/functions/absNode.d.ts.map +1 -1
  98. package/lib/tree/nodes/functions/absNode.js +3 -0
  99. package/lib/tree/nodes/functions/arcSinNode.d.ts +1 -0
  100. package/lib/tree/nodes/functions/arcSinNode.d.ts.map +1 -1
  101. package/lib/tree/nodes/functions/arcSinNode.js +3 -0
  102. package/lib/tree/nodes/functions/arccosNode.d.ts +1 -0
  103. package/lib/tree/nodes/functions/arccosNode.d.ts.map +1 -1
  104. package/lib/tree/nodes/functions/arccosNode.js +3 -0
  105. package/lib/tree/nodes/functions/arctanNode.d.ts +1 -0
  106. package/lib/tree/nodes/functions/arctanNode.d.ts.map +1 -1
  107. package/lib/tree/nodes/functions/arctanNode.js +3 -0
  108. package/lib/tree/nodes/functions/cosNode.d.ts +1 -0
  109. package/lib/tree/nodes/functions/cosNode.d.ts.map +1 -1
  110. package/lib/tree/nodes/functions/cosNode.js +3 -0
  111. package/lib/tree/nodes/functions/expNode.d.ts +1 -0
  112. package/lib/tree/nodes/functions/expNode.d.ts.map +1 -1
  113. package/lib/tree/nodes/functions/expNode.js +3 -0
  114. package/lib/tree/nodes/functions/integralNode.d.ts +1 -0
  115. package/lib/tree/nodes/functions/integralNode.d.ts.map +1 -1
  116. package/lib/tree/nodes/functions/integralNode.js +3 -0
  117. package/lib/tree/nodes/functions/log10Node.d.ts +1 -0
  118. package/lib/tree/nodes/functions/log10Node.d.ts.map +1 -1
  119. package/lib/tree/nodes/functions/log10Node.js +3 -0
  120. package/lib/tree/nodes/functions/logNode.d.ts +1 -0
  121. package/lib/tree/nodes/functions/logNode.d.ts.map +1 -1
  122. package/lib/tree/nodes/functions/logNode.js +3 -0
  123. package/lib/tree/nodes/functions/oppositeNode.d.ts +1 -0
  124. package/lib/tree/nodes/functions/oppositeNode.d.ts.map +1 -1
  125. package/lib/tree/nodes/functions/oppositeNode.js +6 -0
  126. package/lib/tree/nodes/functions/sinNode.d.ts +1 -0
  127. package/lib/tree/nodes/functions/sinNode.d.ts.map +1 -1
  128. package/lib/tree/nodes/functions/sinNode.js +3 -0
  129. package/lib/tree/nodes/functions/sqrtNode.d.ts +1 -2
  130. package/lib/tree/nodes/functions/sqrtNode.d.ts.map +1 -1
  131. package/lib/tree/nodes/functions/tanNode.d.ts +1 -0
  132. package/lib/tree/nodes/functions/tanNode.d.ts.map +1 -1
  133. package/lib/tree/nodes/functions/tanNode.js +3 -0
  134. package/lib/tree/nodes/geometry/degree.d.ts +1 -0
  135. package/lib/tree/nodes/geometry/degree.d.ts.map +1 -1
  136. package/lib/tree/nodes/geometry/degree.js +3 -0
  137. package/lib/tree/nodes/geometry/lengthNode.d.ts +1 -0
  138. package/lib/tree/nodes/geometry/lengthNode.d.ts.map +1 -1
  139. package/lib/tree/nodes/geometry/lengthNode.js +3 -0
  140. package/lib/tree/nodes/geometry/pointNode.d.ts +1 -0
  141. package/lib/tree/nodes/geometry/pointNode.d.ts.map +1 -1
  142. package/lib/tree/nodes/geometry/pointNode.js +3 -0
  143. package/lib/tree/nodes/geometry/vectorNode.d.ts +1 -0
  144. package/lib/tree/nodes/geometry/vectorNode.d.ts.map +1 -1
  145. package/lib/tree/nodes/geometry/vectorNode.js +3 -0
  146. package/lib/tree/nodes/inequations/inequationNode.d.ts +1 -0
  147. package/lib/tree/nodes/inequations/inequationNode.d.ts.map +1 -1
  148. package/lib/tree/nodes/inequations/inequationNode.js +3 -0
  149. package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts +1 -0
  150. package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts.map +1 -1
  151. package/lib/tree/nodes/inequations/inequationSolutionNode.js +3 -0
  152. package/lib/tree/nodes/numbers/constantNode.d.ts +3 -2
  153. package/lib/tree/nodes/numbers/constantNode.d.ts.map +1 -1
  154. package/lib/tree/nodes/numbers/constantNode.js +7 -1
  155. package/lib/tree/nodes/numbers/numberNode.d.ts +1 -0
  156. package/lib/tree/nodes/numbers/numberNode.d.ts.map +1 -1
  157. package/lib/tree/nodes/numbers/numberNode.js +6 -0
  158. package/lib/tree/nodes/numbers/percentNode.d.ts +1 -0
  159. package/lib/tree/nodes/numbers/percentNode.d.ts.map +1 -1
  160. package/lib/tree/nodes/numbers/percentNode.js +3 -0
  161. package/lib/tree/nodes/operators/addNode.js +17 -14
  162. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts +1 -0
  163. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts.map +1 -1
  164. package/lib/tree/nodes/operators/binomialCoefficientNode.js +3 -0
  165. package/lib/tree/nodes/operators/divideNode.d.ts +1 -0
  166. package/lib/tree/nodes/operators/divideNode.d.ts.map +1 -1
  167. package/lib/tree/nodes/operators/divideNode.js +3 -0
  168. package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
  169. package/lib/tree/nodes/operators/limitNode.d.ts +1 -0
  170. package/lib/tree/nodes/operators/limitNode.d.ts.map +1 -1
  171. package/lib/tree/nodes/operators/limitNode.js +3 -0
  172. package/lib/tree/nodes/operators/powerNode.d.ts +1 -0
  173. package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
  174. package/lib/tree/nodes/operators/powerNode.js +6 -0
  175. package/lib/tree/nodes/polynomials/monomNode.d.ts +1 -0
  176. package/lib/tree/nodes/polynomials/monomNode.d.ts.map +1 -1
  177. package/lib/tree/nodes/polynomials/monomNode.js +3 -0
  178. package/lib/tree/nodes/polynomials/trinomNode.d.ts +1 -0
  179. package/lib/tree/nodes/polynomials/trinomNode.d.ts.map +1 -1
  180. package/lib/tree/nodes/polynomials/trinomNode.js +3 -0
  181. package/lib/tree/nodes/sets/belongsNode.d.ts +1 -0
  182. package/lib/tree/nodes/sets/belongsNode.d.ts.map +1 -1
  183. package/lib/tree/nodes/sets/belongsNode.js +3 -0
  184. package/lib/tree/nodes/sets/discreteSetNode.d.ts +1 -0
  185. package/lib/tree/nodes/sets/discreteSetNode.d.ts.map +1 -1
  186. package/lib/tree/nodes/sets/discreteSetNode.js +3 -0
  187. package/lib/tree/nodes/sets/intervalNode.d.ts +1 -0
  188. package/lib/tree/nodes/sets/intervalNode.d.ts.map +1 -1
  189. package/lib/tree/nodes/sets/intervalNode.js +3 -0
  190. package/lib/tree/nodes/sets/unionIntervalNode.d.ts +1 -0
  191. package/lib/tree/nodes/sets/unionIntervalNode.d.ts.map +1 -1
  192. package/lib/tree/nodes/sets/unionIntervalNode.js +3 -0
  193. package/lib/tree/nodes/variables/variableNode.d.ts +1 -0
  194. package/lib/tree/nodes/variables/variableNode.d.ts.map +1 -1
  195. package/lib/tree/nodes/variables/variableNode.js +3 -0
  196. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
- import { addValidProp, propWhile, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
1
+ import { GeneratorOptionTarget, GeneratorOptionType, addValidProp, propWhile, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
2
  import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { numberVEA } from "../../../../exercises/vea/numberVEA.js";
3
4
  import { GeogebraConstructor } from "../../../../geogebra/geogebraConstructor.js";
4
5
  import { Point } from "../../../../math/geometry/point.js";
5
6
  import { randint } from "../../../../math/utils/random/randint.js";
@@ -11,11 +12,12 @@ const getAnswer = (identifiers) => {
11
12
  const answer = reason + "";
12
13
  return answer;
13
14
  };
14
- const getGGBOptions = (identifiers) => {
15
+ const getGGBOptions = (identifiers, opts) => {
15
16
  const { sequence } = identifiers;
17
+ const rankOne = opts?.firstTermRankOne ? 1 : 0;
16
18
  const yMin = Math.min(...sequence.slice(0, 5));
17
19
  const yMax = Math.max(...sequence.slice(0, 5));
18
- const commands = sequence.flatMap((nb, index) => new Point(`A_${index}`, index.toTree(), nb.toTree()).toGGBCommand({
20
+ const commands = sequence.flatMap((nb, index) => new Point(`A_{${index + rankOne}}`, (index + rankOne).toTree(), nb.toTree()).toGGBCommand({
19
21
  showLabel: false,
20
22
  }));
21
23
  const ggb = new GeogebraConstructor({
@@ -27,25 +29,47 @@ const getGGBOptions = (identifiers) => {
27
29
  coords: [-1, 7, Math.min(-1, yMin - 2), Math.max(1, yMax + 2)],
28
30
  });
29
31
  };
30
- const getQuestionFromIdentifiers = (identifiers) => {
32
+ const getHint = () => {
33
+ return `Une suite est arithmétique si, pour passer d'un terme au suivant, on ajoute toujours le même nombre (appelé la raison de la suite).
34
+
35
+ Lit graphiquement les premiers termes de la suite pour déterminer ce nombre.`;
36
+ };
37
+ const getCorrection = (identifiers, opts) => {
38
+ const rankOne = opts?.firstTermRankOne ? 1 : 0;
39
+ const { sequence, reason } = identifiers;
40
+ return `On peut lire graphiquement les premiers termes de la suite :
41
+
42
+ ${sequence
43
+ .slice(0, 5)
44
+ .map((e, i) => `$$
45
+ u_{${i + rankOne}} = ${e.frenchify()}
46
+ $$`)
47
+ .join("\n \n")}
48
+
49
+ Pour passer d'un terme à l'autre, on ajoute donc toujours $${reason.frenchify()}$ : c'est la raison de la suite $u$.
50
+ `;
51
+ };
52
+ const getQuestionFromIdentifiers = (identifiers, opts) => {
31
53
  const question = {
32
54
  answer: getAnswer(identifiers),
33
55
  instruction: getInstruction(identifiers),
34
56
  keys: [],
35
- ggbOptions: getGGBOptions(identifiers),
57
+ ggbOptions: getGGBOptions(identifiers, opts),
36
58
  answerFormat: "tex",
37
59
  identifiers,
60
+ hint: getHint(identifiers),
61
+ correction: getCorrection(identifiers, opts),
38
62
  };
39
63
  return question;
40
64
  };
41
- const getRecognizeReasonFromGraphQuestion = () => {
65
+ const getRecognizeReasonFromGraphQuestion = (opts) => {
42
66
  const firstTerm = randint(1, 20);
43
67
  const reason = randint(-5, 6, [0]);
44
68
  const sequence = new Array(10)
45
69
  .fill(0)
46
70
  .map((_el, index) => firstTerm + index * reason);
47
71
  const identifiers = { reason, sequence };
48
- return getQuestionFromIdentifiers(identifiers);
72
+ return getQuestionFromIdentifiers(identifiers, opts);
49
73
  };
50
74
  const getPropositions = (n, { answer }) => {
51
75
  const propositions = [];
@@ -56,13 +80,21 @@ const getPropositions = (n, { answer }) => {
56
80
  return shuffleProps(propositions, n);
57
81
  };
58
82
  const isAnswerValid = (ans, { answer }) => {
59
- return ans === answer;
83
+ return numberVEA(ans, answer);
60
84
  };
85
+ const options = [
86
+ {
87
+ id: "firstTermRankOne",
88
+ label: "Utiliser $u_1$ comme premier terme",
89
+ target: GeneratorOptionTarget.generation,
90
+ type: GeneratorOptionType.checkbox,
91
+ },
92
+ ];
61
93
  export const recognizeReasonFromGraph = {
62
94
  id: "recognizeReasonFromGraph",
63
95
  label: "Reconnaître graphiquement la raison d'une suite arithmétique",
64
96
  isSingleStep: true,
65
- generator: (nb) => getDistinctQuestions(getRecognizeReasonFromGraphQuestion, nb),
97
+ generator: (nb, opts) => getDistinctQuestions(() => getRecognizeReasonFromGraphQuestion(opts), nb),
66
98
  qcmTimer: 60,
67
99
  freeTimer: 60,
68
100
  getPropositions,
@@ -70,4 +102,6 @@ export const recognizeReasonFromGraph = {
70
102
  hasGeogebra: true,
71
103
  subject: "Mathématiques",
72
104
  getQuestionFromIdentifiers,
105
+ options,
106
+ hasHintAndCorrection: true,
73
107
  };
@@ -7,4 +7,5 @@ export * from "./sequenceEvaluation.js";
7
7
  export * from "./sequencePlot.js";
8
8
  export * from "./graph/index.js";
9
9
  export * from "./notation/index.js";
10
+ export * from "./variations/index.js";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/sequences/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/sequences/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,uBAAuB,CAAC"}
@@ -8,3 +8,4 @@ export * from "./sequencePlot.js";
8
8
  export * from "./graph/index.js";
9
9
  export * from "./notation/index.js";
10
10
  // export * from "./limits/index.js";
11
+ export * from "./variations/index.js";
@@ -0,0 +1,11 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ import { NodeIdentifiers } from "../../../../tree/nodes/nodeConstructor.js";
3
+ type Identifiers = {
4
+ formulaIds: NodeIdentifiers;
5
+ };
6
+ type Options = {
7
+ sequenceTypes: string[];
8
+ };
9
+ export declare const expressConsecutiveTermsDifference: Exercise<Identifiers, Options>;
10
+ export {};
11
+ //# sourceMappingURL=expressConsecutiveTermsDifference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressConsecutiveTermsDifference.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/sequences/variations/expressConsecutiveTermsDifference.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAS7C,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,eAAe,CAAC;CAC7B,CAAC;AAmJF,KAAK,OAAO,GAAG;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAWF,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAwB1E,CAAC"}
@@ -0,0 +1,160 @@
1
+ import { addValidProp, shuffleProps, propWhile, GeneratorOptionTarget, GeneratorOptionType, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { AffineConstructor } from "../../../../math/polynomials/affine.js";
4
+ import { TrinomConstructor } from "../../../../math/polynomials/trinom.js";
5
+ import { reifyAlgebraic, } from "../../../../tree/nodes/nodeConstructor.js";
6
+ import { add } from "../../../../tree/nodes/operators/addNode.js";
7
+ import { substract } from "../../../../tree/nodes/operators/substractNode.js";
8
+ import { parseAlgebraic } from "../../../../tree/parsers/latexParser.js";
9
+ import { coinFlip } from "../../../../utils/alea/coinFlip.js";
10
+ import { random } from "../../../../utils/alea/random.js";
11
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
12
+ import { alignTex } from "../../../../utils/latex/alignTex.js";
13
+ const getPropositions = (n, { answer, formulaIds }) => {
14
+ const propositions = [];
15
+ addValidProp(propositions, answer);
16
+ const formula = reifyAlgebraic(formulaIds);
17
+ const un1 = formula.toDetailedEvaluation({ n: add("n", 1) });
18
+ tryToAddWrongProp(propositions, un1.simplify({ towardsDistribute: true, forbidFactorize: true }).toTex());
19
+ tryToAddWrongProp(propositions, add(un1, formula)
20
+ .simplify({
21
+ towardsDistribute: true,
22
+ forbidFactorize: true,
23
+ })
24
+ .toTex());
25
+ propWhile(propositions, n, () => {
26
+ tryToAddWrongProp(propositions, coinFlip()
27
+ ? AffineConstructor.random(undefined, undefined, "n").toTree().toTex()
28
+ : TrinomConstructor.random(undefined, undefined, undefined, "n")
29
+ .toTree()
30
+ .toTex());
31
+ });
32
+ return shuffleProps(propositions, n);
33
+ };
34
+ const getAnswer = (identifiers) => {
35
+ const { formulaIds } = identifiers;
36
+ const formula = reifyAlgebraic(formulaIds);
37
+ const un1 = formula.toDetailedEvaluation({ n: add("n", 1) });
38
+ return substract(un1, formula)
39
+ .simplify({
40
+ towardsDistribute: true,
41
+ forbidFactorize: true,
42
+ })
43
+ .toTex();
44
+ };
45
+ const getInstruction = (identifiers) => {
46
+ const { formulaIds } = identifiers;
47
+ const formula = reifyAlgebraic(formulaIds);
48
+ return `On considère la suite $u$ définie sur $\\mathbb{N}$ par :
49
+
50
+ $$
51
+ u_n = ${formula.toTex()}
52
+ $$
53
+
54
+ Pour $n\\geq 0$, exprimer en fonction de $n$ la différence :
55
+
56
+ $$
57
+ u_{n+1}-u_n
58
+ $$`;
59
+ };
60
+ const getHint = () => {
61
+ return `Calcule en fonction de $n$ le terme $u_{n+1}$, en remplaçant $n$ par $n+1$ dans la formule donnée.
62
+
63
+ Puis, soustrait $u_n$ et simplifie.`;
64
+ };
65
+ const getCorrection = (identifiers) => {
66
+ const { formulaIds } = identifiers;
67
+ const formula = reifyAlgebraic(formulaIds);
68
+ const un1 = formula.toDetailedEvaluation({ n: add("n", 1) });
69
+ const un1Simp = un1.simplify({
70
+ towardsDistribute: true,
71
+ forbidFactorize: true,
72
+ });
73
+ return `On exprime d'abord $u_{n+1}$ :
74
+
75
+ ${alignTex([
76
+ ["u_{n+1}", "=", un1.toTex()],
77
+ ["", "=", un1Simp.toTex()],
78
+ ])}
79
+
80
+ On a donc :
81
+
82
+ ${alignTex([
83
+ ["u_{n+1}-u_n", "=", substract(un1Simp, formula).toTex()],
84
+ [
85
+ "",
86
+ "=",
87
+ substract(un1Simp, formula)
88
+ .simplify({ towardsDistribute: true, forbidFactorize: true })
89
+ .toTex(),
90
+ ],
91
+ ])}`;
92
+ };
93
+ const getKeys = () => {
94
+ return ["n"];
95
+ };
96
+ const isAnswerValid = (ans, { answer }) => {
97
+ try {
98
+ const parsed = parseAlgebraic(ans);
99
+ if (!parsed)
100
+ return false;
101
+ return (parsed
102
+ .simplify({ towardsDistribute: true, forbidFactorize: true })
103
+ .toTex() === answer);
104
+ }
105
+ catch (err) {
106
+ return handleVEAError(err);
107
+ }
108
+ };
109
+ const getExpressConsecutiveTermsDifferenceQuestion = (opts) => {
110
+ const type = opts?.sequenceTypes
111
+ ? random(opts?.sequenceTypes)
112
+ : random(["Premier degré", "Second degré"]);
113
+ const formula = type === "Premier degré"
114
+ ? AffineConstructor.random(undefined, undefined, "n")
115
+ : TrinomConstructor.random(undefined, undefined, undefined, "n");
116
+ const identifiers = {
117
+ formulaIds: formula.toTree().toIdentifiers(),
118
+ };
119
+ return getQuestionFromIdentifiers(identifiers);
120
+ };
121
+ const getQuestionFromIdentifiers = (identifiers) => {
122
+ return {
123
+ answer: getAnswer(identifiers),
124
+ instruction: getInstruction(identifiers),
125
+ keys: getKeys(identifiers),
126
+ answerFormat: "tex",
127
+ identifiers,
128
+ hint: getHint(identifiers),
129
+ correction: getCorrection(identifiers),
130
+ };
131
+ };
132
+ const options = [
133
+ {
134
+ id: "sequenceTypes",
135
+ label: "Type de fonctions",
136
+ target: GeneratorOptionTarget.generation,
137
+ type: GeneratorOptionType.multiselect,
138
+ values: ["Premier degré", "Second degré"],
139
+ defaultValue: ["Premier degré", "Second degré"],
140
+ },
141
+ ];
142
+ export const expressConsecutiveTermsDifference = {
143
+ id: "expressConsecutiveTermsDifference",
144
+ connector: "=",
145
+ label: "Exprimer la différence de deux termes consécutifs $u_{n+1}-u_n$ pour une suite donnée explicitement",
146
+ isSingleStep: true,
147
+ generator: (nb, opts) => getDistinctQuestions(() => getExpressConsecutiveTermsDifferenceQuestion(opts), nb),
148
+ qcmTimer: 60,
149
+ freeTimer: 60,
150
+ getPropositions,
151
+ isAnswerValid,
152
+ subject: "Mathématiques",
153
+ getInstruction,
154
+ getHint,
155
+ getCorrection,
156
+ getAnswer,
157
+ getQuestionFromIdentifiers,
158
+ options,
159
+ hasHintAndCorrection: true,
160
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./expressConsecutiveTermsDifference.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/sequences/variations/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./expressConsecutiveTermsDifference.js";
@@ -1 +1 @@
1
- {"version":3,"file":"findAngleFromCosAndSin.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/trigonometry/circle/findAngleFromCosAndSin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAqHF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAkBxD,CAAC"}
1
+ {"version":3,"file":"findAngleFromCosAndSin.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/trigonometry/circle/findAngleFromCosAndSin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoHF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAkBxD,CAAC"}
@@ -11,7 +11,6 @@ const getPropositions = (n, { answer }) => {
11
11
  propWhile(propositions, n, () => {
12
12
  tryToAddWrongProp(propositions, random(mainTrigoValues).angle.toTex());
13
13
  });
14
- throw Error("correction not over");
15
14
  return shuffleProps(propositions, n);
16
15
  };
17
16
  const getAnswer = (identifiers) => {
@@ -0,0 +1,8 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ associateType: number;
4
+ startPoint: string;
5
+ };
6
+ export declare const findAssociateAnglePointOnTrigoCircle: Exercise<Identifiers>;
7
+ export {};
8
+ //# sourceMappingURL=findAssociateAnglePointOnTrigoCircle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findAssociateAnglePointOnTrigoCircle.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/trigonometry/circle/findAssociateAnglePointOnTrigoCircle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAuKF,eAAO,MAAM,oCAAoC,EAAE,QAAQ,CAAC,WAAW,CAqBtE,CAAC"}
@@ -0,0 +1,158 @@
1
+ import { addValidProp, shuffleProps, propWhile, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { randint } from "../../../../math/utils/random/randint.js";
4
+ import { opposite } from "../../../../tree/nodes/functions/oppositeNode.js";
5
+ import { PiNode } from "../../../../tree/nodes/numbers/piNode.js";
6
+ import { add } from "../../../../tree/nodes/operators/addNode.js";
7
+ import { substract } from "../../../../tree/nodes/operators/substractNode.js";
8
+ import { random } from "../../../../utils/alea/random.js";
9
+ import { doWhile } from "../../../../utils/doWhile.js";
10
+ const points = [
11
+ "I",
12
+ "A",
13
+ "B",
14
+ "C",
15
+ "D",
16
+ "E",
17
+ "J",
18
+ "F",
19
+ "G",
20
+ "H",
21
+ "K",
22
+ "L",
23
+ "M",
24
+ "N",
25
+ "P",
26
+ "Q",
27
+ "R",
28
+ "S",
29
+ "T",
30
+ "U",
31
+ "V",
32
+ "W",
33
+ "X",
34
+ "Y",
35
+ ];
36
+ const getPropositions = (n, { answer, startPoint }) => {
37
+ const propositions = [];
38
+ addValidProp(propositions, answer);
39
+ tryToAddWrongProp(propositions, getAnswer({
40
+ associateType: 0,
41
+ startPoint,
42
+ }));
43
+ tryToAddWrongProp(propositions, getAnswer({
44
+ associateType: 1,
45
+ startPoint,
46
+ }));
47
+ tryToAddWrongProp(propositions, getAnswer({
48
+ associateType: 2,
49
+ startPoint,
50
+ }));
51
+ propWhile(propositions, n, () => {
52
+ tryToAddWrongProp(propositions, random(points));
53
+ });
54
+ return shuffleProps(propositions, n);
55
+ };
56
+ const getAnswer = (identifiers) => {
57
+ //pi+a :index +12
58
+ //-a : length - index
59
+ const { associateType, startPoint } = identifiers;
60
+ const startIndex = points.indexOf(startPoint);
61
+ switch (associateType) {
62
+ case 0:
63
+ return points[points.length - startIndex];
64
+ case 1:
65
+ return points[(startIndex + 12) % points.length];
66
+ case 2:
67
+ default:
68
+ if (startIndex <= 12)
69
+ return points[12 - startIndex];
70
+ else
71
+ return points[12 + (points.length - startIndex)];
72
+ }
73
+ };
74
+ const getAssociateAngle = (identifiers) => {
75
+ const { associateType } = identifiers;
76
+ switch (associateType) {
77
+ case 0:
78
+ return opposite("a");
79
+ case 1:
80
+ return add(PiNode, "a");
81
+ case 2:
82
+ default:
83
+ return substract(PiNode, "a");
84
+ }
85
+ };
86
+ const getInstruction = (identifiers) => {
87
+ const { startPoint } = identifiers;
88
+ return `On considère un réel $a$, dont le point-image est $${startPoint}$ sur le cercle trigonométrique ci-dessous.
89
+
90
+ Quel est le point-image de $${getAssociateAngle(identifiers).toTex()}$ ?
91
+
92
+ ![](https://heureuxhasarddocsbucket.s3.eu-west-3.amazonaws.com/mathliveV2/activities/quizzes/generator/piCircleBy12.png)`;
93
+ };
94
+ const getHint = (identifiers) => {
95
+ const { associateType } = identifiers;
96
+ switch (associateType) {
97
+ case 0:
98
+ return `Sur le cercle trigonométrique, le point image de $-a$ est le symétrique du point image de $a$ par rapport à l'axe des abscisses.`;
99
+ case 1:
100
+ return `Sur le cercle trigonométrique, le point image de $\\pi+a$ est le symétrique du point image de $a$ par rapport à l'origine du repère.`;
101
+ case 2:
102
+ default:
103
+ return `Sur le cercle trigonométrique, le point image de $\\pi-a$ est le symétrique du point image de $a$ par rapport à l'axe des ordonnées.`;
104
+ }
105
+ };
106
+ const getCorrection = (identifiers) => {
107
+ const { associateType } = identifiers;
108
+ switch (associateType) {
109
+ case 0:
110
+ return `Sur le cercle trigonométrique, le point image de $-a$ est le symétrique du point image de $a$ par rapport à l'axe des abscisses.
111
+
112
+ Le point-image associé à l'angle $${getAssociateAngle(identifiers).toTex()}$ est donc $${getAnswer(identifiers)}$.`;
113
+ case 1:
114
+ return `Sur le cercle trigonométrique, le point image de $\\pi+a$ est le symétrique du point image de $a$ par rapport à l'origine du repère.
115
+
116
+ Le point-image associé à l'angle $${getAssociateAngle(identifiers).toTex()}$ est donc $${getAnswer(identifiers)}$.`;
117
+ case 2:
118
+ default:
119
+ return `Sur le cercle trigonométrique, le point image de $\\pi-a$ est le symétrique du point image de $a$ par rapport à l'axe des ordonnées.
120
+
121
+ Le point-image associé à l'angle $${getAssociateAngle(identifiers).toTex()}$ est donc $${getAnswer(identifiers)}$.`;
122
+ }
123
+ };
124
+ const getFindAssociateAnglePointOnTrigoCircleQuestion = () => {
125
+ const startPoint = doWhile(() => random(points), (p) => ["I", "J", "M", "T"].includes(p));
126
+ const identifiers = {
127
+ associateType: randint(0, 3),
128
+ startPoint,
129
+ };
130
+ return getQuestionFromIdentifiers(identifiers);
131
+ };
132
+ const getQuestionFromIdentifiers = (identifiers) => {
133
+ return {
134
+ answer: getAnswer(identifiers),
135
+ instruction: getInstruction(identifiers),
136
+ answerFormat: "tex",
137
+ identifiers,
138
+ hint: getHint(identifiers),
139
+ correction: getCorrection(identifiers),
140
+ };
141
+ };
142
+ export const findAssociateAnglePointOnTrigoCircle = {
143
+ id: "findAssociateAnglePointOnTrigoCircle",
144
+ label: "Repérer le point-image d'un angle associé à un autre sur le cercle trigonométrique",
145
+ isSingleStep: true,
146
+ generator: (nb, opts) => getDistinctQuestions(() => getFindAssociateAnglePointOnTrigoCircleQuestion(opts), nb),
147
+ qcmTimer: 60,
148
+ freeTimer: 60,
149
+ getPropositions,
150
+ subject: "Mathématiques",
151
+ getInstruction,
152
+ getHint,
153
+ getCorrection,
154
+ getAnswer,
155
+ getQuestionFromIdentifiers,
156
+ hasHintAndCorrection: true,
157
+ answerType: "QCU",
158
+ };
@@ -4,4 +4,6 @@ export * from "./mainRemarkableValues.js";
4
4
  export * from "./remarkableValues.js";
5
5
  export * from "./areReelsOnTheSameTrigoCirclePoint.js";
6
6
  export * from "./associateReelToTrigoCirclePoint.js";
7
+ export * from "./placeAssociateAngleOnCircle.js";
8
+ export * from "./findAssociateAnglePointOnTrigoCircle.js";
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/trigonometry/circle/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/trigonometry/circle/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AAErD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2CAA2C,CAAC"}
@@ -5,3 +5,5 @@ export * from "./remarkableValues.js";
5
5
  export * from "./areReelsOnTheSameTrigoCirclePoint.js";
6
6
  export * from "./associateReelToTrigoCirclePoint.js";
7
7
  // export * from "./findAngleFromCosAndSin.js";
8
+ export * from "./placeAssociateAngleOnCircle.js";
9
+ export * from "./findAssociateAnglePointOnTrigoCircle.js";
@@ -1 +1 @@
1
- {"version":3,"file":"mainAngleMeasure.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/trigonometry/circle/mainAngleMeasure.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAQ7C,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAgGF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAclD,CAAC"}
1
+ {"version":3,"file":"mainAngleMeasure.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/trigonometry/circle/mainAngleMeasure.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAQ7C,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAkGF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAelD,CAAC"}
@@ -1,4 +1,7 @@
1
- import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp,
2
+ // GetCorrection,
3
+ // GetHint,
4
+ } from "../../../../exercises/exercise.js";
2
5
  import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
6
  import { mainTrigoValues, } from "../../../../math/trigonometry/remarkableValues.js";
4
7
  import { randint } from "../../../../math/utils/random/randint.js";
@@ -43,9 +46,10 @@ $$
43
46
  };
44
47
  // const getHint: GetHint<Identifiers> = (identifiers) => {
45
48
  // const angle = NodeConstructor.fromIdentifiers(identifiers.nodeIds);
46
- // return `La mesure principale d'un angle en radian est sa valeur appartenant à l'intervalle $]-\\pi; \\pi]$. Il faut donc ajouter (ou retirer) $2\\pi$ à $${angle.toTex()}$ jusqu'à ce que le résultat soit dans cet intervalle.`;
49
+ // return `La mesure principale d'un angle en radian est sa valeur appartenant à l'intervalle $]-\\pi; \\pi]$.
50
+ // Il faut donc ajouter (ou retirer) $2\\pi$ à $${angle.toTex()}$ jusqu'à ce que le résultat soit dans cet intervalle.`;
47
51
  // };
48
- // const getCorrection: GetCorrection<Identifiers> = (identifiers) => {
52
+ // const getCorrection: GetCorrection<Identifiers> = () => {
49
53
  // return `a`;
50
54
  // };
51
55
  const getKeys = () => {
@@ -97,4 +101,5 @@ export const mainAngleMeasure = {
97
101
  isAnswerValid,
98
102
  subject: "Mathématiques",
99
103
  getQuestionFromIdentifiers,
104
+ // hasHintAndCorrection: true,
100
105
  };
@@ -0,0 +1,8 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ degree: number;
4
+ associateType: number;
5
+ };
6
+ export declare const placeAssociateAngleOnCircle: Exercise<Identifiers>;
7
+ export {};
8
+ //# sourceMappingURL=placeAssociateAngleOnCircle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeAssociateAngleOnCircle.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAerC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AA4LF,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,WAAW,CAqB7D,CAAC"}