math-exercises 1.3.11 → 1.3.13

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 (259) 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 +4 -0
  45. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts.map +1 -0
  46. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +32 -0
  47. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts +4 -0
  48. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts.map +1 -0
  49. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +33 -0
  50. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts +4 -0
  51. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts.map +1 -0
  52. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +32 -0
  53. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +6 -6
  54. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +38 -38
  55. package/lib/exercises/derivation/derivative/affineDerivative.d.ts +4 -0
  56. package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +1 -0
  57. package/lib/exercises/derivation/derivative/affineDerivative.js +27 -0
  58. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts +1 -0
  59. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts.map +1 -0
  60. package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +28 -0
  61. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +1 -0
  62. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +1 -0
  63. package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +1 -0
  64. package/lib/exercises/exercise.d.ts +16 -16
  65. package/lib/exercises/exercise.d.ts.map +1 -1
  66. package/lib/exercises/exercise.js +7 -7
  67. package/lib/exercises/exercises.d.ts +1 -1
  68. package/lib/exercises/exercises.d.ts.map +1 -1
  69. package/lib/exercises/exercises.js +113 -107
  70. package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
  71. package/lib/exercises/geometry/cartesian/midpoint.js +29 -29
  72. package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
  73. package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +28 -28
  74. package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
  75. package/lib/exercises/powers/powersDivision.d.ts +7 -7
  76. package/lib/exercises/powers/powersDivision.js +44 -44
  77. package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
  78. package/lib/exercises/powers/powersOfTenToDecimal.js +32 -32
  79. package/lib/exercises/powers/powersPower.d.ts +7 -7
  80. package/lib/exercises/powers/powersPower.js +43 -43
  81. package/lib/exercises/powers/powersProduct.d.ts +7 -7
  82. package/lib/exercises/powers/powersProduct.js +44 -44
  83. package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
  84. package/lib/exercises/powers/scientificToDecimal.js +37 -37
  85. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
  86. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +34 -34
  87. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
  88. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +33 -33
  89. package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
  90. package/lib/exercises/sequences/geometric/geometricFindReason.js +29 -29
  91. package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
  92. package/lib/exercises/sequences/geometric/geometricReasonUsage.js +28 -28
  93. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
  94. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +28 -28
  95. package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
  96. package/lib/exercises/squareRoots/simpifySquareRoot.js +27 -27
  97. package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
  98. package/lib/exercises/trigonometry/mainRemarkableValues.js +28 -28
  99. package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
  100. package/lib/exercises/trigonometry/remarkableValues.js +28 -28
  101. package/lib/exercises/utils/getDistinctQuestions.d.ts +2 -2
  102. package/lib/exercises/utils/getDistinctQuestions.js +15 -15
  103. package/lib/geometry/point.js +27 -27
  104. package/lib/geometry/vector.js +31 -31
  105. package/lib/index.d.ts +3 -2
  106. package/lib/index.d.ts.map +1 -1
  107. package/lib/index.js +39 -6
  108. package/lib/math/geometry/point.d.ts +12 -12
  109. package/lib/math/geometry/point.js +27 -27
  110. package/lib/math/geometry/vector.d.ts +15 -15
  111. package/lib/math/geometry/vector.js +31 -31
  112. package/lib/math/numbers/decimals/decimal.d.ts +24 -24
  113. package/lib/math/numbers/decimals/decimal.js +140 -140
  114. package/lib/math/numbers/epsilon.d.ts +1 -1
  115. package/lib/math/numbers/epsilon.js +10 -10
  116. package/lib/math/numbers/integer/integer.d.ts +14 -14
  117. package/lib/math/numbers/integer/integer.js +68 -68
  118. package/lib/math/numbers/integer/power.d.ts +13 -13
  119. package/lib/math/numbers/integer/power.js +52 -52
  120. package/lib/math/numbers/nombre.d.ts +13 -13
  121. package/lib/math/numbers/nombre.js +10 -10
  122. package/lib/math/numbers/rationals/rational.d.ts +25 -25
  123. package/lib/math/numbers/rationals/rational.js +113 -113
  124. package/lib/math/numbers/reals/real.d.ts +9 -9
  125. package/lib/math/numbers/reals/real.js +16 -16
  126. package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
  127. package/lib/math/numbers/reals/squareRoot.js +63 -63
  128. package/lib/math/polynomials/affine.d.ts +15 -15
  129. package/lib/math/polynomials/affine.js +42 -42
  130. package/lib/math/polynomials/polynomial.d.ts +25 -24
  131. package/lib/math/polynomials/polynomial.d.ts.map +1 -1
  132. package/lib/math/polynomials/polynomial.js +129 -125
  133. package/lib/math/sequences/arithmeticSequence.js +1 -1
  134. package/lib/math/sequences/geometricSequence.d.ts +3 -3
  135. package/lib/math/sequences/geometricSequence.js +8 -8
  136. package/lib/math/sequences/sequence.d.ts +22 -22
  137. package/lib/math/sequences/sequence.js +21 -21
  138. package/lib/math/sets/discreteSet.d.ts +10 -10
  139. package/lib/math/sets/discreteSet.js +28 -28
  140. package/lib/math/sets/emptySet.js +6 -6
  141. package/lib/math/sets/intervals/intervals.d.ts +26 -26
  142. package/lib/math/sets/intervals/intervals.js +104 -104
  143. package/lib/math/sets/mathSet.d.ts +7 -7
  144. package/lib/math/sets/mathSet.js +10 -10
  145. package/lib/math/sets/mathSetInterface.d.ts +5 -5
  146. package/lib/math/sets/mathSetInterface.js +2 -2
  147. package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
  148. package/lib/math/trigonometry/remarkableValue.js +29 -29
  149. package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
  150. package/lib/math/trigonometry/remarkableValues.js +51 -51
  151. package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
  152. package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
  153. package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
  154. package/lib/math/utils/arithmetic/dividersOf.js +12 -12
  155. package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
  156. package/lib/math/utils/arithmetic/gcd.js +7 -7
  157. package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
  158. package/lib/math/utils/arithmetic/isSquare.js +7 -7
  159. package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
  160. package/lib/math/utils/arithmetic/lcd.js +12 -12
  161. package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
  162. package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
  163. package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
  164. package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
  165. package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
  166. package/lib/math/utils/arithmetic/primeFactors.js +22 -22
  167. package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
  168. package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
  169. package/lib/math/utils/random/randTupleInt.d.ts +13 -13
  170. package/lib/math/utils/random/randTupleInt.js +30 -30
  171. package/lib/math/utils/random/randint.d.ts +4 -4
  172. package/lib/math/utils/random/randint.js +18 -18
  173. package/lib/math/utils/round.d.ts +1 -1
  174. package/lib/math/utils/round.js +8 -8
  175. package/lib/mathutils/arithmetic/coprimesOf.js +13 -13
  176. package/lib/mathutils/arithmetic/dividersOf.js +12 -12
  177. package/lib/mathutils/arithmetic/gcd.js +7 -7
  178. package/lib/mathutils/arithmetic/isSquare.js +7 -7
  179. package/lib/mathutils/arithmetic/lcd.js +12 -12
  180. package/lib/mathutils/arithmetic/nonCoprimesOf.js +13 -13
  181. package/lib/mathutils/arithmetic/nonDividersOf.js +14 -14
  182. package/lib/mathutils/arithmetic/primeFactors.js +22 -22
  183. package/lib/mathutils/decimals/decimalPartLengthOf.js +14 -14
  184. package/lib/mathutils/random/randTupleInt.js +30 -30
  185. package/lib/mathutils/random/randint.js +18 -18
  186. package/lib/mathutils/round.js +8 -8
  187. package/lib/numbers/decimals/decimal.js +140 -140
  188. package/lib/numbers/epsilon.js +10 -10
  189. package/lib/numbers/integer/integer.js +68 -68
  190. package/lib/numbers/integer/power.js +52 -52
  191. package/lib/numbers/nombre.js +10 -10
  192. package/lib/numbers/rationals/rational.js +113 -113
  193. package/lib/numbers/reals/real.js +16 -16
  194. package/lib/numbers/reals/squareRoot.js +63 -63
  195. package/lib/polynomials/affine.js +42 -42
  196. package/lib/polynomials/polynomial.js +125 -125
  197. package/lib/server.d.ts +2 -0
  198. package/lib/server.d.ts.map +1 -0
  199. package/lib/server.js +33 -0
  200. package/lib/sets/discreteSet.js +28 -28
  201. package/lib/sets/emptySet.js +6 -6
  202. package/lib/sets/intervals/intervals.js +108 -104
  203. package/lib/sets/intervals/union.js +1 -1
  204. package/lib/sets/mathSet.js +10 -10
  205. package/lib/sets/mathSetInterface.js +2 -2
  206. package/lib/tree/nodes/functions/cosNode.d.ts +9 -9
  207. package/lib/tree/nodes/functions/cosNode.js +21 -21
  208. package/lib/tree/nodes/functions/functionNode.d.ts +14 -14
  209. package/lib/tree/nodes/functions/functionNode.js +20 -20
  210. package/lib/tree/nodes/functions/oppositeNode.d.ts +7 -7
  211. package/lib/tree/nodes/functions/oppositeNode.js +26 -26
  212. package/lib/tree/nodes/functions/sinNode.js +1 -1
  213. package/lib/tree/nodes/functions/sqrtNode.d.ts +8 -8
  214. package/lib/tree/nodes/functions/sqrtNode.js +18 -18
  215. package/lib/tree/nodes/node.d.ts +12 -12
  216. package/lib/tree/nodes/node.js +11 -11
  217. package/lib/tree/nodes/numbers/constantNode.d.ts +9 -9
  218. package/lib/tree/nodes/numbers/constantNode.js +18 -18
  219. package/lib/tree/nodes/numbers/numberNode.d.ts +10 -10
  220. package/lib/tree/nodes/numbers/numberNode.js +19 -19
  221. package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
  222. package/lib/tree/nodes/numbers/piNode.js +5 -5
  223. package/lib/tree/nodes/operators/addNode.d.ts +7 -7
  224. package/lib/tree/nodes/operators/addNode.js +19 -19
  225. package/lib/tree/nodes/operators/divideNode.d.ts +11 -11
  226. package/lib/tree/nodes/operators/divideNode.js +34 -34
  227. package/lib/tree/nodes/operators/equalNode.d.ts +7 -7
  228. package/lib/tree/nodes/operators/equalNode.js +16 -16
  229. package/lib/tree/nodes/operators/fractionNode.d.ts +11 -11
  230. package/lib/tree/nodes/operators/fractionNode.js +20 -20
  231. package/lib/tree/nodes/operators/multiplyNode.d.ts +7 -7
  232. package/lib/tree/nodes/operators/multiplyNode.js +43 -43
  233. package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
  234. package/lib/tree/nodes/operators/operatorNode.js +35 -35
  235. package/lib/tree/nodes/operators/powerNode.d.ts +7 -7
  236. package/lib/tree/nodes/operators/powerNode.js +33 -33
  237. package/lib/tree/nodes/operators/substractNode.d.ts +7 -7
  238. package/lib/tree/nodes/operators/substractNode.js +24 -24
  239. package/lib/tree/nodes/variables/variableNode.d.ts +8 -8
  240. package/lib/tree/nodes/variables/variableNode.js +19 -19
  241. package/lib/tree/parsers/derivateParser.js +62 -62
  242. package/lib/tree/parsers/latexParser.js +110 -110
  243. package/lib/tree/parsers/simplify.d.ts +2 -2
  244. package/lib/tree/parsers/simplify.js +52 -52
  245. package/lib/utils/arrayEqual.d.ts +1 -1
  246. package/lib/utils/arrayEqual.js +13 -13
  247. package/lib/utils/coin.js +7 -7
  248. package/lib/utils/coinFlip.d.ts +1 -1
  249. package/lib/utils/coinFlip.js +7 -7
  250. package/lib/utils/random.d.ts +1 -1
  251. package/lib/utils/random.js +7 -7
  252. package/lib/utils/shuffle.d.ts +1 -1
  253. package/lib/utils/shuffle.js +15 -15
  254. package/package.json +50 -45
  255. package/lib/exercises/calculLitteral/factorisation/factoIdRmq.d.ts +0 -7
  256. package/lib/exercises/calculLitteral/factorisation/factoIdRmq.d.ts.map +0 -1
  257. package/lib/exercises/calculLitteral/factorisation/factoIdRmq.js +0 -38
  258. package/lib/trigonometry/remarkableValue.js +0 -29
  259. package/lib/trigonometry/remarkableValues.js +0 -51
