math-exercises 1.3.40 → 1.3.42

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