math-exercises 3.0.69 → 3.0.71

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
@@ -41,6 +41,9 @@ const getProductDerivativeQuestion = () => {
41
41
  poly1Coeffs: poly1.coefficients,
42
42
  poly2Coeffs: poly2.coefficients,
43
43
  };
44
+ return getQuestionFromIdentifiers(identifiers);
45
+ };
46
+ const getQuestionFromIdentifiers = (identifiers) => {
44
47
  const question = {
45
48
  answer: getAnwer(identifiers),
46
49
  instruction: getInstruction(identifiers),
@@ -95,4 +98,5 @@ export const quotientDerivative = {
95
98
  getPropositions,
96
99
  isAnswerValid,
97
100
  subject: "Mathématiques",
101
+ getQuestionFromIdentifiers,
98
102
  };
@@ -1 +1 @@
1
- {"version":3,"file":"rootFunctionDerivative.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/derivation/derivative/sqrt/rootFunctionDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA+FF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAiBxD,CAAC"}
1
+ {"version":3,"file":"rootFunctionDerivative.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/derivation/derivative/sqrt/rootFunctionDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAoGF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAkBxD,CAAC"}
@@ -54,6 +54,9 @@ ${alignTex([
54
54
  const getRootFunctionDerivative = () => {
55
55
  const a = randint(-19, 20, [0, 1]);
56
56
  const identifiers = { a };
57
+ return getQuestionFromIdentifiers(identifiers);
58
+ };
59
+ const getQuestionFromIdentifiers = (identifiers) => {
57
60
  const question = {
58
61
  instruction: getInstruction(identifiers),
59
62
  startStatement: `f'(x)`,
@@ -112,4 +115,5 @@ export const rootFunctionDerivative = {
112
115
  getInstruction,
113
116
  getAnswer,
114
117
  hasHintAndCorrection: true,
118
+ getQuestionFromIdentifiers,
115
119
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sqrtCompositionDerivation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/derivation/derivative/sqrt/sqrtCompositionDerivation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAqFF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAc3D,CAAC"}
1
+ {"version":3,"file":"sqrtCompositionDerivation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/derivation/derivative/sqrt/sqrtCompositionDerivation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA0FF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAe3D,CAAC"}
@@ -27,6 +27,9 @@ const getAnswer = (identifiers) => {
27
27
  const getSqrtCompositionDerivationQuestion = () => {
28
28
  const affine = AffineConstructor.random();
29
29
  const identifiers = { affineA: affine.a, affineB: affine.b };
30
+ return getQuestionFromIdentifiers(identifiers);
31
+ };
32
+ const getQuestionFromIdentifiers = (identifiers) => {
30
33
  const question = {
31
34
  answer: getAnswer(identifiers),
32
35
  instruction: getInstruction(identifiers),
@@ -74,4 +77,5 @@ export const sqrtCompositionDerivation = {
74
77
  subject: "Mathématiques",
75
78
  getAnswer,
76
79
  getInstruction,
80
+ getQuestionFromIdentifiers,
77
81
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cosCompositionDerivation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/derivation/derivative/trigo/cosCompositionDerivation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,6BAA6B,CAAC;AAarC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAmFF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAc1D,CAAC"}
1
+ {"version":3,"file":"cosCompositionDerivation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/derivation/derivative/trigo/cosCompositionDerivation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAarC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAwFF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAe1D,CAAC"}
@@ -26,6 +26,9 @@ const getAnswer = (identifiers) => {
26
26
  const getCosCompositionDerivationQuestion = () => {
27
27
  const affine = AffineConstructor.random(undefined, { excludes: [0] });
28
28
  const identifiers = { affineA: affine.a, affineB: affine.b };
29
+ return getQuestionFromIdentifiers(identifiers);
30
+ };
31
+ const getQuestionFromIdentifiers = (identifiers) => {
29
32
  const question = {
30
33
  answer: getAnswer(identifiers),
31
34
  instruction: getInstruction(identifiers),
@@ -78,4 +81,5 @@ export const cosCompositionDerivation = {
78
81
  subject: "Mathématiques",
79
82
  getAnswer,
80
83
  getInstruction,
84
+ getQuestionFromIdentifiers,
81
85
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cosSecondDegreeDerivative.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/derivation/derivative/trigo/cosSecondDegreeDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,6BAA6B,CAAC;AAerC,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AA+HF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAa3D,CAAC"}
1
+ {"version":3,"file":"cosSecondDegreeDerivative.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/derivation/derivative/trigo/cosSecondDegreeDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAerC,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAqIF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAc3D,CAAC"}
@@ -32,6 +32,9 @@ const getCosSecondDegreeDerivativeQuestion = () => {
32
32
  const affine = AffineConstructor.random();
33
33
  const affinecoeffs = affine.coefficients;
34
34
  const identifiers = { affinecoeffs };
35
+ return getQuestionFromIdentifiers(identifiers);
36
+ };
37
+ const getQuestionFromIdentifiers = (identifiers) => {
35
38
  const question = {
36
39
  answer: getAnswer(identifiers),
37
40
  instruction: getInstruction(identifiers),
@@ -100,4 +103,5 @@ export const cosSecondDegreeDerivative = {
100
103
  subject: "Mathématiques",
101
104
  getAnswer,
102
105
  getInstruction,
106
+ getQuestionFromIdentifiers,
103
107
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sinCompositionDerivation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/derivation/derivative/trigo/sinCompositionDerivation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAkFF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAc1D,CAAC"}
1
+ {"version":3,"file":"sinCompositionDerivation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/derivation/derivative/trigo/sinCompositionDerivation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAwFF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAe1D,CAAC"}
@@ -24,6 +24,9 @@ const getAnswer = (identifiers) => {
24
24
  const getSinCompositionDerivationQuestion = () => {
25
25
  const affine = AffineConstructor.random(undefined, { excludes: [0] });
26
26
  const identifiers = { affineA: affine.a, affineB: affine.b };
27
+ return getQuestionFromIdentifiers(identifiers);
28
+ };
29
+ const getQuestionFromIdentifiers = (identifiers) => {
27
30
  const question = {
28
31
  answer: getAnswer(identifiers),
29
32
  instruction: getInstruction(identifiers),
@@ -67,4 +70,5 @@ export const sinCompositionDerivation = {
67
70
  subject: "Mathématiques",
68
71
  getInstruction,
69
72
  getAnswer,
73
+ getQuestionFromIdentifiers,
70
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sinSecondDegreeDerivative.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/derivation/derivative/trigo/sinSecondDegreeDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAkIF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAa3D,CAAC"}
1
+ {"version":3,"file":"sinSecondDegreeDerivative.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/derivation/derivative/trigo/sinSecondDegreeDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAwIF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAc3D,CAAC"}
@@ -30,6 +30,9 @@ const getSinSecondDegreeDerivativeQuestion = () => {
30
30
  const affine = AffineConstructor.random();
31
31
  const affinecoeffs = affine.coefficients;
32
32
  const identifiers = { affinecoeffs };
33
+ return getQuestionFromIdentifiers(identifiers);
34
+ };
35
+ const getQuestionFromIdentifiers = (identifiers) => {
33
36
  const question = {
34
37
  answer: getAnswer(identifiers),
35
38
  instruction: getInstruction(identifiers),
@@ -88,4 +91,5 @@ export const sinSecondDegreeDerivative = {
88
91
  subject: "Mathématiques",
89
92
  getAnswer,
90
93
  getInstruction,
94
+ getQuestionFromIdentifiers,
91
95
  };
@@ -1,9 +1,10 @@
1
1
  import { Exercise } from "../../../exercises/exercise.js";
2
+ import { NodeIdentifiers } from "../../../tree/nodes/nodeConstructor.js";
2
3
  type Identifiers = {
3
4
  type: string;
4
- d: number;
5
- e: number;
6
- f: number | undefined;
5
+ randFuncIdentifiers: NodeIdentifiers;
6
+ equaDiffIdentifiers: NodeIdentifiers;
7
+ isSolution: boolean;
7
8
  };
8
9
  export declare const equaDiffCheckSolutionFirstOrder: Exercise<Identifiers>;
9
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"equaDiffCheckSolutionFirstOrder.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/equaDiff/equaDiffCheckSolutionFirstOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAerC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvB,CAAC;AAwHF,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,WAAW,CAejE,CAAC"}
1
+ {"version":3,"file":"equaDiffCheckSolutionFirstOrder.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/equaDiff/equaDiffCheckSolutionFirstOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAcrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAE7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,eAAe,CAAC;IACrC,mBAAmB,EAAE,eAAe,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AA+IF,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,WAAW,CAcjE,CAAC"}
@@ -11,11 +11,35 @@ import { VariableNode } from "../../../tree/nodes/variables/variableNode.js";
11
11
  import { coinFlip } from "../../../utils/alea/coinFlip.js";
12
12
  import { doWhile } from "../../../utils/doWhile.js";
13
13
  import { random } from "../../../utils/alea/random.js";
14
+ import { reifyAlgebraic, } from "../../../tree/nodes/nodeConstructor.js";
15
+ const getInstruction = (identifiers) => {
16
+ const { type, equaDiffIdentifiers, randFuncIdentifiers, isSolution } = identifiers;
17
+ return `Soit l'équation différentielle suivante :
18
+
19
+ $$
20
+ ${reifyAlgebraic(equaDiffIdentifiers).toTex()}
21
+ $$
22
+
23
+ La fonction $y = ${reifyAlgebraic(randFuncIdentifiers).toTex()}$ est-elle solution de cette équation ?`;
24
+ };
25
+ const getAnswer = (identifiers) => {
26
+ const answer = identifiers.isSolution ? "Oui" : "Non";
27
+ return answer;
28
+ };
29
+ const getQuestionFromIdentifiers = (identifiers) => {
30
+ const question = {
31
+ answer: getAnswer(identifiers),
32
+ instruction: getInstruction(identifiers),
33
+ keys: [],
34
+ answerFormat: "raw",
35
+ identifiers,
36
+ };
37
+ return question;
38
+ };
14
39
  const getEquaDiffCheckSolutionFirstOrderQuestion = () => {
15
40
  //types : constante, affine, tirnom, exp
16
41
  const type = random(["affine", "trinom", "exp"]);
17
42
  const isSolution = coinFlip();
18
- const answer = isSolution ? "Oui" : "Non";
19
43
  let equaDiff;
20
44
  let randomFunc;
21
45
  let d;
@@ -63,20 +87,13 @@ const getEquaDiffCheckSolutionFirstOrderQuestion = () => {
63
87
  : doWhile(() => new MultiplyNode(randint(-5, 5, [0]).toTree(), new ExpNode(new MultiplyNode(e.toTree(), new VariableNode("x")))), (P) => P.equals(expSolution));
64
88
  break;
65
89
  }
66
- const question = {
67
- answer,
68
- instruction: `Soit l'équation différentielle suivante :
69
-
70
- $$
71
- ${equaDiff.toTex()}
72
- $$
73
-
74
- La fonction $y = ${randomFunc.toTex()}$ est-elle solution de cette équation ?`,
75
- keys: [],
76
- answerFormat: "tex",
77
- identifiers: { type, d, e, f },
90
+ const identifiers = {
91
+ type,
92
+ isSolution,
93
+ equaDiffIdentifiers: equaDiff.toIdentifiers(),
94
+ randFuncIdentifiers: randomFunc.toIdentifiers(),
78
95
  };
79
- return question;
96
+ return getQuestionFromIdentifiers(identifiers);
80
97
  };
81
98
  const getPropositions = (n, { answer }) => {
82
99
  const propositions = [];
@@ -92,9 +109,7 @@ const isAnswerValid = (ans, { answer }) => {
92
109
  export const equaDiffCheckSolutionFirstOrder = {
93
110
  id: "equaDiffCheckSolutionFirstOrder",
94
111
  label: "Vérifier si une fonction est solution d'une équation différentielle du premier ordre",
95
- levels: ["TermTech", "MathComp", "TermSpé"],
96
112
  isSingleStep: true,
97
- sections: ["Équations différentielles"],
98
113
  generator: (nb) => getDistinctQuestions(getEquaDiffCheckSolutionFirstOrderQuestion, nb),
99
114
  qcmTimer: 60,
100
115
  freeTimer: 60,
@@ -102,4 +117,5 @@ export const equaDiffCheckSolutionFirstOrder = {
102
117
  isAnswerValid,
103
118
  answerType: "QCU",
104
119
  subject: "Mathématiques",
120
+ getQuestionFromIdentifiers,
105
121
  };
@@ -1 +1 @@
1
- {"version":3,"file":"expFactorization.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/exponential/expFactorization.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAEV,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAkKF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAiBlD,CAAC"}
1
+ {"version":3,"file":"expFactorization.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/exponential/expFactorization.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAEV,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAkKF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAkBlD,CAAC"}
@@ -150,4 +150,5 @@ export const expFactorization = {
150
150
  // getCorrection,
151
151
  getAnswer,
152
152
  // hasHintAndCorrection: true,
153
+ getQuestionFromIdentifiers,
153
154
  };
@@ -1 +1 @@
1
- {"version":3,"file":"secondDegreeInequation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/equation/secondDegreeInequation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,gBAAgB,EAGjB,MAAM,sCAAsC,CAAC;AAgB9C,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAwHF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAexD,CAAC"}
1
+ {"version":3,"file":"secondDegreeInequation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/equation/secondDegreeInequation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,gBAAgB,EAGjB,MAAM,sCAAsC,CAAC;AAoB9C,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAqJF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAcxD,CAAC"}
@@ -5,20 +5,59 @@ import { Trinom } from "../../../../../math/polynomials/trinom.js";
5
5
  import { randint } from "../../../../../math/utils/random/randint.js";
6
6
  import { InequationSolutionNode } from "../../../../../tree/nodes/inequations/inequationSolutionNode.js";
7
7
  import { MinusInfinityNode, PlusInfinityNode, } from "../../../../../tree/nodes/numbers/infiniteNode.js";
8
- import { NumberNode } from "../../../../../tree/nodes/numbers/numberNode.js";
9
- import { ClosureType } from "../../../../../tree/nodes/sets/closure.js";
10
- import { IntervalNode } from "../../../../../tree/nodes/sets/intervalNode.js";
8
+ import { Closure, ClosureType } from "../../../../../tree/nodes/sets/closure.js";
9
+ import { IntervalNode, } from "../../../../../tree/nodes/sets/intervalNode.js";
11
10
  import { UnionIntervalNode } from "../../../../../tree/nodes/sets/unionIntervalNode.js";
12
11
  import { unionIntervalParser } from "../../../../../tree/parsers/unionIntervalParser.js";
12
+ import { coinFlip } from "../../../../../utils/alea/coinFlip.js";
13
13
  import { handleVEAError } from "../../../../../utils/errors/handleVEAError.js";
14
- const getAnswer = ({ a, roots, ineqType }) => {
14
+ const getInstruction = (identifiers) => {
15
+ const { a, b, c, ineqType } = identifiers;
16
+ const ineq = new InequationSymbol(ineqType);
17
+ const trinom = new Trinom(a, b, c);
18
+ return `Soit $f$ la fonction définie par
19
+
20
+ $$
21
+ f(x) = ${trinom.toTree().toTex()}
22
+ $$
23
+
24
+ Résoudre l'inéquation $f(x) ${ineq.symbol} 0$.`;
25
+ };
26
+ const getAnswer = (identifiers) => {
27
+ const answer = getAnswerNode(identifiers).toTex();
28
+ return answer;
29
+ };
30
+ const getQuestionFromIdentifiers = (identifiers) => {
31
+ const question = {
32
+ answer: getAnswer(identifiers),
33
+ instruction: getInstruction(identifiers),
34
+ keys: [
35
+ "S",
36
+ "equal",
37
+ "lbracket",
38
+ "semicolon",
39
+ "rbracket",
40
+ "cup",
41
+ "infty",
42
+ "varnothing",
43
+ ],
44
+ answerFormat: "tex",
45
+ identifiers,
46
+ };
47
+ return question;
48
+ };
49
+ const getAnswerNode = (identifiers) => {
50
+ const { a, b, c, ineqType } = identifiers;
51
+ const ineq = new InequationSymbol(ineqType);
52
+ const trinom = new Trinom(a, b, c);
53
+ const roots = trinom.getRootsNode();
15
54
  const aPositive = a > 0;
16
- const insideInterval = new IntervalNode(roots[0], roots[1], ineqType.isStrict ? ClosureType.OO : ClosureType.FF);
55
+ const insideInterval = new IntervalNode(roots[0], roots[1], ineq.isStrict ? ClosureType.OO : ClosureType.FF);
17
56
  const outsideUnion = new UnionIntervalNode([
18
- new IntervalNode(MinusInfinityNode, roots[0], ineqType.isStrict ? ClosureType.OO : ClosureType.OF),
19
- new IntervalNode(roots[1], PlusInfinityNode, ineqType.isStrict ? ClosureType.OO : ClosureType.FO),
57
+ new IntervalNode(MinusInfinityNode, roots[0], ineq.isStrict ? ClosureType.OO : ClosureType.OF),
58
+ new IntervalNode(roots[1], PlusInfinityNode, ineq.isStrict ? ClosureType.OO : ClosureType.FO),
20
59
  ]);
21
- const tree = ineqType.isSup
60
+ const tree = ineq.isSup
22
61
  ? aPositive
23
62
  ? outsideUnion
24
63
  : insideInterval
@@ -31,47 +70,41 @@ const getSecondDegreeInequationQuestion = () => {
31
70
  const a = randint(-5, 6, [0]);
32
71
  const x1 = randint(-5, 6);
33
72
  const x2 = randint(-5, 6, [x1]);
34
- const roots = x1 < x2
35
- ? [new NumberNode(x1), new NumberNode(x2)]
36
- : [new NumberNode(x2), new NumberNode(x1)];
37
73
  const c = a * x1 * x2;
38
74
  const b = -a * x2 - a * x1;
39
75
  const trinom = new Trinom(a, b, c);
40
76
  const ineqType = InequationSymbolConstructor.random();
41
- const answer = getAnswer({ a: trinom.a, roots, ineqType }).toTex();
42
- const question = {
43
- answer,
44
- instruction: `Soit $f(x) = ${trinom
45
- .toTree()
46
- .toTex()}$. Résoudre l'inéquation $f(x) ${ineqType.symbol} 0$.`,
47
- keys: [
48
- "S",
49
- "equal",
50
- "lbracket",
51
- "semicolon",
52
- "rbracket",
53
- "cup",
54
- "infty",
55
- "varnothing",
56
- ],
57
- answerFormat: "tex",
58
- identifiers: {
59
- a: trinom.a,
60
- b: trinom.b,
61
- c: trinom.c,
62
- ineqType: ineqType.symbol,
63
- },
77
+ const identifiers = {
78
+ a: trinom.a,
79
+ b: trinom.b,
80
+ c: trinom.c,
81
+ ineqType: ineqType.symbol,
64
82
  };
65
- return question;
83
+ return getQuestionFromIdentifiers(identifiers);
66
84
  };
67
85
  const getPropositions = (n, { answer, a, b, c, ineqType }) => {
68
86
  const propositions = [];
69
87
  addValidProp(propositions, answer);
70
- const roots = new Trinom(a, b, c).getRootsNode();
71
88
  const ineq = new InequationSymbol(ineqType);
72
- tryToAddWrongProp(propositions, getAnswer({ a: -a, ineqType: ineq, roots }).toTex());
73
- tryToAddWrongProp(propositions, getAnswer({ a, ineqType: ineq.toStrictnessToggled(), roots }).toTex());
74
- tryToAddWrongProp(propositions, getAnswer({ a: -a, ineqType: ineq.toStrictnessToggled(), roots }).toTex());
89
+ tryToAddWrongProp(propositions, getAnswerNode({
90
+ a,
91
+ ineqType: ineq.toStrictnessToggled().symbol,
92
+ b,
93
+ c,
94
+ }).toTex());
95
+ while (propositions.length < n) {
96
+ let x1 = randint(-5, 6, [0]);
97
+ let x2 = randint(-5, 6, [x1]);
98
+ if (x1 > x2)
99
+ [x1, x2] = [x2, x1];
100
+ const interval = coinFlip()
101
+ ? new IntervalNode(x1.toTree(), x2.toTree(), Closure.random())
102
+ : new UnionIntervalNode([
103
+ new IntervalNode(MinusInfinityNode, x1.toTree(), ClosureType.OF),
104
+ new IntervalNode(x2.toTree(), PlusInfinityNode, ClosureType.FO),
105
+ ]);
106
+ tryToAddWrongProp(propositions, `S=\\ ${interval.toTex()}`);
107
+ }
75
108
  return shuffleProps(propositions, n);
76
109
  };
77
110
  const isAnswerValid = (ans, { answer, a, b, c, ineqType }) => {
@@ -89,9 +122,7 @@ export const secondDegreeInequation = {
89
122
  id: "secondDegreeInequation",
90
123
  connector: "\\iff",
91
124
  label: "Résoudre une inéquation du second degré",
92
- levels: ["1reSpé"],
93
125
  isSingleStep: true,
94
- sections: ["Inéquations", "Second degré"],
95
126
  generator: (nb) => getDistinctQuestions(getSecondDegreeInequationQuestion, nb),
96
127
  qcmTimer: 60,
97
128
  freeTimer: 60,
@@ -99,4 +130,5 @@ export const secondDegreeInequation = {
99
130
  isAnswerValid,
100
131
  subject: "Mathématiques",
101
132
  pdfOptions: { shouldSpreadPropositions: true },
133
+ getQuestionFromIdentifiers,
102
134
  };
@@ -1 +1 @@
1
- {"version":3,"file":"alphaBetaInCanonicalForm.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/summitAndCanonical/alphaBetaInCanonicalForm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AA4DF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAc1D,CAAC"}
1
+ {"version":3,"file":"alphaBetaInCanonicalForm.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/summitAndCanonical/alphaBetaInCanonicalForm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AA+EF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAa1D,CAAC"}
@@ -6,26 +6,43 @@ import { OppositeNode } from "../../../../../tree/nodes/functions/oppositeNode.j
6
6
  import { NumberNode } from "../../../../../tree/nodes/numbers/numberNode.js";
7
7
  import { coinFlip } from "../../../../../utils/alea/coinFlip.js";
8
8
  import { shuffle } from "../../../../../utils/alea/shuffle.js";
9
- const getAlphaBetaInCanonicalFormQuestion = () => {
10
- const trinom = TrinomConstructor.randomCanonical();
11
- const param = coinFlip() ? "\\alpha" : "\\beta";
12
- const alpha = trinom.getAlpha();
13
- const beta = trinom.getBeta();
14
- const alphaTex = trinom.getAlphaNode().toTex();
15
- const betaTex = trinom.getBetaNode().toTex();
16
- const answer = param === "\\alpha" ? alphaTex : betaTex;
9
+ const getInstruction = (identifiers) => {
10
+ const { param, a, alpha, beta } = identifiers;
11
+ const trinom = TrinomConstructor.fromAlphaBeta({ a, alpha, beta });
12
+ return `Soit $f$ la fonction définie par
13
+
14
+ $$
15
+ f(x) = ${trinom.getCanonicalForm().toTex()}
16
+ $$
17
+
18
+ Que vaut $${param}$ ?`;
19
+ };
20
+ const getAnswer = (identifiers) => {
21
+ const { param, a, alpha, beta } = identifiers;
22
+ return param === "\\alpha" ? alpha.frenchify() : beta.frenchify();
23
+ };
24
+ const getStartStatement = (identifiers) => {
25
+ return identifiers.param;
26
+ };
27
+ const getQuestionFromIdentifiers = (identifiers) => {
17
28
  const question = {
18
- instruction: `Soit $f$ la fonction définie par $f(x) = ${trinom
19
- .getCanonicalForm()
20
- .toTex()}$. Que vaut $${param}$ ?`,
21
- answer: answer,
29
+ instruction: getInstruction(identifiers),
30
+ answer: getAnswer(identifiers),
22
31
  keys: ["x", "alpha", "beta"],
23
32
  answerFormat: "tex",
24
- startStatement: param,
25
- identifiers: { param, a: trinom.a, alpha, beta },
33
+ startStatement: getStartStatement(identifiers),
34
+ identifiers,
26
35
  };
27
36
  return question;
28
37
  };
38
+ const getAlphaBetaInCanonicalFormQuestion = () => {
39
+ const trinom = TrinomConstructor.randomCanonical();
40
+ const param = coinFlip() ? "\\alpha" : "\\beta";
41
+ const alpha = trinom.getAlpha();
42
+ const beta = trinom.getBeta();
43
+ const identifiers = { param, a: trinom.a, alpha, beta };
44
+ return getQuestionFromIdentifiers(identifiers);
45
+ };
29
46
  const getPropositions = (n, { answer, param, alpha, beta, a }) => {
30
47
  const propositions = [];
31
48
  addValidProp(propositions, answer);
@@ -52,13 +69,12 @@ export const alphaBetaInCanonicalForm = {
52
69
  id: "alphaInCanonicalForm",
53
70
  connector: "=",
54
71
  label: "Identifier $\\alpha$ et $\\beta$ dans la forme canonique",
55
- levels: ["1reSpé"],
56
72
  isSingleStep: true,
57
- sections: ["Second degré"],
58
73
  generator: (nb) => getDistinctQuestions(getAlphaBetaInCanonicalFormQuestion, nb),
59
74
  qcmTimer: 60,
60
75
  freeTimer: 60,
61
76
  getPropositions,
62
77
  isAnswerValid,
63
78
  subject: "Mathématiques",
79
+ getQuestionFromIdentifiers,
64
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"summitReading.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/summitAndCanonical/summitReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA4EF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAgB/C,CAAC"}
1
+ {"version":3,"file":"summitReading.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/summitAndCanonical/summitReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA4EF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAe/C,CAAC"}
@@ -63,9 +63,7 @@ const isAnswerValid = (ans, { answer }) => {
63
63
  export const summitReading = {
64
64
  id: "summitReading",
65
65
  label: "Déterminer graphiquement les coordonnées du sommet d'une parabole",
66
- levels: ["1rePro", "1reSpé"],
67
66
  isSingleStep: true,
68
- sections: ["Second degré"],
69
67
  generator: (nb) => getDistinctQuestions(getSummitReadingQuestion, nb),
70
68
  qcmTimer: 60,
71
69
  freeTimer: 60,
@@ -76,4 +74,5 @@ export const summitReading = {
76
74
  getInstruction,
77
75
  getAnswer,
78
76
  getGGBOptions,
77
+ getQuestionFromIdentifiers,
79
78
  };
@@ -1 +1 @@
1
- {"version":3,"file":"circleRadiusFromArea.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/areas/circleRadiusFromArea.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAcrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AA+FF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAiBtD,CAAC"}
1
+ {"version":3,"file":"circleRadiusFromArea.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/areas/circleRadiusFromArea.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAcrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AA+FF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAkBtD,CAAC"}
@@ -106,4 +106,5 @@ export const circleRadiusFromArea = {
106
106
  getAnswer,
107
107
  hasHintAndCorrection: true,
108
108
  shouldHaveCalculator: true,
109
+ getQuestionFromIdentifiers,
109
110
  };
@@ -1 +1 @@
1
- {"version":3,"file":"squareSideFromArea.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/areas/squareSideFromArea.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAqEF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAgBpD,CAAC"}
1
+ {"version":3,"file":"squareSideFromArea.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/areas/squareSideFromArea.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAqEF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAiBpD,CAAC"}
@@ -73,5 +73,6 @@ export const squareSideFromArea = {
73
73
  getHint,
74
74
  getCorrection,
75
75
  getAnswer,
76
+ getQuestionFromIdentifiers,
76
77
  hasHintAndCorrection: true,
77
78
  };
@@ -1,7 +1,10 @@
1
1
  import { Exercise } from "../../../../exercises/exercise.js";
2
+ import { LineIdentifiers } from "../../../../math/geometry/line.js";
3
+ import { RayIdentifiers } from "../../../../math/geometry/ray.js";
4
+ import { SegmentIdentifiers } from "../../../../math/geometry/segment.js";
2
5
  type Identifiers = {
3
6
  type: number;
4
- commands: string[];
7
+ objIds: SegmentIdentifiers | RayIdentifiers | LineIdentifiers;
5
8
  };
6
9
  export declare const basicShapesNaming: Exercise<Identifiers>;
7
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"basicShapesNaming.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/shapes/basicShapesNaming.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AA8FxD,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAgBnD,CAAC"}
1
+ {"version":3,"file":"basicShapesNaming.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/shapes/basicShapesNaming.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAGL,eAAe,EAChB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAGL,cAAc,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAKxC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,kBAAkB,GAAG,cAAc,GAAG,eAAe,CAAC;CAC/D,CAAC;AA8JF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAenD,CAAC"}