math-exercises 1.3.33 → 1.3.36

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 (381) 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/arithmetics/primeNumbers.d.ts +7 -0
  7. package/lib/exercises/calcul/arithmetics/primeNumbers.d.ts.map +1 -0
  8. package/lib/exercises/calcul/arithmetics/primeNumbers.js +48 -0
  9. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +3 -3
  10. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +37 -37
  11. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +3 -3
  12. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +34 -34
  13. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +3 -3
  14. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +34 -34
  15. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.d.ts +3 -3
  16. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.js +69 -69
  17. package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +3 -3
  18. package/lib/exercises/calcul/fractions/fractionsDivision.js +31 -31
  19. package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +3 -3
  20. package/lib/exercises/calcul/fractions/fractionsProduct.js +30 -30
  21. package/lib/exercises/calcul/fractions/fractionsSum.d.ts +3 -3
  22. package/lib/exercises/calcul/fractions/fractionsSum.js +30 -30
  23. package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +3 -3
  24. package/lib/exercises/calcul/fractions/simplifyFraction.js +26 -26
  25. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.d.ts +3 -3
  26. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.js +46 -46
  27. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.d.ts +3 -3
  28. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.js +64 -64
  29. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.d.ts +3 -3
  30. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.js +51 -51
  31. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.d.ts +3 -3
  32. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.js +67 -67
  33. package/lib/exercises/calcul/operations/operationsPriorities.d.ts +10 -10
  34. package/lib/exercises/calcul/operations/operationsPriorities.js +100 -100
  35. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts +10 -10
  36. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +181 -181
  37. package/lib/exercises/calcul/rounding/rounding.d.ts +19 -19
  38. package/lib/exercises/calcul/rounding/rounding.js +87 -87
  39. package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +3 -3
  40. package/lib/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
  41. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +3 -3
  42. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +32 -32
  43. package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +3 -3
  44. package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +33 -33
  45. package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +3 -3
  46. package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +34 -34
  47. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +3 -3
  48. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +34 -34
  49. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +3 -3
  50. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +33 -33
  51. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.d.ts +3 -3
  52. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +47 -47
  53. package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +6 -6
  54. package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +39 -39
  55. package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +6 -6
  56. package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +42 -42
  57. package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +6 -6
  58. package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +43 -43
  59. package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +6 -6
  60. package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +45 -45
  61. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.d.ts +3 -3
  62. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.js +30 -30
  63. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.d.ts +3 -3
  64. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.js +32 -32
  65. package/lib/exercises/calculLitteral/equation/fractionEquation.d.ts +3 -3
  66. package/lib/exercises/calculLitteral/equation/fractionEquation.js +39 -39
  67. package/lib/exercises/calculLitteral/equation/multiplicationEquation.d.ts +3 -3
  68. package/lib/exercises/calculLitteral/equation/multiplicationEquation.js +39 -39
  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/constanteDerivative.d.ts +3 -3
  90. package/lib/exercises/derivation/derivative/constanteDerivative.js +27 -27
  91. package/lib/exercises/derivation/derivative/firstDegreeDerivative.d.ts +3 -3
  92. package/lib/exercises/derivation/derivative/firstDegreeDerivative.js +29 -29
  93. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.d.ts +3 -3
  94. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.js +27 -27
  95. package/lib/exercises/derivation/derivative/powerFunctionDerivative.d.ts +3 -3
  96. package/lib/exercises/derivation/derivative/powerFunctionDerivative.js +35 -35
  97. package/lib/exercises/derivation/derivative/rootFunctionDerivative.d.ts +3 -3
  98. package/lib/exercises/derivation/derivative/rootFunctionDerivative.js +40 -40
  99. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts +3 -3
  100. package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +30 -30
  101. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.d.ts +3 -3
  102. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.js +33 -33
  103. package/lib/exercises/derivation/derivative/usualderivative.d.ts +3 -3
  104. package/lib/exercises/derivation/derivative/usualderivative.js +36 -36
  105. package/lib/exercises/exercise.d.ts +21 -21
  106. package/lib/exercises/exercise.js +7 -7
  107. package/lib/exercises/exercises.d.ts +1 -1
  108. package/lib/exercises/exercises.d.ts.map +1 -1
  109. package/lib/exercises/exercises.js +242 -224
  110. package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts +3 -3
  111. package/lib/exercises/geometry/cartesian/derivativeNumberReading.js +51 -51
  112. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.js +91 -91
  113. package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts +3 -3
  114. package/lib/exercises/geometry/cartesian/leadingCoefficient.js +60 -60
  115. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts +3 -3
  116. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.js +30 -30
  117. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts +3 -3
  118. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.js +29 -29
  119. package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
  120. package/lib/exercises/geometry/cartesian/midpoint.js +31 -31
  121. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts +4 -4
  122. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts.map +1 -1
  123. package/lib/exercises/geometry/euclidean/TriangleArea.js +53 -53
  124. package/lib/exercises/geometry/euclidean/circleArea.d.ts +4 -0
  125. package/lib/exercises/geometry/euclidean/circleArea.d.ts.map +1 -0
  126. package/lib/exercises/geometry/euclidean/circleArea.js +28 -0
  127. package/lib/exercises/geometry/euclidean/circleCircumference.d.ts +4 -0
  128. package/lib/exercises/geometry/euclidean/circleCircumference.d.ts.map +1 -0
  129. package/lib/exercises/geometry/euclidean/circleCircumference.js +28 -0
  130. package/lib/exercises/geometry/euclidean/pythagore.d.ts +3 -3
  131. package/lib/exercises/geometry/euclidean/pythagore.js +31 -31
  132. package/lib/exercises/geometry/euclidean/pythagoreCalcul.d.ts +3 -3
  133. package/lib/exercises/geometry/euclidean/pythagoreCalcul.js +60 -60
  134. package/lib/exercises/geometry/euclidean/rectangleArea.d.ts +4 -0
  135. package/lib/exercises/geometry/euclidean/rectangleArea.d.ts.map +1 -0
  136. package/lib/exercises/geometry/euclidean/rectangleArea.js +25 -0
  137. package/lib/exercises/geometry/euclidean/rectanglePerimeter.d.ts +4 -0
  138. package/lib/exercises/geometry/euclidean/rectanglePerimeter.d.ts.map +1 -0
  139. package/lib/exercises/geometry/euclidean/rectanglePerimeter.js +25 -0
  140. package/lib/exercises/geometry/euclidean/rightTriangleArea.d.ts +3 -3
  141. package/lib/exercises/geometry/euclidean/rightTriangleArea.js +39 -39
  142. package/lib/exercises/geometry/euclidean/squareArea.d.ts +4 -0
  143. package/lib/exercises/geometry/euclidean/squareArea.d.ts.map +1 -0
  144. package/lib/exercises/geometry/euclidean/squareArea.js +24 -0
  145. package/lib/exercises/geometry/euclidean/squarePerimeter.d.ts +4 -0
  146. package/lib/exercises/geometry/euclidean/squarePerimeter.d.ts.map +1 -0
  147. package/lib/exercises/geometry/euclidean/squarePerimeter.js +24 -0
  148. package/lib/exercises/geometry/euclidean/thales.d.ts +3 -3
  149. package/lib/exercises/geometry/euclidean/thales.js +67 -67
  150. package/lib/exercises/geometry/euclidean/thalesCalcul.d.ts +3 -3
  151. package/lib/exercises/geometry/euclidean/thalesCalcul.js +104 -104
  152. package/lib/exercises/geometry/euclidean/triangleAreaV2.d.ts +4 -0
  153. package/lib/exercises/geometry/euclidean/triangleAreaV2.d.ts.map +1 -0
  154. package/lib/exercises/geometry/euclidean/triangleAreaV2.js +42 -0
  155. package/lib/exercises/geometry/euclidean/trianglePerimeter.d.ts +4 -0
  156. package/lib/exercises/geometry/euclidean/trianglePerimeter.d.ts.map +1 -0
  157. package/lib/exercises/geometry/euclidean/trianglePerimeter.js +24 -0
  158. package/lib/exercises/geometry/euclidean/trigonometry.d.ts +3 -3
  159. package/lib/exercises/geometry/euclidean/trigonometry.js +55 -55
  160. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.d.ts +3 -3
  161. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.js +42 -42
  162. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.d.ts +3 -3
  163. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.js +52 -52
  164. package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
  165. package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +30 -30
  166. package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
  167. package/lib/exercises/percent/applyPercent.d.ts +3 -3
  168. package/lib/exercises/percent/applyPercent.js +41 -41
  169. package/lib/exercises/percent/averageEvolutionRate.d.ts +3 -3
  170. package/lib/exercises/percent/averageEvolutionRate.js +30 -30
  171. package/lib/exercises/percent/globalPercent.d.ts +3 -3
  172. package/lib/exercises/percent/globalPercent.js +44 -44
  173. package/lib/exercises/percent/reciprocalPercentage.d.ts +3 -3
  174. package/lib/exercises/percent/reciprocalPercentage.js +32 -32
  175. package/lib/exercises/powers/powersDivision.d.ts +7 -7
  176. package/lib/exercises/powers/powersDivision.js +46 -46
  177. package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
  178. package/lib/exercises/powers/powersOfTenToDecimal.js +34 -34
  179. package/lib/exercises/powers/powersPower.d.ts +7 -7
  180. package/lib/exercises/powers/powersPower.js +45 -45
  181. package/lib/exercises/powers/powersProduct.d.ts +7 -7
  182. package/lib/exercises/powers/powersProduct.js +46 -46
  183. package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
  184. package/lib/exercises/powers/scientificToDecimal.js +39 -39
  185. package/lib/exercises/proba/conditionalProbability.d.ts +3 -3
  186. package/lib/exercises/proba/conditionalProbability.js +74 -74
  187. package/lib/exercises/proba/marginalAndConditionalFrequency.d.ts +3 -3
  188. package/lib/exercises/proba/marginalAndConditionalFrequency.js +81 -81
  189. package/lib/exercises/proba/probabilityTree.d.ts +3 -3
  190. package/lib/exercises/proba/probabilityTree.js +105 -105
  191. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts +3 -3
  192. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +31 -31
  193. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts +3 -3
  194. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.js +31 -31
  195. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.d.ts +3 -3
  196. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.js +31 -31
  197. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.d.ts +3 -3
  198. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.js +30 -30
  199. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts +3 -3
  200. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +30 -30
  201. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.d.ts +3 -3
  202. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.js +40 -40
  203. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
  204. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +36 -36
  205. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
  206. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +35 -35
  207. package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
  208. package/lib/exercises/sequences/geometric/geometricFindReason.js +31 -31
  209. package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
  210. package/lib/exercises/sequences/geometric/geometricReasonUsage.js +30 -30
  211. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
  212. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +30 -30
  213. package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
  214. package/lib/exercises/squareRoots/simpifySquareRoot.js +29 -29
  215. package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
  216. package/lib/exercises/trigonometry/mainRemarkableValues.js +30 -30
  217. package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
  218. package/lib/exercises/trigonometry/remarkableValues.js +30 -30
  219. package/lib/exercises/utils/getDistinctQuestions.d.ts +3 -3
  220. package/lib/exercises/utils/getDistinctQuestions.d.ts.map +1 -1
  221. package/lib/exercises/utils/getDistinctQuestions.js +30 -28
  222. package/lib/index.d.ts +2 -2
  223. package/lib/index.js +6 -6
  224. package/lib/math/geometry/droite.d.ts +19 -19
  225. package/lib/math/geometry/droite.js +62 -62
  226. package/lib/math/geometry/point.d.ts +29 -29
  227. package/lib/math/geometry/point.js +55 -55
  228. package/lib/math/geometry/triangles.d.ts +53 -53
  229. package/lib/math/geometry/triangles.js +183 -183
  230. package/lib/math/geometry/vector.d.ts +15 -15
  231. package/lib/math/geometry/vector.js +31 -31
  232. package/lib/math/numbers/decimals/decimal.d.ts +24 -24
  233. package/lib/math/numbers/decimals/decimal.js +140 -140
  234. package/lib/math/numbers/epsilon.d.ts +1 -1
  235. package/lib/math/numbers/epsilon.js +10 -10
  236. package/lib/math/numbers/integer/integer.d.ts +14 -14
  237. package/lib/math/numbers/integer/integer.js +68 -68
  238. package/lib/math/numbers/integer/power.d.ts +13 -13
  239. package/lib/math/numbers/integer/power.js +52 -52
  240. package/lib/math/numbers/nombre.d.ts +13 -13
  241. package/lib/math/numbers/nombre.js +10 -10
  242. package/lib/math/numbers/rationals/rational.d.ts +25 -25
  243. package/lib/math/numbers/rationals/rational.js +113 -113
  244. package/lib/math/numbers/reals/real.d.ts +9 -9
  245. package/lib/math/numbers/reals/real.js +16 -16
  246. package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
  247. package/lib/math/numbers/reals/squareRoot.js +63 -63
  248. package/lib/math/polynomials/affine.d.ts +15 -15
  249. package/lib/math/polynomials/affine.js +42 -42
  250. package/lib/math/polynomials/polynomial.d.ts +25 -25
  251. package/lib/math/polynomials/polynomial.js +131 -131
  252. package/lib/math/sequences/arithmeticSequence.js +1 -1
  253. package/lib/math/sequences/geometricSequence.d.ts +3 -3
  254. package/lib/math/sequences/geometricSequence.js +8 -8
  255. package/lib/math/sequences/sequence.d.ts +22 -22
  256. package/lib/math/sequences/sequence.js +21 -21
  257. package/lib/math/sets/discreteSet.d.ts +10 -10
  258. package/lib/math/sets/discreteSet.js +28 -28
  259. package/lib/math/sets/emptySet.js +6 -6
  260. package/lib/math/sets/intervals/intervals.d.ts +26 -26
  261. package/lib/math/sets/intervals/intervals.js +104 -104
  262. package/lib/math/sets/mathSet.d.ts +7 -7
  263. package/lib/math/sets/mathSet.js +10 -10
  264. package/lib/math/sets/mathSetInterface.d.ts +5 -5
  265. package/lib/math/sets/mathSetInterface.js +2 -2
  266. package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
  267. package/lib/math/trigonometry/remarkableValue.js +29 -29
  268. package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
  269. package/lib/math/trigonometry/remarkableValues.js +51 -51
  270. package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
  271. package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
  272. package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
  273. package/lib/math/utils/arithmetic/dividersOf.js +12 -12
  274. package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
  275. package/lib/math/utils/arithmetic/gcd.js +7 -7
  276. package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
  277. package/lib/math/utils/arithmetic/isSquare.js +7 -7
  278. package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
  279. package/lib/math/utils/arithmetic/lcd.js +12 -12
  280. package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
  281. package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
  282. package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
  283. package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
  284. package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
  285. package/lib/math/utils/arithmetic/primeFactors.js +22 -22
  286. package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
  287. package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
  288. package/lib/math/utils/random/randTupleInt.d.ts +13 -13
  289. package/lib/math/utils/random/randTupleInt.js +30 -30
  290. package/lib/math/utils/random/randint.d.ts +4 -4
  291. package/lib/math/utils/random/randint.js +18 -18
  292. package/lib/math/utils/round.d.ts +1 -1
  293. package/lib/math/utils/round.js +8 -8
  294. package/lib/server.d.ts +1 -1
  295. package/lib/server.js +53 -53
  296. package/lib/tree/nodes/functions/cosNode.d.ts +9 -9
  297. package/lib/tree/nodes/functions/cosNode.js +21 -21
  298. package/lib/tree/nodes/functions/functionNode.d.ts +14 -14
  299. package/lib/tree/nodes/functions/functionNode.js +20 -20
  300. package/lib/tree/nodes/functions/oppositeNode.d.ts +7 -7
  301. package/lib/tree/nodes/functions/oppositeNode.js +26 -26
  302. package/lib/tree/nodes/functions/sinNode.js +1 -1
  303. package/lib/tree/nodes/functions/sqrtNode.d.ts +8 -8
  304. package/lib/tree/nodes/functions/sqrtNode.js +18 -18
  305. package/lib/tree/nodes/node.d.ts +12 -12
  306. package/lib/tree/nodes/node.js +11 -11
  307. package/lib/tree/nodes/numbers/constantNode.d.ts +9 -9
  308. package/lib/tree/nodes/numbers/constantNode.js +18 -18
  309. package/lib/tree/nodes/numbers/numberNode.d.ts +10 -10
  310. package/lib/tree/nodes/numbers/numberNode.js +19 -19
  311. package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
  312. package/lib/tree/nodes/numbers/piNode.js +5 -5
  313. package/lib/tree/nodes/operators/addNode.d.ts +7 -7
  314. package/lib/tree/nodes/operators/addNode.js +19 -19
  315. package/lib/tree/nodes/operators/divideNode.d.ts +11 -11
  316. package/lib/tree/nodes/operators/divideNode.js +34 -34
  317. package/lib/tree/nodes/operators/equalNode.d.ts +7 -7
  318. package/lib/tree/nodes/operators/equalNode.js +16 -16
  319. package/lib/tree/nodes/operators/fractionNode.d.ts +11 -11
  320. package/lib/tree/nodes/operators/fractionNode.js +20 -20
  321. package/lib/tree/nodes/operators/multiplyNode.d.ts +7 -7
  322. package/lib/tree/nodes/operators/multiplyNode.js +43 -43
  323. package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
  324. package/lib/tree/nodes/operators/operatorNode.js +35 -35
  325. package/lib/tree/nodes/operators/powerNode.d.ts +7 -7
  326. package/lib/tree/nodes/operators/powerNode.js +33 -33
  327. package/lib/tree/nodes/operators/substractNode.d.ts +7 -7
  328. package/lib/tree/nodes/operators/substractNode.js +24 -24
  329. package/lib/tree/nodes/variables/variableNode.d.ts +8 -8
  330. package/lib/tree/nodes/variables/variableNode.js +19 -19
  331. package/lib/tree/parsers/derivateParser.js +62 -62
  332. package/lib/tree/parsers/simplify.d.ts +2 -2
  333. package/lib/tree/parsers/simplify.js +52 -52
  334. package/lib/utils/arrayEqual.d.ts +1 -1
  335. package/lib/utils/arrayEqual.js +13 -13
  336. package/lib/utils/coinFlip.d.ts +1 -1
  337. package/lib/utils/coinFlip.js +7 -7
  338. package/lib/utils/random.d.ts +1 -1
  339. package/lib/utils/random.js +7 -7
  340. package/lib/utils/shuffle.d.ts +1 -1
  341. package/lib/utils/shuffle.js +15 -15
  342. package/package.json +50 -50
  343. package/lib/exercises/calcul/operationsPriorities.js +0 -88
  344. package/lib/exercises/derivation/derivative/affineDerivative.d.ts +0 -4
  345. package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +0 -1
  346. package/lib/exercises/derivation/derivative/affineDerivative.js +0 -27
  347. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +0 -1
  348. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +0 -1
  349. package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +0 -1
  350. package/lib/geometry/point.js +0 -27
  351. package/lib/geometry/vector.js +0 -31
  352. package/lib/mathutils/arithmetic/coprimesOf.js +0 -13
  353. package/lib/mathutils/arithmetic/dividersOf.js +0 -12
  354. package/lib/mathutils/arithmetic/gcd.js +0 -7
  355. package/lib/mathutils/arithmetic/isSquare.js +0 -7
  356. package/lib/mathutils/arithmetic/lcd.js +0 -12
  357. package/lib/mathutils/arithmetic/nonCoprimesOf.js +0 -13
  358. package/lib/mathutils/arithmetic/nonDividersOf.js +0 -14
  359. package/lib/mathutils/arithmetic/primeFactors.js +0 -22
  360. package/lib/mathutils/decimals/decimalPartLengthOf.js +0 -14
  361. package/lib/mathutils/random/randTupleInt.js +0 -30
  362. package/lib/mathutils/random/randint.js +0 -18
  363. package/lib/mathutils/round.js +0 -8
  364. package/lib/numbers/decimals/decimal.js +0 -140
  365. package/lib/numbers/epsilon.js +0 -10
  366. package/lib/numbers/integer/integer.js +0 -68
  367. package/lib/numbers/integer/power.js +0 -52
  368. package/lib/numbers/nombre.js +0 -10
  369. package/lib/numbers/rationals/rational.js +0 -113
  370. package/lib/numbers/reals/real.js +0 -16
  371. package/lib/numbers/reals/squareRoot.js +0 -63
  372. package/lib/polynomials/affine.js +0 -42
  373. package/lib/polynomials/polynomial.js +0 -125
  374. package/lib/sets/discreteSet.js +0 -28
  375. package/lib/sets/emptySet.js +0 -6
  376. package/lib/sets/intervals/intervals.js +0 -108
  377. package/lib/sets/intervals/union.js +0 -1
  378. package/lib/sets/mathSet.js +0 -10
  379. package/lib/sets/mathSetInterface.js +0 -2
  380. package/lib/tree/parsers/latexParser.js +0 -110
  381. package/lib/utils/coin.js +0 -7
