math-exercises 3.0.68 → 3.0.69

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 (233) hide show
  1. package/lib/exercises/math/calcul/fractions/fractionToPercentToDecimal.d.ts.map +1 -1
  2. package/lib/exercises/math/calcul/fractions/fractionToPercentToDecimal.js +55 -37
  3. package/lib/exercises/math/calcul/fractions/fractionsSumsMultiplesDenominators.d.ts.map +1 -1
  4. package/lib/exercises/math/calcul/fractions/fractionsSumsMultiplesDenominators.js +4 -4
  5. package/lib/exercises/math/calcul/fractions/fractionsSumsPrimeDenominators.d.ts.map +1 -1
  6. package/lib/exercises/math/calcul/fractions/fractionsSumsPrimeDenominators.js +31 -18
  7. package/lib/exercises/math/calcul/fractions/fractionsSumsSameDenominators.d.ts.map +1 -1
  8. package/lib/exercises/math/calcul/fractions/fractionsSumsSameDenominators.js +59 -35
  9. package/lib/exercises/math/calculLitteral/systems/basicNiceValuesSystemResolution.js +1 -1
  10. package/lib/exercises/math/combinatory/anagrams.d.ts.map +1 -1
  11. package/lib/exercises/math/combinatory/anagrams.js +18 -7
  12. package/lib/exercises/math/combinatory/ballsCounting.d.ts.map +1 -1
  13. package/lib/exercises/math/combinatory/ballsCounting.js +8 -6
  14. package/lib/exercises/math/combinatory/diceCounting.d.ts.map +1 -1
  15. package/lib/exercises/math/combinatory/diceCounting.js +62 -27
  16. package/lib/exercises/math/functions/absolute/absolueValueAffineEquation.d.ts.map +1 -1
  17. package/lib/exercises/math/functions/absolute/absolueValueAffineEquation.js +4 -0
  18. package/lib/exercises/math/functions/absolute/absolueValueInequationsSup.d.ts.map +1 -1
  19. package/lib/exercises/math/functions/absolute/absolueValueInequationsSup.js +4 -4
  20. package/lib/exercises/math/functions/absolute/absoluteValueEquations.d.ts.map +1 -1
  21. package/lib/exercises/math/functions/absolute/absoluteValueEquations.js +22 -10
  22. package/lib/exercises/math/functions/absolute/absoluteValueInequations.d.ts.map +1 -1
  23. package/lib/exercises/math/functions/absolute/absoluteValueInequations.js +22 -8
  24. package/lib/exercises/math/functions/affines/affineAdjustment.d.ts.map +1 -1
  25. package/lib/exercises/math/functions/affines/affineAdjustment.js +4 -4
  26. package/lib/exercises/math/functions/affines/affineAdjustmentComplete.d.ts.map +1 -1
  27. package/lib/exercises/math/functions/affines/affineAdjustmentComplete.js +4 -4
  28. package/lib/exercises/math/functions/affines/affineAdjustmentRsquared.d.ts.map +1 -1
  29. package/lib/exercises/math/functions/affines/affineAdjustmentRsquared.js +4 -4
  30. package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.d.ts.map +1 -1
  31. package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.js +4 -4
  32. package/lib/exercises/math/functions/affines/affineExpressionReading.d.ts.map +1 -1
  33. package/lib/exercises/math/functions/affines/affineExpressionReading.js +1 -0
  34. package/lib/exercises/math/functions/affines/affineMeanValue.d.ts.map +1 -1
  35. package/lib/exercises/math/functions/affines/affineMeanValue.js +33 -14
  36. package/lib/exercises/math/functions/affines/algebricExpressionOfAffine.d.ts.map +1 -1
  37. package/lib/exercises/math/functions/affines/algebricExpressionOfAffine.js +4 -4
  38. package/lib/exercises/math/functions/affines/leadingCoeffAndOriginOrdinate.d.ts.map +1 -1
  39. package/lib/exercises/math/functions/affines/leadingCoeffAndOriginOrdinate.js +4 -0
  40. package/lib/exercises/math/functions/affines/leadingCoefficient.d.ts.map +1 -1
  41. package/lib/exercises/math/functions/affines/leadingCoefficient.js +4 -5
  42. package/lib/exercises/math/functions/affines/leadingCoefficientCalculV1.d.ts.map +1 -1
  43. package/lib/exercises/math/functions/affines/leadingCoefficientCalculV1.js +4 -2
  44. package/lib/exercises/math/functions/basics/graphicEquation.d.ts.map +1 -1
  45. package/lib/exercises/math/functions/basics/graphicEquation.js +4 -2
  46. package/lib/exercises/math/functions/basics/graphicInequation.d.ts.map +1 -1
  47. package/lib/exercises/math/functions/basics/graphicInequation.js +4 -2
  48. package/lib/exercises/math/functions/basics/graphicInequationAffine.d.ts.map +1 -1
  49. package/lib/exercises/math/functions/basics/graphicInequationAffine.js +4 -5
  50. package/lib/exercises/math/functions/basics/imageAntecedentFromSentence.d.ts.map +1 -1
  51. package/lib/exercises/math/functions/basics/imageAntecedentFromSentence.js +4 -3
  52. package/lib/exercises/math/functions/basics/inverseImageFunction.d.ts.map +1 -1
  53. package/lib/exercises/math/functions/basics/inverseImageFunction.js +4 -6
  54. package/lib/exercises/math/functions/basics/inverseImageFunctionGeogebra.d.ts.map +1 -1
  55. package/lib/exercises/math/functions/basics/inverseImageFunctionGeogebra.js +0 -2
  56. package/lib/exercises/math/functions/basics/inverseImageFunctionTable.d.ts.map +1 -1
  57. package/lib/exercises/math/functions/basics/inverseImageFunctionTable.js +16 -15
  58. package/lib/exercises/math/functions/basics/twoFunctionsEquation.d.ts +1 -0
  59. package/lib/exercises/math/functions/basics/twoFunctionsEquation.d.ts.map +1 -1
  60. package/lib/exercises/math/functions/basics/twoFunctionsEquation.js +46 -32
  61. package/lib/exercises/math/functions/basics/twoFunctionsInequation.d.ts.map +1 -1
  62. package/lib/exercises/math/functions/basics/twoFunctionsInequation.js +4 -2
  63. package/lib/exercises/math/functions/cube/cubicEquation.d.ts.map +1 -1
  64. package/lib/exercises/math/functions/cube/cubicEquation.js +4 -3
  65. package/lib/exercises/math/functions/exponentials/exponentialsVariations.d.ts.map +1 -1
  66. package/lib/exercises/math/functions/exponentials/exponentialsVariations.js +4 -1
  67. package/lib/exercises/math/functions/integral/integralAffines.d.ts.map +1 -1
  68. package/lib/exercises/math/functions/integral/integralAffines.js +4 -2
  69. package/lib/exercises/math/functions/integral/integralDerivatedUCosU.d.ts.map +1 -1
  70. package/lib/exercises/math/functions/integral/integralDerivatedUCosU.js +27 -12
  71. package/lib/exercises/math/functions/integral/integralDerivatedUSinU.d.ts.map +1 -1
  72. package/lib/exercises/math/functions/integral/integralDerivatedUSinU.js +26 -11
  73. package/lib/exercises/math/functions/integral/integralExpAxPlusB.d.ts.map +1 -1
  74. package/lib/exercises/math/functions/integral/integralExpAxPlusB.js +26 -11
  75. package/lib/exercises/math/functions/integral/integralExpU.d.ts.map +1 -1
  76. package/lib/exercises/math/functions/integral/integralExpU.js +38 -20
  77. package/lib/exercises/math/functions/integral/integralFractions.d.ts.map +1 -1
  78. package/lib/exercises/math/functions/integral/integralFractions.js +40 -21
  79. package/lib/exercises/math/functions/integral/integralKCosinus.d.ts.map +1 -1
  80. package/lib/exercises/math/functions/integral/integralKCosinus.js +29 -12
  81. package/lib/exercises/math/functions/integral/integralKSinus.d.ts.map +1 -1
  82. package/lib/exercises/math/functions/integral/integralKSinus.js +29 -12
  83. package/lib/exercises/math/functions/integral/integralTrinomials.d.ts.map +1 -1
  84. package/lib/exercises/math/functions/integral/integralTrinomials.js +4 -2
  85. package/lib/exercises/math/functions/logarithm/log10PowerSimplifying.d.ts +0 -1
  86. package/lib/exercises/math/functions/logarithm/log10PowerSimplifying.d.ts.map +1 -1
  87. package/lib/exercises/math/functions/logarithm/log10PowerSimplifying.js +36 -15
  88. package/lib/exercises/math/functions/logarithm/log10Simplifying.d.ts.map +1 -1
  89. package/lib/exercises/math/functions/logarithm/log10Simplifying.js +43 -22
  90. package/lib/exercises/math/functions/logarithm/logEquation.d.ts.map +1 -1
  91. package/lib/exercises/math/functions/logarithm/logEquation.js +20 -11
  92. package/lib/exercises/math/functions/logarithm/logPowerEquation.d.ts.map +1 -1
  93. package/lib/exercises/math/functions/logarithm/logPowerEquation.js +26 -14
  94. package/lib/exercises/math/functions/logarithm/logSimplifiying.d.ts.map +1 -1
  95. package/lib/exercises/math/functions/logarithm/logSimplifiying.js +4 -3
  96. package/lib/exercises/math/functions/parity/parityFromAlgebra.d.ts.map +1 -1
  97. package/lib/exercises/math/functions/parity/parityFromAlgebra.js +29 -13
  98. package/lib/exercises/math/functions/parity/parityFromGraph.d.ts.map +1 -1
  99. package/lib/exercises/math/functions/parity/parityFromGraph.js +30 -12
  100. package/lib/exercises/math/functions/rationalFraction/rationalFractionForbiddenValue.d.ts.map +1 -1
  101. package/lib/exercises/math/functions/rationalFraction/rationalFractionForbiddenValue.js +27 -14
  102. package/lib/exercises/math/functions/sign/affineProductSign.d.ts.map +1 -1
  103. package/lib/exercises/math/functions/sign/affineProductSign.js +4 -4
  104. package/lib/exercises/math/functions/square/squareImageInterval.d.ts.map +1 -1
  105. package/lib/exercises/math/functions/square/squareImageInterval.js +39 -19
  106. package/lib/exercises/math/functions/trinoms/devForm/coefficientsIdentification.d.ts.map +1 -1
  107. package/lib/exercises/math/functions/trinoms/devForm/coefficientsIdentification.js +4 -3
  108. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.d.ts +1 -0
  109. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.d.ts.map +1 -1
  110. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.js +26 -9
  111. package/lib/exercises/math/functions/trinoms/equation/deltaTrinom.d.ts.map +1 -1
  112. package/lib/exercises/math/functions/trinoms/equation/deltaTrinom.js +25 -10
  113. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationByFactorisation.d.ts.map +1 -1
  114. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationByFactorisation.js +4 -2
  115. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationFromCano.d.ts.map +1 -1
  116. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationFromCano.js +4 -2
  117. package/lib/exercises/math/functions/trinoms/factoForm/factorizedFormFromRoots.d.ts.map +1 -1
  118. package/lib/exercises/math/functions/trinoms/factoForm/factorizedFormFromRoots.js +4 -4
  119. package/lib/exercises/math/functions/trinoms/parabole/paraboleExpressionReading.d.ts.map +1 -1
  120. package/lib/exercises/math/functions/trinoms/parabole/paraboleExpressionReading.js +4 -5
  121. package/lib/exercises/math/functions/trinoms/parabole/trinomSymetryAxisFromFacto.d.ts.map +1 -1
  122. package/lib/exercises/math/functions/trinoms/parabole/trinomSymetryAxisFromFacto.js +4 -4
  123. package/lib/exercises/math/functions/trinoms/roots/findSecondRoot.d.ts.map +1 -1
  124. package/lib/exercises/math/functions/trinoms/roots/findSecondRoot.js +4 -4
  125. package/lib/exercises/math/functions/trinoms/roots/niceRootsFromDevForm.d.ts.map +1 -1
  126. package/lib/exercises/math/functions/trinoms/roots/niceRootsFromDevForm.js +4 -2
  127. package/lib/exercises/math/functions/trinoms/roots/rootsFromDevForm.d.ts.map +1 -1
  128. package/lib/exercises/math/functions/trinoms/roots/rootsFromDevForm.js +4 -2
  129. package/lib/exercises/math/functions/trinoms/roots/rootsFromFactorizedForm.d.ts.map +1 -1
  130. package/lib/exercises/math/functions/trinoms/roots/rootsFromFactorizedForm.js +4 -2
  131. package/lib/exercises/math/functions/trinoms/roots/rootsProduct.d.ts.map +1 -1
  132. package/lib/exercises/math/functions/trinoms/roots/rootsProduct.js +4 -4
  133. package/lib/exercises/math/functions/trinoms/roots/rootsReading.d.ts.map +1 -1
  134. package/lib/exercises/math/functions/trinoms/roots/rootsReading.js +4 -3
  135. package/lib/exercises/math/functions/trinoms/roots/rootsSum.d.ts.map +1 -1
  136. package/lib/exercises/math/functions/trinoms/roots/rootsSum.js +4 -4
  137. package/lib/exercises/math/functions/trinoms/sign/trinomSignFromFacto.d.ts.map +1 -1
  138. package/lib/exercises/math/functions/trinoms/sign/trinomSignFromFacto.js +4 -0
  139. package/lib/exercises/math/functions/trinoms/sign/trinomSignFromRoots.d.ts.map +1 -1
  140. package/lib/exercises/math/functions/trinoms/sign/trinomSignFromRoots.js +4 -0
  141. package/lib/exercises/math/functions/trinoms/summitAndCanonical/alphaBetaFromDevForm.d.ts.map +1 -1
  142. package/lib/exercises/math/functions/trinoms/summitAndCanonical/alphaBetaFromDevForm.js +32 -11
  143. package/lib/exercises/math/functions/trinoms/summitAndCanonical/canonicalFromDevForm.d.ts.map +1 -1
  144. package/lib/exercises/math/functions/trinoms/summitAndCanonical/canonicalFromDevForm.js +24 -9
  145. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumFromCanonicalForm.d.ts.map +1 -1
  146. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumFromCanonicalForm.js +24 -9
  147. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.d.ts +1 -0
  148. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.d.ts.map +1 -1
  149. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.js +29 -12
  150. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitAbscissFromDevForm.d.ts.map +1 -1
  151. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitAbscissFromDevForm.js +4 -0
  152. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitAbscissFromRoots.d.ts.map +1 -1
  153. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitAbscissFromRoots.js +4 -0
  154. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitReading.d.ts.map +1 -1
  155. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitReading.js +3 -0
  156. package/lib/exercises/math/functions/trinoms/trinomialMeanValue.d.ts.map +1 -1
  157. package/lib/exercises/math/functions/trinoms/trinomialMeanValue.js +33 -14
  158. package/lib/exercises/math/geometry/cartesian/cartesianFromTwoPoints.js +1 -1
  159. package/lib/exercises/math/geometry/euclidianConstructions/buildMediatriceWithCompass.d.ts +2 -0
  160. package/lib/exercises/math/geometry/euclidianConstructions/buildMediatriceWithCompass.d.ts.map +1 -1
  161. package/lib/exercises/math/geometry/euclidianConstructions/buildMediatriceWithCompass.js +55 -27
  162. package/lib/exercises/math/geometry/euclidianConstructions/buildPointFromAxialSymetry.d.ts.map +1 -1
  163. package/lib/exercises/math/geometry/euclidianConstructions/buildPointFromAxialSymetry.js +4 -0
  164. package/lib/exercises/math/geometry/euclidianConstructions/buildTriangleWithSizes.d.ts.map +1 -1
  165. package/lib/exercises/math/geometry/euclidianConstructions/buildTriangleWithSizes.js +4 -0
  166. package/lib/exercises/math/geometry/euclidianConstructions/pointImageFromTranslation.d.ts.map +1 -1
  167. package/lib/exercises/math/geometry/euclidianConstructions/pointImageFromTranslation.js +6 -2
  168. package/lib/exercises/math/geometry/lines/isPointOnCartesianLine.d.ts.map +1 -1
  169. package/lib/exercises/math/geometry/lines/isPointOnCartesianLine.js +7 -5
  170. package/lib/exercises/math/geometry/lines/isPointOnLine.d.ts.map +1 -1
  171. package/lib/exercises/math/geometry/lines/isPointOnLine.js +4 -0
  172. package/lib/exercises/math/geometry/parametric/extractPointFromParametricLine.d.ts.map +1 -1
  173. package/lib/exercises/math/geometry/parametric/extractPointFromParametricLine.js +4 -0
  174. package/lib/exercises/math/geometry/parametric/extractVectorFromParametricLine.d.ts.map +1 -1
  175. package/lib/exercises/math/geometry/parametric/extractVectorFromParametricLine.js +4 -0
  176. package/lib/exercises/math/geometry/parametric/pointFromParametricLine.d.ts.map +1 -1
  177. package/lib/exercises/math/geometry/parametric/pointFromParametricLine.js +4 -0
  178. package/lib/exercises/math/geometry/perimeters/circleRadiusFromPerimeter.d.ts.map +1 -1
  179. package/lib/exercises/math/geometry/perimeters/circleRadiusFromPerimeter.js +4 -0
  180. package/lib/exercises/math/geometry/perimeters/rectangleSideFromPerimeter.d.ts.map +1 -1
  181. package/lib/exercises/math/geometry/perimeters/rectangleSideFromPerimeter.js +4 -0
  182. package/lib/exercises/math/geometry/perimeters/squareSideFromPerimeter.d.ts.map +1 -1
  183. package/lib/exercises/math/geometry/perimeters/squareSideFromPerimeter.js +4 -0
  184. package/lib/exercises/math/geometry/pythagore/isTriangleRight.d.ts.map +1 -1
  185. package/lib/exercises/math/geometry/pythagore/isTriangleRight.js +4 -0
  186. package/lib/exercises/math/geometry/quadrilaterals/parallelogramAngles.d.ts.map +1 -1
  187. package/lib/exercises/math/geometry/quadrilaterals/parallelogramAngles.js +4 -0
  188. package/lib/exercises/math/geometry/quadrilaterals/quadrilateralRecognition.d.ts.map +1 -1
  189. package/lib/exercises/math/geometry/quadrilaterals/quadrilateralRecognition.js +4 -0
  190. package/lib/exercises/math/geometry/shapes/basicShapesRecognition.d.ts.map +1 -1
  191. package/lib/exercises/math/geometry/shapes/basicShapesRecognition.js +42 -23
  192. package/lib/exercises/math/geometry/thales/thalesCalcul.d.ts.map +1 -1
  193. package/lib/exercises/math/geometry/thales/thalesCalcul.js +8 -4
  194. package/lib/exercises/math/geometry/vectors/chasles.d.ts.map +1 -1
  195. package/lib/exercises/math/geometry/vectors/chasles.js +36 -12
  196. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOrthoInSquare.d.ts.map +1 -1
  197. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOrthoInSquare.js +4 -0
  198. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductViaCoords.d.ts.map +1 -1
  199. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductViaCoords.js +4 -2
  200. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductViaCos.d.ts.map +1 -1
  201. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductViaCos.js +4 -0
  202. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductViaNorms.d.ts.map +1 -1
  203. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductViaNorms.js +4 -0
  204. package/lib/exercises/pc/energy/calorificValue.d.ts.map +1 -1
  205. package/lib/exercises/pc/energy/calorificValue.js +58 -29
  206. package/lib/exercises/pc/energy/combustionTransferEnergy.d.ts.map +1 -1
  207. package/lib/exercises/pc/energy/combustionTransferEnergy.js +52 -29
  208. package/lib/exercises/pc/energy/combustionTransferEnergy2.d.ts.map +1 -1
  209. package/lib/exercises/pc/energy/combustionTransferEnergy2.js +96 -67
  210. package/lib/exercises/pc/energy/efficencyOfConverter.d.ts.map +1 -1
  211. package/lib/exercises/pc/energy/efficencyOfConverter.js +53 -40
  212. package/lib/exercises/pc/energy/efficiencyCalculation.d.ts.map +1 -1
  213. package/lib/exercises/pc/energy/efficiencyCalculation.js +66 -38
  214. package/lib/exercises/pc/energy/energyTransfer.d.ts +0 -2
  215. package/lib/exercises/pc/energy/energyTransfer.d.ts.map +1 -1
  216. package/lib/exercises/pc/energy/energyTransfer.js +27 -11
  217. package/lib/exercises/pc/energy/kineticEnergyOrMassOrSpeed.d.ts.map +1 -1
  218. package/lib/exercises/pc/energy/kineticEnergyOrMassOrSpeed.js +111 -64
  219. package/lib/exercises/pc/energy/thermalEnergyTransferCalculation.d.ts.map +1 -1
  220. package/lib/exercises/pc/energy/thermalEnergyTransferCalculation.js +86 -38
  221. package/lib/exercises/pc/fluids/mariotte.d.ts.map +1 -1
  222. package/lib/exercises/pc/fluids/mariotte.js +40 -23
  223. package/lib/exercises/pc/forces/calculateNormalOrFrictionForce.d.ts.map +1 -1
  224. package/lib/exercises/pc/forces/calculateNormalOrFrictionForce.js +81 -52
  225. package/lib/exercises/pc/forces/electroStaticForce.d.ts.map +1 -1
  226. package/lib/exercises/pc/forces/electroStaticForce.js +73 -58
  227. package/lib/exercises/pc/forces/forceWork.d.ts.map +1 -1
  228. package/lib/exercises/pc/forces/forceWork.js +22 -7
  229. package/lib/exercises/pc/math/proportionnalityCoeffFromLine.d.ts.map +1 -1
  230. package/lib/exercises/pc/math/proportionnalityCoeffFromLine.js +0 -2
  231. package/lib/index.d.ts +5 -4
  232. package/lib/index.d.ts.map +1 -1
  233. package/package.json +1 -1
