math-exercises 1.3.33 → 1.3.36

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 (381) 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 +41 -41
  4. package/lib/exercises/calcul/addAndSubWithoutRelatives.d.ts +6 -6
  5. package/lib/exercises/calcul/addAndSubWithoutRelatives.js +51 -51
  6. package/lib/exercises/calcul/arithmetics/primeNumbers.d.ts +7 -0
  7. package/lib/exercises/calcul/arithmetics/primeNumbers.d.ts.map +1 -0
  8. package/lib/exercises/calcul/arithmetics/primeNumbers.js +48 -0
  9. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +3 -3
  10. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +37 -37
  11. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +3 -3
  12. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +34 -34
  13. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +3 -3
  14. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +34 -34
  15. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.d.ts +3 -3
  16. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.js +69 -69
  17. package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +3 -3
  18. package/lib/exercises/calcul/fractions/fractionsDivision.js +31 -31
  19. package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +3 -3
  20. package/lib/exercises/calcul/fractions/fractionsProduct.js +30 -30
  21. package/lib/exercises/calcul/fractions/fractionsSum.d.ts +3 -3
  22. package/lib/exercises/calcul/fractions/fractionsSum.js +30 -30
  23. package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +3 -3
  24. package/lib/exercises/calcul/fractions/simplifyFraction.js +26 -26
  25. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.d.ts +3 -3
  26. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.js +46 -46
  27. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.d.ts +3 -3
  28. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.js +64 -64
  29. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.d.ts +3 -3
  30. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.js +51 -51
  31. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.d.ts +3 -3
  32. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.js +67 -67
  33. package/lib/exercises/calcul/operations/operationsPriorities.d.ts +10 -10
  34. package/lib/exercises/calcul/operations/operationsPriorities.js +100 -100
  35. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts +10 -10
  36. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +181 -181
  37. package/lib/exercises/calcul/rounding/rounding.d.ts +19 -19
  38. package/lib/exercises/calcul/rounding/rounding.js +87 -87
  39. package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +3 -3
  40. package/lib/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
  41. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +3 -3
  42. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +32 -32
  43. package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +3 -3
  44. package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +33 -33
  45. package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +3 -3
  46. package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +34 -34
  47. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +3 -3
  48. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +34 -34
  49. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +3 -3
  50. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +33 -33
  51. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.d.ts +3 -3
  52. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +47 -47
  53. package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +6 -6
  54. package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +39 -39
  55. package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +6 -6
  56. package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +42 -42
  57. package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +6 -6
  58. package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +43 -43
  59. package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +6 -6
  60. package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +45 -45
  61. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.d.ts +3 -3
  62. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.js +30 -30
  63. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.d.ts +3 -3
  64. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.js +32 -32
  65. package/lib/exercises/calculLitteral/equation/fractionEquation.d.ts +3 -3
  66. package/lib/exercises/calculLitteral/equation/fractionEquation.js +39 -39
  67. package/lib/exercises/calculLitteral/equation/multiplicationEquation.d.ts +3 -3
  68. package/lib/exercises/calculLitteral/equation/multiplicationEquation.js +39 -39
  69. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts +3 -3
  70. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +34 -34
  71. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts +3 -3
  72. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +35 -35
  73. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts +3 -3
  74. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +34 -34
  75. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +6 -6
  76. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +40 -40
  77. package/lib/exercises/conversion/aeraConversion.d.ts +3 -3
  78. package/lib/exercises/conversion/aeraConversion.js +32 -32
  79. package/lib/exercises/conversion/capacityConversion.d.ts +3 -3
  80. package/lib/exercises/conversion/capacityConversion.js +30 -30
  81. package/lib/exercises/conversion/lengthConversion.d.ts +3 -3
  82. package/lib/exercises/conversion/lengthConversion.js +30 -30
  83. package/lib/exercises/conversion/massConversion.d.ts +3 -3
  84. package/lib/exercises/conversion/massConversion.js +30 -30
  85. package/lib/exercises/conversion/volumeCapacityConversion.d.ts +3 -3
  86. package/lib/exercises/conversion/volumeCapacityConversion.js +47 -47
  87. package/lib/exercises/conversion/volumeConversion.d.ts +3 -3
  88. package/lib/exercises/conversion/volumeConversion.js +32 -32
  89. package/lib/exercises/derivation/derivative/constanteDerivative.d.ts +3 -3
  90. package/lib/exercises/derivation/derivative/constanteDerivative.js +27 -27
  91. package/lib/exercises/derivation/derivative/firstDegreeDerivative.d.ts +3 -3
  92. package/lib/exercises/derivation/derivative/firstDegreeDerivative.js +29 -29
  93. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.d.ts +3 -3
  94. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.js +27 -27
  95. package/lib/exercises/derivation/derivative/powerFunctionDerivative.d.ts +3 -3
  96. package/lib/exercises/derivation/derivative/powerFunctionDerivative.js +35 -35
  97. package/lib/exercises/derivation/derivative/rootFunctionDerivative.d.ts +3 -3
  98. package/lib/exercises/derivation/derivative/rootFunctionDerivative.js +40 -40
  99. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts +3 -3
  100. package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +30 -30
  101. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.d.ts +3 -3
  102. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.js +33 -33
  103. package/lib/exercises/derivation/derivative/usualderivative.d.ts +3 -3
  104. package/lib/exercises/derivation/derivative/usualderivative.js +36 -36
  105. package/lib/exercises/exercise.d.ts +21 -21
  106. package/lib/exercises/exercise.js +7 -7
  107. package/lib/exercises/exercises.d.ts +1 -1
  108. package/lib/exercises/exercises.d.ts.map +1 -1
  109. package/lib/exercises/exercises.js +242 -224
  110. package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts +3 -3
  111. package/lib/exercises/geometry/cartesian/derivativeNumberReading.js +51 -51
  112. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.js +91 -91
  113. package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts +3 -3
  114. package/lib/exercises/geometry/cartesian/leadingCoefficient.js +60 -60
  115. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts +3 -3
  116. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.js +30 -30
  117. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts +3 -3
  118. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.js +29 -29
  119. package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
  120. package/lib/exercises/geometry/cartesian/midpoint.js +31 -31
  121. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts +4 -4
  122. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts.map +1 -1
  123. package/lib/exercises/geometry/euclidean/TriangleArea.js +53 -53
  124. package/lib/exercises/geometry/euclidean/circleArea.d.ts +4 -0
  125. package/lib/exercises/geometry/euclidean/circleArea.d.ts.map +1 -0
  126. package/lib/exercises/geometry/euclidean/circleArea.js +28 -0
  127. package/lib/exercises/geometry/euclidean/circleCircumference.d.ts +4 -0
  128. package/lib/exercises/geometry/euclidean/circleCircumference.d.ts.map +1 -0
  129. package/lib/exercises/geometry/euclidean/circleCircumference.js +28 -0
  130. package/lib/exercises/geometry/euclidean/pythagore.d.ts +3 -3
  131. package/lib/exercises/geometry/euclidean/pythagore.js +31 -31
  132. package/lib/exercises/geometry/euclidean/pythagoreCalcul.d.ts +3 -3
  133. package/lib/exercises/geometry/euclidean/pythagoreCalcul.js +60 -60
  134. package/lib/exercises/geometry/euclidean/rectangleArea.d.ts +4 -0
  135. package/lib/exercises/geometry/euclidean/rectangleArea.d.ts.map +1 -0
  136. package/lib/exercises/geometry/euclidean/rectangleArea.js +25 -0
  137. package/lib/exercises/geometry/euclidean/rectanglePerimeter.d.ts +4 -0
  138. package/lib/exercises/geometry/euclidean/rectanglePerimeter.d.ts.map +1 -0
  139. package/lib/exercises/geometry/euclidean/rectanglePerimeter.js +25 -0
  140. package/lib/exercises/geometry/euclidean/rightTriangleArea.d.ts +3 -3
  141. package/lib/exercises/geometry/euclidean/rightTriangleArea.js +39 -39
  142. package/lib/exercises/geometry/euclidean/squareArea.d.ts +4 -0
  143. package/lib/exercises/geometry/euclidean/squareArea.d.ts.map +1 -0
  144. package/lib/exercises/geometry/euclidean/squareArea.js +24 -0
  145. package/lib/exercises/geometry/euclidean/squarePerimeter.d.ts +4 -0
  146. package/lib/exercises/geometry/euclidean/squarePerimeter.d.ts.map +1 -0
  147. package/lib/exercises/geometry/euclidean/squarePerimeter.js +24 -0
  148. package/lib/exercises/geometry/euclidean/thales.d.ts +3 -3
  149. package/lib/exercises/geometry/euclidean/thales.js +67 -67
  150. package/lib/exercises/geometry/euclidean/thalesCalcul.d.ts +3 -3
  151. package/lib/exercises/geometry/euclidean/thalesCalcul.js +104 -104
  152. package/lib/exercises/geometry/euclidean/triangleAreaV2.d.ts +4 -0
  153. package/lib/exercises/geometry/euclidean/triangleAreaV2.d.ts.map +1 -0
  154. package/lib/exercises/geometry/euclidean/triangleAreaV2.js +42 -0
  155. package/lib/exercises/geometry/euclidean/trianglePerimeter.d.ts +4 -0
  156. package/lib/exercises/geometry/euclidean/trianglePerimeter.d.ts.map +1 -0
  157. package/lib/exercises/geometry/euclidean/trianglePerimeter.js +24 -0
  158. package/lib/exercises/geometry/euclidean/trigonometry.d.ts +3 -3
  159. package/lib/exercises/geometry/euclidean/trigonometry.js +55 -55
  160. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.d.ts +3 -3
  161. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.js +42 -42
  162. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.d.ts +3 -3
  163. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.js +52 -52
  164. package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
  165. package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +30 -30
  166. package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
  167. package/lib/exercises/percent/applyPercent.d.ts +3 -3
  168. package/lib/exercises/percent/applyPercent.js +41 -41
  169. package/lib/exercises/percent/averageEvolutionRate.d.ts +3 -3
  170. package/lib/exercises/percent/averageEvolutionRate.js +30 -30
  171. package/lib/exercises/percent/globalPercent.d.ts +3 -3
  172. package/lib/exercises/percent/globalPercent.js +44 -44
  173. package/lib/exercises/percent/reciprocalPercentage.d.ts +3 -3
  174. package/lib/exercises/percent/reciprocalPercentage.js +32 -32
  175. package/lib/exercises/powers/powersDivision.d.ts +7 -7
  176. package/lib/exercises/powers/powersDivision.js +46 -46
  177. package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
  178. package/lib/exercises/powers/powersOfTenToDecimal.js +34 -34
  179. package/lib/exercises/powers/powersPower.d.ts +7 -7
  180. package/lib/exercises/powers/powersPower.js +45 -45
  181. package/lib/exercises/powers/powersProduct.d.ts +7 -7
  182. package/lib/exercises/powers/powersProduct.js +46 -46
  183. package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
  184. package/lib/exercises/powers/scientificToDecimal.js +39 -39
  185. package/lib/exercises/proba/conditionalProbability.d.ts +3 -3
  186. package/lib/exercises/proba/conditionalProbability.js +74 -74
  187. package/lib/exercises/proba/marginalAndConditionalFrequency.d.ts +3 -3
  188. package/lib/exercises/proba/marginalAndConditionalFrequency.js +81 -81
  189. package/lib/exercises/proba/probabilityTree.d.ts +3 -3
  190. package/lib/exercises/proba/probabilityTree.js +105 -105
  191. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts +3 -3
  192. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +31 -31
  193. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts +3 -3
  194. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.js +31 -31
  195. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.d.ts +3 -3
  196. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.js +31 -31
  197. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.d.ts +3 -3
  198. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.js +30 -30
  199. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts +3 -3
  200. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +30 -30
  201. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.d.ts +3 -3
  202. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.js +40 -40
  203. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
  204. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +36 -36
  205. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
  206. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +35 -35
  207. package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
  208. package/lib/exercises/sequences/geometric/geometricFindReason.js +31 -31
  209. package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
  210. package/lib/exercises/sequences/geometric/geometricReasonUsage.js +30 -30
  211. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
  212. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +30 -30
  213. package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
  214. package/lib/exercises/squareRoots/simpifySquareRoot.js +29 -29
  215. package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
  216. package/lib/exercises/trigonometry/mainRemarkableValues.js +30 -30
  217. package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
  218. package/lib/exercises/trigonometry/remarkableValues.js +30 -30
  219. package/lib/exercises/utils/getDistinctQuestions.d.ts +3 -3
  220. package/lib/exercises/utils/getDistinctQuestions.d.ts.map +1 -1
  221. package/lib/exercises/utils/getDistinctQuestions.js +30 -28
  222. package/lib/index.d.ts +2 -2
  223. package/lib/index.js +6 -6
  224. package/lib/math/geometry/droite.d.ts +19 -19
  225. package/lib/math/geometry/droite.js +62 -62
  226. package/lib/math/geometry/point.d.ts +29 -29
  227. package/lib/math/geometry/point.js +55 -55
  228. package/lib/math/geometry/triangles.d.ts +53 -53
  229. package/lib/math/geometry/triangles.js +183 -183
  230. package/lib/math/geometry/vector.d.ts +15 -15
  231. package/lib/math/geometry/vector.js +31 -31
  232. package/lib/math/numbers/decimals/decimal.d.ts +24 -24
  233. package/lib/math/numbers/decimals/decimal.js +140 -140
  234. package/lib/math/numbers/epsilon.d.ts +1 -1
  235. package/lib/math/numbers/epsilon.js +10 -10
  236. package/lib/math/numbers/integer/integer.d.ts +14 -14
  237. package/lib/math/numbers/integer/integer.js +68 -68
  238. package/lib/math/numbers/integer/power.d.ts +13 -13
  239. package/lib/math/numbers/integer/power.js +52 -52
  240. package/lib/math/numbers/nombre.d.ts +13 -13
  241. package/lib/math/numbers/nombre.js +10 -10
  242. package/lib/math/numbers/rationals/rational.d.ts +25 -25
  243. package/lib/math/numbers/rationals/rational.js +113 -113
  244. package/lib/math/numbers/reals/real.d.ts +9 -9
  245. package/lib/math/numbers/reals/real.js +16 -16
  246. package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
  247. package/lib/math/numbers/reals/squareRoot.js +63 -63
  248. package/lib/math/polynomials/affine.d.ts +15 -15
  249. package/lib/math/polynomials/affine.js +42 -42
  250. package/lib/math/polynomials/polynomial.d.ts +25 -25
  251. package/lib/math/polynomials/polynomial.js +131 -131
  252. package/lib/math/sequences/arithmeticSequence.js +1 -1
  253. package/lib/math/sequences/geometricSequence.d.ts +3 -3
  254. package/lib/math/sequences/geometricSequence.js +8 -8
  255. package/lib/math/sequences/sequence.d.ts +22 -22
  256. package/lib/math/sequences/sequence.js +21 -21
  257. package/lib/math/sets/discreteSet.d.ts +10 -10
  258. package/lib/math/sets/discreteSet.js +28 -28
  259. package/lib/math/sets/emptySet.js +6 -6
  260. package/lib/math/sets/intervals/intervals.d.ts +26 -26
  261. package/lib/math/sets/intervals/intervals.js +104 -104
  262. package/lib/math/sets/mathSet.d.ts +7 -7
  263. package/lib/math/sets/mathSet.js +10 -10
  264. package/lib/math/sets/mathSetInterface.d.ts +5 -5
  265. package/lib/math/sets/mathSetInterface.js +2 -2
  266. package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
  267. package/lib/math/trigonometry/remarkableValue.js +29 -29
  268. package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
  269. package/lib/math/trigonometry/remarkableValues.js +51 -51
  270. package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
  271. package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
  272. package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
  273. package/lib/math/utils/arithmetic/dividersOf.js +12 -12
  274. package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
  275. package/lib/math/utils/arithmetic/gcd.js +7 -7
  276. package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
  277. package/lib/math/utils/arithmetic/isSquare.js +7 -7
  278. package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
  279. package/lib/math/utils/arithmetic/lcd.js +12 -12
  280. package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
  281. package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
  282. package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
  283. package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
  284. package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
  285. package/lib/math/utils/arithmetic/primeFactors.js +22 -22
  286. package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
  287. package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
  288. package/lib/math/utils/random/randTupleInt.d.ts +13 -13
  289. package/lib/math/utils/random/randTupleInt.js +30 -30
  290. package/lib/math/utils/random/randint.d.ts +4 -4
  291. package/lib/math/utils/random/randint.js +18 -18
  292. package/lib/math/utils/round.d.ts +1 -1
  293. package/lib/math/utils/round.js +8 -8
  294. package/lib/server.d.ts +1 -1
  295. package/lib/server.js +53 -53
  296. package/lib/tree/nodes/functions/cosNode.d.ts +9 -9
  297. package/lib/tree/nodes/functions/cosNode.js +21 -21
  298. package/lib/tree/nodes/functions/functionNode.d.ts +14 -14
  299. package/lib/tree/nodes/functions/functionNode.js +20 -20
  300. package/lib/tree/nodes/functions/oppositeNode.d.ts +7 -7
  301. package/lib/tree/nodes/functions/oppositeNode.js +26 -26
  302. package/lib/tree/nodes/functions/sinNode.js +1 -1
  303. package/lib/tree/nodes/functions/sqrtNode.d.ts +8 -8
  304. package/lib/tree/nodes/functions/sqrtNode.js +18 -18
  305. package/lib/tree/nodes/node.d.ts +12 -12
  306. package/lib/tree/nodes/node.js +11 -11
  307. package/lib/tree/nodes/numbers/constantNode.d.ts +9 -9
  308. package/lib/tree/nodes/numbers/constantNode.js +18 -18
  309. package/lib/tree/nodes/numbers/numberNode.d.ts +10 -10
  310. package/lib/tree/nodes/numbers/numberNode.js +19 -19
  311. package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
  312. package/lib/tree/nodes/numbers/piNode.js +5 -5
  313. package/lib/tree/nodes/operators/addNode.d.ts +7 -7
  314. package/lib/tree/nodes/operators/addNode.js +19 -19
  315. package/lib/tree/nodes/operators/divideNode.d.ts +11 -11
  316. package/lib/tree/nodes/operators/divideNode.js +34 -34
  317. package/lib/tree/nodes/operators/equalNode.d.ts +7 -7
  318. package/lib/tree/nodes/operators/equalNode.js +16 -16
  319. package/lib/tree/nodes/operators/fractionNode.d.ts +11 -11
  320. package/lib/tree/nodes/operators/fractionNode.js +20 -20
  321. package/lib/tree/nodes/operators/multiplyNode.d.ts +7 -7
  322. package/lib/tree/nodes/operators/multiplyNode.js +43 -43
  323. package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
  324. package/lib/tree/nodes/operators/operatorNode.js +35 -35
  325. package/lib/tree/nodes/operators/powerNode.d.ts +7 -7
  326. package/lib/tree/nodes/operators/powerNode.js +33 -33
  327. package/lib/tree/nodes/operators/substractNode.d.ts +7 -7
  328. package/lib/tree/nodes/operators/substractNode.js +24 -24
  329. package/lib/tree/nodes/variables/variableNode.d.ts +8 -8
  330. package/lib/tree/nodes/variables/variableNode.js +19 -19
  331. package/lib/tree/parsers/derivateParser.js +62 -62
  332. package/lib/tree/parsers/simplify.d.ts +2 -2
  333. package/lib/tree/parsers/simplify.js +52 -52
  334. package/lib/utils/arrayEqual.d.ts +1 -1
  335. package/lib/utils/arrayEqual.js +13 -13
  336. package/lib/utils/coinFlip.d.ts +1 -1
  337. package/lib/utils/coinFlip.js +7 -7
  338. package/lib/utils/random.d.ts +1 -1
  339. package/lib/utils/random.js +7 -7
  340. package/lib/utils/shuffle.d.ts +1 -1
  341. package/lib/utils/shuffle.js +15 -15
  342. package/package.json +50 -50
  343. package/lib/exercises/calcul/operationsPriorities.js +0 -88
  344. package/lib/exercises/derivation/derivative/affineDerivative.d.ts +0 -4
  345. package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +0 -1
  346. package/lib/exercises/derivation/derivative/affineDerivative.js +0 -27
  347. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +0 -1
  348. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +0 -1
  349. package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +0 -1
  350. package/lib/geometry/point.js +0 -27
  351. package/lib/geometry/vector.js +0 -31
  352. package/lib/mathutils/arithmetic/coprimesOf.js +0 -13
  353. package/lib/mathutils/arithmetic/dividersOf.js +0 -12
  354. package/lib/mathutils/arithmetic/gcd.js +0 -7
  355. package/lib/mathutils/arithmetic/isSquare.js +0 -7
  356. package/lib/mathutils/arithmetic/lcd.js +0 -12
  357. package/lib/mathutils/arithmetic/nonCoprimesOf.js +0 -13
  358. package/lib/mathutils/arithmetic/nonDividersOf.js +0 -14
  359. package/lib/mathutils/arithmetic/primeFactors.js +0 -22
  360. package/lib/mathutils/decimals/decimalPartLengthOf.js +0 -14
  361. package/lib/mathutils/random/randTupleInt.js +0 -30
  362. package/lib/mathutils/random/randint.js +0 -18
  363. package/lib/mathutils/round.js +0 -8
  364. package/lib/numbers/decimals/decimal.js +0 -140
  365. package/lib/numbers/epsilon.js +0 -10
  366. package/lib/numbers/integer/integer.js +0 -68
  367. package/lib/numbers/integer/power.js +0 -52
  368. package/lib/numbers/nombre.js +0 -10
  369. package/lib/numbers/rationals/rational.js +0 -113
  370. package/lib/numbers/reals/real.js +0 -16
  371. package/lib/numbers/reals/squareRoot.js +0 -63
  372. package/lib/polynomials/affine.js +0 -42
  373. package/lib/polynomials/polynomial.js +0 -125
  374. package/lib/sets/discreteSet.js +0 -28
  375. package/lib/sets/emptySet.js +0 -6
  376. package/lib/sets/intervals/intervals.js +0 -108
  377. package/lib/sets/intervals/union.js +0 -1
  378. package/lib/sets/mathSet.js +0 -10
  379. package/lib/sets/mathSetInterface.js +0 -2
  380. package/lib/tree/parsers/latexParser.js +0 -110
  381. package/lib/utils/coin.js +0 -7
