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
@@ -5,112 +5,141 @@ import { randint } from "../../../math/utils/random/randint.js";
5
5
  import { lightSpeed } from "../../../pc/constants/mechanics/waves.js";
6
6
  import { Measure } from "../../../pc/measure/measure.js";
7
7
  import { coinFlip } from "../../../utils/alea/coinFlip.js";
8
- const getLightDistanceConversionQuestion = () => {
9
- const lightYear = randfloat(10, 1000, 2);
10
- const speed = lightSpeed.measure;
11
- const secondsInAYear = 365.25 * 24 * 3600;
12
- const lightDistanceTravelled = speed.times(secondsInAYear);
13
- const distanceFromEarthMeters = lightDistanceTravelled.times(lightYear);
14
- const isLightYearToMeters = coinFlip();
8
+ const getInstruction = (identifiers) => {
9
+ const { lightYear, distanceMeters, isLightYearToMeters } = identifiers;
10
+ return isLightYearToMeters
11
+ ? `Une planète se trouve à $${lightYear.frenchify()}$ années-lumières de nous.
12
+
13
+ Calculer à quelle distance de la Terre se trouve la planète en mètres (en écriture scientifique avec $2$ chiffres significatifs).`
14
+ : `Une planète se trouve à $${distanceMeters
15
+ .toSignificant(2)
16
+ .toTex()}\\ \\textrm{m}$ de nous.
17
+
18
+ Calculer à quelle distance en années-lumières se trouve la planète de la Terre (en écriture scientifique avec $2$ chiffres significatifs).`;
19
+ };
20
+ const getAnswer = (identifiers) => {
21
+ const { lightYear, distanceMeters, isLightYearToMeters } = identifiers;
15
22
  const answer = isLightYearToMeters
16
- ? distanceFromEarthMeters.toSignificant(2).toTex()
23
+ ? distanceMeters.toSignificant(2).toTex()
17
24
  : lightYear.toScientific(2).toTex();
25
+ return answer;
26
+ };
27
+ const getHint = (identifiers) => {
28
+ const { lightYear, distanceMeters, isLightYearToMeters } = identifiers;
18
29
  const hint = isLightYearToMeters
19
30
  ? `Pour convertir des années-lumière en mètres, utilisez les relations suivantes :
20
- - Une année-lumière est la distance parcourue par la lumière en une année.
21
- - La vitesse de la lumière est $c = 3 \\times 10^8 \\text{ m/s}$.
22
- - Il y a $365.25 \\text{ jours} \\times 24 \\text{ heures/jour} \\times 3600 \\text{ secondes/heure}$ secondes dans une année (Le 0.25 compte pour la moyenne sur quatres années dont une bissextile).
23
-
24
- La distance parcourue par la lumière en une année est :
25
- $$
26
- c \\times \\text{secondes par année}
27
- $$
28
31
 
29
- Pour convertir des années-lumière en mètres, multipliez la distance en années-lumière par la distance parcourue par la lumière en une année.`
30
- : `Pour convertir une distance en mètres en années-lumières, utilisez les relations suivantes :
31
- - Une année-lumière est la distance parcourue par la lumière en une année.
32
- - La vitesse de la lumière est $c = 3 \\times 10^8 \\text{ m/s}$.
33
- - Il y a $365.25 \\text{ jours} \\times 24 \\text{ heures/jour} \\times 3600 \\text{ secondes/heure}$ secondes dans une année (Le 0.25 compte pour la moyenne sur quatres années dont une bissextile).
32
+ - Une année-lumière est la distance parcourue par la lumière en une année.
33
+ - La vitesse de la lumière est $c = 3 \\times 10^8 \\ \\textrm{m}/\\textrm{s}$.
34
+ - Il y a $365,25 \\text{jours} \\times 24 \\text{heures/jour} \\times 3600 \\text{ secondes/heure}$ secondes dans une année (le $0,25$ compte pour la moyenne sur quatres années dont une bissextile).
34
35
 
35
- La distance parcourue par la lumière en une année est :
36
+ La distance parcourue par la lumière en une année est :
37
+
38
+ $$
39
+ c \\times \\text{secondes par année}
40
+ $$
36
41
 
37
- $$
38
- c \\times \\text{secondes par année}
39
- $$
42
+ Pour convertir des années-lumière en mètres, multipliez la distance en années-lumière par la distance parcourue par la lumière en une année.`
43
+ : `Pour convertir une distance en mètres en années-lumières, utilisez les relations suivantes :
40
44
 
41
- Pour convertir des mètres en années-lumière, divisez la distance en mètres par la distance parcourue par la lumière en une année.`;
45
+ - Une année-lumière est la distance parcourue par la lumière en une année.
46
+ - La vitesse de la lumière est $c = 3 \\times 10^8 \\textrm{m/s}$.
47
+ - Il y a $365,25 \\text{ jours} \\times 24 \\text{heures/jour} \\times 3600 \\text{ secondes/heure}$ secondes dans une année (Le $0,25$ compte pour la moyenne sur quatres années dont une bissextile).
48
+
49
+ La distance parcourue par la lumière en une année est :
50
+
51
+ $$
52
+ c \\times \\text{secondes par année}
53
+ $$
54
+
55
+ Pour convertir des mètres en années-lumière, divisez la distance en mètres par la distance parcourue par la lumière en une année.`;
56
+ return hint;
57
+ };
58
+ const getCorrection = (identifiers) => {
59
+ const { lightYear, distanceMeters, isLightYearToMeters } = identifiers;
42
60
  const correction = isLightYearToMeters
43
61
  ? `La distance parcourue par la lumière en une année est donnée par :
44
-
45
- $$
46
- c \\times \\text{secondes par année} = 3 \\times 10^8 \\text{ m/s} \\times 365.25 \\times 24 \\times 3600 \\text{ s}
47
- $$
48
62
 
49
- En simplifiant, nous obtenons :
50
-
51
- $$
52
- 3 \\times 10^8 \\text{ m/s} \\times 31,557,600 \\text{ s} = 9.46728 \\times 10^{15} \\text{ m}
53
- $$
63
+ $$
64
+ c \\times \\text{secondes par année} = 3 \\times 10^8 \\text{ m/s} \\times 365.25 \\times 24 \\times 3600 \\text{ s}
65
+ $$
54
66
 
55
- Pour convertir des années-lumière en mètres, nous utilisons la relation suivante :
56
-
57
- $$
58
- \\text{distance en années-lumière} \\times 9.46728 \\times 10^{15} \\text{ m}
59
- $$
67
+ En simplifiant, nous obtenons :
68
+
69
+ $$
70
+ 3 \\times 10^8 \\text{ m/s} \\times 31,557,600 \\text{ s} = 9.46728 \\times 10^{15} \\text{ m}
71
+ $$
72
+
73
+ Pour convertir des années-lumière en mètres, nous utilisons la relation suivante :
60
74
 
61
- En appliquant cette relation avec la valeur donnée de ${lightYear} années-lumière, nous obtenons :
75
+ $$
76
+ \\text{distance en années-lumière} \\times 9.46728 \\times 10^{15} \\text{ m}
77
+ $$
62
78
 
63
- $$
64
- \\text{distance en mètres} = ${lightYear} \\times 9.46728 \\times 10^{15} = ${distanceFromEarthMeters
79
+ En appliquant cette relation avec la valeur donnée de $${lightYear}$ années-lumière, nous obtenons :
80
+
81
+ $$
82
+ \\text{distance en mètres} = ${lightYear} \\times 9.46728 \\times 10^{15} = ${distanceMeters
65
83
  .toSignificant(2)
66
84
  .toTex()} \\text{ m}
67
- $$`
85
+ $$`
68
86
  : `La distance parcourue par la lumière en une année est donnée par :
69
-
70
- $$
71
- c \\times \\text{secondes par année} = 3 \\times 10^8 \\text{ m/s} \\times 365.25 \\times 24 \\times 3600 \\text{ s}
72
- $$
73
87
 
74
- En simplifiant, nous obtenons :
88
+ $$
89
+ c \\times \\text{secondes par année} = 3 \\times 10^8 \\text{ m/s} \\times 365.25 \\times 24 \\times 3600 \\text{ s}
90
+ $$
75
91
 
76
- $$
77
- 3 \\times 10^8 \\text{ m/s} \\times 31,557,600 \\text{ s} = 9.46728 \\times 10^{15} \\text{ m}
78
- $$
92
+ En simplifiant, nous obtenons :
79
93
 
80
- Pour convertir des mètres en années-lumière, nous utilisons la relation suivante :
94
+ $$
95
+ 3 \\times 10^8 \\text{ m/s} \\times 31,557,600 \\text{ s} = 9.46728 \\times 10^{15} \\text{ m}
96
+ $$
81
97
 
82
- $$
83
- \\frac{\\text{distance en mètres}}{9.46728 \\times 10^{15} \\text{ m}}
84
- $$
98
+ Pour convertir des mètres en années-lumière, nous utilisons la relation suivante :
85
99
 
86
- En appliquant cette relation avec la valeur donnée de $${distanceFromEarthMeters
100
+ $$
101
+ \\frac{\\text{distance en mètres}}{9.46728 \\times 10^{15} \\text{ m}}
102
+ $$
103
+
104
+ En appliquant cette relation avec la valeur donnée de $${distanceMeters
87
105
  .toSignificant(2)
88
106
  .toTex()} \\text{m}$, nous obtenons :
89
107
 
90
- $$
91
- \\frac{${distanceFromEarthMeters
108
+ $$
109
+ \\frac{${distanceMeters
92
110
  .toSignificant(2)
93
- .toTex()}}{9.46728 \\times 10^{15}} = ${lightYear.toScientific(2).toTex()}
94
- $$`;
111
+ .toTex()}}{9.46728 \\times 10^{15}} = ${lightYear
112
+ .toScientific(2)
113
+ .toTex()}
114
+ $$`;
115
+ return correction;
116
+ };
117
+ const getQuestionFromIdentifiers = (identifiers) => {
95
118
  const question = {
96
- answer: answer,
97
- instruction: isLightYearToMeters
98
- ? `Une planète se trouve à $${lightYear.frenchify()}$ années-lumières de nous. Calculer à quelle distance de la Terre se trouve la planète en mètres (en écriture scientifique avec 2 chiffres significatifs).`
99
- : `Une planète se trouve à $${distanceFromEarthMeters
100
- .toSignificant(2)
101
- .toTex()}\\ \\text{m}$ de nous. Calculer à quelle distance en années-lumières se trouve la planète de la Terre (en écriture scientifique avec 2 chiffres significatifs).`,
102
- hint,
103
- correction,
119
+ answer: getAnswer(identifiers),
120
+ instruction: getInstruction(identifiers),
121
+ hint: getHint(identifiers),
122
+ correction: getCorrection(identifiers),
104
123
  keys: ["timesTenPower"],
105
124
  answerFormat: "tex",
106
- identifiers: {
107
- lightYear,
108
- distanceMeters: distanceFromEarthMeters,
109
- isLightYearToMeters,
110
- },
125
+ identifiers,
111
126
  };
112
127
  return question;
113
128
  };
129
+ const getLightDistanceConversionQuestion = () => {
130
+ const lightYear = randfloat(10, 1000, 2);
131
+ const speed = lightSpeed.measure;
132
+ const secondsInAYear = 365.25 * 24 * 3600;
133
+ const lightDistanceTravelled = speed.times(secondsInAYear);
134
+ const distanceFromEarthMeters = lightDistanceTravelled.times(lightYear);
135
+ const isLightYearToMeters = coinFlip();
136
+ const identifiers = {
137
+ lightYear,
138
+ distanceMeters: distanceFromEarthMeters,
139
+ isLightYearToMeters,
140
+ };
141
+ return getQuestionFromIdentifiers(identifiers);
142
+ };
114
143
  const getPropositions = (n, { answer, lightYear, distanceMeters, isLightYearToMeters }) => {
115
144
  const propositions = [];
116
145
  addValidProp(propositions, answer);
@@ -154,9 +183,7 @@ const isAnswerValid = (ans, { answer, lightYear, distanceMeters, isLightYearToMe
154
183
  export const lightDistanceConversion = {
155
184
  id: "lightDistanceConversion",
156
185
  label: "Conversion entre années-lumière et distance en mètres",
157
- levels: ["2nde"],
158
186
  isSingleStep: true,
159
- sections: ["Ondes"],
160
187
  generator: (nb) => getDistinctQuestions(getLightDistanceConversionQuestion, nb),
161
188
  qcmTimer: 60,
162
189
  freeTimer: 60,
@@ -164,4 +191,5 @@ export const lightDistanceConversion = {
164
191
  isAnswerValid,
165
192
  subject: "Physique",
166
193
  hasHintAndCorrection: true,
194
+ getQuestionFromIdentifiers,
167
195
  };
@@ -1,5 +1,6 @@
1
1
  import { Exercise } from "../../../exercises/exercise.js";
2
2
  type Identifiers = {
3
+ varAsked: string;
3
4
  v: number;
4
5
  l: number;
5
6
  T: number;
@@ -1 +1 @@
1
- {"version":3,"file":"periodicWaveCelerity.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/waves/periodicWaveCelerity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAMrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAoGF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAetD,CAAC"}
1
+ {"version":3,"file":"periodicWaveCelerity.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/waves/periodicWaveCelerity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAMrC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA2KF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CActD,CAAC"}
@@ -4,6 +4,84 @@ import { randfloat } from "../../../math/utils/random/randfloat.js";
4
4
  import { round, roundSignificant } from "../../../math/utils/round.js";
5
5
  import { random } from "../../../utils/alea/random.js";
6
6
  // v = lambda / T
7
+ const getInstruction = (identifiers) => {
8
+ const { varAsked, v, l, T } = identifiers;
9
+ switch (varAsked) {
10
+ case "v":
11
+ return `Une onde périodique a une longueur d'onde de $${roundSignificant(l, 1)}\\ \\textrm{m}$ et une période de $${roundSignificant(T, 1)}\\ \\textrm{s}$.
12
+
13
+ Quelle est sa célérité ?`;
14
+ break;
15
+ case "T":
16
+ return `Une onde périodique a une longueur d'onde de $${roundSignificant(l, 1)}\\ \\textrm{m}$ et une célérité de $${roundSignificant(v, 1)}\\ \\textrm{m}\\cdot\\textrm{s}^{-1}$.
17
+
18
+ Quelle est sa période ?`;
19
+ break;
20
+ case "l":
21
+ default:
22
+ return `Une onde périodique a une période de $${roundSignificant(T, 1)}\\ \\textrm{m}$ et une célérité de $${roundSignificant(v, 1)}\\ \\textrm{m}\\cdot\\textrm{s}^{-1}$.
23
+
24
+ Quelle est sa longueur d'onde ?`;
25
+ break;
26
+ }
27
+ };
28
+ const getAnswer = (identifiers) => {
29
+ const { varAsked, v, l, T } = identifiers;
30
+ switch (varAsked) {
31
+ case "v":
32
+ return roundSignificant(v, 1);
33
+ break;
34
+ case "T":
35
+ return roundSignificant(T, 1);
36
+ break;
37
+ case "l":
38
+ default:
39
+ return roundSignificant(l, 1);
40
+ break;
41
+ }
42
+ };
43
+ const getHint = (identifiers) => {
44
+ const { varAsked, v, l, T } = identifiers;
45
+ switch (varAsked) {
46
+ case "v":
47
+ return "Utilisez la formule de la célérité: $v = \\frac{\\lambda}{T}$";
48
+ break;
49
+ case "T":
50
+ return "Utilisez la formule de la période: $T = \\frac{\\lambda}{v}$";
51
+ break;
52
+ case "l":
53
+ default:
54
+ return "Utilisez la formule de la longueur d'onde: $\\lambda = v \\times T$";
55
+ break;
56
+ }
57
+ };
58
+ const getCorrection = (identifiers) => {
59
+ const { varAsked, v, l, T } = identifiers;
60
+ switch (varAsked) {
61
+ case "v":
62
+ return `La célérité est donnée par $v = \\frac{\\lambda}{T} = \\frac{${roundSignificant(l, 1)}}{${roundSignificant(T, 1)}} = ${roundSignificant(v, 1)}$.`;
63
+ break;
64
+ case "T":
65
+ return `La période est donnée par $T = \\frac{\\lambda}{v} = \\frac{${roundSignificant(l, 1)}}{${roundSignificant(v, 1)}} = ${roundSignificant(T, 1)}$.`;
66
+ break;
67
+ case "l":
68
+ default:
69
+ return `La longueur d'onde est donnée par $\\lambda = v \\times T = ${roundSignificant(v, 1)} \\times ${roundSignificant(T, 1)} = ${roundSignificant(l, 1)}$.`;
70
+ break;
71
+ }
72
+ };
73
+ const getQuestionFromIdentifiers = (identifiers) => {
74
+ const question = {
75
+ answer: getAnswer(identifiers),
76
+ instruction: getInstruction(identifiers),
77
+ hint: getHint(identifiers),
78
+ correction: getCorrection(identifiers),
79
+ keys: [],
80
+ answerFormat: "tex",
81
+ identifiers,
82
+ };
83
+ return question;
84
+ };
7
85
  const getPeriodicWaveCelerityQuestion = () => {
8
86
  const varAsked = random(["v", "T", "l"]);
9
87
  let v;
@@ -18,42 +96,21 @@ const getPeriodicWaveCelerityQuestion = () => {
18
96
  T = randfloat(1, 10, 1);
19
97
  l = randfloat(1, 10, 1);
20
98
  v = round(l / T, 1);
21
- instruction = `Une onde périodique a une longueur d'onde de $${roundSignificant(l, 1)}\\ \\text{m}$ et une période de $${roundSignificant(T, 1)}\\ \\text{s}$. Quelle est sa célérité ?`;
22
- hint = "Utilisez la formule de la célérité: $v = \\frac{\\lambda}{T}$";
23
- correction = `La célérité est donnée par $v = \\frac{\\lambda}{T} = \\frac{${roundSignificant(l, 1)}}{${roundSignificant(T, 1)}} = ${roundSignificant(v, 1)}$.`;
24
- answer = roundSignificant(v, 1);
25
99
  break;
26
100
  case "T":
27
101
  l = randfloat(1, 10, 1);
28
102
  v = randfloat(1, 10, 1);
29
103
  T = round(l / v, 1);
30
- instruction = `Une onde périodique a une longueur d'onde de $${roundSignificant(l, 1)}\\ \\text{m}$ et une célérité de $${roundSignificant(v, 1)}\\ \\text{m}\\cdot\\text{s}^{-1}$. Quelle est sa période ?`;
31
- hint = "Utilisez la formule de la période: $T = \\frac{\\lambda}{v}$";
32
- correction = `La période est donnée par $T = \\frac{\\lambda}{v} = \\frac{${roundSignificant(l, 1)}}{${roundSignificant(v, 1)}} = ${roundSignificant(T, 1)}$.`;
33
- answer = roundSignificant(T, 1);
34
104
  break;
35
105
  case "l":
36
106
  default:
37
107
  v = randfloat(1, 10, 1);
38
108
  T = randfloat(1, 10, 1);
39
109
  l = round(v * T, 1);
40
- instruction = `Une onde périodique a une période de $${roundSignificant(T, 1)}\\ \\text{m}$ et une célérité de $${roundSignificant(v, 1)}\\ \\text{m}\\cdot\\text{s}^{-1}$. Quelle est sa longueur d'onde ?`;
41
- hint =
42
- "Utilisez la formule de la longueur d'onde: $\\lambda = v \\times T$";
43
- correction = `La longueur d'onde est donnée par $\\lambda = v \\times T = ${roundSignificant(v, 1)} \\times ${roundSignificant(T, 1)} = ${roundSignificant(l, 1)}$.`;
44
- answer = roundSignificant(l, 1);
45
110
  break;
46
111
  }
47
- const question = {
48
- answer,
49
- instruction,
50
- hint,
51
- correction,
52
- keys: [],
53
- answerFormat: "tex",
54
- identifiers: { v, T, l },
55
- };
56
- return question;
112
+ const identifiers = { varAsked, v, T, l };
113
+ return getQuestionFromIdentifiers(identifiers);
57
114
  };
