math-exercises 3.0.68 → 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 (699) 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/fractions/fractionToPercentToDecimal.d.ts.map +1 -1
  17. package/lib/exercises/math/calcul/fractions/fractionToPercentToDecimal.js +55 -37
  18. package/lib/exercises/math/calcul/fractions/fractionsSumsMultiplesDenominators.d.ts.map +1 -1
  19. package/lib/exercises/math/calcul/fractions/fractionsSumsMultiplesDenominators.js +4 -4
  20. package/lib/exercises/math/calcul/fractions/fractionsSumsPrimeDenominators.d.ts.map +1 -1
  21. package/lib/exercises/math/calcul/fractions/fractionsSumsPrimeDenominators.js +31 -18
  22. package/lib/exercises/math/calcul/fractions/fractionsSumsSameDenominators.d.ts.map +1 -1
  23. package/lib/exercises/math/calcul/fractions/fractionsSumsSameDenominators.js +59 -35
  24. package/lib/exercises/math/calcul/mentalCaluls/mentalAddAndSub.d.ts.map +1 -1
  25. package/lib/exercises/math/calcul/mentalCaluls/mentalAddAndSub.js +33 -17
  26. package/lib/exercises/math/calcul/mentalCaluls/mentalAddAndSubNoRelative.d.ts.map +1 -1
  27. package/lib/exercises/math/calcul/mentalCaluls/mentalAddAndSubNoRelative.js +36 -18
  28. package/lib/exercises/math/calcul/mentalCaluls/mentalDivisions.d.ts.map +1 -1
  29. package/lib/exercises/math/calcul/mentalCaluls/mentalDivisions.js +38 -30
  30. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplications.d.ts.map +1 -1
  31. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplications.js +35 -21
  32. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplicationsNoRelative.d.ts.map +1 -1
  33. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplicationsNoRelative.js +4 -0
  34. package/lib/exercises/math/calcul/mentalCaluls/mentalPercentage.d.ts.map +1 -1
  35. package/lib/exercises/math/calcul/mentalCaluls/mentalPercentage.js +22 -9
  36. package/lib/exercises/math/calcul/operations/expressionNature.d.ts +2 -1
  37. package/lib/exercises/math/calcul/operations/expressionNature.d.ts.map +1 -1
  38. package/lib/exercises/math/calcul/operations/expressionNature.js +36 -15
  39. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesis.d.ts +2 -1
  40. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesis.d.ts.map +1 -1
  41. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesis.js +26 -15
  42. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesisNoRelatives.d.ts +2 -1
  43. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesisNoRelatives.d.ts.map +1 -1
  44. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesisNoRelatives.js +26 -17
  45. package/lib/exercises/math/calcul/operations/operationsPrioritiesWithoutRelative.d.ts +1 -0
  46. package/lib/exercises/math/calcul/operations/operationsPrioritiesWithoutRelative.d.ts.map +1 -1
  47. package/lib/exercises/math/calcul/operations/operationsPrioritiesWithoutRelative.js +89 -60
  48. package/lib/exercises/math/calcul/ordering/decimalOrdering.d.ts.map +1 -1
  49. package/lib/exercises/math/calcul/ordering/decimalOrdering.js +30 -13
  50. package/lib/exercises/math/calcul/ordering/decimalOrderingNoRelatives.d.ts.map +1 -1
  51. package/lib/exercises/math/calcul/ordering/decimalOrderingNoRelatives.js +26 -13
  52. package/lib/exercises/math/calcul/ordering/framing.d.ts.map +1 -1
  53. package/lib/exercises/math/calcul/ordering/framing.js +70 -59
  54. package/lib/exercises/math/calcul/ordering/integerOrdering.d.ts.map +1 -1
  55. package/lib/exercises/math/calcul/ordering/integerOrdering.js +30 -11
  56. package/lib/exercises/math/calcul/proportionality/findCoeffInProportionalTableNonIntegers.d.ts.map +1 -1
  57. package/lib/exercises/math/calcul/proportionality/findCoeffInProportionalTableNonIntegers.js +4 -0
  58. package/lib/exercises/math/calcul/proportionality/isTableProportional.d.ts.map +1 -1
  59. package/lib/exercises/math/calcul/proportionality/isTableProportional.js +42 -24
  60. package/lib/exercises/math/calcul/proportionality/isTableProportionalNonInteger.d.ts.map +1 -1
  61. package/lib/exercises/math/calcul/proportionality/isTableProportionalNonInteger.js +4 -0
  62. package/lib/exercises/math/calcul/proportionality/scaleUsage.d.ts +1 -0
  63. package/lib/exercises/math/calcul/proportionality/scaleUsage.d.ts.map +1 -1
  64. package/lib/exercises/math/calcul/proportionality/scaleUsage.js +75 -39
  65. package/lib/exercises/math/calcul/writing/index.d.ts +1 -1
  66. package/lib/exercises/math/calcul/writing/index.d.ts.map +1 -1
  67. package/lib/exercises/math/calcul/writing/index.js +3 -1
  68. package/lib/exercises/math/calcul/writing/numberToFrenchWriting.d.ts +0 -5
  69. package/lib/exercises/math/calcul/writing/numberToFrenchWriting.d.ts.map +1 -1
  70. package/lib/exercises/math/calcul/writing/numberToFrenchWriting.js +87 -64
  71. package/lib/exercises/math/calculLitteral/distributivity/allIdentities.d.ts.map +1 -1
  72. package/lib/exercises/math/calculLitteral/distributivity/allIdentities.js +29 -5
  73. package/lib/exercises/math/calculLitteral/distributivity/idRmq1.d.ts +2 -1
  74. package/lib/exercises/math/calculLitteral/distributivity/idRmq1.d.ts.map +1 -1
  75. package/lib/exercises/math/calculLitteral/distributivity/idRmq1.js +3 -3
  76. package/lib/exercises/math/calculLitteral/distributivity/idRmq2.d.ts +2 -1
  77. package/lib/exercises/math/calculLitteral/distributivity/idRmq2.d.ts.map +1 -1
  78. package/lib/exercises/math/calculLitteral/distributivity/idRmq2.js +3 -3
  79. package/lib/exercises/math/calculLitteral/distributivity/idRmq3.d.ts +2 -1
  80. package/lib/exercises/math/calculLitteral/distributivity/idRmq3.d.ts.map +1 -1
  81. package/lib/exercises/math/calculLitteral/distributivity/idRmq3.js +3 -3
  82. package/lib/exercises/math/calculLitteral/factorisation/facto1.d.ts.map +1 -1
  83. package/lib/exercises/math/calculLitteral/factorisation/facto1.js +3 -1
  84. package/lib/exercises/math/calculLitteral/systems/basicNiceValuesSystemResolution.js +1 -1
  85. package/lib/exercises/math/combinatory/anagrams.d.ts.map +1 -1
  86. package/lib/exercises/math/combinatory/anagrams.js +18 -7
  87. package/lib/exercises/math/combinatory/ballsCounting.d.ts.map +1 -1
  88. package/lib/exercises/math/combinatory/ballsCounting.js +8 -6
  89. package/lib/exercises/math/combinatory/diceCounting.d.ts.map +1 -1
  90. package/lib/exercises/math/combinatory/diceCounting.js +62 -27
  91. package/lib/exercises/math/complex/addComplex.d.ts.map +1 -1
  92. package/lib/exercises/math/complex/addComplex.js +31 -18
  93. package/lib/exercises/math/complex/argumentFromAlgebraicComplex.d.ts.map +1 -1
  94. package/lib/exercises/math/complex/argumentFromAlgebraicComplex.js +24 -11
  95. package/lib/exercises/math/complex/conjugateComplex.d.ts.map +1 -1
  96. package/lib/exercises/math/complex/conjugateComplex.js +20 -7
  97. package/lib/exercises/math/complex/conjugateDivideComplex.d.ts.map +1 -1
  98. package/lib/exercises/math/complex/conjugateDivideComplex.js +29 -16
  99. package/lib/exercises/math/complex/conjugateMultiplyComplex.d.ts.map +1 -1
  100. package/lib/exercises/math/complex/conjugateMultiplyComplex.js +26 -13
  101. package/lib/exercises/math/complex/divideComplex.d.ts.map +1 -1
  102. package/lib/exercises/math/complex/divideComplex.js +29 -16
  103. package/lib/exercises/math/complex/inverseComplex.d.ts.map +1 -1
  104. package/lib/exercises/math/complex/inverseComplex.js +18 -7
  105. package/lib/exercises/math/complex/linearCombinaisonComplex.d.ts.map +1 -1
  106. package/lib/exercises/math/complex/linearCombinaisonComplex.js +30 -13
  107. package/lib/exercises/math/complex/moduloFromAlgebraicComplex.d.ts.map +1 -1
  108. package/lib/exercises/math/complex/moduloFromAlgebraicComplex.js +20 -8
  109. package/lib/exercises/math/complex/mutiplyComplex.d.ts.map +1 -1
  110. package/lib/exercises/math/complex/mutiplyComplex.js +26 -13
  111. package/lib/exercises/math/complex/reAndIm.d.ts.map +1 -1
  112. package/lib/exercises/math/complex/reAndIm.js +22 -9
  113. package/lib/exercises/math/conversion/volumeCapacityConversion.d.ts.map +1 -1
  114. package/lib/exercises/math/conversion/volumeCapacityConversion.js +1 -0
  115. package/lib/exercises/math/dataRepresentations/testGen.d.ts.map +1 -1
  116. package/lib/exercises/math/dataRepresentations/testGen.js +5 -1
  117. package/lib/exercises/math/dataRepresentations/testGenGGB.d.ts.map +1 -1
  118. package/lib/exercises/math/dataRepresentations/testGenGGB.js +5 -1
  119. package/lib/exercises/math/dataRepresentations/testGenStudentGGB.d.ts.map +1 -1
  120. package/lib/exercises/math/dataRepresentations/testGenStudentGGB.js +5 -1
  121. package/lib/exercises/math/derivation/convexity/convexityQuadrinomials.d.ts.map +1 -1
  122. package/lib/exercises/math/derivation/convexity/convexityQuadrinomials.js +4 -0
  123. package/lib/exercises/math/derivation/convexity/convexityTrinomials.d.ts.map +1 -1
  124. package/lib/exercises/math/derivation/convexity/convexityTrinomials.js +4 -0
  125. package/lib/exercises/math/derivation/convexity/inflexionPointQuadrinomials.d.ts.map +1 -1
  126. package/lib/exercises/math/derivation/convexity/inflexionPointQuadrinomials.js +4 -2
  127. package/lib/exercises/math/derivation/derivative/exp/expDerivativeFour.d.ts.map +1 -1
  128. package/lib/exercises/math/derivation/derivative/exp/expDerivativeFour.js +4 -2
  129. package/lib/exercises/math/derivation/derivative/exp/expDerivativeOne.d.ts.map +1 -1
  130. package/lib/exercises/math/derivation/derivative/exp/expDerivativeOne.js +4 -0
  131. package/lib/exercises/math/derivation/derivative/exp/expDerivativeTwo.d.ts.map +1 -1
  132. package/lib/exercises/math/derivation/derivative/exp/expDerivativeTwo.js +4 -0
  133. package/lib/exercises/math/derivation/derivative/exp/secondDerivativeOfExpoFunction.d.ts.map +1 -1
  134. package/lib/exercises/math/derivation/derivative/exp/secondDerivativeOfExpoFunction.js +4 -2
  135. package/lib/exercises/math/derivation/derivative/inverseFunctionDerivative.d.ts.map +1 -1
  136. package/lib/exercises/math/derivation/derivative/inverseFunctionDerivative.js +4 -0
  137. package/lib/exercises/math/derivation/derivative/ln/lnDerivativeTwo.d.ts.map +1 -1
  138. package/lib/exercises/math/derivation/derivative/ln/lnDerivativeTwo.js +4 -0
  139. package/lib/exercises/math/derivation/derivative/polynomial/constanteDerivative.d.ts +2 -1
  140. package/lib/exercises/math/derivation/derivative/polynomial/constanteDerivative.d.ts.map +1 -1
  141. package/lib/exercises/math/derivation/derivative/polynomial/constanteDerivative.js +6 -4
  142. package/lib/exercises/math/derivation/derivative/polynomial/firstDegreeDerivative.d.ts +2 -1
  143. package/lib/exercises/math/derivation/derivative/polynomial/firstDegreeDerivative.d.ts.map +1 -1
  144. package/lib/exercises/math/derivation/derivative/polynomial/firstDegreeDerivative.js +4 -0
  145. package/lib/exercises/math/derivation/derivative/polynomial/secondDegreeDerivative.d.ts +2 -1
  146. package/lib/exercises/math/derivation/derivative/polynomial/secondDegreeDerivative.d.ts.map +1 -1
  147. package/lib/exercises/math/derivation/derivative/polynomial/secondDegreeDerivative.js +4 -0
  148. package/lib/exercises/math/derivation/derivative/polynomial/secondDerivativeOfThirdDegreeFunction.d.ts.map +1 -1
  149. package/lib/exercises/math/derivation/derivative/polynomial/secondDerivativeOfThirdDegreeFunction.js +4 -0
  150. package/lib/exercises/math/derivation/derivative/polynomial/secondDerivativeOfTrinom.d.ts.map +1 -1
  151. package/lib/exercises/math/derivation/derivative/polynomial/secondDerivativeOfTrinom.js +4 -0
  152. package/lib/exercises/math/derivation/derivative/polynomial/thirdDegreeDerivative.d.ts +2 -1
  153. package/lib/exercises/math/derivation/derivative/polynomial/thirdDegreeDerivative.d.ts.map +1 -1
  154. package/lib/exercises/math/derivation/derivative/polynomial/thirdDegreeDerivative.js +4 -10
  155. package/lib/exercises/math/derivation/derivative/polynomial/usualderivative.d.ts.map +1 -1
  156. package/lib/exercises/math/derivation/derivative/polynomial/usualderivative.js +32 -4
  157. package/lib/exercises/math/derivation/derivative/power/powerCompositionDerivation.d.ts.map +1 -1
  158. package/lib/exercises/math/derivation/derivative/power/powerCompositionDerivation.js +4 -2
  159. package/lib/exercises/math/derivation/derivative/power/powerFunctionDerivative.d.ts.map +1 -1
  160. package/lib/exercises/math/derivation/derivative/power/powerFunctionDerivative.js +4 -0
  161. package/lib/exercises/math/derivation/derivative/productDerivative.d.ts.map +1 -1
  162. package/lib/exercises/math/derivation/derivative/productDerivative.js +4 -0
  163. package/lib/exercises/math/derivation/derivative/quotientDerivative.d.ts.map +1 -1
  164. package/lib/exercises/math/derivation/derivative/quotientDerivative.js +4 -0
  165. package/lib/exercises/math/derivation/derivative/sqrt/rootFunctionDerivative.d.ts.map +1 -1
  166. package/lib/exercises/math/derivation/derivative/sqrt/rootFunctionDerivative.js +4 -0
  167. package/lib/exercises/math/derivation/derivative/sqrt/sqrtCompositionDerivation.d.ts.map +1 -1
  168. package/lib/exercises/math/derivation/derivative/sqrt/sqrtCompositionDerivation.js +4 -0
  169. package/lib/exercises/math/derivation/derivative/trigo/cosCompositionDerivation.d.ts.map +1 -1
  170. package/lib/exercises/math/derivation/derivative/trigo/cosCompositionDerivation.js +4 -0
  171. package/lib/exercises/math/derivation/derivative/trigo/cosSecondDegreeDerivative.d.ts.map +1 -1
  172. package/lib/exercises/math/derivation/derivative/trigo/cosSecondDegreeDerivative.js +4 -0
  173. package/lib/exercises/math/derivation/derivative/trigo/sinCompositionDerivation.d.ts.map +1 -1
  174. package/lib/exercises/math/derivation/derivative/trigo/sinCompositionDerivation.js +4 -0
  175. package/lib/exercises/math/derivation/derivative/trigo/sinSecondDegreeDerivative.d.ts.map +1 -1
  176. package/lib/exercises/math/derivation/derivative/trigo/sinSecondDegreeDerivative.js +4 -0
  177. package/lib/exercises/math/equaDiff/equaDiffCheckSolutionFirstOrder.d.ts +4 -3
  178. package/lib/exercises/math/equaDiff/equaDiffCheckSolutionFirstOrder.d.ts.map +1 -1
  179. package/lib/exercises/math/equaDiff/equaDiffCheckSolutionFirstOrder.js +32 -16
  180. package/lib/exercises/math/functions/absolute/absolueValueAffineEquation.d.ts.map +1 -1
  181. package/lib/exercises/math/functions/absolute/absolueValueAffineEquation.js +4 -0
  182. package/lib/exercises/math/functions/absolute/absolueValueInequationsSup.d.ts.map +1 -1
  183. package/lib/exercises/math/functions/absolute/absolueValueInequationsSup.js +4 -4
  184. package/lib/exercises/math/functions/absolute/absoluteValueEquations.d.ts.map +1 -1
  185. package/lib/exercises/math/functions/absolute/absoluteValueEquations.js +22 -10
  186. package/lib/exercises/math/functions/absolute/absoluteValueInequations.d.ts.map +1 -1
  187. package/lib/exercises/math/functions/absolute/absoluteValueInequations.js +22 -8
  188. package/lib/exercises/math/functions/affines/affineAdjustment.d.ts.map +1 -1
  189. package/lib/exercises/math/functions/affines/affineAdjustment.js +4 -4
  190. package/lib/exercises/math/functions/affines/affineAdjustmentComplete.d.ts.map +1 -1
  191. package/lib/exercises/math/functions/affines/affineAdjustmentComplete.js +4 -4
  192. package/lib/exercises/math/functions/affines/affineAdjustmentRsquared.d.ts.map +1 -1
  193. package/lib/exercises/math/functions/affines/affineAdjustmentRsquared.js +4 -4
  194. package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.d.ts.map +1 -1
  195. package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.js +4 -4
  196. package/lib/exercises/math/functions/affines/affineExpressionReading.d.ts.map +1 -1
  197. package/lib/exercises/math/functions/affines/affineExpressionReading.js +1 -0
  198. package/lib/exercises/math/functions/affines/affineMeanValue.d.ts.map +1 -1
  199. package/lib/exercises/math/functions/affines/affineMeanValue.js +33 -14
  200. package/lib/exercises/math/functions/affines/algebricExpressionOfAffine.d.ts.map +1 -1
  201. package/lib/exercises/math/functions/affines/algebricExpressionOfAffine.js +4 -4
  202. package/lib/exercises/math/functions/affines/leadingCoeffAndOriginOrdinate.d.ts.map +1 -1
  203. package/lib/exercises/math/functions/affines/leadingCoeffAndOriginOrdinate.js +4 -0
  204. package/lib/exercises/math/functions/affines/leadingCoefficient.d.ts.map +1 -1
  205. package/lib/exercises/math/functions/affines/leadingCoefficient.js +4 -5
  206. package/lib/exercises/math/functions/affines/leadingCoefficientCalculV1.d.ts.map +1 -1
  207. package/lib/exercises/math/functions/affines/leadingCoefficientCalculV1.js +4 -2
  208. package/lib/exercises/math/functions/basics/graphicEquation.d.ts.map +1 -1
  209. package/lib/exercises/math/functions/basics/graphicEquation.js +4 -2
  210. package/lib/exercises/math/functions/basics/graphicInequation.d.ts.map +1 -1
  211. package/lib/exercises/math/functions/basics/graphicInequation.js +4 -2
  212. package/lib/exercises/math/functions/basics/graphicInequationAffine.d.ts.map +1 -1
  213. package/lib/exercises/math/functions/basics/graphicInequationAffine.js +4 -5
  214. package/lib/exercises/math/functions/basics/imageAntecedentFromSentence.d.ts.map +1 -1
  215. package/lib/exercises/math/functions/basics/imageAntecedentFromSentence.js +4 -3
  216. package/lib/exercises/math/functions/basics/inverseImageFunction.d.ts.map +1 -1
  217. package/lib/exercises/math/functions/basics/inverseImageFunction.js +4 -6
  218. package/lib/exercises/math/functions/basics/inverseImageFunctionGeogebra.d.ts.map +1 -1
  219. package/lib/exercises/math/functions/basics/inverseImageFunctionGeogebra.js +0 -2
  220. package/lib/exercises/math/functions/basics/inverseImageFunctionTable.d.ts.map +1 -1
  221. package/lib/exercises/math/functions/basics/inverseImageFunctionTable.js +16 -15
  222. package/lib/exercises/math/functions/basics/twoFunctionsEquation.d.ts +1 -0
  223. package/lib/exercises/math/functions/basics/twoFunctionsEquation.d.ts.map +1 -1
  224. package/lib/exercises/math/functions/basics/twoFunctionsEquation.js +46 -32
  225. package/lib/exercises/math/functions/basics/twoFunctionsInequation.d.ts.map +1 -1
  226. package/lib/exercises/math/functions/basics/twoFunctionsInequation.js +4 -2
  227. package/lib/exercises/math/functions/cube/cubicEquation.d.ts.map +1 -1
  228. package/lib/exercises/math/functions/cube/cubicEquation.js +4 -3
  229. package/lib/exercises/math/functions/exponential/expFactorization.d.ts.map +1 -1
  230. package/lib/exercises/math/functions/exponential/expFactorization.js +1 -0
  231. package/lib/exercises/math/functions/exponentials/exponentialsVariations.d.ts.map +1 -1
  232. package/lib/exercises/math/functions/exponentials/exponentialsVariations.js +4 -1
  233. package/lib/exercises/math/functions/integral/integralAffines.d.ts.map +1 -1
  234. package/lib/exercises/math/functions/integral/integralAffines.js +4 -2
  235. package/lib/exercises/math/functions/integral/integralDerivatedUCosU.d.ts.map +1 -1
  236. package/lib/exercises/math/functions/integral/integralDerivatedUCosU.js +27 -12
  237. package/lib/exercises/math/functions/integral/integralDerivatedUSinU.d.ts.map +1 -1
  238. package/lib/exercises/math/functions/integral/integralDerivatedUSinU.js +26 -11
  239. package/lib/exercises/math/functions/integral/integralExpAxPlusB.d.ts.map +1 -1
  240. package/lib/exercises/math/functions/integral/integralExpAxPlusB.js +26 -11
  241. package/lib/exercises/math/functions/integral/integralExpU.d.ts.map +1 -1
  242. package/lib/exercises/math/functions/integral/integralExpU.js +38 -20
  243. package/lib/exercises/math/functions/integral/integralFractions.d.ts.map +1 -1
  244. package/lib/exercises/math/functions/integral/integralFractions.js +40 -21
  245. package/lib/exercises/math/functions/integral/integralKCosinus.d.ts.map +1 -1
  246. package/lib/exercises/math/functions/integral/integralKCosinus.js +29 -12
  247. package/lib/exercises/math/functions/integral/integralKSinus.d.ts.map +1 -1
  248. package/lib/exercises/math/functions/integral/integralKSinus.js +29 -12
  249. package/lib/exercises/math/functions/integral/integralTrinomials.d.ts.map +1 -1
  250. package/lib/exercises/math/functions/integral/integralTrinomials.js +4 -2
  251. package/lib/exercises/math/functions/logarithm/log10PowerSimplifying.d.ts +0 -1
  252. package/lib/exercises/math/functions/logarithm/log10PowerSimplifying.d.ts.map +1 -1
  253. package/lib/exercises/math/functions/logarithm/log10PowerSimplifying.js +36 -15
  254. package/lib/exercises/math/functions/logarithm/log10Simplifying.d.ts.map +1 -1
  255. package/lib/exercises/math/functions/logarithm/log10Simplifying.js +43 -22
  256. package/lib/exercises/math/functions/logarithm/logEquation.d.ts.map +1 -1
  257. package/lib/exercises/math/functions/logarithm/logEquation.js +20 -11
  258. package/lib/exercises/math/functions/logarithm/logPowerEquation.d.ts.map +1 -1
  259. package/lib/exercises/math/functions/logarithm/logPowerEquation.js +26 -14
  260. package/lib/exercises/math/functions/logarithm/logSimplifiying.d.ts.map +1 -1
  261. package/lib/exercises/math/functions/logarithm/logSimplifiying.js +4 -3
  262. package/lib/exercises/math/functions/parity/parityFromAlgebra.d.ts.map +1 -1
  263. package/lib/exercises/math/functions/parity/parityFromAlgebra.js +29 -13
  264. package/lib/exercises/math/functions/parity/parityFromGraph.d.ts.map +1 -1
  265. package/lib/exercises/math/functions/parity/parityFromGraph.js +30 -12
  266. package/lib/exercises/math/functions/rationalFraction/rationalFractionForbiddenValue.d.ts.map +1 -1
  267. package/lib/exercises/math/functions/rationalFraction/rationalFractionForbiddenValue.js +27 -14
  268. package/lib/exercises/math/functions/sign/affineProductSign.d.ts.map +1 -1
  269. package/lib/exercises/math/functions/sign/affineProductSign.js +4 -4
  270. package/lib/exercises/math/functions/square/squareImageInterval.d.ts.map +1 -1
  271. package/lib/exercises/math/functions/square/squareImageInterval.js +39 -19
  272. package/lib/exercises/math/functions/trinoms/devForm/coefficientsIdentification.d.ts.map +1 -1
  273. package/lib/exercises/math/functions/trinoms/devForm/coefficientsIdentification.js +4 -3
  274. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.d.ts +1 -0
  275. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.d.ts.map +1 -1
  276. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.js +26 -9
  277. package/lib/exercises/math/functions/trinoms/equation/deltaTrinom.d.ts.map +1 -1
  278. package/lib/exercises/math/functions/trinoms/equation/deltaTrinom.js +25 -10
  279. package/lib/exercises/math/functions/trinoms/equation/secondDegreeInequation.d.ts.map +1 -1
  280. package/lib/exercises/math/functions/trinoms/equation/secondDegreeInequation.js +73 -41
  281. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationByFactorisation.d.ts.map +1 -1
  282. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationByFactorisation.js +4 -2
  283. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationFromCano.d.ts.map +1 -1
  284. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationFromCano.js +4 -2
  285. package/lib/exercises/math/functions/trinoms/factoForm/factorizedFormFromRoots.d.ts.map +1 -1
  286. package/lib/exercises/math/functions/trinoms/factoForm/factorizedFormFromRoots.js +4 -4
  287. package/lib/exercises/math/functions/trinoms/parabole/paraboleExpressionReading.d.ts.map +1 -1
  288. package/lib/exercises/math/functions/trinoms/parabole/paraboleExpressionReading.js +4 -5
  289. package/lib/exercises/math/functions/trinoms/parabole/trinomSymetryAxisFromFacto.d.ts.map +1 -1
  290. package/lib/exercises/math/functions/trinoms/parabole/trinomSymetryAxisFromFacto.js +4 -4
  291. package/lib/exercises/math/functions/trinoms/roots/findSecondRoot.d.ts.map +1 -1
  292. package/lib/exercises/math/functions/trinoms/roots/findSecondRoot.js +4 -4
  293. package/lib/exercises/math/functions/trinoms/roots/niceRootsFromDevForm.d.ts.map +1 -1
  294. package/lib/exercises/math/functions/trinoms/roots/niceRootsFromDevForm.js +4 -2
  295. package/lib/exercises/math/functions/trinoms/roots/rootsFromDevForm.d.ts.map +1 -1
  296. package/lib/exercises/math/functions/trinoms/roots/rootsFromDevForm.js +4 -2
  297. package/lib/exercises/math/functions/trinoms/roots/rootsFromFactorizedForm.d.ts.map +1 -1
  298. package/lib/exercises/math/functions/trinoms/roots/rootsFromFactorizedForm.js +4 -2
  299. package/lib/exercises/math/functions/trinoms/roots/rootsProduct.d.ts.map +1 -1
  300. package/lib/exercises/math/functions/trinoms/roots/rootsProduct.js +4 -4
  301. package/lib/exercises/math/functions/trinoms/roots/rootsReading.d.ts.map +1 -1
  302. package/lib/exercises/math/functions/trinoms/roots/rootsReading.js +4 -3
  303. package/lib/exercises/math/functions/trinoms/roots/rootsSum.d.ts.map +1 -1
  304. package/lib/exercises/math/functions/trinoms/roots/rootsSum.js +4 -4
  305. package/lib/exercises/math/functions/trinoms/sign/trinomSignFromFacto.d.ts.map +1 -1
  306. package/lib/exercises/math/functions/trinoms/sign/trinomSignFromFacto.js +4 -0
  307. package/lib/exercises/math/functions/trinoms/sign/trinomSignFromRoots.d.ts.map +1 -1
  308. package/lib/exercises/math/functions/trinoms/sign/trinomSignFromRoots.js +4 -0
  309. package/lib/exercises/math/functions/trinoms/summitAndCanonical/alphaBetaFromDevForm.d.ts.map +1 -1
  310. package/lib/exercises/math/functions/trinoms/summitAndCanonical/alphaBetaFromDevForm.js +32 -11
  311. package/lib/exercises/math/functions/trinoms/summitAndCanonical/alphaBetaInCanonicalForm.d.ts.map +1 -1
  312. package/lib/exercises/math/functions/trinoms/summitAndCanonical/alphaBetaInCanonicalForm.js +32 -16
  313. package/lib/exercises/math/functions/trinoms/summitAndCanonical/canonicalFromDevForm.d.ts.map +1 -1
  314. package/lib/exercises/math/functions/trinoms/summitAndCanonical/canonicalFromDevForm.js +24 -9
  315. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumFromCanonicalForm.d.ts.map +1 -1
  316. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumFromCanonicalForm.js +24 -9
  317. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.d.ts +1 -0
  318. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.d.ts.map +1 -1
  319. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.js +29 -12
  320. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitAbscissFromDevForm.d.ts.map +1 -1
  321. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitAbscissFromDevForm.js +4 -0
  322. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitAbscissFromRoots.d.ts.map +1 -1
  323. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitAbscissFromRoots.js +4 -0
  324. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitReading.d.ts.map +1 -1
  325. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitReading.js +4 -2
  326. package/lib/exercises/math/functions/trinoms/trinomialMeanValue.d.ts.map +1 -1
  327. package/lib/exercises/math/functions/trinoms/trinomialMeanValue.js +33 -14
  328. package/lib/exercises/math/geometry/areas/circleRadiusFromArea.d.ts.map +1 -1
  329. package/lib/exercises/math/geometry/areas/circleRadiusFromArea.js +1 -0
  330. package/lib/exercises/math/geometry/areas/squareSideFromArea.d.ts.map +1 -1
  331. package/lib/exercises/math/geometry/areas/squareSideFromArea.js +1 -0
  332. package/lib/exercises/math/geometry/cartesian/cartesianFromTwoPoints.js +1 -1
  333. package/lib/exercises/math/geometry/euclidianConstructions/buildMediatriceWithCompass.d.ts +2 -0
  334. package/lib/exercises/math/geometry/euclidianConstructions/buildMediatriceWithCompass.d.ts.map +1 -1
  335. package/lib/exercises/math/geometry/euclidianConstructions/buildMediatriceWithCompass.js +55 -27
  336. package/lib/exercises/math/geometry/euclidianConstructions/buildPointFromAxialSymetry.d.ts.map +1 -1
  337. package/lib/exercises/math/geometry/euclidianConstructions/buildPointFromAxialSymetry.js +4 -0
  338. package/lib/exercises/math/geometry/euclidianConstructions/buildTriangleWithSizes.d.ts.map +1 -1
  339. package/lib/exercises/math/geometry/euclidianConstructions/buildTriangleWithSizes.js +4 -0
  340. package/lib/exercises/math/geometry/euclidianConstructions/pointImageFromTranslation.d.ts.map +1 -1
  341. package/lib/exercises/math/geometry/euclidianConstructions/pointImageFromTranslation.js +6 -2
  342. package/lib/exercises/math/geometry/lines/isPointOnCartesianLine.d.ts.map +1 -1
  343. package/lib/exercises/math/geometry/lines/isPointOnCartesianLine.js +7 -5
  344. package/lib/exercises/math/geometry/lines/isPointOnLine.d.ts.map +1 -1
  345. package/lib/exercises/math/geometry/lines/isPointOnLine.js +4 -0
  346. package/lib/exercises/math/geometry/parametric/extractPointFromParametricLine.d.ts.map +1 -1
  347. package/lib/exercises/math/geometry/parametric/extractPointFromParametricLine.js +4 -0
  348. package/lib/exercises/math/geometry/parametric/extractVectorFromParametricLine.d.ts.map +1 -1
  349. package/lib/exercises/math/geometry/parametric/extractVectorFromParametricLine.js +4 -0
  350. package/lib/exercises/math/geometry/parametric/pointFromParametricLine.d.ts.map +1 -1
  351. package/lib/exercises/math/geometry/parametric/pointFromParametricLine.js +4 -0
  352. package/lib/exercises/math/geometry/perimeters/circleRadiusFromPerimeter.d.ts.map +1 -1
  353. package/lib/exercises/math/geometry/perimeters/circleRadiusFromPerimeter.js +4 -0
  354. package/lib/exercises/math/geometry/perimeters/rectangleSideFromPerimeter.d.ts.map +1 -1
  355. package/lib/exercises/math/geometry/perimeters/rectangleSideFromPerimeter.js +4 -0
  356. package/lib/exercises/math/geometry/perimeters/squareSideFromPerimeter.d.ts.map +1 -1
  357. package/lib/exercises/math/geometry/perimeters/squareSideFromPerimeter.js +4 -0
  358. package/lib/exercises/math/geometry/pythagore/isTriangleRight.d.ts.map +1 -1
  359. package/lib/exercises/math/geometry/pythagore/isTriangleRight.js +4 -0
  360. package/lib/exercises/math/geometry/quadrilaterals/parallelogramAngles.d.ts.map +1 -1
  361. package/lib/exercises/math/geometry/quadrilaterals/parallelogramAngles.js +4 -0
  362. package/lib/exercises/math/geometry/quadrilaterals/quadrilateralRecognition.d.ts.map +1 -1
  363. package/lib/exercises/math/geometry/quadrilaterals/quadrilateralRecognition.js +4 -0
  364. package/lib/exercises/math/geometry/shapes/basicShapesNaming.d.ts +4 -1
  365. package/lib/exercises/math/geometry/shapes/basicShapesNaming.d.ts.map +1 -1
  366. package/lib/exercises/math/geometry/shapes/basicShapesNaming.js +97 -44
  367. package/lib/exercises/math/geometry/shapes/basicShapesRecognition.d.ts.map +1 -1
  368. package/lib/exercises/math/geometry/shapes/basicShapesRecognition.js +42 -23
  369. package/lib/exercises/math/geometry/thales/thalesCalcul.d.ts.map +1 -1
  370. package/lib/exercises/math/geometry/thales/thalesCalcul.js +8 -4
  371. package/lib/exercises/math/geometry/vectors/chasles.d.ts.map +1 -1
  372. package/lib/exercises/math/geometry/vectors/chasles.js +36 -12
  373. package/lib/exercises/math/geometry/vectors/coordinatesReading.d.ts.map +1 -1
  374. package/lib/exercises/math/geometry/vectors/coordinatesReading.js +28 -14
  375. package/lib/exercises/math/geometry/vectors/determinant.d.ts.map +1 -1
  376. package/lib/exercises/math/geometry/vectors/determinant.js +26 -12
  377. package/lib/exercises/math/geometry/vectors/drawAVectorInGGB.d.ts.map +1 -1
  378. package/lib/exercises/math/geometry/vectors/drawAVectorInGGB.js +25 -11
  379. package/lib/exercises/math/geometry/vectors/equalCaracteristicFromGraph.d.ts +1 -0
  380. package/lib/exercises/math/geometry/vectors/equalCaracteristicFromGraph.d.ts.map +1 -1
  381. package/lib/exercises/math/geometry/vectors/equalCaracteristicFromGraph.js +60 -33
  382. package/lib/exercises/math/geometry/vectors/fourthParallelogramPoint.d.ts.map +1 -1
  383. package/lib/exercises/math/geometry/vectors/fourthParallelogramPoint.js +34 -19
  384. package/lib/exercises/math/geometry/vectors/paralellismViaColinearity.d.ts.map +1 -1
  385. package/lib/exercises/math/geometry/vectors/paralellismViaColinearity.js +42 -20
  386. package/lib/exercises/math/geometry/vectors/parallelogramViaEqualVectors.d.ts.map +1 -1
  387. package/lib/exercises/math/geometry/vectors/parallelogramViaEqualVectors.js +42 -20
  388. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOrthoInSquare.d.ts.map +1 -1
  389. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOrthoInSquare.js +4 -0
  390. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductViaCoords.d.ts.map +1 -1
  391. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductViaCoords.js +4 -2
  392. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductViaCos.d.ts.map +1 -1
  393. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductViaCos.js +4 -0
  394. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductViaNorms.d.ts.map +1 -1
  395. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductViaNorms.js +4 -0
  396. package/lib/exercises/math/geometry/vectors/traceOppositeVector.d.ts.map +1 -1
  397. package/lib/exercises/math/geometry/vectors/traceOppositeVector.js +4 -0
  398. package/lib/exercises/math/geometry/vectors/traceVectorDifference.d.ts.map +1 -1
  399. package/lib/exercises/math/geometry/vectors/traceVectorDifference.js +4 -0
  400. package/lib/exercises/math/geometry/vectors/traceVectorMultiple.d.ts.map +1 -1
  401. package/lib/exercises/math/geometry/vectors/traceVectorMultiple.js +4 -0
  402. package/lib/exercises/math/geometry/vectors/traceVectorSum.d.ts.map +1 -1
  403. package/lib/exercises/math/geometry/vectors/traceVectorSum.js +4 -0
  404. package/lib/exercises/math/geometry/vectors/vectorCoordinatesFromTwoPoints.d.ts +2 -0
  405. package/lib/exercises/math/geometry/vectors/vectorCoordinatesFromTwoPoints.d.ts.map +1 -1
  406. package/lib/exercises/math/geometry/vectors/vectorCoordinatesFromTwoPoints.js +45 -25
  407. package/lib/exercises/math/geometry/vectors/vectorLinearCombination.d.ts.map +1 -1
  408. package/lib/exercises/math/geometry/vectors/vectorLinearCombination.js +33 -14
  409. package/lib/exercises/math/geometry/vectors/vectorNormCalculation.d.ts.map +1 -1
  410. package/lib/exercises/math/geometry/vectors/vectorNormCalculation.js +9 -3
  411. package/lib/exercises/math/limits/limitReading.d.ts +5 -1
  412. package/lib/exercises/math/limits/limitReading.d.ts.map +1 -1
  413. package/lib/exercises/math/limits/limitReading.js +96 -38
  414. package/lib/exercises/math/limits/polynomLimit.d.ts.map +1 -1
  415. package/lib/exercises/math/limits/polynomLimit.js +0 -2
  416. package/lib/exercises/math/limits/rationalFracForbiddenValueLimit.d.ts.map +1 -1
  417. package/lib/exercises/math/limits/rationalFracForbiddenValueLimit.js +37 -20
  418. package/lib/exercises/math/limits/rationalFracLimit.d.ts.map +1 -1
  419. package/lib/exercises/math/limits/rationalFracLimit.js +34 -17
  420. package/lib/exercises/math/limits/sequenceGeometricLimit.d.ts.map +1 -1
  421. package/lib/exercises/math/limits/sequenceGeometricLimit.js +4 -0
  422. package/lib/exercises/math/limits/sequencePolynomLimit.d.ts.map +1 -1
  423. package/lib/exercises/math/limits/sequencePolynomLimit.js +23 -10
  424. package/lib/exercises/math/limits/sequencePolynomNoFILimit.d.ts.map +1 -1
  425. package/lib/exercises/math/limits/sequencePolynomNoFILimit.js +24 -11
  426. package/lib/exercises/math/limits/sequencePolynomProductLimit.d.ts.map +1 -1
  427. package/lib/exercises/math/limits/sequencePolynomProductLimit.js +31 -18
  428. package/lib/exercises/math/limits/sequenceRationalFracLimit.d.ts.map +1 -1
  429. package/lib/exercises/math/limits/sequenceRationalFracLimit.js +33 -16
  430. package/lib/exercises/math/matrices/matrixGeneralTerm.d.ts.map +1 -1
  431. package/lib/exercises/math/matrices/matrixGeneralTerm.js +21 -8
  432. package/lib/exercises/math/matrices/matrixInversibilityDomain.d.ts.map +1 -1
  433. package/lib/exercises/math/matrices/matrixInversibilityDomain.js +44 -26
  434. package/lib/exercises/math/matrices/productCell.d.ts +2 -0
  435. package/lib/exercises/math/matrices/productCell.d.ts.map +1 -1
  436. package/lib/exercises/math/matrices/productCell.js +27 -12
  437. package/lib/exercises/math/powers/decimalToScientific.d.ts.map +1 -1
  438. package/lib/exercises/math/powers/decimalToScientific.js +9 -0
  439. package/lib/exercises/math/primitive/constantPrimitive.d.ts +2 -1
  440. package/lib/exercises/math/primitive/constantPrimitive.d.ts.map +1 -1
  441. package/lib/exercises/math/primitive/constantPrimitive.js +3 -3
  442. package/lib/exercises/math/primitive/exponentialPrimitive.d.ts +2 -1
  443. package/lib/exercises/math/primitive/exponentialPrimitive.d.ts.map +1 -1
  444. package/lib/exercises/math/primitive/exponentialPrimitive.js +3 -3
  445. package/lib/exercises/math/primitive/polynomialPrimitive.d.ts +2 -1
  446. package/lib/exercises/math/primitive/polynomialPrimitive.d.ts.map +1 -1
  447. package/lib/exercises/math/primitive/polynomialPrimitive.js +3 -3
  448. package/lib/exercises/math/primitive/sinCosPrimitive.d.ts +2 -1
  449. package/lib/exercises/math/primitive/sinCosPrimitive.d.ts.map +1 -1
  450. package/lib/exercises/math/primitive/sinCosPrimitive.js +3 -3
  451. package/lib/exercises/math/primitive/usualPrimitives.d.ts.map +1 -1
  452. package/lib/exercises/math/primitive/usualPrimitives.js +33 -6
  453. package/lib/exercises/math/probaStat/binomial/varianceOfBinomialProba.d.ts.map +1 -1
  454. package/lib/exercises/math/probaStat/binomial/varianceOfBinomialProba.js +1 -0
  455. package/lib/exercises/math/probaStat/stats1var/quartilesList.d.ts.map +1 -1
  456. package/lib/exercises/math/probaStat/stats1var/quartilesList.js +4 -1
  457. package/lib/exercises/math/probaStat/stats2var/averagePoint.d.ts.map +1 -1
  458. package/lib/exercises/math/probaStat/stats2var/averagePoint.js +1 -2
  459. package/lib/exercises/math/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts.map +1 -1
  460. package/lib/exercises/math/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +47 -23
  461. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts.map +1 -1
  462. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormula.js +4 -6
  463. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplictFormulaFirstTermRandom.d.ts.map +1 -1
  464. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplictFormulaFirstTermRandom.js +4 -0
  465. package/lib/exercises/math/sequences/arithmetic/arithmeticFindRandomTermFromTwoTerms.d.ts.map +1 -1
  466. package/lib/exercises/math/sequences/arithmetic/arithmeticFindRandomTermFromTwoTerms.js +30 -12
  467. package/lib/exercises/math/sequences/arithmetic/arithmeticFindReason.d.ts.map +1 -1
  468. package/lib/exercises/math/sequences/arithmetic/arithmeticFindReason.js +4 -0
  469. package/lib/exercises/math/sequences/arithmetic/arithmeticFindReasonRandomRange.d.ts.map +1 -1
  470. package/lib/exercises/math/sequences/arithmetic/arithmeticFindReasonRandomRange.js +23 -9
  471. package/lib/exercises/math/sequences/arithmetic/arithmeticFindTerm.d.ts.map +1 -1
  472. package/lib/exercises/math/sequences/arithmetic/arithmeticFindTerm.js +62 -41
  473. package/lib/exercises/math/sequences/arithmetic/arithmeticFirstTermsSum.d.ts.map +1 -1
  474. package/lib/exercises/math/sequences/arithmetic/arithmeticFirstTermsSum.js +4 -2
  475. package/lib/exercises/math/sequences/arithmetic/arithmeticReasonUsage.d.ts.map +1 -1
  476. package/lib/exercises/math/sequences/arithmetic/arithmeticReasonUsage.js +4 -0
  477. package/lib/exercises/math/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts.map +1 -1
  478. package/lib/exercises/math/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +26 -10
  479. package/lib/exercises/math/sequences/arithmetic/arithmeticThresholdFind.d.ts.map +1 -1
  480. package/lib/exercises/math/sequences/arithmetic/arithmeticThresholdFind.js +33 -14
  481. package/lib/exercises/math/sequences/arithmetic/firstIntegersSum.d.ts.map +1 -1
  482. package/lib/exercises/math/sequences/arithmetic/firstIntegersSum.js +4 -2
  483. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromFirstTerms.d.ts.map +1 -1
  484. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromFirstTerms.js +35 -14
  485. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.d.ts.map +1 -1
  486. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.js +37 -24
  487. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromFirstTerms.d.ts.map +1 -1
  488. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromFirstTerms.js +4 -0
  489. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromGraph.d.ts.map +1 -1
  490. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromGraph.js +29 -15
  491. package/lib/exercises/math/sequences/explicitFormulaUsage.d.ts.map +1 -1
  492. package/lib/exercises/math/sequences/explicitFormulaUsage.js +27 -10
  493. package/lib/exercises/math/sequences/genericSequenceVariations.d.ts.map +1 -1
  494. package/lib/exercises/math/sequences/genericSequenceVariations.js +23 -10
  495. package/lib/exercises/math/sequences/geometric/geometricExplicitFormulaUsage.d.ts.map +1 -1
  496. package/lib/exercises/math/sequences/geometric/geometricExplicitFormulaUsage.js +9 -3
  497. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormula.d.ts.map +1 -1
  498. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormula.js +45 -17
  499. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFirstTermRandom.d.ts.map +1 -1
  500. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFirstTermRandom.js +20 -9
  501. package/lib/exercises/math/sequences/geometric/geometricFindReason.d.ts.map +1 -1
  502. package/lib/exercises/math/sequences/geometric/geometricFindReason.js +20 -9
  503. package/lib/exercises/math/sequences/geometric/geometricFindTerm.d.ts.map +1 -1
  504. package/lib/exercises/math/sequences/geometric/geometricFindTerm.js +60 -41
  505. package/lib/exercises/math/sequences/geometric/geometricFirstTermsSum.d.ts.map +1 -1
  506. package/lib/exercises/math/sequences/geometric/geometricFirstTermsSum.js +1 -0
  507. package/lib/exercises/math/sequences/geometric/geometricReasonUsage.d.ts.map +1 -1
  508. package/lib/exercises/math/sequences/geometric/geometricReasonUsage.js +26 -10
  509. package/lib/exercises/math/sequences/geometric/geometricRecognizeReasonFromFirstTerms.d.ts.map +1 -1
  510. package/lib/exercises/math/sequences/geometric/geometricRecognizeReasonFromFirstTerms.js +4 -0
  511. package/lib/exercises/math/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts.map +1 -1
  512. package/lib/exercises/math/sequences/geometric/geometricRecurrenceFormulaUsage.js +27 -10
  513. package/lib/exercises/math/sequences/geometric/geometricVariations.d.ts.map +1 -1
  514. package/lib/exercises/math/sequences/geometric/geometricVariations.js +4 -0
  515. package/lib/exercises/math/sequences/recurrenceFormulaUsage.d.ts.map +1 -1
  516. package/lib/exercises/math/sequences/recurrenceFormulaUsage.js +23 -11
  517. package/lib/exercises/math/sequences/sequenceEvaluation.d.ts.map +1 -1
  518. package/lib/exercises/math/sequences/sequenceEvaluation.js +45 -21
  519. package/lib/exercises/math/sets/intervals/intervalsUnion.d.ts.map +1 -1
  520. package/lib/exercises/math/sets/intervals/intervalsUnion.js +1 -2
  521. package/lib/exercises/pc/calibrationCurveOfSolution.d.ts.map +1 -1
  522. package/lib/exercises/pc/calibrationCurveOfSolution.js +56 -48
  523. package/lib/exercises/pc/chemicalElements/identifyRightElectronicConfiguration.js +3 -1
  524. package/lib/exercises/pc/chemicalElements/weightPercent.d.ts.map +1 -1
  525. package/lib/exercises/pc/chemicalElements/weightPercent.js +1 -0
  526. package/lib/exercises/pc/chemicalEquations.d.ts.map +1 -1
  527. package/lib/exercises/pc/chemicalEquations.js +0 -2
  528. package/lib/exercises/pc/chemicalReactions/chemicalEquations.d.ts +8 -0
  529. package/lib/exercises/pc/chemicalReactions/chemicalEquations.d.ts.map +1 -0
  530. package/lib/exercises/pc/chemicalReactions/chemicalEquations.js +62 -0
  531. package/lib/exercises/pc/chemicalReactions/chemicalReactionsProduct.d.ts +9 -0
  532. package/lib/exercises/pc/chemicalReactions/chemicalReactionsProduct.d.ts.map +1 -0
  533. package/lib/exercises/pc/chemicalReactions/chemicalReactionsProduct.js +70 -0
  534. package/lib/exercises/pc/chemicalReactions/index.d.ts +2 -0
  535. package/lib/exercises/pc/chemicalReactions/index.d.ts.map +1 -1
  536. package/lib/exercises/pc/chemicalReactions/index.js +2 -0
  537. package/lib/exercises/pc/delution.d.ts.map +1 -1
  538. package/lib/exercises/pc/delution.js +25 -12
  539. package/lib/exercises/pc/dosage/concentrationCalculation.d.ts.map +1 -1
  540. package/lib/exercises/pc/dosage/concentrationCalculation.js +5 -3
  541. package/lib/exercises/pc/electricity/calculateVoltage.d.ts.map +1 -1
  542. package/lib/exercises/pc/electricity/calculateVoltage.js +112 -90
  543. package/lib/exercises/pc/electricity/electricEnergyFromPower.d.ts.map +1 -1
  544. package/lib/exercises/pc/electricity/electricEnergyFromPower.js +1 -0
  545. package/lib/exercises/pc/energy/calorificValue.d.ts.map +1 -1
  546. package/lib/exercises/pc/energy/calorificValue.js +58 -29
  547. package/lib/exercises/pc/energy/combustionTransferEnergy.d.ts.map +1 -1
  548. package/lib/exercises/pc/energy/combustionTransferEnergy.js +52 -29
  549. package/lib/exercises/pc/energy/combustionTransferEnergy2.d.ts.map +1 -1
  550. package/lib/exercises/pc/energy/combustionTransferEnergy2.js +96 -67
  551. package/lib/exercises/pc/energy/efficencyOfConverter.d.ts.map +1 -1
  552. package/lib/exercises/pc/energy/efficencyOfConverter.js +53 -40
  553. package/lib/exercises/pc/energy/efficiencyCalculation.d.ts.map +1 -1
  554. package/lib/exercises/pc/energy/efficiencyCalculation.js +68 -38
  555. package/lib/exercises/pc/energy/energyTransfer.d.ts +0 -2
  556. package/lib/exercises/pc/energy/energyTransfer.d.ts.map +1 -1
  557. package/lib/exercises/pc/energy/energyTransfer.js +27 -11
  558. package/lib/exercises/pc/energy/kineticEnergyOrMassOrSpeed.d.ts.map +1 -1
  559. package/lib/exercises/pc/energy/kineticEnergyOrMassOrSpeed.js +111 -64
  560. package/lib/exercises/pc/energy/thermalEnergyTransferCalculation.d.ts.map +1 -1
  561. package/lib/exercises/pc/energy/thermalEnergyTransferCalculation.js +86 -38
  562. package/lib/exercises/pc/fluids/mariotte.d.ts.map +1 -1
  563. package/lib/exercises/pc/fluids/mariotte.js +40 -23
  564. package/lib/exercises/pc/forces/calculateNormalOrFrictionForce.d.ts.map +1 -1
  565. package/lib/exercises/pc/forces/calculateNormalOrFrictionForce.js +80 -52
  566. package/lib/exercises/pc/forces/electroStaticForce.d.ts.map +1 -1
  567. package/lib/exercises/pc/forces/electroStaticForce.js +73 -58
  568. package/lib/exercises/pc/forces/forceWork.d.ts.map +1 -1
  569. package/lib/exercises/pc/forces/forceWork.js +22 -7
  570. package/lib/exercises/pc/forces/gravitationalAttractionObjectHeight.d.ts.map +1 -1
  571. package/lib/exercises/pc/forces/gravitationalAttractionObjectHeight.js +87 -38
  572. package/lib/exercises/pc/forces/gravitationalAttractionValue.d.ts.map +1 -1
  573. package/lib/exercises/pc/forces/gravitationalAttractionValue.js +31 -16
  574. package/lib/exercises/pc/forces/gravitationalForcePlanets.d.ts.map +1 -1
  575. package/lib/exercises/pc/forces/gravitationalForcePlanets.js +71 -31
  576. package/lib/exercises/pc/forces/massWeight.d.ts.map +1 -1
  577. package/lib/exercises/pc/forces/massWeight.js +53 -20
  578. package/lib/exercises/pc/forces/pressingForce.d.ts.map +1 -1
  579. package/lib/exercises/pc/forces/pressingForce.js +71 -31
  580. package/lib/exercises/pc/formulaFromComposition.d.ts.map +1 -1
  581. package/lib/exercises/pc/formulaFromComposition.js +28 -8
  582. package/lib/exercises/pc/identifyAtomicMassOrAtomicNb.d.ts.map +1 -1
  583. package/lib/exercises/pc/identifyAtomicMassOrAtomicNb.js +31 -12
  584. package/lib/exercises/pc/index.d.ts +4 -6
  585. package/lib/exercises/pc/index.d.ts.map +1 -1
  586. package/lib/exercises/pc/index.js +4 -6
  587. package/lib/exercises/pc/kineticEnergy.d.ts.map +1 -1
  588. package/lib/exercises/pc/kineticEnergy.js +22 -10
  589. package/lib/exercises/pc/math/isolateVariables.d.ts.map +1 -1
  590. package/lib/exercises/pc/math/isolateVariables.js +114 -32
  591. package/lib/exercises/pc/math/proportionnalityCoeffFromLine.d.ts.map +1 -1
  592. package/lib/exercises/pc/math/proportionnalityCoeffFromLine.js +34 -18
  593. package/lib/exercises/pc/mecanicalWaves/elongationReading.d.ts.map +1 -1
  594. package/lib/exercises/pc/mecanicalWaves/elongationReading.js +35 -13
  595. package/lib/exercises/pc/molarQuantity.d.ts.map +1 -1
  596. package/lib/exercises/pc/molarQuantity.js +29 -13
  597. package/lib/exercises/pc/mole/concentrationReading.d.ts +4 -1
  598. package/lib/exercises/pc/mole/concentrationReading.d.ts.map +1 -1
  599. package/lib/exercises/pc/mole/concentrationReading.js +28 -10
  600. package/lib/exercises/pc/mole/molFromMass.d.ts.map +1 -1
  601. package/lib/exercises/pc/mole/molFromMass.js +21 -8
  602. package/lib/exercises/pc/mole/molFromMolarMass.d.ts.map +1 -1
  603. package/lib/exercises/pc/mole/molFromMolarMass.js +21 -8
  604. package/lib/exercises/pc/mole/molarMass.d.ts +3 -1
  605. package/lib/exercises/pc/mole/molarMass.d.ts.map +1 -1
  606. package/lib/exercises/pc/mole/molarMass.js +22 -9
  607. package/lib/exercises/pc/mole/moleculeCountFromMassAndAvogadro.d.ts.map +1 -1
  608. package/lib/exercises/pc/mole/moleculeCountFromMassAndAvogadro.js +25 -11
  609. package/lib/exercises/pc/mole/moleculeCountFromMol.d.ts.map +1 -1
  610. package/lib/exercises/pc/mole/moleculeCountFromMol.js +18 -7
  611. package/lib/exercises/pc/moleculeFormula.d.ts.map +1 -1
  612. package/lib/exercises/pc/moleculeFormula.js +30 -9
  613. package/lib/exercises/pc/moleculeNomenclature.d.ts.map +1 -1
  614. package/lib/exercises/pc/moleculeNomenclature.js +23 -8
  615. package/lib/exercises/pc/motion/averageSpeed.d.ts.map +1 -1
  616. package/lib/exercises/pc/motion/averageSpeed.js +68 -55
  617. package/lib/exercises/pc/motion/averageSpeedCalculation.d.ts.map +1 -1
  618. package/lib/exercises/pc/motion/averageSpeedCalculation.js +97 -39
  619. package/lib/exercises/pc/motion/characteristicsOfVelocityVector.d.ts +4 -1
  620. package/lib/exercises/pc/motion/characteristicsOfVelocityVector.d.ts.map +1 -1
  621. package/lib/exercises/pc/motion/characteristicsOfVelocityVector.js +51 -49
  622. package/lib/exercises/pc/motion/motionReference.d.ts +1 -0
  623. package/lib/exercises/pc/motion/motionReference.d.ts.map +1 -1
  624. package/lib/exercises/pc/motion/motionReference.js +47 -26
  625. package/lib/exercises/pc/motion/typeOfAcceleration.d.ts +1 -1
  626. package/lib/exercises/pc/motion/typeOfAcceleration.d.ts.map +1 -1
  627. package/lib/exercises/pc/motion/typeOfAcceleration.js +61 -62
  628. package/lib/exercises/pc/motion/typeOfMovement.d.ts +2 -1
  629. package/lib/exercises/pc/motion/typeOfMovement.d.ts.map +1 -1
  630. package/lib/exercises/pc/motion/typeOfMovement.js +58 -57
  631. package/lib/exercises/pc/orderOfMagnitude.d.ts.map +1 -1
  632. package/lib/exercises/pc/orderOfMagnitude.js +24 -23
  633. package/lib/exercises/pc/pH.d.ts.map +1 -1
  634. package/lib/exercises/pc/pH.js +37 -16
  635. package/lib/exercises/pc/perceivedFrequency.d.ts.map +1 -1
  636. package/lib/exercises/pc/perceivedFrequency.js +26 -13
  637. package/lib/exercises/pc/potentialEnergy.d.ts.map +1 -1
  638. package/lib/exercises/pc/potentialEnergy.js +23 -11
  639. package/lib/exercises/pc/power/calculatePowerOfLight.d.ts +2 -2
  640. package/lib/exercises/pc/power/calculatePowerOfLight.d.ts.map +1 -1
  641. package/lib/exercises/pc/power/calculatePowerOfLight.js +65 -39
  642. package/lib/exercises/pc/recognizeRefractionOrReflectionAngles.d.ts +3 -1
  643. package/lib/exercises/pc/recognizeRefractionOrReflectionAngles.d.ts.map +1 -1
  644. package/lib/exercises/pc/recognizeRefractionOrReflectionAngles.js +48 -47
  645. package/lib/exercises/pc/snellDescartes.d.ts.map +1 -1
  646. package/lib/exercises/pc/snellDescartes.js +31 -13
  647. package/lib/exercises/pc/sound/findPeriodFromGraph.d.ts.map +1 -1
  648. package/lib/exercises/pc/sound/findPeriodFromGraph.js +42 -26
  649. package/lib/exercises/pc/sound/findPeriodOrFrequencyFromGraph.d.ts +1 -0
  650. package/lib/exercises/pc/sound/findPeriodOrFrequencyFromGraph.d.ts.map +1 -1
  651. package/lib/exercises/pc/sound/findPeriodOrFrequencyFromGraph.js +51 -32
  652. package/lib/exercises/pc/sound/findSoundFrequencyFromPeriod.d.ts.map +1 -1
  653. package/lib/exercises/pc/sound/findSoundFrequencyFromPeriod.js +20 -7
  654. package/lib/exercises/pc/sound/findSoundPeriodFromFrequency.d.ts.map +1 -1
  655. package/lib/exercises/pc/sound/findSoundPeriodFromFrequency.js +20 -7
  656. package/lib/exercises/pc/sound/frequencyComparison.d.ts.map +1 -1
  657. package/lib/exercises/pc/sound/frequencyComparison.js +25 -14
  658. package/lib/exercises/pc/spectral/spectralEnergy.d.ts +1 -3
  659. package/lib/exercises/pc/spectral/spectralEnergy.d.ts.map +1 -1
  660. package/lib/exercises/pc/spectral/spectralEnergy.js +98 -56
  661. package/lib/exercises/pc/waves/findDistanceFromEarth.d.ts.map +1 -1
  662. package/lib/exercises/pc/waves/findDistanceFromEarth.js +22 -9
  663. package/lib/exercises/pc/waves/lightDistanceConversion.d.ts.map +1 -1
  664. package/lib/exercises/pc/waves/lightDistanceConversion.js +104 -76
  665. package/lib/exercises/pc/waves/periodicWaveCelerity.d.ts +1 -0
  666. package/lib/exercises/pc/waves/periodicWaveCelerity.d.ts.map +1 -1
  667. package/lib/exercises/pc/waves/periodicWaveCelerity.js +81 -25
  668. package/lib/exercises/pc/weight/calculateWeight.d.ts.map +1 -1
  669. package/lib/exercises/pc/weight/calculateWeight.js +55 -26
  670. package/lib/exercises/pc/weight/weightOnTheMoon.d.ts.map +1 -1
  671. package/lib/exercises/pc/weight/weightOnTheMoon.js +67 -32
  672. package/lib/index.d.ts +63 -41
  673. package/lib/index.d.ts.map +1 -1
  674. package/lib/latexTester.js +7 -2
  675. package/lib/math/geometry/ray.d.ts +8 -1
  676. package/lib/math/geometry/ray.d.ts.map +1 -1
  677. package/lib/math/geometry/ray.js +11 -1
  678. package/lib/math/polynomials/trinom.d.ts +5 -0
  679. package/lib/math/polynomials/trinom.d.ts.map +1 -1
  680. package/lib/math/polynomials/trinom.js +6 -0
  681. package/lib/pc/constants/molecularChemistry/reaction.js +1 -1
  682. package/lib/pc/measure/measure.d.ts +11 -4
  683. package/lib/pc/measure/measure.d.ts.map +1 -1
  684. package/lib/pc/measure/measure.js +10 -6
  685. package/lib/playground.d.ts.map +1 -1
  686. package/lib/playground.js +8 -1
  687. package/lib/tests/exoTest.d.ts.map +1 -1
  688. package/lib/tests/exoTest.js +13 -0
  689. package/lib/tests/mega.test.d.ts +2 -0
  690. package/lib/tests/mega.test.d.ts.map +1 -0
  691. package/lib/tests/mega.test.js +13 -0
  692. package/lib/tests/megaxl.test.d.ts +2 -0
  693. package/lib/tests/megaxl.test.d.ts.map +1 -0
  694. package/lib/tests/megaxl.test.js +10 -0
  695. package/lib/tests/singleExo.test.d.ts.map +1 -1
  696. package/lib/tests/singleExo.test.js +2 -2
  697. package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
  698. package/lib/tree/nodes/operators/powerNode.js +2 -1
  699. package/package.json +3 -1
