math-exercises 1.3.31 → 1.3.33

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