math-exercises 1.3.16 → 1.3.17

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 (303) 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/addAndSubWithoutRelatives.d.ts +7 -0
  5. package/lib/exercises/calcul/addAndSubWithoutRelatives.d.ts.map +1 -0
  6. package/lib/exercises/calcul/addAndSubWithoutRelatives.js +49 -0
  7. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +3 -3
  8. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +35 -35
  9. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +3 -3
  10. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +32 -32
  11. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +3 -3
  12. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +32 -32
  13. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.d.ts +1 -0
  14. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.d.ts.map +1 -0
  15. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.js +53 -0
  16. package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +3 -3
  17. package/lib/exercises/calcul/fractions/fractionsDivision.js +29 -29
  18. package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +3 -3
  19. package/lib/exercises/calcul/fractions/fractionsProduct.js +28 -28
  20. package/lib/exercises/calcul/fractions/fractionsSum.d.ts +3 -3
  21. package/lib/exercises/calcul/fractions/fractionsSum.js +28 -28
  22. package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +3 -3
  23. package/lib/exercises/calcul/fractions/simplifyFraction.js +24 -24
  24. package/lib/exercises/calcul/operations/operationsPriorities.d.ts +10 -10
  25. package/lib/exercises/calcul/operations/operationsPriorities.js +98 -98
  26. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts +10 -0
  27. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts.map +1 -1
  28. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +179 -111
  29. package/lib/exercises/calcul/rounding/rounding.d.ts +19 -19
  30. package/lib/exercises/calcul/rounding/rounding.js +85 -85
  31. package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +3 -3
  32. package/lib/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
  33. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +3 -3
  34. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +30 -30
  35. package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +3 -3
  36. package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +31 -31
  37. package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +3 -3
  38. package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +32 -32
  39. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +3 -3
  40. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +32 -32
  41. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +3 -3
  42. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +31 -31
  43. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.d.ts +4 -0
  44. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.d.ts.map +1 -0
  45. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +46 -0
  46. package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +6 -6
  47. package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +37 -37
  48. package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +6 -6
  49. package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +40 -40
  50. package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +6 -6
  51. package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +41 -41
  52. package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +6 -6
  53. package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +43 -43
  54. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.d.ts +4 -0
  55. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.d.ts.map +1 -0
  56. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.js +38 -0
  57. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.d.ts +4 -0
  58. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.d.ts.map +1 -0
  59. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.js +41 -0
  60. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts +3 -3
  61. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +32 -32
  62. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts +3 -3
  63. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +33 -33
  64. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts +3 -3
  65. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +32 -32
  66. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +6 -6
  67. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +38 -38
  68. package/lib/exercises/derivation/derivative/affineDerivative.d.ts +3 -3
  69. package/lib/exercises/derivation/derivative/affineDerivative.js +27 -27
  70. package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +28 -28
  71. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.d.ts +4 -0
  72. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.d.ts.map +1 -0
  73. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.js +31 -0
  74. package/lib/exercises/derivation/derivative/usualderivative.d.ts +4 -0
  75. package/lib/exercises/derivation/derivative/usualderivative.d.ts.map +1 -0
  76. package/lib/exercises/derivation/derivative/usualderivative.js +67 -0
  77. package/lib/exercises/exercise.d.ts +16 -16
  78. package/lib/exercises/exercise.d.ts.map +1 -1
  79. package/lib/exercises/exercise.js +7 -7
  80. package/lib/exercises/exercises.d.ts +1 -1
  81. package/lib/exercises/exercises.d.ts.map +1 -1
  82. package/lib/exercises/exercises.js +152 -113
  83. package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
  84. package/lib/exercises/geometry/cartesian/midpoint.js +29 -29
  85. package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
  86. package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +28 -28
  87. package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
  88. package/lib/exercises/percent/applyPercent.d.ts +4 -0
  89. package/lib/exercises/percent/applyPercent.d.ts.map +1 -0
  90. package/lib/exercises/percent/applyPercent.js +41 -0
  91. package/lib/exercises/percent/averageEvolutionRate.d.ts +4 -0
  92. package/lib/exercises/percent/averageEvolutionRate.d.ts.map +1 -0
  93. package/lib/exercises/percent/averageEvolutionRate.js +28 -0
  94. package/lib/exercises/percent/globalPercent.d.ts +4 -0
  95. package/lib/exercises/percent/globalPercent.d.ts.map +1 -0
  96. package/lib/exercises/percent/globalPercent.js +44 -0
  97. package/lib/exercises/percent/reciprocalPercentage.d.ts +4 -0
  98. package/lib/exercises/percent/reciprocalPercentage.d.ts.map +1 -0
  99. package/lib/exercises/percent/reciprocalPercentage.js +35 -0
  100. package/lib/exercises/powers/powersDivision.d.ts +7 -7
  101. package/lib/exercises/powers/powersDivision.js +44 -44
  102. package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
  103. package/lib/exercises/powers/powersOfTenToDecimal.js +32 -32
  104. package/lib/exercises/powers/powersPower.d.ts +7 -7
  105. package/lib/exercises/powers/powersPower.js +43 -43
  106. package/lib/exercises/powers/powersProduct.d.ts +7 -7
  107. package/lib/exercises/powers/powersProduct.js +44 -44
  108. package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
  109. package/lib/exercises/powers/scientificToDecimal.js +37 -37
  110. package/lib/exercises/proba/conditionalProbability.d.ts +4 -0
  111. package/lib/exercises/proba/conditionalProbability.d.ts.map +1 -0
  112. package/lib/exercises/proba/conditionalProbability.js +72 -0
  113. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts +4 -0
  114. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts.map +1 -0
  115. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +29 -0
  116. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts +4 -0
  117. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts.map +1 -0
  118. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.js +29 -0
  119. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.d.ts +4 -0
  120. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.d.ts.map +1 -0
  121. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.js +29 -0
  122. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.d.ts +4 -0
  123. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.d.ts.map +1 -0
  124. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.js +28 -0
  125. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts +4 -0
  126. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts.map +1 -0
  127. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +28 -0
  128. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.d.ts +4 -0
  129. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.d.ts.map +1 -0
  130. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.js +39 -0
  131. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
  132. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +34 -34
  133. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
  134. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +33 -33
  135. package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
  136. package/lib/exercises/sequences/geometric/geometricFindReason.js +29 -29
  137. package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
  138. package/lib/exercises/sequences/geometric/geometricReasonUsage.js +28 -28
  139. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
  140. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +28 -28
  141. package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
  142. package/lib/exercises/squareRoots/simpifySquareRoot.js +27 -27
  143. package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
  144. package/lib/exercises/trigonometry/mainRemarkableValues.js +28 -28
  145. package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
  146. package/lib/exercises/trigonometry/remarkableValues.js +28 -28
  147. package/lib/exercises/utils/getDistinctQuestions.d.ts +2 -2
  148. package/lib/exercises/utils/getDistinctQuestions.js +15 -15
  149. package/lib/index.d.ts +2 -2
  150. package/lib/index.d.ts.map +1 -1
  151. package/lib/index.js +6 -6
  152. package/lib/math/geometry/point.d.ts +12 -12
  153. package/lib/math/geometry/point.js +27 -27
  154. package/lib/math/geometry/vector.d.ts +15 -15
  155. package/lib/math/geometry/vector.js +31 -31
  156. package/lib/math/numbers/decimals/decimal.d.ts +24 -24
  157. package/lib/math/numbers/decimals/decimal.js +140 -140
  158. package/lib/math/numbers/epsilon.d.ts +1 -1
  159. package/lib/math/numbers/epsilon.js +10 -10
  160. package/lib/math/numbers/integer/integer.d.ts +14 -14
  161. package/lib/math/numbers/integer/integer.js +68 -68
  162. package/lib/math/numbers/integer/power.d.ts +13 -13
  163. package/lib/math/numbers/integer/power.js +52 -52
  164. package/lib/math/numbers/nombre.d.ts +13 -13
  165. package/lib/math/numbers/nombre.js +10 -10
  166. package/lib/math/numbers/rationals/rational.d.ts +25 -25
  167. package/lib/math/numbers/rationals/rational.js +113 -113
  168. package/lib/math/numbers/reals/real.d.ts +9 -9
  169. package/lib/math/numbers/reals/real.js +16 -16
  170. package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
  171. package/lib/math/numbers/reals/squareRoot.js +63 -63
  172. package/lib/math/polynomials/affine.d.ts +15 -15
  173. package/lib/math/polynomials/affine.js +42 -42
  174. package/lib/math/polynomials/polynomial.d.ts +25 -25
  175. package/lib/math/polynomials/polynomial.d.ts.map +1 -1
  176. package/lib/math/polynomials/polynomial.js +131 -129
  177. package/lib/math/sequences/arithmeticSequence.js +1 -1
  178. package/lib/math/sequences/geometricSequence.d.ts +3 -3
  179. package/lib/math/sequences/geometricSequence.js +8 -8
  180. package/lib/math/sequences/sequence.d.ts +22 -22
  181. package/lib/math/sequences/sequence.js +21 -21
  182. package/lib/math/sets/discreteSet.d.ts +10 -10
  183. package/lib/math/sets/discreteSet.js +28 -28
  184. package/lib/math/sets/emptySet.js +6 -6
  185. package/lib/math/sets/intervals/intervals.d.ts +26 -26
  186. package/lib/math/sets/intervals/intervals.js +104 -104
  187. package/lib/math/sets/mathSet.d.ts +7 -7
  188. package/lib/math/sets/mathSet.js +10 -10
  189. package/lib/math/sets/mathSetInterface.d.ts +5 -5
  190. package/lib/math/sets/mathSetInterface.js +2 -2
  191. package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
  192. package/lib/math/trigonometry/remarkableValue.js +29 -29
  193. package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
  194. package/lib/math/trigonometry/remarkableValues.js +51 -51
  195. package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
  196. package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
  197. package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
  198. package/lib/math/utils/arithmetic/dividersOf.js +12 -12
  199. package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
  200. package/lib/math/utils/arithmetic/gcd.js +7 -7
  201. package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
  202. package/lib/math/utils/arithmetic/isSquare.js +7 -7
  203. package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
  204. package/lib/math/utils/arithmetic/lcd.js +12 -12
  205. package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
  206. package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
  207. package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
  208. package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
  209. package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
  210. package/lib/math/utils/arithmetic/primeFactors.js +22 -22
  211. package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
  212. package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
  213. package/lib/math/utils/random/randTupleInt.d.ts +13 -13
  214. package/lib/math/utils/random/randTupleInt.js +30 -30
  215. package/lib/math/utils/random/randint.d.ts +4 -4
  216. package/lib/math/utils/random/randint.js +18 -18
  217. package/lib/math/utils/round.d.ts +1 -1
  218. package/lib/math/utils/round.js +8 -8
  219. package/lib/server.d.ts +1 -1
  220. package/lib/server.js +33 -34
  221. package/lib/tree/nodes/functions/cosNode.d.ts +9 -9
  222. package/lib/tree/nodes/functions/cosNode.js +21 -21
  223. package/lib/tree/nodes/functions/functionNode.d.ts +14 -14
  224. package/lib/tree/nodes/functions/functionNode.js +20 -20
  225. package/lib/tree/nodes/functions/oppositeNode.d.ts +7 -7
  226. package/lib/tree/nodes/functions/oppositeNode.js +26 -26
  227. package/lib/tree/nodes/functions/sinNode.js +1 -1
  228. package/lib/tree/nodes/functions/sqrtNode.d.ts +8 -8
  229. package/lib/tree/nodes/functions/sqrtNode.js +18 -18
  230. package/lib/tree/nodes/node.d.ts +12 -12
  231. package/lib/tree/nodes/node.js +11 -11
  232. package/lib/tree/nodes/numbers/constantNode.d.ts +9 -9
  233. package/lib/tree/nodes/numbers/constantNode.js +18 -18
  234. package/lib/tree/nodes/numbers/numberNode.d.ts +10 -10
  235. package/lib/tree/nodes/numbers/numberNode.js +19 -19
  236. package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
  237. package/lib/tree/nodes/numbers/piNode.js +5 -5
  238. package/lib/tree/nodes/operators/addNode.d.ts +7 -7
  239. package/lib/tree/nodes/operators/addNode.js +19 -19
  240. package/lib/tree/nodes/operators/divideNode.d.ts +11 -11
  241. package/lib/tree/nodes/operators/divideNode.js +34 -34
  242. package/lib/tree/nodes/operators/equalNode.d.ts +7 -7
  243. package/lib/tree/nodes/operators/equalNode.js +16 -16
  244. package/lib/tree/nodes/operators/fractionNode.d.ts +11 -11
  245. package/lib/tree/nodes/operators/fractionNode.js +20 -20
  246. package/lib/tree/nodes/operators/multiplyNode.d.ts +7 -7
  247. package/lib/tree/nodes/operators/multiplyNode.js +43 -43
  248. package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
  249. package/lib/tree/nodes/operators/operatorNode.js +35 -35
  250. package/lib/tree/nodes/operators/powerNode.d.ts +7 -7
  251. package/lib/tree/nodes/operators/powerNode.js +33 -33
  252. package/lib/tree/nodes/operators/substractNode.d.ts +7 -7
  253. package/lib/tree/nodes/operators/substractNode.js +24 -24
  254. package/lib/tree/nodes/variables/variableNode.d.ts +8 -8
  255. package/lib/tree/nodes/variables/variableNode.js +19 -19
  256. package/lib/tree/parsers/derivateParser.js +62 -62
  257. package/lib/tree/parsers/simplify.d.ts +2 -2
  258. package/lib/tree/parsers/simplify.js +52 -52
  259. package/lib/utils/arrayEqual.d.ts +1 -1
  260. package/lib/utils/arrayEqual.js +13 -13
  261. package/lib/utils/coinFlip.d.ts +1 -1
  262. package/lib/utils/coinFlip.js +7 -7
  263. package/lib/utils/random.d.ts +1 -1
  264. package/lib/utils/random.js +7 -7
  265. package/lib/utils/shuffle.d.ts +1 -1
  266. package/lib/utils/shuffle.js +15 -15
  267. package/package.json +49 -50
  268. package/lib/exercises/calcul/operationsPriorities.js +0 -88
  269. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +0 -1
  270. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +0 -1
  271. package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +0 -1
  272. package/lib/geometry/point.js +0 -27
  273. package/lib/geometry/vector.js +0 -31
  274. package/lib/mathutils/arithmetic/coprimesOf.js +0 -13
  275. package/lib/mathutils/arithmetic/dividersOf.js +0 -12
  276. package/lib/mathutils/arithmetic/gcd.js +0 -7
  277. package/lib/mathutils/arithmetic/isSquare.js +0 -7
  278. package/lib/mathutils/arithmetic/lcd.js +0 -12
  279. package/lib/mathutils/arithmetic/nonCoprimesOf.js +0 -13
  280. package/lib/mathutils/arithmetic/nonDividersOf.js +0 -14
  281. package/lib/mathutils/arithmetic/primeFactors.js +0 -22
  282. package/lib/mathutils/decimals/decimalPartLengthOf.js +0 -14
  283. package/lib/mathutils/random/randTupleInt.js +0 -30
  284. package/lib/mathutils/random/randint.js +0 -18
  285. package/lib/mathutils/round.js +0 -8
  286. package/lib/numbers/decimals/decimal.js +0 -140
  287. package/lib/numbers/epsilon.js +0 -10
  288. package/lib/numbers/integer/integer.js +0 -68
  289. package/lib/numbers/integer/power.js +0 -52
  290. package/lib/numbers/nombre.js +0 -10
  291. package/lib/numbers/rationals/rational.js +0 -113
  292. package/lib/numbers/reals/real.js +0 -16
  293. package/lib/numbers/reals/squareRoot.js +0 -63
  294. package/lib/polynomials/affine.js +0 -42
  295. package/lib/polynomials/polynomial.js +0 -125
  296. package/lib/sets/discreteSet.js +0 -28
  297. package/lib/sets/emptySet.js +0 -6
  298. package/lib/sets/intervals/intervals.js +0 -108
  299. package/lib/sets/intervals/union.js +0 -1
  300. package/lib/sets/mathSet.js +0 -10
  301. package/lib/sets/mathSetInterface.js +0 -2
  302. package/lib/tree/parsers/latexParser.js +0 -110
  303. package/lib/utils/coin.js +0 -7
