math-exercises 1.3.41 → 1.3.43

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 (319) hide show
  1. package/lib/exercises/calcul/addAndSub.d.ts.map +1 -1
  2. package/lib/exercises/calcul/addAndSub.js +3 -0
  3. package/lib/exercises/calcul/addAndSubWithoutRelatives.d.ts.map +1 -1
  4. package/lib/exercises/calcul/addAndSubWithoutRelatives.js +3 -0
  5. package/lib/exercises/calcul/arithmetics/euclideanDivision.d.ts +4 -0
  6. package/lib/exercises/calcul/arithmetics/euclideanDivision.d.ts.map +1 -0
  7. package/lib/exercises/calcul/arithmetics/euclideanDivision.js +70 -0
  8. package/lib/exercises/calcul/arithmetics/primeNumbers.d.ts.map +1 -1
  9. package/lib/exercises/calcul/arithmetics/primeNumbers.js +4 -1
  10. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts.map +1 -1
  11. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +3 -0
  12. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts.map +1 -1
  13. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +3 -0
  14. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts.map +1 -1
  15. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +3 -0
  16. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.d.ts.map +1 -1
  17. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.js +3 -0
  18. package/lib/exercises/calcul/fractions/fractionsDivision.d.ts.map +1 -1
  19. package/lib/exercises/calcul/fractions/fractionsDivision.js +3 -0
  20. package/lib/exercises/calcul/fractions/fractionsProduct.d.ts.map +1 -1
  21. package/lib/exercises/calcul/fractions/fractionsProduct.js +3 -0
  22. package/lib/exercises/calcul/fractions/fractionsSum.d.ts.map +1 -1
  23. package/lib/exercises/calcul/fractions/fractionsSum.js +3 -0
  24. package/lib/exercises/calcul/fractions/simplifyFraction.d.ts.map +1 -1
  25. package/lib/exercises/calcul/fractions/simplifyFraction.js +3 -0
  26. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.d.ts.map +1 -1
  27. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.js +3 -0
  28. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.d.ts.map +1 -1
  29. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.js +3 -0
  30. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.d.ts.map +1 -1
  31. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.js +3 -0
  32. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.d.ts.map +1 -1
  33. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.js +3 -0
  34. package/lib/exercises/calcul/operations/operationsPriorities.d.ts.map +1 -1
  35. package/lib/exercises/calcul/operations/operationsPriorities.js +3 -0
  36. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts.map +1 -1
  37. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +3 -0
  38. package/lib/exercises/calcul/proportionality/proportionalityTable.d.ts.map +1 -1
  39. package/lib/exercises/calcul/proportionality/proportionalityTable.js +3 -0
  40. package/lib/exercises/calcul/rounding/rounding.d.ts.map +1 -1
  41. package/lib/exercises/calcul/rounding/rounding.js +6 -0
  42. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts.map +1 -1
  43. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +5 -0
  44. package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts.map +1 -1
  45. package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +6 -0
  46. package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts.map +1 -1
  47. package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +6 -0
  48. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts.map +1 -1
  49. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +6 -0
  50. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts.map +1 -1
  51. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +6 -0
  52. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.d.ts.map +1 -1
  53. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +12 -0
  54. package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts.map +1 -1
  55. package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +3 -0
  56. package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts.map +1 -1
  57. package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +3 -0
  58. package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts.map +1 -1
  59. package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +3 -0
  60. package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts.map +1 -1
  61. package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +3 -0
  62. package/lib/exercises/calculLitteral/equation/expEquation.d.ts +4 -0
  63. package/lib/exercises/calculLitteral/equation/expEquation.d.ts.map +1 -0
  64. package/lib/exercises/calculLitteral/equation/expEquation.js +67 -0
  65. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.d.ts.map +1 -1
  66. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.js +3 -0
  67. package/lib/exercises/calculLitteral/equation/fractionEquation.d.ts.map +1 -1
  68. package/lib/exercises/calculLitteral/equation/fractionEquation.js +3 -0
  69. package/lib/exercises/calculLitteral/equation/logEquation.d.ts +4 -0
  70. package/lib/exercises/calculLitteral/equation/logEquation.d.ts.map +1 -0
  71. package/lib/exercises/calculLitteral/equation/logEquation.js +67 -0
  72. package/lib/exercises/calculLitteral/equation/multiplicationEquation.d.ts.map +1 -1
  73. package/lib/exercises/calculLitteral/equation/multiplicationEquation.js +3 -0
  74. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts.map +1 -1
  75. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +4 -0
  76. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts.map +1 -1
  77. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +5 -0
  78. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts.map +1 -1
  79. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +6 -0
  80. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts.map +1 -1
  81. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +6 -0
  82. package/lib/exercises/calculLitteral/simplifying/evaluateExpression.d.ts.map +1 -1
  83. package/lib/exercises/calculLitteral/simplifying/evaluateExpression.js +3 -0
  84. package/lib/exercises/calculLitteral/simplifying/expSimplifiying.d.ts +4 -0
  85. package/lib/exercises/calculLitteral/simplifying/expSimplifiying.d.ts.map +1 -0
  86. package/lib/exercises/calculLitteral/simplifying/expSimplifiying.js +96 -0
  87. package/lib/exercises/calculLitteral/simplifying/logSimplifiying.d.ts +4 -0
  88. package/lib/exercises/calculLitteral/simplifying/logSimplifiying.d.ts.map +1 -0
  89. package/lib/exercises/calculLitteral/simplifying/logSimplifiying.js +78 -0
  90. package/lib/exercises/calculLitteral/simplifying/reduceExpression.d.ts.map +1 -1
  91. package/lib/exercises/calculLitteral/simplifying/reduceExpression.js +3 -0
  92. package/lib/exercises/conversion/aeraConversion.d.ts.map +1 -1
  93. package/lib/exercises/conversion/aeraConversion.js +3 -0
  94. package/lib/exercises/conversion/capacityConversion.d.ts.map +1 -1
  95. package/lib/exercises/conversion/capacityConversion.js +3 -0
  96. package/lib/exercises/conversion/lengthConversion.d.ts.map +1 -1
  97. package/lib/exercises/conversion/lengthConversion.js +3 -0
  98. package/lib/exercises/conversion/massConversion.d.ts.map +1 -1
  99. package/lib/exercises/conversion/massConversion.js +3 -0
  100. package/lib/exercises/conversion/volumeCapacityConversion.d.ts.map +1 -1
  101. package/lib/exercises/conversion/volumeCapacityConversion.js +3 -0
  102. package/lib/exercises/conversion/volumeConversion.d.ts.map +1 -1
  103. package/lib/exercises/conversion/volumeConversion.js +3 -0
  104. package/lib/exercises/derivation/derivative/constanteDerivative.d.ts.map +1 -1
  105. package/lib/exercises/derivation/derivative/constanteDerivative.js +4 -1
  106. package/lib/exercises/derivation/derivative/expDerivativeOne.d.ts +4 -0
  107. package/lib/exercises/derivation/derivative/expDerivativeOne.d.ts.map +1 -0
  108. package/lib/exercises/derivation/derivative/expDerivativeOne.js +65 -0
  109. package/lib/exercises/derivation/derivative/expDerivativeThree.d.ts +4 -0
  110. package/lib/exercises/derivation/derivative/expDerivativeThree.d.ts.map +1 -0
  111. package/lib/exercises/derivation/derivative/expDerivativeThree.js +64 -0
  112. package/lib/exercises/derivation/derivative/expDerivativeTwo.d.ts +4 -0
  113. package/lib/exercises/derivation/derivative/expDerivativeTwo.d.ts.map +1 -0
  114. package/lib/exercises/derivation/derivative/expDerivativeTwo.js +65 -0
  115. package/lib/exercises/derivation/derivative/firstDegreeDerivative.d.ts.map +1 -1
  116. package/lib/exercises/derivation/derivative/firstDegreeDerivative.js +3 -0
  117. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.d.ts.map +1 -1
  118. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.js +3 -0
  119. package/lib/exercises/derivation/derivative/lnDerivativeOne.d.ts +4 -0
  120. package/lib/exercises/derivation/derivative/lnDerivativeOne.d.ts.map +1 -0
  121. package/lib/exercises/derivation/derivative/lnDerivativeOne.js +63 -0
  122. package/lib/exercises/derivation/derivative/lnDerivativeThree.d.ts +4 -0
  123. package/lib/exercises/derivation/derivative/lnDerivativeThree.d.ts.map +1 -0
  124. package/lib/exercises/derivation/derivative/lnDerivativeThree.js +68 -0
  125. package/lib/exercises/derivation/derivative/lnDerivativeTwo.d.ts +4 -0
  126. package/lib/exercises/derivation/derivative/lnDerivativeTwo.d.ts.map +1 -0
  127. package/lib/exercises/derivation/derivative/lnDerivativeTwo.js +66 -0
  128. package/lib/exercises/derivation/derivative/powerFunctionDerivative.d.ts.map +1 -1
  129. package/lib/exercises/derivation/derivative/powerFunctionDerivative.js +3 -0
  130. package/lib/exercises/derivation/derivative/rootFunctionDerivative.d.ts.map +1 -1
  131. package/lib/exercises/derivation/derivative/rootFunctionDerivative.js +4 -0
  132. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts.map +1 -1
  133. package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +3 -0
  134. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.d.ts.map +1 -1
  135. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.js +3 -0
  136. package/lib/exercises/derivation/derivative/thirdDegreeFunctionVariation.d.ts +4 -0
  137. package/lib/exercises/derivation/derivative/thirdDegreeFunctionVariation.d.ts.map +1 -0
  138. package/lib/exercises/derivation/derivative/thirdDegreeFunctionVariation.js +101 -0
  139. package/lib/exercises/derivation/derivativeNumberReading.d.ts.map +1 -1
  140. package/lib/exercises/derivation/derivativeNumberReading.js +3 -0
  141. package/lib/exercises/equaDiff/equaDiffGeneralForme.d.ts +4 -0
  142. package/lib/exercises/equaDiff/equaDiffGeneralForme.d.ts.map +1 -0
  143. package/lib/exercises/equaDiff/equaDiffGeneralForme.js +66 -0
  144. package/lib/exercises/equaDiff/equaDiffGeneralFormeWithIC.d.ts +4 -0
  145. package/lib/exercises/equaDiff/equaDiffGeneralFormeWithIC.d.ts.map +1 -0
  146. package/lib/exercises/equaDiff/equaDiffGeneralFormeWithIC.js +80 -0
  147. package/lib/exercises/exercise.d.ts +2 -0
  148. package/lib/exercises/exercise.d.ts.map +1 -1
  149. package/lib/exercises/exercises.d.ts.map +1 -1
  150. package/lib/exercises/exercises.js +66 -4
  151. package/lib/exercises/geometry/cartesian/distanceBetweenTwoPoints.d.ts.map +1 -1
  152. package/lib/exercises/geometry/cartesian/distanceBetweenTwoPoints.js +6 -0
  153. package/lib/exercises/geometry/cartesian/imageFunction.d.ts +4 -0
  154. package/lib/exercises/geometry/cartesian/imageFunction.d.ts.map +1 -0
  155. package/lib/exercises/geometry/cartesian/imageFunction.js +65 -0
  156. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.d.ts +4 -0
  157. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.d.ts.map +1 -0
  158. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.js +89 -0
  159. package/lib/exercises/geometry/cartesian/inverseImageFunction.d.ts +4 -0
  160. package/lib/exercises/geometry/cartesian/inverseImageFunction.d.ts.map +1 -0
  161. package/lib/exercises/geometry/cartesian/inverseImageFunction.js +62 -0
  162. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.d.ts +4 -0
  163. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.d.ts.map +1 -0
  164. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.js +154 -0
  165. package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts.map +1 -1
  166. package/lib/exercises/geometry/cartesian/leadingCoefficient.js +3 -0
  167. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts.map +1 -1
  168. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.js +3 -0
  169. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts.map +1 -1
  170. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.js +3 -0
  171. package/lib/exercises/geometry/cartesian/midpoint.d.ts.map +1 -1
  172. package/lib/exercises/geometry/cartesian/midpoint.js +3 -0
  173. package/lib/exercises/geometry/cartesian/signFunction.d.ts +4 -0
  174. package/lib/exercises/geometry/cartesian/signFunction.d.ts.map +1 -0
  175. package/lib/exercises/geometry/cartesian/signFunction.js +84 -0
  176. package/lib/exercises/geometry/euclidean/circleArea.d.ts.map +1 -1
  177. package/lib/exercises/geometry/euclidean/circleArea.js +3 -0
  178. package/lib/exercises/geometry/euclidean/circleCircumference.d.ts.map +1 -1
  179. package/lib/exercises/geometry/euclidean/circleCircumference.js +3 -0
  180. package/lib/exercises/geometry/euclidean/pythagore.d.ts.map +1 -1
  181. package/lib/exercises/geometry/euclidean/pythagore.js +8 -0
  182. package/lib/exercises/geometry/euclidean/pythagoreCalcul.d.ts.map +1 -1
  183. package/lib/exercises/geometry/euclidean/pythagoreCalcul.js +3 -0
  184. package/lib/exercises/geometry/euclidean/rectangleArea.d.ts.map +1 -1
  185. package/lib/exercises/geometry/euclidean/rectangleArea.js +3 -0
  186. package/lib/exercises/geometry/euclidean/rectanglePerimeter.d.ts.map +1 -1
  187. package/lib/exercises/geometry/euclidean/rectanglePerimeter.js +3 -0
  188. package/lib/exercises/geometry/euclidean/rightTriangleArea.d.ts.map +1 -1
  189. package/lib/exercises/geometry/euclidean/rightTriangleArea.js +3 -0
  190. package/lib/exercises/geometry/euclidean/squareArea.d.ts.map +1 -1
  191. package/lib/exercises/geometry/euclidean/squareArea.js +3 -0
  192. package/lib/exercises/geometry/euclidean/squarePerimeter.d.ts.map +1 -1
  193. package/lib/exercises/geometry/euclidean/squarePerimeter.js +3 -0
  194. package/lib/exercises/geometry/euclidean/thales.d.ts.map +1 -1
  195. package/lib/exercises/geometry/euclidean/thales.js +3 -0
  196. package/lib/exercises/geometry/euclidean/thalesCalcul.d.ts.map +1 -1
  197. package/lib/exercises/geometry/euclidean/thalesCalcul.js +3 -0
  198. package/lib/exercises/geometry/euclidean/triangleArea.d.ts.map +1 -1
  199. package/lib/exercises/geometry/euclidean/triangleArea.js +3 -0
  200. package/lib/exercises/geometry/euclidean/triangleAreaV2.d.ts.map +1 -1
  201. package/lib/exercises/geometry/euclidean/triangleAreaV2.js +4 -0
  202. package/lib/exercises/geometry/euclidean/trianglePerimeter.d.ts.map +1 -1
  203. package/lib/exercises/geometry/euclidean/trianglePerimeter.js +3 -0
  204. package/lib/exercises/geometry/euclidean/trigonometry.d.ts.map +1 -1
  205. package/lib/exercises/geometry/euclidean/trigonometry.js +3 -0
  206. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.d.ts.map +1 -1
  207. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.js +3 -0
  208. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.d.ts.map +1 -1
  209. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.js +3 -0
  210. package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts.map +1 -1
  211. package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +3 -0
  212. package/lib/exercises/limits/polynomeLimit.d.ts +4 -0
  213. package/lib/exercises/limits/polynomeLimit.d.ts.map +1 -0
  214. package/lib/exercises/limits/polynomeLimit.js +132 -0
  215. package/lib/exercises/percent/applyPercent.d.ts.map +1 -1
  216. package/lib/exercises/percent/applyPercent.js +3 -0
  217. package/lib/exercises/percent/averageEvolutionRate.d.ts.map +1 -1
  218. package/lib/exercises/percent/averageEvolutionRate.js +3 -0
  219. package/lib/exercises/percent/globalPercent.d.ts.map +1 -1
  220. package/lib/exercises/percent/globalPercent.js +3 -0
  221. package/lib/exercises/percent/reciprocalPercentage.d.ts.map +1 -1
  222. package/lib/exercises/percent/reciprocalPercentage.js +3 -0
  223. package/lib/exercises/powers/powersDivision.d.ts.map +1 -1
  224. package/lib/exercises/powers/powersDivision.js +3 -0
  225. package/lib/exercises/powers/powersOfTenToDecimal.d.ts.map +1 -1
  226. package/lib/exercises/powers/powersOfTenToDecimal.js +3 -0
  227. package/lib/exercises/powers/powersPower.d.ts.map +1 -1
  228. package/lib/exercises/powers/powersPower.js +3 -0
  229. package/lib/exercises/powers/powersProduct.d.ts.map +1 -1
  230. package/lib/exercises/powers/powersProduct.js +3 -0
  231. package/lib/exercises/powers/scientificToDecimal.d.ts.map +1 -1
  232. package/lib/exercises/powers/scientificToDecimal.js +3 -0
  233. package/lib/exercises/primitve/constantPrimitive.d.ts +4 -0
  234. package/lib/exercises/primitve/constantPrimitive.d.ts.map +1 -0
  235. package/lib/exercises/primitve/constantPrimitive.js +56 -0
  236. package/lib/exercises/primitve/exponentialPrimitive.d.ts +4 -0
  237. package/lib/exercises/primitve/exponentialPrimitive.d.ts.map +1 -0
  238. package/lib/exercises/primitve/exponentialPrimitive.js +103 -0
  239. package/lib/exercises/primitve/logarithmePrimitive.d.ts +4 -0
  240. package/lib/exercises/primitve/logarithmePrimitive.d.ts.map +1 -0
  241. package/lib/exercises/primitve/logarithmePrimitive.js +74 -0
  242. package/lib/exercises/primitve/polynomialPrimitive.d.ts +4 -0
  243. package/lib/exercises/primitve/polynomialPrimitive.d.ts.map +1 -0
  244. package/lib/exercises/primitve/polynomialPrimitive.js +80 -0
  245. package/lib/exercises/primitve/sinCosPrimitive.d.ts +4 -0
  246. package/lib/exercises/primitve/sinCosPrimitive.d.ts.map +1 -0
  247. package/lib/exercises/primitve/sinCosPrimitive.js +112 -0
  248. package/lib/exercises/primitve/usualPrimitives.d.ts +4 -0
  249. package/lib/exercises/primitve/usualPrimitives.d.ts.map +1 -0
  250. package/lib/exercises/primitve/usualPrimitives.js +39 -0
  251. package/lib/exercises/probaStat/conditionalProbability.d.ts +4 -0
  252. package/lib/exercises/probaStat/conditionalProbability.d.ts.map +1 -0
  253. package/lib/exercises/probaStat/conditionalProbability.js +102 -0
  254. package/lib/exercises/probaStat/frequencyTable.d.ts +4 -0
  255. package/lib/exercises/probaStat/frequencyTable.d.ts.map +1 -0
  256. package/lib/exercises/probaStat/frequencyTable.js +76 -0
  257. package/lib/exercises/probaStat/marginalAndConditionalFrequency.d.ts +4 -0
  258. package/lib/exercises/probaStat/marginalAndConditionalFrequency.d.ts.map +1 -0
  259. package/lib/exercises/probaStat/marginalAndConditionalFrequency.js +109 -0
  260. package/lib/exercises/probaStat/median.d.ts +4 -0
  261. package/lib/exercises/probaStat/median.d.ts.map +1 -0
  262. package/lib/exercises/probaStat/median.js +82 -0
  263. package/lib/exercises/probaStat/medianList.d.ts +4 -0
  264. package/lib/exercises/probaStat/medianList.d.ts.map +1 -0
  265. package/lib/exercises/probaStat/medianList.js +67 -0
  266. package/lib/exercises/probaStat/probabilityTree.d.ts +4 -0
  267. package/lib/exercises/probaStat/probabilityTree.d.ts.map +1 -0
  268. package/lib/exercises/probaStat/probabilityTree.js +135 -0
  269. package/lib/exercises/probaStat/quartiles.d.ts +4 -0
  270. package/lib/exercises/probaStat/quartiles.d.ts.map +1 -0
  271. package/lib/exercises/probaStat/quartiles.js +96 -0
  272. package/lib/exercises/probaStat/quartilesList.d.ts +4 -0
  273. package/lib/exercises/probaStat/quartilesList.d.ts.map +1 -0
  274. package/lib/exercises/probaStat/quartilesList.js +81 -0
  275. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts.map +1 -1
  276. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +3 -0
  277. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts.map +1 -1
  278. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.js +3 -0
  279. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.d.ts.map +1 -1
  280. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.js +3 -0
  281. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.d.ts.map +1 -1
  282. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.js +3 -0
  283. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts.map +1 -1
  284. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +3 -0
  285. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.d.ts.map +1 -1
  286. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.js +3 -0
  287. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts.map +1 -1
  288. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +3 -0
  289. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts.map +1 -1
  290. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +4 -0
  291. package/lib/exercises/sequences/geometric/geometricFindReason.d.ts.map +1 -1
  292. package/lib/exercises/sequences/geometric/geometricFindReason.js +4 -0
  293. package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts.map +1 -1
  294. package/lib/exercises/sequences/geometric/geometricReasonUsage.js +4 -0
  295. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts.map +1 -1
  296. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +4 -0
  297. package/lib/exercises/squareRoots/simpifySquareRoot.d.ts.map +1 -1
  298. package/lib/exercises/squareRoots/simpifySquareRoot.js +3 -0
  299. package/lib/index.d.ts +2 -2
  300. package/lib/index.d.ts.map +1 -1
  301. package/lib/index.js +3 -3
  302. package/lib/math/polynomials/polynomial.d.ts +3 -1
  303. package/lib/math/polynomials/polynomial.d.ts.map +1 -1
  304. package/lib/math/polynomials/polynomial.js +48 -2
  305. package/lib/tree/nodes/functions/expNode.d.ts +10 -0
  306. package/lib/tree/nodes/functions/expNode.d.ts.map +1 -0
  307. package/lib/tree/nodes/functions/expNode.js +21 -0
  308. package/lib/tree/nodes/functions/functionNode.d.ts +3 -1
  309. package/lib/tree/nodes/functions/functionNode.d.ts.map +1 -1
  310. package/lib/tree/nodes/functions/functionNode.js +2 -0
  311. package/lib/tree/nodes/functions/logNode.d.ts +10 -0
  312. package/lib/tree/nodes/functions/logNode.d.ts.map +1 -0
  313. package/lib/tree/nodes/functions/logNode.js +21 -0
  314. package/lib/tree/nodes/functions/sinNode.d.ts +9 -0
  315. package/lib/tree/nodes/functions/sinNode.d.ts.map +1 -1
  316. package/lib/tree/nodes/functions/sinNode.js +20 -0
  317. package/lib/tree/parsers/simplify.d.ts.map +1 -1
  318. package/lib/tree/parsers/simplify.js +12 -0
  319. package/package.json +1 -1
