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,155 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, propWhile, } 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 { abs } from "../../../../tree/nodes/functions/absNode.js";
6
+ import { NodeConstructor, } from "../../../../tree/nodes/nodeConstructor.js";
7
+ import { add } from "../../../../tree/nodes/operators/addNode.js";
8
+ import { frac } from "../../../../tree/nodes/operators/fractionNode.js";
9
+ import { square } from "../../../../tree/nodes/operators/powerNode.js";
10
+ import { substract } from "../../../../tree/nodes/operators/substractNode.js";
11
+ import { VariableNode } from "../../../../tree/nodes/variables/variableNode.js";
12
+ import { parseAlgebraic } from "../../../../tree/parsers/latexParser.js";
13
+ import { NodeComparator } from "../../../../tree/utilities/nodeComparator.js";
14
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
15
+ import { alignTex } from "../../../../utils/latex/alignTex.js";
16
+ const getHydrated = (identifiers) => {
17
+ const { nodeIdsE, nodeIdsV, nodeIdsA } = identifiers;
18
+ const [nodeE, nodeV, nodeA] = [nodeIdsE, nodeIdsV, nodeIdsA].map((nodeIds) => NodeConstructor.fromIdentifiers(nodeIds));
19
+ const nodeVarX = new VariableNode("X");
20
+ const nodeBoundLow = substract(nodeE, nodeA).simplify();
21
+ const nodeBoundHigh = add(nodeE, nodeA).simplify();
22
+ const texPWithinBounds = `P( ${nodeBoundLow.toTex()} < ${nodeVarX.toTex()} < ${nodeBoundHigh.toTex()} )`;
23
+ const nodeErrorMin = frac(nodeV, square(nodeA));
24
+ return {
25
+ nodeE,
26
+ nodeV,
27
+ nodeA,
28
+ texPWithinBounds,
29
+ nodeErrorMin,
30
+ };
31
+ };
32
+ const getInstruction = (identifiers) => {
33
+ const { nodeE, nodeV, texPWithinBounds } = getHydrated(identifiers);
34
+ return `Soit $X$ une variable aléatoire d'espérance $${nodeE.toTex()}$ et de variance $${nodeV.toTex()}$.
35
+ À l'aide du théorème de Bienaymé-Tchebychev, donner une minoration de $${texPWithinBounds}$.`;
36
+ };
37
+ const getAnswer = (identifiers) => {
38
+ const { nodeErrorMin } = getHydrated(identifiers);
39
+ return nodeErrorMin.simplify().toTex();
40
+ };
41
+ const getHint = () => {
42
+ const nodeE = new VariableNode("E(Y)");
43
+ const nodeV = new VariableNode("V(Y)");
44
+ const nodeA = new VariableNode("a");
45
+ const nodeVarY = new VariableNode("Y");
46
+ const nodeBoundLow = substract(nodeE, nodeA);
47
+ const nodeBoundHigh = add(nodeE, nodeA);
48
+ const texPWithinBounds = `P( ${nodeBoundLow.toTex()} < ${nodeVarY.toTex()} < ${nodeBoundHigh.toTex()} )`;
49
+ const nodeLhs = abs(substract(nodeVarY, nodeE).simplify());
50
+ const texPOutside = `P( ${nodeLhs.toTex()} \\geq ${nodeA.toTex()} )`;
51
+ const texPInside = `P( ${nodeLhs.toTex()} < ${nodeA.toTex()} )`;
52
+ const nodeErrorMax = frac(nodeV, square(nodeA));
53
+ return `Soit $Y$ une variable aléatoire. Soit $a$ un réel strictement positif.
54
+
55
+ D'après le théorème de Bienaymé-Tchebychev :
56
+
57
+ ${alignTex([
58
+ [texPOutside, "\\leq", nodeErrorMax.toTex()],
59
+ [`1 - ${texPOutside}`, `\\geq`, `1 - ${nodeErrorMax.toTex()}`],
60
+ [texPInside, `\\geq`, `1 - ${nodeErrorMax.toTex()}`],
61
+ [texPWithinBounds, `\\geq`, `1 - ${nodeErrorMax.toTex()}`],
62
+ ])}
63
+
64
+ `;
65
+ };
66
+ const getCorrection = (identifiers) => {
67
+ const { nodeA, nodeE, texPWithinBounds, nodeErrorMin } = getHydrated(identifiers);
68
+ const nodeVarX = new VariableNode("X");
69
+ const nodeLhs = abs(substract(nodeVarX, nodeE).simplify());
70
+ const texPInside = `P( ${nodeLhs.toTex()} < ${nodeA.toTex()} )`;
71
+ return `D'après le théorème de Bienaymé-Tchebychev :
72
+
73
+ ${alignTex([
74
+ [
75
+ `P( \\lvert X - E(X) \\rvert \\geq ${nodeA.toTex()})`,
76
+ `\\leq`,
77
+ `\\frac{V(X)}{${square(nodeA).toTex()}}`,
78
+ ],
79
+ [
80
+ `1 - P( \\lvert X - E(X) \\rvert \\geq ${nodeA.toTex()})`,
81
+ `\\geq`,
82
+ `1 - \\frac{V(X)}{${square(nodeA).toTex()}}`,
83
+ ],
84
+ [texPInside, `\\geq`, nodeErrorMin.toTex()],
85
+ [texPWithinBounds, `\\geq`, nodeErrorMin.simplify().toTex()],
86
+ ])}
87
+
88
+ `;
89
+ };
90
+ const getPropositions = (n, { answer }) => {
91
+ const propositions = [];
92
+ addValidProp(propositions, answer);
93
+ propWhile(propositions, n, () => {
94
+ const identifiersWrong = createRandomIdentifiers();
95
+ tryToAddWrongProp(propositions, getAnswer(identifiersWrong));
96
+ });
97
+ return shuffleProps(propositions, n);
98
+ };
99
+ const getKeys = () => {
100
+ return [];
101
+ };
102
+ const isAnswerValid = (ans, { answer }) => {
103
+ try {
104
+ const nodeAns = parseAlgebraic(ans);
105
+ const nodeAnswer = parseAlgebraic(answer);
106
+ return (NodeComparator.isEqualViaSub(nodeAns, nodeAnswer) ||
107
+ NodeComparator.isEqualViaFrac(nodeAns, nodeAnswer));
108
+ }
109
+ catch (err) {
110
+ return handleVEAError(err);
111
+ }
112
+ };
113
+ const createRandomIdentifiers = () => {
114
+ const nodeE = randfloat(-10, 10, 2).toTree();
115
+ const nodeV = randfloat(1, 10, 2).toTree();
116
+ const nodeA = randint(2, Math.ceil(3 * nodeV.evaluate())).toTree();
117
+ const identifiers = {
118
+ nodeIdsE: nodeE.toIdentifiers(),
119
+ nodeIdsV: nodeV.toIdentifiers(),
120
+ nodeIdsA: nodeA.toIdentifiers(),
121
+ };
122
+ return identifiers;
123
+ };
124
+ const getTchebychevMinorizeProbaOfXInCenteredIntervalQuestion = () => {
125
+ const identifiers = createRandomIdentifiers();
126
+ return getQuestionFromIdentifiers(identifiers);
127
+ };
128
+ const getQuestionFromIdentifiers = (identifiers, opts) => {
129
+ return {
130
+ answer: getAnswer(identifiers, opts),
131
+ instruction: getInstruction(identifiers, opts),
132
+ keys: getKeys(identifiers, opts),
133
+ answerFormat: "tex",
134
+ identifiers,
135
+ hint: getHint(identifiers, opts),
136
+ correction: getCorrection(identifiers, opts),
137
+ };
138
+ };
139
+ export const tchebychevMinorizeProbaOfXInCenteredInterval = {
140
+ id: "tchebychevMinorizeProbaOfXInCenteredInterval",
141
+ label: "Utiliser le théorème de Bienaymé Tchebychev pour donner une minoration de la probabilité de tomber dans un intervalle centré sur l'espérance",
142
+ isSingleStep: true,
143
+ generator: (nb, opts) => getDistinctQuestions(() => getTchebychevMinorizeProbaOfXInCenteredIntervalQuestion(opts), nb),
144
+ qcmTimer: 60,
145
+ freeTimer: 60,
146
+ getPropositions,
147
+ isAnswerValid,
148
+ subject: "Mathématiques",
149
+ getInstruction,
150
+ getHint,
151
+ getCorrection,
152
+ getAnswer,
153
+ getQuestionFromIdentifiers,
154
+ hasHintAndCorrection: true,
155
+ };
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ import { NodeIdentifiers } from "../../../../tree/nodes/nodeConstructor.js";
3
+ type Identifiers = {
4
+ n: number;
5
+ nodeIdsProba: NodeIdentifiers;
6
+ };
7
+ export declare const buildTreeBernoulli: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=buildTreeBernoulli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTreeBernoulli.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/trees/buildTreeBernoulli.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAK7C,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,YAAY,EAAE,eAAe,CAAC;CAC/B,CAAC;AA4HF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAmBpD,CAAC"}
@@ -0,0 +1,124 @@
1
+ import { treeTableVEA } from "../../../../exercises/vea/treeTableVEA.js";
2
+ import { randfloat } from "../../../../math/utils/random/randfloat.js";
3
+ import { NodeConstructor, } from "../../../../tree/nodes/nodeConstructor.js";
4
+ import { substract } from "../../../../tree/nodes/operators/substractNode.js";
5
+ import { coinFlip } from "../../../../utils/alea/coinFlip.js";
6
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
7
+ const getHydrated = (identifiers) => {
8
+ const { n, nodeIdsProba } = identifiers;
9
+ const nodeProba = NodeConstructor.fromIdentifiers(nodeIdsProba);
10
+ return {
11
+ n,
12
+ nodeProba,
13
+ };
14
+ };
15
+ const getAnswerTreeTable = (identifiers) => {
16
+ const { n, nodeProba } = getHydrated(identifiers);
17
+ const arrBranch = [
18
+ [`${nodeProba.toTex()}`, "S"],
19
+ [`${substract(1, nodeProba).simplify().toTex()}`, "\\overline{S}"],
20
+ ];
21
+ return [
22
+ [arrBranch],
23
+ [arrBranch, arrBranch],
24
+ [arrBranch, arrBranch, arrBranch, arrBranch],
25
+ ].slice(0, n);
26
+ };
27
+ const getInstruction = (identifiers) => {
28
+ const { n, nodeProba } = getHydrated(identifiers);
29
+ return `Donner l'arbre qui représente un schéma de Bernoulli de paramètres $${n.frenchify()}$ et $${nodeProba.toTex()}$.`;
30
+ };
31
+ const getHint = () => {
32
+ return `Dans une épreuve de Bernoulli, les probabilités des $2$ seules issues possibles (succès $S$ et échec $\\overline{S}$) sont respectivement $p$ et $1-p$.
33
+
34
+ Un schéma de Bernoulli de paramètres $n$ et $p$ est la répétitions de $n$ épreuves de Bernoulli identiques et indépendantes (toutes ayant la même probabilité de succès $p$).
35
+
36
+ Commence donc par réprésenter les branches correspondant à la première épreuve, puis celles de la deuxième à partir des branches de la première, etc.`;
37
+ };
38
+ const getCorrection = (identifiers) => {
39
+ const { n, nodeProba } = getHydrated(identifiers);
40
+ return `Puisque c'est la même épreuve que l'on réalise $${n.frenchify()}$ fois, l'arbre va comporter un motif qui va se répéter.
41
+
42
+ Ce motif est constitué des $2$ branches correspondant l'épreuve de Bernoulli :
43
+
44
+ - la branche de l'issue succès $S$ avec une probabilité de $${nodeProba.toTex()}$
45
+ - la branche de l'issue échec $\\overline{S}$ avec une probabilité de $${substract(1, nodeProba)
46
+ .simplify()
47
+ .toTex()}$
48
+
49
+ On inscrit ce motif $1$ fois pour la première épreuve,
50
+ $2$ fois pour la deuxième épreuve (car la première épreuve a $2$ issues),
51
+ $4$ fois pour la troisième épreuve (car la séquence "première épreuve puis deuxième épreuve" a $4$ issues), ..., $2^{k-1}$ fois pour la $k$-ième épreuve.`;
52
+ };
53
+ const getKeys = (_identifiers) => {
54
+ return ["S", "overlineS"];
55
+ };
56
+ const isAnswerTreeTableValid = (ans, { answerTreeTable }) => {
57
+ try {
58
+ return treeTableVEA(ans, answerTreeTable);
59
+ }
60
+ catch (err) {
61
+ return handleVEAError(err);
62
+ }
63
+ };
64
+ const getBuildTreeBernoulliQuestion = () => {
65
+ const n = coinFlip() ? 2 : 3;
66
+ const nodeProba = randfloat(0.2, 0.8, 1).toTree();
67
+ const identifiers = {
68
+ n,
69
+ nodeIdsProba: nodeProba.toIdentifiers(),
70
+ };
71
+ return getQuestionFromIdentifiers(identifiers);
72
+ };
73
+ const getQuestionFromIdentifiers = (identifiers) => {
74
+ const { n } = identifiers;
75
+ return {
76
+ answerTreeTable: getAnswerTreeTable(identifiers),
77
+ instruction: getInstruction(identifiers),
78
+ keys: getKeys(identifiers),
79
+ answerFormat: "tex",
80
+ identifiers,
81
+ hint: getHint(identifiers),
82
+ correction: getCorrection(identifiers),
83
+ initTreeTable: (() => {
84
+ const arrBranch = [
85
+ ["", ""],
86
+ ["", ""],
87
+ ];
88
+ switch (n) {
89
+ case 2: {
90
+ return [[arrBranch], [arrBranch, arrBranch]];
91
+ }
92
+ case 3: {
93
+ return [
94
+ [arrBranch],
95
+ [arrBranch, arrBranch],
96
+ [arrBranch, arrBranch, arrBranch, arrBranch],
97
+ ];
98
+ }
99
+ default: {
100
+ throw new Error("Unsupported n: " + n);
101
+ }
102
+ }
103
+ })(),
104
+ };
105
+ };
106
+ export const buildTreeBernoulli = {
107
+ id: "buildTreeBernoulli",
108
+ label: "Donner l'arbre qui permet de représenter un schéma de Bernoulli de paramètres $n$ et $p$ (decontextualisé)",
109
+ isSingleStep: true,
110
+ generator: (nb, opts) =>
111
+ // getDistinctQuestions(() => getBuildTreeBernoulliQuestion(opts), nb),
112
+ [...Array(nb).keys()].map(() => getBuildTreeBernoulliQuestion(opts)),
113
+ qcmTimer: 60,
114
+ freeTimer: 60,
115
+ isAnswerTreeTableValid,
116
+ subject: "Mathématiques",
117
+ getInstruction,
118
+ getHint,
119
+ getCorrection,
120
+ getAnswerTreeTable,
121
+ getQuestionFromIdentifiers,
122
+ answerType: "treeDiagram",
123
+ hasHintAndCorrection: true,
124
+ };
@@ -2,4 +2,5 @@ export { probabilityTree, probabilityTreeIntersection, probabilityTreeTotalProba
2
2
  export * from "./fillProbaTreeWithComplementaryProbabilities.js";
3
3
  export * from "./buildTreeFromSituation.js";
4
4
  export * from "./probaTreeSituationTotalProbaFormula.js";
5
+ export * from "./buildTreeBernoulli.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/trees/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,mCAAmC,GACpC,MAAM,sBAAsB,CAAC;AAC9B,cAAc,kDAAkD,CAAC;AACjE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0CAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/trees/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,mCAAmC,GACpC,MAAM,sBAAsB,CAAC;AAC9B,cAAc,kDAAkD,CAAC;AACjE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0CAA0C,CAAC;AACzD,cAAc,yBAAyB,CAAC"}
@@ -2,3 +2,4 @@ export { probabilityTree, probabilityTreeIntersection, probabilityTreeTotalProba
2
2
  export * from "./fillProbaTreeWithComplementaryProbabilities.js";
3
3
  export * from "./buildTreeFromSituation.js";
4
4
  export * from "./probaTreeSituationTotalProbaFormula.js";
5
+ export * from "./buildTreeBernoulli.js";
@@ -0,0 +1,15 @@
1
+ import { Exercise } from "../../../../../exercises/exercise.js";
2
+ import { OptionFirstTermRankOne } from "../../../../../exercises/options/optionFirstTermRankOne.js";
3
+ import { InegalitySymbols } from "../../../../../math/inequations/inequation.js";
4
+ import { NodeIdentifiers } from "../../../../../tree/nodes/nodeConstructor.js";
5
+ type Identifiers = {
6
+ nodeIdsInitial: NodeIdentifiers;
7
+ nodeIdsReason: NodeIdentifiers;
8
+ firstRank: number;
9
+ nodeIdsValueThreshold: NodeIdentifiers;
10
+ inegSymbol: InegalitySymbols;
11
+ };
12
+ type Options = OptionFirstTermRankOne;
13
+ export declare const geometricFindThresholdFromGraph: Exercise<Identifiers, Options>;
14
+ export {};
15
+ //# sourceMappingURL=geometricFindThresholdFromGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometricFindThresholdFromGraph.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/sequences/geometric/graph/geometricFindThresholdFromGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,sBAAsB,EACvB,MAAM,mDAAmD,CAAC;AAO3D,OAAO,EACL,gBAAgB,EAEjB,MAAM,sCAAsC,CAAC;AAM9C,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AA6B7C,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,eAAe,CAAC;IAChC,aAAa,EAAE,eAAe,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,eAAe,CAAC;IACvC,UAAU,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AA+QF,KAAK,OAAO,GAAG,sBAAsB,CAAC;AAMtC,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAuB1E,CAAC"}
@@ -0,0 +1,255 @@
1
+ import { addValidProp, tryToAddWrongProp, shuffleProps, propWhile, } from "../../../../../exercises/exercise.js";
2
+ import { getOptionFirstTermRankOneStuff, } from "../../../../../exercises/options/optionFirstTermRankOne.js";
3
+ import { toolBarConstructor } from "../../../../../exercises/utils/geogebra/toolBarConstructor.js";
4
+ import { getDistinctQuestions } from "../../../../../exercises/utils/getDistinctQuestions.js";
5
+ import { numberVEA } from "../../../../../exercises/vea/numberVEA.js";
6
+ import { greenMain, orange } from "../../../../../geogebra/colors.js";
7
+ import { GeogebraConstructor } from "../../../../../geogebra/geogebraConstructor.js";
8
+ import { Point } from "../../../../../math/geometry/point.js";
9
+ import { InequationSymbol, } from "../../../../../math/inequations/inequation.js";
10
+ import { randfloat } from "../../../../../math/utils/random/randfloat.js";
11
+ import { randint } from "../../../../../math/utils/random/randint.js";
12
+ import { round } from "../../../../../math/utils/round.js";
13
+ import { InequationNode } from "../../../../../tree/nodes/inequations/inequationNode.js";
14
+ import { NodeConstructor, } from "../../../../../tree/nodes/nodeConstructor.js";
15
+ import { multiply } from "../../../../../tree/nodes/operators/multiplyNode.js";
16
+ import { power } from "../../../../../tree/nodes/operators/powerNode.js";
17
+ import { coinFlip } from "../../../../../utils/alea/coinFlip.js";
18
+ import { random } from "../../../../../utils/alea/random.js";
19
+ const getArrPoint = (nodeInitial, nodeReason, firstRank) => {
20
+ const arrNodeTerm = [...Array(nbPoints).keys()].map((i) => multiply(nodeInitial, power(nodeReason, i))
21
+ .simplify({
22
+ towardsDistribute: true,
23
+ calculatePowers: true,
24
+ distributePowersOnFrac: true,
25
+ })
26
+ .simplify({ towardsDistribute: false }));
27
+ const arrPoint = arrNodeTerm.map((nodeTerm, i) => {
28
+ const nodeX = (firstRank + i).toTree();
29
+ return new Point(`P${firstRank + i}`, nodeX, nodeTerm);
30
+ });
31
+ return arrPoint;
32
+ };
33
+ const nbPoints = 10;
34
+ const getInstruction = (identifiers) => {
35
+ const { nodeIdsValueThreshold, inegSymbol } = identifiers;
36
+ const nodeValueThreshold = NodeConstructor.fromIdentifiers(nodeIdsValueThreshold);
37
+ return `Dans le repère ci-dessous, on a placé les points représentant les $${nbPoints}$ premiers termes d'une suite géométrique $u$.
38
+
39
+ Quel est le rang $N$, tel que pour tout $n \\geq N$, on a :
40
+
41
+ $$
42
+ u_{n} ${inegSymbol} ${nodeValueThreshold.toTex()}
43
+ $$
44
+
45
+ `;
46
+ };
47
+ const getAnswerStuff = (identifiers) => {
48
+ const { nodeIdsInitial, nodeIdsReason, nodeIdsValueThreshold, firstRank, inegSymbol, } = identifiers;
49
+ const [nodeInitial, nodeReason, nodeValueThreshold] = [
50
+ nodeIdsInitial,
51
+ nodeIdsReason,
52
+ nodeIdsValueThreshold,
53
+ ].map((nodeIds) => NodeConstructor.fromIdentifiers(nodeIds));
54
+ const arrPoint = getArrPoint(nodeInitial, nodeReason, firstRank);
55
+ const pointValid = arrPoint.find((point) => {
56
+ const inequationNode = new InequationNode([point.y, nodeValueThreshold], inegSymbol);
57
+ return inequationNode.isVerified();
58
+ });
59
+ return { pointValid };
60
+ };
61
+ const getAnswer = (identifiers) => {
62
+ return getAnswerStuff(identifiers).pointValid.x.toTex();
63
+ };
64
+ const getHint = (identifiers) => {
65
+ const { nodeIdsValueThreshold } = identifiers;
66
+ const nodeValueThreshold = NodeConstructor.fromIdentifiers(nodeIdsValueThreshold);
67
+ return `Dans le nuage de point qui représente la suite, l'abscisse de chaque point est le rang du terme, et l'ordonnée est le terme en lui-même.
68
+ Trace mentalement la droite d'équation $y=${nodeValueThreshold.toTex()}$ pour déterminer le rang demandé.`;
69
+ };
70
+ const getCorrection = (identifiers) => {
71
+ const { nodeIdsValueThreshold, inegSymbol } = identifiers;
72
+ const nodeValueThreshold = NodeConstructor.fromIdentifiers(nodeIdsValueThreshold);
73
+ const answer = getAnswer(identifiers);
74
+ return `Dans le nuage de point qui représente la suite, l'abscisse de chaque point est le rang du terme, et l'ordonnée est le terme en lui-même.
75
+
76
+ On cherche le rang du premier terme ${(() => {
77
+ switch (inegSymbol) {
78
+ case "\\ge":
79
+ return `au-dessus`;
80
+ case ">":
81
+ return `strictement au-dessus`;
82
+ case "\\le":
83
+ return `en dessous`;
84
+ case "<":
85
+ return `strictement en dessous`;
86
+ }
87
+ })()} de la droite d'équation $y=${nodeValueThreshold.toTex()}$.
88
+
89
+ Le rang recherché est $${answer}$.
90
+
91
+ `;
92
+ };
93
+ const getCorrectionGGBOptions = (identifiers) => {
94
+ const { nodeIdsInitial, nodeIdsReason, nodeIdsValueThreshold, firstRank } = identifiers;
95
+ const [nodeInitial, nodeReason, nodeValueThreshold] = [
96
+ nodeIdsInitial,
97
+ nodeIdsReason,
98
+ nodeIdsValueThreshold,
99
+ ].map((nodeIds) => NodeConstructor.fromIdentifiers(nodeIds));
100
+ const arrPoint = getArrPoint(nodeInitial, nodeReason, firstRank);
101
+ const values = arrPoint.map((point) => point.y.evaluate());
102
+ const valueThreshold = nodeValueThreshold.evaluate();
103
+ const { pointValid } = getAnswerStuff(identifiers);
104
+ const ggb = new GeogebraConstructor({
105
+ commands: [
106
+ `l = Line((0,${valueThreshold}), (1, ${valueThreshold}))`,
107
+ `SetColor(l, "${orange}")`,
108
+ ...arrPoint.flatMap((point) => point.toGGBCommand({ color: `#000000`, showLabel: false })),
109
+ `v2 = Vector(${pointValid.toMathString()},(${pointValid.x.toMathString()},0))`,
110
+ `SetColor(v2, "${greenMain}")`,
111
+ ],
112
+ customToolBar: toolBarConstructor({
113
+ point: true,
114
+ }),
115
+ });
116
+ const yMin = Math.min(...values);
117
+ const yMax = Math.max(...values);
118
+ return ggb.getOptions({
119
+ coords: [-1, nbPoints, Math.min(yMin, 0) - 1, Math.max(yMax, 1) + 1],
120
+ });
121
+ };
122
+ const getGGBOptions = (identifiers) => {
123
+ const { nodeIdsInitial, nodeIdsReason, firstRank } = identifiers;
124
+ const [nodeInitial, nodeReason] = [nodeIdsInitial, nodeIdsReason].map((nodeIds) => NodeConstructor.fromIdentifiers(nodeIds));
125
+ const arrPoint = getArrPoint(nodeInitial, nodeReason, firstRank);
126
+ const values = arrPoint.map((point) => point.y.evaluate());
127
+ const ggb = new GeogebraConstructor({
128
+ commands: [
129
+ ...arrPoint.flatMap((point) => point.toGGBCommand({ color: `#000000`, showLabel: false })),
130
+ ],
131
+ customToolBar: toolBarConstructor({
132
+ point: true,
133
+ }),
134
+ });
135
+ const yMin = Math.min(...values);
136
+ const yMax = Math.max(...values);
137
+ return ggb.getOptions({
138
+ coords: [-1, nbPoints, Math.min(yMin, 0) - 1, Math.max(yMax, 1) + 1],
139
+ });
140
+ };
141
+ const getPropositions = (n, { answer }) => {
142
+ const propositions = [];
143
+ addValidProp(propositions, answer);
144
+ propWhile(propositions, n, () => {
145
+ const indexThreshold = randint(3, 10);
146
+ tryToAddWrongProp(propositions, indexThreshold.frenchify());
147
+ });
148
+ return shuffleProps(propositions, n);
149
+ };
150
+ const isAnswerValid = (ans, { answer }) => {
151
+ return numberVEA(ans, answer);
152
+ };
153
+ const getGeometricFindThresholdFromGraphQuestion = (optsIn) => {
154
+ const opts = optsIn ?? optsDefault;
155
+ const firstRank = opts?.firstTermRankOne ? 1 : 0;
156
+ const { isDivergent: _isDivergent, nodeInitialAbs, nodeReasonAbs, nodeValueThresholdAbs, inegSymbolAbs, } = (() => {
157
+ const isDivergent = coinFlip();
158
+ const { nodeInitialAbs, nodeReasonAbs } = (() => {
159
+ if (isDivergent) {
160
+ return {
161
+ nodeInitialAbs: randfloat(1.3, 2, 2).toTree(),
162
+ nodeReasonAbs: randfloat(1.15, 1.2, 3).toTree(),
163
+ };
164
+ }
165
+ else {
166
+ return {
167
+ nodeInitialAbs: randfloat(7, 10, 2).toTree(),
168
+ nodeReasonAbs: randfloat(0.77, 0.85, 3).toTree(),
169
+ };
170
+ }
171
+ })();
172
+ const arrPointAbs = getArrPoint(nodeInitialAbs, nodeReasonAbs, firstRank);
173
+ const { nodeValueThresholdAbs, inegSymbolAbs } = (() => {
174
+ const isValueThresholdEqualToTerm = coinFlip();
175
+ const nodeValueThresholdAbs = (() => {
176
+ const indexThresholdLow = randint(3, 8);
177
+ const progress = randfloat(0.3, 0.7, 1);
178
+ const [v1, v2] = [indexThresholdLow, indexThresholdLow + 1].map((index) => arrPointAbs[index].y.evaluate());
179
+ return round(v1 + (v2 - v1) * progress, 2).toTree();
180
+ })();
181
+ const inegSymbolAbs = (() => {
182
+ if (isDivergent) {
183
+ return isValueThresholdEqualToTerm ? "\\ge" : random(["\\ge", ">"]);
184
+ }
185
+ else {
186
+ return isValueThresholdEqualToTerm ? "\\le" : random(["\\le", "<"]);
187
+ }
188
+ })();
189
+ return { nodeValueThresholdAbs, inegSymbolAbs };
190
+ })();
191
+ return {
192
+ isDivergent,
193
+ nodeInitialAbs,
194
+ nodeReasonAbs,
195
+ nodeValueThresholdAbs,
196
+ inegSymbolAbs,
197
+ };
198
+ })();
199
+ const { nodeInitial, nodeReason, nodeValueThreshold, inegSymbol } = (() => {
200
+ const signInitial = coinFlip() ? +1 : -1;
201
+ const nodeInitial = multiply(signInitial, nodeInitialAbs).simplify({
202
+ towardsDistribute: true,
203
+ });
204
+ const nodeReason = nodeReasonAbs; //reason is always positive
205
+ const nodeValueThreshold = multiply(signInitial, nodeValueThresholdAbs).simplify({
206
+ towardsDistribute: true,
207
+ });
208
+ const inegSymbol = signInitial === +1
209
+ ? inegSymbolAbs
210
+ : new InequationSymbol(inegSymbolAbs).reversed();
211
+ return { nodeInitial, nodeReason, nodeValueThreshold, inegSymbol };
212
+ })();
213
+ const identifiers = {
214
+ firstRank,
215
+ nodeIdsInitial: nodeInitial.toIdentifiers(),
216
+ nodeIdsReason: nodeReason.toIdentifiers(),
217
+ nodeIdsValueThreshold: nodeValueThreshold.toIdentifiers(),
218
+ inegSymbol: inegSymbol,
219
+ };
220
+ return getQuestionFromIdentifiers(identifiers, opts);
221
+ };
222
+ const getQuestionFromIdentifiers = (identifiers) => {
223
+ return {
224
+ answer: getAnswer(identifiers),
225
+ instruction: getInstruction(identifiers),
226
+ ggbOptions: getGGBOptions(identifiers),
227
+ keys: [],
228
+ identifiers,
229
+ hint: getHint(identifiers),
230
+ correction: getCorrection(identifiers),
231
+ correctionGgbOptions: getCorrectionGGBOptions(identifiers),
232
+ };
233
+ };
234
+ const { optsDefaultFirstTermRankOne, generatorOptionFirstTermRankOne } = getOptionFirstTermRankOneStuff(false);
235
+ const optsDefault = Object.assign({}, optsDefaultFirstTermRankOne, {});
236
+ const options = [generatorOptionFirstTermRankOne];
237
+ export const geometricFindThresholdFromGraph = {
238
+ id: "geometricFindThresholdFromGraph",
239
+ label: "À partir d'un nuage de point d'une suite géométrique, déterminer un seuil",
240
+ isSingleStep: true,
241
+ generator: (nb, opts) => getDistinctQuestions(() => getGeometricFindThresholdFromGraphQuestion(opts), nb),
242
+ ggbTimer: 60,
243
+ subject: "Mathématiques",
244
+ getHint,
245
+ getCorrection,
246
+ hasHintAndCorrection: true,
247
+ getInstruction,
248
+ getGGBOptions,
249
+ hasGeogebra: true,
250
+ isAnswerValid,
251
+ getAnswer,
252
+ getPropositions,
253
+ getQuestionFromIdentifiers,
254
+ options,
255
+ };
@@ -0,0 +1,15 @@
1
+ import { Exercise } from "../../../../../exercises/exercise.js";
2
+ import { OptionFirstTermRankOne } from "../../../../../exercises/options/optionFirstTermRankOne.js";
3
+ import { InegalitySymbols } from "../../../../../math/inequations/inequation.js";
4
+ import { NodeIdentifiers } from "../../../../../tree/nodes/nodeConstructor.js";
5
+ type Identifiers = {
6
+ nodeIdsInitial: NodeIdentifiers;
7
+ nodeIdsReason: NodeIdentifiers;
8
+ firstRank: number;
9
+ nodeIdsValueThreshold: NodeIdentifiers;
10
+ inegSymbol: InegalitySymbols;
11
+ };
12
+ type Options = OptionFirstTermRankOne;
13
+ export declare const geometricFindThresholdUsingCalculator: Exercise<Identifiers, Options>;
14
+ export {};
15
+ //# sourceMappingURL=geometricFindThresholdUsingCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometricFindThresholdUsingCalculator.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/sequences/geometric/graph/geometricFindThresholdUsingCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,sBAAsB,EACvB,MAAM,mDAAmD,CAAC;AAI3D,OAAO,EACL,gBAAgB,EAEjB,MAAM,sCAAsC,CAAC;AAM9C,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AA8B7C,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,eAAe,CAAC;IAChC,aAAa,EAAE,eAAe,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,eAAe,CAAC;IACvC,UAAU,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AA4QF,KAAK,OAAO,GAAG,sBAAsB,CAAC;AAMtC,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,WAAW,EACX,OAAO,CAsBR,CAAC"}