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,30 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getGeometricReasonUsage = exports.geometricReasonUsage = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const randint_1 = require("../../../math/utils/random/randint");
6
- exports.geometricReasonUsage = {
7
- id: 'geometricReasonUsage',
8
- connector: '=',
9
- instruction: '',
10
- label: "Utiliser la raison d'une suite géométrique",
11
- levels: ['1', '0'],
12
- isSingleStep: false,
13
- section: 'Suites',
14
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getGeometricReasonUsage, nb),
15
- keys: ['q', 'n', 'u', 'underscore'],
16
- };
17
- function getGeometricReasonUsage() {
18
- const reason = (0, randint_1.randint)(2, 10);
19
- const startRank = (0, randint_1.randint)(0, 20);
20
- const askedRank = startRank + 1;
21
- const startValue = (0, randint_1.randint)(1, 10);
22
- const question = {
23
- instruction: `$(u_n)$ est une suite géométrique de raison $q = ${reason}$ et on sait que $u_{${startRank}} = ${startValue}$. Calculer : `,
24
- startStatement: `u_{${askedRank}}`,
25
- answer: (startValue * reason).toString(),
26
- keys: ['q', 'n', 'u', 'underscore'],
27
- };
28
- return question;
29
- }
30
- exports.getGeometricReasonUsage = getGeometricReasonUsage;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGeometricReasonUsage = exports.geometricReasonUsage = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ exports.geometricReasonUsage = {
7
+ id: 'geometricReasonUsage',
8
+ connector: '=',
9
+ instruction: '',
10
+ label: "Utiliser la raison d'une suite géométrique",
11
+ levels: ['1', '0'],
12
+ isSingleStep: false,
13
+ section: 'Suites',
14
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getGeometricReasonUsage, nb),
15
+ keys: ['q', 'n', 'u', 'underscore'],
16
+ };
17
+ function getGeometricReasonUsage() {
18
+ const reason = (0, randint_1.randint)(2, 10);
19
+ const startRank = (0, randint_1.randint)(0, 20);
20
+ const askedRank = startRank + 1;
21
+ const startValue = (0, randint_1.randint)(1, 10);
22
+ const question = {
23
+ instruction: `$(u_n)$ est une suite géométrique de raison $q = ${reason}$ et on sait que $u_{${startRank}} = ${startValue}$. Calculer : `,
24
+ startStatement: `u_{${askedRank}}`,
25
+ answer: (startValue * reason).toString(),
26
+ keys: ['q', 'n', 'u', 'underscore'],
27
+ };
28
+ return question;
29
+ }
30
+ exports.getGeometricReasonUsage = getGeometricReasonUsage;
@@ -1,8 +1,8 @@
1
- import { Exercise, GeneratorOptions, Question } from '../../../exercises/exercise';
2
- interface GeometricRecurrenceFormulaUsageOptions extends GeneratorOptions {
3
- test: boolean;
4
- }
5
- export declare const geometricRecurrenceFormulaUsage: Exercise;
6
- export declare function getGeometricRecurrenceFormulaUsage(options: GeometricRecurrenceFormulaUsageOptions): Question;
7
- export {};
1
+ import { Exercise, GeneratorOptions, Question } from '../../../exercises/exercise';
2
+ interface GeometricRecurrenceFormulaUsageOptions extends GeneratorOptions {
3
+ test: boolean;
4
+ }
5
+ export declare const geometricRecurrenceFormulaUsage: Exercise;
6
+ export declare function getGeometricRecurrenceFormulaUsage(options: GeometricRecurrenceFormulaUsageOptions): Question;
7
+ export {};
8
8
  //# sourceMappingURL=geometricRecurrenceFormulaUsage.d.ts.map
