math-exercises 3.0.69 → 3.0.70

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 (477) hide show
  1. package/lib/exercises/exercise.d.ts +9 -1
  2. package/lib/exercises/exercise.d.ts.map +1 -1
  3. package/lib/exercises/math/calcul/addAndSub.d.ts.map +1 -1
  4. package/lib/exercises/math/calcul/addAndSub.js +4 -0
  5. package/lib/exercises/math/calcul/addAndSubWithoutRelatives.d.ts +3 -0
  6. package/lib/exercises/math/calcul/addAndSubWithoutRelatives.d.ts.map +1 -1
  7. package/lib/exercises/math/calcul/addAndSubWithoutRelatives.js +33 -20
  8. package/lib/exercises/math/calcul/digitDecimalRank.d.ts.map +1 -1
  9. package/lib/exercises/math/calcul/digitDecimalRank.js +36 -13
  10. package/lib/exercises/math/calcul/digitDecimalRankNumber.d.ts.map +1 -1
  11. package/lib/exercises/math/calcul/digitDecimalRankNumber.js +27 -12
  12. package/lib/exercises/math/calcul/digitRank.d.ts.map +1 -1
  13. package/lib/exercises/math/calcul/digitRank.js +37 -13
  14. package/lib/exercises/math/calcul/digitRankNumber.d.ts.map +1 -1
  15. package/lib/exercises/math/calcul/digitRankNumber.js +21 -12
  16. package/lib/exercises/math/calcul/mentalCaluls/mentalAddAndSub.d.ts.map +1 -1
  17. package/lib/exercises/math/calcul/mentalCaluls/mentalAddAndSub.js +33 -17
  18. package/lib/exercises/math/calcul/mentalCaluls/mentalAddAndSubNoRelative.d.ts.map +1 -1
  19. package/lib/exercises/math/calcul/mentalCaluls/mentalAddAndSubNoRelative.js +36 -18
  20. package/lib/exercises/math/calcul/mentalCaluls/mentalDivisions.d.ts.map +1 -1
  21. package/lib/exercises/math/calcul/mentalCaluls/mentalDivisions.js +38 -30
  22. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplications.d.ts.map +1 -1
  23. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplications.js +35 -21
  24. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplicationsNoRelative.d.ts.map +1 -1
  25. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplicationsNoRelative.js +4 -0
  26. package/lib/exercises/math/calcul/mentalCaluls/mentalPercentage.d.ts.map +1 -1
  27. package/lib/exercises/math/calcul/mentalCaluls/mentalPercentage.js +22 -9
  28. package/lib/exercises/math/calcul/operations/expressionNature.d.ts +2 -1
  29. package/lib/exercises/math/calcul/operations/expressionNature.d.ts.map +1 -1
  30. package/lib/exercises/math/calcul/operations/expressionNature.js +36 -15
  31. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesis.d.ts +2 -1
  32. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesis.d.ts.map +1 -1
  33. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesis.js +26 -15
  34. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesisNoRelatives.d.ts +2 -1
  35. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesisNoRelatives.d.ts.map +1 -1
  36. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesisNoRelatives.js +26 -17
  37. package/lib/exercises/math/calcul/operations/operationsPrioritiesWithoutRelative.d.ts +1 -0
  38. package/lib/exercises/math/calcul/operations/operationsPrioritiesWithoutRelative.d.ts.map +1 -1
  39. package/lib/exercises/math/calcul/operations/operationsPrioritiesWithoutRelative.js +89 -60
  40. package/lib/exercises/math/calcul/ordering/decimalOrdering.d.ts.map +1 -1
  41. package/lib/exercises/math/calcul/ordering/decimalOrdering.js +30 -13
  42. package/lib/exercises/math/calcul/ordering/decimalOrderingNoRelatives.d.ts.map +1 -1
  43. package/lib/exercises/math/calcul/ordering/decimalOrderingNoRelatives.js +26 -13
  44. package/lib/exercises/math/calcul/ordering/framing.d.ts.map +1 -1
  45. package/lib/exercises/math/calcul/ordering/framing.js +70 -59
  46. package/lib/exercises/math/calcul/ordering/integerOrdering.d.ts.map +1 -1
  47. package/lib/exercises/math/calcul/ordering/integerOrdering.js +30 -11
  48. package/lib/exercises/math/calcul/proportionality/findCoeffInProportionalTableNonIntegers.d.ts.map +1 -1
  49. package/lib/exercises/math/calcul/proportionality/findCoeffInProportionalTableNonIntegers.js +4 -0
  50. package/lib/exercises/math/calcul/proportionality/isTableProportional.d.ts.map +1 -1
  51. package/lib/exercises/math/calcul/proportionality/isTableProportional.js +42 -24
  52. package/lib/exercises/math/calcul/proportionality/isTableProportionalNonInteger.d.ts.map +1 -1
  53. package/lib/exercises/math/calcul/proportionality/isTableProportionalNonInteger.js +4 -0
  54. package/lib/exercises/math/calcul/proportionality/scaleUsage.d.ts +1 -0
  55. package/lib/exercises/math/calcul/proportionality/scaleUsage.d.ts.map +1 -1
  56. package/lib/exercises/math/calcul/proportionality/scaleUsage.js +75 -39
  57. package/lib/exercises/math/calcul/writing/index.d.ts +1 -1
  58. package/lib/exercises/math/calcul/writing/index.d.ts.map +1 -1
  59. package/lib/exercises/math/calcul/writing/index.js +3 -1
  60. package/lib/exercises/math/calcul/writing/numberToFrenchWriting.d.ts +0 -5
  61. package/lib/exercises/math/calcul/writing/numberToFrenchWriting.d.ts.map +1 -1
  62. package/lib/exercises/math/calcul/writing/numberToFrenchWriting.js +87 -64
  63. package/lib/exercises/math/calculLitteral/distributivity/allIdentities.d.ts.map +1 -1
  64. package/lib/exercises/math/calculLitteral/distributivity/allIdentities.js +29 -5
  65. package/lib/exercises/math/calculLitteral/distributivity/idRmq1.d.ts +2 -1
  66. package/lib/exercises/math/calculLitteral/distributivity/idRmq1.d.ts.map +1 -1
  67. package/lib/exercises/math/calculLitteral/distributivity/idRmq1.js +3 -3
  68. package/lib/exercises/math/calculLitteral/distributivity/idRmq2.d.ts +2 -1
  69. package/lib/exercises/math/calculLitteral/distributivity/idRmq2.d.ts.map +1 -1
  70. package/lib/exercises/math/calculLitteral/distributivity/idRmq2.js +3 -3
  71. package/lib/exercises/math/calculLitteral/distributivity/idRmq3.d.ts +2 -1
  72. package/lib/exercises/math/calculLitteral/distributivity/idRmq3.d.ts.map +1 -1
  73. package/lib/exercises/math/calculLitteral/distributivity/idRmq3.js +3 -3
  74. package/lib/exercises/math/calculLitteral/factorisation/facto1.d.ts.map +1 -1
  75. package/lib/exercises/math/calculLitteral/factorisation/facto1.js +3 -1
  76. package/lib/exercises/math/complex/addComplex.d.ts.map +1 -1
  77. package/lib/exercises/math/complex/addComplex.js +31 -18
  78. package/lib/exercises/math/complex/argumentFromAlgebraicComplex.d.ts.map +1 -1
  79. package/lib/exercises/math/complex/argumentFromAlgebraicComplex.js +24 -11
  80. package/lib/exercises/math/complex/conjugateComplex.d.ts.map +1 -1
  81. package/lib/exercises/math/complex/conjugateComplex.js +20 -7
  82. package/lib/exercises/math/complex/conjugateDivideComplex.d.ts.map +1 -1
  83. package/lib/exercises/math/complex/conjugateDivideComplex.js +29 -16
  84. package/lib/exercises/math/complex/conjugateMultiplyComplex.d.ts.map +1 -1
  85. package/lib/exercises/math/complex/conjugateMultiplyComplex.js +26 -13
  86. package/lib/exercises/math/complex/divideComplex.d.ts.map +1 -1
  87. package/lib/exercises/math/complex/divideComplex.js +29 -16
  88. package/lib/exercises/math/complex/inverseComplex.d.ts.map +1 -1
  89. package/lib/exercises/math/complex/inverseComplex.js +18 -7
  90. package/lib/exercises/math/complex/linearCombinaisonComplex.d.ts.map +1 -1
  91. package/lib/exercises/math/complex/linearCombinaisonComplex.js +30 -13
  92. package/lib/exercises/math/complex/moduloFromAlgebraicComplex.d.ts.map +1 -1
  93. package/lib/exercises/math/complex/moduloFromAlgebraicComplex.js +20 -8
  94. package/lib/exercises/math/complex/mutiplyComplex.d.ts.map +1 -1
  95. package/lib/exercises/math/complex/mutiplyComplex.js +26 -13
  96. package/lib/exercises/math/complex/reAndIm.d.ts.map +1 -1
  97. package/lib/exercises/math/complex/reAndIm.js +22 -9
  98. package/lib/exercises/math/conversion/volumeCapacityConversion.d.ts.map +1 -1
  99. package/lib/exercises/math/conversion/volumeCapacityConversion.js +1 -0
  100. package/lib/exercises/math/dataRepresentations/testGen.d.ts.map +1 -1
  101. package/lib/exercises/math/dataRepresentations/testGen.js +5 -1
  102. package/lib/exercises/math/dataRepresentations/testGenGGB.d.ts.map +1 -1
  103. package/lib/exercises/math/dataRepresentations/testGenGGB.js +5 -1
  104. package/lib/exercises/math/dataRepresentations/testGenStudentGGB.d.ts.map +1 -1
  105. package/lib/exercises/math/dataRepresentations/testGenStudentGGB.js +5 -1
  106. package/lib/exercises/math/derivation/convexity/convexityQuadrinomials.d.ts.map +1 -1
  107. package/lib/exercises/math/derivation/convexity/convexityQuadrinomials.js +4 -0
  108. package/lib/exercises/math/derivation/convexity/convexityTrinomials.d.ts.map +1 -1
  109. package/lib/exercises/math/derivation/convexity/convexityTrinomials.js +4 -0
  110. package/lib/exercises/math/derivation/convexity/inflexionPointQuadrinomials.d.ts.map +1 -1
  111. package/lib/exercises/math/derivation/convexity/inflexionPointQuadrinomials.js +4 -2
  112. package/lib/exercises/math/derivation/derivative/exp/expDerivativeFour.d.ts.map +1 -1
  113. package/lib/exercises/math/derivation/derivative/exp/expDerivativeFour.js +4 -2
  114. package/lib/exercises/math/derivation/derivative/exp/expDerivativeOne.d.ts.map +1 -1
  115. package/lib/exercises/math/derivation/derivative/exp/expDerivativeOne.js +4 -0
  116. package/lib/exercises/math/derivation/derivative/exp/expDerivativeTwo.d.ts.map +1 -1
  117. package/lib/exercises/math/derivation/derivative/exp/expDerivativeTwo.js +4 -0
  118. package/lib/exercises/math/derivation/derivative/exp/secondDerivativeOfExpoFunction.d.ts.map +1 -1
  119. package/lib/exercises/math/derivation/derivative/exp/secondDerivativeOfExpoFunction.js +4 -2
  120. package/lib/exercises/math/derivation/derivative/inverseFunctionDerivative.d.ts.map +1 -1
  121. package/lib/exercises/math/derivation/derivative/inverseFunctionDerivative.js +4 -0
  122. package/lib/exercises/math/derivation/derivative/ln/lnDerivativeTwo.d.ts.map +1 -1
  123. package/lib/exercises/math/derivation/derivative/ln/lnDerivativeTwo.js +4 -0
  124. package/lib/exercises/math/derivation/derivative/polynomial/constanteDerivative.d.ts +2 -1
  125. package/lib/exercises/math/derivation/derivative/polynomial/constanteDerivative.d.ts.map +1 -1
  126. package/lib/exercises/math/derivation/derivative/polynomial/constanteDerivative.js +6 -4
  127. package/lib/exercises/math/derivation/derivative/polynomial/firstDegreeDerivative.d.ts +2 -1
  128. package/lib/exercises/math/derivation/derivative/polynomial/firstDegreeDerivative.d.ts.map +1 -1
  129. package/lib/exercises/math/derivation/derivative/polynomial/firstDegreeDerivative.js +4 -0
  130. package/lib/exercises/math/derivation/derivative/polynomial/secondDegreeDerivative.d.ts +2 -1
  131. package/lib/exercises/math/derivation/derivative/polynomial/secondDegreeDerivative.d.ts.map +1 -1
  132. package/lib/exercises/math/derivation/derivative/polynomial/secondDegreeDerivative.js +4 -0
  133. package/lib/exercises/math/derivation/derivative/polynomial/secondDerivativeOfThirdDegreeFunction.d.ts.map +1 -1
  134. package/lib/exercises/math/derivation/derivative/polynomial/secondDerivativeOfThirdDegreeFunction.js +4 -0
  135. package/lib/exercises/math/derivation/derivative/polynomial/secondDerivativeOfTrinom.d.ts.map +1 -1
  136. package/lib/exercises/math/derivation/derivative/polynomial/secondDerivativeOfTrinom.js +4 -0
  137. package/lib/exercises/math/derivation/derivative/polynomial/thirdDegreeDerivative.d.ts +2 -1
  138. package/lib/exercises/math/derivation/derivative/polynomial/thirdDegreeDerivative.d.ts.map +1 -1
  139. package/lib/exercises/math/derivation/derivative/polynomial/thirdDegreeDerivative.js +4 -10
  140. package/lib/exercises/math/derivation/derivative/polynomial/usualderivative.d.ts.map +1 -1
  141. package/lib/exercises/math/derivation/derivative/polynomial/usualderivative.js +32 -4
  142. package/lib/exercises/math/derivation/derivative/power/powerCompositionDerivation.d.ts.map +1 -1
  143. package/lib/exercises/math/derivation/derivative/power/powerCompositionDerivation.js +4 -2
  144. package/lib/exercises/math/derivation/derivative/power/powerFunctionDerivative.d.ts.map +1 -1
  145. package/lib/exercises/math/derivation/derivative/power/powerFunctionDerivative.js +4 -0
  146. package/lib/exercises/math/derivation/derivative/productDerivative.d.ts.map +1 -1
  147. package/lib/exercises/math/derivation/derivative/productDerivative.js +4 -0
  148. package/lib/exercises/math/derivation/derivative/quotientDerivative.d.ts.map +1 -1
  149. package/lib/exercises/math/derivation/derivative/quotientDerivative.js +4 -0
  150. package/lib/exercises/math/derivation/derivative/sqrt/rootFunctionDerivative.d.ts.map +1 -1
  151. package/lib/exercises/math/derivation/derivative/sqrt/rootFunctionDerivative.js +4 -0
  152. package/lib/exercises/math/derivation/derivative/sqrt/sqrtCompositionDerivation.d.ts.map +1 -1
  153. package/lib/exercises/math/derivation/derivative/sqrt/sqrtCompositionDerivation.js +4 -0
  154. package/lib/exercises/math/derivation/derivative/trigo/cosCompositionDerivation.d.ts.map +1 -1
  155. package/lib/exercises/math/derivation/derivative/trigo/cosCompositionDerivation.js +4 -0
  156. package/lib/exercises/math/derivation/derivative/trigo/cosSecondDegreeDerivative.d.ts.map +1 -1
  157. package/lib/exercises/math/derivation/derivative/trigo/cosSecondDegreeDerivative.js +4 -0
  158. package/lib/exercises/math/derivation/derivative/trigo/sinCompositionDerivation.d.ts.map +1 -1
  159. package/lib/exercises/math/derivation/derivative/trigo/sinCompositionDerivation.js +4 -0
  160. package/lib/exercises/math/derivation/derivative/trigo/sinSecondDegreeDerivative.d.ts.map +1 -1
  161. package/lib/exercises/math/derivation/derivative/trigo/sinSecondDegreeDerivative.js +4 -0
  162. package/lib/exercises/math/equaDiff/equaDiffCheckSolutionFirstOrder.d.ts +4 -3
  163. package/lib/exercises/math/equaDiff/equaDiffCheckSolutionFirstOrder.d.ts.map +1 -1
  164. package/lib/exercises/math/equaDiff/equaDiffCheckSolutionFirstOrder.js +32 -16
  165. package/lib/exercises/math/functions/exponential/expFactorization.d.ts.map +1 -1
  166. package/lib/exercises/math/functions/exponential/expFactorization.js +1 -0
  167. package/lib/exercises/math/functions/trinoms/equation/secondDegreeInequation.d.ts.map +1 -1
  168. package/lib/exercises/math/functions/trinoms/equation/secondDegreeInequation.js +73 -41
  169. package/lib/exercises/math/functions/trinoms/summitAndCanonical/alphaBetaInCanonicalForm.d.ts.map +1 -1
  170. package/lib/exercises/math/functions/trinoms/summitAndCanonical/alphaBetaInCanonicalForm.js +32 -16
  171. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitReading.d.ts.map +1 -1
  172. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitReading.js +1 -2
  173. package/lib/exercises/math/geometry/areas/circleRadiusFromArea.d.ts.map +1 -1
  174. package/lib/exercises/math/geometry/areas/circleRadiusFromArea.js +1 -0
  175. package/lib/exercises/math/geometry/areas/squareSideFromArea.d.ts.map +1 -1
  176. package/lib/exercises/math/geometry/areas/squareSideFromArea.js +1 -0
  177. package/lib/exercises/math/geometry/shapes/basicShapesNaming.d.ts +4 -1
  178. package/lib/exercises/math/geometry/shapes/basicShapesNaming.d.ts.map +1 -1
  179. package/lib/exercises/math/geometry/shapes/basicShapesNaming.js +97 -44
  180. package/lib/exercises/math/geometry/vectors/coordinatesReading.d.ts.map +1 -1
  181. package/lib/exercises/math/geometry/vectors/coordinatesReading.js +28 -14
  182. package/lib/exercises/math/geometry/vectors/determinant.d.ts.map +1 -1
  183. package/lib/exercises/math/geometry/vectors/determinant.js +26 -12
  184. package/lib/exercises/math/geometry/vectors/drawAVectorInGGB.d.ts.map +1 -1
  185. package/lib/exercises/math/geometry/vectors/drawAVectorInGGB.js +25 -11
  186. package/lib/exercises/math/geometry/vectors/equalCaracteristicFromGraph.d.ts +1 -0
  187. package/lib/exercises/math/geometry/vectors/equalCaracteristicFromGraph.d.ts.map +1 -1
  188. package/lib/exercises/math/geometry/vectors/equalCaracteristicFromGraph.js +60 -33
  189. package/lib/exercises/math/geometry/vectors/fourthParallelogramPoint.d.ts.map +1 -1
  190. package/lib/exercises/math/geometry/vectors/fourthParallelogramPoint.js +34 -19
  191. package/lib/exercises/math/geometry/vectors/paralellismViaColinearity.d.ts.map +1 -1
  192. package/lib/exercises/math/geometry/vectors/paralellismViaColinearity.js +42 -20
  193. package/lib/exercises/math/geometry/vectors/parallelogramViaEqualVectors.d.ts.map +1 -1
  194. package/lib/exercises/math/geometry/vectors/parallelogramViaEqualVectors.js +42 -20
  195. package/lib/exercises/math/geometry/vectors/traceOppositeVector.d.ts.map +1 -1
  196. package/lib/exercises/math/geometry/vectors/traceOppositeVector.js +4 -0
  197. package/lib/exercises/math/geometry/vectors/traceVectorDifference.d.ts.map +1 -1
  198. package/lib/exercises/math/geometry/vectors/traceVectorDifference.js +4 -0
  199. package/lib/exercises/math/geometry/vectors/traceVectorMultiple.d.ts.map +1 -1
  200. package/lib/exercises/math/geometry/vectors/traceVectorMultiple.js +4 -0
  201. package/lib/exercises/math/geometry/vectors/traceVectorSum.d.ts.map +1 -1
  202. package/lib/exercises/math/geometry/vectors/traceVectorSum.js +4 -0
  203. package/lib/exercises/math/geometry/vectors/vectorCoordinatesFromTwoPoints.d.ts +2 -0
  204. package/lib/exercises/math/geometry/vectors/vectorCoordinatesFromTwoPoints.d.ts.map +1 -1
  205. package/lib/exercises/math/geometry/vectors/vectorCoordinatesFromTwoPoints.js +45 -25
  206. package/lib/exercises/math/geometry/vectors/vectorLinearCombination.d.ts.map +1 -1
  207. package/lib/exercises/math/geometry/vectors/vectorLinearCombination.js +33 -14
  208. package/lib/exercises/math/geometry/vectors/vectorNormCalculation.d.ts.map +1 -1
  209. package/lib/exercises/math/geometry/vectors/vectorNormCalculation.js +9 -3
  210. package/lib/exercises/math/limits/limitReading.d.ts +5 -1
  211. package/lib/exercises/math/limits/limitReading.d.ts.map +1 -1
  212. package/lib/exercises/math/limits/limitReading.js +96 -38
  213. package/lib/exercises/math/limits/polynomLimit.d.ts.map +1 -1
  214. package/lib/exercises/math/limits/polynomLimit.js +0 -2
  215. package/lib/exercises/math/limits/rationalFracForbiddenValueLimit.d.ts.map +1 -1
  216. package/lib/exercises/math/limits/rationalFracForbiddenValueLimit.js +37 -20
  217. package/lib/exercises/math/limits/rationalFracLimit.d.ts.map +1 -1
  218. package/lib/exercises/math/limits/rationalFracLimit.js +34 -17
  219. package/lib/exercises/math/limits/sequenceGeometricLimit.d.ts.map +1 -1
  220. package/lib/exercises/math/limits/sequenceGeometricLimit.js +4 -0
  221. package/lib/exercises/math/limits/sequencePolynomLimit.d.ts.map +1 -1
  222. package/lib/exercises/math/limits/sequencePolynomLimit.js +23 -10
  223. package/lib/exercises/math/limits/sequencePolynomNoFILimit.d.ts.map +1 -1
  224. package/lib/exercises/math/limits/sequencePolynomNoFILimit.js +24 -11
  225. package/lib/exercises/math/limits/sequencePolynomProductLimit.d.ts.map +1 -1
  226. package/lib/exercises/math/limits/sequencePolynomProductLimit.js +31 -18
  227. package/lib/exercises/math/limits/sequenceRationalFracLimit.d.ts.map +1 -1
  228. package/lib/exercises/math/limits/sequenceRationalFracLimit.js +33 -16
  229. package/lib/exercises/math/matrices/matrixGeneralTerm.d.ts.map +1 -1
  230. package/lib/exercises/math/matrices/matrixGeneralTerm.js +21 -8
  231. package/lib/exercises/math/matrices/matrixInversibilityDomain.d.ts.map +1 -1
  232. package/lib/exercises/math/matrices/matrixInversibilityDomain.js +44 -26
  233. package/lib/exercises/math/matrices/productCell.d.ts +2 -0
  234. package/lib/exercises/math/matrices/productCell.d.ts.map +1 -1
  235. package/lib/exercises/math/matrices/productCell.js +27 -12
  236. package/lib/exercises/math/powers/decimalToScientific.d.ts.map +1 -1
  237. package/lib/exercises/math/powers/decimalToScientific.js +9 -0
  238. package/lib/exercises/math/primitive/constantPrimitive.d.ts +2 -1
  239. package/lib/exercises/math/primitive/constantPrimitive.d.ts.map +1 -1
  240. package/lib/exercises/math/primitive/constantPrimitive.js +3 -3
  241. package/lib/exercises/math/primitive/exponentialPrimitive.d.ts +2 -1
  242. package/lib/exercises/math/primitive/exponentialPrimitive.d.ts.map +1 -1
  243. package/lib/exercises/math/primitive/exponentialPrimitive.js +3 -3
  244. package/lib/exercises/math/primitive/polynomialPrimitive.d.ts +2 -1
  245. package/lib/exercises/math/primitive/polynomialPrimitive.d.ts.map +1 -1
  246. package/lib/exercises/math/primitive/polynomialPrimitive.js +3 -3
  247. package/lib/exercises/math/primitive/sinCosPrimitive.d.ts +2 -1
  248. package/lib/exercises/math/primitive/sinCosPrimitive.d.ts.map +1 -1
  249. package/lib/exercises/math/primitive/sinCosPrimitive.js +3 -3
  250. package/lib/exercises/math/primitive/usualPrimitives.d.ts.map +1 -1
  251. package/lib/exercises/math/primitive/usualPrimitives.js +33 -6
  252. package/lib/exercises/math/probaStat/binomial/varianceOfBinomialProba.d.ts.map +1 -1
  253. package/lib/exercises/math/probaStat/binomial/varianceOfBinomialProba.js +1 -0
  254. package/lib/exercises/math/probaStat/stats1var/quartilesList.d.ts.map +1 -1
  255. package/lib/exercises/math/probaStat/stats1var/quartilesList.js +4 -1
  256. package/lib/exercises/math/probaStat/stats2var/averagePoint.d.ts.map +1 -1
  257. package/lib/exercises/math/probaStat/stats2var/averagePoint.js +1 -2
  258. package/lib/exercises/math/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts.map +1 -1
  259. package/lib/exercises/math/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +47 -23
  260. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts.map +1 -1
  261. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormula.js +4 -6
  262. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplictFormulaFirstTermRandom.d.ts.map +1 -1
  263. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplictFormulaFirstTermRandom.js +4 -0
  264. package/lib/exercises/math/sequences/arithmetic/arithmeticFindRandomTermFromTwoTerms.d.ts.map +1 -1
  265. package/lib/exercises/math/sequences/arithmetic/arithmeticFindRandomTermFromTwoTerms.js +30 -12
  266. package/lib/exercises/math/sequences/arithmetic/arithmeticFindReason.d.ts.map +1 -1
  267. package/lib/exercises/math/sequences/arithmetic/arithmeticFindReason.js +4 -0
  268. package/lib/exercises/math/sequences/arithmetic/arithmeticFindReasonRandomRange.d.ts.map +1 -1
  269. package/lib/exercises/math/sequences/arithmetic/arithmeticFindReasonRandomRange.js +23 -9
  270. package/lib/exercises/math/sequences/arithmetic/arithmeticFindTerm.d.ts.map +1 -1
  271. package/lib/exercises/math/sequences/arithmetic/arithmeticFindTerm.js +62 -41
  272. package/lib/exercises/math/sequences/arithmetic/arithmeticFirstTermsSum.d.ts.map +1 -1
  273. package/lib/exercises/math/sequences/arithmetic/arithmeticFirstTermsSum.js +4 -2
  274. package/lib/exercises/math/sequences/arithmetic/arithmeticReasonUsage.d.ts.map +1 -1
  275. package/lib/exercises/math/sequences/arithmetic/arithmeticReasonUsage.js +4 -0
  276. package/lib/exercises/math/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts.map +1 -1
  277. package/lib/exercises/math/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +26 -10
  278. package/lib/exercises/math/sequences/arithmetic/arithmeticThresholdFind.d.ts.map +1 -1
  279. package/lib/exercises/math/sequences/arithmetic/arithmeticThresholdFind.js +33 -14
  280. package/lib/exercises/math/sequences/arithmetic/firstIntegersSum.d.ts.map +1 -1
  281. package/lib/exercises/math/sequences/arithmetic/firstIntegersSum.js +4 -2
  282. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromFirstTerms.d.ts.map +1 -1
  283. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromFirstTerms.js +35 -14
  284. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.d.ts.map +1 -1
  285. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.js +37 -24
  286. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromFirstTerms.d.ts.map +1 -1
  287. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromFirstTerms.js +4 -0
  288. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromGraph.d.ts.map +1 -1
  289. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromGraph.js +29 -15
  290. package/lib/exercises/math/sequences/explicitFormulaUsage.d.ts.map +1 -1
  291. package/lib/exercises/math/sequences/explicitFormulaUsage.js +27 -10
  292. package/lib/exercises/math/sequences/genericSequenceVariations.d.ts.map +1 -1
  293. package/lib/exercises/math/sequences/genericSequenceVariations.js +23 -10
  294. package/lib/exercises/math/sequences/geometric/geometricExplicitFormulaUsage.d.ts.map +1 -1
  295. package/lib/exercises/math/sequences/geometric/geometricExplicitFormulaUsage.js +9 -3
  296. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormula.d.ts.map +1 -1
  297. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormula.js +45 -17
  298. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFirstTermRandom.d.ts.map +1 -1
  299. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFirstTermRandom.js +20 -9
  300. package/lib/exercises/math/sequences/geometric/geometricFindReason.d.ts.map +1 -1
  301. package/lib/exercises/math/sequences/geometric/geometricFindReason.js +20 -9
  302. package/lib/exercises/math/sequences/geometric/geometricFindTerm.d.ts.map +1 -1
  303. package/lib/exercises/math/sequences/geometric/geometricFindTerm.js +60 -41
  304. package/lib/exercises/math/sequences/geometric/geometricFirstTermsSum.d.ts.map +1 -1
  305. package/lib/exercises/math/sequences/geometric/geometricFirstTermsSum.js +1 -0
  306. package/lib/exercises/math/sequences/geometric/geometricReasonUsage.d.ts.map +1 -1
  307. package/lib/exercises/math/sequences/geometric/geometricReasonUsage.js +26 -10
  308. package/lib/exercises/math/sequences/geometric/geometricRecognizeReasonFromFirstTerms.d.ts.map +1 -1
  309. package/lib/exercises/math/sequences/geometric/geometricRecognizeReasonFromFirstTerms.js +4 -0
  310. package/lib/exercises/math/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts.map +1 -1
  311. package/lib/exercises/math/sequences/geometric/geometricRecurrenceFormulaUsage.js +27 -10
  312. package/lib/exercises/math/sequences/geometric/geometricVariations.d.ts.map +1 -1
  313. package/lib/exercises/math/sequences/geometric/geometricVariations.js +4 -0
  314. package/lib/exercises/math/sequences/recurrenceFormulaUsage.d.ts.map +1 -1
  315. package/lib/exercises/math/sequences/recurrenceFormulaUsage.js +23 -11
  316. package/lib/exercises/math/sequences/sequenceEvaluation.d.ts.map +1 -1
  317. package/lib/exercises/math/sequences/sequenceEvaluation.js +45 -21
  318. package/lib/exercises/math/sets/intervals/intervalsUnion.d.ts.map +1 -1
  319. package/lib/exercises/math/sets/intervals/intervalsUnion.js +1 -2
  320. package/lib/exercises/pc/calibrationCurveOfSolution.d.ts.map +1 -1
  321. package/lib/exercises/pc/calibrationCurveOfSolution.js +56 -48
  322. package/lib/exercises/pc/chemicalElements/identifyRightElectronicConfiguration.js +3 -1
  323. package/lib/exercises/pc/chemicalElements/weightPercent.d.ts.map +1 -1
  324. package/lib/exercises/pc/chemicalElements/weightPercent.js +1 -0
  325. package/lib/exercises/pc/chemicalEquations.d.ts.map +1 -1
  326. package/lib/exercises/pc/chemicalEquations.js +0 -2
  327. package/lib/exercises/pc/chemicalReactions/chemicalEquations.d.ts +8 -0
  328. package/lib/exercises/pc/chemicalReactions/chemicalEquations.d.ts.map +1 -0
  329. package/lib/exercises/pc/chemicalReactions/chemicalEquations.js +62 -0
  330. package/lib/exercises/pc/chemicalReactions/chemicalReactionsProduct.d.ts +9 -0
  331. package/lib/exercises/pc/chemicalReactions/chemicalReactionsProduct.d.ts.map +1 -0
  332. package/lib/exercises/pc/chemicalReactions/chemicalReactionsProduct.js +70 -0
  333. package/lib/exercises/pc/chemicalReactions/index.d.ts +2 -0
  334. package/lib/exercises/pc/chemicalReactions/index.d.ts.map +1 -1
  335. package/lib/exercises/pc/chemicalReactions/index.js +2 -0
  336. package/lib/exercises/pc/delution.d.ts.map +1 -1
  337. package/lib/exercises/pc/delution.js +25 -12
  338. package/lib/exercises/pc/dosage/concentrationCalculation.d.ts.map +1 -1
  339. package/lib/exercises/pc/dosage/concentrationCalculation.js +5 -3
  340. package/lib/exercises/pc/electricity/calculateVoltage.d.ts.map +1 -1
  341. package/lib/exercises/pc/electricity/calculateVoltage.js +112 -90
  342. package/lib/exercises/pc/electricity/electricEnergyFromPower.d.ts.map +1 -1
  343. package/lib/exercises/pc/electricity/electricEnergyFromPower.js +1 -0
  344. package/lib/exercises/pc/energy/efficiencyCalculation.d.ts.map +1 -1
  345. package/lib/exercises/pc/energy/efficiencyCalculation.js +5 -3
  346. package/lib/exercises/pc/forces/calculateNormalOrFrictionForce.d.ts.map +1 -1
  347. package/lib/exercises/pc/forces/calculateNormalOrFrictionForce.js +0 -1
  348. package/lib/exercises/pc/forces/gravitationalAttractionObjectHeight.d.ts.map +1 -1
  349. package/lib/exercises/pc/forces/gravitationalAttractionObjectHeight.js +87 -38
  350. package/lib/exercises/pc/forces/gravitationalAttractionValue.d.ts.map +1 -1
  351. package/lib/exercises/pc/forces/gravitationalAttractionValue.js +31 -16
  352. package/lib/exercises/pc/forces/gravitationalForcePlanets.d.ts.map +1 -1
  353. package/lib/exercises/pc/forces/gravitationalForcePlanets.js +71 -31
  354. package/lib/exercises/pc/forces/massWeight.d.ts.map +1 -1
  355. package/lib/exercises/pc/forces/massWeight.js +53 -20
  356. package/lib/exercises/pc/forces/pressingForce.d.ts.map +1 -1
  357. package/lib/exercises/pc/forces/pressingForce.js +71 -31
  358. package/lib/exercises/pc/formulaFromComposition.d.ts.map +1 -1
  359. package/lib/exercises/pc/formulaFromComposition.js +28 -8
  360. package/lib/exercises/pc/identifyAtomicMassOrAtomicNb.d.ts.map +1 -1
  361. package/lib/exercises/pc/identifyAtomicMassOrAtomicNb.js +31 -12
  362. package/lib/exercises/pc/index.d.ts +4 -6
  363. package/lib/exercises/pc/index.d.ts.map +1 -1
  364. package/lib/exercises/pc/index.js +4 -6
  365. package/lib/exercises/pc/kineticEnergy.d.ts.map +1 -1
  366. package/lib/exercises/pc/kineticEnergy.js +22 -10
  367. package/lib/exercises/pc/math/isolateVariables.d.ts.map +1 -1
  368. package/lib/exercises/pc/math/isolateVariables.js +114 -32
  369. package/lib/exercises/pc/math/proportionnalityCoeffFromLine.d.ts.map +1 -1
  370. package/lib/exercises/pc/math/proportionnalityCoeffFromLine.js +34 -16
  371. package/lib/exercises/pc/mecanicalWaves/elongationReading.d.ts.map +1 -1
  372. package/lib/exercises/pc/mecanicalWaves/elongationReading.js +35 -13
  373. package/lib/exercises/pc/molarQuantity.d.ts.map +1 -1
  374. package/lib/exercises/pc/molarQuantity.js +29 -13
  375. package/lib/exercises/pc/mole/concentrationReading.d.ts +4 -1
  376. package/lib/exercises/pc/mole/concentrationReading.d.ts.map +1 -1
  377. package/lib/exercises/pc/mole/concentrationReading.js +28 -10
  378. package/lib/exercises/pc/mole/molFromMass.d.ts.map +1 -1
  379. package/lib/exercises/pc/mole/molFromMass.js +21 -8
  380. package/lib/exercises/pc/mole/molFromMolarMass.d.ts.map +1 -1
  381. package/lib/exercises/pc/mole/molFromMolarMass.js +21 -8
  382. package/lib/exercises/pc/mole/molarMass.d.ts +3 -1
  383. package/lib/exercises/pc/mole/molarMass.d.ts.map +1 -1
  384. package/lib/exercises/pc/mole/molarMass.js +22 -9
  385. package/lib/exercises/pc/mole/moleculeCountFromMassAndAvogadro.d.ts.map +1 -1
  386. package/lib/exercises/pc/mole/moleculeCountFromMassAndAvogadro.js +25 -11
  387. package/lib/exercises/pc/mole/moleculeCountFromMol.d.ts.map +1 -1
  388. package/lib/exercises/pc/mole/moleculeCountFromMol.js +18 -7
  389. package/lib/exercises/pc/moleculeFormula.d.ts.map +1 -1
  390. package/lib/exercises/pc/moleculeFormula.js +30 -9
  391. package/lib/exercises/pc/moleculeNomenclature.d.ts.map +1 -1
  392. package/lib/exercises/pc/moleculeNomenclature.js +23 -8
  393. package/lib/exercises/pc/motion/averageSpeed.d.ts.map +1 -1
  394. package/lib/exercises/pc/motion/averageSpeed.js +68 -55
  395. package/lib/exercises/pc/motion/averageSpeedCalculation.d.ts.map +1 -1
  396. package/lib/exercises/pc/motion/averageSpeedCalculation.js +97 -39
  397. package/lib/exercises/pc/motion/characteristicsOfVelocityVector.d.ts +4 -1
  398. package/lib/exercises/pc/motion/characteristicsOfVelocityVector.d.ts.map +1 -1
  399. package/lib/exercises/pc/motion/characteristicsOfVelocityVector.js +51 -49
  400. package/lib/exercises/pc/motion/motionReference.d.ts +1 -0
  401. package/lib/exercises/pc/motion/motionReference.d.ts.map +1 -1
  402. package/lib/exercises/pc/motion/motionReference.js +47 -26
  403. package/lib/exercises/pc/motion/typeOfAcceleration.d.ts +1 -1
  404. package/lib/exercises/pc/motion/typeOfAcceleration.d.ts.map +1 -1
  405. package/lib/exercises/pc/motion/typeOfAcceleration.js +61 -62
  406. package/lib/exercises/pc/motion/typeOfMovement.d.ts +2 -1
  407. package/lib/exercises/pc/motion/typeOfMovement.d.ts.map +1 -1
  408. package/lib/exercises/pc/motion/typeOfMovement.js +58 -57
  409. package/lib/exercises/pc/orderOfMagnitude.d.ts.map +1 -1
  410. package/lib/exercises/pc/orderOfMagnitude.js +24 -23
  411. package/lib/exercises/pc/pH.d.ts.map +1 -1
  412. package/lib/exercises/pc/pH.js +37 -16
  413. package/lib/exercises/pc/perceivedFrequency.d.ts.map +1 -1
  414. package/lib/exercises/pc/perceivedFrequency.js +26 -13
  415. package/lib/exercises/pc/potentialEnergy.d.ts.map +1 -1
  416. package/lib/exercises/pc/potentialEnergy.js +23 -11
  417. package/lib/exercises/pc/power/calculatePowerOfLight.d.ts +2 -2
  418. package/lib/exercises/pc/power/calculatePowerOfLight.d.ts.map +1 -1
  419. package/lib/exercises/pc/power/calculatePowerOfLight.js +65 -39
  420. package/lib/exercises/pc/recognizeRefractionOrReflectionAngles.d.ts +3 -1
  421. package/lib/exercises/pc/recognizeRefractionOrReflectionAngles.d.ts.map +1 -1
  422. package/lib/exercises/pc/recognizeRefractionOrReflectionAngles.js +48 -47
  423. package/lib/exercises/pc/snellDescartes.d.ts.map +1 -1
  424. package/lib/exercises/pc/snellDescartes.js +31 -13
  425. package/lib/exercises/pc/sound/findPeriodFromGraph.d.ts.map +1 -1
  426. package/lib/exercises/pc/sound/findPeriodFromGraph.js +42 -26
  427. package/lib/exercises/pc/sound/findPeriodOrFrequencyFromGraph.d.ts +1 -0
  428. package/lib/exercises/pc/sound/findPeriodOrFrequencyFromGraph.d.ts.map +1 -1
  429. package/lib/exercises/pc/sound/findPeriodOrFrequencyFromGraph.js +51 -32
  430. package/lib/exercises/pc/sound/findSoundFrequencyFromPeriod.d.ts.map +1 -1
  431. package/lib/exercises/pc/sound/findSoundFrequencyFromPeriod.js +20 -7
  432. package/lib/exercises/pc/sound/findSoundPeriodFromFrequency.d.ts.map +1 -1
  433. package/lib/exercises/pc/sound/findSoundPeriodFromFrequency.js +20 -7
  434. package/lib/exercises/pc/sound/frequencyComparison.d.ts.map +1 -1
  435. package/lib/exercises/pc/sound/frequencyComparison.js +25 -14
  436. package/lib/exercises/pc/spectral/spectralEnergy.d.ts +1 -3
  437. package/lib/exercises/pc/spectral/spectralEnergy.d.ts.map +1 -1
  438. package/lib/exercises/pc/spectral/spectralEnergy.js +98 -56
  439. package/lib/exercises/pc/waves/findDistanceFromEarth.d.ts.map +1 -1
  440. package/lib/exercises/pc/waves/findDistanceFromEarth.js +22 -9
  441. package/lib/exercises/pc/waves/lightDistanceConversion.d.ts.map +1 -1
  442. package/lib/exercises/pc/waves/lightDistanceConversion.js +104 -76
  443. package/lib/exercises/pc/waves/periodicWaveCelerity.d.ts +1 -0
  444. package/lib/exercises/pc/waves/periodicWaveCelerity.d.ts.map +1 -1
  445. package/lib/exercises/pc/waves/periodicWaveCelerity.js +81 -25
  446. package/lib/exercises/pc/weight/calculateWeight.d.ts.map +1 -1
  447. package/lib/exercises/pc/weight/calculateWeight.js +55 -26
  448. package/lib/exercises/pc/weight/weightOnTheMoon.d.ts.map +1 -1
  449. package/lib/exercises/pc/weight/weightOnTheMoon.js +67 -32
  450. package/lib/index.d.ts +58 -37
  451. package/lib/index.d.ts.map +1 -1
  452. package/lib/latexTester.js +7 -2
  453. package/lib/math/geometry/ray.d.ts +8 -1
  454. package/lib/math/geometry/ray.d.ts.map +1 -1
  455. package/lib/math/geometry/ray.js +11 -1
  456. package/lib/math/polynomials/trinom.d.ts +5 -0
  457. package/lib/math/polynomials/trinom.d.ts.map +1 -1
  458. package/lib/math/polynomials/trinom.js +6 -0
  459. package/lib/pc/constants/molecularChemistry/reaction.js +1 -1
  460. package/lib/pc/measure/measure.d.ts +11 -4
  461. package/lib/pc/measure/measure.d.ts.map +1 -1
  462. package/lib/pc/measure/measure.js +10 -6
  463. package/lib/playground.d.ts.map +1 -1
  464. package/lib/playground.js +8 -1
  465. package/lib/tests/exoTest.d.ts.map +1 -1
  466. package/lib/tests/exoTest.js +13 -0
  467. package/lib/tests/mega.test.d.ts +2 -0
  468. package/lib/tests/mega.test.d.ts.map +1 -0
  469. package/lib/tests/mega.test.js +13 -0
  470. package/lib/tests/megaxl.test.d.ts +2 -0
  471. package/lib/tests/megaxl.test.d.ts.map +1 -0
  472. package/lib/tests/megaxl.test.js +10 -0
  473. package/lib/tests/singleExo.test.d.ts.map +1 -1
  474. package/lib/tests/singleExo.test.js +2 -2
  475. package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
  476. package/lib/tree/nodes/operators/powerNode.js +2 -1
  477. package/package.json +3 -1