@@ -2,91 +2,119 @@ import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../exercis
2
2
  import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
3
3
  import { randfloat } from "../../../math/utils/random/randfloat.js";
4
4
  import { randint } from "../../../math/utils/random/randint.js";
5
+ import { round } from "../../../math/utils/round.js";
5
6
  import { earthGravity } from "../../../pc/constants/gravity.js";
6
7
  import { random } from "../../../utils/alea/random.js";
7
- const theta = Math.PI / 4;
8
- const g = +earthGravity.measure.significantPart.toFixed(2);
8
+ const getHint = (identifiers) => {
9
+ const hint = `La somme des forces exercées sur un objet en équilibre est nulle :
10
+
11
+ $$
12
+ \\sum\\overrightarrow{F} = 0
13
+ $$`;
14
+ return hint;
15
+ };
16
+ const getInstruction = (identifiers) => {
17
+ const { mass, isAsking } = identifiers;
18
+ const instruction = `Soit un système représenté par un bloc en équilibre sur un plan incliné, soumis à trois forces :
19
+
20
+ - Le poids du bloc $P$.
21
+ - La force de réaction normale $R$.
22
+ - La force de frottement $f$.
23
+
24
+ Les données du problème sont les suivantes :
25
+
26
+ - La masse du bloc : $m = ${mass}\\ \\textrm{kg}$
27
+ - L'angle du plan incliné par rapport à l'horizontale : $\\alpha = 45^{\\circ}$
28
+
29
+ Calculer la force de ${isAsking} en $\\textrm{N}$, arrondie au centième.`;
30
+ return instruction;
31
+ };
9
32
  const getCalculateNormalOrFrictionForceQuestion = () => {
10
- const exo = generateExercise();
33
+ const mass = randint(10, 31);
34
+ const isAsking = random(["réaction normale", "frottement"]);
35
+ const identifiers = { mass, isAsking };
36
+ return getQuestionFromIdentifiers(identifiers);
37
+ };
38
+ const getQuestionFromIdentifiers = (identifiers) => {
11
39
  const question = {
12
- answer: exo.answer,
13
- instruction: exo.instruction,
14
- hint: exo.hint,
15
- correction: exo.correction,
40
+ answer: getAnswer(identifiers),
41
+ instruction: getInstruction(identifiers),
42
+ hint: getHint(identifiers),
43
+ correction: getCorrection(identifiers),
16
44
  keys: [],
17
45
  answerFormat: "tex",
18
- identifiers: { mass: exo.mass, isAsking: exo.isAsking },
46
+ identifiers,
19
47
  };
20
48
  return question;
21
49
  };
