math-exercises 3.0.199 → 3.0.201

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 (523) hide show
  1. package/lib/exercises/exercise.d.ts +14 -1
  2. package/lib/exercises/exercise.d.ts.map +1 -1
  3. package/lib/exercises/math/_debug/debugReorder1.d.ts +8 -0
  4. package/lib/exercises/math/_debug/debugReorder1.d.ts.map +1 -0
  5. package/lib/exercises/math/_debug/debugReorder1.js +81 -0
  6. package/lib/exercises/math/_debug/debugReorder2.d.ts +10 -0
  7. package/lib/exercises/math/_debug/debugReorder2.d.ts.map +1 -0
  8. package/lib/exercises/math/_debug/debugReorder2.js +88 -0
  9. package/lib/exercises/math/_debug/debugReorder3.d.ts +10 -0
  10. package/lib/exercises/math/_debug/debugReorder3.d.ts.map +1 -0
  11. package/lib/exercises/math/_debug/debugReorder3.js +81 -0
  12. package/lib/exercises/math/_debug/index.d.ts +3 -1
  13. package/lib/exercises/math/_debug/index.d.ts.map +1 -1
  14. package/lib/exercises/math/_debug/index.js +3 -1
  15. package/lib/exercises/math/calcul/factorial/index.d.ts +2 -0
  16. package/lib/exercises/math/calcul/factorial/index.d.ts.map +1 -0
  17. package/lib/exercises/math/calcul/factorial/index.js +1 -0
  18. package/lib/exercises/math/calcul/factorial/simplifyQuotientOfFactorialToProduct.d.ts +8 -0
  19. package/lib/exercises/math/calcul/factorial/simplifyQuotientOfFactorialToProduct.d.ts.map +1 -0
  20. package/lib/exercises/math/calcul/factorial/simplifyQuotientOfFactorialToProduct.js +199 -0
  21. package/lib/exercises/math/calcul/fractions/fractionsSumsPrimeDenominators.js +1 -1
  22. package/lib/exercises/math/calcul/index.d.ts +1 -0
  23. package/lib/exercises/math/calcul/index.d.ts.map +1 -1
  24. package/lib/exercises/math/calcul/index.js +1 -0
  25. package/lib/exercises/math/calculLitteral/inequations/index.d.ts +1 -0
  26. package/lib/exercises/math/calculLitteral/inequations/index.d.ts.map +1 -1
  27. package/lib/exercises/math/calculLitteral/inequations/index.js +1 -0
  28. package/lib/exercises/math/calculLitteral/inequations/inequationCenteredInterval.d.ts +14 -0
  29. package/lib/exercises/math/calculLitteral/inequations/inequationCenteredInterval.d.ts.map +1 -0
  30. package/lib/exercises/math/calculLitteral/inequations/inequationCenteredInterval.js +263 -0
  31. package/lib/exercises/math/combinatory/anagrams.d.ts.map +1 -1
  32. package/lib/exercises/math/combinatory/anagrams.js +89 -68
  33. package/lib/exercises/math/combinatory/combination/index.d.ts +3 -0
  34. package/lib/exercises/math/combinatory/combination/index.d.ts.map +1 -0
  35. package/lib/exercises/math/combinatory/combination/index.js +2 -0
  36. package/lib/exercises/math/combinatory/combination/mentalCalculateCombination.d.ts +11 -0
  37. package/lib/exercises/math/combinatory/combination/mentalCalculateCombination.d.ts.map +1 -0
  38. package/lib/exercises/math/combinatory/combination/mentalCalculateCombination.js +225 -0
  39. package/lib/exercises/math/combinatory/combination/writeCombinationFormulaUsingFactorial.d.ts +13 -0
  40. package/lib/exercises/math/combinatory/combination/writeCombinationFormulaUsingFactorial.d.ts.map +1 -0
  41. package/lib/exercises/math/combinatory/combination/writeCombinationFormulaUsingFactorial.js +285 -0
  42. package/lib/exercises/math/combinatory/index.d.ts +1 -0
  43. package/lib/exercises/math/combinatory/index.d.ts.map +1 -1
  44. package/lib/exercises/math/combinatory/index.js +1 -0
  45. package/lib/exercises/math/dataRepresentations/index.d.ts +1 -1
  46. package/lib/exercises/math/dataRepresentations/index.d.ts.map +1 -1
  47. package/lib/exercises/math/dataRepresentations/index.js +5 -1
  48. package/lib/exercises/math/dataRepresentations/scatterPlot/index.d.ts +0 -2
  49. package/lib/exercises/math/dataRepresentations/scatterPlot/index.d.ts.map +1 -1
  50. package/lib/exercises/math/dataRepresentations/scatterPlot/index.js +2 -2
  51. package/lib/exercises/math/dataRepresentations/scatterPlot/scatterPlotInterpreting.d.ts.map +1 -1
  52. package/lib/exercises/math/dataRepresentations/scatterPlot/scatterPlotInterpreting.js +1 -1
  53. package/lib/exercises/math/derivation/derivative/trigo/index.d.ts +2 -0
  54. package/lib/exercises/math/derivation/derivative/trigo/index.d.ts.map +1 -1
  55. package/lib/exercises/math/derivation/derivative/trigo/index.js +3 -0
  56. package/lib/exercises/math/derivation/derivative/trigo/productOfSinAXPlusBCosCXPlusDDerivative.d.ts +9 -0
  57. package/lib/exercises/math/derivation/derivative/trigo/productOfSinAXPlusBCosCXPlusDDerivative.d.ts.map +1 -0
  58. package/lib/exercises/math/derivation/derivative/trigo/productOfSinAXPlusBCosCXPlusDDerivative.js +209 -0
  59. package/lib/exercises/math/derivation/derivative/trigo/sinAndCosMixedWithSquareDerivative.d.ts +9 -0
  60. package/lib/exercises/math/derivation/derivative/trigo/sinAndCosMixedWithSquareDerivative.d.ts.map +1 -0
  61. package/lib/exercises/math/derivation/derivative/trigo/sinAndCosMixedWithSquareDerivative.js +359 -0
  62. package/lib/exercises/math/derivation/derivative/trigo/sinCosDerivativeRewriteUsingCos2PlusSin2Equals1.d.ts +11 -0
  63. package/lib/exercises/math/derivation/derivative/trigo/sinCosDerivativeRewriteUsingCos2PlusSin2Equals1.d.ts.map +1 -0
  64. package/lib/exercises/math/derivation/derivative/trigo/sinCosDerivativeRewriteUsingCos2PlusSin2Equals1.js +445 -0
  65. package/lib/exercises/math/derivation/problems/index.d.ts +0 -1
  66. package/lib/exercises/math/derivation/problems/index.d.ts.map +1 -1
  67. package/lib/exercises/math/derivation/problems/index.js +1 -1
  68. package/lib/exercises/math/derivation/problems/problemMovementOnLineFindSpeedAtPoint.d.ts.map +1 -1
  69. package/lib/exercises/math/derivation/problems/problemMovementOnLineFindSpeedAtPoint.js +5 -2
  70. package/lib/exercises/math/derivation/tangent/index.d.ts +0 -1
  71. package/lib/exercises/math/derivation/tangent/index.d.ts.map +1 -1
  72. package/lib/exercises/math/derivation/tangent/index.js +1 -1
  73. package/lib/exercises/math/derivation/variations/index.d.ts +1 -1
  74. package/lib/exercises/math/derivation/variations/index.d.ts.map +1 -1
  75. package/lib/exercises/math/derivation/variations/index.js +2 -1
  76. package/lib/exercises/math/derivation/variations/signVarTableAffinePlusCXLogX.d.ts +10 -0
  77. package/lib/exercises/math/derivation/variations/signVarTableAffinePlusCXLogX.d.ts.map +1 -0
  78. package/lib/exercises/math/derivation/variations/signVarTableAffinePlusCXLogX.js +222 -0
  79. package/lib/exercises/math/derivation/variations/signVarTableProductFExp.js +1 -1
  80. package/lib/exercises/math/derivation/variations/signVarTableQuotientFExp.js +1 -1
  81. package/lib/exercises/math/functions/affines/affineVarTableOnBoundedInterval.d.ts.map +1 -1
  82. package/lib/exercises/math/functions/affines/affineVarTableOnBoundedInterval.js +2 -3
  83. package/lib/exercises/math/functions/affines/index.d.ts +5 -0
  84. package/lib/exercises/math/functions/affines/index.d.ts.map +1 -1
  85. package/lib/exercises/math/functions/affines/index.js +5 -0
  86. package/lib/exercises/math/functions/integral/index.d.ts +1 -0
  87. package/lib/exercises/math/functions/integral/index.d.ts.map +1 -1
  88. package/lib/exercises/math/functions/integral/index.js +1 -0
  89. package/lib/exercises/math/functions/integral/integralTrinomialOverX2.d.ts +12 -0
  90. package/lib/exercises/math/functions/integral/integralTrinomialOverX2.d.ts.map +1 -0
  91. package/lib/exercises/math/functions/integral/integralTrinomialOverX2.js +280 -0
  92. package/lib/exercises/math/functions/logarithm/findLargestPossibleDomainOfLogF.d.ts +13 -0
  93. package/lib/exercises/math/functions/logarithm/findLargestPossibleDomainOfLogF.d.ts.map +1 -0
  94. package/lib/exercises/math/functions/logarithm/findLargestPossibleDomainOfLogF.js +622 -0
  95. package/lib/exercises/math/functions/logarithm/index.d.ts +5 -0
  96. package/lib/exercises/math/functions/logarithm/index.d.ts.map +1 -1
  97. package/lib/exercises/math/functions/logarithm/index.js +5 -0
  98. package/lib/exercises/math/functions/logarithm/logEquationLnAXPlusBEqualsK.d.ts +10 -0
  99. package/lib/exercises/math/functions/logarithm/logEquationLnAXPlusBEqualsK.d.ts.map +1 -0
  100. package/lib/exercises/math/functions/logarithm/logEquationLnAXPlusBEqualsK.js +172 -0
  101. package/lib/exercises/math/functions/logarithm/logInequationIntegerSolutions.d.ts +11 -0
  102. package/lib/exercises/math/functions/logarithm/logInequationIntegerSolutions.d.ts.map +1 -0
  103. package/lib/exercises/math/functions/logarithm/logInequationIntegerSolutions.js +163 -0
  104. package/lib/exercises/math/functions/logarithm/logInequationLnAXPlusBInfK.d.ts +18 -0
  105. package/lib/exercises/math/functions/logarithm/logInequationLnAXPlusBInfK.d.ts.map +1 -0
  106. package/lib/exercises/math/functions/logarithm/logInequationLnAXPlusBInfK.js +330 -0
  107. package/lib/exercises/math/functions/logarithm/logLinearCombinationSimplifiying.d.ts +11 -0
  108. package/lib/exercises/math/functions/logarithm/logLinearCombinationSimplifiying.d.ts.map +1 -0
  109. package/lib/exercises/math/functions/logarithm/logLinearCombinationSimplifiying.js +185 -0
  110. package/lib/exercises/math/index.d.ts +1 -0
  111. package/lib/exercises/math/index.d.ts.map +1 -1
  112. package/lib/exercises/math/index.js +1 -0
  113. package/lib/exercises/math/integration/fromExpr/areaBetweenCrossingCurvesFixedPosFromExpr.d.ts +15 -0
  114. package/lib/exercises/math/integration/fromExpr/areaBetweenCrossingCurvesFixedPosFromExpr.d.ts.map +1 -0
  115. package/lib/exercises/math/integration/fromExpr/areaBetweenCrossingCurvesFixedPosFromExpr.js +505 -0
  116. package/lib/exercises/math/integration/fromExpr/boundIntegralByBoundingFunctionWithAffinesFromExpr.d.ts +16 -0
  117. package/lib/exercises/math/integration/fromExpr/boundIntegralByBoundingFunctionWithAffinesFromExpr.d.ts.map +1 -0
  118. package/lib/exercises/math/integration/fromExpr/boundIntegralByBoundingFunctionWithAffinesFromExpr.js +433 -0
  119. package/lib/exercises/math/integration/fromExpr/boundIntegralByManualRectanglesMethodFromExpr.d.ts +15 -0
  120. package/lib/exercises/math/integration/fromExpr/boundIntegralByManualRectanglesMethodFromExpr.d.ts.map +1 -0
  121. package/lib/exercises/math/integration/fromExpr/boundIntegralByManualRectanglesMethodFromExpr.js +436 -0
  122. package/lib/exercises/math/integration/fromExpr/byParts/index.d.ts +3 -0
  123. package/lib/exercises/math/integration/fromExpr/byParts/index.d.ts.map +1 -0
  124. package/lib/exercises/math/integration/fromExpr/byParts/index.js +2 -0
  125. package/lib/exercises/math/integration/fromExpr/byParts/integralOfAXPlusBTimesExpKXByParts.d.ts +9 -0
  126. package/lib/exercises/math/integration/fromExpr/byParts/integralOfAXPlusBTimesExpKXByParts.d.ts.map +1 -0
  127. package/lib/exercises/math/integration/fromExpr/byParts/integralOfAXPlusBTimesExpKXByParts.js +234 -0
  128. package/lib/exercises/math/integration/fromExpr/byParts/integralOfPolynomialTimesLogXByParts.d.ts +12 -0
  129. package/lib/exercises/math/integration/fromExpr/byParts/integralOfPolynomialTimesLogXByParts.d.ts.map +1 -0
  130. package/lib/exercises/math/integration/fromExpr/byParts/integralOfPolynomialTimesLogXByParts.js +330 -0
  131. package/lib/exercises/math/integration/fromExpr/checkIsPrimitiveFromExpr.d.ts +15 -0
  132. package/lib/exercises/math/integration/fromExpr/checkIsPrimitiveFromExpr.d.ts.map +1 -0
  133. package/lib/exercises/math/integration/fromExpr/checkIsPrimitiveFromExpr.js +450 -0
  134. package/lib/exercises/math/integration/fromExpr/derivativeOfPrimitive.d.ts +10 -0
  135. package/lib/exercises/math/integration/fromExpr/derivativeOfPrimitive.d.ts.map +1 -0
  136. package/lib/exercises/math/integration/fromExpr/derivativeOfPrimitive.js +261 -0
  137. package/lib/exercises/math/integration/fromExpr/index.d.ts +8 -0
  138. package/lib/exercises/math/integration/fromExpr/index.d.ts.map +1 -0
  139. package/lib/exercises/math/integration/fromExpr/index.js +8 -0
  140. package/lib/exercises/math/integration/fromExpr/integralFromExpr.d.ts +13 -0
  141. package/lib/exercises/math/integration/fromExpr/integralFromExpr.d.ts.map +1 -0
  142. package/lib/exercises/math/integration/fromExpr/integralFromExpr.js +359 -0
  143. package/lib/exercises/math/integration/fromExpr/meanValue/index.d.ts +2 -0
  144. package/lib/exercises/math/integration/fromExpr/meanValue/index.d.ts.map +1 -0
  145. package/lib/exercises/math/integration/fromExpr/meanValue/index.js +1 -0
  146. package/lib/exercises/math/integration/fromExpr/meanValue/meanValueOfTrinomFromIntegralFromExpr.d.ts +14 -0
  147. package/lib/exercises/math/integration/fromExpr/meanValue/meanValueOfTrinomFromIntegralFromExpr.d.ts.map +1 -0
  148. package/lib/exercises/math/integration/fromExpr/meanValue/meanValueOfTrinomFromIntegralFromExpr.js +429 -0
  149. package/lib/exercises/math/integration/fromGraph/boundIntegralByManipulatingAutomaticRectanglesMethodFromGraph.d.ts +10 -0
  150. package/lib/exercises/math/integration/fromGraph/boundIntegralByManipulatingAutomaticRectanglesMethodFromGraph.d.ts.map +1 -0
  151. package/lib/exercises/math/integration/fromGraph/boundIntegralByManipulatingAutomaticRectanglesMethodFromGraph.js +286 -0
  152. package/lib/exercises/math/integration/fromGraph/imageOfPrimitiveByManipulatingIntegralBoundsFromGraph.d.ts +9 -0
  153. package/lib/exercises/math/integration/fromGraph/imageOfPrimitiveByManipulatingIntegralBoundsFromGraph.d.ts.map +1 -0
  154. package/lib/exercises/math/integration/fromGraph/imageOfPrimitiveByManipulatingIntegralBoundsFromGraph.js +231 -0
  155. package/lib/exercises/math/integration/fromGraph/index.d.ts +7 -0
  156. package/lib/exercises/math/integration/fromGraph/index.d.ts.map +1 -0
  157. package/lib/exercises/math/integration/fromGraph/index.js +6 -0
  158. package/lib/exercises/math/integration/fromGraph/integralOfAffineFromExprByComputingArea.d.ts +15 -0
  159. package/lib/exercises/math/integration/fromGraph/integralOfAffineFromExprByComputingArea.d.ts.map +1 -0
  160. package/lib/exercises/math/integration/fromGraph/integralOfAffineFromExprByComputingArea.js +464 -0
  161. package/lib/exercises/math/integration/fromGraph/integralOfAffineFromGraph.d.ts +15 -0
  162. package/lib/exercises/math/integration/fromGraph/integralOfAffineFromGraph.d.ts.map +1 -0
  163. package/lib/exercises/math/integration/fromGraph/integralOfAffineFromGraph.js +493 -0
  164. package/lib/exercises/math/integration/fromGraph/integralOfPiecewiseAffineFromGraph.d.ts +18 -0
  165. package/lib/exercises/math/integration/fromGraph/integralOfPiecewiseAffineFromGraph.d.ts.map +1 -0
  166. package/lib/exercises/math/integration/fromGraph/integralOfPiecewiseAffineFromGraph.js +466 -0
  167. package/lib/exercises/math/integration/fromGraph/varTableOfPrimitiveFromGraph.d.ts +10 -0
  168. package/lib/exercises/math/integration/fromGraph/varTableOfPrimitiveFromGraph.d.ts.map +1 -0
  169. package/lib/exercises/math/integration/fromGraph/varTableOfPrimitiveFromGraph.js +192 -0
  170. package/lib/exercises/math/integration/index.d.ts +4 -0
  171. package/lib/exercises/math/integration/index.d.ts.map +1 -0
  172. package/lib/exercises/math/integration/index.js +3 -0
  173. package/lib/exercises/math/integration/integralOfPiecewiseFunctionByUsingComputedIntegrals.d.ts +14 -0
  174. package/lib/exercises/math/integration/integralOfPiecewiseFunctionByUsingComputedIntegrals.d.ts.map +1 -0
  175. package/lib/exercises/math/integration/integralOfPiecewiseFunctionByUsingComputedIntegrals.js +222 -0
  176. package/lib/exercises/math/limits/frac1XTimesALogXPlusBLimit.d.ts +8 -0
  177. package/lib/exercises/math/limits/frac1XTimesALogXPlusBLimit.d.ts.map +1 -0
  178. package/lib/exercises/math/limits/frac1XTimesALogXPlusBLimit.js +121 -0
  179. package/lib/exercises/math/limits/index.d.ts +3 -0
  180. package/lib/exercises/math/limits/index.d.ts.map +1 -1
  181. package/lib/exercises/math/limits/index.js +3 -0
  182. package/lib/exercises/math/limits/kLogXPlusTrinomLimit.d.ts +12 -0
  183. package/lib/exercises/math/limits/kLogXPlusTrinomLimit.d.ts.map +1 -0
  184. package/lib/exercises/math/limits/kLogXPlusTrinomLimit.js +224 -0
  185. package/lib/exercises/math/limits/logOfPolynomialLimit.d.ts +10 -0
  186. package/lib/exercises/math/limits/logOfPolynomialLimit.d.ts.map +1 -0
  187. package/lib/exercises/math/limits/logOfPolynomialLimit.js +154 -0
  188. package/lib/exercises/math/limits/sequenceGeometricLimit.d.ts.map +1 -1
  189. package/lib/exercises/math/limits/sequenceGeometricLimit.js +9 -0
  190. package/lib/exercises/math/primitive/constantPrimitive.d.ts +8 -5
  191. package/lib/exercises/math/primitive/constantPrimitive.d.ts.map +1 -1
  192. package/lib/exercises/math/primitive/constantPrimitive.js +40 -21
  193. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfLinearCombination.d.ts +12 -0
  194. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfLinearCombination.d.ts.map +1 -0
  195. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfLinearCombination.js +170 -0
  196. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfSumFromDice.d.ts +7 -0
  197. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfSumFromDice.d.ts.map +1 -0
  198. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfSumFromDice.js +163 -0
  199. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfSumFromProbaLaw.d.ts +14 -0
  200. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfSumFromProbaLaw.d.ts.map +1 -0
  201. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfSumFromProbaLaw.js +150 -0
  202. package/lib/exercises/math/probaStat/basicProbas/index.d.ts +5 -0
  203. package/lib/exercises/math/probaStat/basicProbas/index.d.ts.map +1 -1
  204. package/lib/exercises/math/probaStat/basicProbas/index.js +5 -0
  205. package/lib/exercises/math/probaStat/basicProbas/varianceOfLinearCombination.d.ts +12 -0
  206. package/lib/exercises/math/probaStat/basicProbas/varianceOfLinearCombination.d.ts.map +1 -0
  207. package/lib/exercises/math/probaStat/basicProbas/varianceOfLinearCombination.js +193 -0
  208. package/lib/exercises/math/probaStat/basicProbas/varianceOfMean.d.ts +13 -0
  209. package/lib/exercises/math/probaStat/basicProbas/varianceOfMean.d.ts.map +1 -0
  210. package/lib/exercises/math/probaStat/basicProbas/varianceOfMean.js +171 -0
  211. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialExpectedValueFromSituation.d.ts +9 -0
  212. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialExpectedValueFromSituation.d.ts.map +1 -0
  213. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialExpectedValueFromSituation.js +125 -0
  214. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindParamsFromSituation.d.ts +9 -0
  215. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindParamsFromSituation.d.ts.map +1 -0
  216. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindParamsFromSituation.js +126 -0
  217. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfAtLeastOneSuccessFromSituation.d.ts +8 -0
  218. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfAtLeastOneSuccessFromSituation.d.ts.map +1 -0
  219. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfAtLeastOneSuccessFromSituation.js +150 -0
  220. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfXCompKFromSituation.d.ts +15 -0
  221. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfXCompKFromSituation.d.ts.map +1 -0
  222. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfXCompKFromSituation.js +386 -0
  223. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindThresholdForNFromSituation.d.ts +14 -0
  224. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindThresholdForNFromSituation.d.ts.map +1 -0
  225. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindThresholdForNFromSituation.js +248 -0
  226. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialSituations.d.ts +47 -0
  227. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialSituations.d.ts.map +1 -0
  228. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialSituations.js +184 -0
  229. package/lib/exercises/math/probaStat/binomial/fromSituation/buildTreeBernoulliFromSituation.d.ts +9 -0
  230. package/lib/exercises/math/probaStat/binomial/fromSituation/buildTreeBernoulliFromSituation.d.ts.map +1 -0
  231. package/lib/exercises/math/probaStat/binomial/fromSituation/buildTreeBernoulliFromSituation.js +120 -0
  232. package/lib/exercises/math/probaStat/binomial/fromSituation/index.d.ts +7 -0
  233. package/lib/exercises/math/probaStat/binomial/fromSituation/index.d.ts.map +1 -0
  234. package/lib/exercises/math/probaStat/binomial/fromSituation/index.js +6 -0
  235. package/lib/exercises/math/probaStat/binomial/index.d.ts +1 -0
  236. package/lib/exercises/math/probaStat/binomial/index.d.ts.map +1 -1
  237. package/lib/exercises/math/probaStat/binomial/index.js +1 -0
  238. package/lib/exercises/math/probaStat/index.d.ts +1 -0
  239. package/lib/exercises/math/probaStat/index.d.ts.map +1 -1
  240. package/lib/exercises/math/probaStat/index.js +1 -0
  241. package/lib/exercises/math/probaStat/stats2var/averagePoint.d.ts.map +1 -1
  242. package/lib/exercises/math/probaStat/stats2var/averagePoint.js +34 -2
  243. package/lib/exercises/math/probaStat/tchebychev/index.d.ts +5 -0
  244. package/lib/exercises/math/probaStat/tchebychev/index.d.ts.map +1 -0
  245. package/lib/exercises/math/probaStat/tchebychev/index.js +4 -0
  246. package/lib/exercises/math/probaStat/tchebychev/mean/index.d.ts +4 -0
  247. package/lib/exercises/math/probaStat/tchebychev/mean/index.d.ts.map +1 -0
  248. package/lib/exercises/math/probaStat/tchebychev/mean/index.js +3 -0
  249. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevFindRadiusToMinorizeProbaOfMeanInCenteredInterval.d.ts +11 -0
  250. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevFindRadiusToMinorizeProbaOfMeanInCenteredInterval.d.ts.map +1 -0
  251. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevFindRadiusToMinorizeProbaOfMeanInCenteredInterval.js +273 -0
  252. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevMajorizeProbaOfMeanOutOfCenteredInterval.d.ts +14 -0
  253. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevMajorizeProbaOfMeanOutOfCenteredInterval.d.ts.map +1 -0
  254. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevMajorizeProbaOfMeanOutOfCenteredInterval.js +219 -0
  255. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevMinorizeProbaOfMeanInCenteredInterval.d.ts +14 -0
  256. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevMinorizeProbaOfMeanInCenteredInterval.d.ts.map +1 -0
  257. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevMinorizeProbaOfMeanInCenteredInterval.js +245 -0
  258. package/lib/exercises/math/probaStat/tchebychev/tchebychevFindRadiusToMajorizeProbaOfXOutOfCenteredInterval.d.ts +10 -0
  259. package/lib/exercises/math/probaStat/tchebychev/tchebychevFindRadiusToMajorizeProbaOfXOutOfCenteredInterval.d.ts.map +1 -0
  260. package/lib/exercises/math/probaStat/tchebychev/tchebychevFindRadiusToMajorizeProbaOfXOutOfCenteredInterval.js +191 -0
  261. package/lib/exercises/math/probaStat/tchebychev/tchebychevMajorizeProbaOfXOutOfCenteredInterval.d.ts +10 -0
  262. package/lib/exercises/math/probaStat/tchebychev/tchebychevMajorizeProbaOfXOutOfCenteredInterval.d.ts.map +1 -0
  263. package/lib/exercises/math/probaStat/tchebychev/tchebychevMajorizeProbaOfXOutOfCenteredInterval.js +135 -0
  264. package/lib/exercises/math/probaStat/tchebychev/tchebychevMinorizeProbaOfXInCenteredInterval.d.ts +10 -0
  265. package/lib/exercises/math/probaStat/tchebychev/tchebychevMinorizeProbaOfXInCenteredInterval.d.ts.map +1 -0
  266. package/lib/exercises/math/probaStat/tchebychev/tchebychevMinorizeProbaOfXInCenteredInterval.js +155 -0
  267. package/lib/exercises/math/probaStat/trees/buildTreeBernoulli.d.ts +9 -0
  268. package/lib/exercises/math/probaStat/trees/buildTreeBernoulli.d.ts.map +1 -0
  269. package/lib/exercises/math/probaStat/trees/buildTreeBernoulli.js +124 -0
  270. package/lib/exercises/math/probaStat/trees/index.d.ts +1 -0
  271. package/lib/exercises/math/probaStat/trees/index.d.ts.map +1 -1
  272. package/lib/exercises/math/probaStat/trees/index.js +1 -0
  273. package/lib/exercises/math/sequences/geometric/graph/geometricFindThresholdFromGraph.d.ts +15 -0
  274. package/lib/exercises/math/sequences/geometric/graph/geometricFindThresholdFromGraph.d.ts.map +1 -0
  275. package/lib/exercises/math/sequences/geometric/graph/geometricFindThresholdFromGraph.js +255 -0
  276. package/lib/exercises/math/sequences/geometric/graph/geometricFindThresholdUsingCalculator.d.ts +15 -0
  277. package/lib/exercises/math/sequences/geometric/graph/geometricFindThresholdUsingCalculator.d.ts.map +1 -0
  278. package/lib/exercises/math/sequences/geometric/graph/geometricFindThresholdUsingCalculator.js +242 -0
  279. package/lib/exercises/math/sequences/geometric/graph/geometricPlaceFirstPoints.js +4 -4
  280. package/lib/exercises/math/sequences/geometric/graph/geometricSignOfReasonFromGraph.d.ts +12 -0
  281. package/lib/exercises/math/sequences/geometric/graph/geometricSignOfReasonFromGraph.d.ts.map +1 -0
  282. package/lib/exercises/math/sequences/geometric/graph/geometricSignOfReasonFromGraph.js +161 -0
  283. package/lib/exercises/math/sequences/geometric/graph/index.d.ts +4 -0
  284. package/lib/exercises/math/sequences/geometric/graph/index.d.ts.map +1 -1
  285. package/lib/exercises/math/sequences/geometric/graph/index.js +4 -0
  286. package/lib/exercises/math/sequences/geometric/index.d.ts +2 -0
  287. package/lib/exercises/math/sequences/geometric/index.d.ts.map +1 -1
  288. package/lib/exercises/math/sequences/geometric/index.js +2 -0
  289. package/lib/exercises/math/sequences/geometric/situations/geometricFindRankFromSituation.d.ts.map +1 -1
  290. package/lib/exercises/math/sequences/geometric/situations/geometricFindRankFromSituation.js +71 -48
  291. package/lib/exercises/math/sequences/geometric/situations/index.d.ts +2 -1
  292. package/lib/exercises/math/sequences/geometric/situations/index.d.ts.map +1 -1
  293. package/lib/exercises/math/sequences/geometric/situations/index.js +2 -2
  294. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfCartesianProductOfFiniteSets.d.ts +10 -0
  295. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfCartesianProductOfFiniteSets.d.ts.map +1 -0
  296. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfCartesianProductOfFiniteSets.js +224 -0
  297. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfCartesianProductOfFiniteSetsFromSituation.d.ts +18 -0
  298. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfCartesianProductOfFiniteSetsFromSituation.d.ts.map +1 -0
  299. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfCartesianProductOfFiniteSetsFromSituation.js +198 -0
  300. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfPowEK.d.ts +10 -0
  301. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfPowEK.d.ts.map +1 -0
  302. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfPowEK.js +231 -0
  303. package/lib/exercises/math/sets/cartesianProduct/findNumberOfPasswordsWithLettersAndNumbers.d.ts +19 -0
  304. package/lib/exercises/math/sets/cartesianProduct/findNumberOfPasswordsWithLettersAndNumbers.d.ts.map +1 -0
  305. package/lib/exercises/math/sets/cartesianProduct/findNumberOfPasswordsWithLettersAndNumbers.js +187 -0
  306. package/lib/exercises/math/sets/cartesianProduct/index.d.ts +7 -0
  307. package/lib/exercises/math/sets/cartesianProduct/index.d.ts.map +1 -0
  308. package/lib/exercises/math/sets/cartesianProduct/index.js +6 -0
  309. package/lib/exercises/math/sets/cartesianProduct/proposeElementInCartesianProductOfFiniteSets.d.ts +15 -0
  310. package/lib/exercises/math/sets/cartesianProduct/proposeElementInCartesianProductOfFiniteSets.d.ts.map +1 -0
  311. package/lib/exercises/math/sets/cartesianProduct/proposeElementInCartesianProductOfFiniteSets.js +291 -0
  312. package/lib/exercises/math/sets/cartesianProduct/proposeElementInPowEK.d.ts +15 -0
  313. package/lib/exercises/math/sets/cartesianProduct/proposeElementInPowEK.d.ts.map +1 -0
  314. package/lib/exercises/math/sets/cartesianProduct/proposeElementInPowEK.js +274 -0
  315. package/lib/exercises/math/sets/combinations/findNumberOfCombinationsFromSituation.d.ts +17 -0
  316. package/lib/exercises/math/sets/combinations/findNumberOfCombinationsFromSituation.d.ts.map +1 -0
  317. package/lib/exercises/math/sets/combinations/findNumberOfCombinationsFromSituation.js +228 -0
  318. package/lib/exercises/math/sets/combinations/findNumberOfProductsOfCombinationsFromSituation.d.ts +17 -0
  319. package/lib/exercises/math/sets/combinations/findNumberOfProductsOfCombinationsFromSituation.d.ts.map +1 -0
  320. package/lib/exercises/math/sets/combinations/findNumberOfProductsOfCombinationsFromSituation.js +388 -0
  321. package/lib/exercises/math/sets/combinations/index.d.ts +4 -0
  322. package/lib/exercises/math/sets/combinations/index.d.ts.map +1 -0
  323. package/lib/exercises/math/sets/combinations/index.js +3 -0
  324. package/lib/exercises/math/sets/combinations/proposeCombination.d.ts +15 -0
  325. package/lib/exercises/math/sets/combinations/proposeCombination.d.ts.map +1 -0
  326. package/lib/exercises/math/sets/combinations/proposeCombination.js +347 -0
  327. package/lib/exercises/math/sets/index.d.ts +3 -0
  328. package/lib/exercises/math/sets/index.d.ts.map +1 -1
  329. package/lib/exercises/math/sets/index.js +3 -0
  330. package/lib/exercises/math/sets/partialPermutations/findNumberOfPartialPermutationsFromSituation.d.ts +16 -0
  331. package/lib/exercises/math/sets/partialPermutations/findNumberOfPartialPermutationsFromSituation.d.ts.map +1 -0
  332. package/lib/exercises/math/sets/partialPermutations/findNumberOfPartialPermutationsFromSituation.js +186 -0
  333. package/lib/exercises/math/sets/partialPermutations/findNumberOfPermutationsFromSituation.d.ts +17 -0
  334. package/lib/exercises/math/sets/partialPermutations/findNumberOfPermutationsFromSituation.d.ts.map +1 -0
  335. package/lib/exercises/math/sets/partialPermutations/findNumberOfPermutationsFromSituation.js +232 -0
  336. package/lib/exercises/math/sets/partialPermutations/index.d.ts +4 -0
  337. package/lib/exercises/math/sets/partialPermutations/index.d.ts.map +1 -0
  338. package/lib/exercises/math/sets/partialPermutations/index.js +3 -0
  339. package/lib/exercises/math/sets/partialPermutations/proposePartialPermutation.d.ts +15 -0
  340. package/lib/exercises/math/sets/partialPermutations/proposePartialPermutation.d.ts.map +1 -0
  341. package/lib/exercises/math/sets/partialPermutations/proposePartialPermutation.js +343 -0
  342. package/lib/exercises/math/spaceGeometry/basis/index.d.ts +6 -0
  343. package/lib/exercises/math/spaceGeometry/basis/index.d.ts.map +1 -1
  344. package/lib/exercises/math/spaceGeometry/basis/index.js +6 -0
  345. package/lib/exercises/math/spaceGeometry/basis/lineLineRelativePositionsFromCubeOuterPoints.d.ts +11 -0
  346. package/lib/exercises/math/spaceGeometry/basis/lineLineRelativePositionsFromCubeOuterPoints.d.ts.map +1 -0
  347. package/lib/exercises/math/spaceGeometry/basis/lineLineRelativePositionsFromCubeOuterPoints.js +576 -0
  348. package/lib/exercises/math/spaceGeometry/basis/linePlaneRelativePositionsFromCubeOuterPoints.d.ts +11 -0
  349. package/lib/exercises/math/spaceGeometry/basis/linePlaneRelativePositionsFromCubeOuterPoints.d.ts.map +1 -0
  350. package/lib/exercises/math/spaceGeometry/basis/linePlaneRelativePositionsFromCubeOuterPoints.js +595 -0
  351. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfPointInCubeCoordSystem.d.ts +11 -0
  352. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfPointInCubeCoordSystem.d.ts.map +1 -0
  353. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfPointInCubeCoordSystem.js +501 -0
  354. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfPointInCubeCoordSystemFromVecPath.d.ts +16 -0
  355. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfPointInCubeCoordSystemFromVecPath.d.ts.map +1 -0
  356. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfPointInCubeCoordSystemFromVecPath.js +753 -0
  357. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfVectorInCubeCoordSystem.d.ts +12 -0
  358. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfVectorInCubeCoordSystem.d.ts.map +1 -0
  359. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfVectorInCubeCoordSystem.js +546 -0
  360. package/lib/exercises/math/spaceGeometry/basis/spaceVectorLinearCombinationFromCoords.d.ts +13 -0
  361. package/lib/exercises/math/spaceGeometry/basis/spaceVectorLinearCombinationFromCoords.d.ts.map +1 -0
  362. package/lib/exercises/math/spaceGeometry/basis/spaceVectorLinearCombinationFromCoords.js +233 -0
  363. package/lib/exercises/math/spaceGeometry/collinearity/checkAlignedSpacePointsFromCoords.d.ts +11 -0
  364. package/lib/exercises/math/spaceGeometry/collinearity/checkAlignedSpacePointsFromCoords.d.ts.map +1 -0
  365. package/lib/exercises/math/spaceGeometry/collinearity/checkAlignedSpacePointsFromCoords.js +192 -0
  366. package/lib/exercises/math/spaceGeometry/collinearity/checkAlignedSpacePointsFromVecPathsFromCubeOuterPoints.d.ts +15 -0
  367. package/lib/exercises/math/spaceGeometry/collinearity/checkAlignedSpacePointsFromVecPathsFromCubeOuterPoints.d.ts.map +1 -0
  368. package/lib/exercises/math/spaceGeometry/collinearity/checkAlignedSpacePointsFromVecPathsFromCubeOuterPoints.js +511 -0
  369. package/lib/exercises/math/spaceGeometry/collinearity/index.d.ts +3 -0
  370. package/lib/exercises/math/spaceGeometry/collinearity/index.d.ts.map +1 -0
  371. package/lib/exercises/math/spaceGeometry/collinearity/index.js +2 -0
  372. package/lib/exercises/math/spaceGeometry/index.d.ts +5 -0
  373. package/lib/exercises/math/spaceGeometry/index.d.ts.map +1 -1
  374. package/lib/exercises/math/spaceGeometry/index.js +5 -1
  375. package/lib/exercises/math/spaceGeometry/orthogonalProjection/findOrthogonalProjectionOfPointOnPlane.d.ts +22 -0
  376. package/lib/exercises/math/spaceGeometry/orthogonalProjection/findOrthogonalProjectionOfPointOnPlane.d.ts.map +1 -0
  377. package/lib/exercises/math/spaceGeometry/orthogonalProjection/findOrthogonalProjectionOfPointOnPlane.js +366 -0
  378. package/lib/exercises/math/spaceGeometry/orthogonalProjection/index.d.ts +2 -0
  379. package/lib/exercises/math/spaceGeometry/orthogonalProjection/index.d.ts.map +1 -0
  380. package/lib/exercises/math/spaceGeometry/orthogonalProjection/index.js +2 -0
  381. package/lib/exercises/math/spaceGeometry/parametricLine/index.d.ts +3 -0
  382. package/lib/exercises/math/spaceGeometry/parametricLine/index.d.ts.map +1 -0
  383. package/lib/exercises/math/spaceGeometry/parametricLine/index.js +2 -0
  384. package/lib/exercises/math/spaceGeometry/parametricLine/lineLineRelativePositionsFromParametricLines.d.ts +14 -0
  385. package/lib/exercises/math/spaceGeometry/parametricLine/lineLineRelativePositionsFromParametricLines.d.ts.map +1 -0
  386. package/lib/exercises/math/spaceGeometry/parametricLine/lineLineRelativePositionsFromParametricLines.js +325 -0
  387. package/lib/exercises/math/spaceGeometry/parametricLine/parametricLineFromPointAndDirectionVector.d.ts +13 -0
  388. package/lib/exercises/math/spaceGeometry/parametricLine/parametricLineFromPointAndDirectionVector.d.ts.map +1 -0
  389. package/lib/exercises/math/spaceGeometry/parametricLine/parametricLineFromPointAndDirectionVector.js +181 -0
  390. package/lib/exercises/math/spaceGeometry/planes/checkIsPointBelongingToPlane.d.ts +10 -0
  391. package/lib/exercises/math/spaceGeometry/planes/checkIsPointBelongingToPlane.d.ts.map +1 -0
  392. package/lib/exercises/math/spaceGeometry/planes/checkIsPointBelongingToPlane.js +208 -0
  393. package/lib/exercises/math/spaceGeometry/planes/findNormalVectorFromPlaneEquation.d.ts +8 -0
  394. package/lib/exercises/math/spaceGeometry/planes/findNormalVectorFromPlaneEquation.d.ts.map +1 -0
  395. package/lib/exercises/math/spaceGeometry/planes/findNormalVectorFromPlaneEquation.js +255 -0
  396. package/lib/exercises/math/spaceGeometry/planes/findNormalVectorFromPlanePointsCoords.d.ts +10 -0
  397. package/lib/exercises/math/spaceGeometry/planes/findNormalVectorFromPlanePointsCoords.d.ts.map +1 -0
  398. package/lib/exercises/math/spaceGeometry/planes/findNormalVectorFromPlanePointsCoords.js +232 -0
  399. package/lib/exercises/math/spaceGeometry/planes/index.d.ts +5 -1
  400. package/lib/exercises/math/spaceGeometry/planes/index.d.ts.map +1 -1
  401. package/lib/exercises/math/spaceGeometry/planes/index.js +6 -2
  402. package/lib/exercises/math/spaceGeometry/planes/planeEquationFromNormalVectorAndContainedPoint.d.ts +10 -0
  403. package/lib/exercises/math/spaceGeometry/planes/planeEquationFromNormalVectorAndContainedPoint.d.ts.map +1 -0
  404. package/lib/exercises/math/spaceGeometry/planes/planeEquationFromNormalVectorAndContainedPoint.js +273 -0
  405. package/lib/exercises/math/spaceGeometry/planes/planeEquationFromOrthogonalLineAndContainedPoint.d.ts +12 -0
  406. package/lib/exercises/math/spaceGeometry/planes/planeEquationFromOrthogonalLineAndContainedPoint.d.ts.map +1 -0
  407. package/lib/exercises/math/spaceGeometry/planes/planeEquationFromOrthogonalLineAndContainedPoint.js +398 -0
  408. package/lib/exercises/math/spaceGeometry/planes/planePlaneRelativePositions.d.ts +22 -0
  409. package/lib/exercises/math/spaceGeometry/planes/planePlaneRelativePositions.d.ts.map +1 -0
  410. package/lib/exercises/math/spaceGeometry/planes/planePlaneRelativePositions.js +509 -0
  411. package/lib/exercises/math/spaceGeometry/scalarProduct/angleFromScalarProductFromSpacePointCoords.d.ts +8 -0
  412. package/lib/exercises/math/spaceGeometry/scalarProduct/angleFromScalarProductFromSpacePointCoords.d.ts.map +1 -0
  413. package/lib/exercises/math/spaceGeometry/scalarProduct/angleFromScalarProductFromSpacePointCoords.js +229 -0
  414. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsOrthogonalLinesFromParametricReps.d.ts +9 -0
  415. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsOrthogonalLinesFromParametricReps.d.ts.map +1 -0
  416. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsOrthogonalLinesFromParametricReps.js +200 -0
  417. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsOrthogonalSpaceVecsFromCoords.d.ts +8 -0
  418. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsOrthogonalSpaceVecsFromCoords.d.ts.map +1 -0
  419. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsOrthogonalSpaceVecsFromCoords.js +176 -0
  420. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsSpaceVecOrthogonalToPlaneFromCoords.d.ts +9 -0
  421. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsSpaceVecOrthogonalToPlaneFromCoords.d.ts.map +1 -0
  422. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsSpaceVecOrthogonalToPlaneFromCoords.js +263 -0
  423. package/lib/exercises/math/spaceGeometry/scalarProduct/index.d.ts +6 -0
  424. package/lib/exercises/math/spaceGeometry/scalarProduct/index.d.ts.map +1 -0
  425. package/lib/exercises/math/spaceGeometry/scalarProduct/index.js +6 -0
  426. package/lib/exercises/math/spaceGeometry/scalarProduct/scalarProductFromCubeOuterPoints.d.ts +14 -0
  427. package/lib/exercises/math/spaceGeometry/scalarProduct/scalarProductFromCubeOuterPoints.d.ts.map +1 -0
  428. package/lib/exercises/math/spaceGeometry/scalarProduct/scalarProductFromCubeOuterPoints.js +497 -0
  429. package/lib/exercises/math/spaceGeometry/scalarProduct/scalarProductFromSpacePointCoords.d.ts +8 -0
  430. package/lib/exercises/math/spaceGeometry/scalarProduct/scalarProductFromSpacePointCoords.d.ts.map +1 -0
  431. package/lib/exercises/math/spaceGeometry/scalarProduct/scalarProductFromSpacePointCoords.js +173 -0
  432. package/lib/exercises/math/spaceGeometry/vectors/findLinearDecompositionWrtCoplanarUVFromCoords.d.ts +10 -0
  433. package/lib/exercises/math/spaceGeometry/vectors/findLinearDecompositionWrtCoplanarUVFromCoords.d.ts.map +1 -0
  434. package/lib/exercises/math/spaceGeometry/vectors/findLinearDecompositionWrtCoplanarUVFromCoords.js +236 -0
  435. package/lib/exercises/math/spaceGeometry/vectors/index.d.ts +2 -0
  436. package/lib/exercises/math/spaceGeometry/vectors/index.d.ts.map +1 -1
  437. package/lib/exercises/math/spaceGeometry/vectors/index.js +2 -0
  438. package/lib/exercises/math/spaceGeometry/vectors/spacePointsDistanceCalculation.d.ts +8 -0
  439. package/lib/exercises/math/spaceGeometry/vectors/spacePointsDistanceCalculation.d.ts.map +1 -0
  440. package/lib/exercises/math/spaceGeometry/vectors/spacePointsDistanceCalculation.js +156 -0
  441. package/lib/exercises/math/trigonometry/functions/index.d.ts +1 -0
  442. package/lib/exercises/math/trigonometry/functions/index.d.ts.map +1 -1
  443. package/lib/exercises/math/trigonometry/functions/index.js +1 -0
  444. package/lib/exercises/math/trigonometry/functions/parityOfCosAXTimesSinBX.d.ts +8 -0
  445. package/lib/exercises/math/trigonometry/functions/parityOfCosAXTimesSinBX.d.ts.map +1 -0
  446. package/lib/exercises/math/trigonometry/functions/parityOfCosAXTimesSinBX.js +193 -0
  447. package/lib/exercises/utils/data/randomDataTable.d.ts +4 -1
  448. package/lib/exercises/utils/data/randomDataTable.d.ts.map +1 -1
  449. package/lib/exercises/utils/data/randomDataTable.js +1 -2
  450. package/lib/exercises/vea/varLineVEA.d.ts.map +1 -1
  451. package/lib/exercises/vea/varLineVEA.js +15 -2
  452. package/lib/exercises/vea/xTableLineVEA.d.ts.map +1 -1
  453. package/lib/exercises/vea/xTableLineVEA.js +13 -2
  454. package/lib/index.d.ts +545 -26
  455. package/lib/index.d.ts.map +1 -1
  456. package/lib/latexTester.d.ts.map +1 -1
  457. package/lib/latexTester.js +9 -7
  458. package/lib/math/geometry/parametricLine.d.ts +1 -1
  459. package/lib/math/geometry/parametricLine.d.ts.map +1 -1
  460. package/lib/math/geometry/parametricLine.js +2 -2
  461. package/lib/math/geometry/spaceVector.d.ts +11 -1
  462. package/lib/math/geometry/spaceVector.d.ts.map +1 -1
  463. package/lib/math/geometry/spaceVector.js +18 -4
  464. package/lib/math/probability/randomVariable.d.ts +3 -2
  465. package/lib/math/probability/randomVariable.d.ts.map +1 -1
  466. package/lib/math/probability/randomVariable.js +14 -8
  467. package/lib/math/sets/setOperations.d.ts +9 -0
  468. package/lib/math/sets/setOperations.d.ts.map +1 -0
  469. package/lib/math/sets/setOperations.js +84 -0
  470. package/lib/math/sets/tuple.d.ts +12 -0
  471. package/lib/math/sets/tuple.d.ts.map +1 -0
  472. package/lib/math/sets/tuple.js +17 -0
  473. package/lib/math/systems/generalSystem.d.ts +3 -3
  474. package/lib/math/systems/generalSystem.d.ts.map +1 -1
  475. package/lib/math/systems/generalSystem.js +20 -17
  476. package/lib/math/utils/functions/functionComparison.d.ts.map +1 -1
  477. package/lib/math/utils/functions/functionComparison.js +2 -45
  478. package/lib/math/utils/functions/functionComposition.d.ts +3 -1
  479. package/lib/math/utils/functions/functionComposition.d.ts.map +1 -1
  480. package/lib/math/utils/functions/functionComposition.js +17 -17
  481. package/lib/math/utils/integration/rectanglesMethod.d.ts +6 -0
  482. package/lib/math/utils/integration/rectanglesMethod.d.ts.map +1 -0
  483. package/lib/math/utils/integration/rectanglesMethod.js +66 -0
  484. package/lib/math/utils/polynomial/polynomialUtils.d.ts +9 -1
  485. package/lib/math/utils/polynomial/polynomialUtils.d.ts.map +1 -1
  486. package/lib/math/utils/polynomial/polynomialUtils.js +66 -7
  487. package/lib/math/utils/sequences/situations/seqGeometricSituations.d.ts +34 -2
  488. package/lib/math/utils/sequences/situations/seqGeometricSituations.d.ts.map +1 -1
  489. package/lib/math/utils/sequences/situations/seqGeometricSituations.js +288 -47
  490. package/lib/server.js +25 -0
  491. package/lib/tests/questionTest.d.ts.map +1 -1
  492. package/lib/tests/questionTest.js +5 -2
  493. package/lib/tests/singleExo.test.js +2 -2
  494. package/lib/tree/nodes/functions/cosNode.d.ts +1 -1
  495. package/lib/tree/nodes/functions/cosNode.d.ts.map +1 -1
  496. package/lib/tree/nodes/functions/cosNode.js +5 -2
  497. package/lib/tree/nodes/functions/factorialNode.d.ts +1 -0
  498. package/lib/tree/nodes/functions/factorialNode.d.ts.map +1 -1
  499. package/lib/tree/nodes/functions/factorialNode.js +16 -1
  500. package/lib/tree/nodes/functions/logNode.d.ts.map +1 -1
  501. package/lib/tree/nodes/functions/logNode.js +2 -1
  502. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts +2 -0
  503. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts.map +1 -1
  504. package/lib/tree/nodes/operators/binomialCoefficientNode.js +34 -0
  505. package/lib/tree/nodes/sets/discreteSetNode.d.ts.map +1 -1
  506. package/lib/tree/nodes/sets/discreteSetNode.js +1 -0
  507. package/lib/tree/utilities/nodeComparator.d.ts +7 -0
  508. package/lib/tree/utilities/nodeComparator.d.ts.map +1 -1
  509. package/lib/tree/utilities/nodeComparator.js +59 -0
  510. package/lib/tree/utilities/nodeInspector.d.ts +2 -0
  511. package/lib/tree/utilities/nodeInspector.d.ts.map +1 -1
  512. package/lib/tree/utilities/nodeInspector.js +23 -1
  513. package/lib/tree/utilities/nodePrinter.d.ts +7 -0
  514. package/lib/tree/utilities/nodePrinter.d.ts.map +1 -0
  515. package/lib/tree/utilities/nodePrinter.js +36 -0
  516. package/lib/tree/utilities/nodeRewriter.d.ts.map +1 -1
  517. package/lib/tree/utilities/nodeRewriter.js +4 -1
  518. package/lib/types/keyIds.d.ts +1 -1
  519. package/lib/types/keyIds.d.ts.map +1 -1
  520. package/lib/utils/strings/splitAndKeep.d.ts +2 -0
  521. package/lib/utils/strings/splitAndKeep.d.ts.map +1 -0
  522. package/lib/utils/strings/splitAndKeep.js +13 -0
  523. package/package.json +1 -1
