math-exercises 1.3.12 → 1.3.14

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 (254) hide show
  1. package/README.md +73 -73
  2. package/lib/exercises/calcul/addAndSub.d.ts +6 -6
  3. package/lib/exercises/calcul/addAndSub.js +39 -39
  4. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +3 -3
  5. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +35 -35
  6. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +3 -3
  7. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +32 -32
  8. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +3 -3
  9. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +32 -32
  10. package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +3 -3
  11. package/lib/exercises/calcul/fractions/fractionsDivision.js +29 -29
  12. package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +3 -3
  13. package/lib/exercises/calcul/fractions/fractionsProduct.js +28 -28
  14. package/lib/exercises/calcul/fractions/fractionsSum.d.ts +3 -3
  15. package/lib/exercises/calcul/fractions/fractionsSum.js +28 -28
  16. package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +3 -3
  17. package/lib/exercises/calcul/fractions/simplifyFraction.js +24 -24
  18. package/lib/exercises/calcul/operations/operationsPriorities.d.ts +10 -10
  19. package/lib/exercises/calcul/operations/operationsPriorities.js +98 -98
  20. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +111 -111
  21. package/lib/exercises/calcul/operationsPriorities.js +88 -88
  22. package/lib/exercises/calcul/rounding/rounding.d.ts +19 -19
  23. package/lib/exercises/calcul/rounding/rounding.js +85 -85
  24. package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +3 -3
  25. package/lib/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
  26. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +3 -3
  27. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +30 -30
  28. package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +3 -3
  29. package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +31 -31
  30. package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +3 -3
  31. package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +32 -32
  32. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +3 -3
  33. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +32 -32
  34. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +3 -3
  35. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +31 -31
  36. package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +6 -6
  37. package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +37 -37
  38. package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +6 -6
  39. package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +40 -40
  40. package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +6 -6
  41. package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +41 -41
  42. package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +6 -6
  43. package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +43 -43
  44. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts +3 -3
  45. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +32 -32
  46. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts +3 -3
  47. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +33 -33
  48. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts +3 -3
  49. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +32 -32
  50. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +6 -6
  51. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +38 -38
  52. package/lib/exercises/derivation/derivative/affineDerivative.d.ts +4 -0
  53. package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +1 -0
  54. package/lib/exercises/derivation/derivative/affineDerivative.js +27 -0
  55. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts +1 -0
  56. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts.map +1 -0
  57. package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +28 -0
  58. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +1 -0
  59. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +1 -0
  60. package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +1 -0
  61. package/lib/exercises/exercise.d.ts +16 -16
  62. package/lib/exercises/exercise.js +7 -7
  63. package/lib/exercises/exercises.d.ts +1 -1
  64. package/lib/exercises/exercises.js +113 -113
  65. package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
  66. package/lib/exercises/geometry/cartesian/midpoint.js +29 -29
  67. package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
  68. package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +28 -28
  69. package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
  70. package/lib/exercises/powers/powersDivision.d.ts +7 -7
  71. package/lib/exercises/powers/powersDivision.js +44 -44
  72. package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
  73. package/lib/exercises/powers/powersOfTenToDecimal.js +32 -32
  74. package/lib/exercises/powers/powersPower.d.ts +7 -7
  75. package/lib/exercises/powers/powersPower.js +43 -43
  76. package/lib/exercises/powers/powersProduct.d.ts +7 -7
  77. package/lib/exercises/powers/powersProduct.js +44 -44
  78. package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
  79. package/lib/exercises/powers/scientificToDecimal.js +37 -37
  80. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
  81. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +34 -34
  82. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
  83. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +33 -33
  84. package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
  85. package/lib/exercises/sequences/geometric/geometricFindReason.js +29 -29
  86. package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
  87. package/lib/exercises/sequences/geometric/geometricReasonUsage.js +28 -28
  88. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
  89. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +28 -28
  90. package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
  91. package/lib/exercises/squareRoots/simpifySquareRoot.js +27 -27
  92. package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
  93. package/lib/exercises/trigonometry/mainRemarkableValues.js +28 -28
  94. package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
  95. package/lib/exercises/trigonometry/remarkableValues.js +28 -28
  96. package/lib/exercises/utils/getDistinctQuestions.d.ts +2 -2
  97. package/lib/exercises/utils/getDistinctQuestions.js +15 -15
  98. package/lib/geometry/point.js +27 -27
  99. package/lib/geometry/vector.js +31 -31
  100. package/lib/index.d.ts +3 -2
  101. package/lib/index.d.ts.map +1 -1
  102. package/lib/index.js +39 -6
  103. package/lib/math/geometry/point.d.ts +12 -12
  104. package/lib/math/geometry/point.js +27 -27
  105. package/lib/math/geometry/vector.d.ts +15 -15
  106. package/lib/math/geometry/vector.js +31 -31
  107. package/lib/math/numbers/decimals/decimal.d.ts +24 -24
  108. package/lib/math/numbers/decimals/decimal.js +140 -140
  109. package/lib/math/numbers/epsilon.d.ts +1 -1
  110. package/lib/math/numbers/epsilon.js +10 -10
  111. package/lib/math/numbers/integer/integer.d.ts +14 -14
  112. package/lib/math/numbers/integer/integer.js +68 -68
  113. package/lib/math/numbers/integer/power.d.ts +13 -13
  114. package/lib/math/numbers/integer/power.js +52 -52
  115. package/lib/math/numbers/nombre.d.ts +13 -13
  116. package/lib/math/numbers/nombre.js +10 -10
  117. package/lib/math/numbers/rationals/rational.d.ts +25 -25
  118. package/lib/math/numbers/rationals/rational.js +113 -113
  119. package/lib/math/numbers/reals/real.d.ts +9 -9
  120. package/lib/math/numbers/reals/real.js +16 -16
  121. package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
  122. package/lib/math/numbers/reals/squareRoot.js +63 -63
  123. package/lib/math/polynomials/affine.d.ts +15 -15
  124. package/lib/math/polynomials/affine.js +42 -42
  125. package/lib/math/polynomials/polynomial.d.ts +25 -24
  126. package/lib/math/polynomials/polynomial.d.ts.map +1 -1
  127. package/lib/math/polynomials/polynomial.js +129 -125
  128. package/lib/math/sequences/arithmeticSequence.js +1 -1
  129. package/lib/math/sequences/geometricSequence.d.ts +3 -3
  130. package/lib/math/sequences/geometricSequence.js +8 -8
  131. package/lib/math/sequences/sequence.d.ts +22 -22
  132. package/lib/math/sequences/sequence.js +21 -21
  133. package/lib/math/sets/discreteSet.d.ts +10 -10
  134. package/lib/math/sets/discreteSet.js +28 -28
  135. package/lib/math/sets/emptySet.js +6 -6
  136. package/lib/math/sets/intervals/intervals.d.ts +26 -26
  137. package/lib/math/sets/intervals/intervals.js +104 -104
  138. package/lib/math/sets/mathSet.d.ts +7 -7
  139. package/lib/math/sets/mathSet.js +10 -10
  140. package/lib/math/sets/mathSetInterface.d.ts +5 -5
  141. package/lib/math/sets/mathSetInterface.js +2 -2
  142. package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
  143. package/lib/math/trigonometry/remarkableValue.js +29 -29
  144. package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
  145. package/lib/math/trigonometry/remarkableValues.js +51 -51
  146. package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
  147. package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
  148. package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
  149. package/lib/math/utils/arithmetic/dividersOf.js +12 -12
  150. package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
  151. package/lib/math/utils/arithmetic/gcd.js +7 -7
  152. package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
  153. package/lib/math/utils/arithmetic/isSquare.js +7 -7
  154. package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
  155. package/lib/math/utils/arithmetic/lcd.js +12 -12
  156. package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
  157. package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
  158. package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
  159. package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
  160. package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
  161. package/lib/math/utils/arithmetic/primeFactors.js +22 -22
  162. package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
  163. package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
  164. package/lib/math/utils/random/randTupleInt.d.ts +13 -13
  165. package/lib/math/utils/random/randTupleInt.js +30 -30
  166. package/lib/math/utils/random/randint.d.ts +4 -4
  167. package/lib/math/utils/random/randint.js +18 -18
  168. package/lib/math/utils/round.d.ts +1 -1
  169. package/lib/math/utils/round.js +8 -8
  170. package/lib/mathutils/arithmetic/coprimesOf.js +13 -13
  171. package/lib/mathutils/arithmetic/dividersOf.js +12 -12
  172. package/lib/mathutils/arithmetic/gcd.js +7 -7
  173. package/lib/mathutils/arithmetic/isSquare.js +7 -7
  174. package/lib/mathutils/arithmetic/lcd.js +12 -12
  175. package/lib/mathutils/arithmetic/nonCoprimesOf.js +13 -13
  176. package/lib/mathutils/arithmetic/nonDividersOf.js +14 -14
  177. package/lib/mathutils/arithmetic/primeFactors.js +22 -22
  178. package/lib/mathutils/decimals/decimalPartLengthOf.js +14 -14
  179. package/lib/mathutils/random/randTupleInt.js +30 -30
  180. package/lib/mathutils/random/randint.js +18 -18
  181. package/lib/mathutils/round.js +8 -8
  182. package/lib/numbers/decimals/decimal.js +140 -140
  183. package/lib/numbers/epsilon.js +10 -10
  184. package/lib/numbers/integer/integer.js +68 -68
  185. package/lib/numbers/integer/power.js +52 -52
  186. package/lib/numbers/nombre.js +10 -10
  187. package/lib/numbers/rationals/rational.js +113 -113
  188. package/lib/numbers/reals/real.js +16 -16
  189. package/lib/numbers/reals/squareRoot.js +63 -63
  190. package/lib/polynomials/affine.js +42 -42
  191. package/lib/polynomials/polynomial.js +125 -125
  192. package/lib/server.d.ts +2 -0
  193. package/lib/server.d.ts.map +1 -0
  194. package/lib/server.js +33 -0
  195. package/lib/sets/discreteSet.js +28 -28
  196. package/lib/sets/emptySet.js +6 -6
  197. package/lib/sets/intervals/intervals.js +108 -104
  198. package/lib/sets/intervals/union.js +1 -1
  199. package/lib/sets/mathSet.js +10 -10
  200. package/lib/sets/mathSetInterface.js +2 -2
  201. package/lib/tree/nodes/functions/cosNode.d.ts +9 -9
  202. package/lib/tree/nodes/functions/cosNode.js +21 -21
  203. package/lib/tree/nodes/functions/functionNode.d.ts +14 -14
  204. package/lib/tree/nodes/functions/functionNode.js +20 -20
  205. package/lib/tree/nodes/functions/oppositeNode.d.ts +7 -7
  206. package/lib/tree/nodes/functions/oppositeNode.js +26 -26
  207. package/lib/tree/nodes/functions/sinNode.js +1 -1
  208. package/lib/tree/nodes/functions/sqrtNode.d.ts +8 -8
  209. package/lib/tree/nodes/functions/sqrtNode.js +18 -18
  210. package/lib/tree/nodes/node.d.ts +12 -12
  211. package/lib/tree/nodes/node.js +11 -11
  212. package/lib/tree/nodes/numbers/constantNode.d.ts +9 -9
  213. package/lib/tree/nodes/numbers/constantNode.js +18 -18
  214. package/lib/tree/nodes/numbers/numberNode.d.ts +10 -10
  215. package/lib/tree/nodes/numbers/numberNode.js +19 -19
  216. package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
  217. package/lib/tree/nodes/numbers/piNode.js +5 -5
  218. package/lib/tree/nodes/operators/addNode.d.ts +7 -7
  219. package/lib/tree/nodes/operators/addNode.js +19 -19
  220. package/lib/tree/nodes/operators/divideNode.d.ts +11 -11
  221. package/lib/tree/nodes/operators/divideNode.js +34 -34
  222. package/lib/tree/nodes/operators/equalNode.d.ts +7 -7
  223. package/lib/tree/nodes/operators/equalNode.js +16 -16
  224. package/lib/tree/nodes/operators/fractionNode.d.ts +11 -11
  225. package/lib/tree/nodes/operators/fractionNode.js +20 -20
  226. package/lib/tree/nodes/operators/multiplyNode.d.ts +7 -7
  227. package/lib/tree/nodes/operators/multiplyNode.js +43 -43
  228. package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
  229. package/lib/tree/nodes/operators/operatorNode.js +35 -35
  230. package/lib/tree/nodes/operators/powerNode.d.ts +7 -7
  231. package/lib/tree/nodes/operators/powerNode.js +33 -33
  232. package/lib/tree/nodes/operators/substractNode.d.ts +7 -7
  233. package/lib/tree/nodes/operators/substractNode.js +24 -24
  234. package/lib/tree/nodes/variables/variableNode.d.ts +8 -8
  235. package/lib/tree/nodes/variables/variableNode.js +19 -19
  236. package/lib/tree/parsers/derivateParser.js +62 -62
  237. package/lib/tree/parsers/latexParser.js +110 -110
  238. package/lib/tree/parsers/simplify.d.ts +2 -2
  239. package/lib/tree/parsers/simplify.js +52 -52
  240. package/lib/utils/arrayEqual.d.ts +1 -1
  241. package/lib/utils/arrayEqual.js +13 -13
  242. package/lib/utils/coin.js +7 -7
  243. package/lib/utils/coinFlip.d.ts +1 -1
  244. package/lib/utils/coinFlip.js +7 -7
  245. package/lib/utils/random.d.ts +1 -1
  246. package/lib/utils/random.js +7 -7
  247. package/lib/utils/shuffle.d.ts +1 -1
  248. package/lib/utils/shuffle.js +15 -15
  249. package/package.json +50 -45
  250. package/lib/exercises/calculLitteral/factorisation/factoIdRmq.d.ts +0 -7
  251. package/lib/exercises/calculLitteral/factorisation/factoIdRmq.d.ts.map +0 -1
  252. package/lib/exercises/calculLitteral/factorisation/factoIdRmq.js +0 -38
  253. package/lib/trigonometry/remarkableValue.js +0 -29
  254. package/lib/trigonometry/remarkableValues.js +0 -51