58
115
  const getPropositions = (n, { answer }) => {
59
116
  const propositions = [];
@@ -70,9 +127,7 @@ export const periodicWaveCelerity = {
70
127
  id: "periodicWaveCelerity",
71
128
  connector: "=",
72
129
  label: "Célérité d'une onde periodique",
73
- levels: ["1reSpé"],
74
130
  isSingleStep: true,
75
- sections: ["Ondes"],
76
131
  generator: (nb) => getDistinctQuestions(getPeriodicWaveCelerityQuestion, nb),
77
132
  qcmTimer: 60,
78
133
  freeTimer: 60,
@@ -80,4 +135,5 @@ export const periodicWaveCelerity = {
80
135
  isAnswerValid,
81
136
  subject: "Physique",
82
137
  hasHintAndCorrection: true,
138
+ getQuestionFromIdentifiers,
83
139
  };
@@ -1 +1 @@
1
- {"version":3,"file":"calculateWeight.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/weight/calculateWeight.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AA8DF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAcjD,CAAC"}
1
+ {"version":3,"file":"calculateWeight.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/weight/calculateWeight.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAiGF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAajD,CAAC"}
@@ -4,19 +4,66 @@ import { randfloat } from "../../../math/utils/random/randfloat.js";
4
4
  import { randint } from "../../../math/utils/random/randint.js";
5
5
  import { earthGravity } from "../../../pc/constants/gravity.js";
6
6
  const g = +earthGravity.measure.significantPart.toFixed(2);
7
- const getCalculateWeightQuestion = () => {
8
- const exo = generateExercise();
7
+ const getInstruction = (identifiers) => {
8
+ const { mass } = identifiers;
9
+ const instruction = `Soit un objet avec une masse de $${mass}\\ \\textrm{kg}$.
10
+
11
+ Calculer le poids de cet objet.`;
12
+ return instruction;
13
+ };
14
+ const getAnswer = (identifiers) => {
15
+ const { mass } = identifiers;
16
+ const answer = (mass * g).toScientific(2);
17
+ return answer.toTex();
18
+ };
19
+ const getHint = (identifiers) => {
20
+ const { mass } = identifiers;
21
+ const hint = `Le poids $P$ se calcule en utilisant la formule :
22
+
23
+ $$
24
+ P=m \\cdot g
25
+ $$
26
+
27
+
28
+
29
+ - m est la masse de l'objet (en $\\textrm{kg}$).
30
+
31
+ - g est l'accélération due à la gravité (en $\\textrm{m} \\cdot \\textrm{s}^${-1}$).`;
32
+ return hint;
33
+ };
34
+ const getCorrection = (identifiers) => {
35
+ const { mass } = identifiers;
36
+ const answer = getAnswer(identifiers);
37
+ const correction = `Pour calculer le poids de l'objet, on utilise la formule :
38
+
39
+ $$
40
+ P=m \\cdot g
41
+ $$
42
+
43
+ On a :
44
+
45
+ $$
46
+ P = ${mass.frenchify()} \\times ${g.frenchify()} \\Rightarrow P=${answer}\\ \\textrm{N}
47
+ $$`;
48
+ return correction;
49
+ };
50
+ const getQuestionFromIdentifiers = (identifiers) => {
9
51
  const question = {
10
- answer: exo.answer.toTex(),
11
- instruction: exo.instruction,
52
+ answer: getAnswer(identifiers),
53
+ instruction: getInstruction(identifiers),
12
54
  keys: [],
13
- hint: exo.hint,
14
- correction: exo.correction,
55
+ hint: getHint(identifiers),
56
+ correction: getCorrection(identifiers),
15
57
  answerFormat: "tex",
16
- identifiers: { mass: exo.mass },
58
+ identifiers,
17
59
  };
18
60
  return question;
19
61
  };
62
+ const getCalculateWeightQuestion = () => {
63
+ const mass = randint(30, 151);
64
+ const identifiers = { mass: mass };
65
+ return getQuestionFromIdentifiers(identifiers);
66
+ };
20
67
  const getPropositions = (n, { answer, mass }) => {
21
68
  const propositions = [];
22
69
  const weight = mass * g;
@@ -37,29 +84,10 @@ const generatePropositions = (mass) => {
37
84
  const second = (randfloat(weight - 100, weight + 100, 2, [weight]) / 10).toScientific(2);
38
85
  return [first.toTex(), second.toTex()];
39
86
  };
40
- const generateExercise = () => {
41
- const mass = randint(30, 151);
42
- const instruction = `Soit un objet avec une masse de $${mass}$ $kg$. Calculer le poids de cet objet.`;
43
- const answer = (mass * g).toScientific(2);
44
- const hint = `Rappel : le poids $P$ se calcule en utilisant la formule $P=m \\cdot g$. \n \\
45
- - m est la masse de l'objet (en kilogrammes, $kg$).\n \\
46
- - g est l'accélération due à la gravité (en $m \\cdot s^${-1}$).`;
47
- const correction = `Pour calculer le poids de l'objet, on utilise la formule : $P=m \\cdot g$. \n \\
48
- $P = ${mass.frenchify()} \\times ${g.frenchify()}$ $\\Rightarrow$ $P=${answer.toTex()}$ $N$`;
49
- return {
50
- instruction,
51
- answer,
52
- hint,
53
- correction,
54
- mass,
55
- };
56
- };
57
87
  export const calculateWeight = {
58
88
  id: "calculateWeight",
59
89
  label: "Calculer le poids d'un objet",
60
- levels: ["2nde"],
61
90
  isSingleStep: true,
62
- sections: ["Forces"],
63
91
  generator: (nb) => getDistinctQuestions(getCalculateWeightQuestion, nb),
64
92
  qcmTimer: 60,
65
93
  freeTimer: 60,
@@ -67,4 +95,5 @@ export const calculateWeight = {
67
95
  isAnswerValid,
68
96
  subject: "Physique",
69
97
  hasHintAndCorrection: true,
98
+ getQuestionFromIdentifiers,
70
99
  };
@@ -1 +1 @@
1
- {"version":3,"file":"weightOnTheMoon.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/weight/weightOnTheMoon.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AA6FF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAejD,CAAC"}
1
+ {"version":3,"file":"weightOnTheMoon.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/weight/weightOnTheMoon.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AA6HF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAcjD,CAAC"}
@@ -1,37 +1,87 @@
1
1
  import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../exercises/exercise.js";
2
2
  import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
3
- import { frenchify } from "../../../math/utils/latex/frenchify.js";
4
3
  import { randfloat } from "../../../math/utils/random/randfloat.js";
5
4
  import { round } from "../../../math/utils/round.js";
6
5
  import { earthGravity, moonGravity, } from "../../../pc/constants/mechanics/gravitational.js";
7
6
  import { coinFlip } from "../../../utils/alea/coinFlip.js";
8
- const getWeightOnTheMoonQuestion = () => {
9
- const originIsMoon = coinFlip();
7
+ const getInstruction = (identifiers) => {
8
+ const { weight, originIsMoon } = identifiers;
10
9
  const origin = originIsMoon ? "Lune" : "Terre";
11
10
  const destination = originIsMoon ? "Terre" : "Lune";
12
- const weight = round(randfloat(2, 30), 1);
13
11
  const gl = moonGravity.measure.toSignificant(1);
14
12
  const gt = earthGravity.measure.toSignificant(1);
15
- //Pt = m gt = Pl/gl gt
16
- //Pl = m gl = Pt/gt gl
13
+ return `Un objet a un poids de $${weight.frenchify()}\\ \\text{N}$ sur la ${origin}. Quel est son poids sur la ${destination} ?
14
+
15
+ Données : $g_T = ${gt.toTex()}$, $g_L = ${gl.toTex()}$
16
+ `;
17
+ };
18
+ const getAnswer = (identifiers) => {
19
+ const { weight, originIsMoon } = identifiers;
20
+ const gl = moonGravity.measure.toSignificant(1);
21
+ const gt = earthGravity.measure.toSignificant(1);
17
22
  const answer = round(originIsMoon
18
23
  ? (weight / gl.evaluate()) * gt.evaluate()
19
- : (weight / gt.evaluate()) * gl.evaluate(), 1) + "N";
20
- const question = {
21
- answer: frenchify(answer),
22
- instruction: `Un objet a un poids de $${weight.frenchify()}\\ \\text{N}$ sur la ${origin}. Quel est son poids sur la ${destination} ?
24
+ : (weight / gt.evaluate()) * gl.evaluate(), 1).frenchify() + "N";
25
+ return answer;
26
+ };
27
+ const getHint = (identifiers) => {
28
+ return "On rappelle que : $m=\\frac{p_T}{g_T}$ et $m=\\frac{p_L}{g_L}$";
29
+ };
30
+ const getCorrection = (identifiers) => {
31
+ const { weight, originIsMoon } = identifiers;
32
+ const gl = moonGravity.measure.toSignificant(1);
33
+ const gt = earthGravity.measure.toSignificant(1);
34
+ const answer = getAnswer(identifiers);
35
+ if (originIsMoon) {
36
+ return `- Trouver la masse de l'objet en utilisant son poids sur la Lune $p_L$ et l'accélération due à la gravité luanire $g_L$ :
23
37
 
24
- Données : $g_T = ${gt.toTex()}$, $g_L = ${gl.toTex()}$
25
- `,
26
- //hint: ` Pour calculer la masse de l'objet sur Terre, utiliser la formule : $m=\\frac{p_T}{g_T}$`,
27
- hint: "On rappelle que : $m=\\frac{p_T}{g_T}$ et $m=\\frac{p_L}{g_L}$",
28
- correction: getCorrection(origin, weight, answer, gt, gl),
38
+ $$
39
+ m = \\frac{p_L}{g_L} \\Leftrightarrow m=${round(weight / gl.evaluate(), 1)}\\textrm{kg}
40
+ $$
41
+
42
+ - Utiliser la masse trouvée et l'accélération due à la gravité sur la Terre $g_T$ pour calculer le poids sur la Terre $p_T$ :
43
+
44
+ $$
45
+ p_T = m \\ \\cdot g_T \\Leftrightarrow p_T = ${answer}
46
+ $$`;
47
+ }
48
+ return `- Trouver la masse de l'objet en utilisant son poids sur Terre $p_T$ et l'accélération due à la gravité terrestre $g_T$ :
49
+
50
+ $$
51
+ m = \\frac{p_T}{g_T} \\Leftrightarrow m=${round(weight / gt.evaluate(), 1)}\\textrm{kg}
52
+ $$
53
+
54
+ - Utiliser la masse trouvée et l'accélération due à la gravité sur la Lune $g_L$ pour calculer le poids sur la Lune $p_L$ :
55
+
56
+ $$
57
+ p_L = m \\ \\cdot g_L \\Leftrightarrow
58
+ $$
59
+
60
+ $$
61
+ p_L = ${answer}
62
+ $$
63
+ `;
64
+ };
65
+ const getQuestionFromIdentifiers = (identifiers) => {
66
+ const question = {
67
+ answer: getAnswer(identifiers),
68
+ instruction: getInstruction(identifiers),
69
+ hint: getHint(identifiers),
70
+ correction: getCorrection(identifiers),
29
71
  keys: ["N"],
30
72
  answerFormat: "tex",
31
- identifiers: { weight, originIsMoon },
73
+ identifiers,
32
74
  };
33
75
  return question;
34
76
  };
77
+ const getWeightOnTheMoonQuestion = () => {
78
+ const originIsMoon = coinFlip();
79
+ const weight = round(randfloat(2, 30), 1);
80
+ //Pt = m gt = Pl/gl gt
81
+ //Pl = m gl = Pt/gt gl
82
+ const identifiers = { weight, originIsMoon };
83
+ return getQuestionFromIdentifiers(identifiers);
84
+ };
35
85
  const getPropositions = (n, { answer, originIsMoon, weight }) => {
36
86
  const propositions = [];
37
87
  addValidProp(propositions, answer);
@@ -45,20 +95,6 @@ const getPropositions = (n, { answer, originIsMoon, weight }) => {
45
95
  }
46
96
  return shuffleProps(propositions, n);
47
97
  };
48
- const getCorrection = (origin, weight, answer, gt, gl) => {
49
- switch (origin) {
50
- case "Terre":
51
- return `1 . Trouver la masse de l'objet en utilisant son poids sur Terre $p_T$ et l'accélération due à la gravité terrestre $g_T$ : \n $m = \\frac{p_T}{g_T} \\Leftrightarrow m=${round(weight / gt.evaluate(), 1)}\\text{kg}$. \n \\
52
- 2 . Utiliser la masse trouvée et l'accélération due à la gravité sur la Lune $g_L$ pour calculer le poids sur la Lune $p_L$ : $p_L = m \\ \\cdot g_L \\Leftrightarrow$ $p_L = ${frenchify(answer)}$.`;
53
- case "Lune":
54
- return `1 . Trouver la masse de l'objet en utilisant son poids sur la Lune $p_L$ et l'accélération due à la gravité luanire $g_L$ :
55
- $m = \\frac{p_L}{g_L} \\Leftrightarrow m=${round(weight / gl.evaluate(), 1)}\\text{kg}$. \n \\
56
- 2 . Utiliser la masse trouvée et l'accélération due à la gravité sur la Terre $g_T$ pour calculer le poids sur la Terre $p_T$ :
57
- $p_T = m \\ \\cdot g_T \\Leftrightarrow p_T = ${frenchify(answer)}$.`;
58
- default:
59
- return "";
60
- }
61
- };
62
98
  const isAnswerValid = (ans, { answer }) => {
63
99
  return [answer, answer.replace("N", "")].includes(ans);
64
100
  };
@@ -66,9 +102,7 @@ export const weightOnTheMoon = {
66
102
  id: "weightOnTheMoon",
67
103
  connector: "=",
68
104
  label: "Passer du poids sur la Lune au poids sur la Terre",
69
- levels: ["2nde"],
70
105
  isSingleStep: true,
71
- sections: ["Forces"],
72
106
  generator: (nb) => getDistinctQuestions(getWeightOnTheMoonQuestion, nb),
73
107
  qcmTimer: 60,
74
108
  freeTimer: 60,
@@ -76,4 +110,5 @@ export const weightOnTheMoon = {
76
110
  isAnswerValid,
77
111
  subject: "Physique",
78
112
  hasHintAndCorrection: true,
113
+ getQuestionFromIdentifiers,
79
114
  };