@@ -2,17 +2,28 @@ import { addValidProp, tryToAddWrongProp, } from "../../../exercises/exercise.js
2
2
  import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
3
3
  import { Rational } from "../../../math/numbers/rationals/rational.js";
4
4
  import { Monom } from "../../../math/polynomials/monom.js";
5
- import { PolynomialConstructor, } from "../../../math/polynomials/polynomial.js";
5
+ import { Polynomial, PolynomialConstructor, } from "../../../math/polynomials/polynomial.js";
6
6
  import { randint } from "../../../math/utils/random/randint.js";
7
7
  import { NumberNode } from "../../../tree/nodes/numbers/numberNode.js";
8
8
  import { shuffle } from "../../../utils/alea/shuffle.js";
9
- const getSequenceRationalFracLimitQuestion = () => {
10
- const polyNum = PolynomialConstructor.random(4, "n");
11
- const polyDenum = PolynomialConstructor.random(4, "n");
9
+ const getInstruction = (identifiers) => {
10
+ const { numCoeffs, denumCoeffs } = identifiers;
11
+ const polyNum = new Polynomial(numCoeffs);
12
+ const polyDenum = new Polynomial(denumCoeffs);
13
+ return `Déterminer la limite de la suite $u$ définie par :
14
+
15
+ $$
16
+ u_n = \\dfrac{${polyNum.toTree().toTex()}}{${polyDenum.toTree().toTex()}}
17
+ $$`;
18
+ };
19
+ const getAnswer = (identifiers) => {
20
+ const { numCoeffs, denumCoeffs } = identifiers;
21
+ const polyNum = new Polynomial(numCoeffs);
22
+ const polyDenum = new Polynomial(denumCoeffs);
23
+ let answer = "";
24
+ const to = "+\\infty";
12
25
  const numLeadingCoeff = polyNum.coefficients[polyNum.degree];
13
26
  const denumLeadingCoeff = polyDenum.coefficients[polyDenum.degree];
14
- const to = "+\\infty";
15
- let answer;
16
27
  let leadingCoeffsRational = new Rational(numLeadingCoeff, denumLeadingCoeff)
17
28
  .simplify()
18
29
  .toTree()
@@ -27,20 +38,27 @@ const getSequenceRationalFracLimitQuestion = () => {
27
38
  const tempPoly = new Monom(polyNum.degree - polyDenum.degree, numLeadingCoeff * denumLeadingCoeff > 0 ? 1 : -1, "n");
28
39
  answer = tempPoly.getLimit(to);
29
40
  }
41
+ return answer;
42
+ };
43
+ const getQuestionFromIdentifiers = (identifiers) => {
30
44
  const question = {
31
- answer,
32
- instruction: `Déterminer la limite de la suite $u$ définie par : $u_n = \\dfrac{${polyNum
33
- .toTree()
34
- .toTex()}}{${polyDenum.toTree().toTex()}}$.`,
45
+ answer: getAnswer(identifiers),
46
+ instruction: getInstruction(identifiers),
35
47
  keys: ["infty"],
36
48
  answerFormat: "tex",
37
- identifiers: {
38
- numCoeffs: polyNum.coefficients,
39
- denumCoeffs: polyDenum.coefficients,
40
- },
49
+ identifiers,
41
50
  };
42
51
  return question;
43
52
  };
53
+ const getSequenceRationalFracLimitQuestion = () => {
54
+ const polyNum = PolynomialConstructor.random(4, "n");
55
+ const polyDenum = PolynomialConstructor.random(4, "n");
56
+ const identifiers = {
57
+ numCoeffs: polyNum.coefficients,
58
+ denumCoeffs: polyDenum.coefficients,
59
+ };
60
+ return getQuestionFromIdentifiers(identifiers);
61
+ };
44
62
  const getPropositions = (n, { answer, numCoeffs, denumCoeffs }) => {
45
63
  const propositions = [];
46
64
  addValidProp(propositions, answer);
@@ -86,13 +104,12 @@ export const sequenceRationalFracLimit = {
86
104
  id: "sequenceRationalFracLimit",
87
105
  connector: "=",
88
106
  label: "Limite d'une suite rationnelle",
89
- levels: ["TermSpé", "MathComp"],
90
107
  isSingleStep: true,
91
- sections: ["Limites", "Suites"],
92
108
  generator: (nb) => getDistinctQuestions(getSequenceRationalFracLimitQuestion, nb),
93
109
  qcmTimer: 60,
94
110
  freeTimer: 60,
95
111
  getPropositions,
96
112
  isAnswerValid,
97
113
  subject: "Mathématiques",
114
+ getQuestionFromIdentifiers,
98
115
  };
@@ -1 +1 @@
1
- {"version":3,"file":"matrixGeneralTerm.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/matrices/matrixGeneralTerm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAsDF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAYnD,CAAC"}
1
+ {"version":3,"file":"matrixGeneralTerm.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/matrices/matrixGeneralTerm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAyEF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAanD,CAAC"}
@@ -7,24 +7,36 @@ import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode.js";
7
7
  import { VariableNode } from "../../../tree/nodes/variables/variableNode.js";
8
8
  import { doWhile } from "../../../utils/doWhile.js";
9
9
  //A d'ordre nxp avec a_(i,j) = alpha*i + beta*j
10
- const getMatrixGeneralTermQuestion = () => {
11
- const n = randint(1, 5);
12
- const p = doWhile(() => randint(1, 5), (res) => n === 1 && res === 1);
13
- const alpha = randint(-5, 6, [0]);
14
- const beta = randint(-5, 6, [0]);
10
+ const getInstruction = (identifiers) => {
11
+ const { alpha, beta, n, p } = identifiers;
15
12
  const aij = new AddNode(new MultiplyNode(alpha.toTree(), new VariableNode("i")), new MultiplyNode(beta.toTree(), new VariableNode("j"))).simplify();
13
+ return `Soit $A = (a_{i,j})$ une matrice d'ordre $n \\times p$ telle que : $n = ${n}$, $p = ${p}$ et pour tout $1\\leq i \\leq n$ et $1\\leq j \\leq p$, $a_{i,j} = ${aij.toTex()}$. Quelle est l'expression de la matrice $A$ ? `;
14
+ };
15
+ const getAnswer = (identifiers) => {
16
+ const { alpha, beta, n, p } = identifiers;
16
17
  const elements = Array.from(Array(n), (_, rowIndex) => Array.from(Array(p), (__, colIndex) => (alpha * (rowIndex + 1) + beta * (colIndex + 1)).toTree()));
17
18
  const matrix = new Matrix(elements);
18
19
  const answer = matrix.toTex();
20
+ return answer;
21
+ };
22
+ const getQuestionFromIdentifiers = (identifiers) => {
19
23
  const question = {
20
- answer,
21
- instruction: `Soit $A = (a_{i,j})$ une matrice d'ordre $n \\times p$ telle que : $n = ${n}$, $p = ${p}$ et pour tout $1\\leq i \\leq n$ et $1\\leq j \\leq p$, $a_{i,j} = ${aij.toTex()}$. Quelle est l'expression de la matrice $A$ ? `,
24
+ answer: getAnswer(identifiers),
25
+ instruction: getInstruction(identifiers),
22
26
  keys: [],
23
27
  answerFormat: "tex",
24
- identifiers: { n, p, alpha, beta },
28
+ identifiers,
25
29
  };
26
30
  return question;
27
31
  };
32
+ const getMatrixGeneralTermQuestion = () => {
33
+ const n = randint(1, 5);
34
+ const p = doWhile(() => randint(1, 5), (res) => n === 1 && res === 1);
35
+ const alpha = randint(-5, 6, [0]);
36
+ const beta = randint(-5, 6, [0]);
37
+ const identifiers = { n, p, alpha, beta };
38
+ return getQuestionFromIdentifiers(identifiers);
39
+ };
28
40
  const getPropositions = (nb, { answer, n, p, alpha, beta }) => {
29
41
  const propositions = [];
30
42
  addValidProp(propositions, answer);
@@ -50,4 +62,5 @@ export const matrixGeneralTerm = {
50
62
  isAnswerValid,
51
63
  answerType: "QCU",
52
64
  subject: "Mathématiques",
65
+ getQuestionFromIdentifiers,
53
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"matrixInversibilityDomain.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/matrices/matrixInversibilityDomain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AA2BrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAoGF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAc3D,CAAC"}
1
+ {"version":3,"file":"matrixInversibilityDomain.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/matrices/matrixInversibilityDomain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AA2BrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA2HF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAa3D,CAAC"}
@@ -17,28 +17,34 @@ import { parseAlgebraic } from "../../../tree/parsers/latexParser.js";
17
17
  import { unionIntervalParser } from "../../../tree/parsers/unionIntervalParser.js";
18
18
  import { handleVEAError } from "../../../utils/errors/handleVEAError.js";
19
19
  import { intervalKeys } from "../../utils/keys/intervalKeys.js";
20
- const getMatrixInversibilityDomainQuestion = () => {
21
- const elements = [[], []];
22
- for (let i = 0; i < 2; i++) {
23
- for (let j = 0; j < 2; j++) {
24
- elements[i][j] = NombreConstructor.random({
25
- types: [NumberType.Integer, NumberType.Rational],
26
- excludes: i === 0 && j === 0 ? [new Integer(0)] : undefined,
27
- }).toTree();
28
- }
29
- }
20
+ const getInstruction = (identifiers) => {
21
+ const { a, b, c, d } = identifiers;
22
+ const elements = [
23
+ [a, b],
24
+ [c, d],
25
+ ].map((e) => e.map((f) => parseAlgebraic(f)));
30
26
  const matrix = new Matrix([
31
27
  [new MultiplyNode(elements[0][0], new VariableNode("x")), elements[0][1]],
32
28
  elements[1],
33
29
  ]);
34
- // si d=0 & (b|c)=0 alors det = 0 sur R donc non inversible sur R
35
- // sinon si d=0, inversible sur R
36
- // sinon x = bc /ad et inversible sur R\x
30
+ return `Soit $M = ${matrix.toTex()}$, $x\\in \\mathbb{R}$.
31
+
32
+ Sur quel ensemble la matrice $M$ est-elle inversible ?`;
33
+ };
34
+ const getAnswer = (identifiers) => {
35
+ const { a, b, c, d } = identifiers;
36
+ const elements = [
37
+ [a, b],
38
+ [c, d],
39
+ ].map((e) => e.map((f) => parseAlgebraic(f)));
37
40
  const isDZero = elements[1][1].evaluate({}) === 0;
38
41
  const isBorCZero = elements[0][1].evaluate({}) === 0 || elements[1][0].evaluate({}) === 0;
39
42
  const x = isDZero
40
43
  ? undefined
41
44
  : new FractionNode(new MultiplyNode(elements[0][1], elements[1][0]), new MultiplyNode(elements[0][0], elements[1][1])).simplify();
45
+ // si d=0 & (b|c)=0 alors det = 0 sur R donc non inversible sur R
46
+ // sinon si d=0, inversible sur R
47
+ // sinon x = bc /ad et inversible sur R\x
42
48
  const answer = isDZero && isBorCZero
43
49
  ? EmptySet.toTex()
44
50
  : isDZero
@@ -47,23 +53,36 @@ const getMatrixInversibilityDomainQuestion = () => {
47
53
  new IntervalNode(MinusInfinityNode, x, ClosureType.OO),
48
54
  new IntervalNode(x, PlusInfinityNode, ClosureType.OO),
49
55
  ]).toTex();
56
+ return answer;
57
+ };
58
+ const getQuestionFromIdentifiers = (identifiers) => {
50
59
  const question = {
51
- answer,
52
- instruction: `Soit $M = ${matrix.toTex()}$, où $x\\in \\mathbb{R}$.
53
-
54
- Sur quel ensemble la matrice $M$ est-elle inversible ?
55
- `,
60
+ answer: getAnswer(identifiers),
61
+ instruction: getInstruction(identifiers),
56
62
  keys: [...intervalKeys, "reals", "varnothing"],
57
63
  answerFormat: "tex",
58
- identifiers: {
59
- a: elements[0][0].toTex(),
60
- b: elements[0][1].toTex(),
61
- c: elements[1][0].toTex(),
62
- d: elements[1][1].toTex(),
63
- },
64
+ identifiers,
64
65
  };
65
66
  return question;
66
67
  };
68
+ const getMatrixInversibilityDomainQuestion = () => {
69
+ const elements = [[], []];
70
+ for (let i = 0; i < 2; i++) {
71
+ for (let j = 0; j < 2; j++) {
72
+ elements[i][j] = NombreConstructor.random({
73
+ types: [NumberType.Integer, NumberType.Rational],
74
+ excludes: i === 0 && j === 0 ? [new Integer(0)] : undefined,
75
+ }).toTree();
76
+ }
77
+ }
78
+ const identifiers = {
79
+ a: elements[0][0].toTex(),
80
+ b: elements[0][1].toTex(),
81
+ c: elements[1][0].toTex(),
82
+ d: elements[1][1].toTex(),
83
+ };
84
+ return getQuestionFromIdentifiers(identifiers);
85
+ };
67
86
  const getPropositions = (n, { answer, a, b, c, d }) => {
68
87
  const propositions = [];
69
88
  addValidProp(propositions, answer);
@@ -94,9 +113,7 @@ const isAnswerValid = (ans, { answer }) => {
94
113
  export const matrixInversibilityDomain = {
95
114
  id: "matrixInversibilityDomain",
96
115
  label: "Déterminer le domaine d'inversibilité d'une matrice",
97
- levels: ["MathExp"],
98
116
  isSingleStep: true,
99
- sections: ["Matrices"],
100
117
  generator: (nb) => getDistinctQuestions(getMatrixInversibilityDomainQuestion, nb),
101
118
  qcmTimer: 60,
102
119
  freeTimer: 60,
@@ -104,5 +121,6 @@ export const matrixInversibilityDomain = {
104
121
  isAnswerValid,
105
122
  subject: "Mathématiques",
106
123
  pdfOptions: { shouldSpreadPropositions: true },
124
+ getQuestionFromIdentifiers,
107
125
  };
108
126
  //lbracket
@@ -4,6 +4,8 @@ type Identifiers = {
4
4
  AjCoeff: number;
5
5
  BiCoeff: number;
6
6
  BjCoeff: number;
7
+ i: number;
8
+ j: number;
7
9
  };
8
10
  export declare const productCell: Exercise<Identifiers>;
9
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"productCell.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/matrices/productCell.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAqDF,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,WAAW,CAa7C,CAAC"}
1
+ {"version":3,"file":"productCell.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/matrices/productCell.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA4EF,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,WAAW,CAY7C,CAAC"}
@@ -9,25 +9,41 @@ import { doWhile } from "../../../utils/doWhile.js";
9
9
  //$A=(a_{i,j})$ avec $a_{i,j}=2i-j$ et $B=(b_{i,j})$ avec $b_{i,j}=i+j$ calculer $c_{2,3}$ Réponse: $c_{2,3} = \sum_{k=1}^{3} (2 \cdot 2 - k) \cdot (k + 3)$ $ c_{2,3} = (2 \cdot 2 - 1) \cdot (1 + 3) + (2 \cdot 2 - 2) \cdot (2 + 3) + (2 \cdot 2 - 3) \cdot (3 + 3)$ $c_{2,3}=3\times 4+2\times 5+1\times 6 =28$. Si l'élève détermine l'expression des matrices A et B puis effectue le calcul des bons blocs pour obtenir le coefficient cela est intéressant aussi ! Bonne journée merci
10
10
  // Les matrices A et B sont définies par combinaisons linéaires de leurs lignes/colonnes
11
11
  // exp a_(i,j) = 2i+j
12
- const getProductCellQuestion = () => {
13
- const i = randint(1, 4);
14
- const j = randint(1, 4);
15
- const AiCoeff = randint(-3, 4, [0]);
16
- const AjCoeff = randint(-3, 4, [0]);
17
- const BiCoeff = randint(-3, 4, [0]);
18
- const BjCoeff = doWhile(() => randint(-3, 4, [0]), (x) => BiCoeff === AiCoeff && x === AjCoeff);
12
+ const getInstruction = (identifiers) => {
13
+ const { i, j, AiCoeff, AjCoeff, BiCoeff, BjCoeff } = identifiers;
19
14
  const aij = new AddNode(new MultiplyNode(AiCoeff.toTree(), new VariableNode("i")), new MultiplyNode(AjCoeff.toTree(), new VariableNode("j"))).simplify();
20
15
  const bij = new AddNode(new MultiplyNode(BiCoeff.toTree(), new VariableNode("i")), new MultiplyNode(BjCoeff.toTree(), new VariableNode("j"))).simplify();
16
+ return `Soient $A = \\left(a_{i,j}\\right)$ et $B = \\left(b_{i,j}\\right)$ deux matrices carrées d'ordre $3$, avec $a_{i,j} = ${aij.toTex()}$ et $b_{i,j} = ${bij.toTex()}$.
17
+
18
+ Soit $C = AB$.
19
+
20
+ Calculer $c_{${i},${j}}$.`;
21
+ };
22
+ const getAnswer = (identifiers) => {
23
+ const { i, j, AiCoeff, AjCoeff, BiCoeff, BjCoeff } = identifiers;
21
24
  const answer = sum(1, 3, (k) => (AiCoeff * i + AjCoeff * k) * (BiCoeff * k + BjCoeff * j)) + "";
25
+ return answer;
26
+ };
27
+ const getQuestionFromIdentifiers = (identifiers) => {
22
28
  const question = {
23
- answer,
24
- instruction: `Soient $A = \\left(a_{i,j}\\right)$ et $B = \\left(b_{i,j}\\right)$ deux matrices carrées d'ordre $3$, avec $a_{i,j} = ${aij.toTex()}$ et $b_{i,j} = ${bij.toTex()}$. Soit $C = AB$. Calculer $c_{${i},${j}}$.`,
29
+ answer: getAnswer(identifiers),
30
+ instruction: getInstruction(identifiers),
25
31
  keys: [],
26
32
  answerFormat: "tex",
27
- identifiers: { AiCoeff, AjCoeff, BiCoeff, BjCoeff },
33
+ identifiers,
28
34
  };
29
35
  return question;
30
36
  };
37
+ const getProductCellQuestion = () => {
38
+ const i = randint(1, 4);
39
+ const j = randint(1, 4);
40
+ const AiCoeff = randint(-3, 4, [0]);
41
+ const AjCoeff = randint(-3, 4, [0]);
42
+ const BiCoeff = randint(-3, 4, [0]);
43
+ const BjCoeff = doWhile(() => randint(-3, 4, [0]), (x) => BiCoeff === AiCoeff && x === AjCoeff);
44
+ const identifiers = { i, j, AiCoeff, AjCoeff, BiCoeff, BjCoeff };
45
+ return getQuestionFromIdentifiers(identifiers);
46
+ };
31
47
  const getPropositions = (n, { answer }) => {
32
48
  const propositions = [];
33
49
  addValidProp(propositions, answer);
@@ -43,13 +59,12 @@ export const productCell = {
43
59
  id: "productCell",
44
60
  connector: "=",
45
61
  label: "Calculer un coefficient du produit de deux matrices",
46
- levels: ["MathExp"],
47
62
  isSingleStep: true,
48
- sections: ["Matrices"],
49
63
  generator: (nb) => getDistinctQuestions(getProductCellQuestion, nb),
50
64
  qcmTimer: 60,
51
65
  freeTimer: 60,
52
66
  getPropositions,
53
67
  isAnswerValid,
54
68
  subject: "Mathématiques",
69
+ getQuestionFromIdentifiers,
55
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"decimalToScientific.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/decimalToScientific.ts"],"names":[],"mappings":"AAyBA,OAAO,EACL,QAAQ,EAeT,MAAM,mBAAmB,CAAC;AAG3B,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA4HF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAcrD,CAAC"}
1
+ {"version":3,"file":"decimalToScientific.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/decimalToScientific.ts"],"names":[],"mappings":"AAyBA,OAAO,EACL,QAAQ,EAgBT,MAAM,mBAAmB,CAAC;AAG3B,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAwIF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAerD,CAAC"}
@@ -104,6 +104,7 @@ const isAnswerValid = (ans, { decimal }) => {
104
104
  return false;
105
105
  if (parsed.rightChild.leftChild.value !== 10)
106
106
  return false;
107
+ console.log(parsed.simplify({ calculatePowers: true }).toTex(), decimal.frenchify());
107
108
  return (parsed.simplify({ calculatePowers: true }).toTex() ===
108
109
  decimal.frenchify());
109
110
  }
@@ -113,6 +114,13 @@ const isAnswerValid = (ans, { decimal }) => {
113
114
  return handleVEAError(err);
114
115
  }
115
116
  };
117
+ const getTests = () => [
118
+ {
119
+ identifiers: { decimal: 0.0001 },
120
+ answer: "1\\times10^{-4}",
121
+ // valids: ["10^{-4}"],
122
+ },
123
+ ];
116
124
  export const decimalToScientific = {
117
125
  id: "decimalToScientific",
118
126
  connector: "=",
@@ -126,4 +134,5 @@ export const decimalToScientific = {
126
134
  subject: "Mathématiques",
127
135
  hasHintAndCorrection: true,
128
136
  getQuestionFromIdentifiers,
137
+ getTests,
129
138
  };
@@ -1,8 +1,9 @@
1
- import { Exercise, QCMGenerator, QuestionGenerator, VEA } from "../../../exercises/exercise.js";
1
+ import { Exercise, GetQuestionFromIdentifiers, QCMGenerator, QuestionGenerator, VEA } from "../../../exercises/exercise.js";
2
2
  type Identifiers = {
3
3
  c: number;
4
4
  };
5
5
  export declare const getConstantPrimitive: QuestionGenerator<Identifiers>;
6
+ export declare const getConstantPrimitiveQuestionFromIdentifiers: GetQuestionFromIdentifiers<Identifiers>;
6
7
  export declare const getConstantPrimitivePropositions: QCMGenerator<Identifiers>;
7
8
  export declare const isConstantPrimitiveAnswerValid: VEA<Identifiers>;
8
9
  export declare const constantPrimitive: Exercise<Identifiers>;
@@ -1 +1 @@
1
- {"version":3,"file":"constantPrimitive.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/primitive/constantPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAKR,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAGJ,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAoBF,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,WAAW,CAI/D,CAAC;AAgBF,eAAO,MAAM,gCAAgC,EAAE,YAAY,CAAC,WAAW,CActE,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,GAAG,CAAC,WAAW,CAO3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAYnD,CAAC"}
1
+ {"version":3,"file":"constantPrimitive.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/primitive/constantPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAGR,0BAA0B,EAE1B,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAGJ,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAoBF,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,WAAW,CAI/D,CAAC;AAEF,eAAO,MAAM,2CAA2C,EAAE,0BAA0B,CAClF,WAAW,CAYZ,CAAC;AACF,eAAO,MAAM,gCAAgC,EAAE,YAAY,CAAC,WAAW,CActE,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,GAAG,CAAC,WAAW,CAO3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAYnD,CAAC"}
@@ -22,9 +22,9 @@ const getAnswer = (identifiers) => {
22
22
  export const getConstantPrimitive = () => {
23
23
  const c = randint(-19, 20, [0]);
24
24
  const identifiers = { c };
25
- return getQuestionFromIdentifiers(identifiers);
25
+ return getConstantPrimitiveQuestionFromIdentifiers(identifiers);
26
26
  };
27
- const getQuestionFromIdentifiers = (identifiers) => {
27
+ export const getConstantPrimitiveQuestionFromIdentifiers = (identifiers) => {
28
28
  const question = {
29
29
  instruction: getInstruction(identifiers),
30
30
  startStatement: `F(x)`,
@@ -62,5 +62,5 @@ export const constantPrimitive = {
62
62
  getPropositions: getConstantPrimitivePropositions,
63
63
  isAnswerValid: isConstantPrimitiveAnswerValid,
64
64
  subject: "Mathématiques",
65
- getQuestionFromIdentifiers,
65
+ getQuestionFromIdentifiers: getConstantPrimitiveQuestionFromIdentifiers,
66
66
  };
@@ -1,8 +1,9 @@
1
- import { Exercise, QCMGenerator, QuestionGenerator, VEA } from "../../../exercises/exercise.js";
1
+ import { Exercise, GetQuestionFromIdentifiers, QCMGenerator, QuestionGenerator, VEA } from "../../../exercises/exercise.js";
2
2
  type Identifiers = {
3
3
  a: number;
4
4
  };
5
5
  export declare const getExponentialPrimitive: QuestionGenerator<Identifiers>;
6
+ export declare const getExponentialPrimitiveQuestionFromIdentifiers: GetQuestionFromIdentifiers<Identifiers>;
6
7
  export declare const getExponentialPrimitivePropositions: QCMGenerator<Identifiers>;
7
8
  export declare const isExponentialPrimitiveAnswerValid: VEA<Identifiers>;
8
9
  export declare const exponentialPrimitive: Exercise<Identifiers>;
@@ -1 +1 @@
1
- {"version":3,"file":"exponentialPrimitive.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/primitive/exponentialPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAKR,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAIJ,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAwBF,eAAO,MAAM,uBAAuB,EAAE,iBAAiB,CAAC,WAAW,CAIlE,CAAC;AAiBF,eAAO,MAAM,mCAAmC,EAAE,YAAY,CAAC,WAAW,CAgCzE,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,GAAG,CAAC,WAAW,CAY9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAetD,CAAC"}
1
+ {"version":3,"file":"exponentialPrimitive.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/primitive/exponentialPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAGR,0BAA0B,EAE1B,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAIJ,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAwBF,eAAO,MAAM,uBAAuB,EAAE,iBAAiB,CAAC,WAAW,CAIlE,CAAC;AAEF,eAAO,MAAM,8CAA8C,EAAE,0BAA0B,CACrF,WAAW,CAYZ,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,YAAY,CAAC,WAAW,CAgCzE,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,GAAG,CAAC,WAAW,CAY9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAetD,CAAC"}
@@ -26,9 +26,9 @@ const getAnswer = (identifiers) => {
26
26
  export const getExponentialPrimitive = () => {
27
27
  const a = randint(-20, 20, [0]);
28
28
  const identifiers = { a };
29
- return getQuestionFromIdentifiers(identifiers);
29
+ return getExponentialPrimitiveQuestionFromIdentifiers(identifiers);
30
30
  };
31
- const getQuestionFromIdentifiers = (identifiers) => {
31
+ export const getExponentialPrimitiveQuestionFromIdentifiers = (identifiers) => {
32
32
  const question = {
33
33
  instruction: getInstruction(identifiers),
34
34
  startStatement: `F(x)`,
@@ -81,5 +81,5 @@ export const exponentialPrimitive = {
81
81
  isAnswerValid: isExponentialPrimitiveAnswerValid,
82
82
  subject: "Mathématiques",
83
83
  pdfOptions: { shouldSpreadPropositions: true },
84
- getQuestionFromIdentifiers,
84
+ getQuestionFromIdentifiers: getExponentialPrimitiveQuestionFromIdentifiers,
85
85
  };
@@ -1,8 +1,9 @@
1
- import { Exercise, QCMGenerator, QuestionGenerator, VEA } from "../../../exercises/exercise.js";
1
+ import { Exercise, GetQuestionFromIdentifiers, QCMGenerator, QuestionGenerator, VEA } from "../../../exercises/exercise.js";
2
2
  type Identifiers = {
3
3
  coeffs: number[];
4
4
  };
5
5
  export declare const getPolynomialPrimitive: QuestionGenerator<Identifiers>;
6
+ export declare const getPolynomialPrimitiveQuestionFromIdentifiers: GetQuestionFromIdentifiers<Identifiers>;
6
7
  export declare const getPolynomialPrimitivePropositions: QCMGenerator<Identifiers>;
7
8
  export declare const isPolynomialPrimitiveAnswerValid: VEA<Identifiers>;
8
9
  export declare const polynomialPrimitive: Exercise<Identifiers>;
@@ -1 +1 @@
1
- {"version":3,"file":"polynomialPrimitive.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/primitive/polynomialPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAKR,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAGJ,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAiBF,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,WAAW,CAKjE,CAAC;AAiBF,eAAO,MAAM,kCAAkC,EAAE,YAAY,CAAC,WAAW,CAexE,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,GAAG,CAAC,WAAW,CAqB7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAYrD,CAAC"}
1
+ {"version":3,"file":"polynomialPrimitive.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/primitive/polynomialPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAGR,0BAA0B,EAE1B,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAGJ,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAiBF,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,WAAW,CAKjE,CAAC;AAEF,eAAO,MAAM,6CAA6C,EAAE,0BAA0B,CACpF,WAAW,CAYZ,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,YAAY,CAAC,WAAW,CAexE,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,GAAG,CAAC,WAAW,CAqB7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAYrD,CAAC"}
@@ -23,9 +23,9 @@ export const getPolynomialPrimitive = () => {
23
23
  const degree = randint(1, 4);
24
24
  const polynomial = PolynomialConstructor.randomWithOrder(degree);
25
25
  const identifiers = { coeffs: polynomial.coefficients };
26
- return getQuestionFromIdentifiers(identifiers);
26
+ return getPolynomialPrimitiveQuestionFromIdentifiers(identifiers);
27
27
  };
28
- const getQuestionFromIdentifiers = (identifiers) => {
28
+ export const getPolynomialPrimitiveQuestionFromIdentifiers = (identifiers) => {
29
29
  const question = {
30
30
  instruction: getInstruction(identifiers),
31
31
  startStatement: `F(x)`,
@@ -75,5 +75,5 @@ export const polynomialPrimitive = {
75
75
  getPropositions: getPolynomialPrimitivePropositions,
76
76
  isAnswerValid: isPolynomialPrimitiveAnswerValid,
77
77
  subject: "Mathématiques",
78
- getQuestionFromIdentifiers,
78
+ getQuestionFromIdentifiers: getPolynomialPrimitiveQuestionFromIdentifiers,
79
79
  };
@@ -1,9 +1,10 @@
1
- import { Exercise, QCMGenerator, QuestionGenerator, VEA } from "../../../exercises/exercise.js";
1
+ import { Exercise, GetQuestionFromIdentifiers, QCMGenerator, QuestionGenerator, VEA } from "../../../exercises/exercise.js";
2
2
  type Identifiers = {
3
3
  a: number;
4
4
  isCos: boolean;
5
5
  };
6
6
  export declare const getSinCosPrimitive: QuestionGenerator<Identifiers>;
7
+ export declare const getSinCosPrimitiveQuestionFromIdentifiers: GetQuestionFromIdentifiers<Identifiers>;
7
8
  export declare const getSinCosPrimitivePropositions: QCMGenerator<Identifiers>;
8
9
  export declare const isSinCosPrimitiveAnswerValid: VEA<Identifiers>;
9
10
  export declare const sinCosPrimitive: Exercise<Identifiers>;
@@ -1 +1 @@
1
- {"version":3,"file":"sinCosPrimitive.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/primitive/sinCosPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAKR,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAGJ,MAAM,6BAA6B,CAAC;AAcrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAwBF,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,CAAC,WAAW,CAM7D,CAAC;AAgBF,eAAO,MAAM,8BAA8B,EAAE,YAAY,CAAC,WAAW,CA4BpE,CAAC;AACF,eAAO,MAAM,4BAA4B,EAAE,GAAG,CAAC,WAAW,CAYzD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAYjD,CAAC"}
1
+ {"version":3,"file":"sinCosPrimitive.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/primitive/sinCosPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAGR,0BAA0B,EAE1B,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAGJ,MAAM,6BAA6B,CAAC;AAcrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAwBF,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,CAAC,WAAW,CAM7D,CAAC;AAEF,eAAO,MAAM,yCAAyC,EAAE,0BAA0B,CAChF,WAAW,CAYZ,CAAC;AACF,eAAO,MAAM,8BAA8B,EAAE,YAAY,CAAC,WAAW,CA4BpE,CAAC;AACF,eAAO,MAAM,4BAA4B,EAAE,GAAG,CAAC,WAAW,CAYzD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAYjD,CAAC"}
@@ -32,9 +32,9 @@ export const getSinCosPrimitive = () => {
32
32
  const a = randint(-9, 10, [0]);
33
33
  const isCos = coinFlip();
34
34
  const identifiers = { a, isCos };
35
- return getQuestionFromIdentifiers(identifiers);
35
+ return getSinCosPrimitiveQuestionFromIdentifiers(identifiers);
36
36
  };
37
- const getQuestionFromIdentifiers = (identifiers) => {
37
+ export const getSinCosPrimitiveQuestionFromIdentifiers = (identifiers) => {
38
38
  const question = {
39
39
  instruction: getInstruction(identifiers),
40
40
  startStatement: `F(x)`,
@@ -82,5 +82,5 @@ export const sinCosPrimitive = {
82
82
  getPropositions: getSinCosPrimitivePropositions,
83
83
  isAnswerValid: isSinCosPrimitiveAnswerValid,
84
84
  subject: "Mathématiques",
85
- getQuestionFromIdentifiers,
85
+ getQuestionFromIdentifiers: getSinCosPrimitiveQuestionFromIdentifiers,
86
86
  };
@@ -1 +1 @@
1
- {"version":3,"file":"usualPrimitives.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/primitive/usualPrimitives.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMT,MAAM,6BAA6B,CAAC;AAwBrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ,CAAC;AAiGF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAcjD,CAAC"}
1
+ {"version":3,"file":"usualPrimitives.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/primitive/usualPrimitives.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAOT,MAAM,6BAA6B,CAAC;AA4BrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ,CAAC;AA+HF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAajD,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
2
2
  import { randint } from "../../../math/utils/random/randint.js";
3
- import { getConstantPrimitive, getConstantPrimitivePropositions, isConstantPrimitiveAnswerValid, } from "./constantPrimitive.js";
4
- import { getExponentialPrimitive, getExponentialPrimitivePropositions, isExponentialPrimitiveAnswerValid, } from "./exponentialPrimitive.js";
5
- import { getPolynomialPrimitive, getPolynomialPrimitivePropositions, isPolynomialPrimitiveAnswerValid, } from "./polynomialPrimitive.js";
6
- import { getSinCosPrimitive, getSinCosPrimitivePropositions, isSinCosPrimitiveAnswerValid, } from "./sinCosPrimitive.js";
3
+ import { getConstantPrimitive, getConstantPrimitivePropositions, getConstantPrimitiveQuestionFromIdentifiers, isConstantPrimitiveAnswerValid, } from "./constantPrimitive.js";
4
+ import { getExponentialPrimitive, getExponentialPrimitivePropositions, getExponentialPrimitiveQuestionFromIdentifiers, isExponentialPrimitiveAnswerValid, } from "./exponentialPrimitive.js";
5
+ import { getPolynomialPrimitive, getPolynomialPrimitivePropositions, getPolynomialPrimitiveQuestionFromIdentifiers, isPolynomialPrimitiveAnswerValid, } from "./polynomialPrimitive.js";
6
+ import { getSinCosPrimitive, getSinCosPrimitivePropositions, getSinCosPrimitiveQuestionFromIdentifiers, isSinCosPrimitiveAnswerValid, } from "./sinCosPrimitive.js";
7
7
  const getUsualPrimitives = () => {
8
8
  const rand = randint(1, 5);
9
9
  let question;
@@ -30,6 +30,34 @@ const getUsualPrimitives = () => {
30
30
  }
31
31
  return { ...question, identifiers };
32
32
  };
33
+ const getQuestionFromIdentifiers = (identifiers) => {
34
+ let question;
35
+ switch (identifiers.type) {
36
+ case 1:
37
+ question = getConstantPrimitiveQuestionFromIdentifiers({
38
+ c: identifiers.c,
39
+ });
40
+ break;
41
+ case 2:
42
+ question = getPolynomialPrimitiveQuestionFromIdentifiers({
43
+ coeffs: identifiers.coeffs,
44
+ });
45
+ break;
46
+ case 3:
47
+ question = getSinCosPrimitiveQuestionFromIdentifiers({
48
+ a: identifiers.a,
49
+ isCos: identifiers.isCos,
50
+ });
51
+ break;
52
+ case 4:
53
+ default:
54
+ question = getExponentialPrimitiveQuestionFromIdentifiers({
55
+ a: identifiers.a,
56
+ });
57
+ break;
58
+ }
59
+ return { ...question, identifiers };
60
+ };
33
61
  const getPropositions = (n, { answer, type, a, c, coeffs, isCos }) => {
34
62
  let props;
35
63
  switch (type) {
@@ -94,8 +122,6 @@ export const usualPrimitives = {
94
122
  id: "usualPrimitives",
95
123
  connector: "=",
96
124
  label: "Primitives des fonctions de référence",
97
- levels: ["TermSpé", "MathComp"],
98
- sections: ["Primitives"],
99
125
  isSingleStep: false,
100
126
  generator: (nb) => getDistinctQuestions(getUsualPrimitives, nb),
101
127
  qcmTimer: 60,
@@ -104,4 +130,5 @@ export const usualPrimitives = {
104
130
  isAnswerValid,
105
131
  subject: "Mathématiques",
106
132
  pdfOptions: { shouldSpreadPropositions: true },
133
+ getQuestionFromIdentifiers,
107
134
  };
@@ -1 +1 @@
1
- {"version":3,"file":"varianceOfBinomialProba.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/binomial/varianceOfBinomialProba.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAqHF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAYzD,CAAC"}
1
+ {"version":3,"file":"varianceOfBinomialProba.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/binomial/varianceOfBinomialProba.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAqHF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAazD,CAAC"}
@@ -108,4 +108,5 @@ export const varianceOfBinomialProba = {
108
108
  isAnswerValid,
109
109
  subject: "Mathématiques",
110
110
  hasHintAndCorrection: true,
111
+ getQuestionFromIdentifiers,
111
112
  };
@@ -1 +1 @@
1
- {"version":3,"file":"quartilesList.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/stats1var/quartilesList.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EAYT,MAAM,sBAAsB,CAAC;AAG9B,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AA8EF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAY/C,CAAC"}
1
+ {"version":3,"file":"quartilesList.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/stats1var/quartilesList.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAYT,MAAM,sBAAsB,CAAC;AAG9B,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAiFF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAY/C,CAAC"}
@@ -34,7 +34,10 @@ const getQuartiles = () => {
34
34
  for (let i = 0; i < length; i++)
35
35
  randomValues.push(randint(1, 20));
36
36
  const randomQuartile = randint(0, 2);
37
- const identifiers = { randomValues, randomQuartile };
37
+ const identifiers = {
38
+ randomValues: randomValues.sort((a, b) => a - b),
39
+ randomQuartile,
40
+ };
38
41
  return getQuestionFromIdentifiers(identifiers);
39
42
  };
40
43
  const getQuestionFromIdentifiers = (identifiers) => {