@@ -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 '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
+ "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,50 @@
1
- {
2
- "name": "math-exercises",
3
- "version": "1.3.33",
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
- "prepublishOnly": "npm run build",
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.36",
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
+ "prepublishOnly": "npm run build",
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,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,4 +0,0 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- export declare const affineDerivative: Exercise;
3
- export declare function getAffineDerivativeQuestion(): Question;
4
- //# sourceMappingURL=affineDerivative.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"affineDerivative.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/affineDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAQ9D,eAAO,MAAM,gBAAgB,EAAE,QAS9B,CAAC;AAEF,wBAAgB,2BAA2B,IAAI,QAAQ,CAUtD"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAffineDerivativeQuestion = exports.affineDerivative = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const affine_1 = require("../../../math/polynomials/affine");
6
- const randint_1 = require("../../../math/utils/random/randint");
7
- exports.affineDerivative = {
8
- id: 'affineDerivative',
9
- connector: '=',
10
- instruction: '',
11
- isSingleStep: false,
12
- label: "Calculer la dérivée d'une fonction affine",
13
- levels: ['1, 0'],
14
- section: 'Dérivation',
15
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getAffineDerivativeQuestion, nb),
16
- };
17
- function getAffineDerivativeQuestion() {
18
- const a = (0, randint_1.randint)(-20, 20, [0]);
19
- const b = (0, randint_1.randint)(-20, 20);
20
- const affine = new affine_1.Affine(a, b);
21
- return {
22
- instruction: `Soit $f(x) = ${affine.toTex()}$. Déterminer la fonction dérivée $f'$ de $f$.`,
23
- startStatement: `f'(x)`,
24
- answer: a.toString(),
25
- };
26
- }
27
- exports.getAffineDerivativeQuestion = getAffineDerivativeQuestion;
@@ -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;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gcd = void 0;
4
- function gcd(a, b) {
5
- return b ? gcd(b, a % b) : a;
6
- }
7
- exports.gcd = gcd;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSquare = void 0;
4
- const isSquare = (a) => {
5
- return a > 0 && Math.sqrt(a) % 1 === 0;
6
- };
7
- exports.isSquare = isSquare;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.lcd = void 0;
4
- function lcd(a, b) {
5
- const max = Math.max(a, b);
6
- for (let i = max; i < a * b; i++) {
7
- if (i % a === 0 && i % b === 0)
8
- return i;
9
- }
10
- return a * b;
11
- }
12
- exports.lcd = lcd;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nonCoprimesOf = void 0;
4
- const gcd_1 = require("./gcd");
5
- const nonCoprimesOf = (nb) => {
6
- let nonCoprimes = [];
7
- for (let i = 1; i <= nb; i++) {
8
- if ((0, gcd_1.gcd)(nb, i) !== 1)
9
- nonCoprimes.push(i);
10
- }
11
- return nonCoprimes;
12
- };
13
- exports.nonCoprimesOf = nonCoprimesOf;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nonDivisorOf = void 0;
4
- const dividersOf_1 = require("./dividersOf");
5
- const nonDivisorOf = (nb) => {
6
- let nonDividers = [];
7
- let dividers = (0, dividersOf_1.dividersOf)(nb);
8
- for (let i = 2; i < nb; i++) {
9
- if (nb % i !== 0)
10
- nonDividers.push(i);
11
- }
12
- return nonDividers;
13
- };
14
- exports.nonDivisorOf = nonDivisorOf;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.primeFactors = void 0;
4
- /***
5
- * returns array of prime factors
6
- * e.g 12 -> [2, 2, 3]
7
- */
8
- const primeFactors = (a) => {
9
- const factors = [];
10
- let divisor = 2;
11
- while (a >= 2) {
12
- if (a % divisor === 0) {
13
- factors.push(divisor);
14
- a = a / divisor;
15
- }
16
- else {
17
- divisor++;
18
- }
19
- }
20
- return factors;
21
- };
22
- exports.primeFactors = primeFactors;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.decimalPartLengthOf = void 0;
4
- const decimalPartLengthOf = (x) => {
5
- function hasFraction(x) {
6
- return Math.abs(Math.round(x) - x) > 1e-10;
7
- }
8
- let count = 0;
9
- // multiply by increasing powers of 10 until the fractional part is ~ 0
10
- while (hasFraction(x * 10 ** count) && isFinite(10 ** count))
11
- count++;
12
- return count;
13
- };
14
- exports.decimalPartLengthOf = decimalPartLengthOf;