math-exercises 1.3.41 → 1.3.42

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 (432) 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 +68 -68
  4. package/lib/exercises/calcul/addAndSubWithoutRelatives.d.ts +6 -6
  5. package/lib/exercises/calcul/addAndSubWithoutRelatives.js +77 -77
  6. package/lib/exercises/calcul/arithmetics/primeNumbers.d.ts +6 -6
  7. package/lib/exercises/calcul/arithmetics/primeNumbers.js +87 -87
  8. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +3 -3
  9. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +66 -66
  10. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +3 -3
  11. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +61 -61
  12. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +3 -3
  13. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +61 -61
  14. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.d.ts +3 -3
  15. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.js +116 -116
  16. package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +3 -3
  17. package/lib/exercises/calcul/fractions/fractionsDivision.js +58 -58
  18. package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +3 -3
  19. package/lib/exercises/calcul/fractions/fractionsProduct.js +57 -57
  20. package/lib/exercises/calcul/fractions/fractionsSum.d.ts +3 -3
  21. package/lib/exercises/calcul/fractions/fractionsSum.js +57 -57
  22. package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +3 -3
  23. package/lib/exercises/calcul/fractions/simplifyFraction.js +52 -52
  24. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.d.ts +3 -3
  25. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.js +76 -76
  26. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.d.ts +3 -3
  27. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.js +93 -93
  28. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.d.ts +3 -3
  29. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.js +77 -77
  30. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.d.ts +3 -3
  31. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.js +132 -132
  32. package/lib/exercises/calcul/operations/operationsPriorities.d.ts +10 -10
  33. package/lib/exercises/calcul/operations/operationsPriorities.js +125 -125
  34. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts +10 -10
  35. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +206 -206
  36. package/lib/exercises/calcul/operationsPriorities.js +88 -0
  37. package/lib/exercises/calcul/proportionality/proportionalityTable.d.ts +3 -3
  38. package/lib/exercises/calcul/proportionality/proportionalityTable.js +80 -80
  39. package/lib/exercises/calcul/rounding/rounding.d.ts +19 -19
  40. package/lib/exercises/calcul/rounding/rounding.js +136 -136
  41. package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +3 -3
  42. package/lib/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
  43. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +3 -3
  44. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +77 -77
  45. package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +3 -3
  46. package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +78 -78
  47. package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +3 -3
  48. package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +79 -79
  49. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +3 -3
  50. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +78 -78
  51. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +3 -3
  52. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +78 -78
  53. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.d.ts +3 -3
  54. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +153 -153
  55. package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +6 -6
  56. package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +66 -66
  57. package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +6 -6
  58. package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +69 -69
  59. package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +6 -6
  60. package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +70 -70
  61. package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +6 -6
  62. package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +72 -72
  63. package/lib/exercises/calculLitteral/equation/expEquation.d.ts +4 -0
  64. package/lib/exercises/calculLitteral/equation/expEquation.d.ts.map +1 -0
  65. package/lib/exercises/calculLitteral/equation/expEquation.js +64 -0
  66. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.d.ts +3 -3
  67. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.js +55 -55
  68. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.d.ts +3 -3
  69. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.js +32 -32
  70. package/lib/exercises/calculLitteral/equation/fractionEquation.d.ts +3 -3
  71. package/lib/exercises/calculLitteral/equation/fractionEquation.js +71 -71
  72. package/lib/exercises/calculLitteral/equation/logEquation.d.ts +4 -0
  73. package/lib/exercises/calculLitteral/equation/logEquation.d.ts.map +1 -0
  74. package/lib/exercises/calculLitteral/equation/logEquation.js +64 -0
  75. package/lib/exercises/calculLitteral/equation/multiplicationEquation.d.ts +3 -3
  76. package/lib/exercises/calculLitteral/equation/multiplicationEquation.js +74 -74
  77. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts +3 -3
  78. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +66 -66
  79. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts +3 -3
  80. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +73 -73
  81. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts +3 -3
  82. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +78 -78
  83. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +6 -6
  84. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +82 -82
  85. package/lib/exercises/calculLitteral/simplifying/evaluateExpression.d.ts +3 -3
  86. package/lib/exercises/calculLitteral/simplifying/evaluateExpression.js +61 -61
  87. package/lib/exercises/calculLitteral/simplifying/expSimplifiying.d.ts +4 -0
  88. package/lib/exercises/calculLitteral/simplifying/expSimplifiying.d.ts.map +1 -0
  89. package/lib/exercises/calculLitteral/simplifying/expSimplifiying.js +93 -0
  90. package/lib/exercises/calculLitteral/simplifying/logSimplifiying.d.ts +4 -0
  91. package/lib/exercises/calculLitteral/simplifying/logSimplifiying.d.ts.map +1 -0
  92. package/lib/exercises/calculLitteral/simplifying/logSimplifiying.js +75 -0
  93. package/lib/exercises/calculLitteral/simplifying/reduceExpression.d.ts +3 -3
  94. package/lib/exercises/calculLitteral/simplifying/reduceExpression.js +118 -118
  95. package/lib/exercises/conversion/aeraConversion.d.ts +3 -3
  96. package/lib/exercises/conversion/aeraConversion.js +59 -59
  97. package/lib/exercises/conversion/capacityConversion.d.ts +3 -3
  98. package/lib/exercises/conversion/capacityConversion.js +57 -57
  99. package/lib/exercises/conversion/lengthConversion.d.ts +3 -3
  100. package/lib/exercises/conversion/lengthConversion.js +56 -56
  101. package/lib/exercises/conversion/massConversion.d.ts +3 -3
  102. package/lib/exercises/conversion/massConversion.js +56 -56
  103. package/lib/exercises/conversion/volumeCapacityConversion.d.ts +3 -3
  104. package/lib/exercises/conversion/volumeCapacityConversion.js +73 -73
  105. package/lib/exercises/conversion/volumeConversion.d.ts +3 -3
  106. package/lib/exercises/conversion/volumeConversion.js +58 -58
  107. package/lib/exercises/derivation/derivative/affineDerivative.d.ts +4 -0
  108. package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +1 -0
  109. package/lib/exercises/derivation/derivative/affineDerivative.js +27 -0
  110. package/lib/exercises/derivation/derivative/constanteDerivative.d.ts +3 -3
  111. package/lib/exercises/derivation/derivative/constanteDerivative.js +53 -53
  112. package/lib/exercises/derivation/derivative/expDerivativeOne.d.ts +4 -0
  113. package/lib/exercises/derivation/derivative/expDerivativeOne.d.ts.map +1 -0
  114. package/lib/exercises/derivation/derivative/expDerivativeOne.js +62 -0
  115. package/lib/exercises/derivation/derivative/expDerivativeThree.d.ts +4 -0
  116. package/lib/exercises/derivation/derivative/expDerivativeThree.d.ts.map +1 -0
  117. package/lib/exercises/derivation/derivative/expDerivativeThree.js +61 -0
  118. package/lib/exercises/derivation/derivative/expDerivativeTwo.d.ts +4 -0
  119. package/lib/exercises/derivation/derivative/expDerivativeTwo.d.ts.map +1 -0
  120. package/lib/exercises/derivation/derivative/expDerivativeTwo.js +62 -0
  121. package/lib/exercises/derivation/derivative/firstDegreeDerivative.d.ts +3 -3
  122. package/lib/exercises/derivation/derivative/firstDegreeDerivative.js +55 -55
  123. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.d.ts +3 -3
  124. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.js +53 -53
  125. package/lib/exercises/derivation/derivative/lnDerivativeOne.d.ts +4 -0
  126. package/lib/exercises/derivation/derivative/lnDerivativeOne.d.ts.map +1 -0
  127. package/lib/exercises/derivation/derivative/lnDerivativeOne.js +60 -0
  128. package/lib/exercises/derivation/derivative/lnDerivativeThree.d.ts +4 -0
  129. package/lib/exercises/derivation/derivative/lnDerivativeThree.d.ts.map +1 -0
  130. package/lib/exercises/derivation/derivative/lnDerivativeThree.js +65 -0
  131. package/lib/exercises/derivation/derivative/lnDerivativeTwo.d.ts +4 -0
  132. package/lib/exercises/derivation/derivative/lnDerivativeTwo.d.ts.map +1 -0
  133. package/lib/exercises/derivation/derivative/lnDerivativeTwo.js +63 -0
  134. package/lib/exercises/derivation/derivative/powerFunctionDerivative.d.ts +3 -3
  135. package/lib/exercises/derivation/derivative/powerFunctionDerivative.js +61 -61
  136. package/lib/exercises/derivation/derivative/rootFunctionDerivative.d.ts +3 -3
  137. package/lib/exercises/derivation/derivative/rootFunctionDerivative.js +76 -76
  138. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts +3 -3
  139. package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +61 -61
  140. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.d.ts +3 -3
  141. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.js +63 -63
  142. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +1 -0
  143. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +1 -0
  144. package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +1 -0
  145. package/lib/exercises/derivation/derivative/usualderivative.d.ts +3 -3
  146. package/lib/exercises/derivation/derivative/usualderivative.js +36 -36
  147. package/lib/exercises/derivation/derivativeNumberReading.d.ts +3 -3
  148. package/lib/exercises/derivation/derivativeNumberReading.js +81 -81
  149. package/lib/exercises/exercise.d.ts +27 -27
  150. package/lib/exercises/exercise.js +7 -7
  151. package/lib/exercises/exercises.d.ts +1 -1
  152. package/lib/exercises/exercises.d.ts.map +1 -1
  153. package/lib/exercises/exercises.js +274 -250
  154. package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts +4 -0
  155. package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts.map +1 -0
  156. package/lib/exercises/geometry/cartesian/derivativeNumberReading.js +51 -0
  157. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.d.ts +1 -0
  158. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.d.ts.map +1 -0
  159. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.js +91 -0
  160. package/lib/exercises/geometry/cartesian/distanceBetweenTwoPoints.d.ts +3 -3
  161. package/lib/exercises/geometry/cartesian/distanceBetweenTwoPoints.js +101 -101
  162. package/lib/exercises/geometry/cartesian/imageFunction.d.ts +4 -0
  163. package/lib/exercises/geometry/cartesian/imageFunction.d.ts.map +1 -0
  164. package/lib/exercises/{calculLitteral/equation/evaluateExpression.js → geometry/cartesian/imageFunction.js} +62 -61
  165. package/lib/exercises/geometry/cartesian/inverseImageFunction.d.ts +4 -0
  166. package/lib/exercises/geometry/cartesian/inverseImageFunction.d.ts.map +1 -0
  167. package/lib/exercises/geometry/cartesian/inverseImageFunction.js +57 -0
  168. package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts +3 -3
  169. package/lib/exercises/geometry/cartesian/leadingCoefficient.js +90 -90
  170. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts +3 -3
  171. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.js +56 -56
  172. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts +3 -3
  173. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.js +55 -55
  174. package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
  175. package/lib/exercises/geometry/cartesian/midpoint.js +60 -60
  176. package/lib/exercises/geometry/euclidean/{triangleArea.d.ts → TriangleArea.d.ts} +4 -4
  177. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts.map +1 -0
  178. package/lib/exercises/geometry/euclidean/{triangleArea.js → TriangleArea.js} +77 -77
  179. package/lib/exercises/geometry/euclidean/circleArea.d.ts +3 -3
  180. package/lib/exercises/geometry/euclidean/circleArea.js +55 -55
  181. package/lib/exercises/geometry/euclidean/circleCircumference.d.ts +3 -3
  182. package/lib/exercises/geometry/euclidean/circleCircumference.js +55 -55
  183. package/lib/exercises/geometry/euclidean/pythagore.d.ts +3 -3
  184. package/lib/exercises/geometry/euclidean/pythagore.js +78 -78
  185. package/lib/exercises/geometry/euclidean/pythagoreCalcul.d.ts +3 -3
  186. package/lib/exercises/geometry/euclidean/pythagoreCalcul.js +88 -88
  187. package/lib/exercises/geometry/euclidean/rectangleArea.d.ts +3 -3
  188. package/lib/exercises/geometry/euclidean/rectangleArea.js +50 -50
  189. package/lib/exercises/geometry/euclidean/rectanglePerimeter.d.ts +3 -3
  190. package/lib/exercises/geometry/euclidean/rectanglePerimeter.js +50 -50
  191. package/lib/exercises/geometry/euclidean/rightTriangleArea.d.ts +3 -3
  192. package/lib/exercises/geometry/euclidean/rightTriangleArea.js +64 -64
  193. package/lib/exercises/geometry/euclidean/squareArea.d.ts +3 -3
  194. package/lib/exercises/geometry/euclidean/squareArea.js +49 -49
  195. package/lib/exercises/geometry/euclidean/squarePerimeter.d.ts +3 -3
  196. package/lib/exercises/geometry/euclidean/squarePerimeter.js +49 -49
  197. package/lib/exercises/geometry/euclidean/thales.d.ts +3 -3
  198. package/lib/exercises/geometry/euclidean/thales.js +110 -110
  199. package/lib/exercises/geometry/euclidean/thalesCalcul.d.ts +3 -3
  200. package/lib/exercises/geometry/euclidean/thalesCalcul.js +129 -129
  201. package/lib/exercises/geometry/euclidean/triangleAreaV2.d.ts +3 -3
  202. package/lib/exercises/geometry/euclidean/triangleAreaV2.js +73 -73
  203. package/lib/exercises/geometry/euclidean/trianglePerimeter.d.ts +3 -3
  204. package/lib/exercises/geometry/euclidean/trianglePerimeter.js +50 -50
  205. package/lib/exercises/geometry/euclidean/trigonometry.d.ts +3 -3
  206. package/lib/exercises/geometry/euclidean/trigonometry.js +94 -94
  207. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.d.ts +3 -3
  208. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.js +66 -66
  209. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.d.ts +3 -3
  210. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.js +77 -77
  211. package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
  212. package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +57 -57
  213. package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
  214. package/lib/exercises/percent/applyPercent.d.ts +3 -3
  215. package/lib/exercises/percent/applyPercent.js +71 -71
  216. package/lib/exercises/percent/averageEvolutionRate.d.ts +3 -3
  217. package/lib/exercises/percent/averageEvolutionRate.js +60 -60
  218. package/lib/exercises/percent/globalPercent.d.ts +3 -3
  219. package/lib/exercises/percent/globalPercent.js +74 -74
  220. package/lib/exercises/percent/reciprocalPercentage.d.ts +3 -3
  221. package/lib/exercises/percent/reciprocalPercentage.js +62 -62
  222. package/lib/exercises/powers/powersDivision.d.ts +7 -7
  223. package/lib/exercises/powers/powersDivision.js +74 -74
  224. package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
  225. package/lib/exercises/powers/powersOfTenToDecimal.js +62 -62
  226. package/lib/exercises/powers/powersPower.d.ts +7 -7
  227. package/lib/exercises/powers/powersPower.js +73 -73
  228. package/lib/exercises/powers/powersProduct.d.ts +7 -7
  229. package/lib/exercises/powers/powersProduct.js +74 -74
  230. package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
  231. package/lib/exercises/powers/scientificToDecimal.js +66 -66
  232. package/lib/exercises/proba/conditionalProbability.d.ts +3 -3
  233. package/lib/exercises/proba/conditionalProbability.js +99 -99
  234. package/lib/exercises/proba/marginalAndConditionalFrequency.d.ts +3 -3
  235. package/lib/exercises/proba/marginalAndConditionalFrequency.js +106 -106
  236. package/lib/exercises/proba/probabilityTree.d.ts +3 -3
  237. package/lib/exercises/proba/probabilityTree.js +132 -132
  238. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts +3 -3
  239. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +56 -56
  240. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts +3 -3
  241. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.js +56 -56
  242. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.d.ts +3 -3
  243. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.js +56 -56
  244. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.d.ts +3 -3
  245. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.js +55 -55
  246. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts +3 -3
  247. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +55 -55
  248. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.d.ts +3 -3
  249. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.js +65 -65
  250. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
  251. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +61 -61
  252. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
  253. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +66 -66
  254. package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
  255. package/lib/exercises/sequences/geometric/geometricFindReason.js +62 -62
  256. package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
  257. package/lib/exercises/sequences/geometric/geometricReasonUsage.js +61 -61
  258. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
  259. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +61 -61
  260. package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
  261. package/lib/exercises/squareRoots/simpifySquareRoot.js +58 -58
  262. package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
  263. package/lib/exercises/trigonometry/mainRemarkableValues.js +30 -30
  264. package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
  265. package/lib/exercises/trigonometry/remarkableValues.js +30 -30
  266. package/lib/exercises/utils/getDistinctQuestions.d.ts +3 -3
  267. package/lib/exercises/utils/getDistinctQuestions.js +30 -30
  268. package/lib/geometry/point.js +27 -0
  269. package/lib/geometry/vector.js +31 -0
  270. package/lib/index.d.ts +2 -2
  271. package/lib/index.d.ts.map +1 -1
  272. package/lib/index.js +6 -6
  273. package/lib/math/geometry/droite.d.ts +19 -19
  274. package/lib/math/geometry/droite.js +62 -62
  275. package/lib/math/geometry/point.d.ts +30 -30
  276. package/lib/math/geometry/point.js +64 -64
  277. package/lib/math/geometry/triangles.d.ts +53 -53
  278. package/lib/math/geometry/triangles.js +183 -183
  279. package/lib/math/geometry/vector.d.ts +15 -15
  280. package/lib/math/geometry/vector.js +31 -31
  281. package/lib/math/numbers/decimals/decimal.d.ts +24 -24
  282. package/lib/math/numbers/decimals/decimal.js +140 -140
  283. package/lib/math/numbers/epsilon.d.ts +1 -1
  284. package/lib/math/numbers/epsilon.js +10 -10
  285. package/lib/math/numbers/integer/integer.d.ts +14 -14
  286. package/lib/math/numbers/integer/integer.js +68 -68
  287. package/lib/math/numbers/integer/power.d.ts +13 -13
  288. package/lib/math/numbers/integer/power.js +52 -52
  289. package/lib/math/numbers/nombre.d.ts +13 -13
  290. package/lib/math/numbers/nombre.js +10 -10
  291. package/lib/math/numbers/rationals/rational.d.ts +25 -25
  292. package/lib/math/numbers/rationals/rational.js +113 -113
  293. package/lib/math/numbers/reals/real.d.ts +9 -9
  294. package/lib/math/numbers/reals/real.js +16 -16
  295. package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
  296. package/lib/math/numbers/reals/squareRoot.js +63 -63
  297. package/lib/math/polynomials/affine.d.ts +15 -15
  298. package/lib/math/polynomials/affine.js +42 -42
  299. package/lib/math/polynomials/polynomial.d.ts +26 -26
  300. package/lib/math/polynomials/polynomial.js +138 -138
  301. package/lib/math/sequences/arithmeticSequence.js +1 -1
  302. package/lib/math/sequences/geometricSequence.d.ts +3 -3
  303. package/lib/math/sequences/geometricSequence.js +8 -8
  304. package/lib/math/sequences/sequence.d.ts +22 -22
  305. package/lib/math/sequences/sequence.js +21 -21
  306. package/lib/math/sets/discreteSet.d.ts +10 -10
  307. package/lib/math/sets/discreteSet.js +28 -28
  308. package/lib/math/sets/emptySet.js +6 -6
  309. package/lib/math/sets/intervals/intervals.d.ts +26 -26
  310. package/lib/math/sets/intervals/intervals.js +104 -104
  311. package/lib/math/sets/mathSet.d.ts +7 -7
  312. package/lib/math/sets/mathSet.js +10 -10
  313. package/lib/math/sets/mathSetInterface.d.ts +5 -5
  314. package/lib/math/sets/mathSetInterface.js +2 -2
  315. package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
  316. package/lib/math/trigonometry/remarkableValue.js +29 -29
  317. package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
  318. package/lib/math/trigonometry/remarkableValues.js +51 -51
  319. package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
  320. package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
  321. package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
  322. package/lib/math/utils/arithmetic/dividersOf.js +12 -12
  323. package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
  324. package/lib/math/utils/arithmetic/gcd.js +7 -7
  325. package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
  326. package/lib/math/utils/arithmetic/isSquare.js +7 -7
  327. package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
  328. package/lib/math/utils/arithmetic/lcd.js +12 -12
  329. package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
  330. package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
  331. package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
  332. package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
  333. package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
  334. package/lib/math/utils/arithmetic/primeFactors.js +22 -22
  335. package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
  336. package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
  337. package/lib/math/utils/random/randTupleInt.d.ts +13 -13
  338. package/lib/math/utils/random/randTupleInt.js +30 -30
  339. package/lib/math/utils/random/randint.d.ts +4 -4
  340. package/lib/math/utils/random/randint.js +18 -18
  341. package/lib/math/utils/round.d.ts +1 -1
  342. package/lib/math/utils/round.js +8 -8
  343. package/lib/mathutils/arithmetic/coprimesOf.js +13 -0
  344. package/lib/mathutils/arithmetic/dividersOf.js +12 -0
  345. package/lib/mathutils/arithmetic/gcd.js +7 -0
  346. package/lib/mathutils/arithmetic/isSquare.js +7 -0
  347. package/lib/mathutils/arithmetic/lcd.js +12 -0
  348. package/lib/mathutils/arithmetic/nonCoprimesOf.js +13 -0
  349. package/lib/mathutils/arithmetic/nonDividersOf.js +14 -0
  350. package/lib/mathutils/arithmetic/primeFactors.js +22 -0
  351. package/lib/mathutils/decimals/decimalPartLengthOf.js +14 -0
  352. package/lib/mathutils/random/randTupleInt.js +30 -0
  353. package/lib/mathutils/random/randint.js +18 -0
  354. package/lib/mathutils/round.js +8 -0
  355. package/lib/numbers/decimals/decimal.js +140 -0
  356. package/lib/numbers/epsilon.js +10 -0
  357. package/lib/numbers/integer/integer.js +68 -0
  358. package/lib/numbers/integer/power.js +52 -0
  359. package/lib/numbers/nombre.js +10 -0
  360. package/lib/numbers/rationals/rational.js +113 -0
  361. package/lib/numbers/reals/real.js +16 -0
  362. package/lib/numbers/reals/squareRoot.js +63 -0
  363. package/lib/polynomials/affine.js +42 -0
  364. package/lib/polynomials/polynomial.js +125 -0
  365. package/lib/server.d.ts +1 -1
  366. package/lib/server.js +49 -49
  367. package/lib/sets/discreteSet.js +28 -0
  368. package/lib/sets/emptySet.js +6 -0
  369. package/lib/sets/intervals/intervals.js +108 -0
  370. package/lib/sets/intervals/union.js +1 -0
  371. package/lib/sets/mathSet.js +10 -0
  372. package/lib/sets/mathSetInterface.js +2 -0
  373. package/lib/tree/nodes/functions/cosNode.d.ts +9 -9
  374. package/lib/tree/nodes/functions/cosNode.js +21 -21
  375. package/lib/tree/nodes/functions/expNode.d.ts +10 -0
  376. package/lib/tree/nodes/functions/expNode.d.ts.map +1 -0
  377. package/lib/tree/nodes/functions/expNode.js +21 -0
  378. package/lib/tree/nodes/functions/functionNode.d.ts +16 -14
  379. package/lib/tree/nodes/functions/functionNode.d.ts.map +1 -1
  380. package/lib/tree/nodes/functions/functionNode.js +22 -20
  381. package/lib/tree/nodes/functions/logNode.d.ts +10 -0
  382. package/lib/tree/nodes/functions/logNode.d.ts.map +1 -0
  383. package/lib/tree/nodes/functions/logNode.js +21 -0
  384. package/lib/tree/nodes/functions/oppositeNode.d.ts +7 -7
  385. package/lib/tree/nodes/functions/oppositeNode.js +26 -26
  386. package/lib/tree/nodes/functions/sinNode.js +1 -1
  387. package/lib/tree/nodes/functions/sqrtNode.d.ts +8 -8
  388. package/lib/tree/nodes/functions/sqrtNode.js +18 -18
  389. package/lib/tree/nodes/node.d.ts +12 -12
  390. package/lib/tree/nodes/node.js +11 -11
  391. package/lib/tree/nodes/numbers/constantNode.d.ts +9 -9
  392. package/lib/tree/nodes/numbers/constantNode.js +18 -18
  393. package/lib/tree/nodes/numbers/numberNode.d.ts +10 -10
  394. package/lib/tree/nodes/numbers/numberNode.js +19 -19
  395. package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
  396. package/lib/tree/nodes/numbers/piNode.js +5 -5
  397. package/lib/tree/nodes/operators/addNode.d.ts +7 -7
  398. package/lib/tree/nodes/operators/addNode.js +19 -19
  399. package/lib/tree/nodes/operators/divideNode.d.ts +11 -11
  400. package/lib/tree/nodes/operators/divideNode.js +34 -34
  401. package/lib/tree/nodes/operators/equalNode.d.ts +7 -7
  402. package/lib/tree/nodes/operators/equalNode.js +16 -16
  403. package/lib/tree/nodes/operators/fractionNode.d.ts +11 -11
  404. package/lib/tree/nodes/operators/fractionNode.js +20 -20
  405. package/lib/tree/nodes/operators/multiplyNode.d.ts +7 -7
  406. package/lib/tree/nodes/operators/multiplyNode.js +43 -43
  407. package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
  408. package/lib/tree/nodes/operators/operatorNode.js +35 -35
  409. package/lib/tree/nodes/operators/powerNode.d.ts +7 -7
  410. package/lib/tree/nodes/operators/powerNode.js +33 -33
  411. package/lib/tree/nodes/operators/substractNode.d.ts +7 -7
  412. package/lib/tree/nodes/operators/substractNode.js +24 -24
  413. package/lib/tree/nodes/variables/variableNode.d.ts +8 -8
  414. package/lib/tree/nodes/variables/variableNode.js +19 -19
  415. package/lib/tree/parsers/derivateParser.js +62 -62
  416. package/lib/tree/parsers/latexParser.js +110 -0
  417. package/lib/tree/parsers/simplify.d.ts +2 -2
  418. package/lib/tree/parsers/simplify.d.ts.map +1 -1
  419. package/lib/tree/parsers/simplify.js +58 -52
  420. package/lib/utils/arrayEqual.d.ts +1 -1
  421. package/lib/utils/arrayEqual.js +13 -13
  422. package/lib/utils/coin.js +7 -0
  423. package/lib/utils/coinFlip.d.ts +1 -1
  424. package/lib/utils/coinFlip.js +7 -7
  425. package/lib/utils/random.d.ts +1 -1
  426. package/lib/utils/random.js +7 -7
  427. package/lib/utils/shuffle.d.ts +1 -1
  428. package/lib/utils/shuffle.js +15 -15
  429. package/package.json +51 -51
  430. package/lib/exercises/calculLitteral/equation/evaluateExpression.d.ts +0 -4
  431. package/lib/exercises/calculLitteral/equation/evaluateExpression.d.ts.map +0 -1
  432. package/lib/exercises/geometry/euclidean/triangleArea.d.ts.map +0 -1
