math-exercises 1.3.55 → 1.3.57

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 (541) 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.d.ts.map +1 -1
  166. package/lib/exercises/exercises.js +351 -347
  167. package/lib/exercises/functions/affines/leadingCoefficient.d.ts +3 -3
  168. package/lib/exercises/functions/affines/leadingCoefficient.js +93 -93
  169. package/lib/exercises/functions/affines/leadingCoefficientCalculV1.d.ts +3 -3
  170. package/lib/exercises/functions/affines/leadingCoefficientCalculV1.js +59 -59
  171. package/lib/exercises/functions/affines/leadingCoefficientCalculV2.d.ts +3 -3
  172. package/lib/exercises/functions/affines/leadingCoefficientCalculV2.js +58 -58
  173. package/lib/exercises/functions/affines/signFunction.d.ts +3 -3
  174. package/lib/exercises/functions/affines/signFunction.js +84 -84
  175. package/lib/exercises/functions/affines/template.d.ts +4 -0
  176. package/lib/exercises/functions/affines/template.d.ts.map +1 -0
  177. package/lib/exercises/functions/affines/template.js +51 -0
  178. package/lib/exercises/functions/basics/imageFunction.d.ts +3 -3
  179. package/lib/exercises/functions/basics/imageFunction.js +65 -65
  180. package/lib/exercises/functions/basics/imageFunctionGeogebra.d.ts +3 -3
  181. package/lib/exercises/functions/basics/imageFunctionGeogebra.js +89 -89
  182. package/lib/exercises/functions/basics/inverseImageFunction.d.ts +3 -3
  183. package/lib/exercises/functions/basics/inverseImageFunction.js +62 -62
  184. package/lib/exercises/functions/basics/inverseImageFunctionGeogebra.d.ts +3 -3
  185. package/lib/exercises/functions/basics/inverseImageFunctionGeogebra.js +154 -154
  186. package/lib/exercises/functions/trinoms/alphaBetaFromDevForm.d.ts +3 -3
  187. package/lib/exercises/functions/trinoms/alphaBetaFromDevForm.js +63 -63
  188. package/lib/exercises/functions/trinoms/alphaBetaInCanonicalForm.d.ts +3 -3
  189. package/lib/exercises/functions/trinoms/alphaBetaInCanonicalForm.js +91 -91
  190. package/lib/exercises/functions/trinoms/canonicalFromDevForm.d.ts +3 -3
  191. package/lib/exercises/functions/trinoms/canonicalFromDevForm.js +58 -58
  192. package/lib/exercises/functions/trinoms/extremumFromCanonicalForm.d.ts +3 -3
  193. package/lib/exercises/functions/trinoms/extremumFromCanonicalForm.js +84 -84
  194. package/lib/exercises/functions/trinoms/extremumTypeFromAlgebricForm.d.ts +3 -3
  195. package/lib/exercises/functions/trinoms/extremumTypeFromAlgebricForm.js +59 -59
  196. package/lib/exercises/functions/trinoms/variationsFromAlgebricForm.d.ts +3 -3
  197. package/lib/exercises/functions/trinoms/variationsFromAlgebricForm.js +59 -59
  198. package/lib/exercises/geometry/cartesian/distanceBetweenTwoPoints.d.ts +3 -3
  199. package/lib/exercises/geometry/cartesian/distanceBetweenTwoPoints.js +107 -107
  200. package/lib/exercises/geometry/cartesian/imageFunction.d.ts +3 -3
  201. package/lib/exercises/geometry/cartesian/imageFunction.d.ts.map +1 -1
  202. package/lib/exercises/geometry/cartesian/imageFunction.js +65 -62
  203. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.d.ts +4 -0
  204. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.d.ts.map +1 -0
  205. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.js +89 -0
  206. package/lib/exercises/geometry/cartesian/inverseImageFunction.d.ts +3 -3
  207. package/lib/exercises/geometry/cartesian/inverseImageFunction.d.ts.map +1 -1
  208. package/lib/exercises/geometry/cartesian/inverseImageFunction.js +62 -57
  209. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.d.ts +4 -0
  210. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.d.ts.map +1 -0
  211. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.js +154 -0
  212. package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts +3 -3
  213. package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts.map +1 -1
  214. package/lib/exercises/geometry/cartesian/leadingCoefficient.js +93 -90
  215. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts +3 -3
  216. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts.map +1 -1
  217. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.js +59 -56
  218. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts +3 -3
  219. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts.map +1 -1
  220. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.js +58 -55
  221. package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
  222. package/lib/exercises/geometry/cartesian/midpoint.js +63 -63
  223. package/lib/exercises/geometry/cartesian/signFunction.d.ts +4 -0
  224. package/lib/exercises/geometry/cartesian/signFunction.d.ts.map +1 -0
  225. package/lib/exercises/geometry/cartesian/signFunction.js +84 -0
  226. package/lib/exercises/geometry/euclidean/circleArea.d.ts +3 -3
  227. package/lib/exercises/geometry/euclidean/circleArea.js +58 -58
  228. package/lib/exercises/geometry/euclidean/circleCircumference.d.ts +3 -3
  229. package/lib/exercises/geometry/euclidean/circleCircumference.js +58 -58
  230. package/lib/exercises/geometry/euclidean/pythagore.d.ts +3 -3
  231. package/lib/exercises/geometry/euclidean/pythagore.js +86 -86
  232. package/lib/exercises/geometry/euclidean/pythagoreCalcul.d.ts +3 -3
  233. package/lib/exercises/geometry/euclidean/pythagoreCalcul.js +91 -91
  234. package/lib/exercises/geometry/euclidean/rectangleArea.d.ts +3 -3
  235. package/lib/exercises/geometry/euclidean/rectangleArea.js +53 -53
  236. package/lib/exercises/geometry/euclidean/rectanglePerimeter.d.ts +3 -3
  237. package/lib/exercises/geometry/euclidean/rectanglePerimeter.js +53 -53
  238. package/lib/exercises/geometry/euclidean/rightTriangleArea.d.ts +3 -3
  239. package/lib/exercises/geometry/euclidean/rightTriangleArea.js +67 -67
  240. package/lib/exercises/geometry/euclidean/squareArea.d.ts +3 -3
  241. package/lib/exercises/geometry/euclidean/squareArea.js +52 -52
  242. package/lib/exercises/geometry/euclidean/squarePerimeter.d.ts +3 -3
  243. package/lib/exercises/geometry/euclidean/squarePerimeter.js +52 -52
  244. package/lib/exercises/geometry/euclidean/thales.d.ts +3 -3
  245. package/lib/exercises/geometry/euclidean/thales.js +113 -113
  246. package/lib/exercises/geometry/euclidean/thalesCalcul.d.ts +3 -3
  247. package/lib/exercises/geometry/euclidean/thalesCalcul.js +132 -132
  248. package/lib/exercises/geometry/euclidean/triangleArea.d.ts +3 -3
  249. package/lib/exercises/geometry/euclidean/triangleArea.js +80 -80
  250. package/lib/exercises/geometry/euclidean/triangleAreaV2.d.ts +3 -3
  251. package/lib/exercises/geometry/euclidean/triangleAreaV2.js +77 -77
  252. package/lib/exercises/geometry/euclidean/trianglePerimeter.d.ts +3 -3
  253. package/lib/exercises/geometry/euclidean/trianglePerimeter.js +53 -53
  254. package/lib/exercises/geometry/euclidean/trigonometry.d.ts +3 -3
  255. package/lib/exercises/geometry/euclidean/trigonometry.js +97 -97
  256. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.d.ts +3 -3
  257. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.js +69 -69
  258. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.d.ts +3 -3
  259. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.js +80 -80
  260. package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
  261. package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +60 -60
  262. package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
  263. package/lib/exercises/limits/polynomeLimit.d.ts +3 -3
  264. package/lib/exercises/limits/polynomeLimit.js +132 -132
  265. package/lib/exercises/percent/applyPercent.d.ts +3 -3
  266. package/lib/exercises/percent/applyPercent.js +74 -74
  267. package/lib/exercises/percent/averageEvolutionRate.d.ts +3 -3
  268. package/lib/exercises/percent/averageEvolutionRate.js +63 -63
  269. package/lib/exercises/percent/globalPercent.d.ts +3 -3
  270. package/lib/exercises/percent/globalPercent.js +77 -77
  271. package/lib/exercises/percent/reciprocalPercentage.d.ts +3 -3
  272. package/lib/exercises/percent/reciprocalPercentage.js +65 -65
  273. package/lib/exercises/powers/powersDivision.d.ts +7 -7
  274. package/lib/exercises/powers/powersDivision.js +77 -77
  275. package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
  276. package/lib/exercises/powers/powersOfTenToDecimal.d.ts.map +1 -1
  277. package/lib/exercises/powers/powersOfTenToDecimal.js +78 -65
  278. package/lib/exercises/powers/powersPower.d.ts +7 -7
  279. package/lib/exercises/powers/powersPower.js +76 -76
  280. package/lib/exercises/powers/powersProduct.d.ts +7 -7
  281. package/lib/exercises/powers/powersProduct.js +77 -77
  282. package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
  283. package/lib/exercises/powers/scientificToDecimal.d.ts.map +1 -1
  284. package/lib/exercises/powers/scientificToDecimal.js +82 -69
  285. package/lib/exercises/primitve/constantPrimitive.d.ts +3 -3
  286. package/lib/exercises/primitve/constantPrimitive.js +56 -56
  287. package/lib/exercises/primitve/exponentialPrimitive.d.ts +3 -3
  288. package/lib/exercises/primitve/exponentialPrimitive.js +103 -103
  289. package/lib/exercises/primitve/logarithmePrimitive.d.ts +3 -3
  290. package/lib/exercises/primitve/logarithmePrimitive.js +74 -74
  291. package/lib/exercises/primitve/polynomialPrimitive.d.ts +3 -3
  292. package/lib/exercises/primitve/polynomialPrimitive.js +80 -80
  293. package/lib/exercises/primitve/sinCosPrimitive.d.ts +3 -3
  294. package/lib/exercises/primitve/sinCosPrimitive.js +112 -112
  295. package/lib/exercises/primitve/usualPrimitives.d.ts +3 -3
  296. package/lib/exercises/primitve/usualPrimitives.js +39 -39
  297. package/lib/exercises/proba/conditionalProbability.d.ts +3 -3
  298. package/lib/exercises/proba/conditionalProbability.js +99 -99
  299. package/lib/exercises/proba/marginalAndConditionalFrequency.d.ts +3 -3
  300. package/lib/exercises/proba/marginalAndConditionalFrequency.js +106 -106
  301. package/lib/exercises/proba/probabilityTree.d.ts +3 -3
  302. package/lib/exercises/proba/probabilityTree.js +132 -132
  303. package/lib/exercises/probaStat/averageWithTable.d.ts +3 -3
  304. package/lib/exercises/probaStat/averageWithTable.js +76 -76
  305. package/lib/exercises/probaStat/conditionalProbability.d.ts +3 -3
  306. package/lib/exercises/probaStat/conditionalProbability.js +102 -102
  307. package/lib/exercises/probaStat/frequencyTable.d.ts +4 -0
  308. package/lib/exercises/probaStat/frequencyTable.d.ts.map +1 -0
  309. package/lib/exercises/probaStat/frequencyTable.js +76 -0
  310. package/lib/exercises/probaStat/marginalAndConditionalFrequency.d.ts +3 -3
  311. package/lib/exercises/probaStat/marginalAndConditionalFrequency.js +109 -109
  312. package/lib/exercises/probaStat/median.d.ts +3 -3
  313. package/lib/exercises/probaStat/median.js +82 -82
  314. package/lib/exercises/probaStat/medianList.d.ts +3 -3
  315. package/lib/exercises/probaStat/medianList.js +67 -67
  316. package/lib/exercises/probaStat/probabilityTree.d.ts +3 -3
  317. package/lib/exercises/probaStat/probabilityTree.js +135 -135
  318. package/lib/exercises/probaStat/quartiles.d.ts +3 -3
  319. package/lib/exercises/probaStat/quartiles.js +96 -96
  320. package/lib/exercises/probaStat/quartilesList.d.ts +3 -3
  321. package/lib/exercises/probaStat/quartilesList.js +81 -81
  322. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts +3 -3
  323. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +59 -59
  324. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts +3 -3
  325. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.js +59 -59
  326. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.d.ts +3 -3
  327. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.js +59 -59
  328. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.d.ts +3 -3
  329. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.js +58 -58
  330. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts +3 -3
  331. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +58 -58
  332. package/lib/exercises/sequences/arithmetic/arithmeticSum.js +1 -1
  333. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.d.ts +3 -3
  334. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.js +68 -68
  335. package/lib/exercises/sequences/arithmetic/firstIntegersSum.d.ts +4 -0
  336. package/lib/exercises/sequences/arithmetic/firstIntegersSum.d.ts.map +1 -0
  337. package/lib/exercises/sequences/arithmetic/firstIntegersSum.js +67 -0
  338. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
  339. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +64 -64
  340. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
  341. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +70 -70
  342. package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
  343. package/lib/exercises/sequences/geometric/geometricFindReason.js +66 -66
  344. package/lib/exercises/sequences/geometric/geometricFirstTermsSum.d.ts +4 -0
  345. package/lib/exercises/sequences/geometric/geometricFirstTermsSum.d.ts.map +1 -0
  346. package/lib/exercises/sequences/geometric/geometricFirstTermsSum.js +69 -0
  347. package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
  348. package/lib/exercises/sequences/geometric/geometricReasonUsage.js +65 -65
  349. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
  350. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +65 -65
  351. package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
  352. package/lib/exercises/squareRoots/simpifySquareRoot.js +61 -61
  353. package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
  354. package/lib/exercises/trigonometry/mainRemarkableValues.js +67 -67
  355. package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
  356. package/lib/exercises/trigonometry/remarkableValues.js +67 -67
  357. package/lib/exercises/utils/getDistinctQuestions.d.ts +3 -3
  358. package/lib/exercises/utils/getDistinctQuestions.js +30 -30
  359. package/lib/index.d.ts +7 -7
  360. package/lib/index.js +26 -26
  361. package/lib/math/complex/complex.d.ts +18 -18
  362. package/lib/math/complex/complex.js +63 -63
  363. package/lib/math/geometry/droite.d.ts +19 -19
  364. package/lib/math/geometry/droite.js +62 -62
  365. package/lib/math/geometry/point.d.ts +30 -30
  366. package/lib/math/geometry/point.js +64 -64
  367. package/lib/math/geometry/triangles.d.ts +53 -53
  368. package/lib/math/geometry/triangles.js +183 -183
  369. package/lib/math/geometry/vector.d.ts +15 -15
  370. package/lib/math/geometry/vector.js +31 -31
  371. package/lib/math/numbers/decimals/decimal.d.ts +24 -24
  372. package/lib/math/numbers/decimals/decimal.js +140 -140
  373. package/lib/math/numbers/epsilon.d.ts +1 -1
  374. package/lib/math/numbers/epsilon.js +10 -10
  375. package/lib/math/numbers/integer/integer.d.ts +14 -14
  376. package/lib/math/numbers/integer/integer.js +68 -68
  377. package/lib/math/numbers/integer/power.d.ts +13 -13
  378. package/lib/math/numbers/integer/power.js +52 -52
  379. package/lib/math/numbers/nombre.d.ts +13 -13
  380. package/lib/math/numbers/nombre.js +10 -10
  381. package/lib/math/numbers/rationals/rational.d.ts +25 -25
  382. package/lib/math/numbers/rationals/rational.js +113 -113
  383. package/lib/math/numbers/reals/real.d.ts +9 -9
  384. package/lib/math/numbers/reals/real.js +16 -16
  385. package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
  386. package/lib/math/numbers/reals/squareRoot.js +63 -63
  387. package/lib/math/polynomials/affine.d.ts +15 -15
  388. package/lib/math/polynomials/affine.js +42 -42
  389. package/lib/math/polynomials/polynomial.d.ts +28 -28
  390. package/lib/math/polynomials/polynomial.js +184 -184
  391. package/lib/math/polynomials/trinom.d.ts +23 -23
  392. package/lib/math/polynomials/trinom.js +67 -67
  393. package/lib/math/sequences/arithmeticSequence.js +1 -1
  394. package/lib/math/sequences/geometricSequence.d.ts +3 -3
  395. package/lib/math/sequences/geometricSequence.js +8 -8
  396. package/lib/math/sequences/sequence.d.ts +22 -22
  397. package/lib/math/sequences/sequence.js +21 -21
  398. package/lib/math/sets/discreteSet.d.ts +10 -10
  399. package/lib/math/sets/discreteSet.js +28 -28
  400. package/lib/math/sets/emptySet.js +6 -6
  401. package/lib/math/sets/intervals/intervals.d.ts +26 -26
  402. package/lib/math/sets/intervals/intervals.js +104 -104
  403. package/lib/math/sets/mathSet.d.ts +7 -7
  404. package/lib/math/sets/mathSet.js +10 -10
  405. package/lib/math/sets/mathSetInterface.d.ts +5 -5
  406. package/lib/math/sets/mathSetInterface.js +2 -2
  407. package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
  408. package/lib/math/trigonometry/remarkableValue.js +29 -29
  409. package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
  410. package/lib/math/trigonometry/remarkableValues.js +51 -51
  411. package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
  412. package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
  413. package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
  414. package/lib/math/utils/arithmetic/dividersOf.js +12 -12
  415. package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
  416. package/lib/math/utils/arithmetic/gcd.js +7 -7
  417. package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
  418. package/lib/math/utils/arithmetic/isSquare.js +7 -7
  419. package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
  420. package/lib/math/utils/arithmetic/lcd.js +12 -12
  421. package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
  422. package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
  423. package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
  424. package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
  425. package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
  426. package/lib/math/utils/arithmetic/primeFactors.js +22 -22
  427. package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
  428. package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
  429. package/lib/math/utils/random/randTupleInt.d.ts +13 -13
  430. package/lib/math/utils/random/randTupleInt.js +30 -30
  431. package/lib/math/utils/random/randint.d.ts +4 -4
  432. package/lib/math/utils/random/randint.js +18 -18
  433. package/lib/math/utils/round.d.ts +1 -1
  434. package/lib/math/utils/round.js +8 -8
  435. package/lib/server.d.ts +1 -1
  436. package/lib/server.js +54 -54
  437. package/lib/tree/nodes/complex/complexNode.d.ts +14 -14
  438. package/lib/tree/nodes/complex/complexNode.js +43 -43
  439. package/lib/tree/nodes/expression/expressionNode.js +1 -1
  440. package/lib/tree/nodes/functions/cosNode.d.ts +10 -10
  441. package/lib/tree/nodes/functions/cosNode.js +25 -25
  442. package/lib/tree/nodes/functions/expNode.d.ts +10 -10
  443. package/lib/tree/nodes/functions/expNode.js +25 -25
  444. package/lib/tree/nodes/functions/functionNode.d.ts +16 -16
  445. package/lib/tree/nodes/functions/functionNode.js +22 -22
  446. package/lib/tree/nodes/functions/logNode.d.ts +10 -10
  447. package/lib/tree/nodes/functions/logNode.js +25 -25
  448. package/lib/tree/nodes/functions/oppositeNode.d.ts +8 -8
  449. package/lib/tree/nodes/functions/oppositeNode.js +30 -30
  450. package/lib/tree/nodes/functions/sinNode.d.ts +10 -10
  451. package/lib/tree/nodes/functions/sinNode.js +25 -25
  452. package/lib/tree/nodes/functions/sqrtNode.d.ts +9 -9
  453. package/lib/tree/nodes/functions/sqrtNode.js +22 -22
  454. package/lib/tree/nodes/node.d.ts +13 -13
  455. package/lib/tree/nodes/node.js +11 -11
  456. package/lib/tree/nodes/numbers/constantNode.d.ts +10 -10
  457. package/lib/tree/nodes/numbers/constantNode.js +22 -22
  458. package/lib/tree/nodes/numbers/numberNode.d.ts +11 -11
  459. package/lib/tree/nodes/numbers/numberNode.js +22 -22
  460. package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
  461. package/lib/tree/nodes/numbers/piNode.js +5 -5
  462. package/lib/tree/nodes/operators/addNode.d.ts +8 -8
  463. package/lib/tree/nodes/operators/addNode.js +23 -23
  464. package/lib/tree/nodes/operators/divideNode.d.ts +12 -12
  465. package/lib/tree/nodes/operators/divideNode.js +38 -38
  466. package/lib/tree/nodes/operators/equalNode.d.ts +8 -8
  467. package/lib/tree/nodes/operators/equalNode.js +20 -20
  468. package/lib/tree/nodes/operators/fractionNode.d.ts +12 -12
  469. package/lib/tree/nodes/operators/fractionNode.js +24 -24
  470. package/lib/tree/nodes/operators/multiplyNode.d.ts +8 -8
  471. package/lib/tree/nodes/operators/multiplyNode.js +52 -52
  472. package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
  473. package/lib/tree/nodes/operators/operatorNode.js +35 -35
  474. package/lib/tree/nodes/operators/powerNode.d.ts +8 -8
  475. package/lib/tree/nodes/operators/powerNode.js +37 -37
  476. package/lib/tree/nodes/operators/substractNode.d.ts +8 -8
  477. package/lib/tree/nodes/operators/substractNode.js +28 -28
  478. package/lib/tree/nodes/variables/variableNode.d.ts +9 -9
  479. package/lib/tree/nodes/variables/variableNode.js +20 -20
  480. package/lib/tree/parsers/derivateParser.js +62 -62
  481. package/lib/tree/parsers/simplify.d.ts +3 -3
  482. package/lib/tree/parsers/simplify.js +73 -73
  483. package/lib/utils/arrayEqual.d.ts +1 -1
  484. package/lib/utils/arrayEqual.js +13 -13
  485. package/lib/utils/coinFlip.d.ts +1 -1
  486. package/lib/utils/coinFlip.js +7 -7
  487. package/lib/utils/diceFlip.d.ts +1 -1
  488. package/lib/utils/diceFlip.js +12 -12
  489. package/lib/utils/random.d.ts +1 -1
  490. package/lib/utils/random.js +7 -7
  491. package/lib/utils/shuffle.d.ts +1 -1
  492. package/lib/utils/shuffle.js +15 -15
  493. package/package.json +52 -51
  494. package/lib/exercises/calcul/operationsPriorities.js +0 -88
  495. package/lib/exercises/derivation/derivative/affineDerivative.d.ts +0 -4
  496. package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +0 -1
  497. package/lib/exercises/derivation/derivative/affineDerivative.js +0 -27
  498. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +0 -1
  499. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +0 -1
  500. package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +0 -1
  501. package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts +0 -4
  502. package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts.map +0 -1
  503. package/lib/exercises/geometry/cartesian/derivativeNumberReading.js +0 -51
  504. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.d.ts +0 -1
  505. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.d.ts.map +0 -1
  506. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.js +0 -91
  507. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts +0 -4
  508. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts.map +0 -1
  509. package/lib/exercises/geometry/euclidean/TriangleArea.js +0 -77
  510. package/lib/geometry/point.js +0 -27
  511. package/lib/geometry/vector.js +0 -31
  512. package/lib/mathutils/arithmetic/coprimesOf.js +0 -13
  513. package/lib/mathutils/arithmetic/dividersOf.js +0 -12
  514. package/lib/mathutils/arithmetic/gcd.js +0 -7
  515. package/lib/mathutils/arithmetic/isSquare.js +0 -7
  516. package/lib/mathutils/arithmetic/lcd.js +0 -12
  517. package/lib/mathutils/arithmetic/nonCoprimesOf.js +0 -13
  518. package/lib/mathutils/arithmetic/nonDividersOf.js +0 -14
  519. package/lib/mathutils/arithmetic/primeFactors.js +0 -22
  520. package/lib/mathutils/decimals/decimalPartLengthOf.js +0 -14
  521. package/lib/mathutils/random/randTupleInt.js +0 -30
  522. package/lib/mathutils/random/randint.js +0 -18
  523. package/lib/mathutils/round.js +0 -8
  524. package/lib/numbers/decimals/decimal.js +0 -140
  525. package/lib/numbers/epsilon.js +0 -10
  526. package/lib/numbers/integer/integer.js +0 -68
  527. package/lib/numbers/integer/power.js +0 -52
  528. package/lib/numbers/nombre.js +0 -10
  529. package/lib/numbers/rationals/rational.js +0 -113
  530. package/lib/numbers/reals/real.js +0 -16
  531. package/lib/numbers/reals/squareRoot.js +0 -63
  532. package/lib/polynomials/affine.js +0 -42
  533. package/lib/polynomials/polynomial.js +0 -125
  534. package/lib/sets/discreteSet.js +0 -28
  535. package/lib/sets/emptySet.js +0 -6
  536. package/lib/sets/intervals/intervals.js +0 -108
  537. package/lib/sets/intervals/union.js +0 -1
  538. package/lib/sets/mathSet.js +0 -10
  539. package/lib/sets/mathSetInterface.js +0 -2
  540. package/lib/tree/parsers/latexParser.js +0 -110
  541. package/lib/utils/coin.js +0 -7