@@ -1,30 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getGeometricRecurrenceFormulaUsage = exports.geometricRecurrenceFormulaUsage = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const randint_1 = require("../../../math/utils/random/randint");
6
- exports.geometricRecurrenceFormulaUsage = {
7
- id: 'geometricRecurrenceFormulaUsage',
8
- connector: '=',
9
- instruction: '',
10
- label: "Utiliser la formule de récurrence d'une suite géométrique",
11
- levels: ['1', '0'],
12
- isSingleStep: false,
13
- section: 'Suites',
14
- keys: ['q', 'n', 'u', 'underscore'],
15
- generator: (nb, options) => (0, getDistinctQuestions_1.getDistinctQuestions)(getGeometricRecurrenceFormulaUsage, nb),
16
- };
17
- function getGeometricRecurrenceFormulaUsage(options) {
18
- const firstRank = (0, randint_1.randint)(1, 20);
19
- const firstValue = (0, randint_1.randint)(1, 10);
20
- const reason = (0, randint_1.randint)(2, 10);
21
- const askedRank = firstRank + 1;
22
- const question = {
23
- instruction: `$(u_n)$ est une suite définie par $u_{n+1} = ${reason}\\times u_n$ et $u_{${firstRank}} = ${firstValue}$. Calculer :`,
24
- startStatement: `u_{${askedRank}}`,
25
- answer: (firstValue * reason).toString(),
26
- keys: ['q', 'n', 'u', 'underscore'],
27
- };
28
- return question;
29
- }
30
- exports.getGeometricRecurrenceFormulaUsage = getGeometricRecurrenceFormulaUsage;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGeometricRecurrenceFormulaUsage = exports.geometricRecurrenceFormulaUsage = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ exports.geometricRecurrenceFormulaUsage = {
7
+ id: 'geometricRecurrenceFormulaUsage',
8
+ connector: '=',
9
+ instruction: '',
10
+ label: "Utiliser la formule de récurrence d'une suite géométrique",
11
+ levels: ['1', '0'],
12
+ isSingleStep: false,
13
+ section: 'Suites',
14
+ keys: ['q', 'n', 'u', 'underscore'],
15
+ generator: (nb, options) => (0, getDistinctQuestions_1.getDistinctQuestions)(getGeometricRecurrenceFormulaUsage, nb),
16
+ };
17
+ function getGeometricRecurrenceFormulaUsage(options) {
18
+ const firstRank = (0, randint_1.randint)(1, 20);
19
+ const firstValue = (0, randint_1.randint)(1, 10);
20
+ const reason = (0, randint_1.randint)(2, 10);
21
+ const askedRank = firstRank + 1;
22
+ const question = {
23
+ instruction: `$(u_n)$ est une suite définie par $u_{n+1} = ${reason}\\times u_n$ et $u_{${firstRank}} = ${firstValue}$. Calculer :`,
24
+ startStatement: `u_{${askedRank}}`,
25
+ answer: (firstValue * reason).toString(),
26
+ keys: ['q', 'n', 'u', 'underscore'],
27
+ };
28
+ return question;
29
+ }
30
+ exports.getGeometricRecurrenceFormulaUsage = getGeometricRecurrenceFormulaUsage;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../exercise';
2
- export declare const simplifySquareRoot: Exercise;
3
- export declare function getSimplifySquareRoot(): Question;
1
+ import { Exercise, Question } from '../exercise';
2
+ export declare const simplifySquareRoot: Exercise;
3
+ export declare function getSimplifySquareRoot(): Question;
4
4
  //# sourceMappingURL=simpifySquareRoot.d.ts.map
