math-exercises 3.0.66 → 3.0.67

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 (200) hide show
  1. package/lib/exercises/math/calcul/fractions/periodicWritingToFraction.d.ts +1 -0
  2. package/lib/exercises/math/calcul/fractions/periodicWritingToFraction.d.ts.map +1 -1
  3. package/lib/exercises/math/calcul/fractions/periodicWritingToFraction.js +41 -20
  4. package/lib/exercises/math/calcul/fractions/simplifyFraction.d.ts.map +1 -1
  5. package/lib/exercises/math/calcul/fractions/simplifyFraction.js +4 -4
  6. package/lib/exercises/math/calcul/rounding/rounding.d.ts.map +1 -1
  7. package/lib/exercises/math/calcul/rounding/rounding.js +13 -21
  8. package/lib/exercises/math/calculLitteral/distributivity/canonicalFormDevelopment.d.ts.map +1 -1
  9. package/lib/exercises/math/calculLitteral/distributivity/canonicalFormDevelopment.js +4 -0
  10. package/lib/exercises/math/calculLitteral/distributivity/doubleDistri.d.ts.map +1 -1
  11. package/lib/exercises/math/calculLitteral/distributivity/doubleDistri.js +5 -6
  12. package/lib/exercises/math/calculLitteral/distributivity/doubleDistributivitySubstract.d.ts.map +1 -1
  13. package/lib/exercises/math/calculLitteral/distributivity/doubleDistributivitySubstract.js +4 -4
  14. package/lib/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.d.ts.map +1 -1
  15. package/lib/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.js +4 -4
  16. package/lib/exercises/math/calculLitteral/distributivity/idRmq1.d.ts.map +1 -1
  17. package/lib/exercises/math/calculLitteral/distributivity/idRmq1.js +4 -7
  18. package/lib/exercises/math/calculLitteral/distributivity/idRmq2.d.ts.map +1 -1
  19. package/lib/exercises/math/calculLitteral/distributivity/idRmq2.js +4 -5
  20. package/lib/exercises/math/calculLitteral/distributivity/idRmq3.d.ts.map +1 -1
  21. package/lib/exercises/math/calculLitteral/distributivity/idRmq3.js +4 -5
  22. package/lib/exercises/math/calculLitteral/distributivity/identitiesWithNonIntegers.d.ts.map +1 -1
  23. package/lib/exercises/math/calculLitteral/distributivity/identitiesWithNonIntegers.js +4 -4
  24. package/lib/exercises/math/calculLitteral/distributivity/simpleDistriXCoeff.d.ts.map +1 -1
  25. package/lib/exercises/math/calculLitteral/distributivity/simpleDistriXCoeff.js +4 -4
  26. package/lib/exercises/math/calculLitteral/equation/equationSimpleSquare.d.ts.map +1 -1
  27. package/lib/exercises/math/calculLitteral/equation/equationSimpleSquare.js +4 -6
  28. package/lib/exercises/math/calculLitteral/equation/equationWithDistributivity.d.ts.map +1 -1
  29. package/lib/exercises/math/calculLitteral/equation/equationWithDistributivity.js +4 -3
  30. package/lib/exercises/math/calculLitteral/equation/firstDegreeEquation.d.ts.map +1 -1
  31. package/lib/exercises/math/calculLitteral/equation/firstDegreeEquation.js +4 -6
  32. package/lib/exercises/math/calculLitteral/equation/firstDegreeEquationIntType1.d.ts.map +1 -1
  33. package/lib/exercises/math/calculLitteral/equation/firstDegreeEquationIntType1.js +4 -4
  34. package/lib/exercises/math/calculLitteral/equation/firstDegreeEquationIntType2.d.ts.map +1 -1
  35. package/lib/exercises/math/calculLitteral/equation/firstDegreeEquationIntType2.js +4 -6
  36. package/lib/exercises/math/calculLitteral/equation/firstDegreeEquationIntType3.d.ts.map +1 -1
  37. package/lib/exercises/math/calculLitteral/equation/firstDegreeEquationIntType3.js +4 -4
  38. package/lib/exercises/math/calculLitteral/equation/fractionEquation.d.ts.map +1 -1
  39. package/lib/exercises/math/calculLitteral/equation/fractionEquation.js +4 -4
  40. package/lib/exercises/math/calculLitteral/factorisation/factoByX.d.ts.map +1 -1
  41. package/lib/exercises/math/calculLitteral/factorisation/factoByX.js +4 -4
  42. package/lib/exercises/math/calculLitteral/factorisation/factoIdRmq1.d.ts.map +1 -1
  43. package/lib/exercises/math/calculLitteral/factorisation/factoIdRmq1.js +4 -6
  44. package/lib/exercises/math/calculLitteral/factorisation/factoIdRmq2.d.ts.map +1 -1
  45. package/lib/exercises/math/calculLitteral/factorisation/factoIdRmq2.js +4 -6
  46. package/lib/exercises/math/calculLitteral/factorisation/factoIdRmq3.d.ts.map +1 -1
  47. package/lib/exercises/math/calculLitteral/factorisation/factoIdRmq3.js +4 -6
  48. package/lib/exercises/math/calculLitteral/factorisation/factoType2.d.ts.map +1 -1
  49. package/lib/exercises/math/calculLitteral/factorisation/factoType2.js +4 -3
  50. package/lib/exercises/math/calculLitteral/factorisation/factorizeCanonicalForm.d.ts.map +1 -1
  51. package/lib/exercises/math/calculLitteral/factorisation/factorizeCanonicalForm.js +4 -4
  52. package/lib/exercises/math/calculLitteral/factorisation/factorizeCanonicalFormWithSqrt.d.ts.map +1 -1
  53. package/lib/exercises/math/calculLitteral/factorisation/factorizeCanonicalFormWithSqrt.js +4 -4
  54. package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType1.d.ts.map +1 -1
  55. package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType1.js +4 -7
  56. package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType2.d.ts.map +1 -1
  57. package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType2.js +4 -3
  58. package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType3.d.ts.map +1 -1
  59. package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType3.js +4 -5
  60. package/lib/exercises/math/calculLitteral/inequations/squareFunctionInequation.d.ts.map +1 -1
  61. package/lib/exercises/math/calculLitteral/inequations/squareFunctionInequation.js +4 -4
  62. package/lib/exercises/math/calculLitteral/simplifying/distributeAndSimplify.d.ts.map +1 -1
  63. package/lib/exercises/math/calculLitteral/simplifying/distributeAndSimplify.js +4 -2
  64. package/lib/exercises/math/calculLitteral/simplifying/evaluateExpression.d.ts.map +1 -1
  65. package/lib/exercises/math/calculLitteral/simplifying/evaluateExpression.js +4 -4
  66. package/lib/exercises/math/functions/variations/varTableExtremaReading.d.ts.map +1 -1
  67. package/lib/exercises/math/functions/variations/varTableExtremaReading.js +4 -5
  68. package/lib/exercises/math/geometry/angles/recognizeAngleType.d.ts.map +1 -1
  69. package/lib/exercises/math/geometry/angles/recognizeAngleType.js +4 -5
  70. package/lib/exercises/math/geometry/areas/circleRadiusFromArea.d.ts.map +1 -1
  71. package/lib/exercises/math/geometry/areas/circleRadiusFromArea.js +3 -0
  72. package/lib/exercises/math/geometry/areas/rectangleArea.d.ts.map +1 -1
  73. package/lib/exercises/math/geometry/areas/rectangleArea.js +4 -7
  74. package/lib/exercises/math/geometry/areas/rectangleSideFromArea.d.ts.map +1 -1
  75. package/lib/exercises/math/geometry/areas/rectangleSideFromArea.js +4 -3
  76. package/lib/exercises/math/geometry/areas/rightTriangleArea.d.ts.map +1 -1
  77. package/lib/exercises/math/geometry/areas/rightTriangleArea.js +32 -16
  78. package/lib/exercises/math/geometry/areas/squareSideFromArea.d.ts.map +1 -1
  79. package/lib/exercises/math/geometry/areas/squareSideFromArea.js +3 -0
  80. package/lib/exercises/math/geometry/cartesian/distanceBetweenTwoPoints.d.ts.map +1 -1
  81. package/lib/exercises/math/geometry/cartesian/distanceBetweenTwoPoints.js +4 -4
  82. package/lib/exercises/math/geometry/cartesian/midpoint.d.ts.map +1 -1
  83. package/lib/exercises/math/geometry/cartesian/midpoint.js +4 -4
  84. package/lib/exercises/math/geometry/cartesian/placeAPoint.d.ts.map +1 -1
  85. package/lib/exercises/math/geometry/cartesian/placeAPoint.js +25 -11
  86. package/lib/exercises/math/geometry/cartesian/placeAbscissOnLine.d.ts.map +1 -1
  87. package/lib/exercises/math/geometry/cartesian/placeAbscissOnLine.js +4 -0
  88. package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLine.d.ts.map +1 -1
  89. package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLine.js +4 -4
  90. package/lib/exercises/math/geometry/cartesian/pointCoordinates.d.ts.map +1 -1
  91. package/lib/exercises/math/geometry/cartesian/pointCoordinates.js +4 -0
  92. package/lib/exercises/math/geometry/cartesian/pointCoordinatesNoAxisNumbers.d.ts.map +1 -1
  93. package/lib/exercises/math/geometry/cartesian/pointCoordinatesNoAxisNumbers.js +4 -0
  94. package/lib/exercises/math/geometry/cartesian/pointCoordinatesNoOrthonorm.d.ts.map +1 -1
  95. package/lib/exercises/math/geometry/cartesian/pointCoordinatesNoOrthonorm.js +33 -17
  96. package/lib/exercises/math/geometry/convexity/convexityQuadrinomialsGeo.d.ts.map +1 -1
  97. package/lib/exercises/math/geometry/convexity/convexityQuadrinomialsGeo.js +4 -5
  98. package/lib/exercises/math/geometry/convexity/convexityTrinomialsGeo.d.ts.map +1 -1
  99. package/lib/exercises/math/geometry/convexity/convexityTrinomialsGeo.js +4 -3
  100. package/lib/exercises/math/matrices/matrixGeneralTerm.d.ts.map +1 -1
  101. package/lib/exercises/math/matrices/matrixGeneralTerm.js +0 -2
  102. package/lib/exercises/math/percent/evolutions/index.d.ts +0 -1
  103. package/lib/exercises/math/percent/evolutions/index.d.ts.map +1 -1
  104. package/lib/exercises/math/percent/evolutions/index.js +0 -1
  105. package/lib/exercises/math/percent/interests/compoundInterest.d.ts +12 -0
  106. package/lib/exercises/math/percent/interests/compoundInterest.d.ts.map +1 -0
  107. package/lib/exercises/math/percent/interests/compoundInterest.js +127 -0
  108. package/lib/exercises/math/percent/interests/compoundInterestDuration.d.ts +2 -0
  109. package/lib/exercises/math/percent/interests/compoundInterestDuration.d.ts.map +1 -0
  110. package/lib/exercises/math/percent/interests/compoundInterestDuration.js +166 -0
  111. package/lib/exercises/math/percent/interests/compoundInterestStartValue.d.ts +12 -0
  112. package/lib/exercises/math/percent/interests/compoundInterestStartValue.d.ts.map +1 -0
  113. package/lib/exercises/math/percent/interests/compoundInterestStartValue.js +132 -0
  114. package/lib/exercises/math/percent/interests/index.d.ts +3 -0
  115. package/lib/exercises/math/percent/interests/index.d.ts.map +1 -0
  116. package/lib/exercises/math/percent/interests/index.js +2 -0
  117. package/lib/exercises/math/primitive/constantPrimitive.d.ts.map +1 -1
  118. package/lib/exercises/math/primitive/constantPrimitive.js +0 -2
  119. package/lib/exercises/math/primitive/polynomialPrimitive.d.ts.map +1 -1
  120. package/lib/exercises/math/primitive/polynomialPrimitive.js +4 -0
  121. package/lib/exercises/math/primitive/sinCosPrimitive.d.ts.map +1 -1
  122. package/lib/exercises/math/primitive/sinCosPrimitive.js +25 -12
  123. package/lib/exercises/math/probaStat/binomial/binomialInequation.d.ts.map +1 -1
  124. package/lib/exercises/math/probaStat/binomial/binomialInequation.js +4 -3
  125. package/lib/exercises/math/probaStat/binomial/expectedValueOfBinomialProba.d.ts.map +1 -1
  126. package/lib/exercises/math/probaStat/binomial/expectedValueOfBinomialProba.js +52 -28
  127. package/lib/exercises/math/probaStat/binomial/varianceOfBinomialProba.d.ts.map +1 -1
  128. package/lib/exercises/math/probaStat/binomial/varianceOfBinomialProba.js +59 -39
  129. package/lib/exercises/math/probaStat/diceBasicProbas.d.ts.map +1 -1
  130. package/lib/exercises/math/probaStat/diceBasicProbas.js +1 -4
  131. package/lib/exercises/math/sequences/sequencePlot.d.ts.map +1 -1
  132. package/lib/exercises/math/sequences/sequencePlot.js +59 -32
  133. package/lib/exercises/pc/chemicalElements/atomicStructureOfNucleus.d.ts.map +1 -1
  134. package/lib/exercises/pc/chemicalElements/atomicStructureOfNucleus.js +23 -7
  135. package/lib/exercises/pc/chemicalElements/calculateProtonsNumberFromMass.d.ts.map +1 -1
  136. package/lib/exercises/pc/chemicalElements/calculateProtonsNumberFromMass.js +23 -8
  137. package/lib/exercises/pc/chemicalElements/calculateVolumetricMass.d.ts +6 -1
  138. package/lib/exercises/pc/chemicalElements/calculateVolumetricMass.d.ts.map +1 -1
  139. package/lib/exercises/pc/chemicalElements/calculateVolumetricMass.js +61 -27
  140. package/lib/exercises/pc/chemicalElements/findAtomEntitiesNumberFromMass.d.ts.map +1 -1
  141. package/lib/exercises/pc/chemicalElements/findAtomEntitiesNumberFromMass.js +28 -10
  142. package/lib/exercises/pc/chemicalElements/findAtomicStructureElement.d.ts.map +1 -1
  143. package/lib/exercises/pc/chemicalElements/findAtomicStructureElement.js +43 -17
  144. package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromElectronicConfiguration.d.ts.map +1 -1
  145. package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromElectronicConfiguration.js +23 -8
  146. package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromTable.d.ts.map +1 -1
  147. package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromTable.js +22 -8
  148. package/lib/exercises/pc/chemicalElements/identifyRightElectronicConfiguration.d.ts.map +1 -1
  149. package/lib/exercises/pc/chemicalElements/identifyRightElectronicConfiguration.js +18 -5
  150. package/lib/exercises/pc/chemicalElements/massOrVolumeProportion.d.ts +1 -0
  151. package/lib/exercises/pc/chemicalElements/massOrVolumeProportion.d.ts.map +1 -1
  152. package/lib/exercises/pc/chemicalElements/massOrVolumeProportion.js +49 -24
  153. package/lib/exercises/pc/chemicalElements/weightPercent.d.ts.map +1 -1
  154. package/lib/exercises/pc/chemicalElements/weightPercent.js +42 -13
  155. package/lib/exercises/pc/chemicalReactions/calculateCombustionEnergy.d.ts.map +1 -1
  156. package/lib/exercises/pc/chemicalReactions/calculateCombustionEnergy.js +26 -9
  157. package/lib/exercises/pc/chemicalReactions/calculateSynthesisEfficiency.d.ts.map +1 -1
  158. package/lib/exercises/pc/chemicalReactions/calculateSynthesisEfficiency.js +48 -15
  159. package/lib/exercises/pc/chemicalReactions/identifyLimitingReagent.d.ts.map +1 -1
  160. package/lib/exercises/pc/chemicalReactions/identifyLimitingReagent.js +22 -9
  161. package/lib/exercises/pc/chemicalReactions/identifyStoichiometricMixture.d.ts +1 -0
  162. package/lib/exercises/pc/chemicalReactions/identifyStoichiometricMixture.d.ts.map +1 -1
  163. package/lib/exercises/pc/chemicalReactions/identifyStoichiometricMixture.js +30 -15
  164. package/lib/exercises/pc/chemicalReactions/stoichiometricReaction.d.ts +7 -2
  165. package/lib/exercises/pc/chemicalReactions/stoichiometricReaction.d.ts.map +1 -1
  166. package/lib/exercises/pc/chemicalReactions/stoichiometricReaction.js +49 -33
  167. package/lib/exercises/pc/chemicalReactions/titrationEquivalenceRelation.d.ts +1 -2
  168. package/lib/exercises/pc/chemicalReactions/titrationEquivalenceRelation.d.ts.map +1 -1
  169. package/lib/exercises/pc/chemicalReactions/titrationEquivalenceRelation.js +104 -67
  170. package/lib/exercises/pc/dosage/beerLambertRandomValue.d.ts +1 -1
  171. package/lib/exercises/pc/dosage/beerLambertRandomValue.d.ts.map +1 -1
  172. package/lib/exercises/pc/dosage/beerLambertRandomValue.js +99 -82
  173. package/lib/exercises/pc/dosage/concentrationCalculation.d.ts.map +1 -1
  174. package/lib/exercises/pc/dosage/concentrationCalculation.js +69 -40
  175. package/lib/exercises/pc/dosage/concentrationFromMassCalculation.d.ts.map +1 -1
  176. package/lib/exercises/pc/dosage/concentrationFromMassCalculation.js +78 -40
  177. package/lib/exercises/pc/electricity/calculateIntensity.d.ts.map +1 -1
  178. package/lib/exercises/pc/electricity/calculateIntensity.js +23 -19
  179. package/lib/exercises/pc/electricity/calculateIntensityInSerieOrParallel.d.ts.map +1 -1
  180. package/lib/exercises/pc/electricity/calculateIntensityInSerieOrParallel.js +51 -43
  181. package/lib/exercises/pc/electricity/calculateVoltage.d.ts.map +1 -1
  182. package/lib/exercises/pc/electricity/calculateVoltage.js +0 -2
  183. package/lib/exercises/pc/electricity/electricChargeFromIntensity.d.ts.map +1 -1
  184. package/lib/exercises/pc/electricity/electricChargeFromIntensity.js +19 -6
  185. package/lib/exercises/pc/electricity/electricEnergyFromPower.d.ts.map +1 -1
  186. package/lib/exercises/pc/electricity/electricEnergyFromPower.js +16 -6
  187. package/lib/exercises/pc/electricity/electricPowerOrEnergyCalculation.d.ts +1 -0
  188. package/lib/exercises/pc/electricity/electricPowerOrEnergyCalculation.d.ts.map +1 -1
  189. package/lib/exercises/pc/electricity/electricPowerOrEnergyCalculation.js +54 -24
  190. package/lib/exercises/pc/electricity/kirchhoffVoltageLaw.d.ts.map +1 -1
  191. package/lib/exercises/pc/electricity/kirchhoffVoltageLaw.js +44 -44
  192. package/lib/exercises/pc/electricity/ohmLaw.d.ts.map +1 -1
  193. package/lib/exercises/pc/electricity/ohmLaw.js +67 -24
  194. package/lib/exercises/pc/electricity/ohmicConductorOrGenerator.d.ts +1 -1
  195. package/lib/exercises/pc/electricity/ohmicConductorOrGenerator.d.ts.map +1 -1
  196. package/lib/exercises/pc/electricity/ohmicConductorOrGenerator.js +36 -43
  197. package/lib/index.d.ts +19 -12
  198. package/lib/index.d.ts.map +1 -1
  199. package/lib/latexTester.js +2 -0
  200. package/package.json +1 -1