@@ -1,88 +1,88 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPriorityQuestions = exports.operationsPriorities = void 0;
4
- const randint_1 = require("../../mathutils/random/randint");
5
- const latexParser_1 = require("../../tree/parsers/latexParser");
6
- const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
7
- const addNode_1 = require("../../tree/nodes/operators/addNode");
8
- const divideNode_1 = require("../../tree/nodes/operators/divideNode");
9
- const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
10
- const coin_1 = require("../../utils/coin");
11
- const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
12
- /**
13
- * a*b ±c±d
14
- * a/b ±c±d
15
- * a*b*c ± d
16
- * a*b±c*d
17
- * a/b ± c*d
18
- */
19
- exports.operationsPriorities = {
20
- id: "operationsPriorities",
21
- connector: "=",
22
- instruction: "Calculer :",
23
- label: "Priorités opératoires",
24
- levels: ["6", "5", "4"],
25
- section: "Calculs",
26
- isSingleStep: true,
27
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getPriorityQuestions, nb),
28
- };
29
- function getPriorityQuestions() {
30
- const type = (0, randint_1.randint)(1, 6);
31
- let statement;
32
- let answer = "";
33
- let a, b, c, d;
34
- switch (type) {
35
- case 1: // a*b ±c±d
36
- [c, d] = [1, 2, 3, 4].map((el) => (0, randint_1.randint)(-10, 11, [0]));
37
- [a, b] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11));
38
- statement = (0, coin_1.coin)()
39
- ? //a*b first ou last
40
- new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new addNode_1.AddNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d))).shuffle()
41
- : //a*b middle
42
- new addNode_1.AddNode(new addNode_1.AddNode(new numberNode_1.NumberNode(c), new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b))), new numberNode_1.NumberNode(d));
43
- answer = (a * b + c + d).toString();
44
- break;
45
- case 2: // a/b ±c±d
46
- [b, c, d] = [1, 2, 3].map((el) => (0, randint_1.randint)(-10, 11, [0]));
47
- a = b * (0, randint_1.randint)(0, 11);
48
- statement = (0, coin_1.coin)()
49
- ? //a/b first ou last
50
- new addNode_1.AddNode(new divideNode_1.DivideNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new addNode_1.AddNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d))).shuffle()
51
- : //a/b middle
52
- new addNode_1.AddNode(new addNode_1.AddNode(new numberNode_1.NumberNode(c), new divideNode_1.DivideNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b))), new numberNode_1.NumberNode(d));
53
- answer = (a / b + c + d).toString();
54
- break;
55
- case 3: // a*b ± c*d
56
- [a, b, c, d] = [1, 2, 3, 4].map((el) => (0, randint_1.randint)(-10, 11));
57
- statement = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d)));
58
- answer = (a * b + c * d).toString();
59
- break;
60
- case 4: // a*b ± c/d
61
- [a, b] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11));
62
- d = (0, randint_1.randint)(-10, 11, [0]);
63
- c = d * (0, randint_1.randint)(0, 11);
64
- statement = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new divideNode_1.DivideNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d))).shuffle();
65
- answer = (a * b + c / d).toString();
66
- break;
67
- case 5: // a/b ± c/d
68
- [b, d] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11, [0]));
69
- a = b * (0, randint_1.randint)(0, 11);
70
- c = d * (0, randint_1.randint)(0, 11);
71
- statement = new addNode_1.AddNode(new divideNode_1.DivideNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new divideNode_1.DivideNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d)));
72
- answer = (a / b + c / d).toString();
73
- break;
74
- case 5: // a*b*c ± d
75
- [b, d] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11, [0]));
76
- a = b * (0, randint_1.randint)(0, 11);
77
- c = d * (0, randint_1.randint)(0, 11);
78
- statement = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new numberNode_1.NumberNode(c)), new numberNode_1.NumberNode(d)).shuffle();
79
- answer = (a * b * c + d).toString();
80
- break;
81
- }
82
- const question = {
83
- startStatement: (0, latexParser_1.latexParser)(statement),
84
- answer: answer,
85
- };
86
- return question;
87
- }
88
- exports.getPriorityQuestions = getPriorityQuestions;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPriorityQuestions = exports.operationsPriorities = void 0;
4
+ const randint_1 = require("../../mathutils/random/randint");
5
+ const latexParser_1 = require("../../tree/parsers/latexParser");
6
+ const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
7
+ const addNode_1 = require("../../tree/nodes/operators/addNode");
8
+ const divideNode_1 = require("../../tree/nodes/operators/divideNode");
9
+ const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
10
+ const coin_1 = require("../../utils/coin");
11
+ const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
12
+ /**
13
+ * a*b ±c±d
14
+ * a/b ±c±d
15
+ * a*b*c ± d
16
+ * a*b±c*d
17
+ * a/b ± c*d
18
+ */
19
+ exports.operationsPriorities = {
20
+ id: "operationsPriorities",
21
+ connector: "=",
22
+ instruction: "Calculer :",
23
+ label: "Priorités opératoires",
24
+ levels: ["6", "5", "4"],
25
+ section: "Calculs",
26
+ isSingleStep: true,
27
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getPriorityQuestions, nb),
28
+ };
29
+ function getPriorityQuestions() {
30
+ const type = (0, randint_1.randint)(1, 6);
31
+ let statement;
32
+ let answer = "";
33
+ let a, b, c, d;
34
+ switch (type) {
35
+ case 1: // a*b ±c±d
36
+ [c, d] = [1, 2, 3, 4].map((el) => (0, randint_1.randint)(-10, 11, [0]));
37
+ [a, b] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11));
38
+ statement = (0, coin_1.coin)()
39
+ ? //a*b first ou last
40
+ new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new addNode_1.AddNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d))).shuffle()
41
+ : //a*b middle
42
+ new addNode_1.AddNode(new addNode_1.AddNode(new numberNode_1.NumberNode(c), new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b))), new numberNode_1.NumberNode(d));
43
+ answer = (a * b + c + d).toString();
44
+ break;
45
+ case 2: // a/b ±c±d
46
+ [b, c, d] = [1, 2, 3].map((el) => (0, randint_1.randint)(-10, 11, [0]));
47
+ a = b * (0, randint_1.randint)(0, 11);
48
+ statement = (0, coin_1.coin)()
49
+ ? //a/b first ou last
50
+ new addNode_1.AddNode(new divideNode_1.DivideNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new addNode_1.AddNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d))).shuffle()
51
+ : //a/b middle
52
+ new addNode_1.AddNode(new addNode_1.AddNode(new numberNode_1.NumberNode(c), new divideNode_1.DivideNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b))), new numberNode_1.NumberNode(d));
53
+ answer = (a / b + c + d).toString();
54
+ break;
55
+ case 3: // a*b ± c*d
56
+ [a, b, c, d] = [1, 2, 3, 4].map((el) => (0, randint_1.randint)(-10, 11));
57
+ statement = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d)));
58
+ answer = (a * b + c * d).toString();
59
+ break;
60
+ case 4: // a*b ± c/d
61
+ [a, b] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11));
62
+ d = (0, randint_1.randint)(-10, 11, [0]);
63
+ c = d * (0, randint_1.randint)(0, 11);
64
+ statement = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new divideNode_1.DivideNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d))).shuffle();
65
+ answer = (a * b + c / d).toString();
66
+ break;
67
+ case 5: // a/b ± c/d
68
+ [b, d] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11, [0]));
69
+ a = b * (0, randint_1.randint)(0, 11);
70
+ c = d * (0, randint_1.randint)(0, 11);
71
+ statement = new addNode_1.AddNode(new divideNode_1.DivideNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new divideNode_1.DivideNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d)));
72
+ answer = (a / b + c / d).toString();
73
+ break;
74
+ case 5: // a*b*c ± d
75
+ [b, d] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11, [0]));
76
+ a = b * (0, randint_1.randint)(0, 11);
77
+ c = d * (0, randint_1.randint)(0, 11);
78
+ statement = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new numberNode_1.NumberNode(c)), new numberNode_1.NumberNode(d)).shuffle();
79
+ answer = (a * b * c + d).toString();
80
+ break;
81
+ }
82
+ const question = {
83
+ startStatement: (0, latexParser_1.latexParser)(statement),
84
+ answer: answer,
85
+ };
86
+ return question;
87
+ }
88
+ exports.getPriorityQuestions = getPriorityQuestions;
@@ -1,20 +1,20 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- /**
3
- * arrondi à l'unité
4
- */
5
- export declare const roundToUnit: Exercise;
6
- /**
7
- * arrondi à l'unité
8
- */
9
- export declare const roundToDixieme: Exercise;
10
- /**
11
- * arrondi à l'unité
12
- */
13
- export declare const roundToCentieme: Exercise;
14
- /**
15
- * arrondi à l'unité
16
- */
17
- export declare const roundToMillieme: Exercise;
18
- export declare const allRoundings: Exercise;
19
- export declare function getRoundQuestions(precisionAsked?: number): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ /**
3
+ * arrondi à l'unité
4
+ */
5
+ export declare const roundToUnit: Exercise;
6
+ /**
7
+ * arrondi à l'unité
8
+ */
9
+ export declare const roundToDixieme: Exercise;
10
+ /**
11
+ * arrondi à l'unité
12
+ */
13
+ export declare const roundToCentieme: Exercise;
14
+ /**
15
+ * arrondi à l'unité
16
+ */
17
+ export declare const roundToMillieme: Exercise;
18
+ export declare const allRoundings: Exercise;
19
+ export declare function getRoundQuestions(precisionAsked?: number): Question;
20
20
  //# sourceMappingURL=rounding.d.ts.map
