math-exercises 2.1.19 → 2.1.21

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 (37) hide show
  1. package/lib/exercises/math/calcul/arithmetics/paritySumsAndProducts.js +1 -1
  2. package/lib/exercises/math/calculLitteral/equation/binomialsTrinomialsProposedSolutions.js +1 -1
  3. package/lib/exercises/math/calculLitteral/equation/equationType3Exercise.js +1 -1
  4. package/lib/exercises/math/calculLitteral/systems/verifySystemSolution.js +1 -1
  5. package/lib/exercises/math/derivation/derivative/convexityQuadrinomials.js +1 -1
  6. package/lib/exercises/math/derivation/derivative/convexityTrinomials.js +1 -1
  7. package/lib/exercises/math/equaDiff/equaDiffCheckSolutionFirstOrder.js +1 -1
  8. package/lib/exercises/math/equaDiff/equaDiffGeneralForme.js +2 -2
  9. package/lib/exercises/math/functions/affines/affineAdjustmentComplete.js +1 -1
  10. package/lib/exercises/math/functions/logarithm/log10PowerSimplifying.d.ts.map +1 -1
  11. package/lib/exercises/math/functions/logarithm/log10PowerSimplifying.js +7 -13
  12. package/lib/exercises/math/functions/parity/parityFromAlgebra.js +1 -1
  13. package/lib/exercises/math/functions/parity/parityFromGraph.js +1 -1
  14. package/lib/exercises/math/functions/trinoms/extremumTypeFromAlgebricForm.js +1 -1
  15. package/lib/exercises/math/functions/trinoms/variationsFromAlgebricForm.js +1 -1
  16. package/lib/exercises/math/geometry/convexity/convexityTrinomialsGeo.js +1 -1
  17. package/lib/exercises/math/geometry/vectors/alignementViaColinearity.js +1 -1
  18. package/lib/exercises/math/geometry/vectors/colinearity.js +1 -1
  19. package/lib/exercises/math/geometry/vectors/equalCaracteristicFromGraph.js +1 -1
  20. package/lib/exercises/math/geometry/vectors/paralellismViaColinearity.js +1 -1
  21. package/lib/exercises/math/geometry/vectors/parallelogramViaEqualVectors.js +1 -1
  22. package/lib/exercises/math/geometry/vectors/scalarProductViaCoords.js +1 -1
  23. package/lib/exercises/math/matrices/matrixGeneralTerm.js +1 -1
  24. package/lib/exercises/math/probaStat/independancy.js +1 -1
  25. package/lib/exercises/math/probaStat/stats2var/fineAdjustementExercise.js +1 -1
  26. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromFirstTerms.js +1 -1
  27. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.js +1 -1
  28. package/lib/exercises/math/sequences/genericSequenceVariations.js +1 -1
  29. package/lib/exercises/math/trigonometry/trigonometrySideCalcul.js +8 -8
  30. package/lib/exercises/pc/chemicalElements/atomicStructureOfNucleus.js +1 -1
  31. package/lib/exercises/pc/chemicalElements/identifyRightElectronicConfiguration.js +1 -1
  32. package/lib/exercises/pc/chemicalReactions/identifyLimitingReagent.js +1 -1
  33. package/lib/exercises/pc/chemicalReactions/identifyStoichiometricMixture.js +1 -1
  34. package/lib/exercises/pc/sound/frequencyComparison.js +1 -1
  35. package/lib/exercises/pc/weight/weightOnTheMoon.js +2 -2
  36. package/lib/tree/nodes/functions/log10Node.js +3 -3
  37. package/package.json +1 -1
@@ -109,7 +109,7 @@ exports.paritySumsAndProducts = {
109
109
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getParitySumsAndProductsQuestion, nb, 12),
110
110
  qcmTimer: 60,
111
111
  freeTimer: 60,
112
- answerType: "QCU",
112
+ answerType: "QCM",
113
113
  maxAllowedQuestions: 12,
114
114
  getPropositions,
115
115
  subject: "Mathématiques",