@@ -0,0 +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: ['1', '0'],
19
+ section: 'Intégration',
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;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../exercises/exercise';
2
+ export declare const polynomialPrimitive: Exercise;
3
+ export declare function getPolynomialPrimitive(): Question;
4
+ //# sourceMappingURL=polynomialPrimitive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polynomialPrimitive.d.ts","sourceRoot":"","sources":["../../../src/exercises/primitve/polynomialPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAe,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAgB3E,eAAO,MAAM,mBAAmB,EAAE,QAUjC,CAAC;AAkBF,wBAAgB,sBAAsB,IAAI,QAAQ,CAiDjD"}
@@ -0,0 +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: ['1', '0'],
23
+ section: 'Intégration',
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;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../exercises/exercise';
2
+ export declare const sinCosPrimitive: Exercise;
3
+ export declare function getSinCosPrimitive(): Question;
4
+ //# sourceMappingURL=sinCosPrimitive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sinCosPrimitive.d.ts","sourceRoot":"","sources":["../../../src/exercises/primitve/sinCosPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAe,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAe3E,eAAO,MAAM,eAAe,EAAE,QAU7B,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,QAAQ,CAkG7C"}
@@ -0,0 +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: ['1', '0'],
22
+ section: 'Intégration',
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;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../exercises/exercise';
2
+ export declare const usualPrimitives: Exercise;
3
+ export declare function getUsualPrimitives(): Question;
4
+ //# sourceMappingURL=usualPrimitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usualPrimitives.d.ts","sourceRoot":"","sources":["../../../src/exercises/primitve/usualPrimitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAS9D,eAAO,MAAM,eAAe,EAAE,QAU7B,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,QAAQ,CAiB7C"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUsualPrimitives = exports.usualPrimitives = void 0;
4
+ const constantPrimitive_1 = require("../../exercises/primitve/constantPrimitive");
5
+ const exponentialPrimitive_1 = require("../../exercises/primitve/exponentialPrimitive");
6
+ const logarithmePrimitive_1 = require("../../exercises/primitve/logarithmePrimitive");
7
+ const polynomialPrimitive_1 = require("../../exercises/primitve/polynomialPrimitive");
8
+ const sinCosPrimitive_1 = require("../../exercises/primitve/sinCosPrimitive");
9
+ const getDistinctQuestions_1 = require("../../exercises/utils/getDistinctQuestions");
10
+ const randint_1 = require("../../math/utils/random/randint");
11
+ exports.usualPrimitives = {
12
+ id: 'usualPrimitives',
13
+ connector: '=',
14
+ instruction: '',
15
+ label: 'Primitives des fonctions de référence',
16
+ levels: ['1', '0'],
17
+ section: 'Intégrations',
18
+ isSingleStep: false,
19
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getUsualPrimitives, nb),
20
+ keys: ['x'],
21
+ };
22
+ function getUsualPrimitives() {
23
+ const rand = (0, randint_1.randint)(1, 6);
24
+ switch (rand) {
25
+ case 1:
26
+ return (0, constantPrimitive_1.getConstantPrimitive)();
27
+ case 2:
28
+ return (0, polynomialPrimitive_1.getPolynomialPrimitive)();
29
+ case 3:
30
+ return (0, logarithmePrimitive_1.getLogarithmePrimitive)();
31
+ case 4:
32
+ return (0, sinCosPrimitive_1.getSinCosPrimitive)();
33
+ case 5:
34
+ return (0, exponentialPrimitive_1.getExponentialPrimitive)();
35
+ default:
36
+ throw Error('erreur');
37
+ }
38
+ }
39
+ exports.getUsualPrimitives = getUsualPrimitives;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../exercise';
2
+ export declare const conditionalProbability: Exercise;
3
+ export declare function getConditionalProbability(): Question;
4
+ //# sourceMappingURL=conditionalProbability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditionalProbability.d.ts","sourceRoot":"","sources":["../../../src/exercises/probaStat/conditionalProbability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAe,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM9D,eAAO,MAAM,sBAAsB,EAAE,QAUpC,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,QAAQ,CA+GpD"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getConditionalProbability = exports.conditionalProbability = void 0;
4
+ const randint_1 = require("../../math/utils/random/randint");
5
+ const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
6
+ const round_1 = require("../../math/utils/round");
7
+ const shuffle_1 = require("../../utils/shuffle");
8
+ const uuid_1 = require("uuid");
9
+ exports.conditionalProbability = {
10
+ id: 'conditionalProbability',
11
+ connector: '=',
12
+ instruction: '',
13
+ label: 'Calcul de probabilité conditionnelle avec la formule de Bayes',
14
+ levels: ['1', '0'],
15
+ isSingleStep: false,
16
+ section: 'Probabilités',
17
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getConditionalProbability, nb),
18
+ keys: ['p', 'cap', 'underscore'],
19
+ };
20
+ function getConditionalProbability() {
21
+ const pA = (0, randint_1.randint)(2, 100);
22
+ const pB = (0, randint_1.randint)(2, 100);
23
+ const pAB = (0, randint_1.randint)(1, Math.min(pA, pB));
24
+ const pA_B = (0, round_1.round)(pAB / pB, 2);
25
+ const pB_A = (0, round_1.round)(pAB / pA, 2);
26
+ const flip = (0, randint_1.randint)(1, 7);
27
+ let instruction = `On considère deux événements A et B tels que `;
28
+ let startStatement = '';
29
+ let answer = '';
30
+ switch (flip) {
31
+ case 1: {
32
+ instruction += `$P(A) = ${(pA / 100 + '').replace('.', ',')}\\ $ et $\\ P(A \\cap B) = ${(pAB / 100 + '').replace('.', ',')}$.$\\\\$Déterminer $P_A(B)$.`;
33
+ startStatement = `P_A(B)`;
34
+ answer = `${pB_A}`;
35
+ break;
36
+ }
37
+ case 2: {
38
+ instruction += `$P(B) = ${(pB / 100 + '').replace('.', ',')}\\ $ et $\\ P(B \\cap A) = ${(pAB / 100 + '').replace('.', ',')}$.$\\\\$Déterminer $P_B(A)$.`;
39
+ startStatement = `P_B(A)`;
40
+ answer = `${pA_B}`;
41
+ break;
42
+ }
43
+ case 3: {
44
+ instruction += `$P(A) = ${(pA / 100 + '').replace('.', ',')}\\ $ et $\\ P_A(B) = ${(pB_A + '').replace('.', ',')}$.$\\\\$Déterminer $P(A \\cap B)$.`;
45
+ startStatement = `P(A \\cap B)`;
46
+ answer = `${pAB / 100}`;
47
+ break;
48
+ }
49
+ case 4: {
50
+ instruction += `$P(B) = ${(pB / 100 + '').replace('.', ',')}\\ $ et $\\ P_B(A) = ${(pA_B + '').replace('.', ',')}$.$\\\\$Déterminer $P(A \\cap B)$.`;
51
+ startStatement = `P(A \\cap B)`;
52
+ answer = `${pAB / 100}`;
53
+ break;
54
+ }
55
+ case 5: {
56
+ instruction += `$P(A \\cap B) = ${(pAB / 100 + '').replace('.', ',')}\\ $ et $\\ P_B(A) = ${(pA_B + '').replace('.', ',')}$.$\\\\$Déterminer $P(B)$.`;
57
+ startStatement = `P(B)`;
58
+ answer = `${pB / 100}`;
59
+ break;
60
+ }
61
+ case 6: {
62
+ instruction += `$P(A \\cap B) = ${(pAB / 100 + '').replace('.', ',')}\\ $ et $\\ P_A(B) = ${(pB_A + '').replace('.', ',')}$.$\\\\$Déterminer $P(A)$.`;
63
+ startStatement = `P(A)`;
64
+ answer = `${pA / 100}`;
65
+ break;
66
+ }
67
+ }
68
+ const getPropositions = (n) => {
69
+ const res = [];
70
+ res.push({
71
+ id: (0, uuid_1.v4)() + '',
72
+ statement: answer,
73
+ isRightAnswer: true,
74
+ format: 'tex',
75
+ });
76
+ for (let i = 0; i < n - 1; i++) {
77
+ let isDuplicate;
78
+ let proposition;
79
+ do {
80
+ proposition = {
81
+ id: (0, uuid_1.v4)() + '',
82
+ statement: Math.floor(Math.random() * 100) / 100 + '',
83
+ isRightAnswer: false,
84
+ format: 'tex',
85
+ };
86
+ isDuplicate = res.some((p) => p.statement === proposition.statement);
87
+ } while (isDuplicate);
88
+ res.push(proposition);
89
+ }
90
+ return (0, shuffle_1.shuffle)(res);
91
+ };
92
+ const question = {
93
+ instruction,
94
+ startStatement,
95
+ answer,
96
+ keys: ['p', 'cap', 'underscore'],
97
+ getPropositions,
98
+ answerFormat: 'tex',
99
+ };
100
+ return question;
101
+ }
102
+ exports.getConditionalProbability = getConditionalProbability;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../exercise';
2
+ export declare const frequencyTable: Exercise;
3
+ export declare function getFrequencyTable(): Question;
4
+ //# sourceMappingURL=frequencyTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frequencyTable.d.ts","sourceRoot":"","sources":["../../../src/exercises/probaStat/frequencyTable.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAe,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI9D,eAAO,MAAM,cAAc,EAAE,QAU5B,CAAC;AAEF,wBAAgB,iBAAiB,IAAI,QAAQ,CAsE5C"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFrequencyTable = exports.frequencyTable = void 0;
4
+ const randint_1 = require("../../math/utils/random/randint");
5
+ const round_1 = require("../../math/utils/round");
6
+ const shuffle_1 = require("../../utils/shuffle");
7
+ const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
8
+ const uuid_1 = require("uuid");
9
+ exports.frequencyTable = {
10
+ id: 'frequencyTable',
11
+ connector: '=',
12
+ instruction: '',
13
+ label: "Calcul de la moyenne d'une série de valeurs",
14
+ levels: ['1', '0'],
15
+ isSingleStep: false,
16
+ section: 'Statistiques',
17
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getFrequencyTable, nb),
18
+ keys: [],
19
+ };
20
+ function getFrequencyTable() {
21
+ const getRandomUniqueValues = (count, min, max) => {
22
+ const uniqueValues = new Set();
23
+ while (uniqueValues.size < count) {
24
+ uniqueValues.add((0, randint_1.randint)(min, max));
25
+ }
26
+ return Array.from(uniqueValues).sort((a, b) => a - b);
27
+ };
28
+ const randomValeurs = getRandomUniqueValues(5, 1, 20);
29
+ const randomEffectives = [1, 2, 3, 4, 5].map((el) => (0, randint_1.randint)(1, 6));
30
+ const sumEffectives = randomEffectives.reduce((sum, value) => sum + value, 0);
31
+ let average = 0;
32
+ for (let i = 0; i < randomValeurs.length; i++)
33
+ average += randomValeurs[i] * randomEffectives[i];
34
+ average /= sumEffectives;
35
+ average = (0, round_1.round)(average, 2);
36
+ const getPropositions = (n) => {
37
+ const res = [];
38
+ res.push({
39
+ id: (0, uuid_1.v4)() + '',
40
+ statement: average + '',
41
+ isRightAnswer: true,
42
+ format: 'tex',
43
+ });
44
+ for (let i = 0; i < n - 1; i++) {
45
+ let isDuplicate;
46
+ let proposition;
47
+ do {
48
+ proposition = {
49
+ id: (0, uuid_1.v4)() + '',
50
+ statement: (0, round_1.round)(average + (0, randint_1.randint)(-average, 20 - average, [0]) + (0, randint_1.randint)(1, 100) / 100, 2) + '',
51
+ isRightAnswer: false,
52
+ format: 'tex',
53
+ };
54
+ isDuplicate = res.some((p) => p.statement === proposition.statement);
55
+ } while (isDuplicate);
56
+ res.push(proposition);
57
+ }
58
+ return (0, shuffle_1.shuffle)(res);
59
+ };
60
+ const question = {
61
+ instruction: `On considère le tableau d'effectifs suivant :
62
+
63
+ | | | | | | |
64
+ |-|-|-|-|-|-|
65
+ |Valeur|${randomValeurs[0]}|${randomValeurs[1]}|${randomValeurs[2]}|${randomValeurs[3]}|${randomValeurs[4]}|
66
+ |Effectif|${randomEffectives[0]}|${randomEffectives[1]}|${randomEffectives[2]}|${randomEffectives[3]}|${randomEffectives[4]}|
67
+
68
+ Calculer la moyenne de cette série de valeurs.`,
69
+ answer: average + '',
70
+ keys: [],
71
+ getPropositions,
72
+ answerFormat: 'tex',
73
+ };
74
+ return question;
75
+ }
76
+ exports.getFrequencyTable = getFrequencyTable;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../exercise';
2
+ export declare const marginalAndConditionalFrequency: Exercise;
3
+ export declare function getMarginalAndConditionalFrequency(): Question;
4
+ //# sourceMappingURL=marginalAndConditionalFrequency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marginalAndConditionalFrequency.d.ts","sourceRoot":"","sources":["../../../src/exercises/probaStat/marginalAndConditionalFrequency.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAe,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI9D,eAAO,MAAM,+BAA+B,EAAE,QAU7C,CAAC;AAEF,wBAAgB,kCAAkC,IAAI,QAAQ,CAoG7D"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMarginalAndConditionalFrequency = exports.marginalAndConditionalFrequency = void 0;
4
+ const randint_1 = require("../../math/utils/random/randint");
5
+ const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
6
+ const simplify_1 = require("../../tree/parsers/simplify");
7
+ const shuffle_1 = require("../../utils/shuffle");
8
+ const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
9
+ const uuid_1 = require("uuid");
10
+ exports.marginalAndConditionalFrequency = {
11
+ id: 'marginalAndConditionalFrequency',
12
+ connector: '=',
13
+ instruction: '',
14
+ label: 'Calculs de fréquences marginales et conditionnelles',
15
+ levels: ['1', '0'],
16
+ isSingleStep: false,
17
+ section: 'Probabilités',
18
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getMarginalAndConditionalFrequency, nb),
19
+ keys: ['f', 'cap', 'underscore'],
20
+ };
21
+ function getMarginalAndConditionalFrequency() {
22
+ const [x1, x2, x3, x4] = [1, 2, 3, 4].map((el) => (0, randint_1.randint)(1, 100));
23
+ const x = x1 + x2 + x3 + x4;
24
+ const rand = (0, randint_1.randint)(0, 12);
25
+ const freqString = [
26
+ 'marginale de A',
27
+ 'marginale de B',
28
+ 'marginale de C',
29
+ 'marginale de D',
30
+ 'conditionnelle de A parmi C',
31
+ 'conditionnelle de A parmi D',
32
+ 'conditionnelle de B parmi C',
33
+ 'conditionnelle de B parmi D',
34
+ 'conditionnelle de C parmi A',
35
+ 'conditionnelle de C parmi B',
36
+ 'conditionnelle de D parmi A',
37
+ 'conditionnelle de D parmi B',
38
+ ];
39
+ const frequences = [
40
+ 'f(A)',
41
+ 'f(B)',
42
+ 'f(C)',
43
+ 'f(D)',
44
+ 'f_C(A)',
45
+ 'f_D(A)',
46
+ 'f_C(B)',
47
+ 'f_D(B)',
48
+ 'f_A(C)',
49
+ 'f_B(C)',
50
+ 'f_A(D)',
51
+ 'f_B(D)',
52
+ ];
53
+ const Calculs = [
54
+ (x1 + x3) / x,
55
+ (x2 + x4) / x,
56
+ (x1 + x2) / x,
57
+ (x3 + x4) / x,
58
+ x1 / (x1 + x2),
59
+ x3 / (x3 + x4),
60
+ x2 / (x1 + x2),
61
+ x4 / (x3 + x4),
62
+ x1 / (x1 + x3),
63
+ x3 / (x1 + x3),
64
+ x2 / (x2 + x4),
65
+ x4 / (x2 + x4),
66
+ ];
67
+ const calculsNodes = Calculs.map((el) => (0, simplify_1.simplifyNode)(new numberNode_1.NumberNode(el)));
68
+ const getPropositions = (n) => {
69
+ const res = [];
70
+ res.push({
71
+ id: (0, uuid_1.v4)() + '',
72
+ statement: calculsNodes[rand].toTex(),
73
+ isRightAnswer: true,
74
+ format: 'tex',
75
+ });
76
+ for (let i = 0; i < n - 1; i++) {
77
+ let isDuplicate;
78
+ let proposition;
79
+ do {
80
+ proposition = {
81
+ id: (0, uuid_1.v4)() + '',
82
+ statement: calculsNodes[(0, randint_1.randint)(0, 12, [rand])].toTex(),
83
+ isRightAnswer: false,
84
+ format: 'tex',
85
+ };
86
+ isDuplicate = res.some((p) => p.statement === proposition.statement);
87
+ } while (isDuplicate);
88
+ res.push(proposition);
89
+ }
90
+ return (0, shuffle_1.shuffle)(res);
91
+ };
92
+ const question = {
93
+ instruction: `On considère le tableau d'effectifs suivant :
94
+
95
+ | |A|B|
96
+ |-|-|-|
97
+ |C|${x1}|${x2}|
98
+ |D|${x3}|${x4}|
99
+
100
+ Calculer la fréquence ${freqString[rand]}.`,
101
+ startStatement: `${frequences[rand]}`,
102
+ answer: calculsNodes[rand].toTex(),
103
+ keys: ['f', 'cap', 'underscore'],
104
+ getPropositions,
105
+ answerFormat: 'tex',
106
+ };
107
+ return question;
108
+ }
109
+ exports.getMarginalAndConditionalFrequency = getMarginalAndConditionalFrequency;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../exercise';
2
+ export declare const median: Exercise;
3
+ export declare function getMedian(): Question;
4
+ //# sourceMappingURL=median.d.ts.map