@@ -1,29 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSimplifySquareRoot = exports.simplifySquareRoot = void 0;
4
- const squareRoot_1 = require("../../math/numbers/reals/squareRoot");
5
- const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
6
- exports.simplifySquareRoot = {
7
- id: 'simplifySqrt',
8
- connector: '=',
9
- instruction: 'Simplifier :',
10
- label: 'Simplification de racines carrées',
11
- levels: ['3', '2', '1'],
12
- isSingleStep: false,
13
- section: 'Racines carrées',
14
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSimplifySquareRoot, nb),
15
- keys: [],
16
- };
17
- function getSimplifySquareRoot() {
18
- const squareRoot = squareRoot_1.SquareRootConstructor.randomSimplifiable({
19
- allowPerfectSquare: false,
20
- maxSquare: 11,
21
- });
22
- const question = {
23
- startStatement: squareRoot.toTree().toTex(),
24
- answer: squareRoot.simplify().toTree().toTex(),
25
- keys: [],
26
- };
27
- return question;
28
- }
29
- exports.getSimplifySquareRoot = getSimplifySquareRoot;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSimplifySquareRoot = exports.simplifySquareRoot = void 0;
4
+ const squareRoot_1 = require("../../math/numbers/reals/squareRoot");
5
+ const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
6
+ exports.simplifySquareRoot = {
7
+ id: 'simplifySqrt',
8
+ connector: '=',
9
+ instruction: 'Simplifier :',
10
+ label: 'Simplification de racines carrées',
11
+ levels: ['3', '2', '1'],
12
+ isSingleStep: false,
13
+ section: 'Racines carrées',
14
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSimplifySquareRoot, nb),
15
+ keys: [],
16
+ };
17
+ function getSimplifySquareRoot() {
18
+ const squareRoot = squareRoot_1.SquareRootConstructor.randomSimplifiable({
19
+ allowPerfectSquare: false,
20
+ maxSquare: 11,
21
+ });
22
+ const question = {
23
+ startStatement: squareRoot.toTree().toTex(),
24
+ answer: squareRoot.simplify().toTree().toTex(),
25
+ keys: [],
26
+ };
27
+ return question;
28
+ }
29
+ exports.getSimplifySquareRoot = getSimplifySquareRoot;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../exercise';
2
- export declare const mainRemarkableValuesExercise: Exercise;
3
- export declare function getMainRemarkableValues(): Question;
1
+ import { Exercise, Question } from '../exercise';
2
+ export declare const mainRemarkableValuesExercise: Exercise;
3
+ export declare function getMainRemarkableValues(): Question;
4
4
  //# sourceMappingURL=mainRemarkableValues.d.ts.map
@@ -1,30 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMainRemarkableValues = exports.mainRemarkableValuesExercise = void 0;
4
- const remarkableValue_1 = require("../../math/trigonometry/remarkableValue");
5
- const coinFlip_1 = require("../../utils/coinFlip");
6
- const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
7
- exports.mainRemarkableValuesExercise = {
8
- id: 'mainRemarkableValues',
9
- connector: '=',
10
- instruction: 'Donner la valeur exacte :',
11
- label: 'Valeurs remarquables de cos et sin sur [-\\pi, \\pi]',
12
- levels: ['1', '0'],
13
- isSingleStep: false,
14
- section: 'Trigonométrie',
15
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getMainRemarkableValues, nb),
16
- keys: ['pi', 'cos', 'sin'],
17
- };
18
- function getMainRemarkableValues() {
19
- const isCos = (0, coinFlip_1.coinFlip)();
20
- const remarkableValue = remarkableValue_1.RemarkableValueConstructor.mainInterval();
21
- const question = {
22
- startStatement: isCos
23
- ? `\\cos\\left(${remarkableValue.angle.toTex()}\\right)`
24
- : `\\sin\\left(${remarkableValue.angle.toTex()}\\right)`,
25
- answer: isCos ? remarkableValue.cos.toTex() : remarkableValue.sin.toTex(),
26
- keys: ['pi', 'cos', 'sin'],
27
- };
28
- return question;
29
- }
30
- exports.getMainRemarkableValues = getMainRemarkableValues;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMainRemarkableValues = exports.mainRemarkableValuesExercise = void 0;
4
+ const remarkableValue_1 = require("../../math/trigonometry/remarkableValue");
5
+ const coinFlip_1 = require("../../utils/coinFlip");
6
+ const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
7
+ exports.mainRemarkableValuesExercise = {
8
+ id: 'mainRemarkableValues',
9
+ connector: '=',
10
+ instruction: 'Donner la valeur exacte :',
11
+ label: 'Valeurs remarquables de cos et sin sur [-\\pi, \\pi]',
12
+ levels: ['1', '0'],
13
+ isSingleStep: false,
14
+ section: 'Trigonométrie',
15
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getMainRemarkableValues, nb),
16
+ keys: ['pi', 'cos', 'sin'],
17
+ };
18
+ function getMainRemarkableValues() {
19
+ const isCos = (0, coinFlip_1.coinFlip)();
20
+ const remarkableValue = remarkableValue_1.RemarkableValueConstructor.mainInterval();
21
+ const question = {
22
+ startStatement: isCos
23
+ ? `\\cos\\left(${remarkableValue.angle.toTex()}\\right)`
24
+ : `\\sin\\left(${remarkableValue.angle.toTex()}\\right)`,
25
+ answer: isCos ? remarkableValue.cos.toTex() : remarkableValue.sin.toTex(),
26
+ keys: ['pi', 'cos', 'sin'],
27
+ };
28
+ return question;
29
+ }
30
+ exports.getMainRemarkableValues = getMainRemarkableValues;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../exercise';
2
- export declare const remarkableValuesExercise: Exercise;
3
- export declare function getRemarkableValues(): Question;
1
+ import { Exercise, Question } from '../exercise';
2
+ export declare const remarkableValuesExercise: Exercise;
3
+ export declare function getRemarkableValues(): Question;
4
4
  //# sourceMappingURL=remarkableValues.d.ts.map