@@ -69,7 +69,7 @@ exports.binomialsTrinomialsProposedSolutions = {
69
69
  isSingleStep: true,
70
70
  sections: ["Équations"],
71
71
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getBinomialsTrinomialsProposedSolutionsQuestion, nb),
72
- answerType: "QCU",
72
+ answerType: "QCM",
73
73
  qcmTimer: 60,
74
74
  freeTimer: 60,
75
75
  getPropositions,
@@ -27,7 +27,7 @@ const getEquationType3ExerciseQuestion = () => {
27
27
  hint: "Isolez le terme $x$ dans la partie gauche de l'equation.",
28
28
  correction: `Commencer par soustraire $${b}$ des deux côtés de l'équation pour
29
29
  l'éliminer du côté gauche, ensuite, diviser les deux côtés de l'équation par
30
- $${a}$ pour isoler $x$, ce qui donne : $ ${a}x = ${c}${b < 0 ? "+" + Math.abs(b) : "-" + Math.abs(b)} \\Leftrightarrow x=\\frac{${c}${b < 0 ? "+" + Math.abs(b) : "-" + Math.abs(b)}}{${a}} \\Leftrightarrow ${answer}$.`,
30
+ $${a}$ pour isoler $x$, ce qui donne : \n $ ${a}x = ${c}${b < 0 ? "+" + Math.abs(b) : "-" + Math.abs(b)} \\Leftrightarrow x=\\frac{${c}${b < 0 ? "+" + Math.abs(b) : "-" + Math.abs(b)}}{${a}} \\Leftrightarrow ${answer}$.`,
31
31
  startStatement: statementTree.toTex(),
32
32
  answer,
33
33
  keys: equationKeys_1.equationKeys,
@@ -59,5 +59,5 @@ exports.verifySystemSolution = {
59
59
  getPropositions,
60
60
  isAnswerValid,
61
61
  subject: "Mathématiques",
62
- answerType: "QCU",
62
+ answerType: "QCM",
63
63
  };
@@ -89,7 +89,7 @@ exports.convexityQuadrinomials = {
89
89
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getConvexityQuadrinomialsQuestion, nb),
90
90
  qcmTimer: 60,
91
91
  freeTimer: 60,
92
- answerType: "QCU",
92
+ answerType: "QCM",
93
93
  getPropositions,
94
94
  isAnswerValid,
95
95
  subject: "Mathématiques",
@@ -37,7 +37,7 @@ exports.convexityTrinomials = {
37
37
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getConvexityTrinomialsQuestion, nb),
38
38
  qcmTimer: 60,
39
39
  freeTimer: 60,
40
- answerType: "QCU",
40
+ answerType: "QCM",
41
41
  getPropositions,
42
42
  isAnswerValid,
43
43
  subject: "Mathématiques",
@@ -97,6 +97,6 @@ exports.equaDiffCheckSolutionFirstOrder = {
97
97
  freeTimer: 60,
98
98
  getPropositions,
99
99
  isAnswerValid,
100
- answerType: "QCU",
100
+ answerType: "QCM",
101
101
  subject: "Mathématiques",
102
102
  };
@@ -16,8 +16,8 @@ const getExponentialEquation = () => {
16
16
  const equation = new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new variableNode_1.VariableNode("y"));
17
17
  const answer = new equalNode_1.EqualNode(new variableNode_1.VariableNode("y"), new multiplyNode_1.MultiplyNode(new variableNode_1.VariableNode("C"), new expNode_1.ExpNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new variableNode_1.VariableNode("x"))))).toTex();
18
18
  const correctionequation = new equalNode_1.EqualNode(new substractNode_1.SubstractNode(new variableNode_1.VariableNode("y'"), new multiplyNode_1.MultiplyNode(a.toTree(), new variableNode_1.VariableNode("y"))).simplify(), new numberNode_1.NumberNode(0)).toTex();
19
- const hint = "Rappelez-vous que la solution générale d'une équation différentielle de la forme $y' = ay$ est de la forme $y = Ce^{ax}$, où $C$ est une constante d'intégration.";
20
- const correction = `La solution est $y = Ce^{ax}$, où $C$ est une constante d'intégration.
19
+ const hint = "La solution générale d'une équation différentielle de la forme $y' = ay$ est de la forme $y = Ce^{ax}$, où $C$ est une constante d'intégration.";
20
+ const correction = `La solution générale d'une équation différentielle de la forme $y' = ay$ est de la forme $y = Ce^{ax}$, où $C$ est une constante d'intégration.
21
21
  \n Donc, la solution générale de l'équation différentielle $y' = ${a}y$ est $y = Ce^{${a}x}$.`;
22
22
  const question = {
23
23
  instruction: `Résoudre l'équation différentielle suivante : $y' = ${equation.toTex()}$.`,
@@ -116,7 +116,7 @@ exports.affineAdjustmentCompleteExercise = {
116
116
  isSingleStep: true,
117
117
  sections: ["Statistiques"],
118
118
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getAffineAdjustmentCompleteQuestion, nb),
119
- answerType: "QCU",
119
+ answerType: "QCM",
120
120
  qcmTimer: 60,
121
121
  freeTimer: 60,
122
122
  getPropositions,
@@ -1 +1 @@
1
- {"version":3,"file":"log10PowerSimplifying.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/logarithm/log10PowerSimplifying.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAmDF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAevD,CAAC"}
1
+ {"version":3,"file":"log10PowerSimplifying.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/logarithm/log10PowerSimplifying.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA+CF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAevD,CAAC"}
@@ -6,16 +6,11 @@ const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQ
6
6
  const decimal_1 = require("../../../../math/numbers/decimals/decimal");
7
7
  const randint_1 = require("../../../../math/utils/random/randint");
8
8
  const log10Node_1 = require("../../../../tree/nodes/functions/log10Node");
9
- const numberNode_1 = require("../../../../tree/nodes/numbers/numberNode");
10
9
  const powerNode_1 = require("../../../../tree/nodes/operators/powerNode");
11
- const probaFlip_1 = require("../../../../utils/probaFlip");
12
10
  const getLog10PowerSimplifyingQuestion = () => {
13
- const tenthPower = (0, randint_1.randint)(-5, 6, [0, 1]);
14
- const shouldEvaluate = (0, probaFlip_1.probaFlip)(0.7);
11
+ const tenthPower = (0, randint_1.randint)(-6, 8, [1]);
15
12
  console.log("log10 power simp q");
16
- const nb = shouldEvaluate
17
- ? new decimal_1.Decimal(1).multiplyByPowerOfTen(tenthPower).toTree()
18
- : new powerNode_1.PowerNode(new numberNode_1.NumberNode(10), new numberNode_1.NumberNode(tenthPower));
13
+ const nb = new decimal_1.Decimal(1).multiplyByPowerOfTen(tenthPower).toTree();
19
14
  const answer = tenthPower + "";
20
15
  const question = {
21
16
  answer,
@@ -39,13 +34,12 @@ const getPropositions = (n, { answer, tenthPower }) => {
39
34
  return (0, exercise_1.shuffleProps)(propositions, n);
40
35
  };
41
36
  const getHint = (nb) => {
42
- return `Pour calculer $log(⁡${nb.toTex()})$, il est utile de transformer le nombre $${nb.toTex()}$ en une puissance de $10$.`;
37
+ return `Pour calculer $\\log(⁡${nb.toTex()})$, il est utile de transformer le nombre $${nb.toTex()}$ en une puissance de $10$.`;
43
38
  };
44
39
  const getCorrection = (tenthPower, nb) => {
45
40
  const powerTen = new powerNode_1.PowerNode((10).toTree(), tenthPower.toTree());
46
- return `1 . Exprimez $${nb.toTex()}$ en puissance de $10$ : $${powerTen.toTex()}$ \n
47
- 2 . Utilisez la propriété des logarithmes qui stipule que $\\log(a^{b}) = b\\times \\log(a) \\Leftrightarrow \\log(${powerTen.toTex()}) = ${tenthPower}\\times \\log(10)
48
- \\Leftrightarrow \\log(${nb.toTex()}) = ${tenthPower}$.
41
+ return `1 . On exprime $${nb.toTex()}$ en puissance de $10$ : $${nb.toTex()} = ${powerTen.toTex()}$ \n
42
+ 2 . On utilise la propriété $\\log(a^{b}) = b\\times \\log(a)$. On a alors $\\log(${nb.toTex()}) = \\log(${powerTen.toTex()}) = ${tenthPower}\\times \\log(10) = ${tenthPower}$.
49
43
  `;
50
44
  };
51
45
  const isAnswerValid = (ans, { answer, tenthPower }) => {
@@ -58,11 +52,11 @@ exports.log10PowerSimplifying = {
58
52
  levels: ["TermTech", "MathComp"],
59
53
  isSingleStep: true,
60
54
  sections: ["Logarithme décimal", "Puissances"],
61
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getLog10PowerSimplifyingQuestion, nb, 15),
55
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getLog10PowerSimplifyingQuestion, nb, 10),
62
56
  qcmTimer: 60,
63
57
  freeTimer: 60,
64
58
  getPropositions,
65
59
  isAnswerValid,
66
- maxAllowedQuestions: 15,
60
+ maxAllowedQuestions: 10,
67
61
  subject: "Mathématiques",
68
62
  };
@@ -113,6 +113,6 @@ exports.parityFromAlgebra = {
113
113
  freeTimer: 60,
114
114
  getPropositions,
115
115
  isAnswerValid,
116
- answerType: "QCU",
116
+ answerType: "QCM",
117
117
  subject: "Mathématiques",
118
118
  };
@@ -123,7 +123,7 @@ exports.parityFromGraph = {
123
123
  freeTimer: 60,
124
124
  getPropositions,
125
125
  isAnswerValid,
126
- answerType: "QCU",
126
+ answerType: "QCM",
127
127
  hasGeogebra: true,
128
128
  subject: "Mathématiques",
129
129
  };
@@ -37,7 +37,7 @@ exports.extremumTypeFromAlgebricForm = {
37
37
  isSingleStep: true,
38
38
  sections: ["Second degré"],
39
39
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getExtremumTypeFromAlgebricFormQuestion, nb),
40
- answerType: "QCU",
40
+ answerType: "QCM",
41
41
  qcmTimer: 60,
42
42
  freeTimer: 60,
43
43
  getPropositions,
@@ -37,7 +37,7 @@ exports.variationsFromAlgebricForm = {
37
37
  isSingleStep: true,
38
38
  sections: ["Second degré"],
39
39
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getVariationsFromAlgebricFormQuestion, nb),
40
- answerType: "QCU",
40
+ answerType: "QCM",
41
41
  qcmTimer: 60,
42
42
  freeTimer: 60,
43
43
  getPropositions,
@@ -55,7 +55,7 @@ exports.convexityTrinomialsGeo = {
55
55
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getConvexityTrinomialsGeoQuestion, nb),
56
56
  qcmTimer: 60,
57
57
  freeTimer: 60,
58
- answerType: "QCU",
58
+ answerType: "QCM",
59
59
  getPropositions,
60
60
  isAnswerValid,
61
61
  hasGeogebra: true,
@@ -60,6 +60,6 @@ exports.alignementViaColinearity = {
60
60
  qcmTimer: 60,
61
61
  freeTimer: 60,
62
62
  getPropositions,
63
- answerType: "QCU",
63
+ answerType: "QCM",
64
64
  subject: "Mathématiques",
65
65
  };
@@ -55,6 +55,6 @@ exports.colinearity = {
55
55
  qcmTimer: 60,
56
56
  freeTimer: 60,
57
57
  getPropositions,
58
- answerType: "QCU",
58
+ answerType: "QCM",
59
59
  subject: "Mathématiques",
60
60
  };
@@ -190,7 +190,7 @@ exports.equalCaracteristicFromGraph = {
190
190
  freeTimer: 60,
191
191
  getPropositions,
192
192
  isAnswerValid,
193
- answerType: "QCU",
193
+ answerType: "QCM",
194
194
  hasGeogebra: true,
195
195
  subject: "Mathématiques",
196
196
  };
@@ -71,6 +71,6 @@ exports.paralellismViaColinearity = {
71
71
  qcmTimer: 60,
72
72
  freeTimer: 60,
73
73
  getPropositions,
74
- answerType: "QCU",
74
+ answerType: "QCM",
75
75
  subject: "Mathématiques",
76
76
  };
@@ -63,6 +63,6 @@ exports.parallelogramViaEqualVectors = {
63
63
  qcmTimer: 60,
64
64
  freeTimer: 60,
65
65
  getPropositions,
66
- answerType: "QCU",
66
+ answerType: "QCM",
67
67
  subject: "Mathématiques",
68
68
  };
@@ -23,7 +23,7 @@ const getScalarProductViaCoordsQuestion = () => {
23
23
  uCoords: [u.x.toTex(), u.y.toTex()],
24
24
  vCoords: [v.x.toTex(), v.y.toTex()],
25
25
  },
26
- hint: "Rappelez-vous que le produit scalaire de deux vecteurs se calcule en multipliant les coordonnées correspondantes et en additionnant les résultats.",
26
+ hint: "Le produit scalaire de deux vecteurs se calcule en multipliant les coordonnées correspondantes et en additionnant les résultats.",
27
27
  correction: `Le produit scalaire de $${u.toTex()}$ et $${v.toTex()}$ est calculé comme suit : $(${u.x.toTex()} \\times ${v.x.toTex()}) + (${u.y.toTex()} \\times ${v.y.toTex()}) = ${answer}$.`,
28
28
  };
29
29
  return question;
@@ -53,6 +53,6 @@ exports.matrixGeneralTerm = {
53
53
  freeTimer: 60,
54
54
  getPropositions,
55
55
  isAnswerValid,
56
- answerType: "QCU",
56
+ answerType: "QCM",
57
57
  subject: "Mathématiques",
58
58
  };
@@ -55,6 +55,6 @@ exports.independancy = {
55
55
  qcmTimer: 60,
56
56
  freeTimer: 60,
57
57
  getPropositions,
58
- answerType: "QCU",
58
+ answerType: "QCM",
59
59
  subject: "Mathématiques",
60
60
  };
@@ -97,7 +97,7 @@ exports.fineAdjustementExercise = {
97
97
  levels: ["TermSpé"],
98
98
  isSingleStep: true,
99
99
  hasGeogebra: true,
100
- answerType: "QCU",
100
+ answerType: "QCM",
101
101
  sections: ["Statistiques"],
102
102
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getFineAdjustementExerciseQuestion, nb),
103
103
  qcmTimer: 60,
@@ -67,6 +67,6 @@ exports.recognizeArithmeticFromFirstTerms = {
67
67
  freeTimer: 60,
68
68
  getPropositions,
69
69
  isAnswerValid,
70
- answerType: "QCU",
70
+ answerType: "QCM",
71
71
  subject: "Mathématiques",
72
72
  };
@@ -86,7 +86,7 @@ exports.recognizeArithmeticFromGraph = {
86
86
  freeTimer: 60,
87
87
  getPropositions,
88
88
  isAnswerValid,
89
- answerType: "QCU",
89
+ answerType: "QCM",
90
90
  hasGeogebra: true,
91
91
  subject: "Mathématiques",
92
92
  };
@@ -47,7 +47,7 @@ exports.genericSequenceVariations = {
47
47
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getGenericSequenceVariationsQuestion, nb),
48
48
  qcmTimer: 60,
49
49
  freeTimer: 60,
50
- answerType: "QCU",
50
+ answerType: "QCM",
51
51
  getPropositions,
52
52
  subject: "Mathématiques",
53
53
  };
@@ -90,7 +90,7 @@ const getCorrection = (sides, sideLengths, randSideQuestion, randSide, angle, an
90
90
  const opposite = sidesWithLentgh.filter((value) => value.name !== hypothenus.name && value.name !== adjacent.name)[0];
91
91
  const correctEquations = getCorrectEquations({ name: sides[randSideQuestion], length: sideLengths[randSideQuestion] }, { name: sides[randSide], length: sideLengths[randSide] }, hypothenus, { name: angle, value: angleValue }, adjacent, opposite, answer);
92
92
  return `On utilise la relation $${correctEquations[0]}$, on a donc :
93
- $${correctEquations[1]} \\Leftrightarrow ${correctEquations[2]} \\Leftrightarrow ${correctEquations[3]}$ `;
93
+ $${correctEquations[1]}$, donc $${correctEquations[2]}$. Ainsi $${correctEquations[3]}$ `;
94
94
  };
95
95
  const getCorrectEquations = (randSideQuestion, randSide, hypothenus, angle, adjacent, opposite, answer) => {
96
96
  let result;
@@ -101,12 +101,12 @@ const getCorrectEquations = (randSideQuestion, randSide, hypothenus, angle, adja
101
101
  ? [
102
102
  `\\tan(\\widehat{${angle.name}})=\\frac{${opposite.name}}{${adjacent.name}}`,
103
103
  `\\tan(\\widehat{${angle.value}})=\\frac{${opposite.length}}{${adjacent.name}}`,
104
- `\\frac{${opposite.length}}{\\tan(\\widehat{${angle.value}})}=${adjacent.name}`,
104
+ `${adjacent.name}=\\frac{${opposite.length}}{\\tan(\\widehat{${angle.value}})}`,
105
105
  ]
106
106
  : [
107
107
  `\\cos(\\widehat{${angle.name}})=\\frac{${adjacent.name}}{${hypothenus.name}}`,
108
108
  `\\cos(\\widehat{${angle.value}})=\\frac{${adjacent.name}}{${hypothenus.length}}`,
109
- `\\cos(\\widehat{${angle.value}})*${hypothenus.length}=${adjacent.name}`,
109
+ `${adjacent.name}=\\cos(\\widehat{${angle.value}})\\times${hypothenus.length}`,
110
110
  ];
111
111
  return result.concat(`${answer}=${adjacent.name}`);
112
112
  case opposite.name:
@@ -115,12 +115,12 @@ const getCorrectEquations = (randSideQuestion, randSide, hypothenus, angle, adja
115
115
  ? [
116
116
  `\\tan(\\widehat{${angle.name}})=\\frac{${opposite.name}}{${adjacent.name}}`,
117
117
  `\\tan(\\widehat{${angle.value}})=\\frac{${opposite.name}}{${adjacent.length}}`,
118
- `\\tan(\\widehat{${angle.value}})*${adjacent.length}=${opposite.name}`,
118
+ `${opposite.name}=\\tan(\\widehat{${angle.value}})*${adjacent.length}`,
119
119
  ]
120
120
  : [
121
121
  `\\sin(\\widehat{${angle.name}})=\\frac{${opposite.name}}{${hypothenus.name}}`,
122
122
  `\\sin(\\widehat{${angle.value}})=\\frac{${opposite.name}}{${hypothenus.length}}`,
123
- `\\sin(\\widehat{${angle.value}})*${hypothenus.length}=${opposite.name}`,
123
+ `${opposite.name}=\\sin(\\widehat{${angle.value}})\\times${hypothenus.length}`,
124
124
  ];
125
125
  return result.concat(`${answer}=${opposite.name}`);
126
126
  case hypothenus.name:
@@ -129,14 +129,14 @@ const getCorrectEquations = (randSideQuestion, randSide, hypothenus, angle, adja
129
129
  ? [
130
130
  `\\cos(\\widehat{${angle.name}})=\\frac{${adjacent.name}}{${hypothenus.name}}`,
131
131
  `\\cos(\\widehat{${angle.value}})=\\frac{${adjacent.length}}{${hypothenus.name}}`,
132
- `\\frac{${adjacent.length}}{\\cos(${angle.value})}=${hypothenus.name}`,
132
+ `${hypothenus.name}=\\frac{${adjacent.length}}{\\cos(${angle.value})}`,
133
133
  ]
134
134
  : [
135
135
  `\\sin(\\widehat{${angle.name}})=\\frac{${opposite.name}}{${hypothenus.name}}`,
136
136
  `\\sin(\\widehat{${angle.value}})=\\frac{${opposite.length}}{${hypothenus.name}}`,
137
- `\\frac{${opposite.length}}{\\sin(${angle.value})}=${hypothenus.name}`,
137
+ `${hypothenus.name}=\\frac{${opposite.length}}{\\sin(${angle.value})}`,
138
138
  ];
139
- return result.concat(`${answer}=${hypothenus.name}`);
139
+ return result.concat(`${hypothenus.name}=${answer}`);
140
140
  default:
141
141
  return [];
142
142
  }
@@ -54,5 +54,5 @@ exports.atomicStructureOfNucleus = {
54
54
  getPropositions,
55
55
  isAnswerValid,
56
56
  subject: "Chimie",
57
- answerType: "QCU",
57
+ answerType: "QCM",
58
58
  };
@@ -96,6 +96,6 @@ exports.identifyRightElectronicConfiguration = {
96
96
  getPropositions,
97
97
  isAnswerValid,
98
98
  subject: "Chimie",
99
- answerType: "QCU",
99
+ answerType: "QCM",
100
100
  maxAllowedQuestions: 16,
101
101
  };
@@ -55,5 +55,5 @@ exports.identifyLimitingReagent = {
55
55
  getPropositions,
56
56
  isAnswerValid,
57
57
  subject: "Chimie",
58
- answerType: "QCU",
58
+ answerType: "QCM",
59
59
  };
@@ -64,5 +64,5 @@ exports.identifyStoichiometricMixture = {
64
64
  getPropositions,
65
65
  isAnswerValid,
66
66
  subject: "Chimie",
67
- answerType: "QCU",
67
+ answerType: "QCM",
68
68
  };
@@ -47,5 +47,5 @@ exports.frequencyComparison = {
47
47
  getPropositions,
48
48
  isAnswerValid,
49
49
  subject: "Physique",
50
- answerType: "QCU",
50
+ answerType: "QCM",
51
51
  };
@@ -51,11 +51,11 @@ const getPropositions = (n, { answer, originIsMoon, weight }) => {
51
51
  const getCorrection = (origin, weight, answer, gt, gl) => {
52
52
  switch (origin) {
53
53
  case "Terre":
54
- 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=${(0, round_1.round)(weight / gt.evaluate(), 1)}$. \n \\
54
+ 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=${(0, round_1.round)(weight / gt.evaluate(), 1)}\\text{kg}$. \n \\
55
55
  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 = ${(0, frenchify_1.frenchify)(answer)}$.`;
56
56
  case "Lune":
57
57
  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$ :
58
- $m = \\frac{p_L}{g_L} \\Leftrightarrow m=${(0, round_1.round)(weight / gl.evaluate(), 1)}$. \n \\
58
+ $m = \\frac{p_L}{g_L} \\Leftrightarrow m=${(0, round_1.round)(weight / gl.evaluate(), 1)}\\text{kg}$. \n \\
59
59
  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$ :
60
60
  $p_T = m \\ \\cdot g_T \\Leftrightarrow p_T = ${(0, frenchify_1.frenchify)(answer)}$.`;
61
61
  default:
@@ -27,9 +27,9 @@ class Log10Node {
27
27
  }
28
28
  toTex() {
29
29
  const tex = this.child.toTex();
30
- if (!this.opts?.allowLnOfOne && tex === "1") {
31
- return "0";
32
- }
30
+ // if (!this.opts?.allowLnOfOne && tex === "1") {
31
+ // return "0";
32
+ // }
33
33
  const shouldntUseBrackets = (0, absNode_1.isAbsNode)(this.child);
34
34
  if (shouldntUseBrackets)
35
35
  return `\\log${tex}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "math-exercises",
3
- "version": "2.1.19",
3
+ "version": "2.1.21",
4
4
  "description": "Math exercises generator for middle school and high school",
5
5
  "main": "lib/index.js",
6
6
  "files": [