@@ -1,28 +1,28 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRemarkableValues = exports.remarkableValuesExercise = void 0;
4
- const remarkableValue_1 = require("../../math/trigonometry/remarkableValue");
5
- const coinFlip_1 = require("../../utils/coinFlip");
6
- const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
7
- exports.remarkableValuesExercise = {
8
- id: 'remarkableValues',
9
- connector: '=',
10
- instruction: 'Donner la valeur exacte :',
11
- label: 'Valeurs remarquables de cos et sin',
12
- levels: ['1', '0'],
13
- isSingleStep: false,
14
- section: 'Trigonométrie',
15
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRemarkableValues, nb),
16
- };
17
- function getRemarkableValues() {
18
- const isCos = (0, coinFlip_1.coinFlip)();
19
- const remarkableValue = remarkableValue_1.RemarkableValueConstructor.simplifiable();
20
- const question = {
21
- startStatement: isCos
22
- ? `\\cos\\left(${remarkableValue.angle.toTex()}\\right)`
23
- : `\\sin\\left(${remarkableValue.angle.toTex()}\\right)`,
24
- answer: isCos ? remarkableValue.cos.toTex() : remarkableValue.sin.toTex(),
25
- };
26
- return question;
27
- }
28
- exports.getRemarkableValues = getRemarkableValues;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRemarkableValues = exports.remarkableValuesExercise = void 0;
4
+ const remarkableValue_1 = require("../../math/trigonometry/remarkableValue");
5
+ const coinFlip_1 = require("../../utils/coinFlip");
6
+ const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
7
+ exports.remarkableValuesExercise = {
8
+ id: 'remarkableValues',
9
+ connector: '=',
10
+ instruction: 'Donner la valeur exacte :',
11
+ label: 'Valeurs remarquables de cos et sin',
12
+ levels: ['1', '0'],
13
+ isSingleStep: false,
14
+ section: 'Trigonométrie',
15
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRemarkableValues, nb),
16
+ };
17
+ function getRemarkableValues() {
18
+ const isCos = (0, coinFlip_1.coinFlip)();
19
+ const remarkableValue = remarkableValue_1.RemarkableValueConstructor.simplifiable();
20
+ const question = {
21
+ startStatement: isCos
22
+ ? `\\cos\\left(${remarkableValue.angle.toTex()}\\right)`
23
+ : `\\sin\\left(${remarkableValue.angle.toTex()}\\right)`,
24
+ answer: isCos ? remarkableValue.cos.toTex() : remarkableValue.sin.toTex(),
25
+ };
26
+ return question;
27
+ }
28
+ exports.getRemarkableValues = getRemarkableValues;
@@ -1,3 +1,3 @@
1
- import { Question } from '../exercise';
2
- export declare const getDistinctQuestions: (generator: Function, nb: number) => Question[];
1
+ import { Question } from '../exercise';
2
+ export declare const getDistinctQuestions: (generator: Function, nb: number) => Question[];
3
3
  //# sourceMappingURL=getDistinctQuestions.d.ts.map