@@ -1,58 +1,58 @@
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 shuffle_1 = require("../../utils/shuffle");
6
- const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
7
- const uuid_1 = require("uuid");
8
- exports.simplifySquareRoot = {
9
- id: 'simplifySqrt',
10
- connector: '=',
11
- instruction: 'Simplifier :',
12
- label: 'Simplification de racines carrées',
13
- levels: ['3', '2', '1'],
14
- isSingleStep: false,
15
- section: 'Racines carrées',
16
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSimplifySquareRoot, nb),
17
- keys: [],
18
- };
19
- function getSimplifySquareRoot() {
20
- const squareRoot = squareRoot_1.SquareRootConstructor.randomSimplifiable({
21
- allowPerfectSquare: false,
22
- maxSquare: 11,
23
- });
24
- const getPropositions = (n) => {
25
- const res = [];
26
- res.push({
27
- id: (0, uuid_1.v4)() + '',
28
- statement: squareRoot.simplify().toTree().toTex(),
29
- isRightAnswer: true,
30
- });
31
- for (let i = 0; i < n - 1; i++) {
32
- let isDuplicate;
33
- let proposition;
34
- do {
35
- const squareRoot = squareRoot_1.SquareRootConstructor.randomSimplifiable({
36
- allowPerfectSquare: false,
37
- maxSquare: 11,
38
- });
39
- proposition = {
40
- id: (0, uuid_1.v4)() + '',
41
- statement: squareRoot.simplify().toTree().toTex(),
42
- isRightAnswer: false,
43
- };
44
- isDuplicate = res.some((p) => p.statement === proposition.statement);
45
- } while (isDuplicate);
46
- res.push(proposition);
47
- }
48
- return (0, shuffle_1.shuffle)(res);
49
- };
50
- const question = {
51
- startStatement: squareRoot.toTree().toTex(),
52
- answer: squareRoot.simplify().toTree().toTex(),
53
- keys: [],
54
- getPropositions,
55
- };
56
- return question;
57
- }
58
- 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 shuffle_1 = require("../../utils/shuffle");
6
+ const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
7
+ const uuid_1 = require("uuid");
8
+ exports.simplifySquareRoot = {
9
+ id: 'simplifySqrt',
10
+ connector: '=',
11
+ instruction: 'Simplifier :',
12
+ label: 'Simplification de racines carrées',
13
+ levels: ['3', '2', '1'],
14
+ isSingleStep: false,
15
+ section: 'Racines carrées',
16
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSimplifySquareRoot, nb),
17
+ keys: [],
18
+ };
19
+ function getSimplifySquareRoot() {
20
+ const squareRoot = squareRoot_1.SquareRootConstructor.randomSimplifiable({
21
+ allowPerfectSquare: false,
22
+ maxSquare: 11,
23
+ });
24
+ const getPropositions = (n) => {
25
+ const res = [];
26
+ res.push({
27
+ id: (0, uuid_1.v4)() + '',
28
+ statement: squareRoot.simplify().toTree().toTex(),
29
+ isRightAnswer: true,
30
+ });
31
+ for (let i = 0; i < n - 1; i++) {
32
+ let isDuplicate;
33
+ let proposition;
34
+ do {
35
+ const squareRoot = squareRoot_1.SquareRootConstructor.randomSimplifiable({
36
+ allowPerfectSquare: false,
37
+ maxSquare: 11,
38
+ });
39
+ proposition = {
40
+ id: (0, uuid_1.v4)() + '',
41
+ statement: squareRoot.simplify().toTree().toTex(),
42
+ isRightAnswer: false,
43
+ };
44
+ isDuplicate = res.some((p) => p.statement === proposition.statement);
45
+ } while (isDuplicate);
46
+ res.push(proposition);
47
+ }
48
+ return (0, shuffle_1.shuffle)(res);
49
+ };
50
+ const question = {
51
+ startStatement: squareRoot.toTree().toTex(),
52
+ answer: squareRoot.simplify().toTree().toTex(),
53
+ keys: [],
54
+ getPropositions,
55
+ };
56
+ return question;
57
+ }
58
+ 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,30 +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 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;
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;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Point = exports.PointConstructor = void 0;
4
+ const numberNode_1 = require("../tree/nodes/numbers/numberNode");
5
+ const addNode_1 = require("../tree/nodes/operators/addNode");
6
+ const fractionNode_1 = require("../tree/nodes/operators/fractionNode");
7
+ const simplify_1 = require("../tree/parsers/simplify");
8
+ class PointConstructor {
9
+ }
10
+ exports.PointConstructor = PointConstructor;
11
+ class Point {
12
+ constructor(name, x, y) {
13
+ this.name = name;
14
+ this.x = x;
15
+ this.y = y;
16
+ }
17
+ toTex() {
18
+ return `${this.name}`;
19
+ }
20
+ toTexWithCoords() {
21
+ return `${this.name}\\left(${this.x.toTex()}; ${this.y.toTex()}\\right)`;
22
+ }
23
+ midpoint(B, name = 'I') {
24
+ return new Point(name, (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.x, B.x), new numberNode_1.NumberNode(2))), (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.y, B.y), new numberNode_1.NumberNode(2))));
25
+ }
26
+ }
27
+ exports.Point = Point;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Vector = exports.VectorConstructor = void 0;
4
+ const addNode_1 = require("../tree/nodes/operators/addNode");
5
+ const multiplyNode_1 = require("../tree/nodes/operators/multiplyNode");
6
+ const substractNode_1 = require("../tree/nodes/operators/substractNode");
7
+ const simplify_1 = require("../tree/parsers/simplify");
8
+ class VectorConstructor {
9
+ static fromPoints(origin, end) {
10
+ return new Vector(`${origin.name}${end.name}`, new substractNode_1.SubstractNode(end.x, origin.x), new substractNode_1.SubstractNode(end.y, origin.y));
11
+ }
12
+ }
13
+ exports.VectorConstructor = VectorConstructor;
14
+ class Vector {
15
+ constructor(name, x, y) {
16
+ this.name = name;
17
+ this.tex = `\\overrightarrow{${name}}`;
18
+ this.x = x;
19
+ this.y = y;
20
+ }
21
+ toTex() {
22
+ return `\\overrightarrow{${this.name}}`;
23
+ }
24
+ toTexWithCoords() {
25
+ return `\\overrightarrow{${this.name}}\\begin{pmatrix}${this.x.toTex()} \\\\ ${this.y.toTex()} \\end{pmatrix}`;
26
+ }
27
+ scalarProduct(v) {
28
+ return (0, simplify_1.simplifyNode)(new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(this.x, v.x), new multiplyNode_1.MultiplyNode(this.y, v.y)));
29
+ }
30
+ }
31
+ exports.Vector = Vector;
package/lib/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- declare const allExercises: import("./exercises/exercise").Exercise[];
2
- export { allExercises };
1
+ declare const allMathExercises: import("./exercises/exercise").Exercise[];
2
+ export { allMathExercises };
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,YAAY,2CAAiB,CAAC;AAQpC,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,gBAAgB,2CAAiB,CAAC;AAQxC,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
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.allMathExercises = void 0;
4
+ const exercises_1 = require("./exercises/exercises");
5
+ const allMathExercises = [...exercises_1.exercises];
6
+ exports.allMathExercises = allMathExercises;
@@ -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;
@@ -1,31 +1,31 @@
1
- import { Node } from '../../tree/nodes/node';
2
- export declare abstract class PointConstructor {
3
- }
4
- export declare class Point {
5
- name: string;
6
- x: Node;
7
- y: Node;
8
- constructor(name: string, x: Node, y: Node);
9
- toTex(): string;
10
- toTexWithCoords(): string;
11
- getXnumber(): number;
12
- getYnumber(): number;
13
- midpoint(B: Point, name?: string): Point;
14
- distanceTo(B: Point): number;
15
- distanceToNode(B: Point): Node;
16
- equalTo(B: Point): boolean;
17
- }
18
- /**
19
- * Droite{
20
- * constructor :
21
- * depuis 2 points : A,B --> Droite
22
- * depuis 1 point + coeff dir --> Droite
23
- * avec une équation de droite --> Droite
24
- *
25
- * méthodes :
26
- * toEquation() --> y = 3x+2
27
- * toCoeffDIr --> a
28
-
29
- * }
30
- */
1
+ import { Node } from '../../tree/nodes/node';
2
+ export declare abstract class PointConstructor {
3
+ }
4
+ export declare class Point {
5
+ name: string;
6
+ x: Node;
7
+ y: Node;
8
+ constructor(name: string, x: Node, y: Node);
9
+ toTex(): string;
10
+ toTexWithCoords(): string;
11
+ getXnumber(): number;
12
+ getYnumber(): number;
13
+ midpoint(B: Point, name?: string): Point;
14
+ distanceTo(B: Point): number;
15
+ distanceToNode(B: Point): Node;
16
+ equalTo(B: Point): boolean;
17
+ }
18
+ /**
19
+ * Droite{
20
+ * constructor :
21
+ * depuis 2 points : A,B --> Droite
22
+ * depuis 1 point + coeff dir --> Droite
23
+ * avec une équation de droite --> Droite
24
+ *
25
+ * méthodes :
26
+ * toEquation() --> y = 3x+2
27
+ * toCoeffDIr --> a
28
+
29
+ * }
30
+ */
31
31
  //# sourceMappingURL=point.d.ts.map