@@ -1,62 +1,62 @@
1
- "use strict";
2
- // import { Node, NodeType } from "../nodes/node";
3
- // import { NumberNode } from "../nodes/numbers/numberNode";
4
- // import { PowerNode } from "../nodes/operators/powerNode";
5
- // import { AddNode } from "../nodes/operators/addNode";
6
- // import { FractionNode } from "../nodes/operators/fractionNode";
7
- // import { MultiplyNode } from "../nodes/operators/multiplyNode";
8
- // import { OperatorIds, OperatorNode } from "../nodes/operators/operatorNode";
9
- // import { SubstractNode } from "../nodes/operators/substractNode";
10
- // import { FunctionNode, FunctionsIds } from "../nodes/functions/functionNode";
11
- // import { SqrtNode } from "../nodes/functions/sqrtNode";
12
- // import { OppositeNode } from "../nodes/functions/oppositeNode";
13
- // export function derivateParser(node: Node): Node {
14
- // if (!node) throw Error("encountered a null node ??");
15
- // switch (node.type) {
16
- // case NodeType.variable:
17
- // return new NumberNode(1);
18
- // case NodeType.number:
19
- // return new NumberNode(0);
20
- // case NodeType.operator:
21
- // const operatorNode = node as OperatorNode;
22
- // const u = operatorNode.leftChild;
23
- // const v = operatorNode.rightChild;
24
- // switch (operatorNode.id) {
25
- // case OperatorIds.add:
26
- // return new AddNode(derivateParser(u), derivateParser(v));
27
- // case OperatorIds.substract: {
28
- // return new SubstractNode(derivateParser(u), derivateParser(v));
29
- // }
30
- // case OperatorIds.multiply: {
31
- // return new AddNode(new MultiplyNode(derivateParser(u), v), new MultiplyNode(u, derivateParser(v)));
32
- // }
33
- // case OperatorIds.divide:
34
- // case OperatorIds.fraction:
35
- // return new FractionNode(
36
- // new SubstractNode(new MultiplyNode(derivateParser(u), v), new MultiplyNode(u, derivateParser(v))),
37
- // new PowerNode(v, new NumberNode(2))
38
- // );
39
- // case OperatorIds.power: {
40
- // const operatorNode = node as OperatorNode;
41
- // const n = operatorNode.rightChild as NumberNode;
42
- // const u = operatorNode.leftChild;
43
- // return new MultiplyNode(
44
- // n,
45
- // new MultiplyNode(derivateParser(u), new PowerNode(u, new NumberNode(n.value - 1)))
46
- // );
47
- // }
48
- // }
49
- // case NodeType.function: {
50
- // const functionNode = node as FunctionNode;
51
- // const child = functionNode.child;
52
- // switch (functionNode.id) {
53
- // case FunctionsIds.sqrt: {
54
- // return new FractionNode(derivateParser(child), new MultiplyNode(new NumberNode(2), new SqrtNode(child)));
55
- // }
56
- // case FunctionsIds.opposite: {
57
- // return new OppositeNode(derivateParser(child));
58
- // }
59
- // }
60
- // }
61
- // }
62
- // }
1
+ "use strict";
2
+ // import { Node, NodeType } from "../nodes/node";
3
+ // import { NumberNode } from "../nodes/numbers/numberNode";
4
+ // import { PowerNode } from "../nodes/operators/powerNode";
5
+ // import { AddNode } from "../nodes/operators/addNode";
6
+ // import { FractionNode } from "../nodes/operators/fractionNode";
7
+ // import { MultiplyNode } from "../nodes/operators/multiplyNode";
8
+ // import { OperatorIds, OperatorNode } from "../nodes/operators/operatorNode";
9
+ // import { SubstractNode } from "../nodes/operators/substractNode";
10
+ // import { FunctionNode, FunctionsIds } from "../nodes/functions/functionNode";
11
+ // import { SqrtNode } from "../nodes/functions/sqrtNode";
12
+ // import { OppositeNode } from "../nodes/functions/oppositeNode";
13
+ // export function derivateParser(node: Node): Node {
14
+ // if (!node) throw Error("encountered a null node ??");
15
+ // switch (node.type) {
16
+ // case NodeType.variable:
17
+ // return new NumberNode(1);
18
+ // case NodeType.number:
19
+ // return new NumberNode(0);
20
+ // case NodeType.operator:
21
+ // const operatorNode = node as OperatorNode;
22
+ // const u = operatorNode.leftChild;
23
+ // const v = operatorNode.rightChild;
24
+ // switch (operatorNode.id) {
25
+ // case OperatorIds.add:
26
+ // return new AddNode(derivateParser(u), derivateParser(v));
27
+ // case OperatorIds.substract: {
28
+ // return new SubstractNode(derivateParser(u), derivateParser(v));
29
+ // }
30
+ // case OperatorIds.multiply: {
31
+ // return new AddNode(new MultiplyNode(derivateParser(u), v), new MultiplyNode(u, derivateParser(v)));
32
+ // }
33
+ // case OperatorIds.divide:
34
+ // case OperatorIds.fraction:
35
+ // return new FractionNode(
36
+ // new SubstractNode(new MultiplyNode(derivateParser(u), v), new MultiplyNode(u, derivateParser(v))),
37
+ // new PowerNode(v, new NumberNode(2))
38
+ // );
39
+ // case OperatorIds.power: {
40
+ // const operatorNode = node as OperatorNode;
41
+ // const n = operatorNode.rightChild as NumberNode;
42
+ // const u = operatorNode.leftChild;
43
+ // return new MultiplyNode(
44
+ // n,
45
+ // new MultiplyNode(derivateParser(u), new PowerNode(u, new NumberNode(n.value - 1)))
46
+ // );
47
+ // }
48
+ // }
49
+ // case NodeType.function: {
50
+ // const functionNode = node as FunctionNode;
51
+ // const child = functionNode.child;
52
+ // switch (functionNode.id) {
53
+ // case FunctionsIds.sqrt: {
54
+ // return new FractionNode(derivateParser(child), new MultiplyNode(new NumberNode(2), new SqrtNode(child)));
55
+ // }
56
+ // case FunctionsIds.opposite: {
57
+ // return new OppositeNode(derivateParser(child));
58
+ // }
59
+ // }
60
+ // }
61
+ // }
62
+ // }
@@ -1,3 +1,3 @@
1
- import { Node } from '../nodes/node';
2
- export declare const simplifyNode: (node: Node) => Node;
1
+ import { Node } from '../nodes/node';
2
+ export declare const simplifyNode: (node: Node) => Node;
3
3
  //# sourceMappingURL=simplify.d.ts.map