@@ -3,91 +3,89 @@ import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuesti
3
3
  import { GeogebraConstructor } from "../../../geogebra/geogebraConstructor.js";
4
4
  import { randint } from "../../../math/utils/random/randint.js";
5
5
  import { random } from "../../../utils/alea/random.js";
6
- const getTypeOfAccelerationQuestion = () => {
7
- const exo = generateExo();
8
- const question = {
9
- answer: exo.answer,
10
- instruction: exo.instruction,
11
- ggbOptions: exo.ggb.object.getOptions({
12
- coords: exo.ggb.coords,
13
- }),
14
- keys: [],
15
- answerFormat: "raw",
16
- identifiers: {
17
- typeOfAcceleration: exo.typeOfAcceleration,
18
- ggbCommands: exo.ggb.object.commands,
19
- },
20
- };
21
- return question;
22
- };
23
- const getPropositions = (n, { answer }) => {
24
- const propositions = [];
25
- addValidProp(propositions, answer, "raw");
26
- tryToAddWrongProp(propositions, "Mouvement accéléré", "raw");
27
- tryToAddWrongProp(propositions, "Mouvement ralenti", "raw");
28
- tryToAddWrongProp(propositions, "Mouvement constant", "raw");
29
- tryToAddWrongProp(propositions, "On ne peut pas savoir", "raw");
30
- return shuffleProps(propositions, n);
31
- };
32
- const isAnswerValid = (ans, { answer }) => {
33
- return ans === answer;
34
- };
35
- const generateExo = () => {
36
- const typeOfAcceleration = random([
37
- "Mouvement accéléré",
38
- "Mouvement ralenti",
39
- "Mouvement constant",
40
- ]);
41
- const ggb = generateGgb(typeOfAcceleration);
42
- const instruction = `D'après le graphique ci-dessous qui représente la position d'un objet en fonction du temps,
6
+ const getInstruction = (identifiers) => {
7
+ const instruction = `Le graphique ci-dessous qui représente la position d'un objet en fonction du temps.
43
8
 
44
- déterminez si l'objet est en mouvement accéléré, en mouvement ralenti ou en mouvement constant.`;
45
- return {
46
- instruction,
47
- answer: typeOfAcceleration,
48
- ggb,
49
- typeOfAcceleration,
50
- };
9
+ L'objet est-il en mouvement accéléré, en mouvement ralenti ou en mouvement constant ?`;
10
+ return instruction;
51
11
  };