@@ -1,74 +1,74 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLogarithmePrimitive = exports.logarithmePrimitive = 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 powerNode_1 = require("../../tree/nodes/operators/powerNode");
10
- const simplify_1 = require("../../tree/parsers/simplify");
11
- const shuffle_1 = require("../../utils/shuffle");
12
- const uuid_1 = require("uuid");
13
- exports.logarithmePrimitive = {
14
- id: 'logarithmePrimitive',
15
- connector: '=',
16
- instruction: '',
17
- label: 'Primitive de la fonction logarithme',
18
- levels: ['TermSpé'],
19
- sections: ['Primitives', 'Logarithme népérien'],
20
- isSingleStep: false,
21
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getLogarithmePrimitive, nb),
22
- keys: ['x', 'C', 'ln', 'abs'],
23
- };
24
- function getLogarithmePrimitive() {
25
- const u = (0, polynomial_1.createRandomPolynomialWithOrder)((0, randint_1.randint)(1, 3));
26
- const selectedFunction = new fractionNode_1.FractionNode(u.derivate().toTree(), u.toTree());
27
- const integratedFuction = `ln\|${u.toTex()}\|`;
28
- const getPropositions = (n) => {
29
- const propositions = [];
30
- propositions.push({
31
- id: (0, uuid_1.v4)(),
32
- statement: `${integratedFuction} + C`,
33
- isRightAnswer: true,
34
- format: 'tex',
35
- });
36
- for (let i = 0; i < n - 1; i++) {
37
- let isDuplicate;
38
- let proposition;
39
- let wrongIntegral;
40
- do {
41
- const wrongIntegrals = [
42
- new fractionNode_1.FractionNode(u.derivate().toTree(), new powerNode_1.PowerNode(u.toTree(), new numberNode_1.NumberNode(2))).toTex(),
43
- new fractionNode_1.FractionNode(u
44
- .derivate()
45
- .multiply(new polynomial_1.Polynomial([-1]))
46
- .toTree(), new powerNode_1.PowerNode(u.toTree(), new numberNode_1.NumberNode(2))).toTex(),
47
- `ln(${new powerNode_1.PowerNode(u.toTree(), new numberNode_1.NumberNode(2)).toTex()})`,
48
- new powerNode_1.PowerNode(u.toTree(), new numberNode_1.NumberNode(2)).toTex(),
49
- `ln\|${(0, polynomial_1.createRandomPolynomialWithOrder)((0, randint_1.randint)(1, 3)).toTex()}\|`,
50
- ];
51
- wrongIntegral = wrongIntegrals[(0, randint_1.randint)(0, wrongIntegrals.length)];
52
- proposition = {
53
- id: (0, uuid_1.v4)(),
54
- statement: `${wrongIntegral} + C`,
55
- isRightAnswer: false,
56
- format: 'tex',
57
- };
58
- isDuplicate = propositions.some((p) => p.statement === proposition.statement);
59
- } while (isDuplicate);
60
- propositions.push(proposition);
61
- }
62
- return (0, shuffle_1.shuffle)(propositions);
63
- };
64
- const question = {
65
- instruction: `Déterminer la forme générale des primitives de la fonction f définie par $f(x) = ${(0, simplify_1.simplifyNode)(selectedFunction).toTex()}$.`,
66
- startStatement: `F(x)`,
67
- answer: `${integratedFuction} + C`,
68
- keys: ['x', 'C', 'ln', 'abs'],
69
- getPropositions,
70
- answerFormat: 'tex',
71
- };
72
- return question;
73
- }
74
- exports.getLogarithmePrimitive = getLogarithmePrimitive;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLogarithmePrimitive = exports.logarithmePrimitive = 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 powerNode_1 = require("../../tree/nodes/operators/powerNode");
10
+ const simplify_1 = require("../../tree/parsers/simplify");
11
+ const shuffle_1 = require("../../utils/shuffle");
12
+ const uuid_1 = require("uuid");
13
+ exports.logarithmePrimitive = {
14
+ id: 'logarithmePrimitive',
15
+ connector: '=',
16
+ instruction: '',
17
+ label: 'Primitive de la fonction logarithme',
18
+ levels: ['TermSpé', 'MathComp'],
19
+ sections: ['Primitives', 'Logarithme népérien'],
20
+ isSingleStep: false,
21
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getLogarithmePrimitive, nb),
22
+ keys: ['x', 'C', 'ln', 'abs'],
23
+ };
24
+ function getLogarithmePrimitive() {
25
+ const u = (0, polynomial_1.createRandomPolynomialWithOrder)((0, randint_1.randint)(1, 3));
26
+ const selectedFunction = new fractionNode_1.FractionNode(u.derivate().toTree(), u.toTree());
27
+ const integratedFuction = `ln\|${u.toTex()}\|`;
28
+ const getPropositions = (n) => {
29
+ const propositions = [];
30
+ propositions.push({
31
+ id: (0, uuid_1.v4)(),
32
+ statement: `${integratedFuction} + C`,
33
+ isRightAnswer: true,
34
+ format: 'tex',
35
+ });
36
+ for (let i = 0; i < n - 1; i++) {
37
+ let isDuplicate;
38
+ let proposition;
39
+ let wrongIntegral;
40
+ do {
41
+ const wrongIntegrals = [
42
+ new fractionNode_1.FractionNode(u.derivate().toTree(), new powerNode_1.PowerNode(u.toTree(), new numberNode_1.NumberNode(2))).toTex(),
43
+ new fractionNode_1.FractionNode(u
44
+ .derivate()
45
+ .multiply(new polynomial_1.Polynomial([-1]))
46
+ .toTree(), new powerNode_1.PowerNode(u.toTree(), new numberNode_1.NumberNode(2))).toTex(),
47
+ `ln(${new powerNode_1.PowerNode(u.toTree(), new numberNode_1.NumberNode(2)).toTex()})`,
48
+ new powerNode_1.PowerNode(u.toTree(), new numberNode_1.NumberNode(2)).toTex(),
49
+ `ln\|${(0, polynomial_1.createRandomPolynomialWithOrder)((0, randint_1.randint)(1, 3)).toTex()}\|`,
50
+ ];
51
+ wrongIntegral = wrongIntegrals[(0, randint_1.randint)(0, wrongIntegrals.length)];
52
+ proposition = {
53
+ id: (0, uuid_1.v4)(),
54
+ statement: `${wrongIntegral} + C`,
55
+ isRightAnswer: false,
56
+ format: 'tex',
57
+ };
58
+ isDuplicate = propositions.some((p) => p.statement === proposition.statement);
59
+ } while (isDuplicate);
60
+ propositions.push(proposition);
61
+ }
62
+ return (0, shuffle_1.shuffle)(propositions);
63
+ };
64
+ const question = {
65
+ instruction: `Déterminer la forme générale des primitives de la fonction f définie par $f(x) = ${(0, simplify_1.simplifyNode)(selectedFunction).toTex()}$.`,
66
+ startStatement: `F(x)`,
67
+ answer: `${integratedFuction} + C`,
68
+ keys: ['x', 'C', 'ln', 'abs'],
69
+ getPropositions,
70
+ answerFormat: 'tex',
71
+ };
72
+ return question;
73
+ }
74
+ exports.getLogarithmePrimitive = getLogarithmePrimitive;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../exercises/exercise';
2
- export declare const polynomialPrimitive: Exercise;
3
- export declare function getPolynomialPrimitive(): Question;
1
+ import { Exercise, Question } from '../../exercises/exercise';
2
+ export declare const polynomialPrimitive: Exercise;
3
+ export declare function getPolynomialPrimitive(): Question;
4
4
  //# sourceMappingURL=polynomialPrimitive.d.ts.map