@@ -1,52 +1,52 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.simplifyNode = void 0;
4
- const mathjs_1 = require("mathjs");
5
- const oppositeNode_1 = require("../nodes/functions/oppositeNode");
6
- const sqrtNode_1 = require("../nodes/functions/sqrtNode");
7
- const numberNode_1 = require("../nodes/numbers/numberNode");
8
- const piNode_1 = require("../nodes/numbers/piNode");
9
- const addNode_1 = require("../nodes/operators/addNode");
10
- const fractionNode_1 = require("../nodes/operators/fractionNode");
11
- const multiplyNode_1 = require("../nodes/operators/multiplyNode");
12
- const powerNode_1 = require("../nodes/operators/powerNode");
13
- const substractNode_1 = require("../nodes/operators/substractNode");
14
- const variableNode_1 = require("../nodes/variables/variableNode");
15
- const simplifyNode = (node) => {
16
- return mathjsNodeToNode((0, mathjs_1.simplify)(node.toMathString()));
17
- };
18
- exports.simplifyNode = simplifyNode;
19
- const mathjsNodeToNode = (mathjsNode) => {
20
- if (mathjsNode.isSymbolNode) {
21
- if (mathjsNode.name === 'pi')
22
- return piNode_1.PiNode;
23
- return new variableNode_1.VariableNode(mathjsNode.name);
24
- }
25
- else if (mathjsNode.isConstantNode) {
26
- return new numberNode_1.NumberNode(mathjsNode.value);
27
- }
28
- else if (mathjsNode.isOperatorNode) {
29
- switch (mathjsNode.fn) {
30
- case 'add':
31
- return new addNode_1.AddNode(mathjsNodeToNode(mathjsNode.args[0]), mathjsNodeToNode(mathjsNode.args[1]));
32
- case 'substract':
33
- return new substractNode_1.SubstractNode(mathjsNodeToNode(mathjsNode.args[0]), mathjsNodeToNode(mathjsNode.args[1]));
34
- case 'unaryMinus':
35
- return new oppositeNode_1.OppositeNode(mathjsNodeToNode(mathjsNode.args[0]));
36
- case 'divide':
37
- return new fractionNode_1.FractionNode(mathjsNodeToNode(mathjsNode.args[0]), mathjsNodeToNode(mathjsNode.args[1]));
38
- case 'multiply':
39
- return new multiplyNode_1.MultiplyNode(mathjsNodeToNode(mathjsNode.args[0]), mathjsNodeToNode(mathjsNode.args[1]));
40
- case 'pow':
41
- return new powerNode_1.PowerNode(mathjsNodeToNode(mathjsNode.args[0]), mathjsNodeToNode(mathjsNode.args[1]));
42
- }
43
- }
44
- else if (mathjsNode.isFunctionNode) {
45
- const fn = mathjsNode.fn;
46
- switch (fn.name) {
47
- case 'sqrt':
48
- return new sqrtNode_1.SqrtNode(mathjsNodeToNode(mathjsNode.args[0]));
49
- }
50
- }
51
- throw Error('unrecognized mathjs node');
52
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.simplifyNode = void 0;
4
+ const mathjs_1 = require("mathjs");
5
+ const oppositeNode_1 = require("../nodes/functions/oppositeNode");
6
+ const sqrtNode_1 = require("../nodes/functions/sqrtNode");
7
+ const numberNode_1 = require("../nodes/numbers/numberNode");
8
+ const piNode_1 = require("../nodes/numbers/piNode");
9
+ const addNode_1 = require("../nodes/operators/addNode");
10
+ const fractionNode_1 = require("../nodes/operators/fractionNode");
11
+ const multiplyNode_1 = require("../nodes/operators/multiplyNode");
12
+ const powerNode_1 = require("../nodes/operators/powerNode");
13
+ const substractNode_1 = require("../nodes/operators/substractNode");
14
+ const variableNode_1 = require("../nodes/variables/variableNode");
15
+ const simplifyNode = (node) => {
16
+ return mathjsNodeToNode((0, mathjs_1.simplify)(node.toMathString()));
17
+ };
18
+ exports.simplifyNode = simplifyNode;
19
+ const mathjsNodeToNode = (mathjsNode) => {
20
+ if (mathjsNode.isSymbolNode) {
21
+ if (mathjsNode.name === 'pi')
22
+ return piNode_1.PiNode;
23
+ return new variableNode_1.VariableNode(mathjsNode.name);
24
+ }
25
+ else if (mathjsNode.isConstantNode) {
26
+ return new numberNode_1.NumberNode(mathjsNode.value);
27
+ }
28
+ else if (mathjsNode.isOperatorNode) {
29
+ switch (mathjsNode.fn) {
30
+ case 'add':
31
+ return new addNode_1.AddNode(mathjsNodeToNode(mathjsNode.args[0]), mathjsNodeToNode(mathjsNode.args[1]));
32
+ case 'subtract':
33
+ return new substractNode_1.SubstractNode(mathjsNodeToNode(mathjsNode.args[0]), mathjsNodeToNode(mathjsNode.args[1]));
34
+ case 'unaryMinus':
35
+ return new oppositeNode_1.OppositeNode(mathjsNodeToNode(mathjsNode.args[0]));
36
+ case 'divide':
37
+ return new fractionNode_1.FractionNode(mathjsNodeToNode(mathjsNode.args[0]), mathjsNodeToNode(mathjsNode.args[1]));
38
+ case 'multiply':
39
+ return new multiplyNode_1.MultiplyNode(mathjsNodeToNode(mathjsNode.args[0]), mathjsNodeToNode(mathjsNode.args[1]));
40
+ case 'pow':
41
+ return new powerNode_1.PowerNode(mathjsNodeToNode(mathjsNode.args[0]), mathjsNodeToNode(mathjsNode.args[1]));
42
+ }
43
+ }
44
+ else if (mathjsNode.isFunctionNode) {
45
+ const fn = mathjsNode.fn;
46
+ switch (fn.name) {
47
+ case 'sqrt':
48
+ return new sqrtNode_1.SqrtNode(mathjsNodeToNode(mathjsNode.args[0]));
49
+ }
50
+ }
51
+ throw Error('unrecognized mathjs node');
52
+ };
@@ -1,2 +1,2 @@
1
- export declare function arrayEqual<T>(arr1: T[], arr2: T[]): boolean;
1
+ export declare function arrayEqual<T>(arr1: T[], arr2: T[]): boolean;
2
2
  //# sourceMappingURL=arrayEqual.d.ts.map
@@ -1,13 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.arrayEqual = void 0;
4
- function arrayEqual(arr1, arr2) {
5
- if (arr1.length !== arr2.length)
6
- return false;
7
- for (let i = 0; i < arr1.length; i++) {
8
- if (arr1[i] !== arr2[i])
9
- return false;
10
- }
11
- return true;
12
- }
13
- exports.arrayEqual = arrayEqual;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrayEqual = void 0;
4
+ function arrayEqual(arr1, arr2) {
5
+ if (arr1.length !== arr2.length)
6
+ return false;
7
+ for (let i = 0; i < arr1.length; i++) {
8
+ if (arr1[i] !== arr2[i])
9
+ return false;
10
+ }
11
+ return true;
12
+ }
13
+ exports.arrayEqual = arrayEqual;
@@ -1,2 +1,2 @@
1
- export declare const coinFlip: () => Boolean;
1
+ export declare const coinFlip: () => Boolean;
2
2
  //# sourceMappingURL=coinFlip.d.ts.map
@@ -1,7 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.coinFlip = void 0;
4
- const coinFlip = () => {
5
- return Math.random() < 0.5;
6
- };
7
- exports.coinFlip = coinFlip;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.coinFlip = void 0;
4
+ const coinFlip = () => {
5
+ return Math.random() < 0.5;
6
+ };
7
+ exports.coinFlip = coinFlip;
@@ -1,2 +1,2 @@
1
- export declare function random<t>(array: t[]): t;
1
+ export declare function random<t>(array: t[]): t;
2
2
  //# sourceMappingURL=random.d.ts.map
@@ -1,7 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.random = void 0;
4
- function random(array) {
5
- return array[Math.floor(Math.random() * array.length)];
6
- }
7
- exports.random = random;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.random = void 0;
4
+ function random(array) {
5
+ return array[Math.floor(Math.random() * array.length)];
6
+ }
7
+ exports.random = random;
@@ -1,2 +1,2 @@
1
- export declare function shuffle<T>(array: T[]): T[];
1
+ export declare function shuffle<T>(array: T[]): T[];
2
2
  //# sourceMappingURL=shuffle.d.ts.map
@@ -1,15 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.shuffle = void 0;
4
- /* Randomize array in-place using Durstenfeld shuffle algorithm */
5
- function shuffle(array) {
6
- const res = [...array];
7
- for (var i = res.length - 1; i > 0; i--) {
8
- var j = Math.floor(Math.random() * (i + 1));
9
- var temp = res[i];
10
- res[i] = res[j];
11
- res[j] = temp;
12
- }
13
- return res;
14
- }
15
- exports.shuffle = shuffle;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shuffle = void 0;
4
+ /* Randomize array in-place using Durstenfeld shuffle algorithm */
5
+ function shuffle(array) {
6
+ const res = [...array];
7
+ for (var i = res.length - 1; i > 0; i--) {
8
+ var j = Math.floor(Math.random() * (i + 1));
9
+ var temp = res[i];
10
+ res[i] = res[j];
11
+ res[j] = temp;
12
+ }
13
+ return res;
14
+ }
15
+ exports.shuffle = shuffle;
package/package.json CHANGED
@@ -1,50 +1,49 @@
1
- {
2
- "name": "math-exercises",
3
- "version": "1.3.16",
4
- "description": "Math exercises generator for middle school and high school",
5
- "main": "lib/index.js",
6
- "files": [
7
- "lib/**/*"
8
- ],
9
- "scripts": {
10
- "dev": "MODE=dev nodemon",
11
- "start": "ts-node -r tsconfig-paths/register src/index.ts",
12
- "test": "echo \"Error: no test specified\" && exit 1",
13
- "start:dev": "nodemon",
14
- "build": "tsc && tsc-alias"
15
- },
16
- "keywords": [],
17
- "author": "Heureux Hasard",
18
- "license": "ISC",
19
- "dependencies": {
20
- "mathjs": "^11.5.1"
21
- },
22
- "devDependencies": {
23
- "@types/cors": "^2.8.13",
24
- "@types/express": "^4.17.17",
25
- "@types/node": "^18.11.9",
26
- "nodemon": "^2.0.20",
27
- "prettier": "^2.8.4",
28
- "ts-node": "^10.9.1",
29
- "ts-node-dev": "^2.0.0",
30
- "tsc-alias": "^1.8.2",
31
- "tsconfig-paths": "^4.1.2",
32
- "tslint": "^6.1.3",
33
- "tslint-config-prettier": "^1.18.0",
34
- "typescript": "^4.9.3",
35
- "cors": "^2.8.5",
36
- "dotenv": "^16.0.3",
37
- "express": "^4.18.2"
38
- },
39
- "repository": {
40
- "type": "git",
41
- "url": "git+https://github.com/krirkrirk/math-exercises.git"
42
- },
43
- "bugs": {
44
- "url": "https://github.com/krirkrirk/math-exercises/issues"
45
- },
46
- "homepage": "https://github.com/krirkrirk/math-exercises#readme",
47
- "exports": {
48
- ".": "./lib/index.js"
49
- }
50
- }
1
+ {
2
+ "name": "math-exercises",
3
+ "version": "1.3.17",
4
+ "description": "Math exercises generator for middle school and high school",
5
+ "main": "lib/index.js",
6
+ "files": [
7
+ "lib/**/*"
8
+ ],
9
+ "scripts": {
10
+ "dev": "nodemon",
11
+ "start": "ts-node -r tsconfig-paths/register src/index.ts",
12
+ "test": "echo \"Error: no test specified\" && exit 1",
13
+ "build": "tsc && tsc-alias"
14
+ },
15
+ "keywords": [],
16
+ "author": "Heureux Hasard",
17
+ "license": "ISC",
18
+ "dependencies": {
19
+ "mathjs": "^11.5.1"
20
+ },
21
+ "devDependencies": {
22
+ "@types/cors": "^2.8.13",
23
+ "@types/express": "^4.17.17",
24
+ "@types/node": "^18.11.9",
25
+ "nodemon": "^2.0.20",
26
+ "prettier": "^2.8.4",
27
+ "ts-node": "^10.9.1",
28
+ "ts-node-dev": "^2.0.0",
29
+ "tsc-alias": "^1.8.2",
30
+ "tsconfig-paths": "^4.1.2",
31
+ "tslint": "^6.1.3",
32
+ "tslint-config-prettier": "^1.18.0",
33
+ "typescript": "^4.9.3",
34
+ "cors": "^2.8.5",
35
+ "dotenv": "^16.0.3",
36
+ "express": "^4.18.2"
37
+ },
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "git+https://github.com/krirkrirk/math-exercises.git"
41
+ },
42
+ "bugs": {
43
+ "url": "https://github.com/krirkrirk/math-exercises/issues"
44
+ },
45
+ "homepage": "https://github.com/krirkrirk/math-exercises#readme",
46
+ "exports": {
47
+ ".": "./lib/index.js"
48
+ }
49
+ }
@@ -1,88 +0,0 @@
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 +0,0 @@
1
- //# sourceMappingURL=thridDegreeDerivative.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thridDegreeDerivative.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/thridDegreeDerivative.ts"],"names":[],"mappings":""}
@@ -1,27 +0,0 @@
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 +0,0 @@
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,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.coprimesOf = void 0;
4
- const gcd_1 = require("./gcd");
5
- const coprimesOf = (nb) => {
6
- let coprimes = [];
7
- for (let i = 2; i <= nb; i++) {
8
- if ((0, gcd_1.gcd)(nb, i) === 1)
9
- coprimes.push(i);
10
- }
11
- return coprimes;
12
- };
13
- exports.coprimesOf = coprimesOf;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dividersOf = void 0;
4
- const dividersOf = (nb) => {
5
- let divisors = [];
6
- for (let i = 1; i <= nb; i++) {
7
- if (nb % i === 0)
8
- divisors.push(i);
9
- }
10
- return divisors;
11
- };
12
- exports.dividersOf = dividersOf;