@@ -1,30 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRemarkableValues = exports.remarkableValuesExercise = void 0;
4
- const remarkableValue_1 = require("../../math/trigonometry/remarkableValue");
5
- const coinFlip_1 = require("../../utils/coinFlip");
6
- const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
7
- exports.remarkableValuesExercise = {
8
- id: 'remarkableValues',
9
- connector: '=',
10
- instruction: 'Donner la valeur exacte :',
11
- label: 'Valeurs remarquables de cos et sin',
12
- levels: ['1', '0'],
13
- isSingleStep: false,
14
- section: 'Trigonométrie',
15
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRemarkableValues, nb),
16
- keys: ['pi', 'cos', 'sin'],
17
- };
18
- function getRemarkableValues() {
19
- const isCos = (0, coinFlip_1.coinFlip)();
20
- const remarkableValue = remarkableValue_1.RemarkableValueConstructor.simplifiable();
21
- const question = {
22
- startStatement: isCos
23
- ? `\\cos\\left(${remarkableValue.angle.toTex()}\\right)`
24
- : `\\sin\\left(${remarkableValue.angle.toTex()}\\right)`,
25
- answer: isCos ? remarkableValue.cos.toTex() : remarkableValue.sin.toTex(),
26
- keys: ['pi', 'cos', 'sin'],
27
- };
28
- return question;
29
- }
30
- exports.getRemarkableValues = getRemarkableValues;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRemarkableValues = exports.remarkableValuesExercise = void 0;
4
+ const remarkableValue_1 = require("../../math/trigonometry/remarkableValue");
5
+ const coinFlip_1 = require("../../utils/coinFlip");
6
+ const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
7
+ exports.remarkableValuesExercise = {
8
+ id: 'remarkableValues',
9
+ connector: '=',
10
+ instruction: 'Donner la valeur exacte :',
11
+ label: 'Valeurs remarquables de cos et sin',
12
+ levels: ['1', '0'],
13
+ isSingleStep: false,
14
+ section: 'Trigonométrie',
15
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRemarkableValues, nb),
16
+ keys: ['pi', 'cos', 'sin'],
17
+ };
18
+ function getRemarkableValues() {
19
+ const isCos = (0, coinFlip_1.coinFlip)();
20
+ const remarkableValue = remarkableValue_1.RemarkableValueConstructor.simplifiable();
21
+ const question = {
22
+ startStatement: isCos
23
+ ? `\\cos\\left(${remarkableValue.angle.toTex()}\\right)`
24
+ : `\\sin\\left(${remarkableValue.angle.toTex()}\\right)`,
25
+ answer: isCos ? remarkableValue.cos.toTex() : remarkableValue.sin.toTex(),
26
+ keys: ['pi', 'cos', 'sin'],
27
+ };
28
+ return question;
29
+ }
30
+ exports.getRemarkableValues = getRemarkableValues;
@@ -1,4 +1,4 @@
1
- import { Question } from '../exercise';
2
- export declare function equalTab<T>(array1: T[], array2: T[]): boolean;
3
- export declare const getDistinctQuestions: (generator: Function, nb: number) => Question[];
1
+ import { Question } from '../exercise';
2
+ export declare function equalTab<T>(array1: T[], array2: T[]): boolean;
3
+ export declare const getDistinctQuestions: (generator: Function, nb: number) => Question[];
4
4
  //# sourceMappingURL=getDistinctQuestions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDistinctQuestions.d.ts","sourceRoot":"","sources":["../../../src/exercises/utils/getDistinctQuestions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,WAKnD;AAED,eAAO,MAAM,oBAAoB,cAAe,QAAQ,MAAM,MAAM,KAAG,QAAQ,EAkB9E,CAAC"}