@@ -3,35 +3,62 @@ import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuesti
3
3
  import { round } from "../../../math/utils/round.js";
4
4
  import { randfloat } from "../../../math/utils/random/randfloat.js";
5
5
  import { randint } from "../../../math/utils/random/randint.js";
6
- const getOhmLawQuestion = () => {
7
- const resistance = randint(1, 50);
8
- const current = round(randfloat(0.1, 4, 2), 2);
9
- const voltage = round(resistance * current, 2);
6
+ const getInstruction = (identifiers) => {
7
+ const { voltage, current, resistance, target, targetValue } = identifiers;
10
8
  const variables = [
11
9
  { name: "résistance", value: resistance, unit: " \\ \\Omega", symbol: "R" },
12
10
  { name: "courant", value: current, unit: "\\ A", symbol: "I" },
13
11
  { name: "tension", value: voltage, unit: "\\ V", symbol: "U" },
14
12
  ];
15
- const randomIndex = randint(0, variables.length);
16
- const targetVariable = variables[randomIndex];
17
- const knownVariables = variables.filter((_, index) => index !== randomIndex);
13
+ const targetVariable = variables.find((v) => v.name === target);
14
+ const knownVariables = variables.filter((v) => v.name !== target);
18
15
  const instruction = `Lors d'une expérience en classe de physique, vous devez étudier le comportement d'un conducteur ohmique. Vous avez connecté le conducteur à un circuit électrique et mesuré les valeurs suivantes :
19
- - ${knownVariables[0].name.charAt(0).toUpperCase() +
16
+
17
+ - ${knownVariables[0].name.charAt(0).toUpperCase() +
20
18
  knownVariables[0].name.slice(1)} : $${knownVariables[0].symbol} = ${round(knownVariables[0].value, 2)
21
19
  .toTree()
22
20
  .toTex()} ${knownVariables[0].unit}$
23
- - ${knownVariables[1].name.charAt(0).toUpperCase() +
21
+ - ${knownVariables[1].name.charAt(0).toUpperCase() +
24
22
  knownVariables[1].name.slice(1)} : $${knownVariables[1].symbol} = ${round(knownVariables[1].value, 2)
25
23
  .toTree()
26
24
  .toTex()} ${knownVariables[1].unit}$. \n
27
- Déterminez ${targetVariable.name === "tension" || targetVariable.name === "résistance"
25
+ Déterminez ${targetVariable.name === "tension" || targetVariable.name === "résistance"
28
26
  ? "la"
29
27
  : "le"} ${targetVariable.name} ${targetVariable.name === "tension"
30
28
  ? "aux bords du"
31
29
  : targetVariable.name === "courant"
32
30
  ? "qui traverse le"
33
31
  : "du"} conducteur.`;
34
- const hint = `Rappelez-vous la loi d'Ohm : $U = R \\cdot I$.`;
32
+ return instruction;
33
+ };
34
+ const getAnswer = (identifiers) => {
35
+ const { voltage, current, resistance, target, targetValue } = identifiers;
36
+ const variables = [
37
+ { name: "résistance", value: resistance, unit: " \\ \\Omega", symbol: "R" },
38
+ { name: "courant", value: current, unit: "\\ A", symbol: "I" },
39
+ { name: "tension", value: voltage, unit: "\\ V", symbol: "U" },
40
+ ];
41
+ const targetVariable = variables.find((v) => v.name === target);
42
+ const knownVariables = variables.filter((v) => v.name !== target);
43
+ return round(targetVariable.value, 2).toTree().toTex();
44
+ };
45
+ const getHint = (identifiers) => {
46
+ const hint = `Utilise la loi d'Ohm :
47
+
48
+ $$
49
+ U = R \\cdot I
50
+ $$`;
51
+ return hint;
52
+ };
53
+ const getCorrection = (identifiers) => {
54
+ const { voltage, current, resistance, target, targetValue } = identifiers;
55
+ const variables = [
56
+ { name: "résistance", value: resistance, unit: " \\ \\Omega", symbol: "R" },
57
+ { name: "courant", value: current, unit: "\\ A", symbol: "I" },
58
+ { name: "tension", value: voltage, unit: "\\ V", symbol: "U" },
59
+ ];
60
+ const targetVariable = variables.find((v) => v.name === target);
61
+ const knownVariables = variables.filter((v) => v.name !== target);
35
62
  const correction = `La loi d'Ohm est donnée par :
36
63
  $U = R \\cdot I$. En utilisant les valeurs fournies pour ${knownVariables[0].name} et ${knownVariables[1].name}, vous pouvez résoudre pour ${targetVariable.name === "tension" || targetVariable.name === "résistance"
37
64
  ? "la"
@@ -46,23 +73,40 @@ const getOhmLawQuestion = () => {
46
73
  : "le"} ${targetVariable.name} est $${round(targetVariable.value, 2)
47
74
  .toTree()
48
75
  .toTex()}\\ ${targetVariable.unit}$.`;
76
+ return correction;
77
+ };
78
+ const getQuestionFromIdentifiers = (identifiers) => {
49
79
  const question = {
50
- answer: round(targetVariable.value, 2).toTree().toTex(),
51
- instruction,
52
- hint,
53
- correction,
80
+ answer: getAnswer(identifiers),
81
+ instruction: getInstruction(identifiers),
82
+ hint: getHint(identifiers),
83
+ correction: getCorrection(identifiers),
54
84
  keys: [],
55
85
  answerFormat: "tex",
56
- identifiers: {
57
- voltage,
58
- current,
59
- resistance,
60
- target: targetVariable.name,
61
- targetValue: targetVariable.value,
62
- },
86
+ identifiers,
63
87
  };
64
88
  return question;
65
89
  };
90
+ const getOhmLawQuestion = () => {
91
+ const resistance = randint(1, 50);
92
+ const current = round(randfloat(0.1, 4, 2), 2);
93
+ const voltage = round(resistance * current, 2);
94
+ const variables = [
95
+ { name: "résistance", value: resistance, unit: " \\ \\Omega", symbol: "R" },
96
+ { name: "courant", value: current, unit: "\\ A", symbol: "I" },
97
+ { name: "tension", value: voltage, unit: "\\ V", symbol: "U" },
98
+ ];
99
+ const randomIndex = randint(0, variables.length);
100
+ const targetVariable = variables[randomIndex];
101
+ const identifiers = {
102
+ voltage,
103
+ current,
104
+ resistance,
105
+ target: targetVariable.name,
106
+ targetValue: targetVariable.value,
107
+ };
108
+ return getQuestionFromIdentifiers(identifiers);
109
+ };
66
110
  const getPropositions = (n, { answer, voltage, current, resistance, target }) => {
67
111
  const propositions = [];
68
112
  addValidProp(propositions, answer, "tex");
@@ -107,9 +151,7 @@ const isAnswerValid = (ans, { answer, targetValue }) => {
107
151
  export const OhmLawExercise = {
108
152
  id: "ohmLaw",
109
153
  label: "Utiliser la loi d'Ohm pour calculer tension, courant ou résistance",
110
- levels: ["2nde"],
111
154
  isSingleStep: true,
112
- sections: ["Électricité"],
113
155
  generator: (nb) => getDistinctQuestions(getOhmLawQuestion, nb),
114
156
  qcmTimer: 60,
115
157
  freeTimer: 60,
@@ -117,4 +159,5 @@ export const OhmLawExercise = {
117
159
  isAnswerValid,
118
160
  hasHintAndCorrection: true,
119
161
  subject: "Physique",
162
+ getQuestionFromIdentifiers,
120
163
  };
@@ -1,6 +1,6 @@
1
1
  import { Exercise } from "../../../exercises/exercise.js";
2
2
  type Identifiers = {
3
- ggbCommands: string[];
3
+ end: number;
4
4
  type: string;
5
5
  };
6
6
  export declare const ohmicConductorOrGenerator: Exercise<Identifiers>;
@@ -1 +1 @@
1
- {"version":3,"file":"ohmicConductorOrGenerator.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/electricity/ohmicConductorOrGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAMrC,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAmGF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAiB3D,CAAC"}
1
+ {"version":3,"file":"ohmicConductorOrGenerator.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/electricity/ohmicConductorOrGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAMrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAiGF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAgB3D,CAAC"}
@@ -3,19 +3,31 @@ import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuesti
3
3
  import { GeogebraConstructor } from "../../../geogebra/geogebraConstructor.js";
4
4
  import { randint } from "../../../math/utils/random/randint.js";
5
5
  import { random } from "../../../utils/alea/random.js";
6
+ const getInstruction = (identifiers) => {
7
+ const instruction = `Après avoir relevé l'intensité du courant circulant dans un dipôle pour différentes tensions entre ses bornes, nous avons obetnu le graphique ci-dessous.
8
+
9
+ La dipôle est-elle est un générateur ou un conducteur ohmique ?`;
10
+ return instruction;
11
+ };
12
+ const getAnswer = (identifiers) => {
13
+ return identifiers.type;
14
+ };
6
15
  const getOhmicConductorOrGeneratorQuestion = () => {
7
- const exo = generateExercise();
16
+ const type = random(["Conducteur ohmique", "Générateur"]);
17
+ const end = randint(40, 51);
18
+ const identifiers = { type, end };
19
+ return getQuestionFromIdentifiers(identifiers);
20
+ };
21
+ const getQuestionFromIdentifiers = (identifiers) => {
8
22
  const question = {
9
- answer: exo.answer,
10
- instruction: exo.instruction,
11
- ggbOptions: exo.ggb.getOptions({
12
- coords: [8, 40, -5, 30],
13
- }),
23
+ answer: getAnswer(identifiers),
24
+ instruction: getInstruction(identifiers),
25
+ ggbOptions: getGGBOptions(identifiers),
14
26
  keys: [],
15
- hint: exo.hint,
16
- correction: exo.correction,
27
+ hint: getHint(identifiers),
28
+ correction: getCorrection(identifiers),
17
29
  answerFormat: "raw",
18
- identifiers: { type: exo.type, ggbCommands: exo.ggb.commands },
30
+ identifiers,
19
31
  };
20
32
  return question;
21
33
  };
@@ -30,24 +42,8 @@ const getPropositions = (n, { answer }) => {
30
42
  const isAnswerValid = (ans, { answer }) => {
31
43
  return ans === answer;
32
44
  };
33
- const generateExercise = () => {
34
- const type = random(["Conducteur ohmique", "Générateur"]);
35
- const ggb = getGgb(type);
36
- const instruction = `Après avoir relevé l'intensité du courant circulant dans un dipôle pour différentes tensions entre ses bornes, Nous avons obetnu le graphique ci-dessous.
37
-
38
- La dipôle est-elle est un générateur ou un conducteur ohmique ?`;
39
- const hint = getHint(type);
40
- const correction = getCorrection(type);
41
- return {
42
- instruction,
43
- ggb,
44
- answer: type,
45
- hint,
46
- correction,
47
- type,
48
- };
49
- };
50
- const getGgb = (type) => {
45
+ const getGGBOptions = (identifiers) => {
46
+ const { type, end } = identifiers;
51
47
  const points = [];
52
48
  for (let x = 22; x < 33; x += 2) {
53
49
  const y = type === "Générateur"
@@ -55,42 +51,38 @@ const getGgb = (type) => {
55
51
  : 0.00000001 * Math.pow(x, 6);
56
52
  points.push(`Point({${x},${y}})`);
57
53
  }
58
- return type === "Générateur"
54
+ const ggb = type === "Générateur"
59
55
  ? new GeogebraConstructor({
60
- commands: [
61
- `Function(${Math.pow(10, 15)}/x^10,1,${randint(40, 51)})`,
62
- ].concat(points),
56
+ commands: [`Function(${Math.pow(10, 15)}/x^10,1,${end})`].concat(points),
63
57
  xAxis: { label: "$\\tiny I(A)$" },
64
58
  yAxis: { label: "$\\tiny U(V)$" },
65
59
  })
66
60
  : new GeogebraConstructor({
67
- commands: [`Function(0.00000001*x^6,1,${randint(40, 51)})`].concat(points),
61
+ commands: [`Function(0.00000001*x^6,1,${end})`].concat(points),
68
62
  xAxis: { label: "$\\tiny I(A)$" },
69
63
  yAxis: { label: "$\\tiny U(V)$" },
70
64
  });
65
+ return ggb.getOptions({
66
+ coords: [8, 40, -5, 30],
67
+ });
71
68
  };
72
- const getHint = (type) => {
73
- return type === "Générateur"
69
+ const getHint = (identifiers) => {
70
+ return identifiers.type === "Générateur"
74
71
  ? `Rappel : la tension $U$ aux bornes du générateur peut être exprimée par la relation $U=E-r \\cdot I$.`
75
72
  : `Rappel de la loi d'ohm : $U=R \\cdot I$.`;
76
73
  };
77
- const getCorrection = (type) => {
78
- switch (type) {
79
- case "Générateur":
80
- return `Selon la relation qui exprime la tension $U$ aux bornes du générateur, $U = E-r \\cdot I$,\n
74
+ const getCorrection = (identifiers) => {
75
+ if (identifiers.type === "Générateur")
76
+ return `Selon la relation qui exprime la tension $U$ aux bornes du générateur, $U = E-r \\cdot I$,\n
81
77
  on en déduit que plus l'intensité $I$ augmente, plus la tension $U$ aux bornes du générateur diminue, ce qui correspond bien au graphique montré.
82
78
  `;
83
- case "Conducteur ohmique":
84
- return `Selon la loi d'ohm qui exprime la tension $U$ aux bornes du conducteur ohmique, $U = R \\cdot I$,\n
79
+ return `Selon la loi d'ohm qui exprime la tension $U$ aux bornes du conducteur ohmique, $U = R \\cdot I$,\n
85
80
  on en déduit que plus l'intensité $I$ augmente, plus la tension $U$ aux bornes du conducteur ohmique augmente, ce qui correspond bien au graphique montré.`;
86
- }
87
81
  };
88
82
  export const ohmicConductorOrGenerator = {
89
83
  id: "ohmicConductorOrGenerator",
90
84
  label: "Comparaisons des graphiques de tension de dipôle",
91
- levels: ["2nde"],
92
85
  isSingleStep: true,
93
- sections: ["Électricité"],
94
86
  generator: (nb) => getDistinctQuestions(getOhmicConductorOrGeneratorQuestion, nb, 10),
95
87
  qcmTimer: 60,
96
88
  freeTimer: 60,
@@ -101,4 +93,5 @@ export const ohmicConductorOrGenerator = {
101
93
  subject: "Physique",
102
94
  hasHintAndCorrection: true,
103
95
  hasGeogebra: true,
96
+ getQuestionFromIdentifiers,
104
97
  };
package/lib/index.d.ts CHANGED
@@ -74,6 +74,7 @@ declare const mathExercises: (Exercise<{
74
74
  num: number;
75
75
  denum: number;
76
76
  leadingPart: number;
77
+ periodicPart: number[];
77
78
  }, {}> | Exercise<{
78
79
  denom: number;
79
80
  num1: number;
@@ -1533,12 +1534,6 @@ declare const mathExercises: (Exercise<{
1533
1534
  evolution: number;
1534
1535
  askingFinalPrice: boolean;
1535
1536
  }, {}> | Exercise<{
1536
- initialCapital: number;
1537
- rate: number;
1538
- duration: number;
1539
- }, {
1540
- withFormula?: boolean;
1541
- }> | Exercise<{
1542
1537
  int: number;
1543
1538
  power: number;
1544
1539
  }, {}> | Exercise<{
@@ -2338,7 +2333,12 @@ declare const pcExercises: (Exercise<{
2338
2333
  percent: number;
2339
2334
  elWeight: number;
2340
2335
  type: number;
2341
- }, {}> | Exercise<{}, {}> | Exercise<{
2336
+ }, {}> | Exercise<{
2337
+ m: number;
2338
+ t: number;
2339
+ v: number;
2340
+ type: number;
2341
+ }, {}> | Exercise<{
2342
2342
  atomSymbol: import("./pc/constants/molecularChemistry/atomSymbols.js").AtomSymbols;
2343
2343
  }, {}> | Exercise<{
2344
2344
  atomSymbol: import("./pc/constants/molecularChemistry/atomSymbols.js").AtomSymbols;
@@ -2351,6 +2351,7 @@ declare const pcExercises: (Exercise<{
2351
2351
  elementMass: number;
2352
2352
  elementVolume: number;
2353
2353
  targetProportion: "massique" | "volumique";
2354
+ moleculeName: string;
2354
2355
  }, {}> | Exercise<{
2355
2356
  maxQuantity: number;
2356
2357
  productQuantity: number;
@@ -2363,14 +2364,19 @@ declare const pcExercises: (Exercise<{
2363
2364
  }, {}> | Exercise<{
2364
2365
  firstReagentVariables: number[];
2365
2366
  secondReagentVariables: number[];
2367
+ isForcedStoichiometric: boolean;
2366
2368
  }, {}> | Exercise<{
2367
- instruction: string;
2368
- answer: string;
2369
2369
  nA: number;
2370
2370
  nB: number;
2371
- }, {}> | Exercise<{
2371
+ nC: number;
2372
+ nD: number;
2372
2373
  a: number;
2373
2374
  b: number;
2375
+ c: number;
2376
+ d: number;
2377
+ isStoechiometric: boolean;
2378
+ }, {}> | Exercise<{
2379
+ reactionProduct: string;
2374
2380
  vA: number;
2375
2381
  vB: number;
2376
2382
  cB: number;
@@ -2408,7 +2414,7 @@ declare const pcExercises: (Exercise<{
2408
2414
  R: number;
2409
2415
  isAsking: string;
2410
2416
  }, {}> | Exercise<{
2411
- ggbCommands: string[];
2417
+ end: number;
2412
2418
  type: string;
2413
2419
  }, {}> | Exercise<{
2414
2420
  isAsking: string;
@@ -2433,6 +2439,7 @@ declare const pcExercises: (Exercise<{
2433
2439
  power: number;
2434
2440
  seconds: number;
2435
2441
  energy: number;
2442
+ isCalculatingEnergy: boolean;
2436
2443
  }, {}> | Exercise<{
2437
2444
  substance: string;
2438
2445
  mass: number;
@@ -2505,7 +2512,7 @@ declare const pcExercises: (Exercise<{
2505
2512
  molarAbsorptivity: number;
2506
2513
  pathLength: number;
2507
2514
  absorbance: number;
2508
- randomIndex: number;
2515
+ targetVariableName: string;
2509
2516
  }, {}> | Exercise<{
2510
2517
  concentration: number;
2511
2518
  quantity: 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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"}
@@ -224,6 +224,8 @@ const validCmds = [
224
224
  "\\hspace",
225
225
  "\\frown",
226
226
  "\\varepsilon",
227
+ "\\Omega",
228
+ "\\lambda",
227
229
  "\\ell",
228
230
  "\\cancel",
229
231
  ];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "math-exercises",
3
3
  "type": "module",
4
- "version": "3.0.66",
4
+ "version": "3.0.67",
5
5
  "description": "Math exercises generator for middle school and high school",
6
6
  "main": "lib/index.js",
7
7
  "files": [