@@ -0,0 +1,171 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, propWhile, GeneratorOptionTarget, GeneratorOptionType, } from "../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { randfloat } from "../../../../math/utils/random/randfloat.js";
4
+ import { randint } from "../../../../math/utils/random/randint.js";
5
+ import { NodeConstructor, } from "../../../../tree/nodes/nodeConstructor.js";
6
+ import { frac } from "../../../../tree/nodes/operators/fractionNode.js";
7
+ import { multiply } from "../../../../tree/nodes/operators/multiplyNode.js";
8
+ import { square } from "../../../../tree/nodes/operators/powerNode.js";
9
+ import { VariableNode } from "../../../../tree/nodes/variables/variableNode.js";
10
+ import { parseAlgebraic } from "../../../../tree/parsers/latexParser.js";
11
+ import { NodeComparator } from "../../../../tree/utilities/nodeComparator.js";
12
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
13
+ import { alignTex } from "../../../../utils/latex/alignTex.js";
14
+ const getHydrated = (identifiers) => {
15
+ const { nodeIdsE, nodeIdsV, nodeIdsN } = identifiers;
16
+ const [nodeE, nodeV, nodeN] = [nodeIdsE, nodeIdsV, nodeIdsN].map((nodeIds) => NodeConstructor.fromIdentifiers(nodeIds));
17
+ const nodeVMn = frac(nodeV, nodeN);
18
+ return {
19
+ nodeE,
20
+ nodeV,
21
+ nodeN,
22
+ nodeVMn,
23
+ };
24
+ };
25
+ const getInstruction = (identifiers) => {
26
+ const { nodeE, nodeV, nodeN } = getHydrated(identifiers);
27
+ return `Soit $(X_{${nodeN.toTex()}})$ un échantillon d'une variable aléatoire $X$ d'espérance $${nodeE.toTex()}$ et de variance $${nodeV.toTex()}$. On note :
28
+
29
+ $$
30
+ M_{${nodeN.toTex()}} = \\frac{1}{${nodeN.toTex()}} \\displaystyle \\sum_{i=1}^{${nodeN.toTex()}} X_{i}
31
+ $$
32
+
33
+ Que vaut $V(M_{n})$ ?`;
34
+ };
35
+ const getAnswer = (identifiers) => {
36
+ const { nodeVMn } = getHydrated(identifiers);
37
+ return nodeVMn.simplify().toTex();
38
+ };
39
+ const getHint = () => {
40
+ return `Soit $a$ et $b$ deux réels. Soient $X$ et $Y$ deux variables aléatoires.
41
+
42
+ $$
43
+ V(aX+bY) = a^2 \\ V(X) + b^2 \\ V(Y)
44
+ $$
45
+
46
+ Pour un échantillon $(X_{2})$ de $X$, on a donc :
47
+
48
+ ${alignTex([
49
+ ["", `V(\\frac{1}{2} X_{1}+\\frac{1}{2} X_{2})`],
50
+ ["=", `\\frac{1}{4} V(X_{1}) + \\frac{1}{4} V(X_{2})`],
51
+ ["=", `\\frac{1}{4} V(X) + \\frac{1}{4} V(X)`],
52
+ ["=", `\\frac{1}{2} V(X)`],
53
+ ])}
54
+
55
+ `;
56
+ };
57
+ const getCorrection = (identifiers) => {
58
+ const { nodeN, nodeVMn } = getHydrated(identifiers);
59
+ const texN = nodeN.toTex();
60
+ return `
61
+
62
+ ${alignTex([
63
+ ["", `V(M_{${texN}})`],
64
+ ["=", `V(\\frac{1}{${texN}} (X_{1} + ... + X_{${texN}}))`],
65
+ ["=", `\\frac{1}{${texN}^2} V(X_{1} + ... + X_{${texN}})`],
66
+ ["=", `\\frac{1}{${texN}^2} (V(X_{1}) + ... + V(X_{${texN}}))`],
67
+ ["=", `\\frac{1}{${texN}^2} (${texN} V(X))`],
68
+ ["=", `\\frac{V(X)}{${nodeN.toTex()}}`],
69
+ ["=", nodeVMn.simplify().toTex()],
70
+ ])}
71
+
72
+ `;
73
+ };
74
+ const getPropositions = (n, { answer, ...identifiers }, optsIn) => {
75
+ const opts = optsIn ?? optsDefault;
76
+ const propositions = [];
77
+ addValidProp(propositions, answer);
78
+ const { nodeV, nodeN } = getHydrated(identifiers);
79
+ //student: V(X)
80
+ {
81
+ tryToAddWrongProp(propositions, nodeV.simplify().toTex());
82
+ }
83
+ //student: V(X)/n²
84
+ {
85
+ tryToAddWrongProp(propositions, frac(nodeV, square(nodeN)).simplify().toTex());
86
+ }
87
+ //student: n V(X)
88
+ {
89
+ tryToAddWrongProp(propositions, multiply(nodeN, nodeV).simplify().toTex());
90
+ }
91
+ propWhile(propositions, n, () => {
92
+ const identifiersWrong = createRandomIdentifiers(opts);
93
+ tryToAddWrongProp(propositions, getAnswer(identifiersWrong));
94
+ });
95
+ return shuffleProps(propositions, n);
96
+ };
97
+ const getKeys = () => {
98
+ return [];
99
+ };
100
+ const isAnswerValid = (ans, { answer }) => {
101
+ try {
102
+ const nodeAns = parseAlgebraic(ans);
103
+ const nodeAnswer = parseAlgebraic(answer);
104
+ return (NodeComparator.isEqualViaSub(nodeAns, nodeAnswer) ||
105
+ NodeComparator.isEqualViaFrac(nodeAns, nodeAnswer));
106
+ }
107
+ catch (err) {
108
+ return handleVEAError(err);
109
+ }
110
+ };
111
+ const createRandomIdentifiers = (opts) => {
112
+ const nodeE = randfloat(-10, 10, 2).toTree();
113
+ const nodeV = randfloat(1, 10, 2).toTree();
114
+ const nodeN = opts.typeN === "nombre"
115
+ ? (randint(1, 11) * 10).toTree()
116
+ : new VariableNode("n");
117
+ const identifiers = {
118
+ nodeIdsE: nodeE.toIdentifiers(),
119
+ nodeIdsV: nodeV.toIdentifiers(),
120
+ nodeIdsN: nodeN.toIdentifiers(),
121
+ };
122
+ return identifiers;
123
+ };
124
+ const getVarianceOfMeanQuestion = (optsIn) => {
125
+ const opts = optsIn ?? optsDefault;
126
+ const identifiers = createRandomIdentifiers(opts);
127
+ return getQuestionFromIdentifiers(identifiers);
128
+ };
129
+ const getQuestionFromIdentifiers = (identifiers, opts) => {
130
+ return {
131
+ answer: getAnswer(identifiers, opts),
132
+ instruction: getInstruction(identifiers, opts),
133
+ keys: getKeys(identifiers, opts),
134
+ answerFormat: "tex",
135
+ identifiers,
136
+ hint: getHint(identifiers, opts),
137
+ correction: getCorrection(identifiers, opts),
138
+ };
139
+ };
140
+ const optsDefault = {
141
+ typeN: "nombre",
142
+ };
143
+ const options = [
144
+ {
145
+ id: "typeN",
146
+ label: "Type de la taille $n$ de l'échantillon",
147
+ target: GeneratorOptionTarget.generation,
148
+ type: GeneratorOptionType.select,
149
+ values: ["nombre", "lettre"],
150
+ defaultValue: optsDefault.typeN,
151
+ },
152
+ ];
153
+ export const varianceOfMean = {
154
+ id: "varianceOfMean",
155
+ connector: "=",
156
+ label: "Calculer la variance d'une moyenne",
157
+ isSingleStep: true,
158
+ generator: (nb, opts) => getDistinctQuestions(() => getVarianceOfMeanQuestion(opts), nb),
159
+ options,
160
+ qcmTimer: 60,
161
+ freeTimer: 60,
162
+ getPropositions,
163
+ isAnswerValid,
164
+ subject: "Mathématiques",
165
+ getInstruction,
166
+ getHint,
167
+ getCorrection,
168
+ getAnswer,
169
+ getQuestionFromIdentifiers,
170
+ hasHintAndCorrection: true,
171
+ };
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../../../exercises/exercise.js";
2
+ import { BinomialSituationParams } from "./binomialSituations.js";
3
+ type Identifiers = {
4
+ n: number;
5
+ situationParams: BinomialSituationParams;
6
+ };
7
+ export declare const binomialExpectedValueFromSituation: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=binomialExpectedValueFromSituation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binomialExpectedValueFromSituation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/probaStat/binomial/fromSituation/binomialExpectedValueFromSituation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAYrC,OAAO,EACL,uBAAuB,EAGxB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,eAAe,EAAE,uBAAuB,CAAC;CAC1C,CAAC;AA8JF,eAAO,MAAM,kCAAkC,EAAE,QAAQ,CAAC,WAAW,CAapE,CAAC"}
@@ -0,0 +1,125 @@
1
+ import { addValidProp, propWhile, shuffleProps, tryToAddWrongProp, } from "../../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { randint } from "../../../../../math/utils/random/randint.js";
4
+ import { binom } from "../../../../../tree/nodes/operators/binomialCoefficientNode.js";
5
+ import { frac } from "../../../../../tree/nodes/operators/fractionNode.js";
6
+ import { multiply } from "../../../../../tree/nodes/operators/multiplyNode.js";
7
+ import { power } from "../../../../../tree/nodes/operators/powerNode.js";
8
+ import { substract } from "../../../../../tree/nodes/operators/substractNode.js";
9
+ import { parseAlgebraic } from "../../../../../tree/parsers/latexParser.js";
10
+ import { NodeComparator } from "../../../../../tree/utilities/nodeComparator.js";
11
+ import { handleVEAError } from "../../../../../utils/errors/handleVEAError.js";
12
+ import { getHydratedBinomialSituation, getRandomBinomialSituationParams, } from "./binomialSituations.js";
13
+ const getHydrated = (identifiers) => {
14
+ const { n, situationParams } = identifiers;
15
+ const binomialSituation = getHydratedBinomialSituation(situationParams, n.toTree());
16
+ const { nodeProbaSuccess } = binomialSituation;
17
+ const nodeAnswer = multiply(n, nodeProbaSuccess).simplify();
18
+ return {
19
+ binomialSituation,
20
+ nodeAnswer,
21
+ };
22
+ };
23
+ const getInstruction = (identifiers) => {
24
+ const { binomialSituation } = getHydrated(identifiers);
25
+ return `${binomialSituation.strContext}
26
+
27
+ Donner l'espérance de $X$.`;
28
+ };
29
+ const getAnswer = (identifiers) => {
30
+ const { nodeAnswer } = getHydrated(identifiers);
31
+ return nodeAnswer.toTex();
32
+ };
33
+ const getHint = () => {
34
+ return `L'espérance d'une loi binomiale de paramètre $p$ est $p$.
35
+ On répète $n$ expériences aléatoires suivant une loi binomiale de paramètre $p$, toutes indépendantes les unes des autres : l'espérance est donc $np$.`;
36
+ };
37
+ const getCorrection = (identifiers) => {
38
+ const { binomialSituation, nodeAnswer } = getHydrated(identifiers);
39
+ const { nodeProbaSuccess, nodeN } = binomialSituation;
40
+ return `Si on réalise une fois l'expérience, l'espérance est $${nodeProbaSuccess.toTex()}$.
41
+ On répète $${nodeN.toTex()}$ fois l'expérience, tous les essais étant indépendant les uns des autres : l'espérance est donc $${nodeAnswer.toTex()}$.`;
42
+ };
43
+ const getPropositions = (n, { answer, ...identifiers }) => {
44
+ const propositions = [];
45
+ addValidProp(propositions, answer);
46
+ const { binomialSituation } = getHydrated(identifiers);
47
+ const { nodeProbaSuccess } = binomialSituation;
48
+ const createNodeProbaKN = (nodeK, nodeN, nodeProbaSuccess) => {
49
+ return multiply(binom(nodeN, nodeK), multiply(power(nodeProbaSuccess, nodeK), power(substract(1, nodeProbaSuccess), substract(nodeN, nodeK).simplify())));
50
+ };
51
+ {
52
+ const nodeK = (1).toTree();
53
+ const nodeN = n.toTree();
54
+ const nodeWrong = multiply(n, createNodeProbaKN(nodeK, nodeN, nodeProbaSuccess)).simplify();
55
+ tryToAddWrongProp(propositions, nodeWrong.toTex());
56
+ }
57
+ {
58
+ const nodeK = (1).toTree();
59
+ const nodeN = n.toTree();
60
+ const nodeWrong = createNodeProbaKN(nodeK, nodeN, nodeProbaSuccess).simplify();
61
+ tryToAddWrongProp(propositions, nodeWrong.toTex());
62
+ }
63
+ {
64
+ const nodeWrong = frac(multiply(nodeProbaSuccess, substract(1, nodeProbaSuccess)), n).simplify();
65
+ tryToAddWrongProp(propositions, nodeWrong.toTex());
66
+ }
67
+ propWhile(propositions, n, () => {
68
+ const identifiersWrong = createRandomIdentifiers();
69
+ tryToAddWrongProp(propositions, getAnswer(identifiersWrong));
70
+ });
71
+ return shuffleProps(propositions, n);
72
+ };
73
+ const getKeys = (identifiers) => {
74
+ const { binomialSituation } = getHydrated(identifiers);
75
+ return [...binomialSituation.keys];
76
+ };
77
+ const isAnswerValid = (ans, { answer }) => {
78
+ try {
79
+ const [nodeAns, nodeAnswer] = [ans, answer].map((str) => parseAlgebraic(str));
80
+ return (NodeComparator.isEqualViaSub(nodeAns, nodeAnswer) ||
81
+ NodeComparator.isEqualViaFrac(nodeAns, nodeAnswer));
82
+ }
83
+ catch (e) {
84
+ handleVEAError(e);
85
+ return false;
86
+ }
87
+ };
88
+ const createRandomIdentifiers = () => {
89
+ const n = randint(4, 8);
90
+ const situationParams = getRandomBinomialSituationParams();
91
+ const identifiers = {
92
+ n,
93
+ situationParams,
94
+ };
95
+ return identifiers;
96
+ };
97
+ const getBinomialExpectedValueFromSituationQuestion = () => {
98
+ const identifiers = createRandomIdentifiers();
99
+ return getQuestionFromIdentifiers(identifiers);
100
+ };
101
+ const getQuestionFromIdentifiers = (identifiers) => {
102
+ const question = {
103
+ answer: getAnswer(identifiers),
104
+ instruction: getInstruction(identifiers),
105
+ keys: getKeys(identifiers),
106
+ answerFormat: "tex",
107
+ identifiers,
108
+ hint: getHint(identifiers),
109
+ correction: getCorrection(identifiers),
110
+ };
111
+ return question;
112
+ };
113
+ export const binomialExpectedValueFromSituation = {
114
+ id: "binomialExpectedValueFromSituation",
115
+ label: "Donner l'espérance d'un schéma de Bernoulli à partir d'une situation",
116
+ isSingleStep: true,
117
+ generator: (nb) => getDistinctQuestions(getBinomialExpectedValueFromSituationQuestion, nb),
118
+ qcmTimer: 60,
119
+ freeTimer: 60,
120
+ getPropositions,
121
+ isAnswerValid,
122
+ subject: "Mathématiques",
123
+ hasHintAndCorrection: true,
124
+ getQuestionFromIdentifiers,
125
+ };
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../../../exercises/exercise.js";
2
+ import { BinomialSituationParams } from "./binomialSituations.js";
3
+ type Identifiers = {
4
+ n: number;
5
+ situationParams: BinomialSituationParams;
6
+ };
7
+ export declare const binomialFindParamsFromSituation: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=binomialFindParamsFromSituation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binomialFindParamsFromSituation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/probaStat/binomial/fromSituation/binomialFindParamsFromSituation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EACL,uBAAuB,EAGxB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,eAAe,EAAE,uBAAuB,CAAC;CAC1C,CAAC;AAwLF,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,WAAW,CAcjE,CAAC"}
@@ -0,0 +1,126 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { frac } from "../../../../../tree/nodes/operators/fractionNode.js";
4
+ import { multiply } from "../../../../../tree/nodes/operators/multiplyNode.js";
5
+ import { power } from "../../../../../tree/nodes/operators/powerNode.js";
6
+ import { substract } from "../../../../../tree/nodes/operators/substractNode.js";
7
+ import { coinFlip } from "../../../../../utils/alea/coinFlip.js";
8
+ import { getHydratedBinomialSituation, getRandomBinomialSituationParams, } from "./binomialSituations.js";
9
+ const getHydrated = (identifiers) => {
10
+ const { n, situationParams } = identifiers;
11
+ const binomialSituation = getHydratedBinomialSituation(situationParams, n.toTree());
12
+ return {
13
+ binomialSituation,
14
+ };
15
+ };
16
+ const getInstruction = (identifiers) => {
17
+ const { binomialSituation } = getHydrated(identifiers);
18
+ return `${binomialSituation.strContext}
19
+
20
+ Donner les paramètres de la loi de probabilité de $X$.`;
21
+ };
22
+ const getAnswer = (identifiers) => {
23
+ const { binomialSituation } = getHydrated(identifiers);
24
+ return `${binomialSituation.nodeN.toTex()} \\ ; \\ ${binomialSituation.nodeProbaSuccess.toTex()}`;
25
+ };
26
+ const getHint = () => {
27
+ return `Si une expérience aléatoire avec seulement deux issues, succès et échec, avec les probabilités respectives $p$ et $1-p$ est répétée $n$ fois,
28
+ alors on peut la désigner plus simplement comme un schéma de Bernoulli de paramètres $n$ et $p$.`;
29
+ };
30
+ const getCorrection = (identifiers) => {
31
+ const { binomialSituation } = getHydrated(identifiers);
32
+ return `On répète $${binomialSituation.nodeN.toTex()}$ fois une expérience dont l'issue "succès" a une probabilité de $${binomialSituation.nodeProbaSuccess.toTex()}$.
33
+
34
+ C'est donc un schéma de Bernoulli de paramètres $${binomialSituation.nodeN.toTex()}$ et $${binomialSituation.nodeProbaSuccess.toTex()}$.`;
35
+ };
36
+ const getPropositions = (n, { answer, ...identifiers }) => {
37
+ const propositions = [];
38
+ addValidProp(propositions, answer);
39
+ const { binomialSituation } = getHydrated(identifiers);
40
+ const { nodeN, nodeProbaSuccess } = binomialSituation;
41
+ switch (binomialSituation.id) {
42
+ case "redBallsBlueBallsUrn":
43
+ {
44
+ const { nbBallsRed, nbBallsBlue } = binomialSituation.specifics;
45
+ tryToAddWrongProp(propositions, `${nodeN.toTex()} ; ${nbBallsRed.frenchify()}`);
46
+ tryToAddWrongProp(propositions, `${nodeN.toTex()} ; ${frac(nodeN, nbBallsRed).toTex()}`);
47
+ tryToAddWrongProp(propositions, `${nodeN.toTex()} ; ${frac(nbBallsRed, nbBallsBlue).toTex()}`);
48
+ tryToAddWrongProp(propositions, `${frac(1, nbBallsRed).toTex()} ; ${frac(1, nbBallsBlue).toTex()}`);
49
+ }
50
+ break;
51
+ case "illPeopleSampling":
52
+ case "electronicComponents":
53
+ {
54
+ tryToAddWrongProp(propositions, `${nodeProbaSuccess.simplify().toTex()} ; ${substract(1, nodeProbaSuccess)
55
+ .simplify()
56
+ .toTex()}`);
57
+ tryToAddWrongProp(propositions, `${nodeN.toTex()} ; ${multiply(nodeProbaSuccess, 100)
58
+ .simplify()
59
+ .toTex()}`);
60
+ tryToAddWrongProp(propositions, `${nodeN.toTex()} ; ${power(nodeProbaSuccess, nodeN).toTex()}`);
61
+ }
62
+ break;
63
+ case "japaneseExam":
64
+ {
65
+ const { nbItemsPerQuestion } = binomialSituation.specifics;
66
+ tryToAddWrongProp(propositions, `${nodeProbaSuccess.simplify().toTex()} ; ${substract(1, nodeProbaSuccess)
67
+ .simplify()
68
+ .toTex()}`);
69
+ tryToAddWrongProp(propositions, `${nodeN.toTex()} ; ${power(nodeProbaSuccess, nodeN).toTex()}`);
70
+ tryToAddWrongProp(propositions, `${nodeN.toTex()} ; ${nbItemsPerQuestion.frenchify()}`);
71
+ }
72
+ break;
73
+ case "darts":
74
+ {
75
+ tryToAddWrongProp(propositions, `${nodeProbaSuccess.simplify().toTex()} ; ${substract(1, nodeProbaSuccess)
76
+ .simplify()
77
+ .toTex()}`);
78
+ tryToAddWrongProp(propositions, `${frac(1, nodeN).toTex()} ; ${substract(1, nodeProbaSuccess)
79
+ .simplify()
80
+ .toTex()}`);
81
+ tryToAddWrongProp(propositions, `${frac(1, nodeN).toTex()} ; ${nodeProbaSuccess.simplify().toTex()}`);
82
+ }
83
+ break;
84
+ default:
85
+ throw new Error("Unsupported binomialSituation.id: " + binomialSituation.id);
86
+ }
87
+ return shuffleProps(propositions, n);
88
+ };
89
+ const getKeys = (identifiers) => {
90
+ const { binomialSituation } = getHydrated(identifiers);
91
+ return [...binomialSituation.keys];
92
+ };
93
+ const getBinomialFindParamsFromSituationQuestion = () => {
94
+ const n = coinFlip() ? 2 : 3;
95
+ const situationParams = getRandomBinomialSituationParams();
96
+ const identifiers = {
97
+ n,
98
+ situationParams,
99
+ };
100
+ return getQuestionFromIdentifiers(identifiers);
101
+ };
102
+ const getQuestionFromIdentifiers = (identifiers) => {
103
+ const question = {
104
+ answer: getAnswer(identifiers),
105
+ instruction: getInstruction(identifiers),
106
+ keys: getKeys(identifiers),
107
+ answerFormat: "tex",
108
+ identifiers,
109
+ hint: getHint(identifiers),
110
+ correction: getCorrection(identifiers),
111
+ };
112
+ return question;
113
+ };
114
+ export const binomialFindParamsFromSituation = {
115
+ id: "binomialFindParamsFromSituation",
116
+ label: "Donner les paramètres d'un schéma de Bernoulli à partir d'une situation",
117
+ isSingleStep: true,
118
+ generator: (nb) => getDistinctQuestions(getBinomialFindParamsFromSituationQuestion, nb),
119
+ qcmTimer: 60,
120
+ freeTimer: 60,
121
+ getPropositions,
122
+ subject: "Mathématiques",
123
+ hasHintAndCorrection: true,
124
+ getQuestionFromIdentifiers,
125
+ answerType: "QCU",
126
+ };
@@ -0,0 +1,8 @@
1
+ import { Exercise } from "../../../../../exercises/exercise.js";
2
+ import { BinomialSituationParams } from "./binomialSituations.js";
3
+ type Identifiers = {
4
+ situationParams: BinomialSituationParams;
5
+ };
6
+ export declare const binomialFindProbaOfAtLeastOneSuccessFromSituation: Exercise<Identifiers>;
7
+ export {};
8
+ //# sourceMappingURL=binomialFindProbaOfAtLeastOneSuccessFromSituation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binomialFindProbaOfAtLeastOneSuccessFromSituation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfAtLeastOneSuccessFromSituation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AASrC,OAAO,EACL,uBAAuB,EAGxB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,uBAAuB,CAAC;CAC1C,CAAC;AAwKF,eAAO,MAAM,iDAAiD,EAAE,QAAQ,CAAC,WAAW,CAkBjF,CAAC"}
@@ -0,0 +1,150 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { multiply } from "../../../../../tree/nodes/operators/multiplyNode.js";
4
+ import { power } from "../../../../../tree/nodes/operators/powerNode.js";
5
+ import { substract } from "../../../../../tree/nodes/operators/substractNode.js";
6
+ import { VariableNode } from "../../../../../tree/nodes/variables/variableNode.js";
7
+ import { parseAlgebraic } from "../../../../../tree/parsers/latexParser.js";
8
+ import { NodeComparator } from "../../../../../tree/utilities/nodeComparator.js";
9
+ import { handleVEAError } from "../../../../../utils/errors/handleVEAError.js";
10
+ import { getHydratedBinomialSituation, getRandomBinomialSituationParams, } from "./binomialSituations.js";
11
+ const getHydratedMini = (identifiers) => {
12
+ const { situationParams } = identifiers;
13
+ const binomialSituation = getHydratedBinomialSituation(situationParams, new VariableNode("n"));
14
+ return {
15
+ binomialSituation,
16
+ };
17
+ };
18
+ const getHydrated = (identifiers) => {
19
+ const { binomialSituation } = getHydratedMini(identifiers);
20
+ const { nodeN, nodeProbaSuccess } = binomialSituation;
21
+ const nodeProbaOnlyFailures = power(substract(1, nodeProbaSuccess), nodeN);
22
+ const nodeAnswer = substract(1, nodeProbaOnlyFailures);
23
+ return {
24
+ binomialSituation,
25
+ nodeProbaOnlyFailures,
26
+ nodeAnswer,
27
+ };
28
+ };
29
+ const getInstruction = (identifiers) => {
30
+ const { binomialSituation } = getHydratedMini(identifiers);
31
+ return `${binomialSituation.strContext}
32
+
33
+ Exprimer en fonction de $n$ la probabilité d'obtenir au moins un succès.`;
34
+ };
35
+ const getAnswer = (identifiers) => {
36
+ const { nodeAnswer } = getHydrated(identifiers);
37
+ return nodeAnswer.toTex();
38
+ };
39
+ const getHint = () => {
40
+ return `Le contraire de l'évènement "obtenir au moins un succès" est l'évènement "n'obtenir que des échecs".
41
+ Détermine donc la probabilité de l'évènement "n'obtenir que des échecs" pour en déduire la probabilité recherchée.`;
42
+ };
43
+ const getCorrection = (identifiers) => {
44
+ const { binomialSituation, nodeProbaOnlyFailures, nodeAnswer } = getHydrated(identifiers);
45
+ return `Le contraire de l'évènement "obtenir au moins un succès" est l'évènement "n'obtenir que des échecs".
46
+
47
+ On répète $${binomialSituation.nodeN.toTex()}$ fois une expérience dont l'issue "succès" a une probabilité de $${binomialSituation.nodeProbaSuccess.toTex()}$.
48
+
49
+ On répète donc $${binomialSituation.nodeN.toTex()}$ fois une expérience dont l'issue "échec" a une probabilité de $${substract(1, binomialSituation.nodeProbaSuccess).toTex()}$.
50
+
51
+
52
+ L'évènement "n'obtenir que des échecs" a la probabilité $${nodeProbaOnlyFailures.toTex()}$.
53
+
54
+
55
+ L'évènement "obtenir au moins un succès" a la probabilité $${nodeAnswer.toTex()}$.`;
56
+ };
57
+ const getPropositions = (n, { answer, ...identifiers }) => {
58
+ const propositions = [];
59
+ addValidProp(propositions, answer);
60
+ const { binomialSituation, nodeProbaOnlyFailures } = getHydrated(identifiers);
61
+ const { nodeN, nodeProbaSuccess } = binomialSituation;
62
+ //student: at least one success has proba p_S
63
+ {
64
+ tryToAddWrongProp(propositions, nodeProbaSuccess.toTex());
65
+ }
66
+ //student: at least one success has proba n p_S
67
+ {
68
+ tryToAddWrongProp(propositions, multiply(nodeN, nodeProbaSuccess).toTex());
69
+ }
70
+ //student: forgets to flip at the end
71
+ {
72
+ tryToAddWrongProp(propositions, nodeProbaOnlyFailures.toTex());
73
+ }
74
+ /*
75
+ switch (binomialSituation.id) {
76
+ case "redBallsBlueBallsUrn":
77
+ {
78
+
79
+ }
80
+ break;
81
+ case "illPeopleSampling":
82
+ case "electronicComponents":
83
+ {
84
+
85
+ }
86
+ break;
87
+ case "japaneseExam":
88
+ {
89
+
90
+ }
91
+ break;
92
+ case "darts":
93
+ {
94
+
95
+ }
96
+ break;
97
+ default:
98
+ throw new Error(
99
+ "Unsupported binomialSituation.id: " + binomialSituation.id,
100
+ );
101
+ }
102
+ */
103
+ return shuffleProps(propositions, n);
104
+ };
105
+ const getKeys = (_identifiers) => {
106
+ return ["n"];
107
+ };
108
+ const isAnswerValid = (ans, { answer }) => {
109
+ try {
110
+ const [nodeAns, nodeAnswer] = [ans, answer].map((str) => parseAlgebraic(str));
111
+ return (NodeComparator.isEqualViaSub(nodeAns, nodeAnswer) ||
112
+ NodeComparator.isEqualViaFrac(nodeAns, nodeAnswer));
113
+ }
114
+ catch (e) {
115
+ handleVEAError(e);
116
+ return false;
117
+ }
118
+ };
119
+ const getBinomialFindProbaOfAtLeastOneSuccessFromSituationQuestion = () => {
120
+ const situationParams = getRandomBinomialSituationParams();
121
+ const identifiers = {
122
+ situationParams,
123
+ };
124
+ return getQuestionFromIdentifiers(identifiers);
125
+ };
126
+ const getQuestionFromIdentifiers = (identifiers) => {
127
+ const question = {
128
+ answer: getAnswer(identifiers),
129
+ instruction: getInstruction(identifiers),
130
+ keys: getKeys(identifiers),
131
+ answerFormat: "tex",
132
+ identifiers,
133
+ hint: getHint(identifiers),
134
+ correction: getCorrection(identifiers),
135
+ };
136
+ return question;
137
+ };
138
+ export const binomialFindProbaOfAtLeastOneSuccessFromSituation = {
139
+ id: "binomialFindProbaOfAtLeastOneSuccessFromSituation",
140
+ label: "Exprimer en fonction de $n$ la probabilité d'obtenir au moins un succès dans un schéma de Bernoulli à partir d'une situation",
141
+ isSingleStep: true,
142
+ generator: (nb) => getDistinctQuestions(getBinomialFindProbaOfAtLeastOneSuccessFromSituationQuestion, nb),
143
+ qcmTimer: 60,
144
+ freeTimer: 60,
145
+ getPropositions,
146
+ isAnswerValid,
147
+ subject: "Mathématiques",
148
+ hasHintAndCorrection: true,
149
+ getQuestionFromIdentifiers,
150
+ };
@@ -0,0 +1,15 @@
1
+ import { Exercise } from "../../../../../exercises/exercise.js";
2
+ import { NodeIdentifiers } from "../../../../../tree/nodes/nodeConstructor.js";
3
+ import { BinomialSituationParams } from "./binomialSituations.js";
4
+ type Identifiers = {
5
+ situationParams: BinomialSituationParams;
6
+ nodeIdsN: NodeIdentifiers;
7
+ nodeIdsBounds: NodeIdentifiers[];
8
+ };
9
+ type Options = {
10
+ probaType: string;
11
+ typeN: string;
12
+ };
13
+ export declare const binomialFindProbaOfXCompKFromSituation: Exercise<Identifiers, Options>;
14
+ export {};
15
+ //# sourceMappingURL=binomialFindProbaOfXCompKFromSituation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binomialFindProbaOfXCompKFromSituation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfXCompKFromSituation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAc7C,OAAO,EACL,uBAAuB,EAGxB,MAAM,yBAAyB,CAAC;AAgBjC,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,uBAAuB,CAAC;IACzC,QAAQ,EAAE,eAAe,CAAC;IAC1B,aAAa,EAAE,eAAe,EAAE,CAAC;CAClC,CAAC;AAqYF,KAAK,OAAO,GAAG;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA+BF,eAAO,MAAM,sCAAsC,EAAE,QAAQ,CAC3D,WAAW,EACX,OAAO,CAmBR,CAAC"}