@@ -1,85 +1,85 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRoundQuestions = exports.allRoundings = exports.roundToMillieme = exports.roundToCentieme = exports.roundToDixieme = exports.roundToUnit = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const decimal_1 = require("../../../math/numbers/decimals/decimal");
6
- const randint_1 = require("../../../math/utils/random/randint");
7
- /**
8
- * arrondi à l'unité
9
- */
10
- exports.roundToUnit = {
11
- id: 'roundToUnit',
12
- connector: '\\approx',
13
- instruction: "Arrondir à l'unité :",
14
- label: "Arrondir à l'unité",
15
- levels: ['6', '5'],
16
- section: 'Calculs',
17
- isSingleStep: true,
18
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(() => getRoundQuestions(0), nb),
19
- };
20
- /**
21
- * arrondi à l'unité
22
- */
23
- exports.roundToDixieme = {
24
- id: 'roundToDixieme',
25
- connector: '\\approx',
26
- instruction: 'Arrondir au dixième :',
27
- label: 'Arrondir au dixième',
28
- levels: ['6', '5'],
29
- section: 'Calculs',
30
- isSingleStep: true,
31
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(() => getRoundQuestions(1), nb),
32
- };
33
- /**
34
- * arrondi à l'unité
35
- */
36
- exports.roundToCentieme = {
37
- id: 'roundToCentieme',
38
- connector: '\\approx',
39
- instruction: 'Arrondir au centième :',
40
- label: 'Arrondir au centième',
41
- levels: ['6', '5'],
42
- section: 'Calculs',
43
- isSingleStep: true,
44
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(() => getRoundQuestions(2), nb),
45
- };
46
- /**
47
- * arrondi à l'unité
48
- */
49
- exports.roundToMillieme = {
50
- id: 'roundToMillieme',
51
- connector: '\\approx',
52
- instruction: 'Arrondir au millième :',
53
- label: 'Arrondir au millième',
54
- levels: ['6', '5'],
55
- section: 'Calculs',
56
- isSingleStep: true,
57
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(() => getRoundQuestions(3), nb),
58
- };
59
- exports.allRoundings = {
60
- id: 'allRoundings',
61
- connector: '\\approx',
62
- instruction: '',
63
- label: 'Arrondir un nombre décimal',
64
- levels: ['6', '5'],
65
- section: 'Calculs',
66
- isSingleStep: true,
67
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(() => getRoundQuestions((0, randint_1.randint)(0, 4)), nb),
68
- };
69
- const instructions = [
70
- "Arrondir à l'unité :",
71
- 'Arrondir au dixième :',
72
- 'Arrondir au centième :',
73
- 'Arrondir au millième :',
74
- ];
75
- function getRoundQuestions(precisionAsked = 0) {
76
- const precision = (0, randint_1.randint)(precisionAsked + 1, precisionAsked + 5);
77
- const dec = decimal_1.DecimalConstructor.random(0, 1000, precision);
78
- const question = {
79
- instruction: instructions[precisionAsked],
80
- startStatement: dec.toTree().toTex(),
81
- answer: dec.round(precisionAsked).toTree().toTex(),
82
- };
83
- return question;
84
- }
85
- exports.getRoundQuestions = getRoundQuestions;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRoundQuestions = exports.allRoundings = exports.roundToMillieme = exports.roundToCentieme = exports.roundToDixieme = exports.roundToUnit = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const decimal_1 = require("../../../math/numbers/decimals/decimal");
6
+ const randint_1 = require("../../../math/utils/random/randint");
7
+ /**
8
+ * arrondi à l'unité
9
+ */
10
+ exports.roundToUnit = {
11
+ id: 'roundToUnit',
12
+ connector: '\\approx',
13
+ instruction: "Arrondir à l'unité :",
14
+ label: "Arrondir à l'unité",
15
+ levels: ['6', '5'],
16
+ section: 'Calculs',
17
+ isSingleStep: true,
18
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(() => getRoundQuestions(0), nb),
19
+ };
20
+ /**
21
+ * arrondi à l'unité
22
+ */
23
+ exports.roundToDixieme = {
24
+ id: 'roundToDixieme',
25
+ connector: '\\approx',
26
+ instruction: 'Arrondir au dixième :',
27
+ label: 'Arrondir au dixième',
28
+ levels: ['6', '5'],
29
+ section: 'Calculs',
30
+ isSingleStep: true,
31
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(() => getRoundQuestions(1), nb),
32
+ };
33
+ /**
34
+ * arrondi à l'unité
35
+ */
36
+ exports.roundToCentieme = {
37
+ id: 'roundToCentieme',
38
+ connector: '\\approx',
39
+ instruction: 'Arrondir au centième :',
40
+ label: 'Arrondir au centième',
41
+ levels: ['6', '5'],
42
+ section: 'Calculs',
43
+ isSingleStep: true,
44
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(() => getRoundQuestions(2), nb),
45
+ };
46
+ /**
47
+ * arrondi à l'unité
48
+ */
49
+ exports.roundToMillieme = {
50
+ id: 'roundToMillieme',
51
+ connector: '\\approx',
52
+ instruction: 'Arrondir au millième :',
53
+ label: 'Arrondir au millième',
54
+ levels: ['6', '5'],
55
+ section: 'Calculs',
56
+ isSingleStep: true,
57
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(() => getRoundQuestions(3), nb),
58
+ };
59
+ exports.allRoundings = {
60
+ id: 'allRoundings',
61
+ connector: '\\approx',
62
+ instruction: '',
63
+ label: 'Arrondir un nombre décimal',
64
+ levels: ['6', '5'],
65
+ section: 'Calculs',
66
+ isSingleStep: true,
67
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(() => getRoundQuestions((0, randint_1.randint)(0, 4)), nb),
68
+ };
69
+ const instructions = [
70
+ "Arrondir à l'unité :",
71
+ 'Arrondir au dixième :',
72
+ 'Arrondir au centième :',
73
+ 'Arrondir au millième :',
74
+ ];
75
+ function getRoundQuestions(precisionAsked = 0) {
76
+ const precision = (0, randint_1.randint)(precisionAsked + 1, precisionAsked + 5);
77
+ const dec = decimal_1.DecimalConstructor.random(0, 1000, precision);
78
+ const question = {
79
+ instruction: instructions[precisionAsked],
80
+ startStatement: dec.toTree().toTex(),
81
+ answer: dec.round(precisionAsked).toTree().toTex(),
82
+ };
83
+ return question;
84
+ }
85
+ exports.getRoundQuestions = getRoundQuestions;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- export declare const allIdentities: Exercise;
3
- export declare function getAllIdentitiesQuestion(): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const allIdentities: Exercise;
3
+ export declare function getAllIdentitiesQuestion(): Question;
4
4
  //# sourceMappingURL=allIdentities.d.ts.map