@@ -1,53 +1,53 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTriangleArea = exports.triangleArea = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const triangles_1 = require("../../../math/geometry/triangles");
6
- const randint_1 = require("../../../math/utils/random/randint");
7
- const shuffle_1 = require("../../../utils/shuffle");
8
- exports.triangleArea = {
9
- id: 'triangleArea',
10
- connector: '=',
11
- instruction: '',
12
- label: "Calculer l'aire d'un triangle",
13
- levels: ['4', '3', '2'],
14
- isSingleStep: false,
15
- section: 'Géométrie euclidienne',
16
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getTriangleArea, nb),
17
- };
18
- function getTriangleArea() {
19
- const vertices = [];
20
- const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
21
- for (let i = 0; i < 3; i++)
22
- vertices.push(String.fromCharCode(code + i));
23
- const triangle = triangles_1.TriangleConstructor.createRandomTriangle({ minAngle: 0.69, maxAngle: 1.5, names: vertices });
24
- const sides = [triangle.getSideAName(), triangle.getSideBName(), triangle.getSideCName()];
25
- const sidesLength = [triangle.getSideAnumber(), triangle.getSideBnumber(), triangle.getSideCnumber()].map((el) => Math.round(el / 2));
26
- const angles = [triangle.getAngleA(), triangle.getAngleB(), triangle.getAngleC()];
27
- const randoms = (0, shuffle_1.shuffle)([0, 1, 2]);
28
- const height = Math.round(sidesLength[randoms[1]] * Math.sin(angles[randoms[2]]));
29
- const commands = [
30
- ...triangle.generateCommands({
31
- showLabels: [sides[randoms[0]]],
32
- setCaptions: [sidesLength[randoms[0]] + ''],
33
- }),
34
- `poi = Intersect(PerpendicularLine(${vertices[randoms[0]]},${sides[randoms[0]]}),${sides[randoms[0]]})`,
35
- `ShowLabel(poi, true)`,
36
- `SetCaption(poi, "${String.fromCharCode(code + 3)}")`,
37
- `seg = Segment(${vertices[randoms[0]]}, poi)`,
38
- `ShowLabel(seg, true)`,
39
- `SetCaption(seg, "${height}")`,
40
- `SetLineStyle(seg, 1)`,
41
- `alpha = Angle(${vertices[randoms[0]]},poi ,${vertices[randoms[1]]}, Line(${vertices[randoms[0]]},poi))`,
42
- `ShowLabel(alpha, false)`,
43
- ];
44
- const question = {
45
- instruction: `Calculer l'aire du triangle ${triangle.getTriangleName()} sachant que ${sides[randoms[0]]} = $${sidesLength[randoms[0]]}$ cm et la hauteur ${vertices[randoms[0]]}${String.fromCharCode(code + 3)} = $${height}$ cm.`,
46
- answer: (sidesLength[randoms[0]] * height) / 2 + '',
47
- keys: [...vertices, 'equal', 'cm2'],
48
- commands,
49
- coords: triangle.generateCoords(),
50
- };
51
- return question;
52
- }
53
- exports.getTriangleArea = getTriangleArea;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTriangleArea = exports.triangleArea = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const triangles_1 = require("../../../math/geometry/triangles");
6
+ const randint_1 = require("../../../math/utils/random/randint");
7
+ const shuffle_1 = require("../../../utils/shuffle");
8
+ exports.triangleArea = {
9
+ id: 'triangleArea',
10
+ connector: '=',
11
+ instruction: '',
12
+ label: "Calculer l'aire d'un triangle (avec figure)",
13
+ levels: ['4', '3', '2'],
14
+ isSingleStep: false,
15
+ section: 'Géométrie euclidienne',
16
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getTriangleArea, nb),
17
+ };
18
+ function getTriangleArea() {
19
+ const vertices = [];
20
+ const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
21
+ for (let i = 0; i < 3; i++)
22
+ vertices.push(String.fromCharCode(code + i));
23
+ const triangle = triangles_1.TriangleConstructor.createRandomTriangle({ minAngle: 0.69, maxAngle: 1.5, names: vertices });
24
+ const sides = [triangle.getSideAName(), triangle.getSideBName(), triangle.getSideCName()];
25
+ const sidesLength = [triangle.getSideAnumber(), triangle.getSideBnumber(), triangle.getSideCnumber()].map((el) => Math.round(el / 2));
26
+ const angles = [triangle.getAngleA(), triangle.getAngleB(), triangle.getAngleC()];
27
+ const randoms = (0, shuffle_1.shuffle)([0, 1, 2]);
28
+ const height = Math.round(sidesLength[randoms[1]] * Math.sin(angles[randoms[2]]));
29
+ const commands = [
30
+ ...triangle.generateCommands({
31
+ showLabels: [sides[randoms[0]]],
32
+ setCaptions: [sidesLength[randoms[0]] + ''],
33
+ }),
34
+ `poi = Intersect(PerpendicularLine(${vertices[randoms[0]]},${sides[randoms[0]]}),${sides[randoms[0]]})`,
35
+ `ShowLabel(poi, true)`,
36
+ `SetCaption(poi, "${String.fromCharCode(code + 3)}")`,
37
+ `seg = Segment(${vertices[randoms[0]]}, poi)`,
38
+ `ShowLabel(seg, true)`,
39
+ `SetCaption(seg, "${height}")`,
40
+ `SetLineStyle(seg, 1)`,
41
+ `alpha = Angle(${vertices[randoms[0]]},poi ,${vertices[randoms[1]]}, Line(${vertices[randoms[0]]},poi))`,
42
+ `ShowLabel(alpha, false)`,
43
+ ];
44
+ const question = {
45
+ instruction: `Calculer l'aire du triangle ${triangle.getTriangleName()} sachant que ${sides[randoms[0]]} = $${sidesLength[randoms[0]]}$ cm et la hauteur ${vertices[randoms[0]]}${String.fromCharCode(code + 3)} = $${height}$ cm.`,
46
+ answer: (sidesLength[randoms[0]] * height) / 2 + '',
47
+ keys: [...vertices, 'equal', 'cm2'],
48
+ commands,
49
+ coords: triangle.generateCoords(),
50
+ };
51
+ return question;
52
+ }
53
+ exports.getTriangleArea = getTriangleArea;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const circleArea: Exercise;
3
+ export declare function getCircleArea(): Question;
4
+ //# sourceMappingURL=circleArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circleArea.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/circleArea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM9D,eAAO,MAAM,UAAU,EAAE,QASxB,CAAC;AAEF,wBAAgB,aAAa,IAAI,QAAQ,CAYxC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCircleArea = exports.circleArea = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ const round_1 = require("../../../math/utils/round");
7
+ const coinFlip_1 = require("../../../utils/coinFlip");
8
+ exports.circleArea = {
9
+ id: 'circleArea',
10
+ connector: '=',
11
+ instruction: '',
12
+ label: "Calculer l'aire d'un cercle",
13
+ levels: ['4', '3', '2'],
14
+ isSingleStep: false,
15
+ section: 'Géométrie euclidienne',
16
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCircleArea, nb),
17
+ };
18
+ function getCircleArea() {
19
+ const radius = (0, randint_1.randint)(1, 13);
20
+ const diametre = (0, randint_1.randint)(1, 21);
21
+ const coin = (0, coinFlip_1.coinFlip)();
22
+ const question = {
23
+ instruction: `Calculer l'aire d'un cercle de ${coin ? 'rayon ' + radius : 'diamètre ' + diametre} cm.`,
24
+ answer: coin ? (0, round_1.round)(Math.PI * radius ** 2, 2) + '' : (0, round_1.round)(Math.PI * (diametre / 2) ** 2, 2) + '',
25
+ };
26
+ return question;
27
+ }
28
+ exports.getCircleArea = getCircleArea;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const circleCircumference: Exercise;
3
+ export declare function getCircleCircumference(): Question;
4
+ //# sourceMappingURL=circleCircumference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circleCircumference.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/circleCircumference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM9D,eAAO,MAAM,mBAAmB,EAAE,QASjC,CAAC;AAEF,wBAAgB,sBAAsB,IAAI,QAAQ,CAYjD"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCircleCircumference = exports.circleCircumference = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ const round_1 = require("../../../math/utils/round");
7
+ const coinFlip_1 = require("../../../utils/coinFlip");
8
+ exports.circleCircumference = {
9
+ id: 'circleCircumference',
10
+ connector: '=',
11
+ instruction: '',
12
+ label: "Calculer la circonférence d'un cercle",
13
+ levels: ['4', '3', '2'],
14
+ isSingleStep: false,
15
+ section: 'Géométrie euclidienne',
16
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCircleCircumference, nb),
17
+ };
18
+ function getCircleCircumference() {
19
+ const radius = (0, randint_1.randint)(1, 13);
20
+ const diametre = (0, randint_1.randint)(1, 21);
21
+ const coin = (0, coinFlip_1.coinFlip)();
22
+ const question = {
23
+ instruction: `Calculer la circonférence d'un cercle de ${coin ? 'rayon ' + radius : 'diamètre ' + diametre} cm.`,
24
+ answer: coin ? (0, round_1.round)(2 * Math.PI * radius, 2) + '' : (0, round_1.round)(Math.PI * diametre, 2) + '',
25
+ };
26
+ return question;
27
+ }
28
+ exports.getCircleCircumference = getCircleCircumference;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- export declare const pythagore: Exercise;
3
- export declare function getPythagore(): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const pythagore: Exercise;
3
+ export declare function getPythagore(): Question;
4
4
  //# sourceMappingURL=pythagore.d.ts.map
