math-exercises 1.3.55 → 1.3.56

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 (534) hide show
  1. package/README.md +73 -73
  2. package/lib/exercises/calcul/addAndSub.d.ts +6 -6
  3. package/lib/exercises/calcul/addAndSub.js +71 -71
  4. package/lib/exercises/calcul/addAndSubWithoutRelatives.d.ts +6 -6
  5. package/lib/exercises/calcul/addAndSubWithoutRelatives.js +80 -80
  6. package/lib/exercises/calcul/arithmetics/euclideanDivision.d.ts +3 -3
  7. package/lib/exercises/calcul/arithmetics/euclideanDivision.js +70 -70
  8. package/lib/exercises/calcul/arithmetics/primeNumbers.d.ts +6 -6
  9. package/lib/exercises/calcul/arithmetics/primeNumbers.js +90 -90
  10. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +3 -3
  11. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +69 -69
  12. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +3 -3
  13. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +64 -64
  14. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +3 -3
  15. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +64 -64
  16. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.d.ts +3 -3
  17. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.js +119 -119
  18. package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +3 -3
  19. package/lib/exercises/calcul/fractions/fractionsDivision.js +61 -61
  20. package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +3 -3
  21. package/lib/exercises/calcul/fractions/fractionsProduct.js +60 -60
  22. package/lib/exercises/calcul/fractions/fractionsSum.d.ts +3 -3
  23. package/lib/exercises/calcul/fractions/fractionsSum.js +60 -60
  24. package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +3 -3
  25. package/lib/exercises/calcul/fractions/simplifyFraction.js +55 -55
  26. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.d.ts +3 -3
  27. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.js +79 -79
  28. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.d.ts +3 -3
  29. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.js +96 -96
  30. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.d.ts +3 -3
  31. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.js +80 -80
  32. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.d.ts +3 -3
  33. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.js +135 -135
  34. package/lib/exercises/calcul/operations/operationsPriorities.d.ts +10 -10
  35. package/lib/exercises/calcul/operations/operationsPriorities.js +128 -128
  36. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts +10 -10
  37. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +209 -209
  38. package/lib/exercises/calcul/proportionality/proportionalityTable.d.ts +3 -3
  39. package/lib/exercises/calcul/proportionality/proportionalityTable.js +83 -83
  40. package/lib/exercises/calcul/rounding/rounding.d.ts +19 -19
  41. package/lib/exercises/calcul/rounding/rounding.js +142 -142
  42. package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +3 -3
  43. package/lib/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
  44. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +3 -3
  45. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +82 -82
  46. package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +3 -3
  47. package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +84 -84
  48. package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +3 -3
  49. package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +85 -85
  50. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +3 -3
  51. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +84 -84
  52. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +3 -3
  53. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +84 -84
  54. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.d.ts +3 -3
  55. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +165 -165
  56. package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +6 -6
  57. package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +71 -71
  58. package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +6 -6
  59. package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +69 -69
  60. package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +6 -6
  61. package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +73 -73
  62. package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +6 -6
  63. package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +75 -75
  64. package/lib/exercises/calculLitteral/equation/evaluateExpression.d.ts +4 -0
  65. package/lib/exercises/calculLitteral/equation/evaluateExpression.d.ts.map +1 -0
  66. package/lib/exercises/calculLitteral/equation/evaluateExpression.js +61 -0
  67. package/lib/exercises/calculLitteral/equation/expEquation.d.ts +3 -3
  68. package/lib/exercises/calculLitteral/equation/expEquation.js +67 -67
  69. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.d.ts +3 -3
  70. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.js +64 -64
  71. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.d.ts +3 -3
  72. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.js +32 -32
  73. package/lib/exercises/calculLitteral/equation/fractionEquation.d.ts +3 -3
  74. package/lib/exercises/calculLitteral/equation/fractionEquation.js +74 -74
  75. package/lib/exercises/calculLitteral/equation/logEquation.d.ts +3 -3
  76. package/lib/exercises/calculLitteral/equation/logEquation.js +67 -67
  77. package/lib/exercises/calculLitteral/equation/multiplicationEquation.d.ts +3 -3
  78. package/lib/exercises/calculLitteral/equation/multiplicationEquation.js +77 -77
  79. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts +3 -3
  80. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +70 -70
  81. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts +3 -3
  82. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +78 -78
  83. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts +3 -3
  84. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +84 -84
  85. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +6 -6
  86. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +88 -88
  87. package/lib/exercises/calculLitteral/simplifying/evaluateExpression.d.ts +3 -3
  88. package/lib/exercises/calculLitteral/simplifying/evaluateExpression.js +64 -64
  89. package/lib/exercises/calculLitteral/simplifying/expSimplifiying.d.ts +3 -3
  90. package/lib/exercises/calculLitteral/simplifying/expSimplifiying.js +96 -96
  91. package/lib/exercises/calculLitteral/simplifying/logSimplifiying.d.ts +3 -3
  92. package/lib/exercises/calculLitteral/simplifying/logSimplifiying.js +78 -78
  93. package/lib/exercises/calculLitteral/simplifying/reduceExpression.d.ts +3 -3
  94. package/lib/exercises/calculLitteral/simplifying/reduceExpression.js +121 -121
  95. package/lib/exercises/complex/addComplex.d.ts +3 -3
  96. package/lib/exercises/complex/addComplex.js +70 -70
  97. package/lib/exercises/complex/conjugateComplex.ts.d.ts +3 -3
  98. package/lib/exercises/complex/conjugateComplex.ts.js +73 -73
  99. package/lib/exercises/complex/conjugateDivideComplex.d.ts +3 -3
  100. package/lib/exercises/complex/conjugateDivideComplex.js +65 -65
  101. package/lib/exercises/complex/conjugateMultiplyComplex.d.ts +3 -3
  102. package/lib/exercises/complex/conjugateMultiplyComplex.js +69 -69
  103. package/lib/exercises/complex/divideComplex.d.ts +3 -3
  104. package/lib/exercises/complex/divideComplex.js +61 -61
  105. package/lib/exercises/complex/inverseComplex.d.ts +3 -3
  106. package/lib/exercises/complex/inverseComplex.js +73 -73
  107. package/lib/exercises/complex/linearCombinaisonComplex.d.ts +3 -3
  108. package/lib/exercises/complex/linearCombinaisonComplex.js +67 -67
  109. package/lib/exercises/complex/mutiplyComplex.d.ts +3 -3
  110. package/lib/exercises/complex/mutiplyComplex.js +67 -67
  111. package/lib/exercises/complex/reAndIm.d.ts +3 -3
  112. package/lib/exercises/complex/reAndIm.js +79 -79
  113. package/lib/exercises/conversion/aeraConversion.d.ts +3 -3
  114. package/lib/exercises/conversion/aeraConversion.js +62 -62
  115. package/lib/exercises/conversion/capacityConversion.d.ts +3 -3
  116. package/lib/exercises/conversion/capacityConversion.js +60 -60
  117. package/lib/exercises/conversion/lengthConversion.d.ts +3 -3
  118. package/lib/exercises/conversion/lengthConversion.js +59 -59
  119. package/lib/exercises/conversion/massConversion.d.ts +3 -3
  120. package/lib/exercises/conversion/massConversion.js +59 -59
  121. package/lib/exercises/conversion/volumeCapacityConversion.d.ts +3 -3
  122. package/lib/exercises/conversion/volumeCapacityConversion.js +76 -76
  123. package/lib/exercises/conversion/volumeConversion.d.ts +3 -3
  124. package/lib/exercises/conversion/volumeConversion.js +61 -61
  125. package/lib/exercises/derivation/derivative/constanteDerivative.d.ts +3 -3
  126. package/lib/exercises/derivation/derivative/constanteDerivative.js +56 -56
  127. package/lib/exercises/derivation/derivative/expDerivativeOne.d.ts +3 -3
  128. package/lib/exercises/derivation/derivative/expDerivativeOne.js +65 -65
  129. package/lib/exercises/derivation/derivative/expDerivativeThree.d.ts +3 -3
  130. package/lib/exercises/derivation/derivative/expDerivativeThree.js +64 -64
  131. package/lib/exercises/derivation/derivative/expDerivativeTwo.d.ts +3 -3
  132. package/lib/exercises/derivation/derivative/expDerivativeTwo.js +65 -65
  133. package/lib/exercises/derivation/derivative/firstDegreeDerivative.d.ts +3 -3
  134. package/lib/exercises/derivation/derivative/firstDegreeDerivative.js +58 -58
  135. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.d.ts +3 -3
  136. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.js +56 -56
  137. package/lib/exercises/derivation/derivative/lnDerivativeOne.d.ts +3 -3
  138. package/lib/exercises/derivation/derivative/lnDerivativeOne.js +63 -63
  139. package/lib/exercises/derivation/derivative/lnDerivativeThree.d.ts +3 -3
  140. package/lib/exercises/derivation/derivative/lnDerivativeThree.js +68 -68
  141. package/lib/exercises/derivation/derivative/lnDerivativeTwo.d.ts +3 -3
  142. package/lib/exercises/derivation/derivative/lnDerivativeTwo.js +66 -66
  143. package/lib/exercises/derivation/derivative/powerFunctionDerivative.d.ts +3 -3
  144. package/lib/exercises/derivation/derivative/powerFunctionDerivative.js +64 -64
  145. package/lib/exercises/derivation/derivative/rootFunctionDerivative.d.ts +3 -3
  146. package/lib/exercises/derivation/derivative/rootFunctionDerivative.js +80 -80
  147. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts +3 -3
  148. package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +64 -64
  149. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.d.ts +3 -3
  150. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.js +66 -66
  151. package/lib/exercises/derivation/derivative/thirdDegreeFunctionVariation.d.ts +3 -3
  152. package/lib/exercises/derivation/derivative/thirdDegreeFunctionVariation.js +101 -101
  153. package/lib/exercises/derivation/derivative/usualderivative.d.ts +3 -3
  154. package/lib/exercises/derivation/derivative/usualderivative.js +36 -36
  155. package/lib/exercises/derivation/derivativeNumberReading.d.ts +3 -3
  156. package/lib/exercises/derivation/derivativeNumberReading.js +84 -84
  157. package/lib/exercises/equaDiff/equaDiffGeneralForme.d.ts +3 -3
  158. package/lib/exercises/equaDiff/equaDiffGeneralForme.js +66 -66
  159. package/lib/exercises/equaDiff/equaDiffGeneralFormeWithIC.d.ts +3 -3
  160. package/lib/exercises/equaDiff/equaDiffGeneralFormeWithIC.js +80 -80
  161. package/lib/exercises/exercise.d.ts +33 -32
  162. package/lib/exercises/exercise.d.ts.map +1 -1
  163. package/lib/exercises/exercise.js +2 -2
  164. package/lib/exercises/exercises.d.ts +1 -1
  165. package/lib/exercises/exercises.js +347 -347
  166. package/lib/exercises/functions/affines/leadingCoefficient.d.ts +3 -3
  167. package/lib/exercises/functions/affines/leadingCoefficient.js +93 -93
  168. package/lib/exercises/functions/affines/leadingCoefficientCalculV1.d.ts +3 -3
  169. package/lib/exercises/functions/affines/leadingCoefficientCalculV1.js +59 -59
  170. package/lib/exercises/functions/affines/leadingCoefficientCalculV2.d.ts +3 -3
  171. package/lib/exercises/functions/affines/leadingCoefficientCalculV2.js +58 -58
  172. package/lib/exercises/functions/affines/signFunction.d.ts +3 -3
  173. package/lib/exercises/functions/affines/signFunction.js +84 -84
  174. package/lib/exercises/functions/affines/template.d.ts +4 -0
  175. package/lib/exercises/functions/affines/template.d.ts.map +1 -0
  176. package/lib/exercises/functions/affines/template.js +51 -0
  177. package/lib/exercises/functions/basics/imageFunction.d.ts +3 -3
  178. package/lib/exercises/functions/basics/imageFunction.js +65 -65
  179. package/lib/exercises/functions/basics/imageFunctionGeogebra.d.ts +3 -3
  180. package/lib/exercises/functions/basics/imageFunctionGeogebra.js +89 -89
  181. package/lib/exercises/functions/basics/inverseImageFunction.d.ts +3 -3
  182. package/lib/exercises/functions/basics/inverseImageFunction.js +62 -62
  183. package/lib/exercises/functions/basics/inverseImageFunctionGeogebra.d.ts +3 -3
  184. package/lib/exercises/functions/basics/inverseImageFunctionGeogebra.js +154 -154
  185. package/lib/exercises/functions/trinoms/alphaBetaFromDevForm.d.ts +3 -3
  186. package/lib/exercises/functions/trinoms/alphaBetaFromDevForm.js +63 -63
  187. package/lib/exercises/functions/trinoms/alphaBetaInCanonicalForm.d.ts +3 -3
  188. package/lib/exercises/functions/trinoms/alphaBetaInCanonicalForm.js +91 -91
  189. package/lib/exercises/functions/trinoms/canonicalFromDevForm.d.ts +3 -3
  190. package/lib/exercises/functions/trinoms/canonicalFromDevForm.js +58 -58
  191. package/lib/exercises/functions/trinoms/extremumFromCanonicalForm.d.ts +3 -3
  192. package/lib/exercises/functions/trinoms/extremumFromCanonicalForm.js +84 -84
  193. package/lib/exercises/functions/trinoms/extremumTypeFromAlgebricForm.d.ts +3 -3
  194. package/lib/exercises/functions/trinoms/extremumTypeFromAlgebricForm.js +59 -59
  195. package/lib/exercises/functions/trinoms/variationsFromAlgebricForm.d.ts +3 -3
  196. package/lib/exercises/functions/trinoms/variationsFromAlgebricForm.js +59 -59
  197. package/lib/exercises/geometry/cartesian/distanceBetweenTwoPoints.d.ts +3 -3
  198. package/lib/exercises/geometry/cartesian/distanceBetweenTwoPoints.js +107 -107
  199. package/lib/exercises/geometry/cartesian/imageFunction.d.ts +3 -3
  200. package/lib/exercises/geometry/cartesian/imageFunction.d.ts.map +1 -1
  201. package/lib/exercises/geometry/cartesian/imageFunction.js +65 -62
  202. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.d.ts +4 -0
  203. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.d.ts.map +1 -0
  204. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.js +89 -0
  205. package/lib/exercises/geometry/cartesian/inverseImageFunction.d.ts +3 -3
  206. package/lib/exercises/geometry/cartesian/inverseImageFunction.d.ts.map +1 -1
  207. package/lib/exercises/geometry/cartesian/inverseImageFunction.js +62 -57
  208. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.d.ts +4 -0
  209. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.d.ts.map +1 -0
  210. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.js +154 -0
  211. package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts +3 -3
  212. package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts.map +1 -1
  213. package/lib/exercises/geometry/cartesian/leadingCoefficient.js +93 -90
  214. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts +3 -3
  215. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts.map +1 -1
  216. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.js +59 -56
  217. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts +3 -3
  218. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts.map +1 -1
  219. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.js +58 -55
  220. package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
  221. package/lib/exercises/geometry/cartesian/midpoint.js +63 -63
  222. package/lib/exercises/geometry/cartesian/signFunction.d.ts +4 -0
  223. package/lib/exercises/geometry/cartesian/signFunction.d.ts.map +1 -0
  224. package/lib/exercises/geometry/cartesian/signFunction.js +84 -0
  225. package/lib/exercises/geometry/euclidean/circleArea.d.ts +3 -3
  226. package/lib/exercises/geometry/euclidean/circleArea.js +58 -58
  227. package/lib/exercises/geometry/euclidean/circleCircumference.d.ts +3 -3
  228. package/lib/exercises/geometry/euclidean/circleCircumference.js +58 -58
  229. package/lib/exercises/geometry/euclidean/pythagore.d.ts +3 -3
  230. package/lib/exercises/geometry/euclidean/pythagore.js +86 -86
  231. package/lib/exercises/geometry/euclidean/pythagoreCalcul.d.ts +3 -3
  232. package/lib/exercises/geometry/euclidean/pythagoreCalcul.js +91 -91
  233. package/lib/exercises/geometry/euclidean/rectangleArea.d.ts +3 -3
  234. package/lib/exercises/geometry/euclidean/rectangleArea.js +53 -53
  235. package/lib/exercises/geometry/euclidean/rectanglePerimeter.d.ts +3 -3
  236. package/lib/exercises/geometry/euclidean/rectanglePerimeter.js +53 -53
  237. package/lib/exercises/geometry/euclidean/rightTriangleArea.d.ts +3 -3
  238. package/lib/exercises/geometry/euclidean/rightTriangleArea.js +67 -67
  239. package/lib/exercises/geometry/euclidean/squareArea.d.ts +3 -3
  240. package/lib/exercises/geometry/euclidean/squareArea.js +52 -52
  241. package/lib/exercises/geometry/euclidean/squarePerimeter.d.ts +3 -3
  242. package/lib/exercises/geometry/euclidean/squarePerimeter.js +52 -52
  243. package/lib/exercises/geometry/euclidean/thales.d.ts +3 -3
  244. package/lib/exercises/geometry/euclidean/thales.js +113 -113
  245. package/lib/exercises/geometry/euclidean/thalesCalcul.d.ts +3 -3
  246. package/lib/exercises/geometry/euclidean/thalesCalcul.js +132 -132
  247. package/lib/exercises/geometry/euclidean/triangleArea.d.ts +3 -3
  248. package/lib/exercises/geometry/euclidean/triangleArea.js +80 -80
  249. package/lib/exercises/geometry/euclidean/triangleAreaV2.d.ts +3 -3
  250. package/lib/exercises/geometry/euclidean/triangleAreaV2.js +77 -77
  251. package/lib/exercises/geometry/euclidean/trianglePerimeter.d.ts +3 -3
  252. package/lib/exercises/geometry/euclidean/trianglePerimeter.js +53 -53
  253. package/lib/exercises/geometry/euclidean/trigonometry.d.ts +3 -3
  254. package/lib/exercises/geometry/euclidean/trigonometry.js +97 -97
  255. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.d.ts +3 -3
  256. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.js +69 -69
  257. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.d.ts +3 -3
  258. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.js +80 -80
  259. package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
  260. package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +60 -60
  261. package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
  262. package/lib/exercises/limits/polynomeLimit.d.ts +3 -3
  263. package/lib/exercises/limits/polynomeLimit.js +132 -132
  264. package/lib/exercises/percent/applyPercent.d.ts +3 -3
  265. package/lib/exercises/percent/applyPercent.js +74 -74
  266. package/lib/exercises/percent/averageEvolutionRate.d.ts +3 -3
  267. package/lib/exercises/percent/averageEvolutionRate.js +63 -63
  268. package/lib/exercises/percent/globalPercent.d.ts +3 -3
  269. package/lib/exercises/percent/globalPercent.js +77 -77
  270. package/lib/exercises/percent/reciprocalPercentage.d.ts +3 -3
  271. package/lib/exercises/percent/reciprocalPercentage.js +65 -65
  272. package/lib/exercises/powers/powersDivision.d.ts +7 -7
  273. package/lib/exercises/powers/powersDivision.js +77 -77
  274. package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
  275. package/lib/exercises/powers/powersOfTenToDecimal.d.ts.map +1 -1
  276. package/lib/exercises/powers/powersOfTenToDecimal.js +78 -65
  277. package/lib/exercises/powers/powersPower.d.ts +7 -7
  278. package/lib/exercises/powers/powersPower.js +76 -76
  279. package/lib/exercises/powers/powersProduct.d.ts +7 -7
  280. package/lib/exercises/powers/powersProduct.js +77 -77
  281. package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
  282. package/lib/exercises/powers/scientificToDecimal.d.ts.map +1 -1
  283. package/lib/exercises/powers/scientificToDecimal.js +82 -69
  284. package/lib/exercises/primitve/constantPrimitive.d.ts +3 -3
  285. package/lib/exercises/primitve/constantPrimitive.js +56 -56
  286. package/lib/exercises/primitve/exponentialPrimitive.d.ts +3 -3
  287. package/lib/exercises/primitve/exponentialPrimitive.js +103 -103
  288. package/lib/exercises/primitve/logarithmePrimitive.d.ts +3 -3
  289. package/lib/exercises/primitve/logarithmePrimitive.js +74 -74
  290. package/lib/exercises/primitve/polynomialPrimitive.d.ts +3 -3
  291. package/lib/exercises/primitve/polynomialPrimitive.js +80 -80
  292. package/lib/exercises/primitve/sinCosPrimitive.d.ts +3 -3
  293. package/lib/exercises/primitve/sinCosPrimitive.js +112 -112
  294. package/lib/exercises/primitve/usualPrimitives.d.ts +3 -3
  295. package/lib/exercises/primitve/usualPrimitives.js +39 -39
  296. package/lib/exercises/proba/conditionalProbability.d.ts +3 -3
  297. package/lib/exercises/proba/conditionalProbability.js +99 -99
  298. package/lib/exercises/proba/marginalAndConditionalFrequency.d.ts +3 -3
  299. package/lib/exercises/proba/marginalAndConditionalFrequency.js +106 -106
  300. package/lib/exercises/proba/probabilityTree.d.ts +3 -3
  301. package/lib/exercises/proba/probabilityTree.js +132 -132
  302. package/lib/exercises/probaStat/averageWithTable.d.ts +3 -3
  303. package/lib/exercises/probaStat/averageWithTable.js +76 -76
  304. package/lib/exercises/probaStat/conditionalProbability.d.ts +3 -3
  305. package/lib/exercises/probaStat/conditionalProbability.js +102 -102
  306. package/lib/exercises/probaStat/frequencyTable.d.ts +4 -0
  307. package/lib/exercises/probaStat/frequencyTable.d.ts.map +1 -0
  308. package/lib/exercises/probaStat/frequencyTable.js +76 -0
  309. package/lib/exercises/probaStat/marginalAndConditionalFrequency.d.ts +3 -3
  310. package/lib/exercises/probaStat/marginalAndConditionalFrequency.js +109 -109
  311. package/lib/exercises/probaStat/median.d.ts +3 -3
  312. package/lib/exercises/probaStat/median.js +82 -82
  313. package/lib/exercises/probaStat/medianList.d.ts +3 -3
  314. package/lib/exercises/probaStat/medianList.js +67 -67
  315. package/lib/exercises/probaStat/probabilityTree.d.ts +3 -3
  316. package/lib/exercises/probaStat/probabilityTree.js +135 -135
  317. package/lib/exercises/probaStat/quartiles.d.ts +3 -3
  318. package/lib/exercises/probaStat/quartiles.js +96 -96
  319. package/lib/exercises/probaStat/quartilesList.d.ts +3 -3
  320. package/lib/exercises/probaStat/quartilesList.js +81 -81
  321. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts +3 -3
  322. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +59 -59
  323. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts +3 -3
  324. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.js +59 -59
  325. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.d.ts +3 -3
  326. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.js +59 -59
  327. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.d.ts +3 -3
  328. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.js +58 -58
  329. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts +3 -3
  330. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +58 -58
  331. package/lib/exercises/sequences/arithmetic/arithmeticSum.js +1 -1
  332. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.d.ts +3 -3
  333. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.js +68 -68
  334. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
  335. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +64 -64
  336. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
  337. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +70 -70
  338. package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
  339. package/lib/exercises/sequences/geometric/geometricFindReason.js +66 -66
  340. package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
  341. package/lib/exercises/sequences/geometric/geometricReasonUsage.js +65 -65
  342. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
  343. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +65 -65
  344. package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
  345. package/lib/exercises/squareRoots/simpifySquareRoot.js +61 -61
  346. package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
  347. package/lib/exercises/trigonometry/mainRemarkableValues.js +67 -67
  348. package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
  349. package/lib/exercises/trigonometry/remarkableValues.js +67 -67
  350. package/lib/exercises/utils/getDistinctQuestions.d.ts +3 -3
  351. package/lib/exercises/utils/getDistinctQuestions.js +30 -30
  352. package/lib/index.d.ts +7 -7
  353. package/lib/index.js +26 -26
  354. package/lib/math/complex/complex.d.ts +18 -18
  355. package/lib/math/complex/complex.js +63 -63
  356. package/lib/math/geometry/droite.d.ts +19 -19
  357. package/lib/math/geometry/droite.js +62 -62
  358. package/lib/math/geometry/point.d.ts +30 -30
  359. package/lib/math/geometry/point.js +64 -64
  360. package/lib/math/geometry/triangles.d.ts +53 -53
  361. package/lib/math/geometry/triangles.js +183 -183
  362. package/lib/math/geometry/vector.d.ts +15 -15
  363. package/lib/math/geometry/vector.js +31 -31
  364. package/lib/math/numbers/decimals/decimal.d.ts +24 -24
  365. package/lib/math/numbers/decimals/decimal.js +140 -140
  366. package/lib/math/numbers/epsilon.d.ts +1 -1
  367. package/lib/math/numbers/epsilon.js +10 -10
  368. package/lib/math/numbers/integer/integer.d.ts +14 -14
  369. package/lib/math/numbers/integer/integer.js +68 -68
  370. package/lib/math/numbers/integer/power.d.ts +13 -13
  371. package/lib/math/numbers/integer/power.js +52 -52
  372. package/lib/math/numbers/nombre.d.ts +13 -13
  373. package/lib/math/numbers/nombre.js +10 -10
  374. package/lib/math/numbers/rationals/rational.d.ts +25 -25
  375. package/lib/math/numbers/rationals/rational.js +113 -113
  376. package/lib/math/numbers/reals/real.d.ts +9 -9
  377. package/lib/math/numbers/reals/real.js +16 -16
  378. package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
  379. package/lib/math/numbers/reals/squareRoot.js +63 -63
  380. package/lib/math/polynomials/affine.d.ts +15 -15
  381. package/lib/math/polynomials/affine.js +42 -42
  382. package/lib/math/polynomials/polynomial.d.ts +28 -28
  383. package/lib/math/polynomials/polynomial.js +184 -184
  384. package/lib/math/polynomials/trinom.d.ts +23 -23
  385. package/lib/math/polynomials/trinom.js +67 -67
  386. package/lib/math/sequences/arithmeticSequence.js +1 -1
  387. package/lib/math/sequences/geometricSequence.d.ts +3 -3
  388. package/lib/math/sequences/geometricSequence.js +8 -8
  389. package/lib/math/sequences/sequence.d.ts +22 -22
  390. package/lib/math/sequences/sequence.js +21 -21
  391. package/lib/math/sets/discreteSet.d.ts +10 -10
  392. package/lib/math/sets/discreteSet.js +28 -28
  393. package/lib/math/sets/emptySet.js +6 -6
  394. package/lib/math/sets/intervals/intervals.d.ts +26 -26
  395. package/lib/math/sets/intervals/intervals.js +104 -104
  396. package/lib/math/sets/mathSet.d.ts +7 -7
  397. package/lib/math/sets/mathSet.js +10 -10
  398. package/lib/math/sets/mathSetInterface.d.ts +5 -5
  399. package/lib/math/sets/mathSetInterface.js +2 -2
  400. package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
  401. package/lib/math/trigonometry/remarkableValue.js +29 -29
  402. package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
  403. package/lib/math/trigonometry/remarkableValues.js +51 -51
  404. package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
  405. package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
  406. package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
  407. package/lib/math/utils/arithmetic/dividersOf.js +12 -12
  408. package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
  409. package/lib/math/utils/arithmetic/gcd.js +7 -7
  410. package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
  411. package/lib/math/utils/arithmetic/isSquare.js +7 -7
  412. package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
  413. package/lib/math/utils/arithmetic/lcd.js +12 -12
  414. package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
  415. package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
  416. package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
  417. package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
  418. package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
  419. package/lib/math/utils/arithmetic/primeFactors.js +22 -22
  420. package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
  421. package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
  422. package/lib/math/utils/random/randTupleInt.d.ts +13 -13
  423. package/lib/math/utils/random/randTupleInt.js +30 -30
  424. package/lib/math/utils/random/randint.d.ts +4 -4
  425. package/lib/math/utils/random/randint.js +18 -18
  426. package/lib/math/utils/round.d.ts +1 -1
  427. package/lib/math/utils/round.js +8 -8
  428. package/lib/server.d.ts +1 -1
  429. package/lib/server.js +54 -54
  430. package/lib/tree/nodes/complex/complexNode.d.ts +14 -14
  431. package/lib/tree/nodes/complex/complexNode.js +43 -43
  432. package/lib/tree/nodes/expression/expressionNode.js +1 -1
  433. package/lib/tree/nodes/functions/cosNode.d.ts +10 -10
  434. package/lib/tree/nodes/functions/cosNode.js +25 -25
  435. package/lib/tree/nodes/functions/expNode.d.ts +10 -10
  436. package/lib/tree/nodes/functions/expNode.js +25 -25
  437. package/lib/tree/nodes/functions/functionNode.d.ts +16 -16
  438. package/lib/tree/nodes/functions/functionNode.js +22 -22
  439. package/lib/tree/nodes/functions/logNode.d.ts +10 -10
  440. package/lib/tree/nodes/functions/logNode.js +25 -25
  441. package/lib/tree/nodes/functions/oppositeNode.d.ts +8 -8
  442. package/lib/tree/nodes/functions/oppositeNode.js +30 -30
  443. package/lib/tree/nodes/functions/sinNode.d.ts +10 -10
  444. package/lib/tree/nodes/functions/sinNode.js +25 -25
  445. package/lib/tree/nodes/functions/sqrtNode.d.ts +9 -9
  446. package/lib/tree/nodes/functions/sqrtNode.js +22 -22
  447. package/lib/tree/nodes/node.d.ts +13 -13
  448. package/lib/tree/nodes/node.js +11 -11
  449. package/lib/tree/nodes/numbers/constantNode.d.ts +10 -10
  450. package/lib/tree/nodes/numbers/constantNode.js +22 -22
  451. package/lib/tree/nodes/numbers/numberNode.d.ts +11 -11
  452. package/lib/tree/nodes/numbers/numberNode.js +22 -22
  453. package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
  454. package/lib/tree/nodes/numbers/piNode.js +5 -5
  455. package/lib/tree/nodes/operators/addNode.d.ts +8 -8
  456. package/lib/tree/nodes/operators/addNode.js +23 -23
  457. package/lib/tree/nodes/operators/divideNode.d.ts +12 -12
  458. package/lib/tree/nodes/operators/divideNode.js +38 -38
  459. package/lib/tree/nodes/operators/equalNode.d.ts +8 -8
  460. package/lib/tree/nodes/operators/equalNode.js +20 -20
  461. package/lib/tree/nodes/operators/fractionNode.d.ts +12 -12
  462. package/lib/tree/nodes/operators/fractionNode.js +24 -24
  463. package/lib/tree/nodes/operators/multiplyNode.d.ts +8 -8
  464. package/lib/tree/nodes/operators/multiplyNode.js +52 -52
  465. package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
  466. package/lib/tree/nodes/operators/operatorNode.js +35 -35
  467. package/lib/tree/nodes/operators/powerNode.d.ts +8 -8
  468. package/lib/tree/nodes/operators/powerNode.js +37 -37
  469. package/lib/tree/nodes/operators/substractNode.d.ts +8 -8
  470. package/lib/tree/nodes/operators/substractNode.js +28 -28
  471. package/lib/tree/nodes/variables/variableNode.d.ts +9 -9
  472. package/lib/tree/nodes/variables/variableNode.js +20 -20
  473. package/lib/tree/parsers/derivateParser.js +62 -62
  474. package/lib/tree/parsers/simplify.d.ts +3 -3
  475. package/lib/tree/parsers/simplify.js +73 -73
  476. package/lib/utils/arrayEqual.d.ts +1 -1
  477. package/lib/utils/arrayEqual.js +13 -13
  478. package/lib/utils/coinFlip.d.ts +1 -1
  479. package/lib/utils/coinFlip.js +7 -7
  480. package/lib/utils/diceFlip.d.ts +1 -1
  481. package/lib/utils/diceFlip.js +12 -12
  482. package/lib/utils/random.d.ts +1 -1
  483. package/lib/utils/random.js +7 -7
  484. package/lib/utils/shuffle.d.ts +1 -1
  485. package/lib/utils/shuffle.js +15 -15
  486. package/package.json +52 -51
  487. package/lib/exercises/calcul/operationsPriorities.js +0 -88
  488. package/lib/exercises/derivation/derivative/affineDerivative.d.ts +0 -4
  489. package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +0 -1
  490. package/lib/exercises/derivation/derivative/affineDerivative.js +0 -27
  491. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +0 -1
  492. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +0 -1
  493. package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +0 -1
  494. package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts +0 -4
  495. package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts.map +0 -1
  496. package/lib/exercises/geometry/cartesian/derivativeNumberReading.js +0 -51
  497. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.d.ts +0 -1
  498. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.d.ts.map +0 -1
  499. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.js +0 -91
  500. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts +0 -4
  501. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts.map +0 -1
  502. package/lib/exercises/geometry/euclidean/TriangleArea.js +0 -77
  503. package/lib/geometry/point.js +0 -27
  504. package/lib/geometry/vector.js +0 -31
  505. package/lib/mathutils/arithmetic/coprimesOf.js +0 -13
  506. package/lib/mathutils/arithmetic/dividersOf.js +0 -12
  507. package/lib/mathutils/arithmetic/gcd.js +0 -7
  508. package/lib/mathutils/arithmetic/isSquare.js +0 -7
  509. package/lib/mathutils/arithmetic/lcd.js +0 -12
  510. package/lib/mathutils/arithmetic/nonCoprimesOf.js +0 -13
  511. package/lib/mathutils/arithmetic/nonDividersOf.js +0 -14
  512. package/lib/mathutils/arithmetic/primeFactors.js +0 -22
  513. package/lib/mathutils/decimals/decimalPartLengthOf.js +0 -14
  514. package/lib/mathutils/random/randTupleInt.js +0 -30
  515. package/lib/mathutils/random/randint.js +0 -18
  516. package/lib/mathutils/round.js +0 -8
  517. package/lib/numbers/decimals/decimal.js +0 -140
  518. package/lib/numbers/epsilon.js +0 -10
  519. package/lib/numbers/integer/integer.js +0 -68
  520. package/lib/numbers/integer/power.js +0 -52
  521. package/lib/numbers/nombre.js +0 -10
  522. package/lib/numbers/rationals/rational.js +0 -113
  523. package/lib/numbers/reals/real.js +0 -16
  524. package/lib/numbers/reals/squareRoot.js +0 -63
  525. package/lib/polynomials/affine.js +0 -42
  526. package/lib/polynomials/polynomial.js +0 -125
  527. package/lib/sets/discreteSet.js +0 -28
  528. package/lib/sets/emptySet.js +0 -6
  529. package/lib/sets/intervals/intervals.js +0 -108
  530. package/lib/sets/intervals/union.js +0 -1
  531. package/lib/sets/mathSet.js +0 -10
  532. package/lib/sets/mathSetInterface.js +0 -2
  533. package/lib/tree/parsers/latexParser.js +0 -110
  534. package/lib/utils/coin.js +0 -7