@@ -1,80 +1,80 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPolynomialPrimitive = exports.polynomialPrimitive = 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 constantNode_1 = require("../../tree/nodes/numbers/constantNode");
8
- const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
9
- const addNode_1 = require("../../tree/nodes/operators/addNode");
10
- const fractionNode_1 = require("../../tree/nodes/operators/fractionNode");
11
- const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
12
- const powerNode_1 = require("../../tree/nodes/operators/powerNode");
13
- const variableNode_1 = require("../../tree/nodes/variables/variableNode");
14
- const simplify_1 = require("../../tree/parsers/simplify");
15
- const shuffle_1 = require("../../utils/shuffle");
16
- const uuid_1 = require("uuid");
17
- exports.polynomialPrimitive = {
18
- id: 'polynomialPrimitive',
19
- connector: '=',
20
- instruction: '',
21
- label: "Primitive d'une fonction polynomiale",
22
- levels: ['TermSpé'],
23
- sections: ['Primitives'],
24
- isSingleStep: false,
25
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getPolynomialPrimitive, nb),
26
- keys: ['x', 'C'],
27
- };
28
- function getIntegratedPolynomialNode(polynomial) {
29
- let integralPolynomial = new constantNode_1.ConstantNode('C', 'C');
30
- for (let i = 0; i < polynomial.degree + 1; i++) {
31
- const coeff = polynomial.coefficients[i];
32
- if (coeff === 0)
33
- continue;
34
- const nodeCoeff = new fractionNode_1.FractionNode(new numberNode_1.NumberNode(coeff), new numberNode_1.NumberNode(i + 1));
35
- const terme = new multiplyNode_1.MultiplyNode((0, simplify_1.simplifyNode)(nodeCoeff), i + 1 === 1 ? new variableNode_1.VariableNode('x') : new powerNode_1.PowerNode(new variableNode_1.VariableNode('x'), new numberNode_1.NumberNode(i + 1)));
36
- integralPolynomial = new addNode_1.AddNode(terme, integralPolynomial);
37
- }
38
- return integralPolynomial;
39
- }
40
- function getPolynomialPrimitive() {
41
- const degree = (0, randint_1.randint)(1, 4);
42
- const polynomial = (0, polynomial_1.createRandomPolynomialWithOrder)(degree);
43
- const integralPolynomial = getIntegratedPolynomialNode(polynomial);
44
- const getPropositions = (n) => {
45
- const propositions = [];
46
- propositions.push({
47
- id: (0, uuid_1.v4)(),
48
- statement: `${integralPolynomial.toTex()}`,
49
- isRightAnswer: true,
50
- format: 'tex',
51
- });
52
- for (let i = 0; i < n - 1; i++) {
53
- let isDuplicate;
54
- let proposition;
55
- do {
56
- const wrongPolynomial = (0, polynomial_1.createRandomPolynomialWithOrder)(degree);
57
- const wrongIntegral = getIntegratedPolynomialNode(wrongPolynomial);
58
- proposition = {
59
- id: (0, uuid_1.v4)(),
60
- statement: wrongIntegral.toTex(),
61
- isRightAnswer: false,
62
- format: 'tex',
63
- };
64
- isDuplicate = propositions.some((p) => p.statement === proposition.statement);
65
- } while (isDuplicate);
66
- propositions.push(proposition);
67
- }
68
- return (0, shuffle_1.shuffle)(propositions);
69
- };
70
- const question = {
71
- instruction: `Déterminer la forme générale des primitives de la fonction polynomiale $f$ définie par $f(x) = ${polynomial.toTex()}$.`,
72
- startStatement: `F(x)`,
73
- answer: `${integralPolynomial.toTex()}`,
74
- keys: ['x', 'C'],
75
- getPropositions,
76
- answerFormat: 'tex',
77
- };
78
- return question;
79
- }
80
- exports.getPolynomialPrimitive = getPolynomialPrimitive;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPolynomialPrimitive = exports.polynomialPrimitive = 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 constantNode_1 = require("../../tree/nodes/numbers/constantNode");
8
+ const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
9
+ const addNode_1 = require("../../tree/nodes/operators/addNode");
10
+ const fractionNode_1 = require("../../tree/nodes/operators/fractionNode");
11
+ const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
12
+ const powerNode_1 = require("../../tree/nodes/operators/powerNode");
13
+ const variableNode_1 = require("../../tree/nodes/variables/variableNode");
14
+ const simplify_1 = require("../../tree/parsers/simplify");
15
+ const shuffle_1 = require("../../utils/shuffle");
16
+ const uuid_1 = require("uuid");
17
+ exports.polynomialPrimitive = {
18
+ id: 'polynomialPrimitive',
19
+ connector: '=',
20
+ instruction: '',
21
+ label: "Primitive d'une fonction polynomiale",
22
+ levels: ['TermSpé', 'MathComp'],
23
+ sections: ['Primitives'],
24
+ isSingleStep: false,
25
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getPolynomialPrimitive, nb),
26
+ keys: ['x', 'C'],
27
+ };
28
+ function getIntegratedPolynomialNode(polynomial) {
29
+ let integralPolynomial = new constantNode_1.ConstantNode('C', 'C');
30
+ for (let i = 0; i < polynomial.degree + 1; i++) {
31
+ const coeff = polynomial.coefficients[i];
32
+ if (coeff === 0)
33
+ continue;
34
+ const nodeCoeff = new fractionNode_1.FractionNode(new numberNode_1.NumberNode(coeff), new numberNode_1.NumberNode(i + 1));
35
+ const terme = new multiplyNode_1.MultiplyNode((0, simplify_1.simplifyNode)(nodeCoeff), i + 1 === 1 ? new variableNode_1.VariableNode('x') : new powerNode_1.PowerNode(new variableNode_1.VariableNode('x'), new numberNode_1.NumberNode(i + 1)));
36
+ integralPolynomial = new addNode_1.AddNode(terme, integralPolynomial);
37
+ }
38
+ return integralPolynomial;
39
+ }
40
+ function getPolynomialPrimitive() {
41
+ const degree = (0, randint_1.randint)(1, 4);
42
+ const polynomial = (0, polynomial_1.createRandomPolynomialWithOrder)(degree);
43
+ const integralPolynomial = getIntegratedPolynomialNode(polynomial);
44
+ const getPropositions = (n) => {
45
+ const propositions = [];
46
+ propositions.push({
47
+ id: (0, uuid_1.v4)(),
48
+ statement: `${integralPolynomial.toTex()}`,
49
+ isRightAnswer: true,
50
+ format: 'tex',
51
+ });
52
+ for (let i = 0; i < n - 1; i++) {
53
+ let isDuplicate;
54
+ let proposition;
55
+ do {
56
+ const wrongPolynomial = (0, polynomial_1.createRandomPolynomialWithOrder)(degree);
57
+ const wrongIntegral = getIntegratedPolynomialNode(wrongPolynomial);
58
+ proposition = {
59
+ id: (0, uuid_1.v4)(),
60
+ statement: wrongIntegral.toTex(),
61
+ isRightAnswer: false,
62
+ format: 'tex',
63
+ };
64
+ isDuplicate = propositions.some((p) => p.statement === proposition.statement);
65
+ } while (isDuplicate);
66
+ propositions.push(proposition);
67
+ }
68
+ return (0, shuffle_1.shuffle)(propositions);
69
+ };
70
+ const question = {
71
+ instruction: `Déterminer la forme générale des primitives de la fonction polynomiale $f$ définie par $f(x) = ${polynomial.toTex()}$.`,
72
+ startStatement: `F(x)`,
73
+ answer: `${integralPolynomial.toTex()}`,
74
+ keys: ['x', 'C'],
75
+ getPropositions,
76
+ answerFormat: 'tex',
77
+ };
78
+ return question;
79
+ }
80
+ exports.getPolynomialPrimitive = getPolynomialPrimitive;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../exercises/exercise';
2
- export declare const sinCosPrimitive: Exercise;
3
- export declare function getSinCosPrimitive(): Question;
1
+ import { Exercise, Question } from '../../exercises/exercise';
2
+ export declare const sinCosPrimitive: Exercise;
3
+ export declare function getSinCosPrimitive(): Question;
4
4
  //# sourceMappingURL=sinCosPrimitive.d.ts.map
