math-exercises 3.0.108 → 3.0.109

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 (81) hide show
  1. package/lib/exercises/math/calcul/arithmetics/divisibiltyCriteria.d.ts.map +1 -1
  2. package/lib/exercises/math/calcul/rounding/getPhysicalOrderOfMagnitude.d.ts +7 -0
  3. package/lib/exercises/math/calcul/rounding/getPhysicalOrderOfMagnitude.d.ts.map +1 -0
  4. package/lib/exercises/math/calcul/rounding/getPhysicalOrderOfMagnitude.js +197 -0
  5. package/lib/exercises/math/calcul/rounding/index.d.ts +1 -0
  6. package/lib/exercises/math/calcul/rounding/index.d.ts.map +1 -1
  7. package/lib/exercises/math/calcul/rounding/index.js +1 -0
  8. package/lib/exercises/math/calcul/writing/numberToFrenchWriting.js +0 -1
  9. package/lib/exercises/math/calculLitteral/factorisation/factoType2.d.ts.map +1 -1
  10. package/lib/exercises/math/calculLitteral/formulas/index.d.ts +2 -0
  11. package/lib/exercises/math/calculLitteral/formulas/index.d.ts.map +1 -0
  12. package/lib/exercises/math/calculLitteral/formulas/index.js +1 -0
  13. package/lib/exercises/math/calculLitteral/formulas/useFormula.d.ts +18 -0
  14. package/lib/exercises/math/calculLitteral/formulas/useFormula.d.ts.map +1 -0
  15. package/lib/exercises/math/calculLitteral/formulas/useFormula.js +208 -0
  16. package/lib/exercises/math/calculLitteral/index.d.ts +1 -0
  17. package/lib/exercises/math/calculLitteral/index.d.ts.map +1 -1
  18. package/lib/exercises/math/calculLitteral/index.js +1 -0
  19. package/lib/exercises/math/calculLitteral/writing/index.d.ts +2 -0
  20. package/lib/exercises/math/calculLitteral/writing/index.d.ts.map +1 -0
  21. package/lib/exercises/math/calculLitteral/writing/index.js +1 -0
  22. package/lib/exercises/math/calculLitteral/writing/writeLitExpFromFrenchExp.d.ts +33 -0
  23. package/lib/exercises/math/calculLitteral/writing/writeLitExpFromFrenchExp.d.ts.map +1 -0
  24. package/lib/exercises/math/calculLitteral/writing/writeLitExpFromFrenchExp.js +348 -0
  25. package/lib/exercises/math/dataRepresentations/functionGraphReading.d.ts.map +1 -1
  26. package/lib/exercises/math/dataRepresentations/pieChartReading.d.ts.map +1 -1
  27. package/lib/exercises/math/derivation/tangent/derivativeTangentEquationReading.d.ts.map +1 -1
  28. package/lib/exercises/math/derivation/variations/index.d.ts +1 -0
  29. package/lib/exercises/math/derivation/variations/index.d.ts.map +1 -1
  30. package/lib/exercises/math/derivation/variations/index.js +1 -0
  31. package/lib/exercises/math/derivation/variations/thirdDegreeDerivativeVariation.d.ts +10 -0
  32. package/lib/exercises/math/derivation/variations/thirdDegreeDerivativeVariation.d.ts.map +1 -0
  33. package/lib/exercises/math/derivation/variations/thirdDegreeDerivativeVariation.js +201 -0
  34. package/lib/exercises/math/functions/basics/graphicInequationAffine.d.ts.map +1 -1
  35. package/lib/exercises/math/functions/logarithm/index.d.ts +1 -0
  36. package/lib/exercises/math/functions/logarithm/index.d.ts.map +1 -1
  37. package/lib/exercises/math/functions/logarithm/index.js +1 -0
  38. package/lib/exercises/math/functions/logarithm/powerEquation.d.ts +11 -0
  39. package/lib/exercises/math/functions/logarithm/powerEquation.d.ts.map +1 -0
  40. package/lib/exercises/math/functions/logarithm/powerEquation.js +148 -0
  41. package/lib/exercises/math/functions/trinoms/parabole/paraboleExpressionReading.d.ts.map +1 -1
  42. package/lib/exercises/math/functions/trinoms/roots/rootsReading.d.ts.map +1 -1
  43. package/lib/exercises/math/functions/trinoms/roots/rootsReading.js +28 -5
  44. package/lib/exercises/math/functions/variations/varTableExtremaReading.d.ts.map +1 -1
  45. package/lib/exercises/math/geometry/angles/recognizeAngleType.d.ts.map +1 -1
  46. package/lib/exercises/math/geometry/cartesian/placeAPoint.d.ts.map +1 -1
  47. package/lib/exercises/math/geometry/cartesian/placeAPoint.js +14 -0
  48. package/lib/exercises/math/geometry/cartesian/readAbscissOnLine.d.ts.map +1 -1
  49. package/lib/exercises/math/geometry/cartesian/readAbscissOnSemiLine.d.ts.map +1 -1
  50. package/lib/exercises/math/geometry/euclidian/pythagoreOrThales.d.ts.map +1 -1
  51. package/lib/exercises/math/geometry/lines/linesRelativePositions.d.ts.map +1 -1
  52. package/lib/exercises/math/geometry/quadrilaterals/parallelogramAngles.d.ts.map +1 -1
  53. package/lib/exercises/math/geometry/quadrilaterals/quadrilateralRecognition.d.ts.map +1 -1
  54. package/lib/exercises/math/geometry/thales/thalesCalcul.d.ts.map +1 -1
  55. package/lib/exercises/math/geometry/triangles/triangleNature.d.ts.map +1 -1
  56. package/lib/exercises/math/geometry/triangles/triangleThirdAngleValue.d.ts.map +1 -1
  57. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOrthoInSquare.d.ts.map +1 -1
  58. package/lib/exercises/math/percent/evolutions/evolutionRateFromValues.d.ts.map +1 -1
  59. package/lib/exercises/math/percent/evolutions/findEndValueAfterEvolution.d.ts.map +1 -1
  60. package/lib/exercises/math/percent/evolutions/findStartValueAfterEvolution.d.ts.map +1 -1
  61. package/lib/exercises/math/percent/populationEffectifFromSubPopulation.d.ts.map +1 -1
  62. package/lib/exercises/math/percent/subPopulationEffectifFromPercent.d.ts.map +1 -1
  63. package/lib/exercises/math/sequences/arithmetic/arithmeticFindAntecedent.d.ts +9 -0
  64. package/lib/exercises/math/sequences/arithmetic/arithmeticFindAntecedent.d.ts.map +1 -0
  65. package/lib/exercises/math/sequences/arithmetic/arithmeticFindAntecedent.js +110 -0
  66. package/lib/exercises/math/sequences/arithmetic/index.d.ts +1 -0
  67. package/lib/exercises/math/sequences/arithmetic/index.d.ts.map +1 -1
  68. package/lib/exercises/math/sequences/arithmetic/index.js +1 -0
  69. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesInPrism.d.ts.map +1 -1
  70. package/lib/exercises/math/trigonometry/arcLength.d.ts.map +1 -1
  71. package/lib/exercises/math/trigonometry/basicEquationCos.d.ts.map +1 -1
  72. package/lib/exercises/math/trigonometry/basicEquationSin.d.ts.map +1 -1
  73. package/lib/exercises/math/trigonometry/basicTrigoSystemEquation.d.ts.map +1 -1
  74. package/lib/exercises/math/trigonometry/degreeToRadians.d.ts.map +1 -1
  75. package/lib/exercises/math/trigonometry/mainAngleMeasure.d.ts.map +1 -1
  76. package/lib/index.d.ts +25 -0
  77. package/lib/index.d.ts.map +1 -1
  78. package/lib/tree/nodes/equations/equalNode.d.ts +1 -1
  79. package/lib/tree/nodes/equations/equalNode.d.ts.map +1 -1
  80. package/lib/tree/nodes/equations/equalNode.js +5 -5
  81. package/package.json +1 -1