@@ -1,67 +1,67 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLnEquation = exports.logEquation = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const randint_1 = require("../../../math/utils/random/randint");
6
- const expNode_1 = require("../../../tree/nodes/functions/expNode");
7
- const logNode_1 = require("../../../tree/nodes/functions/logNode");
8
- const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
9
- const equalNode_1 = require("../../../tree/nodes/operators/equalNode");
10
- const fractionNode_1 = require("../../../tree/nodes/operators/fractionNode");
11
- const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
12
- const variableNode_1 = require("../../../tree/nodes/variables/variableNode");
13
- const simplify_1 = require("../../../tree/parsers/simplify");
14
- const shuffle_1 = require("../../../utils/shuffle");
15
- const uuid_1 = require("uuid");
16
- exports.logEquation = {
17
- id: 'logEquation',
18
- connector: '=',
19
- instruction: '',
20
- label: 'Résoudre des équations de type $a \\times \\ln(x) = k$',
21
- levels: ['1reSpé', 'TermSpé', 'MathComp'],
22
- sections: ['Logarithme népérien'],
23
- isSingleStep: false,
24
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getLnEquation, nb),
25
- keys: ['ln', 'exp'],
26
- };
27
- function getLnEquation() {
28
- const a = (0, randint_1.randint)(-9, 20, [0]);
29
- const k = (0, randint_1.randint)(-9, 20, [0]);
30
- const equation = new equalNode_1.EqualNode((0, simplify_1.simplifyNode)(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new logNode_1.LogNode(new variableNode_1.VariableNode('x')))), new numberNode_1.NumberNode(k));
31
- const answer = new expNode_1.ExpNode((0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(k), new numberNode_1.NumberNode(a))));
32
- const getPropositions = (numOptions) => {
33
- const propositions = [];
34
- propositions.push({
35
- id: (0, uuid_1.v4)(),
36
- statement: answer.toTex(),
37
- isRightAnswer: true,
38
- format: 'tex',
39
- });
40
- for (let i = 0; i < numOptions - 1; i++) {
41
- let isDuplicate;
42
- let proposition;
43
- do {
44
- const randomA = (0, randint_1.randint)(1, 10);
45
- const randomK = (0, randint_1.randint)(1, 20);
46
- proposition = {
47
- id: (0, uuid_1.v4)(),
48
- statement: new expNode_1.ExpNode((0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(randomK), new numberNode_1.NumberNode(randomA)))).toTex(),
49
- isRightAnswer: false,
50
- format: 'tex',
51
- };
52
- isDuplicate = propositions.some((p) => p.statement === proposition.statement);
53
- } while (isDuplicate);
54
- propositions.push(proposition);
55
- }
56
- return (0, shuffle_1.shuffle)(propositions);
57
- };
58
- const question = {
59
- instruction: `Résoudre l'équation $${equation.toTex()}$.`,
60
- answer: answer.toTex(),
61
- keys: ['ln', 'exp'],
62
- getPropositions,
63
- answerFormat: 'tex',
64
- };
65
- return question;
66
- }
67
- exports.getLnEquation = getLnEquation;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLnEquation = exports.logEquation = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ const expNode_1 = require("../../../tree/nodes/functions/expNode");
7
+ const logNode_1 = require("../../../tree/nodes/functions/logNode");
8
+ const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
9
+ const equalNode_1 = require("../../../tree/nodes/operators/equalNode");
10
+ const fractionNode_1 = require("../../../tree/nodes/operators/fractionNode");
11
+ const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
12
+ const variableNode_1 = require("../../../tree/nodes/variables/variableNode");
13
+ const simplify_1 = require("../../../tree/parsers/simplify");
14
+ const shuffle_1 = require("../../../utils/shuffle");
15
+ const uuid_1 = require("uuid");
16
+ exports.logEquation = {
17
+ id: 'logEquation',
18
+ connector: '=',
19
+ instruction: '',
20
+ label: 'Résoudre des équations de type $a \\times \\ln(x) = k$',
21
+ levels: ['1reSpé', 'TermSpé', 'MathComp'],
22
+ sections: ['Logarithme népérien'],
23
+ isSingleStep: false,
24
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getLnEquation, nb),
25
+ keys: ['ln', 'exp'],
26
+ };
27
+ function getLnEquation() {
28
+ const a = (0, randint_1.randint)(-9, 20, [0]);
29
+ const k = (0, randint_1.randint)(-9, 20, [0]);
30
+ const equation = new equalNode_1.EqualNode((0, simplify_1.simplifyNode)(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new logNode_1.LogNode(new variableNode_1.VariableNode('x')))), new numberNode_1.NumberNode(k));
31
+ const answer = new expNode_1.ExpNode((0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(k), new numberNode_1.NumberNode(a))));
32
+ const getPropositions = (numOptions) => {
33
+ const propositions = [];
34
+ propositions.push({
35
+ id: (0, uuid_1.v4)(),
36
+ statement: answer.toTex(),
37
+ isRightAnswer: true,
38
+ format: 'tex',
39
+ });
40
+ for (let i = 0; i < numOptions - 1; i++) {
41
+ let isDuplicate;
42
+ let proposition;
43
+ do {
44
+ const randomA = (0, randint_1.randint)(1, 10);
45
+ const randomK = (0, randint_1.randint)(1, 20);
46
+ proposition = {
47
+ id: (0, uuid_1.v4)(),
48
+ statement: new expNode_1.ExpNode((0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(randomK), new numberNode_1.NumberNode(randomA)))).toTex(),
49
+ isRightAnswer: false,
50
+ format: 'tex',
51
+ };
52
+ isDuplicate = propositions.some((p) => p.statement === proposition.statement);
53
+ } while (isDuplicate);
54
+ propositions.push(proposition);
55
+ }
56
+ return (0, shuffle_1.shuffle)(propositions);
57
+ };
58
+ const question = {
59
+ instruction: `Résoudre l'équation $${equation.toTex()}$.`,
60
+ answer: answer.toTex(),
61
+ keys: ['ln', 'exp'],
62
+ getPropositions,
63
+ answerFormat: 'tex',
64
+ };
65
+ return question;
66
+ }
67
+ exports.getLnEquation = getLnEquation;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- export declare const multiplicationEquation: Exercise;
3
- export declare function getMultiplicationEquation(): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const multiplicationEquation: Exercise;
3
+ export declare function getMultiplicationEquation(): Question;
4
4
  //# sourceMappingURL=multiplicationEquation.d.ts.map