1
+ {"version":3,"file":"getDistinctQuestions.d.ts","sourceRoot":"","sources":["../../../src/exercises/utils/getDistinctQuestions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,WAMnD;AAED,eAAO,MAAM,oBAAoB,cAAe,QAAQ,MAAM,MAAM,KAAG,QAAQ,EAkB9E,CAAC"}
@@ -1,28 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDistinctQuestions = exports.equalTab = void 0;
4
- function equalTab(array1, array2) {
5
- if (!array1 || !array2)
6
- return false;
7
- if (array1.length !== array2.length)
8
- return false;
9
- for (let i = 0; i < array1.length; i++)
10
- if (array1[i] !== array2[i])
11
- return false;
12
- return true;
13
- }
14
- exports.equalTab = equalTab;
15
- const getDistinctQuestions = (generator, nb) => {
16
- const res = [];
17
- for (let i = 0; i < nb; i++) {
18
- let question;
19
- do {
20
- question = generator();
21
- } while (res.some((q) => q.instruction === question.instruction &&
22
- q.startStatement === question.startStatement &&
23
- equalTab(q.commands, question.commands)));
24
- res.push(question);
25
- }
26
- return res;
27
- };
28
- exports.getDistinctQuestions = getDistinctQuestions;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDistinctQuestions = exports.equalTab = void 0;
4
+ function equalTab(array1, array2) {
5
+ if (!array1 && !array2)
6
+ return true;
7
+ if (!array1 || !array2)
8
+ return false;
9
+ if (array1.length !== array2.length)
10
+ return false;
11
+ for (let i = 0; i < array1.length; i++)
12
+ if (array1[i] !== array2[i])
13
+ return false;
14
+ return true;
15
+ }
16
+ exports.equalTab = equalTab;
17
+ const getDistinctQuestions = (generator, nb) => {
18
+ const res = [];
19
+ for (let i = 0; i < nb; i++) {
20
+ let question;
21
+ do {
22
+ question = generator();
23
+ } while (res.some((q) => q.instruction === question.instruction &&
24
+ q.startStatement === question.startStatement &&
25
+ equalTab(q.commands, question.commands)));
26
+ res.push(question);
27
+ }
28
+ return res;
29
+ };
30
+ exports.getDistinctQuestions = getDistinctQuestions;
package/lib/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- declare const allExercises: import("./exercises/exercise").Exercise[];
2
- export { allExercises };
1
+ declare const allExercises: import("./exercises/exercise").Exercise[];
2
+ export { allExercises };
3
3
  //# sourceMappingURL=index.d.ts.map
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.allExercises = void 0;
4
- const exercises_1 = require("./exercises/exercises");
5
- const allExercises = [...exercises_1.exercises];
6
- exports.allExercises = allExercises;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.allExercises = void 0;
4
+ const exercises_1 = require("./exercises/exercises");
5
+ const allExercises = [...exercises_1.exercises];
6
+ exports.allExercises = allExercises;
@@ -1,20 +1,20 @@
1
- import { Node } from '../../tree/nodes/node';
2
- import { Point } from './point';
3
- export declare abstract class DroiteConstructor {
4
- static fromTwoPoints(A: Point, B: Point, name?: string): Droite;
5
- static fromPointAndSlope(A: Point, m: Node, name?: string): Droite;
6
- static fromPointAndAngle(A: Point, theta: Node, name?: string): Droite;
7
- }
8
- export declare class Droite {
9
- name: string;
10
- a: Node;
11
- b: Node;
12
- constructor(name: string | undefined, a: Node, b: Node);
13
- toTex(): string;
14
- toEquationForm(): string;
15
- toEquationExpression(): string;
16
- toPolynome(): string;
17
- getLeadingCoefficient(): string;
18
- intersection(D: Droite, name?: string): Point | void;
19
- }
1
+ import { Node } from '../../tree/nodes/node';
2
+ import { Point } from './point';
3
+ export declare abstract class DroiteConstructor {
4
+ static fromTwoPoints(A: Point, B: Point, name?: string): Droite;
5
+ static fromPointAndSlope(A: Point, m: Node, name?: string): Droite;
6
+ static fromPointAndAngle(A: Point, theta: Node, name?: string): Droite;
7
+ }
8
+ export declare class Droite {
9
+ name: string;
10
+ a: Node;
11
+ b: Node;
12
+ constructor(name: string | undefined, a: Node, b: Node);
13
+ toTex(): string;
14
+ toEquationForm(): string;
15
+ toEquationExpression(): string;
16
+ toPolynome(): string;
17
+ getLeadingCoefficient(): string;
18
+ intersection(D: Droite, name?: string): Point | void;
19
+ }
20
20
  //# sourceMappingURL=droite.d.ts.map
@@ -1,62 +1,62 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Droite = exports.DroiteConstructor = 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 multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
8
- const substractNode_1 = require("../../tree/nodes/operators/substractNode");
9
- const simplify_1 = require("../../tree/parsers/simplify");
10
- const mathjs_1 = require("mathjs");
11
- const point_1 = require("./point");
12
- const polynomial_1 = require("../polynomials/polynomial");
13
- const round_1 = require("../utils/round");
14
- class DroiteConstructor {
15
- static fromTwoPoints(A, B, name = 'd') {
16
- const a = new fractionNode_1.FractionNode(new substractNode_1.SubstractNode(B.y, A.y), new substractNode_1.SubstractNode(B.x, A.x));
17
- const b = new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(a, A.x));
18
- return new Droite(name, (0, simplify_1.simplifyNode)(a), (0, simplify_1.simplifyNode)(b));
19
- }
20
- static fromPointAndSlope(A, m, name = 'd') {
21
- return new Droite(name, (0, simplify_1.simplifyNode)(m), (0, simplify_1.simplifyNode)(new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(m, A.x))));
22
- }
23
- static fromPointAndAngle(A, theta, name = 'd') {
24
- const m = new numberNode_1.NumberNode((0, round_1.round)(Math.tan(parseFloat(theta.toMathString())), 2));
25
- const b = new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(m, A.x));
26
- return new Droite(name, (0, simplify_1.simplifyNode)(m), (0, simplify_1.simplifyNode)(b));
27
- }
28
- }
29
- exports.DroiteConstructor = DroiteConstructor;
30
- class Droite {
31
- constructor(name = 'D', a, b) {
32
- // ax + b
33
- this.name = name;
34
- this.a = a;
35
- this.b = b;
36
- }
37
- toTex() {
38
- return `${this.name}`;
39
- }
40
- toEquationForm() {
41
- return `${this.a.toTex()}x + ${this.b.toTex()}`;
42
- }
43
- toEquationExpression() {
44
- return `(${this.name}) : y = ${this.toEquationForm()}`; // (D) : y = ax + b
45
- }
46
- toPolynome() {
47
- const polynome = new polynomial_1.Polynomial([(0, mathjs_1.evaluate)(this.b.toMathString()), (0, mathjs_1.evaluate)(this.a.toMathString())], 'x');
48
- return polynome.toTex();
49
- }
50
- getLeadingCoefficient() {
51
- return `${(0, simplify_1.simplifyNode)(this.a).toTex()}`;
52
- }
53
- // TODO : ajouter des conditions ou cas ou les deux droites sont Parallèles
54
- intersection(D, name = 'P') {
55
- if ((0, mathjs_1.evaluate)(D.a.toMathString()) === (0, mathjs_1.evaluate)(this.a.toMathString()))
56
- return;
57
- const x = new fractionNode_1.FractionNode(new substractNode_1.SubstractNode(D.b, this.b), new substractNode_1.SubstractNode(this.a, D.a));
58
- const y = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(this.a, x), this.b);
59
- return new point_1.Point(name, (0, simplify_1.simplifyNode)(x), (0, simplify_1.simplifyNode)(y));
60
- }
61
- }
62
- exports.Droite = Droite;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Droite = exports.DroiteConstructor = 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 multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
8
+ const substractNode_1 = require("../../tree/nodes/operators/substractNode");
9
+ const simplify_1 = require("../../tree/parsers/simplify");
10
+ const mathjs_1 = require("mathjs");
11
+ const point_1 = require("./point");
12
+ const polynomial_1 = require("../polynomials/polynomial");
13
+ const round_1 = require("../utils/round");
14
+ class DroiteConstructor {
15
+ static fromTwoPoints(A, B, name = 'd') {
16
+ const a = new fractionNode_1.FractionNode(new substractNode_1.SubstractNode(B.y, A.y), new substractNode_1.SubstractNode(B.x, A.x));
17
+ const b = new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(a, A.x));
18
+ return new Droite(name, (0, simplify_1.simplifyNode)(a), (0, simplify_1.simplifyNode)(b));
19
+ }
20
+ static fromPointAndSlope(A, m, name = 'd') {
21
+ return new Droite(name, (0, simplify_1.simplifyNode)(m), (0, simplify_1.simplifyNode)(new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(m, A.x))));
22
+ }
23
+ static fromPointAndAngle(A, theta, name = 'd') {
24
+ const m = new numberNode_1.NumberNode((0, round_1.round)(Math.tan(parseFloat(theta.toMathString())), 2));
25
+ const b = new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(m, A.x));
26
+ return new Droite(name, (0, simplify_1.simplifyNode)(m), (0, simplify_1.simplifyNode)(b));
27
+ }
28
+ }
29
+ exports.DroiteConstructor = DroiteConstructor;
30
+ class Droite {
31
+ constructor(name = 'D', a, b) {
32
+ // ax + b
33
+ this.name = name;
34
+ this.a = a;
35
+ this.b = b;
36
+ }
37
+ toTex() {
38
+ return `${this.name}`;
39
+ }
40
+ toEquationForm() {
41
+ return `${this.a.toTex()}x + ${this.b.toTex()}`;
42
+ }
43
+ toEquationExpression() {
44
+ return `(${this.name}) : y = ${this.toEquationForm()}`; // (D) : y = ax + b
45
+ }
46
+ toPolynome() {
47
+ const polynome = new polynomial_1.Polynomial([(0, mathjs_1.evaluate)(this.b.toMathString()), (0, mathjs_1.evaluate)(this.a.toMathString())], 'x');
48
+ return polynome.toTex();
49
+ }
50
+ getLeadingCoefficient() {
51
+ return `${(0, simplify_1.simplifyNode)(this.a).toTex()}`;
52
+ }
53
+ // TODO : ajouter des conditions ou cas ou les deux droites sont Parallèles
54
+ intersection(D, name = 'P') {
55
+ if ((0, mathjs_1.evaluate)(D.a.toMathString()) === (0, mathjs_1.evaluate)(this.a.toMathString()))
56
+ return;
57
+ const x = new fractionNode_1.FractionNode(new substractNode_1.SubstractNode(D.b, this.b), new substractNode_1.SubstractNode(this.a, D.a));
58
+ const y = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(this.a, x), this.b);
59
+ return new point_1.Point(name, (0, simplify_1.simplifyNode)(x), (0, simplify_1.simplifyNode)(y));
60
+ }
61
+ }
62
+ exports.Droite = Droite;