@@ -1,27 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAllIdentitiesQuestion = exports.allIdentities = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const random_1 = require("../../../utils/random");
6
- const firstIdentity_1 = require("./firstIdentity");
7
- const secondIdentity_1 = require("./secondIdentity");
8
- const thirdIdentity_1 = require("./thirdIdentity");
9
- exports.allIdentities = {
10
- id: 'allIdRmq',
11
- connector: '=',
12
- instruction: 'Développer et réduire :',
13
- label: 'Identités remarquables (toutes)',
14
- levels: ['3', '2'],
15
- isSingleStep: false,
16
- section: 'Calcul littéral',
17
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getAllIdentitiesQuestion, nb),
18
- };
19
- function getAllIdentitiesQuestion() {
20
- const rand = (0, random_1.random)([1, 2, 3]);
21
- return rand === 1
22
- ? (0, firstIdentity_1.getFirstIdentityQuestion)()
23
- : rand === 2
24
- ? (0, secondIdentity_1.getSecondIdentityQuestion)()
25
- : (0, thirdIdentity_1.getThirdIdentityQuestion)();
26
- }
27
- exports.getAllIdentitiesQuestion = getAllIdentitiesQuestion;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAllIdentitiesQuestion = exports.allIdentities = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const random_1 = require("../../../utils/random");
6
+ const firstIdentity_1 = require("./firstIdentity");
7
+ const secondIdentity_1 = require("./secondIdentity");
8
+ const thirdIdentity_1 = require("./thirdIdentity");
9
+ exports.allIdentities = {
10
+ id: 'allIdRmq',
11
+ connector: '=',
12
+ instruction: 'Développer et réduire :',
13
+ label: 'Identités remarquables (toutes)',
14
+ levels: ['3', '2'],
15
+ isSingleStep: false,
16
+ section: 'Calcul littéral',
17
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getAllIdentitiesQuestion, nb),
18
+ };
19
+ function getAllIdentitiesQuestion() {
20
+ const rand = (0, random_1.random)([1, 2, 3]);
21
+ return rand === 1
22
+ ? (0, firstIdentity_1.getFirstIdentityQuestion)()
23
+ : rand === 2
24
+ ? (0, secondIdentity_1.getSecondIdentityQuestion)()
25
+ : (0, thirdIdentity_1.getThirdIdentityQuestion)();
26
+ }
27
+ exports.getAllIdentitiesQuestion = getAllIdentitiesQuestion;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- export declare const doubleDistributivity: Exercise;
3
- export declare function getDoubleDistributivityQuestion(): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const doubleDistributivity: Exercise;
3
+ export declare function getDoubleDistributivityQuestion(): Question;
4
4
  //# sourceMappingURL=doubleDistributivity.d.ts.map