@@ -1,31 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPythagore = exports.pythagore = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const triangles_1 = require("../../../math/geometry/triangles");
6
- const randint_1 = require("../../../math/utils/random/randint");
7
- exports.pythagore = {
8
- id: 'pythagore',
9
- connector: '=',
10
- instruction: "Écrire l'égalité de Pythagore pour la figure suivante : ",
11
- label: "Ecrire l'égalité de Pythagore",
12
- levels: ['4', '3', '2'],
13
- isSingleStep: false,
14
- section: 'Géométrie euclidienne',
15
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getPythagore, nb),
16
- };
17
- function getPythagore() {
18
- const vertices = [];
19
- const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
20
- for (let i = 0; i < 3; i++)
21
- vertices.push(String.fromCharCode(code + i));
22
- const triangle = triangles_1.TriangleConstructor.createRandomRightTriangle({ minRapport: 0.7, maxRapport: 1.3, names: vertices });
23
- const question = {
24
- answer: `${triangle.getSideAName()}^2 = ${triangle.getSideBName()}^2 + ${triangle.getSideCName()}^2`,
25
- keys: [...vertices, 'equal'],
26
- commands: triangle.generateCommands({}),
27
- coords: triangle.generateCoords(),
28
- };
29
- return question;
30
- }
31
- exports.getPythagore = getPythagore;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPythagore = exports.pythagore = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const triangles_1 = require("../../../math/geometry/triangles");
6
+ const randint_1 = require("../../../math/utils/random/randint");
7
+ exports.pythagore = {
8
+ id: 'pythagore',
9
+ connector: '=',
10
+ instruction: "Écrire l'égalité de Pythagore pour la figure suivante : ",
11
+ label: "Ecrire l'égalité de Pythagore",
12
+ levels: ['4', '3', '2'],
13
+ isSingleStep: false,
14
+ section: 'Géométrie euclidienne',
15
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getPythagore, nb),
16
+ };
17
+ function getPythagore() {
18
+ const vertices = [];
19
+ const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
20
+ for (let i = 0; i < 3; i++)
21
+ vertices.push(String.fromCharCode(code + i));
22
+ const triangle = triangles_1.TriangleConstructor.createRandomRightTriangle({ minRapport: 0.7, maxRapport: 1.3, names: vertices });
23
+ const question = {
24
+ answer: `${triangle.getSideAName()}^2 = ${triangle.getSideBName()}^2 + ${triangle.getSideCName()}^2`,
25
+ keys: [...vertices, 'equal'],
26
+ commands: triangle.generateCommands({}),
27
+ coords: triangle.generateCoords(),
28
+ };
29
+ return question;
30
+ }
31
+ exports.getPythagore = getPythagore;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- export declare const pythagoreCalcul: Exercise;
3
- export declare function getPythagoreCalcul(): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const pythagoreCalcul: Exercise;
3
+ export declare function getPythagoreCalcul(): Question;
4
4
  //# sourceMappingURL=pythagoreCalcul.d.ts.map