@@ -1,15 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDistinctQuestions = void 0;
4
- const getDistinctQuestions = (generator, nb) => {
5
- const res = [];
6
- for (let i = 0; i < nb; i++) {
7
- let question;
8
- do {
9
- question = generator();
10
- } while (res.some((q) => q.instruction === question.instruction && q.startStatement === question.startStatement));
11
- res.push(question);
12
- }
13
- return res;
14
- };
15
- exports.getDistinctQuestions = getDistinctQuestions;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDistinctQuestions = void 0;
4
+ const getDistinctQuestions = (generator, nb) => {
5
+ const res = [];
6
+ for (let i = 0; i < nb; i++) {
7
+ let question;
8
+ do {
9
+ question = generator();
10
+ } while (res.some((q) => q.instruction === question.instruction && q.startStatement === question.startStatement));
11
+ res.push(question);
12
+ }
13
+ return res;
14
+ };
15
+ exports.getDistinctQuestions = getDistinctQuestions;
@@ -1,27 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Point = exports.PointConstructor = void 0;
4
- const numberNode_1 = require("../tree/nodes/numbers/numberNode");
5
- const addNode_1 = require("../tree/nodes/operators/addNode");
6
- const fractionNode_1 = require("../tree/nodes/operators/fractionNode");
7
- const simplify_1 = require("../tree/parsers/simplify");
8
- class PointConstructor {
9
- }
10
- exports.PointConstructor = PointConstructor;
11
- class Point {
12
- constructor(name, x, y) {
13
- this.name = name;
14
- this.x = x;
15
- this.y = y;
16
- }
17
- toTex() {
18
- return `${this.name}`;
19
- }
20
- toTexWithCoords() {
21
- return `${this.name}\\left(${this.x.toTex()}; ${this.y.toTex()}\\right)`;
22
- }
23
- midpoint(B, name = 'I') {
24
- return new Point(name, (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.x, B.x), new numberNode_1.NumberNode(2))), (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.y, B.y), new numberNode_1.NumberNode(2))));
25
- }
26
- }
27
- exports.Point = Point;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Point = exports.PointConstructor = void 0;
4
+ const numberNode_1 = require("../tree/nodes/numbers/numberNode");
5
+ const addNode_1 = require("../tree/nodes/operators/addNode");
6
+ const fractionNode_1 = require("../tree/nodes/operators/fractionNode");
7
+ const simplify_1 = require("../tree/parsers/simplify");
8
+ class PointConstructor {
9
+ }
10
+ exports.PointConstructor = PointConstructor;
11
+ class Point {
12
+ constructor(name, x, y) {
13
+ this.name = name;
14
+ this.x = x;
15
+ this.y = y;
16
+ }
17
+ toTex() {
18
+ return `${this.name}`;
19
+ }
20
+ toTexWithCoords() {
21
+ return `${this.name}\\left(${this.x.toTex()}; ${this.y.toTex()}\\right)`;
22
+ }
23
+ midpoint(B, name = 'I') {
24
+ return new Point(name, (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.x, B.x), new numberNode_1.NumberNode(2))), (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.y, B.y), new numberNode_1.NumberNode(2))));
25
+ }
26
+ }
27
+ exports.Point = Point;
@@ -1,31 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Vector = exports.VectorConstructor = void 0;
4
- const addNode_1 = require("../tree/nodes/operators/addNode");
5
- const multiplyNode_1 = require("../tree/nodes/operators/multiplyNode");
6
- const substractNode_1 = require("../tree/nodes/operators/substractNode");
7
- const simplify_1 = require("../tree/parsers/simplify");
8
- class VectorConstructor {
9
- static fromPoints(origin, end) {
10
- return new Vector(`${origin.name}${end.name}`, new substractNode_1.SubstractNode(end.x, origin.x), new substractNode_1.SubstractNode(end.y, origin.y));
11
- }
12
- }
13
- exports.VectorConstructor = VectorConstructor;
14
- class Vector {
15
- constructor(name, x, y) {
16
- this.name = name;
17
- this.tex = `\\overrightarrow{${name}}`;
18
- this.x = x;
19
- this.y = y;
20
- }
21
- toTex() {
22
- return `\\overrightarrow{${this.name}}`;
23
- }
24
- toTexWithCoords() {
25
- return `\\overrightarrow{${this.name}}\\begin{pmatrix}${this.x.toTex()} \\\\ ${this.y.toTex()} \\end{pmatrix}`;
26
- }
27
- scalarProduct(v) {
28
- return (0, simplify_1.simplifyNode)(new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(this.x, v.x), new multiplyNode_1.MultiplyNode(this.y, v.y)));
29
- }
30
- }
31
- exports.Vector = Vector;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Vector = exports.VectorConstructor = void 0;
4
+ const addNode_1 = require("../tree/nodes/operators/addNode");
5
+ const multiplyNode_1 = require("../tree/nodes/operators/multiplyNode");
6
+ const substractNode_1 = require("../tree/nodes/operators/substractNode");
7
+ const simplify_1 = require("../tree/parsers/simplify");
8
+ class VectorConstructor {
9
+ static fromPoints(origin, end) {
10
+ return new Vector(`${origin.name}${end.name}`, new substractNode_1.SubstractNode(end.x, origin.x), new substractNode_1.SubstractNode(end.y, origin.y));
11
+ }
12
+ }
13
+ exports.VectorConstructor = VectorConstructor;
14
+ class Vector {
15
+ constructor(name, x, y) {
16
+ this.name = name;
17
+ this.tex = `\\overrightarrow{${name}}`;
18
+ this.x = x;
19
+ this.y = y;
20
+ }
21
+ toTex() {
22
+ return `\\overrightarrow{${this.name}}`;
23
+ }
24
+ toTexWithCoords() {
25
+ return `\\overrightarrow{${this.name}}\\begin{pmatrix}${this.x.toTex()} \\\\ ${this.y.toTex()} \\end{pmatrix}`;
26
+ }
27
+ scalarProduct(v) {
28
+ return (0, simplify_1.simplifyNode)(new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(this.x, v.x), new multiplyNode_1.MultiplyNode(this.y, v.y)));
29
+ }
30
+ }
31
+ exports.Vector = Vector;
package/lib/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- declare const allExercises: import("./exercises/exercise").Exercise[];
2
- export { allExercises };
1
+ declare const allExercises: import("./exercises/exercise").Exercise[];
2
+ declare const runServer: () => void;
3
+ export { allExercises, runServer };
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,YAAY,2CAAiB,CAAC;AAMpC,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,YAAY,2CAAiB,CAAC;AAOpC,QAAA,MAAM,SAAS,YAwBd,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC"}
package/lib/index.js CHANGED
@@ -1,6 +1,39 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.allExercises = void 0;
4
- const exercises_1 = require("./exercises/exercises");
5
- const allExercises = [...exercises_1.exercises];
6
- exports.allExercises = allExercises;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.runServer = exports.allExercises = void 0;
7
+ const exercises_1 = require("./exercises/exercises");
8
+ const express_1 = __importDefault(require("express"));
9
+ const dotenv_1 = __importDefault(require("dotenv"));
10
+ const cors_1 = __importDefault(require("cors"));
11
+ const allExercises = [...exercises_1.exercises];
12
+ exports.allExercises = allExercises;
13
+ // allExercises.forEach((exo) => {
14
+ // console.log(exo);
15
+ // console.log(exo.generator(10));
16
+ // });
17
+ const runServer = () => {
18
+ dotenv_1.default.config();
19
+ const app = (0, express_1.default)();
20
+ app.use((0, cors_1.default)());
21
+ app.get('/', (req, res) => {
22
+ res.json(allExercises);
23
+ });
24
+ app.get('/exo', (req, res) => {
25
+ const exoId = req.query.exoId;
26
+ const exo = allExercises.find((exo) => exo.id == exoId);
27
+ if (!exo)
28
+ res.send('Exo not found');
29
+ const questions = exo === null || exo === void 0 ? void 0 : exo.generator(10);
30
+ res.json({
31
+ exercise: exo,
32
+ questions,
33
+ });
34
+ });
35
+ app.listen('5000', () => {
36
+ console.log(`[server]: Server is running at http://localhost:5000`);
37
+ });
38
+ };
39
+ exports.runServer = runServer;
@@ -1,13 +1,13 @@
1
- import { Node } from '../../tree/nodes/node';
2
- export declare abstract class PointConstructor {
3
- }
4
- export declare class Point {
5
- name: string;
6
- x: Node;
7
- y: Node;
8
- constructor(name: string, x: Node, y: Node);
9
- toTex(): string;
10
- toTexWithCoords(): string;
11
- midpoint(B: Point, name?: string): Point;
12
- }
1
+ import { Node } from '../../tree/nodes/node';
2
+ export declare abstract class PointConstructor {
3
+ }
4
+ export declare class Point {
5
+ name: string;
6
+ x: Node;
7
+ y: Node;
8
+ constructor(name: string, x: Node, y: Node);
9
+ toTex(): string;
10
+ toTexWithCoords(): string;
11
+ midpoint(B: Point, name?: string): Point;
12
+ }
13
13
  //# sourceMappingURL=point.d.ts.map