@@ -1,30 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDoubleDistributivityQuestion = exports.doubleDistributivity = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const integer_1 = require("../../../math/numbers/integer/integer");
6
- const affine_1 = require("../../../math/polynomials/affine");
7
- const discreteSet_1 = require("../../../math/sets/discreteSet");
8
- const intervals_1 = require("../../../math/sets/intervals/intervals");
9
- const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
10
- exports.doubleDistributivity = {
11
- id: 'doubleDistri',
12
- connector: '=',
13
- instruction: 'Développer et réduire :',
14
- label: 'Distributivité double',
15
- levels: ['3', '2'],
16
- isSingleStep: false,
17
- section: 'Calcul littéral',
18
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getDoubleDistributivityQuestion, nb),
19
- };
20
- function getDoubleDistributivityQuestion() {
21
- const interval = new intervals_1.Interval('[[-10; 10]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
22
- const affines = affine_1.AffineConstructor.differentRandoms(2, interval, interval);
23
- const statementTree = new multiplyNode_1.MultiplyNode(affines[0].toTree(), affines[1].toTree());
24
- const answerTree = affines[0].multiply(affines[1]).toTree();
25
- return {
26
- startStatement: statementTree.toTex(),
27
- answer: answerTree.toTex(),
28
- };
29
- }
30
- exports.getDoubleDistributivityQuestion = getDoubleDistributivityQuestion;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDoubleDistributivityQuestion = exports.doubleDistributivity = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const integer_1 = require("../../../math/numbers/integer/integer");
6
+ const affine_1 = require("../../../math/polynomials/affine");
7
+ const discreteSet_1 = require("../../../math/sets/discreteSet");
8
+ const intervals_1 = require("../../../math/sets/intervals/intervals");
9
+ const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
10
+ exports.doubleDistributivity = {
11
+ id: 'doubleDistri',
12
+ connector: '=',
13
+ instruction: 'Développer et réduire :',
14
+ label: 'Distributivité double',
15
+ levels: ['3', '2'],
16
+ isSingleStep: false,
17
+ section: 'Calcul littéral',
18
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getDoubleDistributivityQuestion, nb),
19
+ };
20
+ function getDoubleDistributivityQuestion() {
21
+ const interval = new intervals_1.Interval('[[-10; 10]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
22
+ const affines = affine_1.AffineConstructor.differentRandoms(2, interval, interval);
23
+ const statementTree = new multiplyNode_1.MultiplyNode(affines[0].toTree(), affines[1].toTree());
24
+ const answerTree = affines[0].multiply(affines[1]).toTree();
25
+ return {
26
+ startStatement: statementTree.toTex(),
27
+ answer: answerTree.toTex(),
28
+ };
29
+ }
30
+ exports.getDoubleDistributivityQuestion = getDoubleDistributivityQuestion;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- export declare const firstIdentity: Exercise;
3
- export declare function getFirstIdentityQuestion(): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const firstIdentity: Exercise;
3
+ export declare function getFirstIdentityQuestion(): Question;
4
4
  //# sourceMappingURL=firstIdentity.d.ts.map
@@ -1,31 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFirstIdentityQuestion = exports.firstIdentity = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const integer_1 = require("../../../math/numbers/integer/integer");
6
- const affine_1 = require("../../../math/polynomials/affine");
7
- const discreteSet_1 = require("../../../math/sets/discreteSet");
8
- const intervals_1 = require("../../../math/sets/intervals/intervals");
9
- const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
10
- const powerNode_1 = require("../../../tree/nodes/operators/powerNode");
11
- exports.firstIdentity = {
12
- id: 'idRmq1',
13
- connector: '=',
14
- instruction: 'Développer et réduire :',
15
- label: 'Identité remarquable $(a+b)^2$',
16
- levels: ['3', '2'],
17
- isSingleStep: false,
18
- section: 'Calcul littéral',
19
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getFirstIdentityQuestion, nb),
20
- };
21
- function getFirstIdentityQuestion() {
22
- const interval = new intervals_1.Interval('[[1; 10]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
23
- const affine = affine_1.AffineConstructor.random(interval, interval);
24
- const statementTree = new powerNode_1.PowerNode(affine.toTree(), new numberNode_1.NumberNode(2));
25
- const answerTree = affine.multiply(affine).toTree();
26
- return {
27
- startStatement: statementTree.toTex(),
28
- answer: answerTree.toTex(),
29
- };
30
- }
31
- exports.getFirstIdentityQuestion = getFirstIdentityQuestion;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFirstIdentityQuestion = exports.firstIdentity = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const integer_1 = require("../../../math/numbers/integer/integer");
6
+ const affine_1 = require("../../../math/polynomials/affine");
7
+ const discreteSet_1 = require("../../../math/sets/discreteSet");
8
+ const intervals_1 = require("../../../math/sets/intervals/intervals");
9
+ const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
10
+ const powerNode_1 = require("../../../tree/nodes/operators/powerNode");
11
+ exports.firstIdentity = {
12
+ id: 'idRmq1',
13
+ connector: '=',
14
+ instruction: 'Développer et réduire :',
15
+ label: 'Identité remarquable $(a+b)^2$',
16
+ levels: ['3', '2'],
17
+ isSingleStep: false,
18
+ section: 'Calcul littéral',
19
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getFirstIdentityQuestion, nb),
20
+ };
21
+ function getFirstIdentityQuestion() {
22
+ const interval = new intervals_1.Interval('[[1; 10]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
23
+ const affine = affine_1.AffineConstructor.random(interval, interval);
24
+ const statementTree = new powerNode_1.PowerNode(affine.toTree(), new numberNode_1.NumberNode(2));
25
+ const answerTree = affine.multiply(affine).toTree();
26
+ return {
27
+ startStatement: statementTree.toTex(),
28
+ answer: answerTree.toTex(),
29
+ };
30
+ }
31
+ exports.getFirstIdentityQuestion = getFirstIdentityQuestion;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- export declare const secondIdentity: Exercise;
3
- export declare function getSecondIdentityQuestion(): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const secondIdentity: Exercise;
3
+ export declare function getSecondIdentityQuestion(): Question;
4
4
  //# sourceMappingURL=secondIdentity.d.ts.map