22
- const getPropositions = (n, { answer, mass, isAsking }) => {
50
+ const getPropositions = (n, { answer, ...identifiers }) => {
23
51
  const propositions = [];
24
- const correctAns = getAnswer(isAsking, mass);
52
+ const correctAns = getAnswer(identifiers).unfrenchify();
25
53
  addValidProp(propositions, answer);
26
- generatePropositions(mass, isAsking).forEach((value) => tryToAddWrongProp(propositions, value));
54
+ generatePropositions(identifiers).forEach((value) => tryToAddWrongProp(propositions, value));
27
55
  while (propositions.length < n) {
28
56
  let random = randfloat(correctAns - 20, correctAns + 21, 2, [correctAns]);
29
57
  tryToAddWrongProp(propositions, random.frenchify());
30
58
  }
31
59
  return shuffleProps(propositions, n);
32
60
  };
33
- const isAnswerValid = (ans, { answer, mass, isAsking }) => {
34
- const scientificAnswer = getAnswer(isAsking, mass).toScientific(2).toTex();
61
+ const isAnswerValid = (ans, { answer, ...identifiers }) => {
62
+ const scientificAnswer = getAnswer(identifiers)
63
+ .unfrenchify()
64
+ .toScientific(2)
65
+ .toTex();
35
66
  return [answer, scientificAnswer].includes(ans);
36
67
  };
37
- const generatePropositions = (mass, isAsking) => {
68
+ const generatePropositions = (identifiers) => {
69
+ const { mass, isAsking } = identifiers;
38
70
  const isNotAsking = isAsking === "réaction normale" ? "frottement" : "réaction normale";
39
- const first = (-getAnswer(isNotAsking, mass)).frenchify();
40
- return [first];
41
- };
42
- const generateExercise = () => {
43
- const mass = randint(10, 31);
44
- const isAsking = random(["réaction normale", "frottement"]);
45
- const instruction = `Soit un système représenté par un bloc en équilibre sur un plan incliné, soumis à trois forces :
46
-
47
- - Le poids du bloc $P$.
48
- - La force de réaction normale $R$.
49
- - La force de frottement $f$.
50
-
51
- Les données du problème sont les suivantes :
52
-
53
- - La masse du bloc : $m = ${mass}\\ kg$
54
- - L'angle du plan incliné par rapport à l'horizontale : $\\alpha = 45^{\\circ}$
55
-
56
- Calculer la force de ${isAsking} en $N$, arrondie au centième.`;
57
- const answer = getAnswer(isAsking, mass).frenchify();
58
- const hint = `Rappel : la somme des forces exercées sur un objet en équilibre est nulle $\\sum\\overrightarrow{F} = 0$`;
59
- const correction = getCorrection(isAsking, answer);
60
- return {
61
- instruction,
62
- answer,
63
- hint,
64
- correction,
65
- isAsking,
71
+ const first = (-getAnswer({
66
72
  mass,
67
- };
73
+ isAsking: isNotAsking,
74
+ }).unfrenchify()).frenchify();
75
+ return [first];
68
76
  };
69
- const getAnswer = (isAsking, mass) => {
77
+ const generateExercise = () => { };
78
+ const getAnswer = (identifiers) => {
79
+ const { mass, isAsking } = identifiers;
80
+ const theta = Math.PI / 4;
81
+ const g = +earthGravity.measure.significantPart.toFixed(2);
70
82
  const weight = mass * g;
71
83
  return isAsking === "réaction normale"
72
- ? +(Math.cos(theta) * weight).toFixed(2)
73
- : -(Math.sin(theta) * weight).toFixed(2);
84
+ ? round(Math.cos(theta) * weight, 2).frenchify()
85
+ : round(-(Math.sin(theta) * weight), 2).frenchify();
74
86
  };
75
- const getCorrection = (isAsking, answer) => {
87
+ const getCorrection = (identifiers) => {
88
+ const { isAsking } = identifiers;
89
+ const answer = getAnswer(identifiers);
76
90
  return isAsking === "réaction normale"
77
- ? `1 - Calculer la composante perpendicualire du poids : $P_{\\perp} = \\cos(45°) \\times m \\cdot g$
91
+ ? `On calcule la composante perpendicualire du poids :
92
+
93
+ $$
94
+ P_{\\perp} = \\cos(45°) \\times m \\cdot g
95
+ $$
78
96
 
79
- 2 - $R = P_{\\perp}\\ \\Rightarrow\\ R = ${answer}\\ N$`
80
- : `1 - Calculer la composante parallèle du poids : $P_{\\parallel} = \\sin(45^{\\circ}) \\times m \\cdot g$
97
+ Puis
98
+
99
+ $$
100
+ R = P_{\\perp}\\ \\Rightarrow\\ R = ${answer}\\ N
101
+ $$`
102
+ : `On calcule la composante parallèle du poids :
103
+
104
+ $$
105
+ P_{\\parallel} = \\sin(45^{\\circ}) \\times m \\cdot g
106
+ $$
81
107
 
82
- 2 - $f = -P_{\\parallel}\\ \\Rightarrow\\ f = ${answer}\\ N$`;
108
+ Puis
109
+
110
+ $$
111
+ f = -P_{\\parallel}\\ \\Rightarrow\\ f = ${answer}\\ N
112
+ $$`;
83
113
  };
84
114
  export const calculateNormalOrFrictionForce = {
85
115
  id: "calculateNormalOrFrictionForce",
86
116
  label: "Calcul de la force normale ou de frottement exercée sur un objet en équilibre",
87
- levels: ["1reSpé", "TermSpé"],
88
117
  isSingleStep: true,
89
- sections: ["Forces"],
90
118
  generator: (nb) => getDistinctQuestions(getCalculateNormalOrFrictionForceQuestion, nb),
91
119
  qcmTimer: 60,
92
120
  freeTimer: 60,
@@ -94,4 +122,5 @@ export const calculateNormalOrFrictionForce = {
94
122
  isAnswerValid,
95
123
  subject: "Physique",
96
124
  hasHintAndCorrection: true,
125
+ getQuestionFromIdentifiers,
97
126
  };
@@ -1 +1 @@
1
- {"version":3,"file":"electroStaticForce.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/forces/electroStaticForce.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAUrC,KAAK,iBAAiB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,iBAAiB,CAAC;IACtB,EAAE,EAAE,iBAAiB,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAoJF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAcpD,CAAC"}
1
+ {"version":3,"file":"electroStaticForce.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/forces/electroStaticForce.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,iBAAiB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,iBAAiB,CAAC;IACtB,EAAE,EAAE,iBAAiB,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AA2KF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAapD,CAAC"}
@@ -7,28 +7,87 @@ import { Measure } from "../../../pc/measure/measure.js";
7
7
  import { DistanceUnit } from "../../../pc/units/distanceUnits.js";
8
8
  import { ElectricalChargeUnit } from "../../../pc/units/electricalChargeUnit.js";
9
9
  import { ForceUnit } from "../../../pc/units/forceUnits.js";
10
- const getElectroStaticForceQuestion = () => {
11
- const exo = getExercise();
10
+ const getInstruction = (identifiers) => {
11
+ const { qA, qB, distance } = identifiers;
12
+ const qAMeasure = new Measure(qA.significant, qA.exponent, ElectricalChargeUnit.C);
13
+ const qBMeasure = new Measure(qB.significant, qB.exponent, ElectricalChargeUnit.C);
14
+ const dMeasure = new Measure(distance, 0, DistanceUnit.m);
15
+ const instruction = `Deux charges ponctuelles, $q_A$ et $q_B$,sont placées dans le vide à une distance $d$ l'une de l'autre.
16
+
17
+ Données:
18
+
19
+ - La charge de $A$ est $q_A=${qAMeasure.toTex()}$
20
+ - La charge de $B$ est $q_B=${qBMeasure.toTex()}$
21
+ - La distance entre les deux charges est $d=${dMeasure.toTex({
22
+ notScientific: true,
23
+ })}$
24
+
25
+ Calculer la force électrostatique $\\overrightarrow{F}_{A/B}$, arrondie au centième`;
26
+ return instruction;
27
+ };
28
+ const getAnswerNode = (identifiers) => {
29
+ const { qA, qB, distance } = identifiers;
30
+ const qAMeasure = new Measure(qA.significant, qA.exponent, ElectricalChargeUnit.C);
31
+ const qBMeasure = new Measure(qB.significant, qB.exponent, ElectricalChargeUnit.C);
32
+ const dMeasure = new Measure(distance, 0, DistanceUnit.m);
33
+ return coulombConstant
34
+ .times(qAMeasure)
35
+ .times(qBMeasure)
36
+ .divide(dMeasure.times(dMeasure))
37
+ .toSignificant(2);
38
+ };
39
+ const getAnswer = (identifiers) => {
40
+ return getAnswerNode(identifiers).toTex();
41
+ };
42
+ const getHint = (identifiers) => {
43
+ const hint = `Utilise la loi de Coulomb :
44
+
45
+ $$
46
+ F = k_e \\frac{|q_1 \\cdot q_2|}{r^2}
47
+ $$ `;
48
+ return hint;
49
+ };
50
+ const getCorrection = (identifiers) => {
51
+ const { qA, qB, distance } = identifiers;
52
+ const qAMeasure = new Measure(qA.significant, qA.exponent, ElectricalChargeUnit.C);
53
+ const qBMeasure = new Measure(qB.significant, qB.exponent, ElectricalChargeUnit.C);
54
+ const dMeasure = new Measure(distance, 0, DistanceUnit.m);
55
+ const correction = `On applique la loi de Coulomb :
56
+
57
+ $$
58
+ F = k_e \\frac{|${qAMeasure.toTex()} \\times ${qBMeasure.toTex()}|}{${dMeasure.toTex({ notScientific: true })}^2}
59
+ $$
60
+
61
+ d'om $F = ${getAnswer(identifiers)}$`;
62
+ return correction;
63
+ };
64
+ const getQuestionFromIdentifiers = (identifiers) => {
12
65
  const question = {
13
- answer: exo.answer.toTex(),
14
- instruction: exo.instruction,
15
- hint: exo.hint,
16
- correction: exo.correction,
66
+ answer: getAnswer(identifiers),
67
+ instruction: getInstruction(identifiers),
68
+ hint: getHint(identifiers),
69
+ correction: getCorrection(identifiers),
17
70
  keys: ["N"],
18
71
  answerFormat: "tex",
19
- identifiers: {
20
- qA: exo.qA,
21
- qB: exo.qB,
22
- distance: exo.distance,
23
- },
72
+ identifiers,
24
73
  };
25
74
  return question;
26
75
  };
76
+ const getElectroStaticForceQuestion = () => {
77
+ const qA = { significant: randint(2, 7), exponent: randint(-7, -3) };
78
+ const qB = {
79
+ significant: randint(2, 7, [qA.significant]),
80
+ exponent: randint(-7, -3),
81
+ };
82
+ const distance = randfloat(0, 1, 1);
83
+ const identifiers = { qA, qB, distance };
84
+ return getQuestionFromIdentifiers(identifiers);
85
+ };
27
86
  const getPropositions = (n, { answer, qA, qB, distance }) => {
28
87
  const propositions = [];
29
88
  addValidProp(propositions, answer);
30
89
  generatePropositions(qA, qB, distance).forEach((value) => tryToAddWrongProp(propositions, value.toTex()));
31
- const correctAns = getCorrectAns(new Measure(qA.significant, qA.exponent, ElectricalChargeUnit.C), new Measure(qB.significant, qB.exponent, ElectricalChargeUnit.C), new Measure(distance, 0));
90
+ const correctAns = getAnswerNode({ qA, qB, distance });
32
91
  let random;
33
92
  while (propositions.length < n) {
34
93
  random = new Measure(randfloat(1, 5, 1, [correctAns.significantPart]), correctAns.exponent, ForceUnit.N);
@@ -37,7 +96,7 @@ const getPropositions = (n, { answer, qA, qB, distance }) => {
37
96
  return shuffleProps(propositions, n);
38
97
  };
39
98
  const isAnswerValid = (ans, { answer, qA, qB, distance }) => {
40
- const correctAns = getCorrectAns(new Measure(qA.significant, qA.exponent, ElectricalChargeUnit.C), new Measure(qB.significant, qB.exponent, ElectricalChargeUnit.C), new Measure(distance, 0, DistanceUnit.m));
99
+ const correctAns = getAnswerNode({ qA, qB, distance });
41
100
  return [
42
101
  correctAns.toTex({ hideUnit: true }),
43
102
  correctAns.toTex({ hideUnit: true }) + "N",
@@ -55,55 +114,10 @@ const generatePropositions = (qA, qB, distance) => {
55
114
  .divide(dMeasure);
56
115
  return [first.toSignificant(2), second.toSignificant(2)];
57
116
  };
58
- const getExercise = () => {
59
- const qA = { significant: randint(2, 7), exponent: randint(-7, -3) };
60
- const qB = {
61
- significant: randint(2, 7, [qA.significant]),
62
- exponent: randint(-7, -3),
63
- };
64
- const qAMeasure = new Measure(qA.significant, qA.exponent, ElectricalChargeUnit.C);
65
- const qBMeasure = new Measure(qB.significant, qB.exponent, ElectricalChargeUnit.C);
66
- const distance = randfloat(0, 1, 1);
67
- const dMeasure = new Measure(distance, 0, DistanceUnit.m);
68
- const instruction = `Deux charges ponctuelles, $q_A$ et $q_B$,sont placées dans le vide à une distance $d$ l'une de l'autre.
69
-
70
- Données:
71
- - La charge de $A$ est $q_A=${qAMeasure.toTex()}$
72
- - La charge de $B$ est $q_B=${qBMeasure.toTex()}$
73
- - La distance entre les deux charges est $d=${dMeasure.toTex({
74
- notScientific: true,
75
- })}$
76
-
77
- Cacluler la force électrostatique $\\overrightarrow{F}_{A/B}$, arrondie au centième`;
78
- const answer = getCorrectAns(qAMeasure, qBMeasure, dMeasure);
79
- const hint = `Rappel de la loi de Coulomb :
80
- - $F = k_e \\frac{|q_1 \\cdot q_2|}{r^2}$ `;
81
- const correction = `Appliquer la loi de Coulomb :
82
- 1. $F = k_e \\frac{|${qAMeasure.toTex()} \\times ${qBMeasure.toTex()}|}{${dMeasure.toTex({ notScientific: true })}^2}$
83
- 2. $F = ${answer.toTex()}$`;
84
- return {
85
- instruction,
86
- answer,
87
- hint,
88
- correction,
89
- qA,
90
- qB,
91
- distance,
92
- };
93
- };
94
- const getCorrectAns = (qA, qB, distance) => {
95
- return coulombConstant
96
- .times(qA)
97
- .times(qB)
98
- .divide(distance.times(distance))
99
- .toSignificant(2);
100
- };
101
117
  export const electroStaticForce = {
102
118
  id: "electroStaticForce",
103
119
  label: "Application de la loi de Coulomb",
104
- levels: ["1reSpé"],
105
120
  isSingleStep: true,
106
- sections: ["Forces"],
107
121
  generator: (nb) => getDistinctQuestions(getElectroStaticForceQuestion, nb),
108
122
  qcmTimer: 60,
109
123
  freeTimer: 60,
@@ -111,4 +125,5 @@ export const electroStaticForce = {
111
125
  isAnswerValid,
112
126
  subject: "Physique",
113
127
  hasHintAndCorrection: true,
128
+ getQuestionFromIdentifiers,
114
129
  };
@@ -1 +1 @@
1
- {"version":3,"file":"forceWork.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/forces/forceWork.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAoDF,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,WAAW,CAa3C,CAAC"}
1
+ {"version":3,"file":"forceWork.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/forces/forceWork.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAuEF,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,WAAW,CAY3C,CAAC"}
@@ -6,18 +6,34 @@ import { randint } from "../../../math/utils/random/randint.js";
6
6
  import { roundSignificant } from "../../../math/utils/round.js";
7
7
  import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode.js";
8
8
  import { random } from "../../../utils/alea/random.js";
9
+ const getInstruction = (identifiers) => {
10
+ const { length, forceValue, angleDegree } = identifiers;
11
+ const angle = remarkableTrigoValues.find((v) => v.degree === angleDegree);
12
+ return `Soit une force $\\overrightarrow F$ constante dont le point d'application se déplace d'une position $A$ à une position $B$ telle que $F = ${roundSignificant(forceValue, 1)}\\ \\textrm{N}$, $AB = ${roundSignificant(length, 1)}\\ \\textrm{m}$ et $\\widehat{\\left(\\overrightarrow F ; \\overrightarrow{AB}\\right)} = ${angle.degree}^{\\circ}$.
13
+
14
+ Calculer le travail de la force $\\overrightarrow F$ lors du déplacement de $A$ vers $B$.`;
15
+ };
16
+ const getAnswer = (identifiers) => {
17
+ const { length, forceValue, angleDegree } = identifiers;
18
+ const angle = remarkableTrigoValues.find((v) => v.degree === angleDegree);
19
+ const answer = new MultiplyNode(length.toTree(), new MultiplyNode(angle.cos, forceValue.toTree())).evaluate({});
20
+ const rounded = roundSignificant(answer, 1);
21
+ return rounded + "J";
22
+ };
9
23
  const getForceWorkQuestion = () => {
10
24
  const length = randint(1, 10);
11
25
  const forceValue = randint(1, 10);
12
26
  const angle = random(remarkableTrigoValues.filter((v) => v.degree > 0 && v.degree < 180));
13
- const answer = new MultiplyNode(length.toTree(), new MultiplyNode(angle.cos, forceValue.toTree())).evaluate({});
14
- const rounded = roundSignificant(answer, 1);
27
+ const identifiers = { length, forceValue, angleDegree: angle.degree };
28
+ return getQuestionFromIdentifiers(identifiers);
29
+ };
30
+ const getQuestionFromIdentifiers = (identifiers) => {
15
31
  const question = {
16
- answer: rounded + "J",
17
- instruction: `Soit une force $\\overrightarrow F$ constante dont le point d'application se déplace d'une position $A$ à une position $B$ telle que $F = ${roundSignificant(forceValue, 1)}\\ \\text{N}$, $AB = ${roundSignificant(length, 1)}\\ \\text{m}$ et $\\widehat{\\left(\\overrightarrow F ; \\overrightarrow{AB}\\right)} = ${angle.degree}^{\\circ}$. Calculer le travail de la force $\\overrightarrow F$ lors du déplacement de $A$ vers $B$.`,
32
+ answer: getAnswer(identifiers),
33
+ instruction: getInstruction(identifiers),
18
34
  keys: ["J", "timesTenPower"],
19
35
  answerFormat: "tex",
20
- identifiers: { length, forceValue, angleDegree: angle.degree },
36
+ identifiers,
21
37
  };
22
38
  return question;
23
39
  };
@@ -36,13 +52,12 @@ export const forceWork = {
36
52
  id: "forceWork",
37
53
  connector: "=",
38
54
  label: "Calculer le travail d'une force",
39
- levels: ["1reSpé"],
40
55
  isSingleStep: true,
41
- sections: ["Forces"],
42
56
  generator: (nb) => getDistinctQuestions(getForceWorkQuestion, nb),
43
57
  qcmTimer: 60,
44
58
  freeTimer: 60,
45
59
  getPropositions,
46
60
  isAnswerValid,
47
61
  subject: "Physique",
62
+ getQuestionFromIdentifiers,
48
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"proportionnalityCoeffFromLine.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/math/proportionnalityCoeffFromLine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AA2EF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,CAe/D,CAAC"}
1
+ {"version":3,"file":"proportionnalityCoeffFromLine.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/math/proportionnalityCoeffFromLine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AA2EF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,CAa/D,CAAC"}
@@ -66,9 +66,7 @@ export const proportionnalityCoeffFromLine = {
66
66
  id: "proportionnalityCoeffFromLine",
67
67
  connector: "=",
68
68
  label: "Déterminer le coefficient de proportionnalité à l'aide d'une droite",
69
- levels: ["3ème", "2nde", "1reESM", "2ndPro", "1rePro", "1reTech", "1reSpé"],
70
69
  isSingleStep: false,
71
- sections: ["Droites", "Fonctions affines"],
72
70
  generator: (nb) => getDistinctQuestions(getProportionnalityCoeffFromLineQuestion, nb),
73
71
  qcmTimer: 60,
74
72
  freeTimer: 60,
package/lib/index.d.ts CHANGED
@@ -758,6 +758,7 @@ declare const mathExercises: (Exercise<{
758
758
  yValue: number;
759
759
  fSplinePoints: number[][];
760
760
  gSplinePoints: number[][];
761
+ xSolutions: number[];
761
762
  }, {}> | Exercise<{
762
763
  yValue: number;
763
764
  fSplinePoints: number[][];
@@ -803,6 +804,7 @@ declare const mathExercises: (Exercise<{
803
804
  a: number;
804
805
  b: number;
805
806
  c: number;
807
+ isDevForm: boolean;
806
808
  }, {}> | Exercise<{
807
809
  a: number;
808
810
  b: number;
@@ -870,6 +872,7 @@ declare const mathExercises: (Exercise<{
870
872
  a: number;
871
873
  b: number;
872
874
  c: number;
875
+ isDevForm: boolean;
873
876
  }, {}> | Exercise<{
874
877
  a: number;
875
878
  b: number;
@@ -914,7 +917,6 @@ declare const mathExercises: (Exercise<{
914
917
  b: number;
915
918
  }, {}> | Exercise<{
916
919
  tenthPower: number;
917
- nbTex: string;
918
920
  }, {}> | Exercise<{
919
921
  a: number;
920
922
  powered: number;
@@ -1302,6 +1304,8 @@ declare const mathExercises: (Exercise<{
1302
1304
  }, {}> | Exercise<{
1303
1305
  A: number[];
1304
1306
  B: number[];
1307
+ nameA: string;
1308
+ nameB: string;
1305
1309
  }, {}> | Exercise<{
1306
1310
  lengths: number[];
1307
1311
  }, {}> | Exercise<{
@@ -2152,7 +2156,6 @@ declare const pcExercises: (Exercise<{
2152
2156
  secondPoint: number[];
2153
2157
  }, {}> | Exercise<{
2154
2158
  tenthPower: number;
2155
- nbTex: string;
2156
2159
  }, {}> | Exercise<{
2157
2160
  a: number;
2158
2161
  powered: number;
@@ -2455,8 +2458,6 @@ declare const pcExercises: (Exercise<{
2455
2458
  }, {}> | Exercise<{
2456
2459
  substance: string;
2457
2460
  mass: number;
2458
- latentHeat: number;
2459
- energy: number;
2460
2461
  }, {}> | Exercise<{
2461
2462
  isAsking: string;
2462
2463
  mass: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "math-exercises",
3
3
  "type": "module",
4
- "version": "3.0.68",
4
+ "version": "3.0.69",
5
5
  "description": "Math exercises generator for middle school and high school",
6
6
  "main": "lib/index.js",
7
7
  "files": [