@@ -1,77 +1,77 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMultiplicationEquation = exports.multiplicationEquation = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const polynomial_1 = require("../../../math/polynomials/polynomial");
6
- const randint_1 = require("../../../math/utils/random/randint");
7
- const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
8
- const fractionNode_1 = require("../../../tree/nodes/operators/fractionNode");
9
- const simplify_1 = require("../../../tree/parsers/simplify");
10
- const shuffle_1 = require("../../../utils/shuffle");
11
- const uuid_1 = require("uuid");
12
- exports.multiplicationEquation = {
13
- id: 'multiplicationEquation',
14
- connector: '\\iff',
15
- instruction: 'Résoudre :',
16
- label: 'Résoudre une équation produit nul',
17
- levels: ['2nde', '1reESM', '1reSpé', '1reTech'],
18
- sections: ['Équations'],
19
- isSingleStep: false,
20
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getMultiplicationEquation, nb),
21
- keys: ['x', 'S', 'equal', 'lbrace', 'rbrace', 'semicolon', 'ou'],
22
- };
23
- function getMultiplicationEquation() {
24
- // (ax + b)(cx + d) = 0
25
- let a, b, c, d;
26
- do {
27
- a = (0, randint_1.randint)(-9, 10, [0]);
28
- b = (0, randint_1.randint)(-9, 10, [0]);
29
- c = (0, randint_1.randint)(-9, 10, [0]);
30
- d = (0, randint_1.randint)(-9, 10, [0]);
31
- } while (a / c === b / d);
32
- const polynome1 = new polynomial_1.Polynomial([b, a]);
33
- const polynome2 = new polynomial_1.Polynomial([d, c]);
34
- const answer = `S = \\left\\{${(0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(-b), new numberNode_1.NumberNode(a))).toTex()};${(0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(-d), new numberNode_1.NumberNode(c))).toTex()}\\right\\}`;
35
- const getPropositions = (n) => {
36
- const res = [];
37
- res.push({
38
- id: (0, uuid_1.v4)() + '',
39
- statement: answer,
40
- isRightAnswer: true,
41
- format: 'tex',
42
- });
43
- for (let i = 0; i < n - 1; i++) {
44
- let isDuplicate;
45
- let proposition;
46
- do {
47
- do {
48
- a = (0, randint_1.randint)(-9, 10, [0]);
49
- b = (0, randint_1.randint)(-9, 10, [0]);
50
- c = (0, randint_1.randint)(-9, 10, [0]);
51
- d = (0, randint_1.randint)(-9, 10, [0]);
52
- } while (a / c === b / d);
53
- const polynome1 = new polynomial_1.Polynomial([b, a]);
54
- const polynome2 = new polynomial_1.Polynomial([d, c]);
55
- const wrongAnswer = `S = \\left\\{${(0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(-b), new numberNode_1.NumberNode(a))).toTex()};${(0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(-d), new numberNode_1.NumberNode(c))).toTex()}\\right\\}`;
56
- proposition = {
57
- id: (0, uuid_1.v4)() + '',
58
- statement: wrongAnswer,
59
- isRightAnswer: false,
60
- format: 'tex',
61
- };
62
- isDuplicate = res.some((p) => p.statement === proposition.statement);
63
- } while (isDuplicate);
64
- res.push(proposition);
65
- }
66
- return (0, shuffle_1.shuffle)(res);
67
- };
68
- const question = {
69
- startStatement: `(${polynome1.toTex()})(${polynome2.toTex()}) = 0`,
70
- answer: `S = \\left\\{${(0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(-b), new numberNode_1.NumberNode(a))).toTex()};${(0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(-d), new numberNode_1.NumberNode(c))).toTex()}\\right\\}`,
71
- keys: ['x', 'S', 'equal', 'lbrace', 'rbrace', 'semicolon', 'ou'],
72
- getPropositions,
73
- answerFormat: 'tex',
74
- };
75
- return question;
76
- }
77
- exports.getMultiplicationEquation = getMultiplicationEquation;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMultiplicationEquation = exports.multiplicationEquation = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const polynomial_1 = require("../../../math/polynomials/polynomial");
6
+ const randint_1 = require("../../../math/utils/random/randint");
7
+ const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
8
+ const fractionNode_1 = require("../../../tree/nodes/operators/fractionNode");
9
+ const simplify_1 = require("../../../tree/parsers/simplify");
10
+ const shuffle_1 = require("../../../utils/shuffle");
11
+ const uuid_1 = require("uuid");
12
+ exports.multiplicationEquation = {
13
+ id: 'multiplicationEquation',
14
+ connector: '\\iff',
15
+ instruction: 'Résoudre :',
16
+ label: 'Résoudre une équation produit nul',
17
+ levels: ['2nde', '1reESM', '1reSpé', '1reTech'],
18
+ sections: ['Équations'],
19
+ isSingleStep: false,
20
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getMultiplicationEquation, nb),
21
+ keys: ['x', 'S', 'equal', 'lbrace', 'rbrace', 'semicolon', 'ou'],
22
+ };
23
+ function getMultiplicationEquation() {
24
+ // (ax + b)(cx + d) = 0
25
+ let a, b, c, d;
26
+ do {
27
+ a = (0, randint_1.randint)(-9, 10, [0]);
28
+ b = (0, randint_1.randint)(-9, 10, [0]);
29
+ c = (0, randint_1.randint)(-9, 10, [0]);
30
+ d = (0, randint_1.randint)(-9, 10, [0]);
31
+ } while (a / c === b / d);
32
+ const polynome1 = new polynomial_1.Polynomial([b, a]);
33
+ const polynome2 = new polynomial_1.Polynomial([d, c]);
34
+ const answer = `S = \\left\\{${(0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(-b), new numberNode_1.NumberNode(a))).toTex()};${(0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(-d), new numberNode_1.NumberNode(c))).toTex()}\\right\\}`;
35
+ const getPropositions = (n) => {
36
+ const res = [];
37
+ res.push({
38
+ id: (0, uuid_1.v4)() + '',
39
+ statement: answer,
40
+ isRightAnswer: true,
41
+ format: 'tex',
42
+ });
43
+ for (let i = 0; i < n - 1; i++) {
44
+ let isDuplicate;
45
+ let proposition;
46
+ do {
47
+ do {
48
+ a = (0, randint_1.randint)(-9, 10, [0]);
49
+ b = (0, randint_1.randint)(-9, 10, [0]);
50
+ c = (0, randint_1.randint)(-9, 10, [0]);
51
+ d = (0, randint_1.randint)(-9, 10, [0]);
52
+ } while (a / c === b / d);
53
+ const polynome1 = new polynomial_1.Polynomial([b, a]);
54
+ const polynome2 = new polynomial_1.Polynomial([d, c]);
55
+ const wrongAnswer = `S = \\left\\{${(0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(-b), new numberNode_1.NumberNode(a))).toTex()};${(0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(-d), new numberNode_1.NumberNode(c))).toTex()}\\right\\}`;
56
+ proposition = {
57
+ id: (0, uuid_1.v4)() + '',
58
+ statement: wrongAnswer,
59
+ isRightAnswer: false,
60
+ format: 'tex',
61
+ };
62
+ isDuplicate = res.some((p) => p.statement === proposition.statement);
63
+ } while (isDuplicate);
64
+ res.push(proposition);
65
+ }
66
+ return (0, shuffle_1.shuffle)(res);
67
+ };
68
+ const question = {
69
+ startStatement: `(${polynome1.toTex()})(${polynome2.toTex()}) = 0`,
70
+ answer: `S = \\left\\{${(0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(-b), new numberNode_1.NumberNode(a))).toTex()};${(0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(-d), new numberNode_1.NumberNode(c))).toTex()}\\right\\}`,
71
+ keys: ['x', 'S', 'equal', 'lbrace', 'rbrace', 'semicolon', 'ou'],
72
+ getPropositions,
73
+ answerFormat: 'tex',
74
+ };
75
+ return question;
76
+ }
77
+ exports.getMultiplicationEquation = getMultiplicationEquation;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- export declare const factoIdRmq1: Exercise;
3
- export declare function getFactoType1Question(): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const factoIdRmq1: Exercise;
3
+ export declare function getFactoType1Question(): Question;
4
4
  //# sourceMappingURL=factoIdRmq1.d.ts.map