@@ -1,60 +1,60 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPythagoreCalcul = exports.pythagoreCalcul = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const triangles_1 = require("../../../math/geometry/triangles");
6
- const randint_1 = require("../../../math/utils/random/randint");
7
- const coinFlip_1 = require("../../../utils/coinFlip");
8
- const shuffle_1 = require("../../../utils/shuffle");
9
- exports.pythagoreCalcul = {
10
- id: 'pythagoreCalcul',
11
- connector: '=',
12
- instruction: '',
13
- label: 'Utiliser le théoreme de Pythagore pour faire des calculs',
14
- levels: ['3', '2'],
15
- isSingleStep: false,
16
- section: 'Géométrie euclidienne',
17
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getPythagoreCalcul, nb),
18
- };
19
- function getPythagoreCalcul() {
20
- const vertices = [];
21
- const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
22
- for (let i = 0; i < 3; i++)
23
- vertices.push(String.fromCharCode(code + i));
24
- const triangle = triangles_1.TriangleConstructor.createRandomRightTriangle({ minRapport: 0.7, maxRapport: 1.3, names: vertices });
25
- const sides = [triangle.getSideCName(), triangle.getSideBName(), triangle.getSideAName()];
26
- const sideLengths = [triangle.getSideCnumber(), triangle.getSideBnumber(), triangle.getSideAnumber()].map((el) => Math.round(el / 2));
27
- const zeroOrOne = (0, shuffle_1.shuffle)([0, 1]);
28
- const randoms = (0, coinFlip_1.coinFlip)() ? [...zeroOrOne, 2] : [2, ...zeroOrOne];
29
- // le but est d'avoir une chance sur 2 d'avoir un hépoténus et une 1 chance sur 2 d'avoir un a des 2 autres cote
30
- let answer;
31
- if (randoms[2] === 2) {
32
- // cas de l'hypoténus
33
- answer = Math.hypot(sideLengths[0], sideLengths[1]);
34
- answer = Math.round(answer) === answer ? answer : `\\sqrt{${sideLengths[0] ** 2 + sideLengths[1] ** 2}}`;
35
- }
36
- else {
37
- // les deux autres cotés
38
- answer = Math.sqrt(Math.abs(sideLengths[randoms[0]] ** 2 - sideLengths[randoms[1]] ** 2));
39
- answer =
40
- Math.round(answer) === answer
41
- ? answer
42
- : `\\sqrt{${Math.abs(sideLengths[randoms[0]] ** 2 - sideLengths[randoms[1]] ** 2)}}`;
43
- }
44
- const commands = [
45
- ...triangle.generateCommands({
46
- showLabels: [...sides, sides[randoms[2]]],
47
- setCaptions: [...sideLengths.map((el) => el + ''), '?'],
48
- highlightedSide: sides[randoms[2]],
49
- }),
50
- ];
51
- const question = {
52
- instruction: `Dans le triangle ${triangle.getTriangleName()} ci-dessous rectangle en ${triangle.getRightAngle()}, on sait que ${sides[randoms[0]]} = $${sideLengths[randoms[0]]}$ et que ${sides[randoms[1]]} = $${sideLengths[randoms[1]]}$.$\\\\$Calculer la longueur exacte ${sides[randoms[2]]}`,
53
- answer: answer + '',
54
- keys: [...vertices, 'equal'],
55
- commands,
56
- coords: triangle.generateCoords(),
57
- };
58
- return question;
59
- }
60
- exports.getPythagoreCalcul = getPythagoreCalcul;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPythagoreCalcul = exports.pythagoreCalcul = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const triangles_1 = require("../../../math/geometry/triangles");
6
+ const randint_1 = require("../../../math/utils/random/randint");
7
+ const coinFlip_1 = require("../../../utils/coinFlip");
8
+ const shuffle_1 = require("../../../utils/shuffle");
9
+ exports.pythagoreCalcul = {
10
+ id: 'pythagoreCalcul',
11
+ connector: '=',
12
+ instruction: '',
13
+ label: 'Utiliser le théoreme de Pythagore pour faire des calculs',
14
+ levels: ['3', '2'],
15
+ isSingleStep: false,
16
+ section: 'Géométrie euclidienne',
17
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getPythagoreCalcul, nb),
18
+ };
19
+ function getPythagoreCalcul() {
20
+ const vertices = [];
21
+ const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
22
+ for (let i = 0; i < 3; i++)
23
+ vertices.push(String.fromCharCode(code + i));
24
+ const triangle = triangles_1.TriangleConstructor.createRandomRightTriangle({ minRapport: 0.7, maxRapport: 1.3, names: vertices });
25
+ const sides = [triangle.getSideCName(), triangle.getSideBName(), triangle.getSideAName()];
26
+ const sideLengths = [triangle.getSideCnumber(), triangle.getSideBnumber(), triangle.getSideAnumber()].map((el) => Math.round(el / 2));
27
+ const zeroOrOne = (0, shuffle_1.shuffle)([0, 1]);
28
+ const randoms = (0, coinFlip_1.coinFlip)() ? [...zeroOrOne, 2] : [2, ...zeroOrOne];
29
+ // le but est d'avoir une chance sur 2 d'avoir un hépoténus et une 1 chance sur 2 d'avoir un a des 2 autres cote
30
+ let answer;
31
+ if (randoms[2] === 2) {
32
+ // cas de l'hypoténus
33
+ answer = Math.hypot(sideLengths[0], sideLengths[1]);
34
+ answer = Math.round(answer) === answer ? answer : `\\sqrt{${sideLengths[0] ** 2 + sideLengths[1] ** 2}}`;
35
+ }
36
+ else {
37
+ // les deux autres cotés
38
+ answer = Math.sqrt(Math.abs(sideLengths[randoms[0]] ** 2 - sideLengths[randoms[1]] ** 2));
39
+ answer =
40
+ Math.round(answer) === answer
41
+ ? answer
42
+ : `\\sqrt{${Math.abs(sideLengths[randoms[0]] ** 2 - sideLengths[randoms[1]] ** 2)}}`;
43
+ }
44
+ const commands = [
45
+ ...triangle.generateCommands({
46
+ showLabels: [...sides, sides[randoms[2]]],
47
+ setCaptions: [...sideLengths.map((el) => el + ''), '?'],
48
+ highlightedSide: sides[randoms[2]],
49
+ }),
50
+ ];
51
+ const question = {
52
+ instruction: `Dans le triangle ${triangle.getTriangleName()} ci-dessous rectangle en ${triangle.getRightAngle()}, on sait que ${sides[randoms[0]]} = $${sideLengths[randoms[0]]}$ et que ${sides[randoms[1]]} = $${sideLengths[randoms[1]]}$.$\\\\$Calculer la longueur exacte ${sides[randoms[2]]}`,
53
+ answer: answer + '',
54
+ keys: [...vertices, 'equal'],
55
+ commands,
56
+ coords: triangle.generateCoords(),
57
+ };
58
+ return question;
59
+ }
60
+ exports.getPythagoreCalcul = getPythagoreCalcul;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const rectangleArea: Exercise;
3
+ export declare function getRectangleArea(): Question;
4
+ //# sourceMappingURL=rectangleArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rectangleArea.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/rectangleArea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,aAAa,EAAE,QAS3B,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,QAAQ,CAU3C"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRectangleArea = exports.rectangleArea = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ exports.rectangleArea = {
7
+ id: 'rectangleArea',
8
+ connector: '=',
9
+ instruction: '',
10
+ label: "Calculer l'aire d'un rectangle",
11
+ levels: ['4', '3', '2'],
12
+ isSingleStep: false,
13
+ section: 'Géométrie euclidienne',
14
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRectangleArea, nb),
15
+ };
16
+ function getRectangleArea() {
17
+ const length = (0, randint_1.randint)(3, 13);
18
+ const width = (0, randint_1.randint)(1, length);
19
+ const question = {
20
+ instruction: `Calculer l'aire d'un rectangle de $${length}$ cm de longueur et de $${width}$ cm de largeur.`,
21
+ answer: length * width + '',
22
+ };
23
+ return question;
24
+ }
25
+ exports.getRectangleArea = getRectangleArea;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const rectanglePerimeter: Exercise;
3
+ export declare function getRectanglePerimeter(): Question;
4
+ //# sourceMappingURL=rectanglePerimeter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rectanglePerimeter.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/rectanglePerimeter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,kBAAkB,EAAE,QAShC,CAAC;AAEF,wBAAgB,qBAAqB,IAAI,QAAQ,CAUhD"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRectanglePerimeter = exports.rectanglePerimeter = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ exports.rectanglePerimeter = {
7
+ id: 'rectanglePerimeter',
8
+ connector: '=',
9
+ instruction: '',
10
+ label: "Calculer le périmètre d'un rectangle",
11
+ levels: ['4', '3', '2'],
12
+ isSingleStep: false,
13
+ section: 'Géométrie euclidienne',
14
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRectanglePerimeter, nb),
15
+ };
16
+ function getRectanglePerimeter() {
17
+ const length = (0, randint_1.randint)(3, 13);
18
+ const width = (0, randint_1.randint)(1, length);
19
+ const question = {
20
+ instruction: `Calculer le périmètre d'un rectangle de $${length}$ cm de longueur et de $${width}$ cm de largeur.`,
21
+ answer: (length + width) * 2 + '',
22
+ };
23
+ return question;
24
+ }
25
+ exports.getRectanglePerimeter = getRectanglePerimeter;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- export declare const rightTriangleArea: Exercise;
3
- export declare function getRightTriangleArea(): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const rightTriangleArea: Exercise;
3
+ export declare function getRightTriangleArea(): Question;
4
4
  //# sourceMappingURL=rightTriangleArea.d.ts.map