@@ -0,0 +1,148 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, GeneratorOptionType, GeneratorOptionTarget, } from "../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { randint } from "../../../../math/utils/random/randint.js";
4
+ import { round } from "../../../../math/utils/round.js";
5
+ import { Log10Node } from "../../../../tree/nodes/functions/log10Node.js";
6
+ import { LogNode } from "../../../../tree/nodes/functions/logNode.js";
7
+ import { NumberNode } from "../../../../tree/nodes/numbers/numberNode.js";
8
+ import { frac } from "../../../../tree/nodes/operators/fractionNode.js";
9
+ import { multiply } from "../../../../tree/nodes/operators/multiplyNode.js";
10
+ import { power } from "../../../../tree/nodes/operators/powerNode.js";
11
+ import { VariableNode } from "../../../../tree/nodes/variables/variableNode.js";
12
+ import { parseAlgebraic } from "../../../../tree/parsers/latexParser.js";
13
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
14
+ import { alignTex } from "../../../../utils/latex/alignTex.js";
15
+ const getPropositions = (n, { answer, ...identifiers }, opts) => {
16
+ const { a, b } = identifiers;
17
+ const propositions = [];
18
+ const logNode = opts?.useLog10 ? Log10Node : LogNode;
19
+ addValidProp(propositions, answer);
20
+ tryToAddWrongProp(propositions, frac(a, b).simplify().toTex());
21
+ tryToAddWrongProp(propositions, frac(new logNode(a.toTree()), new logNode(b.toTree())).simplify().toTex());
22
+ tryToAddWrongProp(propositions, frac(new logNode(a.toTree()), b).simplify().toTex());
23
+ tryToAddWrongProp(propositions, frac(a, new logNode(b.toTree())).simplify().toTex());
24
+ return shuffleProps(propositions, n);
25
+ };
26
+ const getAnswer = (identifiers, opts) => {
27
+ const { a, b } = identifiers;
28
+ const logNode = opts?.useLog10 ? Log10Node : LogNode;
29
+ return frac(new logNode(new NumberNode(b)), new logNode(new NumberNode(a)))
30
+ .simplify()
31
+ .toTex();
32
+ };
33
+ const getInstruction = (identifiers) => {
34
+ const { a, b } = identifiers;
35
+ return `Résoudre :
36
+
37
+ $$
38
+ ${a}^x = ${b}
39
+ $$
40
+
41
+ *Donner la valeur exacte ou une valeur arrondie au centième.*`;
42
+ };
43
+ const getHint = (identifiers, opts) => {
44
+ const logNode = opts?.useLog10 ? Log10Node : LogNode;
45
+ return `Utilise la propriété :
46
+
47
+ $$
48
+ ${new logNode(power("a", "x")).toTex()} = ${multiply("x", new logNode(new VariableNode("a"))).toTex()}
49
+ $$`;
50
+ };
51
+ const getCorrection = (identifiers, opts) => {
52
+ const answer = getAnswer(identifiers, opts);
53
+ const { a, b } = identifiers;
54
+ const logNode = opts?.useLog10 ? Log10Node : LogNode;
55
+ const steps = [
56
+ [
57
+ "",
58
+ new logNode(power(a, "x")).toTex(),
59
+ "=",
60
+ new logNode(new NumberNode(b)).toTex(),
61
+ ],
62
+ [
63
+ "\\iff",
64
+ multiply("x", new logNode(new NumberNode(a))).toTex(),
65
+ "=",
66
+ new logNode(new NumberNode(b)).toTex(),
67
+ ],
68
+ [
69
+ "\\iff",
70
+ "x",
71
+ "=",
72
+ frac(new logNode(new NumberNode(b)), new logNode(new NumberNode(a))).toTex(),
73
+ ],
74
+ ];
75
+ const lastStep = frac(new logNode(new NumberNode(b)), new logNode(new NumberNode(a)));
76
+ if (lastStep.toTex() !== answer)
77
+ steps.push(["\\iff", "x", "=", answer]);
78
+ return `En appliquant le logarithme des deux côtés de l'équation, on obtient :
79
+
80
+ ${alignTex(steps)}
81
+
82
+ La solution de l'équation est donc :
83
+
84
+ $$
85
+ ${answer} \\approx ${round(lastStep.evaluate(), 2).frenchify()}
86
+ $$`;
87
+ };
88
+ const isAnswerValid = (ans, { answer }) => {
89
+ try {
90
+ const parsed = parseAlgebraic(ans);
91
+ const value = parsed.evaluate();
92
+ const answerValue = parseAlgebraic(answer).evaluate();
93
+ console.log(value, answerValue);
94
+ if (Math.abs(value - answerValue) < 0.01)
95
+ return true;
96
+ return parsed.simplify().toTex() === answer;
97
+ }
98
+ catch (err) {
99
+ return handleVEAError(err);
100
+ }
101
+ };
102
+ const getKeys = (identifiers, opts) => {
103
+ return opts?.useLog10 ? ["logBrackets"] : ["lnBrackets"];
104
+ };
105
+ const getPowerEquationQuestion = (opts) => {
106
+ const a = randint(2, 20, [10]);
107
+ const b = randint(2, 20, [10, a]);
108
+ const identifiers = { a, b };
109
+ return getQuestionFromIdentifiers(identifiers, opts);
110
+ };
111
+ const getQuestionFromIdentifiers = (identifiers, opts) => {
112
+ return {
113
+ answer: getAnswer(identifiers, opts),
114
+ instruction: getInstruction(identifiers, opts),
115
+ keys: getKeys(identifiers, opts),
116
+ answerFormat: "tex",
117
+ identifiers,
118
+ hint: getHint(identifiers, opts),
119
+ correction: getCorrection(identifiers, opts),
120
+ };
121
+ };
122
+ const options = [
123
+ {
124
+ id: "useLog10",
125
+ label: "Utiliser le logarithme décimal",
126
+ target: GeneratorOptionTarget.answer,
127
+ type: GeneratorOptionType.checkbox,
128
+ defaultValue: false,
129
+ },
130
+ ];
131
+ export const powerEquation = {
132
+ id: "powerEquation",
133
+ label: "Résoudre une équation de type $a^x = b$",
134
+ isSingleStep: true,
135
+ generator: (nb, opts) => getDistinctQuestions(() => getPowerEquationQuestion(opts), nb),
136
+ qcmTimer: 60,
137
+ freeTimer: 60,
138
+ getPropositions,
139
+ isAnswerValid,
140
+ subject: "Mathématiques",
141
+ getInstruction,
142
+ getHint,
143
+ getCorrection,
144
+ getAnswer,
145
+ getQuestionFromIdentifiers,
146
+ hasHintAndCorrection: true,
147
+ options,
148
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"paraboleExpressionReading.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/parabole/paraboleExpressionReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;CAIpB,CAAC;AA4SF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAe3D,CAAC"}
1
+ {"version":3,"file":"paraboleExpressionReading.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/parabole/paraboleExpressionReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;CAIpB,CAAC;AA4SF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAe3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rootsReading.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/roots/rootsReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAyEF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,CAY9C,CAAC"}
1
+ {"version":3,"file":"rootsReading.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/roots/rootsReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAmGF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,CAY9C,CAAC"}
@@ -4,15 +4,27 @@ import { randomColor } from "../../../../../geogebra/colors.js";
4
4
  import { GeogebraConstructor } from "../../../../../geogebra/geogebraConstructor.js";