@@ -1,112 +1,112 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSinCosPrimitive = exports.sinCosPrimitive = 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 cosNode_1 = require("../../tree/nodes/functions/cosNode");
8
- const sinNode_1 = require("../../tree/nodes/functions/sinNode");
9
- const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
10
- const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
11
- const variableNode_1 = require("../../tree/nodes/variables/variableNode");
12
- const simplify_1 = require("../../tree/parsers/simplify");
13
- const coinFlip_1 = require("../../utils/coinFlip");
14
- const shuffle_1 = require("../../utils/shuffle");
15
- const uuid_1 = require("uuid");
16
- exports.sinCosPrimitive = {
17
- id: 'sinCosPrimitive',
18
- connector: '=',
19
- instruction: '',
20
- label: 'Primitive de sin et cos',
21
- levels: ['TermSpé'],
22
- sections: ['Primitives', 'Trigonométrie'],
23
- isSingleStep: false,
24
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSinCosPrimitive, nb),
25
- keys: ['x', 'C', 'sin', 'cos'],
26
- };
27
- function getSinCosPrimitive() {
28
- const rand = (0, coinFlip_1.coinFlip)();
29
- const a = (0, randint_1.randint)(-9, 10, [0]);
30
- const u = (0, polynomial_1.createRandomPolynomialWithOrder)((0, randint_1.randint)(1, 3));
31
- let selectedFunction;
32
- let integratedFuction;
33
- if (rand) {
34
- // a * cos(x) ou a* sin(x)
35
- const oneOrTwo = (0, coinFlip_1.coinFlip)();
36
- selectedFunction = oneOrTwo
37
- ? new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new cosNode_1.CosNode(new variableNode_1.VariableNode('x')))
38
- : new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new sinNode_1.SinNode(new variableNode_1.VariableNode('x')));
39
- integratedFuction = oneOrTwo
40
- ? new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new sinNode_1.SinNode(new variableNode_1.VariableNode('x')))
41
- : new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(-a), new cosNode_1.CosNode(new variableNode_1.VariableNode('x')));
42
- }
43
- else {
44
- // u'(x) * cos(u(x))
45
- const oneOrTwo = (0, coinFlip_1.coinFlip)();
46
- selectedFunction = oneOrTwo
47
- ? new multiplyNode_1.MultiplyNode(u.derivate().toTree(), new cosNode_1.CosNode(u.toTree()))
48
- : new multiplyNode_1.MultiplyNode(u.derivate().toTree(), new sinNode_1.SinNode(u.toTree()));
49
- integratedFuction = oneOrTwo
50
- ? new sinNode_1.SinNode(u.toTree())
51
- : new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(-1), new cosNode_1.CosNode(u.toTree()));
52
- }
53
- const getPropositions = (n) => {
54
- const propositions = [];
55
- propositions.push({
56
- id: (0, uuid_1.v4)(),
57
- statement: `${(0, simplify_1.simplifyNode)(integratedFuction).toTex()} + C`,
58
- isRightAnswer: true,
59
- format: 'tex',
60
- });
61
- for (let i = 0; i < n - 1; i++) {
62
- let isDuplicate;
63
- let proposition;
64
- let wrongIntegral;
65
- do {
66
- if (rand) {
67
- const wrongIntegrals = [
68
- new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new sinNode_1.SinNode(new variableNode_1.VariableNode('x'))),
69
- new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(-a), new cosNode_1.CosNode(new variableNode_1.VariableNode('x'))),
70
- new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new cosNode_1.CosNode(new variableNode_1.VariableNode('x'))),
71
- new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(-a), new sinNode_1.SinNode(new variableNode_1.VariableNode('x'))),
72
- new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode((0, randint_1.randint)(-9, 10, [a, 0])), new cosNode_1.CosNode(new variableNode_1.VariableNode('x'))),
73
- new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode((0, randint_1.randint)(-9, 10, [a, 0])), new sinNode_1.SinNode(new variableNode_1.VariableNode('x'))),
74
- ];
75
- wrongIntegral = wrongIntegrals[(0, randint_1.randint)(0, wrongIntegrals.length)];
76
- }
77
- else {
78
- const wrongIntegrals = [
79
- new multiplyNode_1.MultiplyNode(u.toTree(), new cosNode_1.CosNode(u.toTree())),
80
- new multiplyNode_1.MultiplyNode(u.toTree(), new sinNode_1.SinNode(u.toTree())),
81
- new sinNode_1.SinNode(u.toTree()),
82
- new cosNode_1.CosNode(u.toTree()),
83
- new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(-1), new cosNode_1.CosNode(u.toTree())),
84
- new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(-1), new sinNode_1.SinNode(u.toTree())),
85
- new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode((0, randint_1.randint)(-9, 10, [0])), new cosNode_1.CosNode(new variableNode_1.VariableNode('x'))),
86
- new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode((0, randint_1.randint)(-9, 10, [0])), new sinNode_1.SinNode(new variableNode_1.VariableNode('x'))),
87
- ];
88
- wrongIntegral = wrongIntegrals[(0, randint_1.randint)(0, wrongIntegrals.length)];
89
- }
90
- proposition = {
91
- id: (0, uuid_1.v4)(),
92
- statement: `${(0, simplify_1.simplifyNode)(wrongIntegral).toTex()} + C`,
93
- isRightAnswer: false,
94
- format: 'tex',
95
- };
96
- isDuplicate = propositions.some((p) => p.statement === proposition.statement);
97
- } while (isDuplicate);
98
- propositions.push(proposition);
99
- }
100
- return (0, shuffle_1.shuffle)(propositions);
101
- };
102
- const question = {
103
- instruction: `Déterminer la forme générale des primitives de la fonction f définie par $f(x) = ${(0, simplify_1.simplifyNode)(selectedFunction).toTex()}$.`,
104
- startStatement: `F(x)`,
105
- answer: `${(0, simplify_1.simplifyNode)(integratedFuction).toTex()} + C`,
106
- keys: ['x', 'C', 'sin', 'cos'],
107
- getPropositions,
108
- answerFormat: 'tex',
109
- };
110
- return question;
111
- }
112
- exports.getSinCosPrimitive = getSinCosPrimitive;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSinCosPrimitive = exports.sinCosPrimitive = 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 cosNode_1 = require("../../tree/nodes/functions/cosNode");
8
+ const sinNode_1 = require("../../tree/nodes/functions/sinNode");
9
+ const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
10
+ const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
11
+ const variableNode_1 = require("../../tree/nodes/variables/variableNode");
12
+ const simplify_1 = require("../../tree/parsers/simplify");
13
+ const coinFlip_1 = require("../../utils/coinFlip");
14
+ const shuffle_1 = require("../../utils/shuffle");
15
+ const uuid_1 = require("uuid");
16
+ exports.sinCosPrimitive = {
17
+ id: 'sinCosPrimitive',
18
+ connector: '=',
19
+ instruction: '',
20
+ label: 'Primitive de sin et cos',
21
+ levels: ['TermSpé', 'MathComp'],
22
+ sections: ['Primitives', 'Trigonométrie'],
23
+ isSingleStep: false,
24
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSinCosPrimitive, nb),
25
+ keys: ['x', 'C', 'sin', 'cos'],
26
+ };
27
+ function getSinCosPrimitive() {
28
+ const rand = (0, coinFlip_1.coinFlip)();
29
+ const a = (0, randint_1.randint)(-9, 10, [0]);
30
+ const u = (0, polynomial_1.createRandomPolynomialWithOrder)((0, randint_1.randint)(1, 3));
31
+ let selectedFunction;
32
+ let integratedFuction;
33
+ if (rand) {
34
+ // a * cos(x) ou a* sin(x)
35
+ const oneOrTwo = (0, coinFlip_1.coinFlip)();
36
+ selectedFunction = oneOrTwo
37
+ ? new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new cosNode_1.CosNode(new variableNode_1.VariableNode('x')))
38
+ : new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new sinNode_1.SinNode(new variableNode_1.VariableNode('x')));
39
+ integratedFuction = oneOrTwo
40
+ ? new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new sinNode_1.SinNode(new variableNode_1.VariableNode('x')))
41
+ : new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(-a), new cosNode_1.CosNode(new variableNode_1.VariableNode('x')));
42
+ }
43
+ else {
44
+ // u'(x) * cos(u(x))
45
+ const oneOrTwo = (0, coinFlip_1.coinFlip)();
46
+ selectedFunction = oneOrTwo
47
+ ? new multiplyNode_1.MultiplyNode(u.derivate().toTree(), new cosNode_1.CosNode(u.toTree()))
48
+ : new multiplyNode_1.MultiplyNode(u.derivate().toTree(), new sinNode_1.SinNode(u.toTree()));
49
+ integratedFuction = oneOrTwo
50
+ ? new sinNode_1.SinNode(u.toTree())
51
+ : new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(-1), new cosNode_1.CosNode(u.toTree()));
52
+ }
53
+ const getPropositions = (n) => {
54
+ const propositions = [];
55
+ propositions.push({
56
+ id: (0, uuid_1.v4)(),
57
+ statement: `${(0, simplify_1.simplifyNode)(integratedFuction).toTex()} + C`,
58
+ isRightAnswer: true,
59
+ format: 'tex',
60
+ });
61
+ for (let i = 0; i < n - 1; i++) {
62
+ let isDuplicate;
63
+ let proposition;
64
+ let wrongIntegral;
65
+ do {
66
+ if (rand) {
67
+ const wrongIntegrals = [
68
+ new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new sinNode_1.SinNode(new variableNode_1.VariableNode('x'))),
69
+ new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(-a), new cosNode_1.CosNode(new variableNode_1.VariableNode('x'))),
70
+ new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new cosNode_1.CosNode(new variableNode_1.VariableNode('x'))),
71
+ new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(-a), new sinNode_1.SinNode(new variableNode_1.VariableNode('x'))),
72
+ new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode((0, randint_1.randint)(-9, 10, [a, 0])), new cosNode_1.CosNode(new variableNode_1.VariableNode('x'))),
73
+ new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode((0, randint_1.randint)(-9, 10, [a, 0])), new sinNode_1.SinNode(new variableNode_1.VariableNode('x'))),
74
+ ];
75
+ wrongIntegral = wrongIntegrals[(0, randint_1.randint)(0, wrongIntegrals.length)];
76
+ }
77
+ else {
78
+ const wrongIntegrals = [
79
+ new multiplyNode_1.MultiplyNode(u.toTree(), new cosNode_1.CosNode(u.toTree())),
80
+ new multiplyNode_1.MultiplyNode(u.toTree(), new sinNode_1.SinNode(u.toTree())),
81
+ new sinNode_1.SinNode(u.toTree()),
82
+ new cosNode_1.CosNode(u.toTree()),
83
+ new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(-1), new cosNode_1.CosNode(u.toTree())),
84
+ new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(-1), new sinNode_1.SinNode(u.toTree())),
85
+ new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode((0, randint_1.randint)(-9, 10, [0])), new cosNode_1.CosNode(new variableNode_1.VariableNode('x'))),
86
+ new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode((0, randint_1.randint)(-9, 10, [0])), new sinNode_1.SinNode(new variableNode_1.VariableNode('x'))),
87
+ ];
88
+ wrongIntegral = wrongIntegrals[(0, randint_1.randint)(0, wrongIntegrals.length)];
89
+ }
90
+ proposition = {
91
+ id: (0, uuid_1.v4)(),
92
+ statement: `${(0, simplify_1.simplifyNode)(wrongIntegral).toTex()} + C`,
93
+ isRightAnswer: false,
94
+ format: 'tex',
95
+ };
96
+ isDuplicate = propositions.some((p) => p.statement === proposition.statement);
97
+ } while (isDuplicate);
98
+ propositions.push(proposition);
99
+ }
100
+ return (0, shuffle_1.shuffle)(propositions);
101
+ };
102
+ const question = {
103
+ instruction: `Déterminer la forme générale des primitives de la fonction f définie par $f(x) = ${(0, simplify_1.simplifyNode)(selectedFunction).toTex()}$.`,
104
+ startStatement: `F(x)`,
105
+ answer: `${(0, simplify_1.simplifyNode)(integratedFuction).toTex()} + C`,
106
+ keys: ['x', 'C', 'sin', 'cos'],
107
+ getPropositions,
108
+ answerFormat: 'tex',
109
+ };
110
+ return question;
111
+ }
112
+ exports.getSinCosPrimitive = getSinCosPrimitive;
@@ -1,4 +1,4 @@
1
- import { Exercise, Question } from '../../exercises/exercise';
2
- export declare const usualPrimitives: Exercise;
3
- export declare function getUsualPrimitives(): Question;
1
+ import { Exercise, Question } from '../../exercises/exercise';
2
+ export declare const usualPrimitives: Exercise;
3
+ export declare function getUsualPrimitives(): Question;
4
4
  //# sourceMappingURL=usualPrimitives.d.ts.map