math-exercises 1.3.55 → 1.3.57

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 (541) 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 +71 -71
  4. package/lib/exercises/calcul/addAndSubWithoutRelatives.d.ts +6 -6
  5. package/lib/exercises/calcul/addAndSubWithoutRelatives.js +80 -80
  6. package/lib/exercises/calcul/arithmetics/euclideanDivision.d.ts +3 -3
  7. package/lib/exercises/calcul/arithmetics/euclideanDivision.js +70 -70
  8. package/lib/exercises/calcul/arithmetics/primeNumbers.d.ts +6 -6
  9. package/lib/exercises/calcul/arithmetics/primeNumbers.js +90 -90
  10. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +3 -3
  11. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +69 -69
  12. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +3 -3
  13. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +64 -64
  14. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +3 -3
  15. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +64 -64
  16. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.d.ts +3 -3
  17. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.js +119 -119
  18. package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +3 -3
  19. package/lib/exercises/calcul/fractions/fractionsDivision.js +61 -61
  20. package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +3 -3
  21. package/lib/exercises/calcul/fractions/fractionsProduct.js +60 -60
  22. package/lib/exercises/calcul/fractions/fractionsSum.d.ts +3 -3
  23. package/lib/exercises/calcul/fractions/fractionsSum.js +60 -60
  24. package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +3 -3
  25. package/lib/exercises/calcul/fractions/simplifyFraction.js +55 -55
  26. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.d.ts +3 -3
  27. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.js +79 -79
  28. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.d.ts +3 -3
  29. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.js +96 -96
  30. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.d.ts +3 -3
  31. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.js +80 -80
  32. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.d.ts +3 -3
  33. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.js +135 -135
  34. package/lib/exercises/calcul/operations/operationsPriorities.d.ts +10 -10
  35. package/lib/exercises/calcul/operations/operationsPriorities.js +128 -128
  36. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts +10 -10
  37. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +209 -209
  38. package/lib/exercises/calcul/proportionality/proportionalityTable.d.ts +3 -3
  39. package/lib/exercises/calcul/proportionality/proportionalityTable.js +83 -83
  40. package/lib/exercises/calcul/rounding/rounding.d.ts +19 -19
  41. package/lib/exercises/calcul/rounding/rounding.js +142 -142
  42. package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +3 -3
  43. package/lib/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
  44. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +3 -3
  45. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +82 -82
  46. package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +3 -3
  47. package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +84 -84
  48. package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +3 -3
  49. package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +85 -85
  50. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +3 -3
  51. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +84 -84
  52. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +3 -3
  53. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +84 -84
  54. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.d.ts +3 -3
  55. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +165 -165
  56. package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +6 -6
  57. package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +71 -71
  58. package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +6 -6
  59. package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +69 -69
  60. package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +6 -6
  61. package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +73 -73
  62. package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +6 -6
  63. package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +75 -75
  64. package/lib/exercises/calculLitteral/equation/evaluateExpression.d.ts +4 -0
  65. package/lib/exercises/calculLitteral/equation/evaluateExpression.d.ts.map +1 -0
  66. package/lib/exercises/calculLitteral/equation/evaluateExpression.js +61 -0
  67. package/lib/exercises/calculLitteral/equation/expEquation.d.ts +3 -3
  68. package/lib/exercises/calculLitteral/equation/expEquation.js +67 -67
  69. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.d.ts +3 -3
  70. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.js +64 -64
  71. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.d.ts +3 -3
  72. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.js +32 -32
  73. package/lib/exercises/calculLitteral/equation/fractionEquation.d.ts +3 -3
  74. package/lib/exercises/calculLitteral/equation/fractionEquation.js +74 -74
  75. package/lib/exercises/calculLitteral/equation/logEquation.d.ts +3 -3
  76. package/lib/exercises/calculLitteral/equation/logEquation.js +67 -67
  77. package/lib/exercises/calculLitteral/equation/multiplicationEquation.d.ts +3 -3
  78. package/lib/exercises/calculLitteral/equation/multiplicationEquation.js +77 -77
  79. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts +3 -3
  80. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +70 -70
  81. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts +3 -3
  82. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +78 -78
  83. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts +3 -3
  84. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +84 -84
  85. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +6 -6
  86. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +88 -88
  87. package/lib/exercises/calculLitteral/simplifying/evaluateExpression.d.ts +3 -3
  88. package/lib/exercises/calculLitteral/simplifying/evaluateExpression.js +64 -64
  89. package/lib/exercises/calculLitteral/simplifying/expSimplifiying.d.ts +3 -3
  90. package/lib/exercises/calculLitteral/simplifying/expSimplifiying.js +96 -96
  91. package/lib/exercises/calculLitteral/simplifying/logSimplifiying.d.ts +3 -3
  92. package/lib/exercises/calculLitteral/simplifying/logSimplifiying.js +78 -78
  93. package/lib/exercises/calculLitteral/simplifying/reduceExpression.d.ts +3 -3
  94. package/lib/exercises/calculLitteral/simplifying/reduceExpression.js +121 -121
  95. package/lib/exercises/complex/addComplex.d.ts +3 -3
  96. package/lib/exercises/complex/addComplex.js +70 -70
  97. package/lib/exercises/complex/conjugateComplex.ts.d.ts +3 -3
  98. package/lib/exercises/complex/conjugateComplex.ts.js +73 -73
  99. package/lib/exercises/complex/conjugateDivideComplex.d.ts +3 -3
  100. package/lib/exercises/complex/conjugateDivideComplex.js +65 -65
  101. package/lib/exercises/complex/conjugateMultiplyComplex.d.ts +3 -3
  102. package/lib/exercises/complex/conjugateMultiplyComplex.js +69 -69
  103. package/lib/exercises/complex/divideComplex.d.ts +3 -3
  104. package/lib/exercises/complex/divideComplex.js +61 -61
  105. package/lib/exercises/complex/inverseComplex.d.ts +3 -3
  106. package/lib/exercises/complex/inverseComplex.js +73 -73
  107. package/lib/exercises/complex/linearCombinaisonComplex.d.ts +3 -3
  108. package/lib/exercises/complex/linearCombinaisonComplex.js +67 -67
  109. package/lib/exercises/complex/mutiplyComplex.d.ts +3 -3
  110. package/lib/exercises/complex/mutiplyComplex.js +67 -67
  111. package/lib/exercises/complex/reAndIm.d.ts +3 -3
  112. package/lib/exercises/complex/reAndIm.js +79 -79
  113. package/lib/exercises/conversion/aeraConversion.d.ts +3 -3
  114. package/lib/exercises/conversion/aeraConversion.js +62 -62
  115. package/lib/exercises/conversion/capacityConversion.d.ts +3 -3
  116. package/lib/exercises/conversion/capacityConversion.js +60 -60
  117. package/lib/exercises/conversion/lengthConversion.d.ts +3 -3
  118. package/lib/exercises/conversion/lengthConversion.js +59 -59
  119. package/lib/exercises/conversion/massConversion.d.ts +3 -3
  120. package/lib/exercises/conversion/massConversion.js +59 -59
  121. package/lib/exercises/conversion/volumeCapacityConversion.d.ts +3 -3
  122. package/lib/exercises/conversion/volumeCapacityConversion.js +76 -76
  123. package/lib/exercises/conversion/volumeConversion.d.ts +3 -3
  124. package/lib/exercises/conversion/volumeConversion.js +61 -61
  125. package/lib/exercises/derivation/derivative/constanteDerivative.d.ts +3 -3
  126. package/lib/exercises/derivation/derivative/constanteDerivative.js +56 -56
  127. package/lib/exercises/derivation/derivative/expDerivativeOne.d.ts +3 -3
  128. package/lib/exercises/derivation/derivative/expDerivativeOne.js +65 -65
  129. package/lib/exercises/derivation/derivative/expDerivativeThree.d.ts +3 -3
  130. package/lib/exercises/derivation/derivative/expDerivativeThree.js +64 -64
  131. package/lib/exercises/derivation/derivative/expDerivativeTwo.d.ts +3 -3
  132. package/lib/exercises/derivation/derivative/expDerivativeTwo.js +65 -65
  133. package/lib/exercises/derivation/derivative/firstDegreeDerivative.d.ts +3 -3
  134. package/lib/exercises/derivation/derivative/firstDegreeDerivative.js +58 -58
  135. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.d.ts +3 -3
  136. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.js +56 -56
  137. package/lib/exercises/derivation/derivative/lnDerivativeOne.d.ts +3 -3
  138. package/lib/exercises/derivation/derivative/lnDerivativeOne.js +63 -63
  139. package/lib/exercises/derivation/derivative/lnDerivativeThree.d.ts +3 -3
  140. package/lib/exercises/derivation/derivative/lnDerivativeThree.js +68 -68
  141. package/lib/exercises/derivation/derivative/lnDerivativeTwo.d.ts +3 -3
  142. package/lib/exercises/derivation/derivative/lnDerivativeTwo.js +66 -66
  143. package/lib/exercises/derivation/derivative/powerFunctionDerivative.d.ts +3 -3
  144. package/lib/exercises/derivation/derivative/powerFunctionDerivative.js +64 -64
  145. package/lib/exercises/derivation/derivative/rootFunctionDerivative.d.ts +3 -3
  146. package/lib/exercises/derivation/derivative/rootFunctionDerivative.js +80 -80
  147. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts +3 -3
  148. package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +64 -64
  149. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.d.ts +3 -3
  150. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.js +66 -66
  151. package/lib/exercises/derivation/derivative/thirdDegreeFunctionVariation.d.ts +3 -3
  152. package/lib/exercises/derivation/derivative/thirdDegreeFunctionVariation.js +101 -101
  153. package/lib/exercises/derivation/derivative/usualderivative.d.ts +3 -3
  154. package/lib/exercises/derivation/derivative/usualderivative.js +36 -36
  155. package/lib/exercises/derivation/derivativeNumberReading.d.ts +3 -3
  156. package/lib/exercises/derivation/derivativeNumberReading.js +84 -84
  157. package/lib/exercises/equaDiff/equaDiffGeneralForme.d.ts +3 -3
  158. package/lib/exercises/equaDiff/equaDiffGeneralForme.js +66 -66
  159. package/lib/exercises/equaDiff/equaDiffGeneralFormeWithIC.d.ts +3 -3
  160. package/lib/exercises/equaDiff/equaDiffGeneralFormeWithIC.js +80 -80
  161. package/lib/exercises/exercise.d.ts +33 -32
  162. package/lib/exercises/exercise.d.ts.map +1 -1
  163. package/lib/exercises/exercise.js +2 -2
  164. package/lib/exercises/exercises.d.ts +1 -1
  165. package/lib/exercises/exercises.d.ts.map +1 -1
  166. package/lib/exercises/exercises.js +351 -347
  167. package/lib/exercises/functions/affines/leadingCoefficient.d.ts +3 -3
  168. package/lib/exercises/functions/affines/leadingCoefficient.js +93 -93
  169. package/lib/exercises/functions/affines/leadingCoefficientCalculV1.d.ts +3 -3
  170. package/lib/exercises/functions/affines/leadingCoefficientCalculV1.js +59 -59
  171. package/lib/exercises/functions/affines/leadingCoefficientCalculV2.d.ts +3 -3
  172. package/lib/exercises/functions/affines/leadingCoefficientCalculV2.js +58 -58
  173. package/lib/exercises/functions/affines/signFunction.d.ts +3 -3
  174. package/lib/exercises/functions/affines/signFunction.js +84 -84
  175. package/lib/exercises/functions/affines/template.d.ts +4 -0
  176. package/lib/exercises/functions/affines/template.d.ts.map +1 -0
  177. package/lib/exercises/functions/affines/template.js +51 -0
  178. package/lib/exercises/functions/basics/imageFunction.d.ts +3 -3
  179. package/lib/exercises/functions/basics/imageFunction.js +65 -65
  180. package/lib/exercises/functions/basics/imageFunctionGeogebra.d.ts +3 -3
  181. package/lib/exercises/functions/basics/imageFunctionGeogebra.js +89 -89
  182. package/lib/exercises/functions/basics/inverseImageFunction.d.ts +3 -3
  183. package/lib/exercises/functions/basics/inverseImageFunction.js +62 -62
  184. package/lib/exercises/functions/basics/inverseImageFunctionGeogebra.d.ts +3 -3
  185. package/lib/exercises/functions/basics/inverseImageFunctionGeogebra.js +154 -154
  186. package/lib/exercises/functions/trinoms/alphaBetaFromDevForm.d.ts +3 -3
  187. package/lib/exercises/functions/trinoms/alphaBetaFromDevForm.js +63 -63
  188. package/lib/exercises/functions/trinoms/alphaBetaInCanonicalForm.d.ts +3 -3
  189. package/lib/exercises/functions/trinoms/alphaBetaInCanonicalForm.js +91 -91
  190. package/lib/exercises/functions/trinoms/canonicalFromDevForm.d.ts +3 -3
  191. package/lib/exercises/functions/trinoms/canonicalFromDevForm.js +58 -58
  192. package/lib/exercises/functions/trinoms/extremumFromCanonicalForm.d.ts +3 -3
  193. package/lib/exercises/functions/trinoms/extremumFromCanonicalForm.js +84 -84
  194. package/lib/exercises/functions/trinoms/extremumTypeFromAlgebricForm.d.ts +3 -3
  195. package/lib/exercises/functions/trinoms/extremumTypeFromAlgebricForm.js +59 -59
  196. package/lib/exercises/functions/trinoms/variationsFromAlgebricForm.d.ts +3 -3
  197. package/lib/exercises/functions/trinoms/variationsFromAlgebricForm.js +59 -59
  198. package/lib/exercises/geometry/cartesian/distanceBetweenTwoPoints.d.ts +3 -3
  199. package/lib/exercises/geometry/cartesian/distanceBetweenTwoPoints.js +107 -107
  200. package/lib/exercises/geometry/cartesian/imageFunction.d.ts +3 -3
  201. package/lib/exercises/geometry/cartesian/imageFunction.d.ts.map +1 -1
  202. package/lib/exercises/geometry/cartesian/imageFunction.js +65 -62
  203. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.d.ts +4 -0
  204. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.d.ts.map +1 -0
  205. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.js +89 -0
  206. package/lib/exercises/geometry/cartesian/inverseImageFunction.d.ts +3 -3
  207. package/lib/exercises/geometry/cartesian/inverseImageFunction.d.ts.map +1 -1
  208. package/lib/exercises/geometry/cartesian/inverseImageFunction.js +62 -57
  209. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.d.ts +4 -0
  210. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.d.ts.map +1 -0
  211. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.js +154 -0
  212. package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts +3 -3
  213. package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts.map +1 -1
  214. package/lib/exercises/geometry/cartesian/leadingCoefficient.js +93 -90
  215. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts +3 -3
  216. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts.map +1 -1
  217. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.js +59 -56
  218. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts +3 -3
  219. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts.map +1 -1
  220. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.js +58 -55
  221. package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
  222. package/lib/exercises/geometry/cartesian/midpoint.js +63 -63
  223. package/lib/exercises/geometry/cartesian/signFunction.d.ts +4 -0
  224. package/lib/exercises/geometry/cartesian/signFunction.d.ts.map +1 -0
  225. package/lib/exercises/geometry/cartesian/signFunction.js +84 -0
  226. package/lib/exercises/geometry/euclidean/circleArea.d.ts +3 -3
  227. package/lib/exercises/geometry/euclidean/circleArea.js +58 -58
  228. package/lib/exercises/geometry/euclidean/circleCircumference.d.ts +3 -3
  229. package/lib/exercises/geometry/euclidean/circleCircumference.js +58 -58
  230. package/lib/exercises/geometry/euclidean/pythagore.d.ts +3 -3
  231. package/lib/exercises/geometry/euclidean/pythagore.js +86 -86
  232. package/lib/exercises/geometry/euclidean/pythagoreCalcul.d.ts +3 -3
  233. package/lib/exercises/geometry/euclidean/pythagoreCalcul.js +91 -91
  234. package/lib/exercises/geometry/euclidean/rectangleArea.d.ts +3 -3
  235. package/lib/exercises/geometry/euclidean/rectangleArea.js +53 -53
  236. package/lib/exercises/geometry/euclidean/rectanglePerimeter.d.ts +3 -3
  237. package/lib/exercises/geometry/euclidean/rectanglePerimeter.js +53 -53
  238. package/lib/exercises/geometry/euclidean/rightTriangleArea.d.ts +3 -3
  239. package/lib/exercises/geometry/euclidean/rightTriangleArea.js +67 -67
  240. package/lib/exercises/geometry/euclidean/squareArea.d.ts +3 -3
  241. package/lib/exercises/geometry/euclidean/squareArea.js +52 -52
  242. package/lib/exercises/geometry/euclidean/squarePerimeter.d.ts +3 -3
  243. package/lib/exercises/geometry/euclidean/squarePerimeter.js +52 -52
  244. package/lib/exercises/geometry/euclidean/thales.d.ts +3 -3
  245. package/lib/exercises/geometry/euclidean/thales.js +113 -113
  246. package/lib/exercises/geometry/euclidean/thalesCalcul.d.ts +3 -3
  247. package/lib/exercises/geometry/euclidean/thalesCalcul.js +132 -132
  248. package/lib/exercises/geometry/euclidean/triangleArea.d.ts +3 -3
  249. package/lib/exercises/geometry/euclidean/triangleArea.js +80 -80
  250. package/lib/exercises/geometry/euclidean/triangleAreaV2.d.ts +3 -3
  251. package/lib/exercises/geometry/euclidean/triangleAreaV2.js +77 -77
  252. package/lib/exercises/geometry/euclidean/trianglePerimeter.d.ts +3 -3
  253. package/lib/exercises/geometry/euclidean/trianglePerimeter.js +53 -53
  254. package/lib/exercises/geometry/euclidean/trigonometry.d.ts +3 -3
  255. package/lib/exercises/geometry/euclidean/trigonometry.js +97 -97
  256. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.d.ts +3 -3
  257. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.js +69 -69
  258. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.d.ts +3 -3
  259. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.js +80 -80
  260. package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
  261. package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +60 -60
  262. package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
  263. package/lib/exercises/limits/polynomeLimit.d.ts +3 -3
  264. package/lib/exercises/limits/polynomeLimit.js +132 -132
  265. package/lib/exercises/percent/applyPercent.d.ts +3 -3
  266. package/lib/exercises/percent/applyPercent.js +74 -74
  267. package/lib/exercises/percent/averageEvolutionRate.d.ts +3 -3
  268. package/lib/exercises/percent/averageEvolutionRate.js +63 -63
  269. package/lib/exercises/percent/globalPercent.d.ts +3 -3
  270. package/lib/exercises/percent/globalPercent.js +77 -77
  271. package/lib/exercises/percent/reciprocalPercentage.d.ts +3 -3
  272. package/lib/exercises/percent/reciprocalPercentage.js +65 -65
  273. package/lib/exercises/powers/powersDivision.d.ts +7 -7
  274. package/lib/exercises/powers/powersDivision.js +77 -77
  275. package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
  276. package/lib/exercises/powers/powersOfTenToDecimal.d.ts.map +1 -1
  277. package/lib/exercises/powers/powersOfTenToDecimal.js +78 -65
  278. package/lib/exercises/powers/powersPower.d.ts +7 -7
  279. package/lib/exercises/powers/powersPower.js +76 -76
  280. package/lib/exercises/powers/powersProduct.d.ts +7 -7
  281. package/lib/exercises/powers/powersProduct.js +77 -77
  282. package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
  283. package/lib/exercises/powers/scientificToDecimal.d.ts.map +1 -1
  284. package/lib/exercises/powers/scientificToDecimal.js +82 -69
  285. package/lib/exercises/primitve/constantPrimitive.d.ts +3 -3
  286. package/lib/exercises/primitve/constantPrimitive.js +56 -56
  287. package/lib/exercises/primitve/exponentialPrimitive.d.ts +3 -3
  288. package/lib/exercises/primitve/exponentialPrimitive.js +103 -103
  289. package/lib/exercises/primitve/logarithmePrimitive.d.ts +3 -3
  290. package/lib/exercises/primitve/logarithmePrimitive.js +74 -74
  291. package/lib/exercises/primitve/polynomialPrimitive.d.ts +3 -3
  292. package/lib/exercises/primitve/polynomialPrimitive.js +80 -80
  293. package/lib/exercises/primitve/sinCosPrimitive.d.ts +3 -3
  294. package/lib/exercises/primitve/sinCosPrimitive.js +112 -112
  295. package/lib/exercises/primitve/usualPrimitives.d.ts +3 -3
  296. package/lib/exercises/primitve/usualPrimitives.js +39 -39
  297. package/lib/exercises/proba/conditionalProbability.d.ts +3 -3
  298. package/lib/exercises/proba/conditionalProbability.js +99 -99
  299. package/lib/exercises/proba/marginalAndConditionalFrequency.d.ts +3 -3
  300. package/lib/exercises/proba/marginalAndConditionalFrequency.js +106 -106
  301. package/lib/exercises/proba/probabilityTree.d.ts +3 -3
  302. package/lib/exercises/proba/probabilityTree.js +132 -132
  303. package/lib/exercises/probaStat/averageWithTable.d.ts +3 -3
  304. package/lib/exercises/probaStat/averageWithTable.js +76 -76
  305. package/lib/exercises/probaStat/conditionalProbability.d.ts +3 -3
  306. package/lib/exercises/probaStat/conditionalProbability.js +102 -102
  307. package/lib/exercises/probaStat/frequencyTable.d.ts +4 -0
  308. package/lib/exercises/probaStat/frequencyTable.d.ts.map +1 -0
  309. package/lib/exercises/probaStat/frequencyTable.js +76 -0
  310. package/lib/exercises/probaStat/marginalAndConditionalFrequency.d.ts +3 -3
  311. package/lib/exercises/probaStat/marginalAndConditionalFrequency.js +109 -109
  312. package/lib/exercises/probaStat/median.d.ts +3 -3
  313. package/lib/exercises/probaStat/median.js +82 -82
  314. package/lib/exercises/probaStat/medianList.d.ts +3 -3
  315. package/lib/exercises/probaStat/medianList.js +67 -67
  316. package/lib/exercises/probaStat/probabilityTree.d.ts +3 -3
  317. package/lib/exercises/probaStat/probabilityTree.js +135 -135
  318. package/lib/exercises/probaStat/quartiles.d.ts +3 -3
  319. package/lib/exercises/probaStat/quartiles.js +96 -96
  320. package/lib/exercises/probaStat/quartilesList.d.ts +3 -3
  321. package/lib/exercises/probaStat/quartilesList.js +81 -81
  322. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts +3 -3
  323. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +59 -59
  324. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts +3 -3
  325. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.js +59 -59
  326. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.d.ts +3 -3
  327. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.js +59 -59
  328. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.d.ts +3 -3
  329. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.js +58 -58
  330. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts +3 -3
  331. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +58 -58
  332. package/lib/exercises/sequences/arithmetic/arithmeticSum.js +1 -1
  333. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.d.ts +3 -3
  334. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.js +68 -68
  335. package/lib/exercises/sequences/arithmetic/firstIntegersSum.d.ts +4 -0
  336. package/lib/exercises/sequences/arithmetic/firstIntegersSum.d.ts.map +1 -0
  337. package/lib/exercises/sequences/arithmetic/firstIntegersSum.js +67 -0
  338. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
  339. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +64 -64
  340. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
  341. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +70 -70
  342. package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
  343. package/lib/exercises/sequences/geometric/geometricFindReason.js +66 -66
  344. package/lib/exercises/sequences/geometric/geometricFirstTermsSum.d.ts +4 -0
  345. package/lib/exercises/sequences/geometric/geometricFirstTermsSum.d.ts.map +1 -0
  346. package/lib/exercises/sequences/geometric/geometricFirstTermsSum.js +69 -0
  347. package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
  348. package/lib/exercises/sequences/geometric/geometricReasonUsage.js +65 -65
  349. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
  350. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +65 -65
  351. package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
  352. package/lib/exercises/squareRoots/simpifySquareRoot.js +61 -61
  353. package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
  354. package/lib/exercises/trigonometry/mainRemarkableValues.js +67 -67
  355. package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
  356. package/lib/exercises/trigonometry/remarkableValues.js +67 -67
  357. package/lib/exercises/utils/getDistinctQuestions.d.ts +3 -3
  358. package/lib/exercises/utils/getDistinctQuestions.js +30 -30
  359. package/lib/index.d.ts +7 -7
  360. package/lib/index.js +26 -26
  361. package/lib/math/complex/complex.d.ts +18 -18
  362. package/lib/math/complex/complex.js +63 -63
  363. package/lib/math/geometry/droite.d.ts +19 -19
  364. package/lib/math/geometry/droite.js +62 -62
  365. package/lib/math/geometry/point.d.ts +30 -30
  366. package/lib/math/geometry/point.js +64 -64
  367. package/lib/math/geometry/triangles.d.ts +53 -53
  368. package/lib/math/geometry/triangles.js +183 -183
  369. package/lib/math/geometry/vector.d.ts +15 -15
  370. package/lib/math/geometry/vector.js +31 -31
  371. package/lib/math/numbers/decimals/decimal.d.ts +24 -24
  372. package/lib/math/numbers/decimals/decimal.js +140 -140
  373. package/lib/math/numbers/epsilon.d.ts +1 -1
  374. package/lib/math/numbers/epsilon.js +10 -10
  375. package/lib/math/numbers/integer/integer.d.ts +14 -14
  376. package/lib/math/numbers/integer/integer.js +68 -68
  377. package/lib/math/numbers/integer/power.d.ts +13 -13
  378. package/lib/math/numbers/integer/power.js +52 -52
  379. package/lib/math/numbers/nombre.d.ts +13 -13
  380. package/lib/math/numbers/nombre.js +10 -10
  381. package/lib/math/numbers/rationals/rational.d.ts +25 -25
  382. package/lib/math/numbers/rationals/rational.js +113 -113
  383. package/lib/math/numbers/reals/real.d.ts +9 -9
  384. package/lib/math/numbers/reals/real.js +16 -16
  385. package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
  386. package/lib/math/numbers/reals/squareRoot.js +63 -63
  387. package/lib/math/polynomials/affine.d.ts +15 -15
  388. package/lib/math/polynomials/affine.js +42 -42
  389. package/lib/math/polynomials/polynomial.d.ts +28 -28
  390. package/lib/math/polynomials/polynomial.js +184 -184
  391. package/lib/math/polynomials/trinom.d.ts +23 -23
  392. package/lib/math/polynomials/trinom.js +67 -67
  393. package/lib/math/sequences/arithmeticSequence.js +1 -1
  394. package/lib/math/sequences/geometricSequence.d.ts +3 -3
  395. package/lib/math/sequences/geometricSequence.js +8 -8
  396. package/lib/math/sequences/sequence.d.ts +22 -22
  397. package/lib/math/sequences/sequence.js +21 -21
  398. package/lib/math/sets/discreteSet.d.ts +10 -10
  399. package/lib/math/sets/discreteSet.js +28 -28
  400. package/lib/math/sets/emptySet.js +6 -6
  401. package/lib/math/sets/intervals/intervals.d.ts +26 -26
  402. package/lib/math/sets/intervals/intervals.js +104 -104
  403. package/lib/math/sets/mathSet.d.ts +7 -7
  404. package/lib/math/sets/mathSet.js +10 -10
  405. package/lib/math/sets/mathSetInterface.d.ts +5 -5
  406. package/lib/math/sets/mathSetInterface.js +2 -2
  407. package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
  408. package/lib/math/trigonometry/remarkableValue.js +29 -29
  409. package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
  410. package/lib/math/trigonometry/remarkableValues.js +51 -51
  411. package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
  412. package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
  413. package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
  414. package/lib/math/utils/arithmetic/dividersOf.js +12 -12
  415. package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
  416. package/lib/math/utils/arithmetic/gcd.js +7 -7
  417. package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
  418. package/lib/math/utils/arithmetic/isSquare.js +7 -7
  419. package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
  420. package/lib/math/utils/arithmetic/lcd.js +12 -12
  421. package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
  422. package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
  423. package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
  424. package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
  425. package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
  426. package/lib/math/utils/arithmetic/primeFactors.js +22 -22
  427. package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
  428. package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
  429. package/lib/math/utils/random/randTupleInt.d.ts +13 -13
  430. package/lib/math/utils/random/randTupleInt.js +30 -30
  431. package/lib/math/utils/random/randint.d.ts +4 -4
  432. package/lib/math/utils/random/randint.js +18 -18
  433. package/lib/math/utils/round.d.ts +1 -1
  434. package/lib/math/utils/round.js +8 -8
  435. package/lib/server.d.ts +1 -1
  436. package/lib/server.js +54 -54
  437. package/lib/tree/nodes/complex/complexNode.d.ts +14 -14
  438. package/lib/tree/nodes/complex/complexNode.js +43 -43
  439. package/lib/tree/nodes/expression/expressionNode.js +1 -1
  440. package/lib/tree/nodes/functions/cosNode.d.ts +10 -10
  441. package/lib/tree/nodes/functions/cosNode.js +25 -25
  442. package/lib/tree/nodes/functions/expNode.d.ts +10 -10
  443. package/lib/tree/nodes/functions/expNode.js +25 -25
  444. package/lib/tree/nodes/functions/functionNode.d.ts +16 -16
  445. package/lib/tree/nodes/functions/functionNode.js +22 -22
  446. package/lib/tree/nodes/functions/logNode.d.ts +10 -10
  447. package/lib/tree/nodes/functions/logNode.js +25 -25
  448. package/lib/tree/nodes/functions/oppositeNode.d.ts +8 -8
  449. package/lib/tree/nodes/functions/oppositeNode.js +30 -30
  450. package/lib/tree/nodes/functions/sinNode.d.ts +10 -10
  451. package/lib/tree/nodes/functions/sinNode.js +25 -25
  452. package/lib/tree/nodes/functions/sqrtNode.d.ts +9 -9
  453. package/lib/tree/nodes/functions/sqrtNode.js +22 -22
  454. package/lib/tree/nodes/node.d.ts +13 -13
  455. package/lib/tree/nodes/node.js +11 -11
  456. package/lib/tree/nodes/numbers/constantNode.d.ts +10 -10
  457. package/lib/tree/nodes/numbers/constantNode.js +22 -22
  458. package/lib/tree/nodes/numbers/numberNode.d.ts +11 -11
  459. package/lib/tree/nodes/numbers/numberNode.js +22 -22
  460. package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
  461. package/lib/tree/nodes/numbers/piNode.js +5 -5
  462. package/lib/tree/nodes/operators/addNode.d.ts +8 -8
  463. package/lib/tree/nodes/operators/addNode.js +23 -23
  464. package/lib/tree/nodes/operators/divideNode.d.ts +12 -12
  465. package/lib/tree/nodes/operators/divideNode.js +38 -38
  466. package/lib/tree/nodes/operators/equalNode.d.ts +8 -8
  467. package/lib/tree/nodes/operators/equalNode.js +20 -20
  468. package/lib/tree/nodes/operators/fractionNode.d.ts +12 -12
  469. package/lib/tree/nodes/operators/fractionNode.js +24 -24
  470. package/lib/tree/nodes/operators/multiplyNode.d.ts +8 -8
  471. package/lib/tree/nodes/operators/multiplyNode.js +52 -52
  472. package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
  473. package/lib/tree/nodes/operators/operatorNode.js +35 -35
  474. package/lib/tree/nodes/operators/powerNode.d.ts +8 -8
  475. package/lib/tree/nodes/operators/powerNode.js +37 -37
  476. package/lib/tree/nodes/operators/substractNode.d.ts +8 -8
  477. package/lib/tree/nodes/operators/substractNode.js +28 -28
  478. package/lib/tree/nodes/variables/variableNode.d.ts +9 -9
  479. package/lib/tree/nodes/variables/variableNode.js +20 -20
  480. package/lib/tree/parsers/derivateParser.js +62 -62
  481. package/lib/tree/parsers/simplify.d.ts +3 -3
  482. package/lib/tree/parsers/simplify.js +73 -73
  483. package/lib/utils/arrayEqual.d.ts +1 -1
  484. package/lib/utils/arrayEqual.js +13 -13
  485. package/lib/utils/coinFlip.d.ts +1 -1
  486. package/lib/utils/coinFlip.js +7 -7
  487. package/lib/utils/diceFlip.d.ts +1 -1
  488. package/lib/utils/diceFlip.js +12 -12
  489. package/lib/utils/random.d.ts +1 -1
  490. package/lib/utils/random.js +7 -7
  491. package/lib/utils/shuffle.d.ts +1 -1
  492. package/lib/utils/shuffle.js +15 -15
  493. package/package.json +52 -51
  494. package/lib/exercises/calcul/operationsPriorities.js +0 -88
  495. package/lib/exercises/derivation/derivative/affineDerivative.d.ts +0 -4
  496. package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +0 -1
  497. package/lib/exercises/derivation/derivative/affineDerivative.js +0 -27
  498. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +0 -1
  499. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +0 -1
  500. package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +0 -1
  501. package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts +0 -4
  502. package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts.map +0 -1
  503. package/lib/exercises/geometry/cartesian/derivativeNumberReading.js +0 -51
  504. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.d.ts +0 -1
  505. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.d.ts.map +0 -1
  506. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.js +0 -91
  507. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts +0 -4
  508. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts.map +0 -1
  509. package/lib/exercises/geometry/euclidean/TriangleArea.js +0 -77
  510. package/lib/geometry/point.js +0 -27
  511. package/lib/geometry/vector.js +0 -31
  512. package/lib/mathutils/arithmetic/coprimesOf.js +0 -13
  513. package/lib/mathutils/arithmetic/dividersOf.js +0 -12
  514. package/lib/mathutils/arithmetic/gcd.js +0 -7
  515. package/lib/mathutils/arithmetic/isSquare.js +0 -7
  516. package/lib/mathutils/arithmetic/lcd.js +0 -12
  517. package/lib/mathutils/arithmetic/nonCoprimesOf.js +0 -13
  518. package/lib/mathutils/arithmetic/nonDividersOf.js +0 -14
  519. package/lib/mathutils/arithmetic/primeFactors.js +0 -22
  520. package/lib/mathutils/decimals/decimalPartLengthOf.js +0 -14
  521. package/lib/mathutils/random/randTupleInt.js +0 -30
  522. package/lib/mathutils/random/randint.js +0 -18
  523. package/lib/mathutils/round.js +0 -8
  524. package/lib/numbers/decimals/decimal.js +0 -140
  525. package/lib/numbers/epsilon.js +0 -10
  526. package/lib/numbers/integer/integer.js +0 -68
  527. package/lib/numbers/integer/power.js +0 -52
  528. package/lib/numbers/nombre.js +0 -10
  529. package/lib/numbers/rationals/rational.js +0 -113
  530. package/lib/numbers/reals/real.js +0 -16
  531. package/lib/numbers/reals/squareRoot.js +0 -63
  532. package/lib/polynomials/affine.js +0 -42
  533. package/lib/polynomials/polynomial.js +0 -125
  534. package/lib/sets/discreteSet.js +0 -28
  535. package/lib/sets/emptySet.js +0 -6
  536. package/lib/sets/intervals/intervals.js +0 -108
  537. package/lib/sets/intervals/union.js +0 -1
  538. package/lib/sets/mathSet.js +0 -10
  539. package/lib/sets/mathSetInterface.js +0 -2
  540. package/lib/tree/parsers/latexParser.js +0 -110
  541. package/lib/utils/coin.js +0 -7