@@ -1,39 +1,39 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRightTriangleArea = exports.rightTriangleArea = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const triangles_1 = require("../../../math/geometry/triangles");
6
- const randint_1 = require("../../../math/utils/random/randint");
7
- exports.rightTriangleArea = {
8
- id: 'rightTriangleArea',
9
- connector: '=',
10
- instruction: '',
11
- label: "Calculer l'aire d'un triangle rectangle",
12
- levels: ['4', '3', '2'],
13
- isSingleStep: false,
14
- section: 'Géométrie euclidienne',
15
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRightTriangleArea, nb),
16
- };
17
- function getRightTriangleArea() {
18
- const vertices = [];
19
- const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
20
- for (let i = 0; i < 3; i++)
21
- vertices.push(String.fromCharCode(code + i));
22
- const triangle = triangles_1.TriangleConstructor.createRandomRightTriangle({ minRapport: 0.4, maxRapport: 1.6, names: vertices });
23
- const sidesLength = [Math.round(triangle.getSideBnumber() / 2), Math.round(triangle.getSideCnumber() / 2)];
24
- const commands = [
25
- ...triangle.generateCommands({
26
- showLabels: [triangle.getSideBName(), triangle.getSideCName()],
27
- setCaptions: [sidesLength[0] + '', sidesLength[1] + ''],
28
- }),
29
- ];
30
- const question = {
31
- instruction: `Calculer l'aire du triangle ${triangle.getTriangleName()} rectangle en ${triangle.getRightAngle()} sachant que ${triangle.getSideBName()} = $${sidesLength[0]}$ cm et ${triangle.getSideCName()} = $${sidesLength[1]}$ cm.`,
32
- answer: (sidesLength[0] * sidesLength[1]) / 2 + '',
33
- keys: [...vertices, 'equal', 'cm2'],
34
- commands,
35
- coords: triangle.generateCoords(),
36
- };
37
- return question;
38
- }
39
- exports.getRightTriangleArea = getRightTriangleArea;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRightTriangleArea = exports.rightTriangleArea = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const triangles_1 = require("../../../math/geometry/triangles");
6
+ const randint_1 = require("../../../math/utils/random/randint");
7
+ exports.rightTriangleArea = {
8
+ id: 'rightTriangleArea',
9
+ connector: '=',
10
+ instruction: '',
11
+ label: "Calculer l'aire d'un triangle rectangle",
12
+ levels: ['4', '3', '2'],
13
+ isSingleStep: false,
14
+ section: 'Géométrie euclidienne',
15
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRightTriangleArea, nb),
16
+ };
17
+ function getRightTriangleArea() {
18
+ const vertices = [];
19
+ const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
20
+ for (let i = 0; i < 3; i++)
21
+ vertices.push(String.fromCharCode(code + i));
22
+ const triangle = triangles_1.TriangleConstructor.createRandomRightTriangle({ minRapport: 0.4, maxRapport: 1.6, names: vertices });
23
+ const sidesLength = [Math.round(triangle.getSideBnumber() / 2), Math.round(triangle.getSideCnumber() / 2)];
24
+ const commands = [
25
+ ...triangle.generateCommands({
26
+ showLabels: [triangle.getSideBName(), triangle.getSideCName()],
27
+ setCaptions: [sidesLength[0] + '', sidesLength[1] + ''],
28
+ }),
29
+ ];
30
+ const question = {
31
+ instruction: `Calculer l'aire du triangle ${triangle.getTriangleName()} rectangle en ${triangle.getRightAngle()} sachant que ${triangle.getSideBName()} = $${sidesLength[0]}$ cm et ${triangle.getSideCName()} = $${sidesLength[1]}$ cm.`,
32
+ answer: (sidesLength[0] * sidesLength[1]) / 2 + '',
33
+ keys: [...vertices, 'equal', 'cm2'],
34
+ commands,
35
+ coords: triangle.generateCoords(),
36
+ };
37
+ return question;
38
+ }
39
+ exports.getRightTriangleArea = getRightTriangleArea;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const squareArea: Exercise;
3
+ export declare function getSquareArea(): Question;
4
+ //# sourceMappingURL=squareArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"squareArea.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/squareArea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,UAAU,EAAE,QASxB,CAAC;AAEF,wBAAgB,aAAa,IAAI,QAAQ,CASxC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSquareArea = exports.squareArea = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ exports.squareArea = {
7
+ id: 'squareArea',
8
+ connector: '=',
9
+ instruction: '',
10
+ label: "Calculer l'aire d'un carré",
11
+ levels: ['4', '3', '2'],
12
+ isSingleStep: false,
13
+ section: 'Géométrie euclidienne',
14
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSquareArea, nb),
15
+ };
16
+ function getSquareArea() {
17
+ const side = (0, randint_1.randint)(1, 13);
18
+ const question = {
19
+ instruction: `Calculer l'aire d'un carré de $${side}$ cm de côté.`,
20
+ answer: side ** 2 + '',
21
+ };
22
+ return question;
23
+ }
24
+ exports.getSquareArea = getSquareArea;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const squarePerimeter: Exercise;
3
+ export declare function getSquarePerimeter(): Question;
4
+ //# sourceMappingURL=squarePerimeter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"squarePerimeter.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/squarePerimeter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,eAAe,EAAE,QAS7B,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,QAAQ,CAS7C"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSquarePerimeter = exports.squarePerimeter = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ exports.squarePerimeter = {
7
+ id: 'squarePerimeter',
8
+ connector: '=',
9
+ instruction: '',
10
+ label: "Calculer le périmètre d'un carré",
11
+ levels: ['4', '3', '2'],
12
+ isSingleStep: false,
13
+ section: 'Géométrie euclidienne',
14
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSquarePerimeter, nb),
15
+ };
16
+ function getSquarePerimeter() {
17
+ const side = (0, randint_1.randint)(1, 13);
18
+ const question = {
19
+ instruction: `Calculer le périmètre d'un carré de $${side}$ cm de côté.`,
20
+ answer: side * 4 + '',
21
+ };
22
+ return question;
23
+ }
24
+ exports.getSquarePerimeter = getSquarePerimeter;