math-exercises 3.0.171 → 3.0.173

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 (418) hide show
  1. package/lib/exercises/math/derivation/variations/signVarTable3dDegree.js +38 -10
  2. package/lib/exercises/math/derivation/variations/signVarTableFromDerivativeGraph.d.ts.map +1 -1
  3. package/lib/exercises/math/derivation/variations/signVarTableFromDerivativeGraph.js +7 -4
  4. package/lib/exercises/math/derivation/variations/signVarTableFromGraph.d.ts.map +1 -1
  5. package/lib/exercises/math/derivation/variations/signVarTableFromGraph.js +2 -3
  6. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.d.ts.map +1 -1
  7. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.js +12 -0
  8. package/lib/exercises/math/functions/trinoms/parabole/index.d.ts +2 -0
  9. package/lib/exercises/math/functions/trinoms/parabole/index.d.ts.map +1 -1
  10. package/lib/exercises/math/functions/trinoms/parabole/index.js +2 -0
  11. package/lib/exercises/math/functions/trinoms/parabole/parabolaVarTable.d.ts +8 -0
  12. package/lib/exercises/math/functions/trinoms/parabole/parabolaVarTable.d.ts.map +1 -0
  13. package/lib/exercises/math/functions/trinoms/parabole/parabolaVarTable.js +106 -0
  14. package/lib/exercises/math/functions/trinoms/parabole/paraboleSolveGraphEquation.d.ts +14 -0
  15. package/lib/exercises/math/functions/trinoms/parabole/paraboleSolveGraphEquation.d.ts.map +1 -0
  16. package/lib/exercises/math/functions/trinoms/parabole/paraboleSolveGraphEquation.js +186 -0
  17. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.d.ts +6 -2
  18. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.d.ts.map +1 -1
  19. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.js +98 -13
  20. package/lib/exercises/math/functions/variations/partialVarTableFromGraph.d.ts.map +1 -1
  21. package/lib/exercises/math/functions/variations/partialVarTableFromGraph.js +2 -1
  22. package/lib/exercises/math/functions/variations/varTableFromGraph.d.ts.map +1 -1
  23. package/lib/exercises/math/functions/variations/varTableFromGraph.js +2 -1
  24. package/lib/exercises/math/functions/variations/varTableFromSentences.d.ts.map +1 -1
  25. package/lib/exercises/math/functions/variations/varTableFromSentences.js +2 -1
  26. package/lib/exercises/math/geometry/circles/circleCenterAndRadiusFromEquation.d.ts.map +1 -1
  27. package/lib/exercises/math/geometry/circles/circleCenterAndRadiusFromEquation.js +0 -2
  28. package/lib/exercises/math/geometry/lines/index.d.ts +1 -0
  29. package/lib/exercises/math/geometry/lines/index.d.ts.map +1 -1
  30. package/lib/exercises/math/geometry/lines/index.js +1 -0
  31. package/lib/exercises/math/geometry/lines/readLineNormalVectorOnGraph.d.ts +13 -0
  32. package/lib/exercises/math/geometry/lines/readLineNormalVectorOnGraph.d.ts.map +1 -0
  33. package/lib/exercises/math/geometry/lines/readLineNormalVectorOnGraph.js +195 -0
  34. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiAngle.d.ts.map +1 -1
  35. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiAngle.js +64 -60
  36. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.d.ts +1 -0
  37. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.d.ts.map +1 -1
  38. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.js +173 -47
  39. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiSideLength.d.ts.map +1 -1
  40. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiSideLength.js +112 -46
  41. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductInOrthonormalBasisIJ.d.ts.map +1 -1
  42. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductInOrthonormalBasisIJ.js +6 -0
  43. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductLamdbaULambdaV.d.ts.map +1 -1
  44. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductLamdbaULambdaV.js +60 -82
  45. package/lib/exercises/math/geometry/vectors/scalarProduct/angleFromScalarProduct.d.ts.map +1 -1
  46. package/lib/exercises/math/geometry/vectors/scalarProduct/angleFromScalarProduct.js +92 -6
  47. package/lib/exercises/math/geometry/vectors/scalarProduct/index.d.ts +6 -1
  48. package/lib/exercises/math/geometry/vectors/scalarProduct/index.d.ts.map +1 -1
  49. package/lib/exercises/math/geometry/vectors/scalarProduct/index.js +6 -1
  50. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsBasisIJ.d.ts.map +1 -1
  51. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsBasisIJ.js +6 -0
  52. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsUsingCoords.js +1 -1
  53. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnCircle.d.ts.map +1 -1
  54. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnCircle.js +15 -5
  55. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnPerpendicularBisector.d.ts.map +1 -1
  56. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnPerpendicularBisector.js +18 -14
  57. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsRightTriangleUsingPointCoords.d.ts.map +1 -1
  58. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsRightTriangleUsingPointCoords.js +15 -5
  59. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.d.ts.map +1 -1
  60. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.js +38 -4
  61. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOfVectsOnGrid1.d.ts.map +1 -1
  62. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOfVectsOnGrid1.js +77 -26
  63. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductParallelogramDiagonalPlus.d.ts.map +1 -1
  64. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductParallelogramDiagonalPlus.js +6 -7
  65. package/lib/exercises/math/probaStat/basicProbas/calculateProbaFromProbaLaw.js +1 -1
  66. package/lib/exercises/math/probaStat/probaFromTableWithContext.d.ts.map +1 -1
  67. package/lib/exercises/math/probaStat/probaFromTableWithContext.js +3 -16
  68. package/lib/exercises/math/probaStat/randomVariable/decideWhichGameIsLessRisky.d.ts +14 -0
  69. package/lib/exercises/math/probaStat/randomVariable/decideWhichGameIsLessRisky.d.ts.map +1 -0
  70. package/lib/exercises/math/probaStat/randomVariable/decideWhichGameIsLessRisky.js +167 -0
  71. package/lib/exercises/math/probaStat/randomVariable/findValueForFairRandomVariable.d.ts.map +1 -1
  72. package/lib/exercises/math/probaStat/randomVariable/findValueForFairRandomVariable.js +29 -56
  73. package/lib/exercises/math/probaStat/randomVariable/index.d.ts +8 -0
  74. package/lib/exercises/math/probaStat/randomVariable/index.d.ts.map +1 -1
  75. package/lib/exercises/math/probaStat/randomVariable/index.js +9 -0
  76. package/lib/exercises/math/probaStat/randomVariable/isTableProbabilityLaw.d.ts.map +1 -1
  77. package/lib/exercises/math/probaStat/randomVariable/isTableProbabilityLaw.js +6 -6
  78. package/lib/exercises/math/probaStat/randomVariable/missingValueInRandomVariableProbabilityLaw.d.ts +9 -0
  79. package/lib/exercises/math/probaStat/randomVariable/missingValueInRandomVariableProbabilityLaw.d.ts.map +1 -0
  80. package/lib/exercises/math/probaStat/randomVariable/missingValueInRandomVariableProbabilityLaw.js +119 -0
  81. package/lib/exercises/math/probaStat/randomVariable/randomVariableAverage.js +1 -1
  82. package/lib/exercises/math/probaStat/randomVariable/randomVariableFindMissingProbabilityInLaw.d.ts +9 -0
  83. package/lib/exercises/math/probaStat/randomVariable/randomVariableFindMissingProbabilityInLaw.d.ts.map +1 -0
  84. package/lib/exercises/math/probaStat/randomVariable/randomVariableFindMissingProbabilityInLaw.js +116 -0
  85. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationAverage.d.ts +11 -0
  86. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationAverage.d.ts.map +1 -0
  87. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationAverage.js +112 -0
  88. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationComputeProbability.d.ts +9 -0
  89. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationComputeProbability.d.ts.map +1 -0
  90. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationComputeProbability.js +176 -0
  91. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationIsGameFavorable.d.ts +8 -0
  92. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationIsGameFavorable.d.ts.map +1 -0
  93. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationIsGameFavorable.js +94 -0
  94. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationProbabilityLaw.d.ts +9 -0
  95. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationProbabilityLaw.d.ts.map +1 -0
  96. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationProbabilityLaw.js +162 -0
  97. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationStandardDeviation.d.ts +8 -0
  98. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationStandardDeviation.d.ts.map +1 -0
  99. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationStandardDeviation.js +133 -0
  100. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationValues.d.ts +8 -0
  101. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationValues.d.ts.map +1 -0
  102. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationValues.js +211 -0
  103. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationVariance.d.ts +8 -0
  104. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationVariance.d.ts.map +1 -0
  105. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationVariance.js +113 -0
  106. package/lib/exercises/math/probaStat/randomVariable/randomVariableStandardDeviation.js +1 -1
  107. package/lib/exercises/math/probaStat/randomVariable/randomVariableVariance.js +1 -1
  108. package/lib/exercises/math/probaStat/randomVariable/utils/buildVAOfGivenAverage.d.ts +31 -0
  109. package/lib/exercises/math/probaStat/randomVariable/utils/buildVAOfGivenAverage.d.ts.map +1 -0
  110. package/lib/exercises/math/probaStat/randomVariable/utils/buildVAOfGivenAverage.js +192 -0
  111. package/lib/exercises/math/probaStat/randomVariable/utils/randomVariableSituations.d.ts +40 -11
  112. package/lib/exercises/math/probaStat/randomVariable/utils/randomVariableSituations.d.ts.map +1 -1
  113. package/lib/exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js +172 -30
  114. package/lib/exercises/math/probaStat/stats1var/medianWithList.d.ts.map +1 -1
  115. package/lib/exercises/math/probaStat/stats1var/medianWithList.js +16 -2
  116. package/lib/exercises/math/python/sequences/index.d.ts +8 -0
  117. package/lib/exercises/math/python/sequences/index.d.ts.map +1 -0
  118. package/lib/exercises/math/python/sequences/index.js +7 -0
  119. package/lib/exercises/math/python/sequences/pySequenceFactorialInstructionFalseOneOut.d.ts +11 -0
  120. package/lib/exercises/math/python/sequences/pySequenceFactorialInstructionFalseOneOut.d.ts.map +1 -0
  121. package/lib/exercises/math/python/sequences/pySequenceFactorialInstructionFalseOneOut.js +274 -0
  122. package/lib/exercises/math/python/sequences/pySequenceFirstTermsListInstructionCompletion.d.ts +12 -0
  123. package/lib/exercises/math/python/sequences/pySequenceFirstTermsListInstructionCompletion.d.ts.map +1 -0
  124. package/lib/exercises/math/python/sequences/pySequenceFirstTermsListInstructionCompletion.js +368 -0
  125. package/lib/exercises/math/python/sequences/pySequenceFirstTermsSumInstructionCompletion.d.ts +13 -0
  126. package/lib/exercises/math/python/sequences/pySequenceFirstTermsSumInstructionCompletion.d.ts.map +1 -0
  127. package/lib/exercises/math/python/sequences/pySequenceFirstTermsSumInstructionCompletion.js +254 -0
  128. package/lib/exercises/math/python/sequences/pySequenceProgramReading.d.ts +14 -0
  129. package/lib/exercises/math/python/sequences/pySequenceProgramReading.d.ts.map +1 -0
  130. package/lib/exercises/math/python/sequences/pySequenceProgramReading.js +365 -0
  131. package/lib/exercises/math/python/sequences/pySequenceTermForLoopInstructionCompletion.d.ts +11 -0
  132. package/lib/exercises/math/python/sequences/pySequenceTermForLoopInstructionCompletion.d.ts.map +1 -0
  133. package/lib/exercises/math/python/sequences/pySequenceTermForLoopInstructionCompletion.js +298 -0
  134. package/lib/exercises/math/python/sequences/pySequenceTermFromFunctionCallInstructionCompletion.d.ts +12 -0
  135. package/lib/exercises/math/python/sequences/pySequenceTermFromFunctionCallInstructionCompletion.d.ts.map +1 -0
  136. package/lib/exercises/math/python/sequences/pySequenceTermFromFunctionCallInstructionCompletion.js +408 -0
  137. package/lib/exercises/math/python/sequences/pySequenceThresholdInstructionCompletion.d.ts +17 -0
  138. package/lib/exercises/math/python/sequences/pySequenceThresholdInstructionCompletion.d.ts.map +1 -0
  139. package/lib/exercises/math/python/sequences/pySequenceThresholdInstructionCompletion.js +498 -0
  140. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormulaFromTwoTerms.d.ts +12 -0
  141. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormulaFromTwoTerms.d.ts.map +1 -0
  142. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormulaFromTwoTerms.js +191 -0
  143. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindExplicitFormulaFromSituation.d.ts +14 -0
  144. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindExplicitFormulaFromSituation.d.ts.map +1 -0
  145. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindExplicitFormulaFromSituation.js +153 -0
  146. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.d.ts +15 -0
  147. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.d.ts.map +1 -0
  148. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.js +184 -0
  149. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRecurrenceFormulaFromSituation.d.ts +14 -0
  150. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRecurrenceFormulaFromSituation.d.ts.map +1 -0
  151. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRecurrenceFormulaFromSituation.js +210 -0
  152. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindTermFromSituation.d.ts +15 -0
  153. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindTermFromSituation.d.ts.map +1 -0
  154. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindTermFromSituation.js +161 -0
  155. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindThresholdFromSituation.d.ts +17 -0
  156. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindThresholdFromSituation.d.ts.map +1 -0
  157. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindThresholdFromSituation.js +188 -0
  158. package/lib/exercises/math/sequences/arithmetic/situations/index.d.ts +6 -0
  159. package/lib/exercises/math/sequences/arithmetic/situations/index.d.ts.map +1 -0
  160. package/lib/exercises/math/sequences/arithmetic/situations/index.js +5 -0
  161. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticComputeSumWithDots.d.ts +15 -0
  162. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticComputeSumWithDots.d.ts.map +1 -0
  163. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticComputeSumWithDots.js +233 -0
  164. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSum.d.ts +13 -0
  165. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSum.d.ts.map +1 -0
  166. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSum.js +111 -0
  167. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSumThreshold.d.ts +13 -0
  168. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSumThreshold.d.ts.map +1 -0
  169. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSumThreshold.js +216 -0
  170. package/lib/exercises/math/sequences/arithmetic/sum/firstIntegersSum.d.ts +7 -0
  171. package/lib/exercises/math/sequences/arithmetic/sum/firstIntegersSum.d.ts.map +1 -0
  172. package/lib/exercises/math/sequences/arithmetic/sum/firstIntegersSum.js +94 -0
  173. package/lib/exercises/math/sequences/arithmetic/sum/index.d.ts +5 -0
  174. package/lib/exercises/math/sequences/arithmetic/sum/index.d.ts.map +1 -0
  175. package/lib/exercises/math/sequences/arithmetic/sum/index.js +4 -0
  176. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFromTwoTerms.d.ts +14 -0
  177. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFromTwoTerms.d.ts.map +1 -0
  178. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFromTwoTerms.js +301 -0
  179. package/lib/exercises/math/sequences/geometric/geometricFindRandomTermFromTwoTerms.d.ts +15 -0
  180. package/lib/exercises/math/sequences/geometric/geometricFindRandomTermFromTwoTerms.d.ts.map +1 -0
  181. package/lib/exercises/math/sequences/geometric/geometricFindRandomTermFromTwoTerms.js +260 -0
  182. package/lib/exercises/math/sequences/geometric/situations/geometricFindExplicitFormulaFromSituation.d.ts +14 -0
  183. package/lib/exercises/math/sequences/geometric/situations/geometricFindExplicitFormulaFromSituation.d.ts.map +1 -0
  184. package/lib/exercises/math/sequences/geometric/situations/geometricFindExplicitFormulaFromSituation.js +186 -0
  185. package/lib/exercises/math/sequences/geometric/situations/geometricFindRankFromSituation.d.ts +15 -0
  186. package/lib/exercises/math/sequences/geometric/situations/geometricFindRankFromSituation.d.ts.map +1 -0
  187. package/lib/exercises/math/sequences/geometric/situations/geometricFindRankFromSituation.js +142 -0
  188. package/lib/exercises/math/sequences/geometric/situations/geometricFindRecurrenceFormulaFromSituation.d.ts +14 -0
  189. package/lib/exercises/math/sequences/geometric/situations/geometricFindRecurrenceFormulaFromSituation.d.ts.map +1 -0
  190. package/lib/exercises/math/sequences/geometric/situations/geometricFindRecurrenceFormulaFromSituation.js +205 -0
  191. package/lib/exercises/math/sequences/geometric/situations/geometricFindTermFromSituation.d.ts +15 -0
  192. package/lib/exercises/math/sequences/geometric/situations/geometricFindTermFromSituation.d.ts.map +1 -0
  193. package/lib/exercises/math/sequences/geometric/situations/geometricFindTermFromSituation.js +208 -0
  194. package/lib/exercises/math/sequences/geometric/situations/geometricFindThresholdFromSituation.d.ts +17 -0
  195. package/lib/exercises/math/sequences/geometric/situations/geometricFindThresholdFromSituation.d.ts.map +1 -0
  196. package/lib/exercises/math/sequences/geometric/situations/geometricFindThresholdFromSituation.js +152 -0
  197. package/lib/exercises/math/sequences/geometric/situations/index.d.ts +4 -0
  198. package/lib/exercises/math/sequences/geometric/situations/index.d.ts.map +1 -0
  199. package/lib/exercises/math/sequences/geometric/situations/index.js +5 -0
  200. package/lib/exercises/math/sequences/geometric/sum/geometricComputeSumWithDots.d.ts +15 -0
  201. package/lib/exercises/math/sequences/geometric/sum/geometricComputeSumWithDots.d.ts.map +1 -0
  202. package/lib/exercises/math/sequences/geometric/sum/geometricComputeSumWithDots.js +248 -0
  203. package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsGeneralSum.d.ts +14 -0
  204. package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsGeneralSum.d.ts.map +1 -0
  205. package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsGeneralSum.js +126 -0
  206. package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsSum.d.ts +8 -0
  207. package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsSum.d.ts.map +1 -0
  208. package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsSum.js +91 -0
  209. package/lib/exercises/math/sequences/geometric/sum/index.d.ts +4 -0
  210. package/lib/exercises/math/sequences/geometric/sum/index.d.ts.map +1 -0
  211. package/lib/exercises/math/sequences/geometric/sum/index.js +3 -0
  212. package/lib/exercises/math/sequences/seqArithmGeom/index.d.ts +2 -0
  213. package/lib/exercises/math/sequences/seqArithmGeom/index.d.ts.map +1 -0
  214. package/lib/exercises/math/sequences/seqArithmGeom/index.js +1 -0
  215. package/lib/exercises/math/sequences/seqArithmGeom/seqArithmGeomRecurrenceFormulaUsage.d.ts +14 -0
  216. package/lib/exercises/math/sequences/seqArithmGeom/seqArithmGeomRecurrenceFormulaUsage.d.ts.map +1 -0
  217. package/lib/exercises/math/sequences/seqArithmGeom/seqArithmGeomRecurrenceFormulaUsage.js +202 -0
  218. package/lib/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.d.ts.map +1 -1
  219. package/lib/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.js +0 -2
  220. package/lib/exercises/options/optionFirstTermRankOne.d.ts +16 -0
  221. package/lib/exercises/options/optionFirstTermRankOne.d.ts.map +1 -0
  222. package/lib/exercises/options/optionFirstTermRankOne.js +17 -0
  223. package/lib/exercises/options/optionIsUsePythonDef.d.ts +16 -0
  224. package/lib/exercises/options/optionIsUsePythonDef.d.ts.map +1 -0
  225. package/lib/exercises/options/optionIsUsePythonDef.js +17 -0
  226. package/lib/exercises/options/optionIsWithSuperfluousData.d.ts +16 -0
  227. package/lib/exercises/options/optionIsWithSuperfluousData.d.ts.map +1 -0
  228. package/lib/exercises/options/optionIsWithSuperfluousData.js +17 -0
  229. package/lib/exercises/utils/geogebra/toGGBCommandsProps.d.ts +1 -0
  230. package/lib/exercises/utils/geogebra/toGGBCommandsProps.d.ts.map +1 -1
  231. package/lib/exercises/vea/colinearVectorVEA.d.ts +2 -0
  232. package/lib/exercises/vea/colinearVectorVEA.d.ts.map +1 -0
  233. package/lib/exercises/vea/colinearVectorVEA.js +11 -0
  234. package/lib/exercises/vea/rationalVEA.d.ts.map +1 -1
  235. package/lib/exercises/vea/rationalVEA.js +7 -3
  236. package/lib/exercises/vea/varLineVEA.d.ts.map +1 -1
  237. package/lib/exercises/vea/varLineVEA.js +7 -3
  238. package/lib/exercises/vea/varSignTableVEA.d.ts +8 -0
  239. package/lib/exercises/vea/varSignTableVEA.d.ts.map +1 -1
  240. package/lib/exercises/vea/varSignTableVEA.js +8 -0
  241. package/lib/exercises/vea/xTableLineVEA.d.ts +1 -0
  242. package/lib/exercises/vea/xTableLineVEA.d.ts.map +1 -1
  243. package/lib/exercises/vea/xTableLineVEA.js +1 -0
  244. package/lib/index.d.ts +104 -5
  245. package/lib/index.d.ts.map +1 -1
  246. package/lib/latexTester.d.ts.map +1 -1
  247. package/lib/latexTester.js +3 -1
  248. package/lib/math/geometry/angle.d.ts +2 -0
  249. package/lib/math/geometry/angle.d.ts.map +1 -1
  250. package/lib/math/geometry/angle.js +17 -0
  251. package/lib/math/geometry/line.d.ts +1 -1
  252. package/lib/math/geometry/line.d.ts.map +1 -1
  253. package/lib/math/geometry/line.js +3 -3
  254. package/lib/math/geometry/point.d.ts +1 -1
  255. package/lib/math/geometry/point.d.ts.map +1 -1
  256. package/lib/math/geometry/point.js +4 -1
  257. package/lib/math/geometry/segment.js +1 -1
  258. package/lib/math/numbers/reals/real.d.ts.map +1 -1
  259. package/lib/math/numbers/reals/real.js +4 -0
  260. package/lib/math/probability/randomVariable.d.ts +2 -1
  261. package/lib/math/probability/randomVariable.d.ts.map +1 -1
  262. package/lib/math/probability/randomVariable.js +7 -1
  263. package/lib/math/utils/arithmetic/primeFactors.d.ts +1 -1
  264. package/lib/math/utils/arithmetic/primeFactors.d.ts.map +1 -1
  265. package/lib/math/utils/arithmetic/primeFactors.js +23 -9
  266. package/lib/math/utils/sequences/situations/seqArithmeticSituations.d.ts +53 -0
  267. package/lib/math/utils/sequences/situations/seqArithmeticSituations.d.ts.map +1 -0
  268. package/lib/math/utils/sequences/situations/seqArithmeticSituations.js +1928 -0
  269. package/lib/math/utils/sequences/situations/seqArithmeticUtils.d.ts +15 -0
  270. package/lib/math/utils/sequences/situations/seqArithmeticUtils.d.ts.map +1 -0
  271. package/lib/math/utils/sequences/situations/seqArithmeticUtils.js +136 -0
  272. package/lib/math/utils/sequences/situations/seqGeometricSituations.d.ts +42 -0
  273. package/lib/math/utils/sequences/situations/seqGeometricSituations.d.ts.map +1 -0
  274. package/lib/math/utils/sequences/situations/seqGeometricSituations.js +932 -0
  275. package/lib/math/utils/sequences/situations/seqGeometricUtils.d.ts +12 -0
  276. package/lib/math/utils/sequences/situations/seqGeometricUtils.d.ts.map +1 -0
  277. package/lib/math/utils/sequences/situations/seqGeometricUtils.js +90 -0
  278. package/lib/tests/pdfs/mdTableToLatexTabular.js +1 -1
  279. package/lib/tree/nodes/algebraicNode.d.ts +1 -0
  280. package/lib/tree/nodes/algebraicNode.d.ts.map +1 -1
  281. package/lib/tree/nodes/complex/complexNode.d.ts +1 -0
  282. package/lib/tree/nodes/complex/complexNode.d.ts.map +1 -1
  283. package/lib/tree/nodes/complex/complexNode.js +3 -0
  284. package/lib/tree/nodes/equations/equalNode.d.ts +1 -0
  285. package/lib/tree/nodes/equations/equalNode.d.ts.map +1 -1
  286. package/lib/tree/nodes/equations/equalNode.js +3 -0
  287. package/lib/tree/nodes/equations/equationSolutionNode.d.ts +1 -0
  288. package/lib/tree/nodes/equations/equationSolutionNode.d.ts.map +1 -1
  289. package/lib/tree/nodes/equations/equationSolutionNode.js +3 -0
  290. package/lib/tree/nodes/equations/multiEqualNode.d.ts +1 -0
  291. package/lib/tree/nodes/equations/multiEqualNode.d.ts.map +1 -1
  292. package/lib/tree/nodes/equations/multiEqualNode.js +3 -0
  293. package/lib/tree/nodes/equations/notEqualNode.d.ts +1 -0
  294. package/lib/tree/nodes/equations/notEqualNode.d.ts.map +1 -1
  295. package/lib/tree/nodes/equations/notEqualNode.js +3 -0
  296. package/lib/tree/nodes/functions/absNode.d.ts +1 -0
  297. package/lib/tree/nodes/functions/absNode.d.ts.map +1 -1
  298. package/lib/tree/nodes/functions/absNode.js +7 -0
  299. package/lib/tree/nodes/functions/arcSinNode.d.ts +1 -0
  300. package/lib/tree/nodes/functions/arcSinNode.d.ts.map +1 -1
  301. package/lib/tree/nodes/functions/arcSinNode.js +7 -0
  302. package/lib/tree/nodes/functions/arccosNode.d.ts +1 -0
  303. package/lib/tree/nodes/functions/arccosNode.d.ts.map +1 -1
  304. package/lib/tree/nodes/functions/arccosNode.js +7 -0
  305. package/lib/tree/nodes/functions/arctanNode.d.ts +1 -0
  306. package/lib/tree/nodes/functions/arctanNode.d.ts.map +1 -1
  307. package/lib/tree/nodes/functions/arctanNode.js +7 -0
  308. package/lib/tree/nodes/functions/cosNode.d.ts +1 -0
  309. package/lib/tree/nodes/functions/cosNode.d.ts.map +1 -1
  310. package/lib/tree/nodes/functions/cosNode.js +7 -0
  311. package/lib/tree/nodes/functions/expNode.d.ts +1 -0
  312. package/lib/tree/nodes/functions/expNode.d.ts.map +1 -1
  313. package/lib/tree/nodes/functions/expNode.js +7 -0
  314. package/lib/tree/nodes/functions/factorialNode.d.ts +30 -0
  315. package/lib/tree/nodes/functions/factorialNode.d.ts.map +1 -0
  316. package/lib/tree/nodes/functions/factorialNode.js +79 -0
  317. package/lib/tree/nodes/functions/functionNode.d.ts +2 -1
  318. package/lib/tree/nodes/functions/functionNode.d.ts.map +1 -1
  319. package/lib/tree/nodes/functions/functionNode.js +1 -0
  320. package/lib/tree/nodes/functions/integralNode.d.ts +1 -0
  321. package/lib/tree/nodes/functions/integralNode.d.ts.map +1 -1
  322. package/lib/tree/nodes/functions/integralNode.js +7 -0
  323. package/lib/tree/nodes/functions/log10Node.d.ts +1 -0
  324. package/lib/tree/nodes/functions/log10Node.d.ts.map +1 -1
  325. package/lib/tree/nodes/functions/log10Node.js +7 -0
  326. package/lib/tree/nodes/functions/logNode.d.ts +1 -0
  327. package/lib/tree/nodes/functions/logNode.d.ts.map +1 -1
  328. package/lib/tree/nodes/functions/logNode.js +9 -0
  329. package/lib/tree/nodes/functions/oppositeNode.d.ts +1 -0
  330. package/lib/tree/nodes/functions/oppositeNode.d.ts.map +1 -1
  331. package/lib/tree/nodes/functions/oppositeNode.js +7 -0
  332. package/lib/tree/nodes/functions/sinNode.d.ts +1 -0
  333. package/lib/tree/nodes/functions/sinNode.d.ts.map +1 -1
  334. package/lib/tree/nodes/functions/sinNode.js +7 -0
  335. package/lib/tree/nodes/functions/sqrtNode.d.ts +1 -0
  336. package/lib/tree/nodes/functions/sqrtNode.d.ts.map +1 -1
  337. package/lib/tree/nodes/functions/sqrtNode.js +7 -0
  338. package/lib/tree/nodes/functions/tanNode.d.ts +1 -0
  339. package/lib/tree/nodes/functions/tanNode.d.ts.map +1 -1
  340. package/lib/tree/nodes/functions/tanNode.js +7 -0
  341. package/lib/tree/nodes/geometry/degree.d.ts +1 -0
  342. package/lib/tree/nodes/geometry/degree.d.ts.map +1 -1
  343. package/lib/tree/nodes/geometry/degree.js +7 -0
  344. package/lib/tree/nodes/geometry/lengthNode.d.ts +1 -0
  345. package/lib/tree/nodes/geometry/lengthNode.d.ts.map +1 -1
  346. package/lib/tree/nodes/geometry/lengthNode.js +7 -0
  347. package/lib/tree/nodes/geometry/pointNode.d.ts +1 -0
  348. package/lib/tree/nodes/geometry/pointNode.d.ts.map +1 -1
  349. package/lib/tree/nodes/geometry/pointNode.js +7 -0
  350. package/lib/tree/nodes/geometry/vectorNode.d.ts +1 -0
  351. package/lib/tree/nodes/geometry/vectorNode.d.ts.map +1 -1
  352. package/lib/tree/nodes/geometry/vectorNode.js +7 -0
  353. package/lib/tree/nodes/inequations/inequationNode.d.ts +1 -0
  354. package/lib/tree/nodes/inequations/inequationNode.d.ts.map +1 -1
  355. package/lib/tree/nodes/inequations/inequationNode.js +7 -0
  356. package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts +1 -0
  357. package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts.map +1 -1
  358. package/lib/tree/nodes/inequations/inequationSolutionNode.js +7 -0
  359. package/lib/tree/nodes/node.d.ts +2 -1
  360. package/lib/tree/nodes/node.d.ts.map +1 -1
  361. package/lib/tree/nodes/node.js +2 -0
  362. package/lib/tree/nodes/nodeConstructor.d.ts.map +1 -1
  363. package/lib/tree/nodes/nodeConstructor.js +4 -0
  364. package/lib/tree/nodes/numbers/percentNode.d.ts +1 -0
  365. package/lib/tree/nodes/numbers/percentNode.d.ts.map +1 -1
  366. package/lib/tree/nodes/numbers/percentNode.js +7 -0
  367. package/lib/tree/nodes/operators/addNode.d.ts +1 -0
  368. package/lib/tree/nodes/operators/addNode.d.ts.map +1 -1
  369. package/lib/tree/nodes/operators/addNode.js +7 -0
  370. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts +4 -3
  371. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts.map +1 -1
  372. package/lib/tree/nodes/operators/binomialCoefficientNode.js +24 -5
  373. package/lib/tree/nodes/operators/divideNode.d.ts +1 -0
  374. package/lib/tree/nodes/operators/divideNode.d.ts.map +1 -1
  375. package/lib/tree/nodes/operators/divideNode.js +7 -0
  376. package/lib/tree/nodes/operators/fractionNode.d.ts +1 -0
  377. package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
  378. package/lib/tree/nodes/operators/fractionNode.js +7 -0
  379. package/lib/tree/nodes/operators/limitNode.d.ts +1 -0
  380. package/lib/tree/nodes/operators/limitNode.d.ts.map +1 -1
  381. package/lib/tree/nodes/operators/limitNode.js +7 -0
  382. package/lib/tree/nodes/operators/multiplyNode.d.ts +1 -0
  383. package/lib/tree/nodes/operators/multiplyNode.d.ts.map +1 -1
  384. package/lib/tree/nodes/operators/multiplyNode.js +7 -0
  385. package/lib/tree/nodes/operators/powerNode.d.ts +1 -0
  386. package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
  387. package/lib/tree/nodes/operators/powerNode.js +7 -0
  388. package/lib/tree/nodes/operators/substractNode.d.ts +1 -0
  389. package/lib/tree/nodes/operators/substractNode.d.ts.map +1 -1
  390. package/lib/tree/nodes/operators/substractNode.js +7 -0
  391. package/lib/tree/nodes/polynomials/monomNode.d.ts +1 -0
  392. package/lib/tree/nodes/polynomials/monomNode.d.ts.map +1 -1
  393. package/lib/tree/nodes/polynomials/monomNode.js +7 -0
  394. package/lib/tree/nodes/polynomials/trinomNode.d.ts +1 -0
  395. package/lib/tree/nodes/polynomials/trinomNode.d.ts.map +1 -1
  396. package/lib/tree/nodes/polynomials/trinomNode.js +7 -0
  397. package/lib/tree/nodes/sets/belongsNode.d.ts +1 -0
  398. package/lib/tree/nodes/sets/belongsNode.d.ts.map +1 -1
  399. package/lib/tree/nodes/sets/belongsNode.js +7 -0
  400. package/lib/tree/nodes/sets/discreteSetNode.d.ts +1 -0
  401. package/lib/tree/nodes/sets/discreteSetNode.d.ts.map +1 -1
  402. package/lib/tree/nodes/sets/discreteSetNode.js +7 -0
  403. package/lib/tree/nodes/sets/intervalNode.d.ts +1 -0
  404. package/lib/tree/nodes/sets/intervalNode.d.ts.map +1 -1
  405. package/lib/tree/nodes/sets/intervalNode.js +7 -0
  406. package/lib/tree/nodes/sets/unionIntervalNode.d.ts +1 -0
  407. package/lib/tree/nodes/sets/unionIntervalNode.d.ts.map +1 -1
  408. package/lib/tree/nodes/sets/unionIntervalNode.js +7 -0
  409. package/lib/tree/nodes/variables/variableNode.d.ts +1 -0
  410. package/lib/tree/nodes/variables/variableNode.d.ts.map +1 -1
  411. package/lib/tree/nodes/variables/variableNode.js +7 -0
  412. package/lib/tree/parsers/vectorParser.d.ts.map +1 -1
  413. package/lib/tree/parsers/vectorParser.js +8 -0
  414. package/lib/tree/utilities/nodeShuffler.d.ts.map +1 -1
  415. package/lib/tree/utilities/nodeShuffler.js +3 -0
  416. package/lib/tree/utilities/nodeSimplifier.d.ts.map +1 -1
  417. package/lib/tree/utilities/nodeSimplifier.js +3 -0
  418. package/package.json +1 -1