package/README.md CHANGED
@@ -1,73 +1,73 @@
1
- # math-exercises
2
-
3
- This is a generator of Math exercises for middle school and high school.
4
-
5
- So far, exercises are written in French, but any translation is welcome !
6
-
7
- This library is used by [Mathlive.fr](https://www.mathlive.fr) for collaborative quizzes.
8
-
9
- ## 🚧 Work in progress !
10
-
11
- This library is still in beta and the architecture may very well completely change in the future.
12
-
13
- Incoming improvements :
14
-
15
- - Random images generation using tikZ
16
-
17
- - Steps within answers
18
-
19
- - Coverage of all topics up to 12th grade
20
-
21
- - Better classification of exercises
22
-
23
- ## Exercises format
24
-
25
- Each Exercise has a `generator` that will return distinct questions for this exercise.
26
-
27
- The Question in itself has an `instruction`, a `startStatement` and an `answer` (which are all tex strings).
28
-
29
- You can see all the exercises implemented so far [by playing with the select input here](https://www.mathlive.fr/teacher/createActivity/quizCollab/623366c277e90f70691aee70/).
30
-
31
- ## How to use
32
-
33
- Example with (ax+b)^2 questions :
34
-
35
- ```js
36
- import { firstIdentity } from 'exercises/calculLitteral/distributivity/firstIdentity';
37
-
38
- console.log(firstIdentity.instruction);
39
- const question = firstIdentity.generator(1);
40
- console.log(question.startStatement);
41
- console.log(question.answer);
42
-
43
- //output :
44
- // Développer et réduire :
45
- // (2x+3)^2
46
- // 4x^2 + 12x + 9
47
- ```
48
-
49
- Some exercises do not have instructions, because the instruction is directly in the question itself.
50
-
51
- A list of all exercises is exported from root.
52
-
53
- ## Expression tree and latex parser
54
-
55
- Math expressions are implemented via a tree of Nodes that you'll find inside `tree/nodes`.
56
-
57
- Any expression can be turned into a valid latex output via the `.toTex()` method.
58
-
59
- They also can be simplified via the `simplifyNode` method.
60
-
61
- ## Math objects
62
-
63
- This library also aims to implement pretty much all mathematical objects and notions up to 12th grade : all types of numbers and operations on them, but also points, vectors, polynomials, sets... Thus it can also be used for basic mathematics work.
64
-
65
- ## Minimal dependencies
66
-
67
- We're trying to keep to our dependencies to a minimum. So far we're only using mathjs as an external library, to evaluate and simplify expression trees. We would love to have our own way of simplifying expressions in the future.
68
-
69
- ## How to contribute
70
-
71
- Any contribution is welcomed.
72
-
73
- There are tons of exercises left to implement !
1
+ # math-exercises
2
+
3
+ This is a generator of Math exercises for middle school and high school.
4
+
5
+ So far, exercises are written in French, but any translation is welcome !
6
+
7
+ This library is used by [Mathlive.fr](https://www.mathlive.fr) for collaborative quizzes.
8
+
9
+ ## 🚧 Work in progress !
10
+
11
+ This library is still in beta and the architecture may very well completely change in the future.
12
+
13
+ Incoming improvements :
14
+
15
+ - Random images generation using tikZ
16
+
17
+ - Steps within answers
18
+
19
+ - Coverage of all topics up to 12th grade
20
+
21
+ - Better classification of exercises
22
+
23
+ ## Exercises format
24
+
25
+ Each Exercise has a `generator` that will return distinct questions for this exercise.
26
+
27
+ The Question in itself has an `instruction`, a `startStatement` and an `answer` (which are all tex strings).
28
+
29
+ You can see all the exercises implemented so far [by playing with the select input here](https://www.mathlive.fr/teacher/createActivity/quizCollab/623366c277e90f70691aee70/).
30
+
31
+ ## How to use
32
+
33
+ Example with (ax+b)^2 questions :
34
+
35
+ ```js
36
+ import { firstIdentity } from 'exercises/calculLitteral/distributivity/firstIdentity';
37
+
38
+ console.log(firstIdentity.instruction);
39
+ const question = firstIdentity.generator(1);
40
+ console.log(question.startStatement);
41
+ console.log(question.answer);
42
+
43
+ //output :
44
+ // Développer et réduire :
45
+ // (2x+3)^2
46
+ // 4x^2 + 12x + 9
47
+ ```
48
+
49
+ Some exercises do not have instructions, because the instruction is directly in the question itself.
50
+
51
+ A list of all exercises is exported from root.
52
+
53
+ ## Expression tree and latex parser
54
+
55
+ Math expressions are implemented via a tree of Nodes that you'll find inside `tree/nodes`.
56
+
57
+ Any expression can be turned into a valid latex output via the `.toTex()` method.
58
+
59
+ They also can be simplified via the `simplifyNode` method.
60
+
61
+ ## Math objects
62
+
63
+ This library also aims to implement pretty much all mathematical objects and notions up to 12th grade : all types of numbers and operations on them, but also points, vectors, polynomials, sets... Thus it can also be used for basic mathematics work.
64
+
65
+ ## Minimal dependencies
66
+
67
+ We're trying to keep to our dependencies to a minimum. So far we're only using mathjs as an external library, to evaluate and simplify expression trees. We would love to have our own way of simplifying expressions in the future.
68
+
69
+ ## How to contribute
70
+
71
+ Any contribution is welcomed.
72
+
73
+ There are tons of exercises left to implement !
@@ -1,7 +1,7 @@
1
- import { Exercise, Question } from '../exercise';
2
- /**
3
- * a±b±c±d
4
- */
5
- export declare const addAndSubExercise: Exercise;
6
- export declare function getAddAndSubQuestions(): Question;
1
+ import { Exercise, Question } from '../exercise';
2
+ /**
3
+ * a±b±c±d
4
+ */
5
+ export declare const addAndSubExercise: Exercise;
6
+ export declare function getAddAndSubQuestions(): Question;
7
7
  //# sourceMappingURL=addAndSub.d.ts.map
@@ -1,71 +1,71 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAddAndSubQuestions = exports.addAndSubExercise = void 0;
4
- const randint_1 = require("../../math/utils/random/randint");
5
- const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
6
- const addNode_1 = require("../../tree/nodes/operators/addNode");
7
- const shuffle_1 = require("../../utils/shuffle");
8
- const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
9
- const uuid_1 = require("uuid");
10
- /**
11
- * a±b±c±d
12
- */
13
- exports.addAndSubExercise = {
14
- id: 'addAndSub',
15
- connector: '=',
16
- instruction: 'Calculer :',
17
- label: 'Additions et soustractions',
18
- levels: ['6ème', '5ème'],
19
- sections: ['Calculs'],
20
- isSingleStep: true,
21
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getAddAndSubQuestions, nb),
22
- keys: [],
23
- };
24
- function getAddAndSubQuestions() {
25
- const nbOperations = (0, randint_1.randint)(2, 4);
26
- const numbers = [];
27
- for (let i = 0; i < nbOperations + 1; i++) {
28
- numbers.push((0, randint_1.randint)(-15, 15, [0]));
29
- }
30
- const allNumbersNodes = numbers.map((nb) => new numberNode_1.NumberNode(nb));
31
- let statementTree = new addNode_1.AddNode(allNumbersNodes[0], allNumbersNodes[1]);
32
- for (let i = 2; i < allNumbersNodes.length; i++) {
33
- statementTree = new addNode_1.AddNode(statementTree, allNumbersNodes[i]);
34
- }
35
- const answer = numbers.reduce((a, b) => a + b);
36
- const getPropositions = (n) => {
37
- const res = [];
38
- res.push({
39
- id: (0, uuid_1.v4)() + '',
40
- statement: answer.toString(),
41
- isRightAnswer: true,
42
- format: 'tex',
43
- });
44
- for (let i = 0; i < n - 1; i++) {
45
- let isDuplicate;
46
- let proposition;
47
- do {
48
- const randomOffset = (0, randint_1.randint)(-9, 10, [0]);
49
- const wrongAnswer = answer + randomOffset;
50
- proposition = {
51
- id: (0, uuid_1.v4)() + '',
52
- statement: wrongAnswer.toString(),
53
- isRightAnswer: false,
54
- format: 'tex',
55
- };
56
- isDuplicate = res.some((p) => p.statement === proposition.statement);
57
- } while (isDuplicate);
58
- res.push(proposition);
59
- }
60
- return (0, shuffle_1.shuffle)(res);
61
- };
62
- const question = {
63
- startStatement: statementTree.toTex(),
64
- answer: answer + '',
65
- keys: [],
66
- getPropositions,
67
- answerFormat: 'tex',
68
- };
69
- return question;
70
- }
71
- exports.getAddAndSubQuestions = getAddAndSubQuestions;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAddAndSubQuestions = exports.addAndSubExercise = void 0;
4
+ const randint_1 = require("../../math/utils/random/randint");
5
+ const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
6
+ const addNode_1 = require("../../tree/nodes/operators/addNode");
7
+ const shuffle_1 = require("../../utils/shuffle");
8
+ const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
9
+ const uuid_1 = require("uuid");
10
+ /**
11
+ * a±b±c±d
12
+ */
13
+ exports.addAndSubExercise = {
14
+ id: 'addAndSub',
15
+ connector: '=',
16
+ instruction: 'Calculer :',
17
+ label: 'Additions et soustractions',
18
+ levels: ['6ème', '5ème'],
19
+ sections: ['Calculs'],
20
+ isSingleStep: true,
21
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getAddAndSubQuestions, nb),
22
+ keys: [],
23
+ };
24
+ function getAddAndSubQuestions() {
25
+ const nbOperations = (0, randint_1.randint)(2, 4);
26
+ const numbers = [];
27
+ for (let i = 0; i < nbOperations + 1; i++) {
28
+ numbers.push((0, randint_1.randint)(-15, 15, [0]));
29
+ }
30
+ const allNumbersNodes = numbers.map((nb) => new numberNode_1.NumberNode(nb));
31
+ let statementTree = new addNode_1.AddNode(allNumbersNodes[0], allNumbersNodes[1]);
32
+ for (let i = 2; i < allNumbersNodes.length; i++) {
33
+ statementTree = new addNode_1.AddNode(statementTree, allNumbersNodes[i]);
34
+ }
35
+ const answer = numbers.reduce((a, b) => a + b);
36
+ const getPropositions = (n) => {
37
+ const res = [];
38
+ res.push({
39
+ id: (0, uuid_1.v4)() + '',
40
+ statement: answer.toString(),
41
+ isRightAnswer: true,
42
+ format: 'tex',
43
+ });
44
+ for (let i = 0; i < n - 1; i++) {
45
+ let isDuplicate;
46
+ let proposition;
47
+ do {
48
+ const randomOffset = (0, randint_1.randint)(-9, 10, [0]);
49
+ const wrongAnswer = answer + randomOffset;
50
+ proposition = {
51
+ id: (0, uuid_1.v4)() + '',
52
+ statement: wrongAnswer.toString(),
53
+ isRightAnswer: false,
54
+ format: 'tex',
55
+ };
56
+ isDuplicate = res.some((p) => p.statement === proposition.statement);
57
+ } while (isDuplicate);
58
+ res.push(proposition);
59
+ }
60
+ return (0, shuffle_1.shuffle)(res);
61
+ };
62
+ const question = {
63
+ startStatement: statementTree.toTex(),
64
+ answer: answer + '',
65
+ keys: [],
66
+ getPropositions,
67
+ answerFormat: 'tex',
68
+ };
69
+ return question;
70
+ }
71
+ exports.getAddAndSubQuestions = getAddAndSubQuestions;
@@ -1,7 +1,7 @@
1
- import { Exercise, Question } from '../exercise';
2
- /**
3
- * a±b±c±d
4
- */
5
- export declare const addAndSubWithoutRelatives: Exercise;
6
- export declare function getAddAndSubWithoutRelatives(): Question;
1
+ import { Exercise, Question } from '../exercise';
2
+ /**
3
+ * a±b±c±d
4
+ */
5
+ export declare const addAndSubWithoutRelatives: Exercise;
6
+ export declare function getAddAndSubWithoutRelatives(): Question;
7
7
  //# sourceMappingURL=addAndSubWithoutRelatives.d.ts.map
@@ -1,80 +1,80 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAddAndSubWithoutRelatives = exports.addAndSubWithoutRelatives = void 0;
4
- const randint_1 = require("../../math/utils/random/randint");
5
- const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
6
- const addNode_1 = require("../../tree/nodes/operators/addNode");
7
- const shuffle_1 = require("../../utils/shuffle");
8
- const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
9
- const uuid_1 = require("uuid");
10
- /**
11
- * a±b±c±d
12
- */
13
- exports.addAndSubWithoutRelatives = {
14
- id: 'addAndSubWithoutRelatives',
15
- connector: '=',
16
- instruction: 'Calculer :',
17
- label: 'Additions et soustractions sans les nombres relatifs',
18
- levels: ['6ème', '5ème'],
19
- sections: ['Calculs'],
20
- isSingleStep: true,
21
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getAddAndSubWithoutRelatives, nb),
22
- keys: [],
23
- };
24
- function getAddAndSubWithoutRelatives() {
25
- let answer = -1;
26
- let statementTree;
27
- while (answer < 0) {
28
- const nbOperations = (0, randint_1.randint)(2, 4);
29
- let numbers = [];
30
- do {
31
- numbers = [];
32
- numbers.push((0, randint_1.randint)(1, 15));
33
- let sum = numbers[0];
34
- for (let i = 1; i < nbOperations + 1; i++) {
35
- numbers.push((0, randint_1.randint)(-sum, 15, [0]));
36
- sum += numbers[i];
37
- }
38
- } while (numbers.every((a) => a > 0));
39
- const allNumbersNodes = numbers.map((nb) => new numberNode_1.NumberNode(nb));
40
- statementTree = new addNode_1.AddNode(allNumbersNodes[0], allNumbersNodes[1]);
41
- for (let i = 2; i < allNumbersNodes.length; i++) {
42
- statementTree = new addNode_1.AddNode(statementTree, allNumbersNodes[i]);
43
- }
44
- answer = numbers.reduce((a, b) => a + b);
45
- }
46
- const getPropositions = (n) => {
47
- const propositions = [];
48
- propositions.push({
49
- id: (0, uuid_1.v4)() + '',
50
- statement: answer.toString(),
51
- isRightAnswer: true,
52
- format: 'tex',
53
- });
54
- for (let i = 0; i < n - 1; i++) {
55
- let isDuplicate;
56
- let proposition;
57
- do {
58
- const incorrectAnswer = answer + (0, randint_1.randint)(-5, 6, [0]);
59
- proposition = {
60
- id: (0, uuid_1.v4)() + '',
61
- statement: incorrectAnswer.toString(),
62
- isRightAnswer: false,
63
- format: 'tex',
64
- };
65
- isDuplicate = propositions.some((p) => p.statement === proposition.statement);
66
- } while (isDuplicate);
67
- propositions.push(proposition);
68
- }
69
- return (0, shuffle_1.shuffle)(propositions);
70
- };
71
- const question = {
72
- startStatement: statementTree.toTex(),
73
- answer: answer.toString(),
74
- keys: [],
75
- getPropositions,
76
- answerFormat: 'tex',
77
- };
78
- return question;
79
- }
80
- exports.getAddAndSubWithoutRelatives = getAddAndSubWithoutRelatives;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAddAndSubWithoutRelatives = exports.addAndSubWithoutRelatives = void 0;
4
+ const randint_1 = require("../../math/utils/random/randint");
5
+ const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
6
+ const addNode_1 = require("../../tree/nodes/operators/addNode");
7
+ const shuffle_1 = require("../../utils/shuffle");
8
+ const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
9
+ const uuid_1 = require("uuid");
10
+ /**
11
+ * a±b±c±d
12
+ */
13
+ exports.addAndSubWithoutRelatives = {
14
+ id: 'addAndSubWithoutRelatives',
15
+ connector: '=',
16
+ instruction: 'Calculer :',
17
+ label: 'Additions et soustractions sans les nombres relatifs',
18
+ levels: ['6ème', '5ème'],
19
+ sections: ['Calculs'],
20
+ isSingleStep: true,
21
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getAddAndSubWithoutRelatives, nb),
22
+ keys: [],
23
+ };
24
+ function getAddAndSubWithoutRelatives() {
25
+ let answer = -1;
26
+ let statementTree;
27
+ while (answer < 0) {
28
+ const nbOperations = (0, randint_1.randint)(2, 4);
29
+ let numbers = [];
30
+ do {
31
+ numbers = [];
32
+ numbers.push((0, randint_1.randint)(1, 15));
33
+ let sum = numbers[0];
34
+ for (let i = 1; i < nbOperations + 1; i++) {
35
+ numbers.push((0, randint_1.randint)(-sum, 15, [0]));
36
+ sum += numbers[i];
37
+ }
38
+ } while (numbers.every((a) => a > 0));
39
+ const allNumbersNodes = numbers.map((nb) => new numberNode_1.NumberNode(nb));
40
+ statementTree = new addNode_1.AddNode(allNumbersNodes[0], allNumbersNodes[1]);
41
+ for (let i = 2; i < allNumbersNodes.length; i++) {
42
+ statementTree = new addNode_1.AddNode(statementTree, allNumbersNodes[i]);
43
+ }
44
+ answer = numbers.reduce((a, b) => a + b);
45
+ }
46
+ const getPropositions = (n) => {
47
+ const propositions = [];
48
+ propositions.push({
49
+ id: (0, uuid_1.v4)() + '',
50
+ statement: answer.toString(),
51
+ isRightAnswer: true,
52
+ format: 'tex',
53
+ });
54
+ for (let i = 0; i < n - 1; i++) {
55
+ let isDuplicate;
56
+ let proposition;
57
+ do {
58
+ const incorrectAnswer = answer + (0, randint_1.randint)(-5, 6, [0]);
59
+ proposition = {
60
+ id: (0, uuid_1.v4)() + '',
61
+ statement: incorrectAnswer.toString(),
62
+ isRightAnswer: false,
63
+ format: 'tex',
64
+ };
65
+ isDuplicate = propositions.some((p) => p.statement === proposition.statement);
66
+ } while (isDuplicate);
67
+ propositions.push(proposition);
68
+ }
69
+ return (0, shuffle_1.shuffle)(propositions);
70
+ };
71
+ const question = {
72
+ startStatement: statementTree.toTex(),
73
+ answer: answer.toString(),
74
+ keys: [],
75
+ getPropositions,
76
+ answerFormat: 'tex',
77
+ };
78
+ return question;
79
+ }
80
+ exports.getAddAndSubWithoutRelatives = getAddAndSubWithoutRelatives;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- export declare const euclideanDivision: Exercise;
3
- export declare function getEuclideanDivisionQuestions(): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const euclideanDivision: Exercise;
3
+ export declare function getEuclideanDivisionQuestions(): Question;
4
4
  //# sourceMappingURL=euclideanDivision.d.ts.map
