math-exercises 1.3.31 → 1.3.32

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,181 +1,181 @@
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
- exports.operationsPrioritiesWithoutRelative = {
19
- id: 'operationsPrioritiesWithoutRelative',
20
- connector: '=',
21
- instruction: 'Calculer :',
22
- label: 'Priorités opératoires sans les nombres relatifs',
23
- levels: ['6', '5', '4'],
24
- section: 'Calculs',
25
- isSingleStep: true,
26
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getOperationsPrioritiesWithoutRelative, nb),
27
- keys: [],
28
- };
29
- function getOperationsPrioritiesWithoutRelative() {
30
- const type = (0, randint_1.randint)(1, 7);
31
- const flip = (0, randint_1.randint)(1, 4);
32
- let startStatement = '';
33
- let answer = '';
34
- let a, b, c, d;
35
- let statement;
36
- switch (type) {
37
- case 1: // a*b ± c±d
38
- switch (flip) {
39
- case 1:
40
- //a*b first
41
- [a, b] = [1, 2].map((el) => (0, randint_1.randint)(0, 11));
42
- c = (0, randint_1.randint)(-(a * b), 11, [0]);
43
- d = (0, randint_1.randint)(-(a * b + c), 11, [0]);
44
- 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)));
45
- startStatement = statement.toTex();
46
- answer = (a * b + c + d).toString();
47
- break;
48
- case 2:
49
- //a*b last
50
- c = (0, randint_1.randint)(0, 11, [0]);
51
- d = (0, randint_1.randint)(-c, 11, [0]);
52
- do {
53
- a = (0, randint_1.randint)(-10, 11);
54
- b = (0, randint_1.randint)(0, 11);
55
- } while (c + d + a * b < 0);
56
- 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)));
57
- startStatement = statement.toTex();
58
- answer = (a * b + c + d).toString();
59
- break;
60
- case 3:
61
- //a*b middle
62
- c = (0, randint_1.randint)(0, 11, [0]);
63
- do {
64
- a = (0, randint_1.randint)(-10, 11);
65
- b = (0, randint_1.randint)(0, 11);
66
- } while (c + a * b < 0);
67
- d = (0, randint_1.randint)(-(c + a * b), 11, [0]);
68
- 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));
69
- startStatement = statement.toTex();
70
- answer = (a * b + c + d).toString();
71
- break;
72
- }
73
- break;
74
- case 2: // a/b ±c±d
75
- switch (flip) {
76
- case 1:
77
- //a/b first
78
- b = (0, randint_1.randint)(0, 11, [0]);
79
- a = b * (0, randint_1.randint)(0, 11);
80
- c = (0, randint_1.randint)(-(a / b), 11, [0]);
81
- d = (0, randint_1.randint)(-(a / b + c), 11, [0]);
82
- 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)));
83
- startStatement = statement.toTex();
84
- answer = (a / b + c + d).toString();
85
- break;
86
- case 2:
87
- //a/b last
88
- c = (0, randint_1.randint)(0, 11, [0]);
89
- d = (0, randint_1.randint)(-c, 11, [0]);
90
- do {
91
- b = (0, randint_1.randint)(1, 11);
92
- a = b * (0, randint_1.randint)(-10, 11);
93
- } while (c + d + a / b < 0);
94
- 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)));
95
- startStatement = statement.toTex();
96
- answer = (a / b + c + d).toString();
97
- break;
98
- case 3:
99
- //a/b middle
100
- c = (0, randint_1.randint)(0, 11, [0]);
101
- do {
102
- b = (0, randint_1.randint)(1, 11);
103
- a = b * (0, randint_1.randint)(-10, 11);
104
- } while (c + a / b < 0);
105
- d = (0, randint_1.randint)(-(c + a / b), 11, [0]);
106
- 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));
107
- startStatement = statement.toTex();
108
- answer = (a / b + c + d).toString();
109
- break;
110
- }
111
- break;
112
- case 3: // a*b ± c*d
113
- [a, b] = [1, 2].map((el) => (0, randint_1.randint)(1, 11));
114
- do {
115
- c = (0, randint_1.randint)(-10, 11);
116
- d = (0, randint_1.randint)(1, 11);
117
- } while (a * b + c * d < 0);
118
- 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)));
119
- startStatement = statement.toTex();
120
- answer = (a * b + c * d).toString();
121
- break;
122
- case 4: // a*b ± c/d
123
- if ((0, coinFlip_1.coinFlip)()) {
124
- [a, b] = [1, 2].map((el) => (0, randint_1.randint)(1, 11));
125
- d = (0, randint_1.randint)(0, 11, [0]);
126
- c = d * (0, randint_1.randint)(-(a * b), 11);
127
- 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)));
128
- startStatement = statement.toTex();
129
- answer = (a * b + c / d).toString();
130
- }
131
- else {
132
- d = (0, randint_1.randint)(0, 11, [0]);
133
- c = d * (0, randint_1.randint)(0, 11);
134
- do {
135
- a = (0, randint_1.randint)(-10, 11);
136
- b = (0, randint_1.randint)(0, 11);
137
- } while (c / d + a * b < 0);
138
- 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)));
139
- startStatement = statement.toTex();
140
- answer = (a * b + c / d).toString();
141
- }
142
- break;
143
- case 5: // a/b ± c/d
144
- b = (0, randint_1.randint)(0, 11, [0]);
145
- a = b * (0, randint_1.randint)(0, 11);
146
- do {
147
- d = (0, randint_1.randint)(0, 11, [0]);
148
- c = d * (0, randint_1.randint)(-10, 11);
149
- } while (a / b + c / d < 0);
150
- 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)));
151
- startStatement = statement.toTex();
152
- answer = (a / b + c / d).toString();
153
- break;
154
- case 6: // a*b*c ± d
155
- if ((0, coinFlip_1.coinFlip)()) {
156
- [a, b, c] = [1, 2, 3].map((el) => (0, randint_1.randint)(1, 11));
157
- d = (0, randint_1.randint)(-a * b * c, 11);
158
- 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));
159
- startStatement = statement.toTex();
160
- answer = (a * b * c + d).toString();
161
- }
162
- else {
163
- d = (0, randint_1.randint)(1, 11);
164
- do {
165
- a = (0, randint_1.randint)(-10, 11, [0]);
166
- [b, c] = [1, 2].map((el) => (0, randint_1.randint)(1, 11));
167
- } while (a * b * c + d < 0);
168
- 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));
169
- startStatement = statement.toTex();
170
- answer = (a * b * c + d).toString();
171
- }
172
- break;
173
- }
174
- const question = {
175
- startStatement,
176
- answer,
177
- keys: [],
178
- };
179
- return question;
180
- }
181
- 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
+ exports.operationsPrioritiesWithoutRelative = {
19
+ id: 'operationsPrioritiesWithoutRelative',
20
+ connector: '=',
21
+ instruction: 'Calculer :',
22
+ label: 'Priorités opératoires sans les nombres relatifs',
23
+ levels: ['6', '5', '4'],
24
+ section: 'Calculs',
25
+ isSingleStep: true,
26
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getOperationsPrioritiesWithoutRelative, nb),
27
+ keys: [],
28
+ };
29
+ function getOperationsPrioritiesWithoutRelative() {
30
+ const type = (0, randint_1.randint)(1, 7);
31
+ const flip = (0, randint_1.randint)(1, 4);
32
+ let startStatement = '';
33
+ let answer = '';
34
+ let a, b, c, d;
35
+ let statement;
36
+ switch (type) {
37
+ case 1: // a*b ± c±d
38
+ switch (flip) {
39
+ case 1:
40
+ //a*b first
41
+ [a, b] = [1, 2].map((el) => (0, randint_1.randint)(0, 11));
42
+ c = (0, randint_1.randint)(-(a * b), 11, [0]);
43
+ d = (0, randint_1.randint)(-(a * b + c), 11, [0]);
44
+ 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)));
45
+ startStatement = statement.toTex();
46
+ answer = (a * b + c + d).toString();
47
+ break;
48
+ case 2:
49
+ //a*b last
50
+ c = (0, randint_1.randint)(0, 11, [0]);
51
+ d = (0, randint_1.randint)(-c, 11, [0]);
52
+ do {
53
+ a = (0, randint_1.randint)(-10, 11);
54
+ b = (0, randint_1.randint)(0, 11);
55
+ } while (c + d + a * b < 0);
56
+ 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)));
57
+ startStatement = statement.toTex();
58
+ answer = (a * b + c + d).toString();
59
+ break;
60
+ case 3:
61
+ //a*b middle
62
+ c = (0, randint_1.randint)(0, 11, [0]);
63
+ do {
64
+ a = (0, randint_1.randint)(-10, 11);
65
+ b = (0, randint_1.randint)(0, 11);
66
+ } while (c + a * b < 0);
67
+ d = (0, randint_1.randint)(-(c + a * b), 11, [0]);
68
+ 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));
69
+ startStatement = statement.toTex();
70
+ answer = (a * b + c + d).toString();
71
+ break;
72
+ }
73
+ break;
74
+ case 2: // a/b ±c±d
75
+ switch (flip) {
76
+ case 1:
77
+ //a/b first
78
+ b = (0, randint_1.randint)(0, 11, [0]);
79
+ a = b * (0, randint_1.randint)(0, 11);
80
+ c = (0, randint_1.randint)(-(a / b), 11, [0]);
81
+ d = (0, randint_1.randint)(-(a / b + c), 11, [0]);
82
+ 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)));
83
+ startStatement = statement.toTex();
84
+ answer = (a / b + c + d).toString();
85
+ break;
86
+ case 2:
87
+ //a/b last
88
+ c = (0, randint_1.randint)(0, 11, [0]);
89
+ d = (0, randint_1.randint)(-c, 11, [0]);
90
+ do {
91
+ b = (0, randint_1.randint)(1, 11);
92
+ a = b * (0, randint_1.randint)(-10, 11);
93
+ } while (c + d + a / b < 0);
94
+ 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)));
95
+ startStatement = statement.toTex();
96
+ answer = (a / b + c + d).toString();
97
+ break;
98
+ case 3:
99
+ //a/b middle
100
+ c = (0, randint_1.randint)(0, 11, [0]);
101
+ do {
102
+ b = (0, randint_1.randint)(1, 11);
103
+ a = b * (0, randint_1.randint)(-10, 11);
104
+ } while (c + a / b < 0);
105
+ d = (0, randint_1.randint)(-(c + a / b), 11, [0]);
106
+ 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));
107
+ startStatement = statement.toTex();
108
+ answer = (a / b + c + d).toString();
109
+ break;
110
+ }
111
+ break;
112
+ case 3: // a*b ± c*d
113
+ [a, b] = [1, 2].map((el) => (0, randint_1.randint)(1, 11));
114
+ do {
115
+ c = (0, randint_1.randint)(-10, 11);
116
+ d = (0, randint_1.randint)(1, 11);
117
+ } while (a * b + c * d < 0);
118
+ 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)));
119
+ startStatement = statement.toTex();
120
+ answer = (a * b + c * d).toString();
121
+ break;
122
+ case 4: // a*b ± c/d
123
+ if ((0, coinFlip_1.coinFlip)()) {
124
+ [a, b] = [1, 2].map((el) => (0, randint_1.randint)(1, 11));
125
+ d = (0, randint_1.randint)(0, 11, [0]);
126
+ c = d * (0, randint_1.randint)(-(a * b), 11);
127
+ 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)));
128
+ startStatement = statement.toTex();
129
+ answer = (a * b + c / d).toString();
130
+ }
131
+ else {
132
+ d = (0, randint_1.randint)(0, 11, [0]);
133
+ c = d * (0, randint_1.randint)(0, 11);
134
+ do {
135
+ a = (0, randint_1.randint)(-10, 11);
136
+ b = (0, randint_1.randint)(0, 11);
137
+ } while (c / d + a * b < 0);
138
+ 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)));
139
+ startStatement = statement.toTex();
140
+ answer = (a * b + c / d).toString();
141
+ }
142
+ break;
143
+ case 5: // a/b ± c/d
144
+ b = (0, randint_1.randint)(0, 11, [0]);
145
+ a = b * (0, randint_1.randint)(0, 11);
146
+ do {
147
+ d = (0, randint_1.randint)(0, 11, [0]);
148
+ c = d * (0, randint_1.randint)(-10, 11);
149
+ } while (a / b + c / d < 0);
150
+ 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)));
151
+ startStatement = statement.toTex();
152
+ answer = (a / b + c / d).toString();
153
+ break;
154
+ case 6: // a*b*c ± d
155
+ if ((0, coinFlip_1.coinFlip)()) {
156
+ [a, b, c] = [1, 2, 3].map((el) => (0, randint_1.randint)(1, 11));
157
+ d = (0, randint_1.randint)(-a * b * c, 11);
158
+ 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));
159
+ startStatement = statement.toTex();
160
+ answer = (a * b * c + d).toString();
161
+ }
162
+ else {
163
+ d = (0, randint_1.randint)(1, 11);
164
+ do {
165
+ a = (0, randint_1.randint)(-10, 11, [0]);
166
+ [b, c] = [1, 2].map((el) => (0, randint_1.randint)(1, 11));
167
+ } while (a * b * c + d < 0);
168
+ 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));
169
+ startStatement = statement.toTex();
170
+ answer = (a * b * c + d).toString();
171
+ }
172
+ break;
173
+ }
174
+ const question = {
175
+ startStatement,
176
+ answer,
177
+ keys: [],
178
+ };
179
+ return question;
180
+ }
181
+ 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,20 +1,20 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- /**
3
- * arrondi à l'unité
4
- */
5
- export declare const roundToUnit: Exercise;
6
- /**
7
- * arrondi à l'unité
8
- */
9
- export declare const roundToDixieme: Exercise;
10
- /**
11
- * arrondi à l'unité
12
- */
13
- export declare const roundToCentieme: Exercise;
14
- /**
15
- * arrondi à l'unité
16
- */
17
- export declare const roundToMillieme: Exercise;
18
- export declare const allRoundings: Exercise;
19
- export declare function getRoundQuestions(precisionAsked?: number): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ /**
3
+ * arrondi à l'unité
4
+ */
5
+ export declare const roundToUnit: Exercise;
6
+ /**
7
+ * arrondi à l'unité
8
+ */
9
+ export declare const roundToDixieme: Exercise;
10
+ /**
11
+ * arrondi à l'unité
12
+ */
13
+ export declare const roundToCentieme: Exercise;
14
+ /**
15
+ * arrondi à l'unité
16
+ */
17
+ export declare const roundToMillieme: Exercise;
18
+ export declare const allRoundings: Exercise;
19
+ export declare function getRoundQuestions(precisionAsked?: number): Question;
20
20
  //# sourceMappingURL=rounding.d.ts.map