@@ -0,0 +1,202 @@
1
+ import { addValidProp, tryToAddWrongProp, GeneratorOptionTarget, GeneratorOptionType, shuffleProps, } from "../../../../exercises/exercise.js";
2
+ import { getOptionFirstTermRankOneStuff, } from "../../../../exercises/options/optionFirstTermRankOne.js";
3
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
4
+ import { nodeBySubstitutingVar } from "../../../../math/utils/functions/functionComposition.js";
5
+ import { unfrenchify } from "../../../../math/utils/latex/unfrenchify.js";
6
+ import { randint } from "../../../../math/utils/random/randint.js";
7
+ import { add } from "../../../../tree/nodes/operators/addNode.js";
8
+ import { multiply } from "../../../../tree/nodes/operators/multiplyNode.js";
9
+ import { coinFlip } from "../../../../utils/alea/coinFlip.js";
10
+ import { random } from "../../../../utils/alea/random.js";
11
+ import { alignTex } from "../../../../utils/latex/alignTex.js";
12
+ const getNodeUNext = (coeffs) => {
13
+ const [a, b] = coeffs;
14
+ const nodeUn = "u_{n}".toTree();
15
+ return add(multiply(a, nodeUn), b);
16
+ };
17
+ const computeNodeNext = (nodeUNext, nodeU) => {
18
+ return nodeBySubstitutingVar(nodeUNext, nodeU, "u_{n}".toTree());
19
+ };
20
+ const getDictSequenceSlice = (coeffs, rank1, value1, rankAsked) => {
21
+ const nodeUNext = getNodeUNext(coeffs);
22
+ return [...Array(rankAsked - rank1).keys()]
23
+ .map((i) => rank1 + 1 + i)
24
+ .reduce((acc, rank) => {
25
+ acc[rank] = computeNodeNext(nodeUNext, acc[rank - 1].simplify());
26
+ return acc;
27
+ }, { [rank1]: value1.toTree() });
28
+ };
29
+ const getInstruction = (identifiers) => {
30
+ const { rank1, value1, coeffs, rankAsked } = identifiers;
31
+ return `$(u_n)$ est une suite définie par, pour $n\\geq 1$ :
32
+
33
+ $$
34
+ u_{n+1} = ${getNodeUNext(coeffs).toTex()}
35
+ $$
36
+
37
+ et $u_{${rank1}} = ${value1}$.
38
+
39
+ Calculer le terme $u_{${rankAsked}}$.`;
40
+ };
41
+ const getStartStatement = (identifiers) => {
42
+ const { rank1 } = identifiers;
43
+ const askedRank = rank1 + 1;
44
+ return `u_{${askedRank}}`;
45
+ };
46
+ const getAnswerStuff = (identifiers) => {
47
+ const { rank1, value1, coeffs, rankAsked } = identifiers;
48
+ const dictSequenceSlice = getDictSequenceSlice(coeffs, rank1, value1, rankAsked);
49
+ return {
50
+ dictSequenceSlice,
51
+ answerNode: dictSequenceSlice[rankAsked],
52
+ };
53
+ };
54
+ const getAnswer = (identifiers) => {
55
+ return getAnswerStuff(identifiers).answerNode.simplify().toTex();
56
+ };
57
+ const getHint = (identifiers) => {
58
+ const { rank1, rankAsked } = identifiers;
59
+ const distanceRankAsked = rankAsked - rank1;
60
+ if (distanceRankAsked === 1) {
61
+ return `Il suffit de remplacer $n$ par $${rankAsked - 1}$ dans la formule de récurrence de la suite $u$.`;
62
+ }
63
+ else {
64
+ return `Remplace $n$ par $${rank1}$ dans la formule de récurrence de la suite $u$ pour calculer $u_{${rank1 + 1}}$.
65
+ Puis continue ainsi de suite jusqu'à trouver $u_{${rankAsked}}$`;
66
+ }
67
+ };
68
+ const getCorrection = (identifiers) => {
69
+ const { rank1, rankAsked, coeffs } = identifiers;
70
+ const answerStuff = getAnswerStuff(identifiers);
71
+ const dictSequenceSlice = answerStuff.dictSequenceSlice;
72
+ delete dictSequenceSlice[rank1];
73
+ return `On utilise la formule de récurrence, jusqu'à trouver $u_{${rankAsked}}$ :
74
+
75
+ ${Object.entries(dictSequenceSlice).map(([strRank, node]) => {
76
+ const nodeUPrev = `u_{${Number(strRank) - 1}}`.toTree();
77
+ return `${alignTex([
78
+ [
79
+ `u_{${strRank}}`,
80
+ "=",
81
+ computeNodeNext(getNodeUNext(coeffs), nodeUPrev).toTex(),
82
+ ],
83
+ ["", "=", node.toTex()],
84
+ ["", "=", node.simplify().toTex()],
85
+ ])}`;
86
+ }).join(`
87
+
88
+ `)}
89
+
90
+ `;
91
+ };
92
+ const getPropositions = (n, { answer, ...identifiers }, optsIn) => {
93
+ const opts = optsIn ?? optsDefault;
94
+ const firstRank = opts.firstTermRankOne ? 1 : 0;
95
+ const propositions = [];
96
+ addValidProp(propositions, answer);
97
+ const { rank1, rankAsked, coeffs } = identifiers;
98
+ const arrAnswerWrong = [];
99
+ //too short / too far
100
+ {
101
+ const arrRankBelow = [...Array(2).keys()]
102
+ .map((i) => i + 1)
103
+ .map((i) => rankAsked - i)
104
+ .filter((rank) => rank > rank1);
105
+ const arrRankAbove = [rankAsked + 1];
106
+ [...arrRankBelow, ...arrRankAbove].forEach((rankWrong) => {
107
+ const identifiersWrong = Object.assign({}, identifiers, {
108
+ rankAsked: rankWrong,
109
+ });
110
+ const texWrong = getAnswer(identifiersWrong);
111
+ tryToAddWrongProp(propositions, texWrong);
112
+ arrAnswerWrong.push(texWrong);
113
+ });
114
+ }
115
+ //student: u_n -> n
116
+ {
117
+ const nodeWrong = computeNodeNext(getNodeUNext(coeffs), (rankAsked - 1).toTree()).simplify();
118
+ const texWrong = nodeWrong.toTex();
119
+ tryToAddWrongProp(propositions, texWrong);
120
+ arrAnswerWrong.push(texWrong);
121
+ }
122
+ //student: u_{rank1} -> u_{firstRank}
123
+ {
124
+ const identifiersWrong = Object.assign({}, identifiers, {
125
+ rank1: firstRank,
126
+ });
127
+ const texWrong = getAnswer(identifiersWrong);
128
+ tryToAddWrongProp(propositions, texWrong);
129
+ arrAnswerWrong.push(texWrong);
130
+ }
131
+ //terror
132
+ if (coinFlip()) {
133
+ const answerRandom = random([answer, ...arrAnswerWrong]);
134
+ const answerTerror = unfrenchify(answerRandom) + randint(-25, 26, [0]).frenchify();
135
+ tryToAddWrongProp(propositions, answerTerror);
136
+ }
137
+ return shuffleProps(propositions, n);
138
+ };
139
+ const isAnswerValid = (ans, { answer, rank1 }) => {
140
+ return [
141
+ answer,
142
+ `u_${rank1 + 1}=${answer}`,
143
+ `u_{${rank1 + 1}}=${answer}`,
144
+ ].includes(ans);
145
+ };
146
+ const getSeqArithmGeomRecurrenceFormulaUsageQuestion = (optsIn) => {
147
+ const opts = optsIn ?? optsDefault;
148
+ const firstRank = opts.firstTermRankOne ? 1 : 0;
149
+ const distanceOfRankAsked = Number(opts.distanceOfRankAsked);
150
+ const rank1 = randint(firstRank, 20);
151
+ const value1 = randint(-10, 10);
152
+ const a = randint(-10, 10, [0]);
153
+ const b = randint(-10, 10, [0]);
154
+ const coeffs = [a, b];
155
+ const rankAsked = rank1 + distanceOfRankAsked;
156
+ const identifiers = { rank1, value1, coeffs, rankAsked };
157
+ return getQuestionFromIdentifiers(identifiers);
158
+ };
159
+ const getQuestionFromIdentifiers = (identifiers, opts) => {
160
+ const question = {
161
+ instruction: getInstruction(identifiers, opts),
162
+ startStatement: getStartStatement(identifiers, opts),
163
+ answer: getAnswer(identifiers, opts),
164
+ keys: [],
165
+ answerFormat: "tex",
166
+ identifiers,
167
+ hint: getHint(identifiers, opts),
168
+ correction: getCorrection(identifiers, opts),
169
+ options: opts,
170
+ };
171
+ return question;
172
+ };
173
+ const { optsDefaultFirstTermRankOne, generatorOptionFirstTermRankOne } = getOptionFirstTermRankOneStuff(false);
174
+ const optsDefault = Object.assign({}, optsDefaultFirstTermRankOne, {
175
+ distanceOfRankAsked: "1",
176
+ });
177
+ const options = [
178
+ generatorOptionFirstTermRankOne,
179
+ {
180
+ id: "distanceOfRankAsked",
181
+ label: "nombre de rangs d'écart",
182
+ target: GeneratorOptionTarget.generation,
183
+ type: GeneratorOptionType.select,
184
+ values: ["1", "2", "3"],
185
+ defaultValue: optsDefault.distanceOfRankAsked,
186
+ },
187
+ ];
188
+ export const seqArithmGeomRecurrenceFormulaUsage = {
189
+ id: "seqArithmGeomRecurrenceFormulaUsage",
190
+ connector: "=",
191
+ label: "Utiliser la formule de récurrence d'une suite arithmético-géométrique",
192
+ isSingleStep: false,
193
+ generator: (nb, opts) => getDistinctQuestions(() => getSeqArithmGeomRecurrenceFormulaUsageQuestion(opts), nb),
194
+ options,
195
+ qcmTimer: 60,
196
+ freeTimer: 60,
197
+ getPropositions,
198
+ isAnswerValid,
199
+ subject: "Mathématiques",
200
+ getQuestionFromIdentifiers,
201
+ hasHintAndCorrection: true,
202
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"placeAssociateAngleOnCircle.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAerC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AA4LF,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,WAAW,CAqB7D,CAAC"}
1
+ {"version":3,"file":"placeAssociateAngleOnCircle.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAerC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AA0LF,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,WAAW,CAqB7D,CAAC"}
@@ -124,8 +124,6 @@ const isGGBAnswerValid = (ans, { ggbAnswer, ...identifiers }) => {
124
124
  .map((p) => ggbPointToCoords(p))
125
125
  .map((coords, i) => new Point(`K_${i}`, coords.x, coords.y));
126
126
  const answerPoint = getAnswerPoint(identifiers);
127
- console.log(points.map((e) => [e.x.toTex(), e.y.toTex()]));
128
- console.log(answerPoint.x.toTex(), answerPoint.y.toTex());
129
127
  return (points.length < 5 &&
130
128
  points.some((point) => point.distanceTo(answerPoint) < 0.1));
131
129
  };