5
5
  import { Trinom, TrinomConstructor } from "../../../../../math/polynomials/trinom.js";
6
6
  import { randint } from "../../../../../math/utils/random/randint.js";
7
+ import { divide } from "../../../../../tree/nodes/operators/divideNode.js";
8
+ import { multiply } from "../../../../../tree/nodes/operators/multiplyNode.js";
9
+ import { probaLawFlip } from "../../../../../utils/alea/probaLawFlip.js";
7
10
  const getInstruction = (identifiers) => {
8
- return `Déterminer graphiquement le ou les racine(s) du polynôme du second degré représenté ci-dessous : `;
11
+ return `Déterminer graphiquement le ou les racine(s) du polynôme du second degré représenté ci-dessous.
12
+
13
+ S'il n'y en a pas, on écrira "Aucun".`;
9
14
  };
10
15
  const getAnswer = (identifiers) => {
11
16
  const { a, b, c } = identifiers;
12
17
  const trinom = new Trinom(a, b, c);
13
18
  const roots = trinom.getRoots();
14
- const answer = roots.length === 1 ? roots[0].toString() : roots.join("\\text{ et }");
15
- return answer;
19
+ switch (roots.length) {
20
+ case 0:
21
+ return "\\text{Aucun}";
22
+ case 1:
23
+ return roots[0].toString();
24
+ case 2:
25
+ default:
26
+ return roots.join("\\text{ et }");
27
+ }
16
28
  };