52
- const generateGgb = (typeOfAcceleration) => {
53
- const points = getPoints(typeOfAcceleration);
54
- return {
55
- object: new GeogebraConstructor({
56
- commands: points.points,
57
- hideAxes: true,
58
- hideGrid: true,
59
- }),
60
- coords: points.coords,
61
- };
12
+ const getAnswer = (identifiers) => {
13
+ const { typeOfAcceleration } = identifiers;
14
+ return typeOfAcceleration;
62
15
  };
63
- const getPoints = (typeOfAcceleration) => {
16
+ const getGGBOptions = (identifiers) => {
17
+ const { typeOfAcceleration, step } = identifiers;
64
18
  const points = [];
65
19
  let coords = [];
66
20
  let n = 0;
67
21
  let x = 0;
68
- let step = randint(3, 14);
69
22
  let variation = 1;
70
23
  if (typeOfAcceleration === "Mouvement accéléré")
71
24
  variation = 1.3;
72
25
  if (typeOfAcceleration === "Mouvement ralenti") {
73
- step = randint(10, 21);
74
26
  variation = 0.8;
75
27
  }
28
+ let trueStep = step;
76
29
  while (n < 10) {
77
30
  points.push(`Point({${x},4})`);
78
- x = x + step;
79
- step = step * variation;
31
+ x = x + trueStep;
32
+ trueStep = trueStep * variation;
80
33
  n++;
81
34
  }
82
35
  coords = [-2, x + 5, -2, 20];
83
- return { points, coords };
36
+ const ggb = new GeogebraConstructor({
37
+ commands: points,
38
+ hideAxes: true,
39
+ hideGrid: true,
40
+ });
41
+ return ggb.getOptions({
42
+ coords: coords,
43
+ });
44
+ };
45
+ const getQuestionFromIdentifiers = (identifiers) => {
46
+ const question = {
47
+ answer: getAnswer(identifiers),
48
+ instruction: getInstruction(identifiers),
49
+ ggbOptions: getGGBOptions(identifiers),
50
+ keys: [],
51
+ answerFormat: "raw",
52
+ identifiers,
53
+ };
54
+ return question;
55
+ };
56
+ const getTypeOfAccelerationQuestion = () => {
57
+ const typeOfAcceleration = random([
58
+ "Mouvement accéléré",
59
+ "Mouvement ralenti",
60
+ "Mouvement constant",
61
+ ]);
62
+ let step = randint(3, 14);
63
+ if (typeOfAcceleration === "Mouvement ralenti") {
64
+ step = randint(10, 21);
65
+ }
66
+ const identifiers = {
67
+ typeOfAcceleration: typeOfAcceleration,
68
+ // ggbCommands: ggb.object.commands!,
69
+ step,
70
+ };
71
+ return getQuestionFromIdentifiers(identifiers);
72
+ };
73
+ const getPropositions = (n, { answer }) => {
74
+ const propositions = [];
75
+ addValidProp(propositions, answer, "raw");
76
+ tryToAddWrongProp(propositions, "Mouvement accéléré", "raw");
77
+ tryToAddWrongProp(propositions, "Mouvement ralenti", "raw");
78
+ tryToAddWrongProp(propositions, "Mouvement constant", "raw");
79
+ tryToAddWrongProp(propositions, "On ne peut pas savoir", "raw");
80
+ return shuffleProps(propositions, n);
81
+ };
82
+ const isAnswerValid = (ans, { answer }) => {
83
+ return ans === answer;
84
84
  };
85
85
  export const typeOfAcceleration = {
86
86
  id: "typeOfAcceleration",
87
87
  label: "Déterminer le type d'accélération du mouvement d'un objet.",
88
- levels: ["2nde"],
89
88
  isSingleStep: true,
90
- sections: ["Mécanique"],
91
89
  generator: (nb) => getDistinctQuestions(getTypeOfAccelerationQuestion, nb),
92
90
  qcmTimer: 60,
93
91
  freeTimer: 60,
@@ -96,4 +94,5 @@ export const typeOfAcceleration = {
96
94
  hasGeogebra: true,
97
95
  answerType: "QCU",
98
96
  subject: "Physique",
97
+ getQuestionFromIdentifiers,
99
98
  };
@@ -1,7 +1,8 @@
1
1
  import { Exercise } from "../../../exercises/exercise.js";
2
2
  type Identifiers = {
3
- ggbCommands: string[];
4
3
  movementType: string;
4
+ a: number;
5
+ b: number;
5
6
  };
6
7
  export declare const typeOfMovement: Exercise<Identifiers>;
7
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"typeOfMovement.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/motion/typeOfMovement.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAkHF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAchD,CAAC"}
1
+ {"version":3,"file":"typeOfMovement.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/motion/typeOfMovement.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAyGF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAahD,CAAC"}
@@ -1,55 +1,27 @@
1
1
  import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../exercises/exercise.js";
2
2
  import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
3
3
  import { GeogebraConstructor } from "../../../geogebra/geogebraConstructor.js";
4
- import { AffineConstructor } from "../../../math/polynomials/affine.js";
4
+ import { Affine, AffineConstructor } from "../../../math/polynomials/affine.js";
5
5
  import { randint } from "../../../math/utils/random/randint.js";
6
6
  import { random } from "../../../utils/alea/random.js";
7
- const getTypeOfMovementQuestion = () => {
8
- const exo = generateExercise();
9
- const ggb = exo.ggb;
10
- const question = {
11
- answer: exo.answer,
12
- instruction: exo.instruction,
13
- ggbOptions: ggb.getOptions({
14
- coords: exo.coords,
15
- }),
16
- keys: [],
17
- answerFormat: "raw",
18
- identifiers: { movementType: exo.answer, ggbCommands: ggb.commands },
19
- };
20
- return question;
21
- };
22
- const getPropositions = (n, { answer }) => {
23
- const propositions = [];
24
- addValidProp(propositions, answer, "raw");
25
- tryToAddWrongProp(propositions, "Rectiligne", "raw");
26
- tryToAddWrongProp(propositions, "Circulaire", "raw");
27
- tryToAddWrongProp(propositions, "Curviligne", "raw");
28
- tryToAddWrongProp(propositions, "On ne peut pas savoir.", "raw");
29
- return shuffleProps(propositions, n);
30
- };
31
- const generateExercise = () => {
32
- const movementType = random(["Rectiligne", "Circulaire", "Curviligne"]);
33
- const ggb = getGgb(movementType);
34
- const instruction = `Soit le graphique ci-dessous, représentant la position d'un objet en fonction du temps. \n \\
7
+ const getInstruction = (identifiers) => {
8
+ const instruction = `Soit le graphique ci-dessous, représentant la position d'un objet en fonction du temps.
9
+
35
10
  Déterminer le type de mouvement de l'objet.`;
36
- return {
37
- instruction,
38
- answer: movementType,
39
- movementType,
40
- ggb: ggb.ggb,
41
- coords: ggb.coords,
42
- };
11
+ return instruction;
43
12
  };
44
- const getGgb = (movementType) => {
13
+ const getAnswer = (identifiers) => {
14
+ const { movementType } = identifiers;
15
+ return movementType;
16
+ };
17
+ const getGGBOptions = (identifiers) => {
18
+ const { movementType, a, b } = identifiers;
45
19
  let commands = [];
46
20
  let coords = [];
47
21
  let point1;
48
22
  let point2;
49
23
  switch (movementType) {
50
24
  case "Circulaire":
51
- const a = randint(1, 5);
52
- const b = randint(6, 9);
53
25
  commands = [
54
26
  `Semicircle((${a},4),(${b},8))`,
55
27
  `Point({${a},4})`,
@@ -59,46 +31,74 @@ const getGgb = (movementType) => {
59
31
  coords = [-2, 10, -2, 10];
60
32
  break;
61
33
  case "Rectiligne":
62
- const affine = AffineConstructor.random({ min: 1, max: 4 }, { min: 1, max: 4 });
34
+ const affine = new Affine(a, b);
63
35
  point1 = `(2,${affine.calculate(2)})`;
64
36
  point2 = `(8,${affine.calculate(8)})`;
65
- commands = [`Segment(${point1},${point2})`].concat(getPoints(movementType, { affine }));
37
+ commands = [`Segment(${point1},${point2})`];
38
+ for (let x = 3; x < 8; x++) {
39
+ commands.push(`Point({${x},${affine.calculate(x)}})`);
40
+ }
66
41
  coords = [-2, 10, -2, affine.calculate(8) + 5];
67
42
  break;
68
43
  case "Curviligne":
69
- const random = randint(10, 21);
70
- const bRand = randint(1, 5);
71
- commands = [`Function(e^sin(x)+${bRand},0,${random})`].concat(getPoints(movementType, { bRand: bRand }));
44
+ commands = [`Function(e^sin(x)+${b},0,${a})`];
45
+ for (let x = 1; x < 9; x++) {
46
+ commands.push(`Point({${x},${Math.exp(Math.sin(x)) + b}})`);
47
+ }
72
48
  coords = [-2, 10, -2, 10];
73
49
  break;
74
50
  }
75
- return {
76
- ggb: new GeogebraConstructor({ commands }),
51
+ const ggb = new GeogebraConstructor({ commands });
52
+ return ggb.getOptions({
77
53
  coords,
54
+ });
55
+ };
56
+ const getQuestionFromIdentifiers = (identifiers) => {
57
+ const question = {
58
+ answer: getAnswer(identifiers),
59
+ instruction: getInstruction(identifiers),
60
+ ggbOptions: getGGBOptions(identifiers),
61
+ keys: [],
62
+ answerFormat: "raw",
63
+ identifiers,
78
64
  };
65
+ return question;
79
66
  };
80
- const getPoints = (movementType, options) => {
81
- const commands = [];
67
+ const getTypeOfMovementQuestion = () => {
68
+ const movementType = random(["Rectiligne", "Circulaire", "Curviligne"]);
69
+ let a, b;
82
70
  switch (movementType) {
71
+ case "Circulaire":
72
+ a = randint(1, 5);
73
+ b = randint(6, 9);
74
+ break;
83
75
  case "Rectiligne":
84
- for (let x = 3; x < 8; x++) {
85
- commands.push(`Point({${x},${options.affine.calculate(x)}})`);
86
- }
76
+ const affine = AffineConstructor.random({ min: 1, max: 4 }, { min: 1, max: 4 });
77
+ a = affine.a;
78
+ b = affine.b;
87
79
  break;
88
80
  case "Curviligne":
89
- for (let x = 1; x < 9; x++) {
90
- commands.push(`Point({${x},${Math.exp(Math.sin(x)) + options.bRand}})`);
91
- }
81
+ default:
82
+ a = randint(10, 21);
83
+ b = randint(1, 5);
92
84
  break;
93
85
  }
94
- return commands;
86
+ const identifiers = { movementType, a, b };
87
+ return getQuestionFromIdentifiers(identifiers);
88
+ };
89
+ const getPropositions = (n, { answer }) => {
90
+ const propositions = [];
91
+ addValidProp(propositions, answer, "raw");
92
+ tryToAddWrongProp(propositions, "Rectiligne", "raw");
93
+ tryToAddWrongProp(propositions, "Circulaire", "raw");
94
+ tryToAddWrongProp(propositions, "Curviligne", "raw");
95
+ tryToAddWrongProp(propositions, "On ne peut pas savoir.", "raw");
96
+ return shuffleProps(propositions, n);
95
97
  };
96
98
  export const typeOfMovement = {
97
99
  id: "typeOfMovement",
98
100
  label: "Déterminer le type de mouvement",
99
- levels: ["2nde"],
100
101
  isSingleStep: true,
101
- sections: ["Mécanique"],
102
102
  generator: (nb) => getDistinctQuestions(getTypeOfMovementQuestion, nb),
103
103
  qcmTimer: 60,
104
104
  freeTimer: 60,
@@ -106,4 +106,5 @@ export const typeOfMovement = {
106
106
  answerType: "QCU",
107
107
  subject: "Physique",
108
108
  hasGeogebra: true,
109
+ getQuestionFromIdentifiers,
109
110
  };
@@ -1 +1 @@
1
- {"version":3,"file":"orderOfMagnitude.d.ts","sourceRoot":"","sources":["../../../src/exercises/pc/orderOfMagnitude.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AA4DF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAalD,CAAC"}
1
+ {"version":3,"file":"orderOfMagnitude.d.ts","sourceRoot":"","sources":["../../../src/exercises/pc/orderOfMagnitude.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAkEF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAYlD,CAAC"}
@@ -7,17 +7,35 @@ import { Measure } from "../../pc/measure/measure.js";
7
7
  import { NumberNode } from "../../tree/nodes/numbers/numberNode.js";
8
8
  import { PowerNode } from "../../tree/nodes/operators/powerNode.js";
9
9
  const ten = new NumberNode(10);
10
- const getOrderOfMagnitudeQuestion = () => {
11
- const exercise = generateExercise();
10
+ const getInstruction = (identifiers) => {
11
+ const { order, multiplier } = identifiers;
12
+ const diameter = new Measure(multiplier, order, DistanceUnit.m);
13
+ const instruction = `Supposons qu'on ait un atome de diamètre $${diameter.toTex()}$. Indiquez l'ordre de grandeur du diamètre de cet atome.`;
14
+ return instruction;
15
+ };
16
+ const getAnswer = (identifiers) => {
17
+ const { order, multiplier } = identifiers;
18
+ const answer = multiplier > 5
19
+ ? new PowerNode(ten, (order + 1).toTree())
20
+ : new PowerNode(ten, order.toTree());
21
+ return answer.toTex();
22
+ };
23
+ const getQuestionFromIdentifiers = (identifiers) => {
12
24
  const question = {
13
- answer: `${exercise.answer.toTex()}`,
14
- instruction: exercise.instruction,
25
+ answer: getAnswer(identifiers),
26
+ instruction: getInstruction(identifiers),
15
27
  keys: [],
16
28
  answerFormat: "tex",
17
- identifiers: { order: exercise.order, multiplier: exercise.multiplier },
29
+ identifiers,
18
30
  };
19
31
  return question;
20
32
  };
33
+ const getOrderOfMagnitudeQuestion = () => {
34
+ const order = randint(-15, -10);
35
+ const multiplier = +randfloat(1, 11).toFixed(1);
36
+ const identifiers = { order: order, multiplier: multiplier };
37
+ return getQuestionFromIdentifiers(identifiers);
38
+ };
21
39
  const getPropositions = (n, { answer, order, multiplier }) => {
22
40
  const propositions = [];
23
41
  addValidProp(propositions, answer);
@@ -34,32 +52,15 @@ const generatePropositions = (order, multiplier) => {
34
52
  const third = new PowerNode(ten, correctAnswer.toTree()).toTex();
35
53
  return [first, second, third];
36
54
  };
37
- const generateExercise = () => {
38
- const order = randint(-15, -10);
39
- const multiplier = +randfloat(1, 11).toFixed(1);
40
- const diameter = new Measure(multiplier, order, DistanceUnit.m);
41
- const answer = multiplier > 5
42
- ? new PowerNode(ten, (order + 1).toTree())
43
- : new PowerNode(ten, order.toTree());
44
- const instruction = `Supposons qu'on ait un atome de diamètre $${diameter.toTex()}$. Indiquez l'ordre de grandeur du diamètre de cet atome.`;
45
- return {
46
- answer,
47
- order,
48
- diameter,
49
- multiplier,
50
- instruction,
51
- };
52
- };
53
55
  export const orderOfMagnitude = {
54
56
  id: "orderOfMagnitude",
55
57
  label: "Calcul d'ordre de grandeur",
56
- levels: ["2nde"],
57
58
  isSingleStep: true,
58
- sections: ["Chimie organique"],
59
59
  generator: (nb) => getDistinctQuestions(getOrderOfMagnitudeQuestion, nb),
60
60
  qcmTimer: 60,
61
61
  freeTimer: 60,
62
62
  getPropositions,
63
63
  isAnswerValid,
64
+ getQuestionFromIdentifiers,
64
65
  subject: "Chimie",
65
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pH.d.ts","sourceRoot":"","sources":["../../../src/exercises/pc/pH.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAkDF,eAAO,MAAM,EAAE,EAAE,QAAQ,CAAC,WAAW,CAcpC,CAAC"}
1
+ {"version":3,"file":"pH.d.ts","sourceRoot":"","sources":["../../../src/exercises/pc/pH.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AA2EF,eAAO,MAAM,EAAE,EAAE,QAAQ,CAAC,WAAW,CAapC,CAAC"}
@@ -4,29 +4,51 @@ import { frenchify } from "../../math/utils/latex/frenchify.js";
4
4
  import { randint } from "../../math/utils/random/randint.js";
5
5
  import { round } from "../../math/utils/round.js";
6
6
  import { shuffle } from "../../utils/alea/shuffle.js";
7
- const getpH = () => {
8
- const randomNumber = randint(1, 10);
9
- const randomTenPower = randint(2, 10);
7
+ const getInstruction = (identifiers) => {
8
+ const { randomNumber, randomTenPower } = identifiers;
9
+ const instruction = `Calculer le pH d'une solution ayant une concentration en ions hydrogène ($H^+$) de $${randomNumber} \\times 10^{-${randomTenPower}} \\ \\textrm{mol}/\\textrm{L}$.`;
10
+ return instruction;
11
+ };
12
+ const getAnswer = (identifiers) => {
13
+ const { randomNumber, randomTenPower } = identifiers;
10
14
  const concentrationHydrogene = randomNumber * 10 ** -randomTenPower;
11
- const instruction = `Calculer le pH d'une solution ayant une concentration en ions hydrogène ($H^+$) de $${randomNumber} \\times 10^{-${randomTenPower}}$ mol/L.`;
12
15
  const answer = frenchify(round(-Math.log10(concentrationHydrogene), 1));
13
- const hint = "Utilisez la formule du pH : $\\text{pH} = -\\log[H^+]$.";
14
- const correction = `Pour calculer le pH, on utilise la formule $\\text{pH} = -\\log[H^+]$ :
15
- \n$1$. La concentration en ions hydrogène est $${randomNumber} \\times 10^{-${randomTenPower}}$ mol/L.
16
- \n$2$. En appliquant la formule, on obtient $\\text{pH} = -\\log(${randomNumber} \\times 10^{-${randomTenPower}})$.
17
- \n$3$. Le résultat est $${answer}$.`;
16
+ return answer;
17
+ };
18
+ const getHint = (identifiers) => {
19
+ const hint = "Utilise la formule du pH : $\\text{pH} = -\\log[H^+]$.";
20
+ return hint;
21
+ };
22
+ const getCorrection = (identifiers) => {
23
+ const { randomNumber, randomTenPower } = identifiers;
24
+ const correction = `Pour calculer le pH, on utilise la formule $\\textrm{pH} = -\\log[H^+]$.
25
+
26
+ La concentration en ions hydrogène est $${randomNumber} \\times 10^{-${randomTenPower}}\\ \\textrm{mol}/\\textrm{L}$.
27
+
28
+ En appliquant la formule, on obtient $\\textrm{pH} = -\\log(${randomNumber} \\times 10^{-${randomTenPower}})$.
29
+
30
+ Le résultat est $${getAnswer(identifiers)}$.`;
31
+ return correction;
32
+ };
33
+ const getQuestionFromIdentifiers = (identifiers) => {
18
34
  const question = {
19
- instruction,
35
+ instruction: getInstruction(identifiers),
20
36
  startStatement: `pH`,
21
- answer,
22
- hint,
23
- correction,
37
+ answer: getAnswer(identifiers),
38
+ hint: getHint(identifiers),
39
+ correction: getCorrection(identifiers),
24
40
  keys: ["logBrackets"],
25
41
  answerFormat: "tex",
26
- identifiers: { randomNumber, randomTenPower },
42
+ identifiers,
27
43
  };
28
44
  return question;
29
45
  };
46
+ const getpH = () => {
47
+ const randomNumber = randint(1, 10);
48
+ const randomTenPower = randint(2, 10);
49
+ const identifiers = { randomNumber, randomTenPower };
50
+ return getQuestionFromIdentifiers(identifiers);
51
+ };
30
52
  const getPropositions = (n, { answer }) => {
31
53
  const propositions = [];
32
54
  addValidProp(propositions, answer);
@@ -46,8 +68,6 @@ export const pH = {
46
68
  id: "pH",
47
69
  connector: "=",
48
70
  label: "Calculer le pH d'une solution",
49
- levels: ["4ème", "3ème", "2nde"],
50
- sections: ["Acide / Base"],
51
71
  subject: "Chimie",
52
72
  isSingleStep: true,
53
73
  generator: (nb) => getDistinctQuestions(getpH, nb),
@@ -56,4 +76,5 @@ export const pH = {
56
76
  getPropositions,
57
77
  isAnswerValid,
58
78
  hasHintAndCorrection: true,
79
+ getQuestionFromIdentifiers,
59
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"perceivedFrequency.d.ts","sourceRoot":"","sources":["../../../src/exercises/pc/perceivedFrequency.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,QAAQ,EACT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAmDF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAapD,CAAC"}
1
+ {"version":3,"file":"perceivedFrequency.d.ts","sourceRoot":"","sources":["../../../src/exercises/pc/perceivedFrequency.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,QAAQ,EAIT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAsEF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAYpD,CAAC"}
@@ -6,24 +6,38 @@ import { round } from "../../math/utils/round.js";
6
6
  import { shuffle } from "../../utils/alea/shuffle.js";
7
7
  const soundSpeed = 340; // Vitesse du son dans l'air en m/s
8
8
  const observerSpeed = 0; // La vitesse de l'observateur est supposée être nulle (observateur immobile)
9
- const getPerceivedFrequency = () => {
10
- const frequencyEmitted = randint(200, 1500); // Fréquence émise en Hz
11
- const ambulanceSpeed = Math.floor(Math.random() * 40 + 10); // Vitesse de l'ambulance entre 10 et 50 m/s
9
+ const getInstruction = (identifiers) => {
10
+ const { frequencyEmitted, ambulanceSpeed } = identifiers;
11
+ return `Une ambulance émet un son d'une fréquence de $${frequencyEmitted}\\ \\textrm{Hz}$ lorsqu'elle
12
+ s'approche d'un observateur à une vitesse de $${ambulanceSpeed} \\ \\textrm{m}/\\textrm{s}$.
13
+
14
+ La vitesse du son dans l'air est de $340 \\ \\textrm{m}/\\textrm{s}$.
15
+
16
+ Calculer la fréquence perçue par l'observateur.`;
17
+ };
18
+ const getAnswer = (identifiers) => {
19
+ const { frequencyEmitted, ambulanceSpeed } = identifiers;
12
20
  const perceivedFrequency = (frequencyEmitted * (soundSpeed + observerSpeed)) /
13
21
  (soundSpeed - ambulanceSpeed);
14
- const instruction = `Une ambulance émet un son d'une fréquence de $${frequencyEmitted}$ Hz lorsqu'elle
15
- s'approche d'un observateur à une vitesse de $${ambulanceSpeed}$ m/s. Si la vitesse du son
16
- dans l'air est de $340$ m/s, calculer la fréquence perçue par l'observateur.`;
17
- const answer = `${frenchify(round(perceivedFrequency, 0))} \\ Hz`;
22
+ const answer = `${frenchify(round(perceivedFrequency, 0))}\\text{Hz}`;
23
+ return answer;
24
+ };
25
+ const getQuestionFromIdentifiers = (identifiers) => {
18
26
  const question = {
19
- instruction,
20
- answer,
27
+ instruction: getInstruction(identifiers),
28
+ answer: getAnswer(identifiers),
21
29
  keys: ["Hz"],
22
30
  answerFormat: "tex",
23
- identifiers: { ambulanceSpeed, frequencyEmitted },
31
+ identifiers,
24
32
  };
25
33
  return question;
26
34
  };
35
+ const getPerceivedFrequency = () => {
36
+ const frequencyEmitted = randint(200, 1500); // Fréquence émise en Hz
37
+ const ambulanceSpeed = Math.floor(Math.random() * 40 + 10); // Vitesse de l'ambulance entre 10 et 50 m/s
38
+ const identifiers = { ambulanceSpeed, frequencyEmitted };
39
+ return getQuestionFromIdentifiers(identifiers);
40
+ };
27
41
  const getPropositions = (n, { answer, ambulanceSpeed, frequencyEmitted }) => {
28
42
  const propositions = [];
29
43
  addValidProp(propositions, answer);
@@ -31,7 +45,7 @@ const getPropositions = (n, { answer, ambulanceSpeed, frequencyEmitted }) => {
31
45
  (soundSpeed - ambulanceSpeed);
32
46
  while (propositions.length < n) {
33
47
  tryToAddWrongProp(propositions, frenchify(round(perceivedFrequency * (0.3 + Math.random() * 1.5), 0)) +
34
- " \\ Hz");
48
+ " \\text{Hz}");
35
49
  }
36
50
  return shuffle(propositions);
37
51
  };
@@ -42,8 +56,6 @@ export const perceivedFrequency = {
42
56
  id: "perceivedFrequency",
43
57
  connector: "\\iff",
44
58
  label: "Calculer une fréquence perçue par un observateur",
45
- levels: ["4ème", "3ème", "2nde"],
46
- sections: ["Ondes"],
47
59
  subject: "Physique",
48
60
  isSingleStep: true,
49
61
  generator: (nb) => getDistinctQuestions(getPerceivedFrequency, nb),
@@ -51,4 +63,5 @@ export const perceivedFrequency = {
51
63
  freeTimer: 60,
52
64
  getPropositions,
53
65
  isAnswerValid,
66
+ getQuestionFromIdentifiers,
54
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"potentialEnergy.d.ts","sourceRoot":"","sources":["../../../src/exercises/pc/potentialEnergy.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,QAAQ,EACT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAwDF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAajD,CAAC"}
1
+ {"version":3,"file":"potentialEnergy.d.ts","sourceRoot":"","sources":["../../../src/exercises/pc/potentialEnergy.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,QAAQ,EAIT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAuEF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAYjD,CAAC"}
@@ -8,31 +8,44 @@ import { DistanceUnit } from "../../pc/units/distanceUnits.js";
8
8
  import { EnergyUnit } from "../../pc/units/energyUnit.js";
9
9
  import { MassUnit } from "../../pc/units/massUnits.js";
10
10
  import { shuffle } from "../../utils/alea/shuffle.js";
11
- const getPotentialEnergy = () => {
12
- const mass = Math.floor(Math.random() * 10 + 1); // Masse de l'objet entre 1 et 11 kg
11
+ const getInstruction = (identifiers) => {
12
+ const { mass, height } = identifiers;
13
13
  const massMeasure = new Measure(mass, 0, MassUnit.kg);
14
- const height = Math.floor(Math.random() * 50 + 1); // Hauteur par rapport à la référence entre 1 et 51 m
15
14
  const heightMeasure = new Measure(height, 0, DistanceUnit.m);
16
- const potentialEnergy = mass * 9.81 * height;
17
15
  const instruction = `Un objet de masse $${massMeasure.toTex({
18
16
  notScientific: true,
19
17
  })}$ est suspendu à une hauteur de $${heightMeasure.toTex({
20
18
  notScientific: true,
21
19
  })}$. Il est ensuite relâché et tombe librement.
22
- $\\\\$ Calculer l'énergie potentielle de l'objet. (Supposons que l'accélération due à la gravité est de $${earthGravityAcceleration.measure
20
+
21
+ Calculer l'énergie potentielle de l'objet (on suppose que l'accélération due à la gravité est de $${earthGravityAcceleration.measure
23
22
  .toSignificant(2)
24
- .toTex()}$)`;
23
+ .toTex()}$).`;
24
+ return instruction;
25
+ };
26
+ const getAnswer = (identifiers) => {
27
+ const { mass, height } = identifiers;
28
+ const potentialEnergy = mass * 9.81 * height;
25
29
  const answer = `${frenchify(round(potentialEnergy, 2))}${EnergyUnit.J.toTex()}`;
30
+ return answer;
31
+ };
32
+ const getQuestionFromIdentifiers = (identifiers) => {
26
33
  const question = {
27
- instruction,
34
+ instruction: getInstruction(identifiers),
28
35
  startStatement: "Ep",
29
- answer,
36
+ answer: getAnswer(identifiers),
30
37
  keys: ["J"],
31
38
  answerFormat: "tex",
32
- identifiers: { height, mass },
39
+ identifiers,
33
40
  };
34
41
  return question;
35
42
  };
43
+ const getPotentialEnergy = () => {
44
+ const mass = Math.floor(Math.random() * 10 + 1); // Masse de l'objet entre 1 et 11 kg
45
+ const height = Math.floor(Math.random() * 50 + 1); // Hauteur par rapport à la référence entre 1 et 51 m
46
+ const identifiers = { height, mass };
47
+ return getQuestionFromIdentifiers(identifiers);
48
+ };
36
49
  const getPropositions = (n, { answer, height, mass }) => {
37
50
  const propositions = [];
38
51
  addValidProp(propositions, answer);
@@ -50,8 +63,6 @@ export const potentialEnergy = {
50
63
  id: "potentialEnergy",
51
64
  connector: "=",
52
65
  label: "Calculer l'énergie potentielle",
53
- levels: ["4ème", "3ème", "2nde"],
54
- sections: ["Mécanique"],
55
66
  subject: "Physique",
56
67
  isSingleStep: true,
57
68
  generator: (nb) => getDistinctQuestions(getPotentialEnergy, nb),
@@ -59,4 +70,5 @@ export const potentialEnergy = {
59
70
  freeTimer: 60,
60
71
  getPropositions,
61
72
  isAnswerValid,
73
+ getQuestionFromIdentifiers,
62
74
  };