@@ -0,0 +1,16 @@
1
+ import { GeneratorOptionTarget, GeneratorOptionType } from "../exercise.js";
2
+ export type OptionFirstTermRankOne = {
3
+ firstTermRankOne: boolean;
4
+ };
5
+ export declare const getOptionFirstTermRankOneStuff: (isFirstTermRankOneDefault?: boolean) => {
6
+ generatorOptionFirstTermRankOne: {
7
+ id: string;
8
+ label: string;
9
+ type: GeneratorOptionType.checkbox;
10
+ target: GeneratorOptionTarget;
11
+ tooltipText?: string;
12
+ defaultValue?: boolean;
13
+ };
14
+ optsDefaultFirstTermRankOne: OptionFirstTermRankOne;
15
+ };
16
+ //# sourceMappingURL=optionFirstTermRankOne.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optionFirstTermRankOne.d.ts","sourceRoot":"","sources":["../../../src/exercises/options/optionFirstTermRankOne.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,4BAA2B,OAAe;;;;;;;;;;CAkB3C,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { GeneratorOptionTarget, GeneratorOptionType, } from "../exercise.js";
2
+ export const getOptionFirstTermRankOneStuff = (isFirstTermRankOneDefault = false) => {
3
+ const optsDefaultFirstTermRankOne = {
4
+ firstTermRankOne: isFirstTermRankOneDefault,
5
+ };
6
+ const generatorOptionFirstTermRankOne = {
7
+ id: "firstTermRankOne",
8
+ label: "Utiliser $u_1$ comme premier terme",
9
+ target: GeneratorOptionTarget.generation,
10
+ type: GeneratorOptionType.checkbox,
11
+ defaultValue: isFirstTermRankOneDefault,
12
+ };
13
+ return {
14
+ generatorOptionFirstTermRankOne,
15
+ optsDefaultFirstTermRankOne,
16
+ };
17
+ };
@@ -0,0 +1,16 @@
1
+ import { GeneratorOptionTarget, GeneratorOptionType } from "../exercise.js";
2
+ export type OptionIsUsePythonDef = {
3
+ isUsePythonDef: boolean;
4
+ };
5
+ export declare const getOptionIsUsePythonDefStuff: (isUsePythonDefDefault?: boolean) => {
6
+ generatorOptionIsUsePythonDef: {
7
+ id: string;
8
+ label: string;
9
+ type: GeneratorOptionType.checkbox;
10
+ target: GeneratorOptionTarget;
11
+ tooltipText?: string;
12
+ defaultValue?: boolean;
13
+ };
14
+ optsDefaultIsUsePythonDef: OptionIsUsePythonDef;
15
+ };
16
+ //# sourceMappingURL=optionIsUsePythonDef.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optionIsUsePythonDef.d.ts","sourceRoot":"","sources":["../../../src/exercises/options/optionIsUsePythonDef.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,wBAAuB,OAAe;;;;;;;;;;CAkBvC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { GeneratorOptionTarget, GeneratorOptionType, } from "../exercise.js";
2
+ export const getOptionIsUsePythonDefStuff = (isUsePythonDefDefault = false) => {
3
+ const optsDefaultIsUsePythonDef = {
4
+ isUsePythonDef: isUsePythonDefDefault,
5
+ };
6
+ const generatorOptionIsUsePythonDef = {
7
+ id: "isUsePythonDef",
8
+ label: "Utiliser def <fonction>:",
9
+ target: GeneratorOptionTarget.generation,
10
+ type: GeneratorOptionType.checkbox,
11
+ defaultValue: optsDefaultIsUsePythonDef.isUsePythonDef,
12
+ };
13
+ return {
14
+ generatorOptionIsUsePythonDef,
15
+ optsDefaultIsUsePythonDef,
16
+ };
17
+ };
@@ -0,0 +1,16 @@
1
+ import { GeneratorOptionTarget, GeneratorOptionType } from "../exercise.js";
2
+ export type OptionIsWithSuperfluousData = {
3
+ isWithSuperfluousData: boolean;
4
+ };
5
+ export declare const getOptionIsWithSuperfluousData: (isWithSuperfluousData?: boolean) => {
6
+ generatorOptionIsWithSuperfluousData: {
7
+ id: string;
8
+ label: string;
9
+ type: GeneratorOptionType.checkbox;
10
+ target: GeneratorOptionTarget;
11
+ tooltipText?: string;
12
+ defaultValue?: boolean;
13
+ };
14
+ optsDefaultIsWithSuperfluousData: OptionIsWithSuperfluousData;
15
+ };
16
+ //# sourceMappingURL=optionIsWithSuperfluousData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optionIsWithSuperfluousData.d.ts","sourceRoot":"","sources":["../../../src/exercises/options/optionIsWithSuperfluousData.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,2BAA2B,GAAG;IACxC,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,wBAAuB,OAAe;;;;;;;;;;CAkBvC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { GeneratorOptionTarget, GeneratorOptionType, } from "../exercise.js";
2
+ export const getOptionIsWithSuperfluousData = (isWithSuperfluousData = false) => {
3
+ const optsDefaultIsWithSuperfluousData = {
4
+ isWithSuperfluousData,
5
+ };
6
+ const generatorOptionIsWithSuperfluousData = {
7
+ id: "isWithSuperfluousData",
8
+ label: "Ajouter des données superflues",
9
+ target: GeneratorOptionTarget.generation,
10
+ type: GeneratorOptionType.checkbox,
11
+ defaultValue: optsDefaultIsWithSuperfluousData.isWithSuperfluousData,
12
+ };
13
+ return {
14
+ generatorOptionIsWithSuperfluousData,
15
+ optsDefaultIsWithSuperfluousData,
16
+ };
17
+ };
@@ -10,5 +10,6 @@ export type ToGGBCommandsProps = {
10
10
  showLength?: boolean;
11
11
  label?: string;
12
12
  thickness?: number;
13
+ isVisible?: boolean;
13
14
  };