@@ -1,70 +1,70 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEuclideanDivisionQuestions = exports.euclideanDivision = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const randint_1 = require("../../../math/utils/random/randint");
6
- const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
7
- const addNode_1 = require("../../../tree/nodes/operators/addNode");
8
- const equalNode_1 = require("../../../tree/nodes/operators/equalNode");
9
- const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
10
- const shuffle_1 = require("../../../utils/shuffle");
11
- const uuid_1 = require("uuid");
12
- exports.euclideanDivision = {
13
- id: 'euclideanDivision',
14
- connector: '=',
15
- instruction: '',
16
- label: 'Ecrire une division euclidienne',
17
- levels: ['6ème', '5ème', '4ème'],
18
- sections: ['Arithmétique'],
19
- isSingleStep: true,
20
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getEuclideanDivisionQuestions, nb),
21
- keys: ['equal'],
22
- };
23
- function getEuclideanDivisionQuestions() {
24
- let dividend = (0, randint_1.randint)(5, 100);
25
- let divisor = (0, randint_1.randint)(2, 11);
26
- while (dividend % divisor === 0) {
27
- dividend = (0, randint_1.randint)(5, 100);
28
- divisor = (0, randint_1.randint)(2, 11);
29
- }
30
- const quotient = Math.floor(dividend / divisor);
31
- const remainder = dividend % divisor;
32
- const answer = new equalNode_1.EqualNode(new numberNode_1.NumberNode(dividend), new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(divisor), new numberNode_1.NumberNode(quotient)), new numberNode_1.NumberNode(remainder)));
33
- const getPropositions = (n) => {
34
- const res = [];
35
- res.push({
36
- id: (0, uuid_1.v4)() + '',
37
- statement: answer.toTex(),
38
- isRightAnswer: true,
39
- format: 'tex',
40
- });
41
- for (let i = 0; i < n - 1; i++) {
42
- let isDuplicate;
43
- let proposition;
44
- do {
45
- const divisor = (0, randint_1.randint)(2, 11);
46
- const quotient = Math.floor((0, randint_1.randint)(5, 100) / divisor);
47
- const remainder = (0, randint_1.randint)(5, 100) % divisor;
48
- const wrongAnswer = new equalNode_1.EqualNode(new numberNode_1.NumberNode(dividend), new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(divisor), new numberNode_1.NumberNode(quotient)), new numberNode_1.NumberNode(remainder)));
49
- proposition = {
50
- id: (0, uuid_1.v4)() + '',
51
- statement: wrongAnswer.toTex(),
52
- isRightAnswer: false,
53
- format: 'tex',
54
- };
55
- isDuplicate = res.some((p) => p.statement === proposition.statement);
56
- } while (isDuplicate);
57
- res.push(proposition);
58
- }
59
- return (0, shuffle_1.shuffle)(res);
60
- };
61
- const question = {
62
- instruction: `Ecrire la division euclidienne de ${dividend} par ${divisor}`,
63
- answer: answer.toTex(),
64
- keys: ['equal'],
65
- getPropositions,
66
- answerFormat: 'tex',
67
- };
68
- return question;
69
- }
70
- exports.getEuclideanDivisionQuestions = getEuclideanDivisionQuestions;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEuclideanDivisionQuestions = exports.euclideanDivision = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
7
+ const addNode_1 = require("../../../tree/nodes/operators/addNode");
8
+ const equalNode_1 = require("../../../tree/nodes/operators/equalNode");
9
+ const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
10
+ const shuffle_1 = require("../../../utils/shuffle");
11
+ const uuid_1 = require("uuid");
12
+ exports.euclideanDivision = {
13
+ id: 'euclideanDivision',
14
+ connector: '=',
15
+ instruction: '',
16
+ label: 'Ecrire une division euclidienne',
17
+ levels: ['6ème', '5ème', '4ème'],
18
+ sections: ['Arithmétique'],
19
+ isSingleStep: true,
20
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getEuclideanDivisionQuestions, nb),
21
+ keys: ['equal'],
22
+ };
23
+ function getEuclideanDivisionQuestions() {
24
+ let dividend = (0, randint_1.randint)(5, 100);
25
+ let divisor = (0, randint_1.randint)(2, 11);
26
+ while (dividend % divisor === 0) {
27
+ dividend = (0, randint_1.randint)(5, 100);
28
+ divisor = (0, randint_1.randint)(2, 11);
29
+ }
30
+ const quotient = Math.floor(dividend / divisor);
31
+ const remainder = dividend % divisor;
32
+ const answer = new equalNode_1.EqualNode(new numberNode_1.NumberNode(dividend), new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(divisor), new numberNode_1.NumberNode(quotient)), new numberNode_1.NumberNode(remainder)));
33
+ const getPropositions = (n) => {
34
+ const res = [];
35
+ res.push({
36
+ id: (0, uuid_1.v4)() + '',
37
+ statement: answer.toTex(),
38
+ isRightAnswer: true,
39
+ format: 'tex',
40
+ });
41
+ for (let i = 0; i < n - 1; i++) {
42
+ let isDuplicate;
43
+ let proposition;
44
+ do {
45
+ const divisor = (0, randint_1.randint)(2, 11);
46
+ const quotient = Math.floor((0, randint_1.randint)(5, 100) / divisor);
47
+ const remainder = (0, randint_1.randint)(5, 100) % divisor;
48
+ const wrongAnswer = new equalNode_1.EqualNode(new numberNode_1.NumberNode(dividend), new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(divisor), new numberNode_1.NumberNode(quotient)), new numberNode_1.NumberNode(remainder)));
49
+ proposition = {
50
+ id: (0, uuid_1.v4)() + '',
51
+ statement: wrongAnswer.toTex(),
52
+ isRightAnswer: false,
53
+ format: 'tex',
54
+ };
55
+ isDuplicate = res.some((p) => p.statement === proposition.statement);
56
+ } while (isDuplicate);
57
+ res.push(proposition);
58
+ }
59
+ return (0, shuffle_1.shuffle)(res);
60
+ };
61
+ const question = {
62
+ instruction: `Ecrire la division euclidienne de ${dividend} par ${divisor}`,
63
+ answer: answer.toTex(),
64
+ keys: ['equal'],
65
+ getPropositions,
66
+ answerFormat: 'tex',
67
+ };
68
+ return question;
69
+ }
70
+ exports.getEuclideanDivisionQuestions = getEuclideanDivisionQuestions;
@@ -1,7 +1,7 @@
1
- import { Exercise, Question } from '../../exercise';
2
- /**
3
- * a±b±c±d
4
- */
5
- export declare const primeNumbers: Exercise;
6
- export declare function getPrimeNumbers(): Question;
1
+ import { Exercise, Question } from '../../exercise';
2
+ /**
3
+ * a±b±c±d
4
+ */
5
+ export declare const primeNumbers: Exercise;
6
+ export declare function getPrimeNumbers(): Question;
7
7
  //# sourceMappingURL=primeNumbers.d.ts.map