@@ -1,70 +1,70 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFactoType1Question = exports.factoIdRmq1 = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const integer_1 = require("../../../math/numbers/integer/integer");
6
- const affine_1 = require("../../../math/polynomials/affine");
7
- const discreteSet_1 = require("../../../math/sets/discreteSet");
8
- const intervals_1 = require("../../../math/sets/intervals/intervals");
9
- const randint_1 = require("../../../math/utils/random/randint");
10
- const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
11
- const powerNode_1 = require("../../../tree/nodes/operators/powerNode");
12
- const shuffle_1 = require("../../../utils/shuffle");
13
- const uuid_1 = require("uuid");
14
- exports.factoIdRmq1 = {
15
- id: 'factoIdRmq1',
16
- connector: '=',
17
- instruction: 'Factoriser :',
18
- isSingleStep: false,
19
- label: 'Factorisation du type $a^2 + 2ab + b^2$',
20
- levels: ['3ème', '2nde'],
21
- sections: ['Calcul littéral'],
22
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getFactoType1Question, nb),
23
- keys: ['x'],
24
- };
25
- function getFactoType1Question() {
26
- const interval = new intervals_1.Interval('[[1; 10]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
27
- const affine = affine_1.AffineConstructor.random(interval, interval);
28
- const statementTree = affine.multiply(affine).toTree();
29
- const answerTree = new powerNode_1.PowerNode(affine.toTree(), new numberNode_1.NumberNode(2));
30
- const getPropositions = (n) => {
31
- const res = [];
32
- res.push({
33
- id: (0, uuid_1.v4)() + '',
34
- statement: answerTree.toTex(),
35
- isRightAnswer: true,
36
- format: 'tex',
37
- });
38
- res.push({
39
- id: (0, uuid_1.v4)() + '',
40
- statement: new powerNode_1.PowerNode(new affine_1.Affine(affine.b, affine.a).toTree(), new numberNode_1.NumberNode(2)).toTex(),
41
- isRightAnswer: false,
42
- format: 'tex',
43
- });
44
- for (let i = 0; i < n - 2; i++) {
45
- let isDuplicate;
46
- let proposition;
47
- do {
48
- const wrongAnswer = new powerNode_1.PowerNode(new affine_1.Affine(affine.a + (0, randint_1.randint)(-affine.a + 1, 10 - affine.a), affine.b + (0, randint_1.randint)(-affine.b + 1, 10 - affine.b)).toTree(), new numberNode_1.NumberNode(2));
49
- proposition = {
50
- id: (0, uuid_1.v4)() + '',
51
- statement: wrongAnswer.toTex(),
52
- isRightAnswer: false,
53
- format: 'tex',
54
- };
55
- isDuplicate = res.some((p) => p.statement === proposition.statement);
56
- } while (isDuplicate);
57
- res.push(proposition);
58
- }
59
- return (0, shuffle_1.shuffle)(res);
60
- };
61
- const question = {
62
- startStatement: statementTree.toTex(),
63
- answer: answerTree.toTex(),
64
- keys: ['x'],
65
- getPropositions,
66
- answerFormat: 'tex',
67
- };
68
- return question;
69
- }
70
- exports.getFactoType1Question = getFactoType1Question;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFactoType1Question = exports.factoIdRmq1 = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const integer_1 = require("../../../math/numbers/integer/integer");
6
+ const affine_1 = require("../../../math/polynomials/affine");
7
+ const discreteSet_1 = require("../../../math/sets/discreteSet");
8
+ const intervals_1 = require("../../../math/sets/intervals/intervals");
9
+ const randint_1 = require("../../../math/utils/random/randint");
10
+ const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
11
+ const powerNode_1 = require("../../../tree/nodes/operators/powerNode");
12
+ const shuffle_1 = require("../../../utils/shuffle");
13
+ const uuid_1 = require("uuid");
14
+ exports.factoIdRmq1 = {
15
+ id: 'factoIdRmq1',
16
+ connector: '=',
17
+ instruction: 'Factoriser :',
18
+ isSingleStep: false,
19
+ label: 'Factorisation du type $a^2 + 2ab + b^2$',
20
+ levels: ['3ème', '2nde'],
21
+ sections: ['Calcul littéral'],
22
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getFactoType1Question, nb),
23
+ keys: ['x'],
24
+ };
25
+ function getFactoType1Question() {
26
+ const interval = new intervals_1.Interval('[[1; 10]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
27
+ const affine = affine_1.AffineConstructor.random(interval, interval);
28
+ const statementTree = affine.multiply(affine).toTree();
29
+ const answerTree = new powerNode_1.PowerNode(affine.toTree(), new numberNode_1.NumberNode(2));
30
+ const getPropositions = (n) => {
31
+ const res = [];
32
+ res.push({
33
+ id: (0, uuid_1.v4)() + '',
34
+ statement: answerTree.toTex(),
35
+ isRightAnswer: true,
36
+ format: 'tex',
37
+ });
38
+ res.push({
39
+ id: (0, uuid_1.v4)() + '',
40
+ statement: new powerNode_1.PowerNode(new affine_1.Affine(affine.b, affine.a).toTree(), new numberNode_1.NumberNode(2)).toTex(),
41
+ isRightAnswer: false,
42
+ format: 'tex',
43
+ });
44
+ for (let i = 0; i < n - 2; i++) {
45
+ let isDuplicate;
46
+ let proposition;
47
+ do {
48
+ const wrongAnswer = new powerNode_1.PowerNode(new affine_1.Affine(affine.a + (0, randint_1.randint)(-affine.a + 1, 10 - affine.a), affine.b + (0, randint_1.randint)(-affine.b + 1, 10 - affine.b)).toTree(), new numberNode_1.NumberNode(2));
49
+ proposition = {
50
+ id: (0, uuid_1.v4)() + '',
51
+ statement: wrongAnswer.toTex(),
52
+ isRightAnswer: false,
53
+ format: 'tex',
54
+ };
55
+ isDuplicate = res.some((p) => p.statement === proposition.statement);
56
+ } while (isDuplicate);
57
+ res.push(proposition);
58
+ }
59
+ return (0, shuffle_1.shuffle)(res);
60
+ };
61
+ const question = {
62
+ startStatement: statementTree.toTex(),
63
+ answer: answerTree.toTex(),
64
+ keys: ['x'],
65
+ getPropositions,
66
+ answerFormat: 'tex',
67
+ };
68
+ return question;
69
+ }
70
+ exports.getFactoType1Question = getFactoType1Question;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- export declare const factoIdRmq2: Exercise;
3
- export declare function getFactoType1Question(): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const factoIdRmq2: Exercise;
3
+ export declare function getFactoType1Question(): Question;
4
4
  //# sourceMappingURL=factoIdRmq2.d.ts.map
@@ -1,78 +1,78 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFactoType1Question = exports.factoIdRmq2 = void 0;
4
- const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
- const integer_1 = require("../../../math/numbers/integer/integer");
6
- const affine_1 = require("../../../math/polynomials/affine");
7
- const discreteSet_1 = require("../../../math/sets/discreteSet");
8
- const intervals_1 = require("../../../math/sets/intervals/intervals");
9
- const randint_1 = require("../../../math/utils/random/randint");
10
- const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
11
- const powerNode_1 = require("../../../tree/nodes/operators/powerNode");
12
- const shuffle_1 = require("../../../utils/shuffle");
13
- const uuid_1 = require("uuid");
14
- exports.factoIdRmq2 = {
15
- id: 'factoIdRmq2',
16
- connector: '=',
17
- instruction: 'Factoriser :',
18
- isSingleStep: false,
19
- label: 'Factorisation du type $a^2 - 2ab + b^2$',
20
- levels: ['3ème', '2nde'],
21
- sections: ['Calcul littéral'],
22
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getFactoType1Question, nb),
23
- keys: ['x'],
24
- };
25
- function getFactoType1Question() {
26
- const intervalA = new intervals_1.Interval('[[0; 10]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
27
- const intervalB = new intervals_1.Interval('[[-10; 0]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
28
- const affine = affine_1.AffineConstructor.random(intervalA, intervalB);
29
- const statementTree = affine.multiply(affine).toTree();
30
- const answerTree = new powerNode_1.PowerNode(affine.toTree(), new numberNode_1.NumberNode(2));
31
- const getPropositions = (n) => {
32
- const res = [];
33
- res.push({
34
- id: (0, uuid_1.v4)() + '',
35
- statement: answerTree.toTex(),
36
- isRightAnswer: true,
37
- format: 'tex',
38
- });
39
- res.push({
40
- id: (0, uuid_1.v4)() + '',
41
- statement: new powerNode_1.PowerNode(new affine_1.Affine(-affine.b, -affine.a).toTree(), new numberNode_1.NumberNode(2)).toTex(),
42
- isRightAnswer: false,
43
- format: 'tex',
44
- });
45
- if (n > 2)
46
- res.push({
47
- id: (0, uuid_1.v4)() + '',
48
- statement: new powerNode_1.PowerNode(new affine_1.Affine(-affine.a, affine.b).toTree(), new numberNode_1.NumberNode(2)).toTex(),
49
- isRightAnswer: false,
50
- format: 'tex',
51
- });
52
- for (let i = 0; i < n - 3; i++) {
53
- let isDuplicate;
54
- let proposition;
55
- do {
56
- const wrongAnswer = new powerNode_1.PowerNode(new affine_1.Affine(affine.a + (0, randint_1.randint)(-affine.a + 1, 10 - affine.a), affine.b + (0, randint_1.randint)(-9 - affine.b, -affine.b)).toTree(), new numberNode_1.NumberNode(2));
57
- proposition = {
58
- id: (0, uuid_1.v4)() + '',
59
- statement: wrongAnswer.toTex(),
60
- isRightAnswer: false,
61
- format: 'tex',
62
- };
63
- isDuplicate = res.some((p) => p.statement === proposition.statement);
64
- } while (isDuplicate);
65
- res.push(proposition);
66
- }
67
- return (0, shuffle_1.shuffle)(res);
68
- };
69
- const question = {
70
- startStatement: statementTree.toTex(),
71
- answer: answerTree.toTex(),
72
- keys: ['x'],
73
- getPropositions,
74
- answerFormat: 'tex',
75
- };
76
- return question;
77
- }
78
- exports.getFactoType1Question = getFactoType1Question;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFactoType1Question = exports.factoIdRmq2 = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const integer_1 = require("../../../math/numbers/integer/integer");
6
+ const affine_1 = require("../../../math/polynomials/affine");
7
+ const discreteSet_1 = require("../../../math/sets/discreteSet");
8
+ const intervals_1 = require("../../../math/sets/intervals/intervals");
9
+ const randint_1 = require("../../../math/utils/random/randint");
10
+ const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
11
+ const powerNode_1 = require("../../../tree/nodes/operators/powerNode");
12
+ const shuffle_1 = require("../../../utils/shuffle");
13
+ const uuid_1 = require("uuid");
14
+ exports.factoIdRmq2 = {
15
+ id: 'factoIdRmq2',
16
+ connector: '=',
17
+ instruction: 'Factoriser :',
18
+ isSingleStep: false,
19
+ label: 'Factorisation du type $a^2 - 2ab + b^2$',
20
+ levels: ['3ème', '2nde'],
21
+ sections: ['Calcul littéral'],
22
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getFactoType1Question, nb),
23
+ keys: ['x'],
24
+ };
25
+ function getFactoType1Question() {
26
+ const intervalA = new intervals_1.Interval('[[0; 10]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
27
+ const intervalB = new intervals_1.Interval('[[-10; 0]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
28
+ const affine = affine_1.AffineConstructor.random(intervalA, intervalB);
29
+ const statementTree = affine.multiply(affine).toTree();
30
+ const answerTree = new powerNode_1.PowerNode(affine.toTree(), new numberNode_1.NumberNode(2));
31
+ const getPropositions = (n) => {
32
+ const res = [];
33
+ res.push({
34
+ id: (0, uuid_1.v4)() + '',
35
+ statement: answerTree.toTex(),
36
+ isRightAnswer: true,
37
+ format: 'tex',
38
+ });
39
+ res.push({
40
+ id: (0, uuid_1.v4)() + '',
41
+ statement: new powerNode_1.PowerNode(new affine_1.Affine(-affine.b, -affine.a).toTree(), new numberNode_1.NumberNode(2)).toTex(),
42
+ isRightAnswer: false,
43
+ format: 'tex',
44
+ });
45
+ if (n > 2)
46
+ res.push({
47
+ id: (0, uuid_1.v4)() + '',
48
+ statement: new powerNode_1.PowerNode(new affine_1.Affine(-affine.a, affine.b).toTree(), new numberNode_1.NumberNode(2)).toTex(),
49
+ isRightAnswer: false,
50
+ format: 'tex',
51
+ });
52
+ for (let i = 0; i < n - 3; i++) {
53
+ let isDuplicate;
54
+ let proposition;
55
+ do {
56
+ const wrongAnswer = new powerNode_1.PowerNode(new affine_1.Affine(affine.a + (0, randint_1.randint)(-affine.a + 1, 10 - affine.a), affine.b + (0, randint_1.randint)(-9 - affine.b, -affine.b)).toTree(), new numberNode_1.NumberNode(2));
57
+ proposition = {
58
+ id: (0, uuid_1.v4)() + '',
59
+ statement: wrongAnswer.toTex(),
60
+ isRightAnswer: false,
61
+ format: 'tex',
62
+ };
63
+ isDuplicate = res.some((p) => p.statement === proposition.statement);
64
+ } while (isDuplicate);
65
+ res.push(proposition);
66
+ }
67
+ return (0, shuffle_1.shuffle)(res);
68
+ };
69
+ const question = {
70
+ startStatement: statementTree.toTex(),
71
+ answer: answerTree.toTex(),
72
+ keys: ['x'],
73
+ getPropositions,
74
+ answerFormat: 'tex',
75
+ };
76
+ return question;
77
+ }
78
+ exports.getFactoType1Question = getFactoType1Question;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../../exercises/exercise';
2
- export declare const factoIdRmq3: Exercise;
3
- export declare function getFactoType1Question(): Question;
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const factoIdRmq3: Exercise;
3
+ export declare function getFactoType1Question(): Question;
4
4
  //# sourceMappingURL=factoIdRmq3.d.ts.map