14
15
  //# sourceMappingURL=toGGBCommandsProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toGGBCommandsProps.d.ts","sourceRoot":"","sources":["../../../../src/exercises/utils/geogebra/toGGBCommandsProps.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"toGGBCommandsProps.d.ts","sourceRoot":"","sources":["../../../../src/exercises/utils/geogebra/toGGBCommandsProps.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const colinearVectorVEA: (studentAns: string, answer: string) => boolean;
2
+ //# sourceMappingURL=colinearVectorVEA.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colinearVectorVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/colinearVectorVEA.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,GAAI,YAAY,MAAM,EAAE,QAAQ,MAAM,YAQnE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { vectorParser } from "../../tree/parsers/vectorParser.js";
2
+ export const colinearVectorVEA = (studentAns, answer) => {
3
+ const vec = vectorParser(studentAns);
4
+ if (!vec) {
5
+ return false;
6
+ }
7
+ const solVector = vectorParser(answer);
8
+ if (!solVector)
9
+ throw new Error("answer malformed in colinearVectorVEA");
10
+ return solVector.isColinear(vec);
11
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"rationalVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/rationalVEA.ts"],"names":[],"mappings":"AAMA,KAAK,IAAI,GAAG;IACV,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AACF,eAAO,MAAM,WAAW,GACtB,YAAY,MAAM,EAClB,QAAQ,MAAM,EACd,2DAA0D,IAIzD,YAgCF,CAAC"}
1
+ {"version":3,"file":"rationalVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/rationalVEA.ts"],"names":[],"mappings":"AAOA,KAAK,IAAI,GAAG;IACV,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AACF,eAAO,MAAM,WAAW,GACtB,YAAY,MAAM,EAClB,QAAQ,MAAM,EACd,2DAA0D,IAIzD,YAkCF,CAAC"}
@@ -1,10 +1,11 @@
1
+ import { round } from "../../math/utils/round.js";
1
2
  import { isNumberNode } from "../../tree/nodes/numbers/numberNode.js";