17
29
  const getGGBOptions = (identifiers) => {
18
30
  const { a, b, c } = identifiers;
@@ -28,7 +40,12 @@ const getGGBOptions = (identifiers) => {
28
40
  return ggb.getOptions({ coords: trinom.getCoords() });
29
41
  };
30
42
  const getRootsReadingQuestion = () => {
31
- const trinom = TrinomConstructor.randomNiceRoots(randint(1, 3));
43
+ const nbRoots = probaLawFlip([
44
+ [0, 0.2],
45
+ [1, 0.4],
46
+ [2, 0.4],
47
+ ]);
48
+ const trinom = TrinomConstructor.randomNiceRoots(nbRoots);
32
49
  const identifiers = { a: trinom.a, b: trinom.b, c: trinom.c };
33
50
  return getQuestionFromIdentifiers(identifiers);
34
51
  };
@@ -43,9 +60,12 @@ const getQuestionFromIdentifiers = (identifiers) => {
43
60
  };
44
61
  return question;
45
62
  };
46
- const getPropositions = (n, { answer }) => {
63
+ const getPropositions = (n, { answer, ...identifiers }) => {
47
64
  const propositions = [];
48
65
  addValidProp(propositions, answer);
66
+ tryToAddWrongProp(propositions, "\\text{Aucun}");
67
+ const { a, b, c } = identifiers;
68
+ tryToAddWrongProp(propositions, divide(-b, multiply(2, a)).simplify().toTex());
49
69
  while (propositions.length < n) {
50
70
  const x1 = randint(-10, 10);
51
71
  const x2 = randint(-10, 10, [x1]);
@@ -56,6 +76,9 @@ const getPropositions = (n, { answer }) => {
56
76
  };
57
77
  const isAnswerValid = (ans, { answer, a, b, c }) => {
58
78
  const roots = new Trinom(a, b, c).getRoots();
79
+ if (!roots.length) {
80
+ return ans === "\\text{Aucun}";
81
+ }
59
82
  const studentNumbers = ans
60
83
  .replaceAll("\\text{ }", "")
61
84
  .split("\\text{ et }")
@@ -1 +1 @@
1
- {"version":3,"file":"varTableExtremaReading.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/variations/varTableExtremaReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAsBT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAyPF,KAAK,OAAO,GAAG;IACb,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAWF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAgBjE,CAAC"}
1
+ {"version":3,"file":"varTableExtremaReading.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/variations/varTableExtremaReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAoBT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAyPF,KAAK,OAAO,GAAG;IACb,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAWF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAgBjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"recognizeAngleType.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/angles/recognizeAngleType.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AASrC,OAAO,EAGL,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAWtC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAwVF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAcpD,CAAC"}
1
+ {"version":3,"file":"recognizeAngleType.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/angles/recognizeAngleType.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AASrC,OAAO,EAGL,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAWtC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAwVF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAcpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"placeAPoint.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/placeAPoint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAmD5C,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAU/C,CAAC"}
1
+ {"version":3,"file":"placeAPoint.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/placeAPoint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAiE5C,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAW/C,CAAC"}
@@ -7,6 +7,17 @@ const getInstruction = (identifiers) => {
7
7
  const point = new Point("A", identifiers.x, identifiers.y);
8
8
  return `Placer le point $A$ de coordonnées $${point.toTexWithCoords()}$.`;
9
9
  };
10
+ const getHint = (identifiers) => {
11
+ return `Le point $A(x;y)$ a pour abscisse $x$ et pour ordonnée $y$.
12
+
13
+ L'abscisse se lit sur l'axe horizontal. L'ordonnée se lit sur l'axe verticale.`;
14
+ };
15
+ const getCorrection = (identifiers) => {
16
+ const { x, y } = identifiers;
17
+ return `Le point $A$ a pour abcsisse $${x}$ et pour ordonnée $${y}$.
18
+
19
+ On se place donc à $${x}$ sur l'axe des abscisses (axe horizontal), puis à $${y}$ sur l'axe des ordonnées (axe vertical).`;
20
+ };
10
21
  const getGGBAnswer = (identifiers) => {
11
22
  const { x, y } = identifiers;
12
23
  return [`(${x},${y})`];
@@ -34,6 +45,8 @@ const getQuestionFromIdentifiers = (identifiers) => {
34
45
  keys: [],
35
46
  studentGgbOptions: getStudentGGBOptions(identifiers),
36
47
  identifiers,
48
+ hint: getHint(identifiers),
49
+ correction: getCorrection(identifiers),
37
50
  };
38
51
  return question;
39
52
  };
@@ -54,4 +67,5 @@ export const testGGBAnswer = {
54
67
  isGGBAnswerValid,
55
68
  subject: "Mathématiques",
56
69
  getQuestionFromIdentifiers,
70
+ hasHintAndCorrection: true,
57
71
  };
@@ -1 +1 @@
1
- {"version":3,"file":"readAbscissOnLine.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/readAbscissOnLine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAgB1D,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA6LF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAkBnD,CAAC"}
1
+ {"version":3,"file":"readAbscissOnLine.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/readAbscissOnLine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAgB1D,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA6LF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAkBnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"readAbscissOnSemiLine.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/readAbscissOnSemiLine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAc1D,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAqLF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAkBvD,CAAC"}
1
+ {"version":3,"file":"readAbscissOnSemiLine.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/readAbscissOnSemiLine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAc1D,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAqLF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAkBvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pythagoreOrThales.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/euclidian/pythagoreOrThales.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAGL,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAkBtC,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IAEzB,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;CAQnB,CAAC;AA4RF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAuBnD,CAAC"}
1
+ {"version":3,"file":"pythagoreOrThales.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/euclidian/pythagoreOrThales.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAGL,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAkBtC,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IAEzB,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;CAQnB,CAAC;AA4RF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAuBnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"linesRelativePositions.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/lines/linesRelativePositions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAE/D,WAAW,EAAE,MAAM,CAAC;CAKrB,CAAC;AAyKF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAqBxD,CAAC"}
1
+ {"version":3,"file":"linesRelativePositions.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/lines/linesRelativePositions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAE/D,WAAW,EAAE,MAAM,CAAC;CAKrB,CAAC;AAyKF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAqBxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parallelogramAngles.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/quadrilaterals/parallelogramAngles.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAEL,wBAAwB,EACzB,MAAM,qDAAqD,CAAC;AAO7D,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,wBAAwB,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AA6IF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAoBrD,CAAC"}
1
+ {"version":3,"file":"parallelogramAngles.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/quadrilaterals/parallelogramAngles.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAEL,wBAAwB,EACzB,MAAM,qDAAqD,CAAC;AAO7D,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,wBAAwB,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AA6IF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAoBrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"quadrilateralRecognition.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/quadrilaterals/quadrilateralRecognition.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAEL,wBAAwB,EACzB,MAAM,qDAAqD,CAAC;AAE7D,OAAO,EAEL,oBAAoB,EACrB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAGL,kBAAkB,EACnB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAEL,iBAAiB,EAClB,MAAM,8CAA8C,CAAC;AAItD,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EACZ,oBAAoB,GACpB,iBAAiB,GACjB,kBAAkB,GAClB,wBAAwB,CAAC;CAC9B,CAAC;AA+MF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAqB1D,CAAC"}
1
+ {"version":3,"file":"quadrilateralRecognition.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/quadrilaterals/quadrilateralRecognition.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAEL,wBAAwB,EACzB,MAAM,qDAAqD,CAAC;AAE7D,OAAO,EAEL,oBAAoB,EACrB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAGL,kBAAkB,EACnB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAEL,iBAAiB,EAClB,MAAM,8CAA8C,CAAC;AAItD,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EACZ,oBAAoB,GACpB,iBAAiB,GACjB,kBAAkB,GAClB,wBAAwB,CAAC;CAC9B,CAAC;AA+MF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAqB1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"thalesCalcul.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/thales/thalesCalcul.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAsBT,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAGL,mBAAmB,EACpB,MAAM,2CAA2C,CAAC;AAanD,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AA4OF,KAAK,OAAO,GAAG;IACb,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAqEF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CA0BvD,CAAC"}
1
+ {"version":3,"file":"thalesCalcul.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/thales/thalesCalcul.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAoBT,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAGL,mBAAmB,EACpB,MAAM,2CAA2C,CAAC;AAanD,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AA4OF,KAAK,OAAO,GAAG;IACb,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAqEF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CA0BvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"triangleNature.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/triangles/triangleNature.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAEL,mBAAmB,EACpB,MAAM,2CAA2C,CAAC;AAKnD,KAAK,WAAW,GAAG;IACjB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAoLF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAoBhD,CAAC"}
1
+ {"version":3,"file":"triangleNature.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/triangles/triangleNature.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAEL,mBAAmB,EACpB,MAAM,2CAA2C,CAAC;AAKnD,KAAK,WAAW,GAAG;IACjB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAoLF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAoBhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"triangleThirdAngleValue.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/triangles/triangleThirdAngleValue.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAGL,mBAAmB,EAEpB,MAAM,2CAA2C,CAAC;AASnD,KAAK,WAAW,GAAG;IACjB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AA0JF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAoBzD,CAAC"}
1
+ {"version":3,"file":"triangleThirdAngleValue.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/triangles/triangleThirdAngleValue.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAGL,mBAAmB,EAEpB,MAAM,2CAA2C,CAAC;AASnD,KAAK,WAAW,GAAG;IACjB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AA0JF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAoBzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scalarProductOrthoInSquare.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/geometry/vectors/scalarProduct/scalarProductOrthoInSquare.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAerC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAsKF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAkB5D,CAAC"}
1
+ {"version":3,"file":"scalarProductOrthoInSquare.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/geometry/vectors/scalarProduct/scalarProductOrthoInSquare.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAerC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAsKF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAkB5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"evolutionRateFromValues.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/percent/evolutions/evolutionRateFromValues.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAyGF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAgBzD,CAAC"}
1
+ {"version":3,"file":"evolutionRateFromValues.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/percent/evolutions/evolutionRateFromValues.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAyGF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAgBzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"findEndValueAfterEvolution.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/percent/evolutions/findEndValueAfterEvolution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAiGF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAiB5D,CAAC"}
1
+ {"version":3,"file":"findEndValueAfterEvolution.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/percent/evolutions/findEndValueAfterEvolution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAiGF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAiB5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"findStartValueAfterEvolution.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/percent/evolutions/findStartValueAfterEvolution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAiGF,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,WAAW,CAiB9D,CAAC"}
1
+ {"version":3,"file":"findStartValueAfterEvolution.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/percent/evolutions/findStartValueAfterEvolution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAiGF,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,WAAW,CAiB9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"populationEffectifFromSubPopulation.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/percent/populationEffectifFromSubPopulation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAsJF,eAAO,MAAM,mCAAmC,EAAE,QAAQ,CAAC,WAAW,CAiBrE,CAAC"}
1
+ {"version":3,"file":"populationEffectifFromSubPopulation.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/percent/populationEffectifFromSubPopulation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAsJF,eAAO,MAAM,mCAAmC,EAAE,QAAQ,CAAC,WAAW,CAiBrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"subPopulationEffectifFromPercent.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/percent/subPopulationEffectifFromPercent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AA2GF,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,WAAW,CAgBlE,CAAC"}
1
+ {"version":3,"file":"subPopulationEffectifFromPercent.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/percent/subPopulationEffectifFromPercent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AA2GF,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,WAAW,CAgBlE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ a: number;
4
+ b: number;
5
+ n: number;
6
+ };
7
+ export declare const arithmeticFindAntecedent: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=arithmeticFindAntecedent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arithmeticFindAntecedent.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/sequences/arithmetic/arithmeticFindAntecedent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAqBrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA2HF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAiB1D,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { numberVEA } from "../../../../exercises/vea/numberVEA.js";
4
+ import { Affine, AffineConstructor } from "../../../../math/polynomials/affine.js";
5
+ import { randint } from "../../../../math/utils/random/randint.js";
6
+ import { EqualNode, equationResolutionTex, } from "../../../../tree/nodes/equations/equalNode.js";
7
+ import { NumberNode, NumberNodeConstructor, } from "../../../../tree/nodes/numbers/numberNode.js";
8
+ const varName = "n";
9
+ const getInstruction = (identifiers) => {
10
+ const { a, b, n } = identifiers;
11
+ const affineWithN = new Affine(a, b, varName);
12
+ const u = affineWithN.calculate(n);
13
+ const affineWithNTex = affineWithN.toTree().toTex();
14
+ const uTex = u.frenchify();
15
+ return `On donne la suite numérique $u$ définie par :
16
+
17
+ $$
18
+ u_${varName}= ${affineWithNTex}
19
+ $$
20
+
21
+ Calculer la valeur de $ ${varName} $ pour laquelle $ u_${varName} = ${uTex} $.`;
22
+ };
23
+ const getPropositions = (nb_prop, { answer, a, b, n }) => {
24
+ const propositions = [];
25
+ addValidProp(propositions, answer);
26
+ const affineWithN = new Affine(a, b, varName);
27
+ const u = affineWithN.calculate(n);
28
+ tryToAddWrongProp(propositions, new Affine(a, b).solve(0).toTex());
29
+ tryToAddWrongProp(propositions, affineWithN.calculate(u).toTree().toTex());
30
+ tryToAddWrongProp(propositions, new NumberNode(n + 1).toTex());
31
+ if (propositions.length < nb_prop) {
32
+ if (n - 1 >= 0) {
33
+ tryToAddWrongProp(propositions, new NumberNode(n - 1).toTex());
34
+ }
35
+ }
36
+ while (propositions.length < nb_prop) {
37
+ const wrongAnswer = NumberNodeConstructor.random(0, 20);
38
+ tryToAddWrongProp(propositions, wrongAnswer.toTex());
39
+ }
40
+ return shuffleProps(propositions, nb_prop);
41
+ };
42
+ const getAnswer = (identifiers) => {
43
+ const { n } = identifiers;
44
+ return n.frenchify();
45
+ };
46
+ const getHint = (identifiers) => {
47
+ // const {affineWithNTex, uTex} = getTailoredTex(identifiers);
48
+ const { a, b, n } = identifiers;
49
+ const affineWithN = new Affine(a, b, varName);
50
+ const u = affineWithN.calculate(n);
51
+ const equationNode = new EqualNode(affineWithN.toTree(), new NumberNode(u));
52
+ const equationTex = equationNode.toTex();
53
+ return `Résous l'équation $${equationTex} $.`;
54
+ };
55
+ /*
56
+ a n + b = k
57
+ n = (k - b) / a
58
+ */
59
+ const getCorrection = (identifiers) => {
60
+ const { a, b, n } = identifiers;
61
+ const affineWithN = new Affine(a, b, varName);
62
+ const u = affineWithN.calculate(n);
63
+ return `On résout l'équation $u_${varName} = ${u}$ :
64
+
65
+ $$
66
+ ${equationResolutionTex(a.toTree(), b.toTree(), (0).toTree(), u.toTree(), varName)}
67
+ $$`;
68
+ };
69
+ const getKeys = (identifiers) => {
70
+ return [];
71
+ };
72
+ const isAnswerValid = (ans, { answer, a, b, n }) => {
73
+ return numberVEA(ans, answer);
74
+ };
75
+ const getArithmeticFindAntecedentQuestion = (ops) => {
76
+ const affine = AffineConstructor.random(undefined, {
77
+ excludes: [0],
78
+ });
79
+ const n = randint(0, 20, []);
80
+ const identifiers = { a: affine.a, b: affine.b, n: n };
81
+ return getQuestionFromIdentifiers(identifiers);
82
+ };
83
+ const getQuestionFromIdentifiers = (identifiers) => {
84
+ return {
85
+ answer: getAnswer(identifiers),
86
+ instruction: getInstruction(identifiers),
87
+ keys: getKeys(identifiers),
88
+ answerFormat: "tex",
89
+ identifiers,
90
+ hint: getHint(identifiers),
91
+ correction: getCorrection(identifiers),
92
+ };
93
+ };
94
+ export const arithmeticFindAntecedent = {
95
+ id: "arithmeticFindAntecedent",
96
+ label: "Déterminer un antécedent via une suite arithmétique",
97
+ isSingleStep: true,
98
+ generator: (nb, opts) => getDistinctQuestions(() => getArithmeticFindAntecedentQuestion(opts), nb),
99
+ qcmTimer: 60,
100
+ freeTimer: 60,
101
+ getPropositions,
102
+ isAnswerValid,
103
+ subject: "Mathématiques",
104
+ getInstruction,
105
+ getHint,
106
+ getCorrection,
107
+ getAnswer,
108
+ getQuestionFromIdentifiers,
109
+ hasHintAndCorrection: true,
110
+ };
@@ -14,4 +14,5 @@ export * from "./arithmeticFindExplictFormulaFirstTermRandom.js";
14
14
  export * from "./arithmeticFindReasonRandomRange.js";
15
15
  export * from "./arithmeticFindRandomTermFromTwoTerms.js";
16
16
  export * from "./arithmeticFindTerm.js";
17
+ export * from "./arithmeticFindAntecedent.js";
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/sequences/arithmetic/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kDAAkD,CAAC;AACjE,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/sequences/arithmetic/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kDAAkD,CAAC;AACjE,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC"}
@@ -14,3 +14,4 @@ export * from "./arithmeticFindExplictFormulaFirstTermRandom.js";
14
14
  export * from "./arithmeticFindReasonRandomRange.js";
15
15
  export * from "./arithmeticFindRandomTermFromTwoTerms.js";
16
16
  export * from "./arithmeticFindTerm.js";
17
+ export * from "./arithmeticFindAntecedent.js";
@@ -1 +1 @@
1
- {"version":3,"file":"spaceCoordinatesInPrism.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/spaceGeometry/basis/spaceCoordinatesInPrism.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AA8KF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAazD,CAAC"}
1
+ {"version":3,"file":"spaceCoordinatesInPrism.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/spaceGeometry/basis/spaceCoordinatesInPrism.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AA8KF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAazD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"arcLength.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/trigonometry/arcLength.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,EAAE,GAAG,GAAG,SAAS,CAAC;IACnC,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AA2GF,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,WAAW,CAc3C,CAAC"}
1
+ {"version":3,"file":"arcLength.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/trigonometry/arcLength.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,EAAE,GAAG,GAAG,SAAS,CAAC;IACnC,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AA2GF,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,WAAW,CAc3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"basicEquationCos.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/trigonometry/basicEquationCos.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAerC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAmFF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAelD,CAAC"}
1
+ {"version":3,"file":"basicEquationCos.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/trigonometry/basicEquationCos.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAerC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAmFF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAelD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"basicEquationSin.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/trigonometry/basicEquationSin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA+FF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAelD,CAAC"}
1
+ {"version":3,"file":"basicEquationSin.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/trigonometry/basicEquationSin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA+FF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAelD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"basicTrigoSystemEquation.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/trigonometry/basicTrigoSystemEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAgFF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAgB1D,CAAC"}
1
+ {"version":3,"file":"basicTrigoSystemEquation.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/trigonometry/basicTrigoSystemEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAgFF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAgB1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"degreeToRadians.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/trigonometry/degreeToRadians.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAiBrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,GAAG,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AA8JF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAejD,CAAC"}
1
+ {"version":3,"file":"degreeToRadians.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/trigonometry/degreeToRadians.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAiBrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,GAAG,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AA8JF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAejD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mainAngleMeasure.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/trigonometry/mainAngleMeasure.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,GAAG,CAAC;CACd,CAAC;AAiGF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAclD,CAAC"}
1
+ {"version":3,"file":"mainAngleMeasure.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/trigonometry/mainAngleMeasure.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,GAAG,CAAC;CACd,CAAC;AAiGF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAclD,CAAC"}
package/lib/index.d.ts CHANGED
@@ -231,6 +231,8 @@ declare const mathExercises: (Exercise<{
231
231
  }, {
232
232
  precisionAsked: number;
233
233
  }> | Exercise<{
234
+ factIndex: number;
235
+ }, {}> | Exercise<{
234
236
  nb: number;
235
237
  rankAsked: number;
236
238
  }, {}> | Exercise<{
@@ -522,6 +524,15 @@ declare const mathExercises: (Exercise<{
522
524
  sysIds: import("./math/systems/generalSystem.js").GeneralSystemIdentifiers;
523
525
  x: number;
524
526
  y: number;
527
+ }, {}> | Exercise<{
528
+ formula: {
529
+ title: string;
530
+ func: (variables: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[]) => import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
531
+ variables: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
532
+ variableNames: string[];
533
+ keys: (import("./types/keyIds.js").KeyId | import("./types/keyProps.js").KeyProps)[];
534
+ };
535
+ values: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
525
536
  }, {}> | Exercise<{
526
537
  word: string;
527
538
  }, {}> | Exercise<{
@@ -719,6 +730,11 @@ declare const mathExercises: (Exercise<{
719
730
  coin: number;
720
731
  racine1: number;
721
732
  racine2: number;
733
+ }, {}> | Exercise<{
734
+ a: number;
735
+ coin: number;
736
+ r1: number;
737
+ r2: number;
722
738
  }, {}> | Exercise<{
723
739
  a: number;
724
740
  b: number;
@@ -1077,6 +1093,11 @@ declare const mathExercises: (Exercise<{
1077
1093
  isLog10: boolean;
1078
1094
  }, {
1079
1095
  isLog10: boolean;
1096
+ }> | Exercise<{
1097
+ a: number;
1098
+ b: number;
1099
+ }, {
1100
+ useLog10?: boolean;
1080
1101
  }> | Exercise<{
1081
1102
  type: string;
1082
1103
  fctTex: string;
@@ -2256,6 +2277,10 @@ declare const mathExercises: (Exercise<{
2256
2277
  firstTerm: number;
2257
2278
  reason: number;
2258
2279
  askedRank: number;
2280
+ }, {}> | Exercise<{
2281
+ a: number;
2282
+ b: number;
2283
+ n: number;
2259
2284
  }, {}> | Exercise<{
2260
2285
  firstValue: number;
2261
2286
  reason: number;