@@ -1,27 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Point = exports.PointConstructor = void 0;
4
- const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
5
- const addNode_1 = require("../../tree/nodes/operators/addNode");
6
- const fractionNode_1 = require("../../tree/nodes/operators/fractionNode");
7
- const simplify_1 = require("../../tree/parsers/simplify");
8
- class PointConstructor {
9
- }
10
- exports.PointConstructor = PointConstructor;
11
- class Point {
12
- constructor(name, x, y) {
13
- this.name = name;
14
- this.x = x;
15
- this.y = y;
16
- }
17
- toTex() {
18
- return `${this.name}`;
19
- }
20
- toTexWithCoords() {
21
- return `${this.name}\\left(${this.x.toTex()}; ${this.y.toTex()}\\right)`;
22
- }
23
- midpoint(B, name = 'I') {
24
- return new Point(name, (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.x, B.x), new numberNode_1.NumberNode(2))), (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.y, B.y), new numberNode_1.NumberNode(2))));
25
- }
26
- }
27
- exports.Point = Point;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Point = exports.PointConstructor = void 0;
4
+ const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
5
+ const addNode_1 = require("../../tree/nodes/operators/addNode");
6
+ const fractionNode_1 = require("../../tree/nodes/operators/fractionNode");
7
+ const simplify_1 = require("../../tree/parsers/simplify");
8
+ class PointConstructor {
9
+ }
10
+ exports.PointConstructor = PointConstructor;
11
+ class Point {
12
+ constructor(name, x, y) {
13
+ this.name = name;
14
+ this.x = x;
15
+ this.y = y;
16
+ }
17
+ toTex() {
18
+ return `${this.name}`;
19
+ }
20
+ toTexWithCoords() {
21
+ return `${this.name}\\left(${this.x.toTex()}; ${this.y.toTex()}\\right)`;
22
+ }
23
+ midpoint(B, name = 'I') {
24
+ return new Point(name, (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.x, B.x), new numberNode_1.NumberNode(2))), (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.y, B.y), new numberNode_1.NumberNode(2))));
25
+ }
26
+ }
27
+ exports.Point = Point;
@@ -1,16 +1,16 @@
1
- import { Node } from '../../tree/nodes/node';
2
- import { Point } from './point';
3
- export declare abstract class VectorConstructor {
4
- static fromPoints(origin: Point, end: Point): Vector;
5
- }
6
- export declare class Vector {
7
- name: string;
8
- tex: string;
9
- x: Node;
10
- y: Node;
11
- constructor(name: string, x: Node, y: Node);
12
- toTex(): string;
13
- toTexWithCoords(): string;
14
- scalarProduct(v: Vector): Node;
15
- }
1
+ import { Node } from '../../tree/nodes/node';
2
+ import { Point } from './point';
3
+ export declare abstract class VectorConstructor {
4
+ static fromPoints(origin: Point, end: Point): Vector;
5
+ }
6
+ export declare class Vector {
7
+ name: string;
8
+ tex: string;
9
+ x: Node;
10
+ y: Node;
11
+ constructor(name: string, x: Node, y: Node);
12
+ toTex(): string;
13
+ toTexWithCoords(): string;
14
+ scalarProduct(v: Vector): Node;
15
+ }
16
16
  //# sourceMappingURL=vector.d.ts.map