2
3
  import { parseAlgebraic } from "../../tree/parsers/latexParser.js";
3
4
  import { rationalParser } from "../../tree/parsers/rationalParser.js";
4
5
  import { handleVEAError } from "../../utils/errors/handleVEAError.js";
5
6
  export const rationalVEA = (studentAns, answer, { allowNonIrreductible, decimalPrecision, allowDecimal } = {
6
7
  allowNonIrreductible: true,
7
- decimalPrecision: undefined,
8
+ decimalPrecision: 2,
8
9
  allowDecimal: true,
9
10
  }) => {
10
11
  allowDecimal = allowDecimal ?? true;
@@ -23,8 +24,11 @@ export const rationalVEA = (studentAns, answer, { allowNonIrreductible, decimalP
23
24
  else {
24
25
  //! accepte bien les arrondis au centième par ex, mais va aussi accepter les arrondis au millième
25
26
  //! je juge ca ok
26
- return (Math.abs(parsed.evaluate() - parsedAnswer.evaluate()) <
27
- Math.pow(10, -decimalPrecision));
27
+ return (round(parsed.evaluate(), decimalPrecision) ===
28
+ round(parsedAnswer.evaluate(), decimalPrecision)
29
+ // Math.abs(parsed.evaluate() - parsedAnswer.evaluate()) <
30
+ // Math.pow(10, -decimalPrecision)
31
+ );
28
32
  }
29
33
  }
30
34
  else if (allowNonIrreductible) {
@@ -1 +1 @@
1
- {"version":3,"file":"varLineVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/varLineVEA.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,EAAE,EAAE,aAAa,MAAM,EAAE,EAAE,YAiClE,CAAC"}
1
+ {"version":3,"file":"varLineVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/varLineVEA.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,EAAE,EAAE,aAAa,MAAM,EAAE,EAAE,YAmClE,CAAC"}
@@ -12,9 +12,12 @@ export const varLineVEA = (ans, answerTable) => {
12
12
  for (let i = 1; i < table[0].length; i++) {
13
13
  const value = [table[0][i], table[1][i], table[2][i]].filter(isValue);
14
14
  //plusieurs valeurs dans une même colonne
15
- if (value.length !== 1)
15
+ if (value.every((el) => el === "\\ "))
16
+ flattenedAns.push("\\ ");
17
+ else if (value.length !== 1)
16
18
  return false;
17
- flattenedAns.push(value[0]);
19
+ else
20
+ flattenedAns.push(value[0]);
18
21
  }
19
22
  return flattenedAns;
20
23
  };
@@ -37,7 +40,8 @@ export const varLineVEA = (ans, answerTable) => {
37
40
  continue;
38
41
  }
39
42
  else {
40
- return rationalVEA(value, flattenedAnswerTable[i]);
43
+ return ((!isValue(value) && !isValue(flattenedAnswerTable[i])) ||
44
+ rationalVEA(value, flattenedAnswerTable[i]));
41
45
  }
42
46
  }
43
47
  return true;
@@ -1,2 +1,10 @@
1
+ /**
2
+ *
3
+ * @param ans
4
+ * @param answerTable
5
+ * @returns
6
+ * gère les trois lignes de variation comme une seule
7
+ * par défaut rationalVEA un peu partout
8
+ */
1
9
  export declare const varSignTableVEA: (ans: string[][], answerTable: string[][]) => boolean;
2
10
  //# sourceMappingURL=varSignTableVEA.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"varSignTableVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/varSignTableVEA.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,EAAE,EAAE,EAAE,aAAa,MAAM,EAAE,EAAE,YAMvE,CAAC"}
1
+ {"version":3,"file":"varSignTableVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/varSignTableVEA.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,EAAE,EAAE,EAAE,aAAa,MAAM,EAAE,EAAE,YAMvE,CAAC"}
@@ -1,6 +1,14 @@
1
1
  import { signLineVEA } from "./signLineVEA.js";
2
2
  import { varLineVEA } from "./varLineVEA.js";
3
3
  import { xTableLineVEA } from "./xTableLineVEA.js";
4
+ /**
5
+ *
6
+ * @param ans
7
+ * @param answerTable
8
+ * @returns
9
+ * gère les trois lignes de variation comme une seule
10
+ * par défaut rationalVEA un peu partout
11
+ */
4
12
  export const varSignTableVEA = (ans, answerTable) => {
5
13
  return (xTableLineVEA(ans[0], answerTable[0]) &&
6
14
  signLineVEA(ans[1], answerTable[1]) &&
@@ -3,6 +3,7 @@
3
3
  * @param ans ligne des x du student
4
4
  * @param answerTable ligne des x de la réponse
5
5
  * cette fonction ne check que la ligne des x dans un tableau de variations / signes
6
+ * TODO passer en argument le VEA check qui est ajd fixé à rationalVEA
6
7
  */
7
8
  export declare const xTableLineVEA: (ans: string[], answerTable: string[]) => boolean;
8
9
  //# sourceMappingURL=xTableLineVEA.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xTableLineVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/xTableLineVEA.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,EAAE,aAAa,MAAM,EAAE,YAYjE,CAAC"}
1
+ {"version":3,"file":"xTableLineVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/xTableLineVEA.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,EAAE,aAAa,MAAM,EAAE,YAYjE,CAAC"}
@@ -3,6 +3,7 @@
3
3
  * @param ans ligne des x du student
4
4
  * @param answerTable ligne des x de la réponse
5
5
  * cette fonction ne check que la ligne des x dans un tableau de variations / signes
6
+ * TODO passer en argument le VEA check qui est ajd fixé à rationalVEA
6
7
  */
7
8
  import { rationalVEA } from "./rationalVEA.js";
8
9
  export const xTableLineVEA = (ans, answerTable) => {
package/lib/index.d.ts CHANGED
@@ -1504,8 +1504,11 @@ declare const mathExercises: (Exercise<{
1504
1504
  a: number;
1505
1505
  b: number;
1506
1506
  c: number;
1507
- isDevForm: boolean;
1508
- }, Record<string, string | boolean | string[]>> | Exercise<{
1507
+ isDevForm?: boolean;
1508
+ form: "cano" | "dev" | "facto";
1509
+ }, {
1510
+ form: string[];
1511
+ }> | Exercise<{
1509
1512
  a: number;
1510
1513
  b: number;
1511
1514
  c: number;
@@ -1537,6 +1540,17 @@ declare const mathExercises: (Exercise<{
1537
1540
  x1: number;
1538
1541
  x2: number;
1539
1542
  }, Record<string, string | boolean | string[]>> | Exercise<{
1543
+ coeffs: number[];
1544
+ initTable: string[][];
1545
+ }, Record<string, string | boolean | string[]>> | Exercise<{
1546
+ a: number;
1547
+ b: number;
1548
+ c: number;
1549
+ k: number;
1550
+ }, {
1551
+ isAskingRoots: boolean;
1552
+ nbSols: string[];
1553
+ }> | Exercise<{
1540
1554
  width: number;
1541
1555
  height: number;
1542
1556
  }, Record<string, string | boolean | string[]>> | Exercise<{
@@ -2103,17 +2117,75 @@ declare const mathExercises: (Exercise<{
2103
2117
  rotationAngle: number;
2104
2118
  }, Record<string, string | boolean | string[]>> | Exercise<{
2105
2119
  triangleIdentifiers: import("./math/geometry/triangles/triangle.js").TriangleIdentifiers;
2120
+ }, Record<string, string | boolean | string[]>> | Exercise<{
2121
+ pointsIdentifiers: import("./math/geometry/point.js").PointIdentifiers[];
2122
+ }, Record<string, string | boolean | string[]>> | Exercise<{
2123
+ uIds: import("./math/geometry/vector.js").VectorIdentifiers;
2124
+ vIds: import("./math/geometry/vector.js").VectorIdentifiers;
2125
+ }, Record<string, string | boolean | string[]>> | Exercise<{
2126
+ vecIds1: import("./math/geometry/vector.js").VectorIdentifiers;
2127
+ vecIds2: import("./math/geometry/vector.js").VectorIdentifiers;
2128
+ pointIds1A: import("./math/geometry/point.js").PointIdentifiers;
2129
+ pointIds2A: import("./math/geometry/point.js").PointIdentifiers;
2130
+ isVec1OnAxis: boolean;
2131
+ isOnAxisX: boolean;
2132
+ }, {
2133
+ isSameStartPoint: boolean;
2134
+ }> | Exercise<{
2135
+ pointIds: import("./math/geometry/point.js").PointIdentifiers[];
2136
+ }, {
2137
+ sectorOfPointH: string;
2138
+ isPositiveCoordsOnly: boolean;
2139
+ }> | Exercise<{
2140
+ pointIds: import("./math/geometry/point.js").PointIdentifiers[];
2106
2141
  }, Record<string, string | boolean | string[]>> | Exercise<{
2107
2142
  type: number;
2108
2143
  normU: number;
2109
2144
  normV: number;
2110
2145
  udotv: number;
2111
2146
  }, Record<string, string | boolean | string[]>> | Exercise<{
2112
- pointsIdentifiers: import("./math/geometry/point.js").PointIdentifiers[];
2147
+ nodeIdsUDotV: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
2148
+ nodeIdsA: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
2149
+ nodeIdsB: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
2150
+ }, {
2151
+ isSignOnly: boolean;
2152
+ }> | Exercise<{
2153
+ nodeIdsU: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
2154
+ nodeIdsV: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
2113
2155
  }, Record<string, string | boolean | string[]>> | Exercise<{
2114
- uIds: import("./math/geometry/vector.js").VectorIdentifiers;
2115
- vIds: import("./math/geometry/vector.js").VectorIdentifiers;
2156
+ nodeIdsU: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
2157
+ nodeIdsV: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
2158
+ }, Record<string, string | boolean | string[]>> | Exercise<{
2159
+ vecIdsU: import("./math/geometry/vector.js").VectorIdentifiers;
2160
+ vecIdsV: import("./math/geometry/vector.js").VectorIdentifiers;
2161
+ }, Record<string, string | boolean | string[]>> | Exercise<{
2162
+ vecIdsU: import("./math/geometry/vector.js").VectorIdentifiers;
2163
+ vecIdsV: import("./math/geometry/vector.js").VectorIdentifiers;
2164
+ pointIds: import("./math/geometry/point.js").PointIdentifiers;
2165
+ pointNames: string[];
2166
+ }, Record<string, string | boolean | string[]>> | Exercise<{
2167
+ vecIdsU: import("./math/geometry/vector.js").VectorIdentifiers;
2168
+ vecIdsV: import("./math/geometry/vector.js").VectorIdentifiers;
2169
+ pointIds: import("./math/geometry/point.js").PointIdentifiers;
2170
+ pointNames: string[];
2171
+ }, Record<string, string | boolean | string[]>> | Exercise<{
2172
+ vecIdsU: import("./math/geometry/vector.js").VectorIdentifiers;
2173
+ vecIdsV: import("./math/geometry/vector.js").VectorIdentifiers;
2174
+ pointIds: import("./math/geometry/point.js").PointIdentifiers;
2175
+ pointNames: string[];
2176
+ }, Record<string, string | boolean | string[]>> | Exercise<{
2177
+ triangleIds: import("./math/geometry/triangles/triangle.js").TriangleIdentifiers;
2178
+ indexAngle: number;
2179
+ }, Record<string, string | boolean | string[]>> | Exercise<{
2180
+ triangleIds: import("./math/geometry/triangles/triangle.js").TriangleIdentifiers;
2181
+ indexSide: number;
2116
2182
  }, Record<string, string | boolean | string[]>> | Exercise<{
2183
+ sectorOfPointH: string;
2184
+ triangleIds: import("./math/geometry/triangles/triangle.js").TriangleIdentifiers;
2185
+ pointIdsH: import("./math/geometry/point.js").PointIdentifiers;
2186
+ }, {
2187
+ sectorOfPointH: string;
2188
+ }> | Exercise<{
2117
2189
  xA: number;
2118
2190
  xB: number;
2119
2191
  xC: number;
@@ -2503,6 +2575,12 @@ declare const mathExercises: (Exercise<{
2503
2575
  BIds: import("./math/geometry/point.js").PointIdentifiers;
2504
2576
  CIds: import("./math/geometry/point.js").PointIdentifiers;
2505
2577
  }, Record<string, string | boolean | string[]>> | Exercise<{
2578
+ point1Ids: import("./math/geometry/point.js").PointIdentifiers;
2579
+ point2Ids: import("./math/geometry/point.js").PointIdentifiers;
2580
+ point3Ids?: import("./math/geometry/point.js").PointIdentifiers;
2581
+ }, {
2582
+ withoutPerp: boolean;
2583
+ }> | Exercise<{
2506
2584
  triangleIdentifiers: import("./math/geometry/triangles/triangle.js").TriangleIdentifiers;
2507
2585
  type: number;
2508
2586
  useAngles: boolean;
@@ -3002,6 +3080,27 @@ declare const mathExercises: (Exercise<{
3002
3080
  valuesIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
3003
3081
  probasIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
3004
3082
  intervalIds: import("./tree/nodes/sets/intervalNode.js").IntervalNodeIdentifiers;
3083
+ }, Record<string, string | boolean | string[]>> | Exercise<{
3084
+ params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
3085
+ }, Record<string, string | boolean | string[]>> | Exercise<{
3086
+ params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
3087
+ xi: number;
3088
+ }, Record<string, string | boolean | string[]>> | Exercise<{
3089
+ params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
3090
+ }, {
3091
+ averageFormulation: string;
3092
+ }> | Exercise<{
3093
+ params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
3094
+ }, Record<string, string | boolean | string[]>> | Exercise<{
3095
+ params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
3096
+ }, Record<string, string | boolean | string[]>> | Exercise<{
3097
+ params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
3098
+ }, Record<string, string | boolean | string[]>> | Exercise<{
3099
+ params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
3100
+ initTable: string[][];
3101
+ }, Record<string, string | boolean | string[]>> | Exercise<{
3102
+ xValues: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
3103
+ pValues: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
3005
3104
  }, Record<string, string | boolean | string[]>> | Exercise<{
3006
3105
  pA: number;
3007
3106
  pB: number;