@@ -1,31 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Vector = exports.VectorConstructor = void 0;
4
- const addNode_1 = require("../../tree/nodes/operators/addNode");
5
- const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
6
- const substractNode_1 = require("../../tree/nodes/operators/substractNode");
7
- const simplify_1 = require("../../tree/parsers/simplify");
8
- class VectorConstructor {
9
- static fromPoints(origin, end) {
10
- return new Vector(`${origin.name}${end.name}`, new substractNode_1.SubstractNode(end.x, origin.x), new substractNode_1.SubstractNode(end.y, origin.y));
11
- }
12
- }
13
- exports.VectorConstructor = VectorConstructor;
14
- class Vector {
15
- constructor(name, x, y) {
16
- this.name = name;
17
- this.tex = `\\overrightarrow{${name}}`;
18
- this.x = x;
19
- this.y = y;
20
- }
21
- toTex() {
22
- return `\\overrightarrow{${this.name}}`;
23
- }
24
- toTexWithCoords() {
25
- return `\\overrightarrow{${this.name}}\\begin{pmatrix}${this.x.toTex()} \\\\ ${this.y.toTex()} \\end{pmatrix}`;
26
- }
27
- scalarProduct(v) {
28
- return (0, simplify_1.simplifyNode)(new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(this.x, v.x), new multiplyNode_1.MultiplyNode(this.y, v.y)));
29
- }
30
- }
31
- exports.Vector = Vector;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Vector = exports.VectorConstructor = void 0;
4
+ const addNode_1 = require("../../tree/nodes/operators/addNode");
5
+ const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
6
+ const substractNode_1 = require("../../tree/nodes/operators/substractNode");
7
+ const simplify_1 = require("../../tree/parsers/simplify");
8
+ class VectorConstructor {
9
+ static fromPoints(origin, end) {
10
+ return new Vector(`${origin.name}${end.name}`, new substractNode_1.SubstractNode(end.x, origin.x), new substractNode_1.SubstractNode(end.y, origin.y));
11
+ }
12
+ }
13
+ exports.VectorConstructor = VectorConstructor;
14
+ class Vector {
15
+ constructor(name, x, y) {
16
+ this.name = name;
17
+ this.tex = `\\overrightarrow{${name}}`;
18
+ this.x = x;
19
+ this.y = y;
20
+ }
21
+ toTex() {
22
+ return `\\overrightarrow{${this.name}}`;
23
+ }
24
+ toTexWithCoords() {
25
+ return `\\overrightarrow{${this.name}}\\begin{pmatrix}${this.x.toTex()} \\\\ ${this.y.toTex()} \\end{pmatrix}`;
26
+ }
27
+ scalarProduct(v) {
28
+ return (0, simplify_1.simplifyNode)(new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(this.x, v.x), new multiplyNode_1.MultiplyNode(this.y, v.y)));
29
+ }
30
+ }
31
+ exports.Vector = Vector;
@@ -1,25 +1,25 @@
1
- import { Node } from '../../../tree/nodes/node';
2
- import { Nombre, NumberType } from '../nombre';
3
- export declare abstract class DecimalConstructor {
4
- static randomFracPart(precision: number): string;
5
- static random(min: number, max: number, precision: number): Decimal;
6
- static fromParts(intPart: string, decimalPart: string): Decimal;
7
- }
8
- export declare class Decimal implements Nombre {
9
- value: number;
10
- tex: string;
11
- type: NumberType;
12
- precision: number;
13
- intPart: number;
14
- decimalPart: string;
15
- constructor(value: number);
16
- /**
17
- *
18
- * @param precision 0 = unité, 1 = dixieme, ... , -1 : dizaine
19
- * @returns
20
- */
21
- round(precision: number): Nombre;
22
- multiplyByPowerOfTen(power: number): Decimal;
23
- toTree(): Node;
24
- }
1
+ import { Node } from '../../../tree/nodes/node';
2
+ import { Nombre, NumberType } from '../nombre';
3
+ export declare abstract class DecimalConstructor {
4
+ static randomFracPart(precision: number): string;
5
+ static random(min: number, max: number, precision: number): Decimal;
6
+ static fromParts(intPart: string, decimalPart: string): Decimal;
7
+ }
8
+ export declare class Decimal implements Nombre {
9
+ value: number;
10
+ tex: string;
11
+ type: NumberType;
12
+ precision: number;
13
+ intPart: number;
14
+ decimalPart: string;
15
+ constructor(value: number);
16
+ /**
17
+ *
18
+ * @param precision 0 = unité, 1 = dixieme, ... , -1 : dizaine
19
+ * @returns
20
+ */
21
+ round(precision: number): Nombre;
22
+ multiplyByPowerOfTen(power: number): Decimal;
23
+ toTree(): Node;
24
+ }
25
25
  //# sourceMappingURL=decimal.d.ts.map