math-exercises 2.2.65 → 2.2.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 (86) hide show
  1. package/lib/exercises/math/calcul/fractions/fractionAndIntegerSum.d.ts +1 -0
  2. package/lib/exercises/math/calcul/fractions/fractionAndIntegerSum.d.ts.map +1 -1
  3. package/lib/exercises/math/calcul/fractions/fractionAndIntegerSum.js +51 -37
  4. package/lib/exercises/math/calcul/fractions/fractionsSum.d.ts.map +1 -1
  5. package/lib/exercises/math/calcul/fractions/fractionsSumsMultiplesDenominators.d.ts.map +1 -1
  6. package/lib/exercises/math/calcul/fractions/fractionsSumsPrimeDenominators.d.ts.map +1 -1
  7. package/lib/exercises/math/calcul/proportionality/findCoeffInProportionalTableNonIntegers.d.ts.map +1 -1
  8. package/lib/exercises/math/calcul/proportionality/findCoeffInProportionalTableNonIntegers.js +8 -3
  9. package/lib/exercises/math/calculLitteral/distributivity/firstIdentity.js +1 -1
  10. package/lib/exercises/math/calculLitteral/equation/choseOperationToSolveEquation.d.ts +1 -0
  11. package/lib/exercises/math/calculLitteral/equation/choseOperationToSolveEquation.d.ts.map +1 -0
  12. package/lib/exercises/math/calculLitteral/equation/choseOperationToSolveEquation.js +122 -0
  13. package/lib/exercises/math/calculLitteral/equation/equationType2Exercise.d.ts +9 -3
  14. package/lib/exercises/math/calculLitteral/equation/equationType2Exercise.d.ts.map +1 -1
  15. package/lib/exercises/math/calculLitteral/equation/equationType2Exercise.js +64 -17
  16. package/lib/exercises/math/functions/affines/algebricExpressionOfAffine.js +1 -1
  17. package/lib/exercises/math/functions/trinoms/coefficientsIdentification.d.ts.map +1 -1
  18. package/lib/exercises/math/functions/trinoms/coefficientsIdentification.js +8 -3
  19. package/lib/exercises/math/geometry/cartesian/distanceBetweenTwoPoints.d.ts.map +1 -1
  20. package/lib/exercises/math/geometry/cartesian/distanceBetweenTwoPoints.js +3 -1
  21. package/lib/exercises/math/geometry/cartesian/drawAlineInGGB.d.ts.map +1 -1
  22. package/lib/exercises/math/geometry/cartesian/drawAlineInGGB.js +1 -2
  23. package/lib/exercises/math/geometry/cartesian/placeAPoint.d.ts.map +1 -1
  24. package/lib/exercises/math/geometry/cartesian/placeAPoint.js +1 -2
  25. package/lib/exercises/math/geometry/euclidianConstructions/buildMediatriceWithCompass.d.ts.map +1 -1
  26. package/lib/exercises/math/geometry/euclidianConstructions/buildMediatriceWithCompass.js +1 -2
  27. package/lib/exercises/math/geometry/vectors/drawAVectorInGGB.d.ts.map +1 -1
  28. package/lib/exercises/math/geometry/vectors/drawAVectorInGGB.js +1 -2
  29. package/lib/exercises/math/percent/applyPercent.d.ts.map +1 -1
  30. package/lib/exercises/math/percent/applyPercent.js +2 -4
  31. package/lib/exercises/math/probaStat/probabilityTree.d.ts +10 -7
  32. package/lib/exercises/math/probaStat/probabilityTree.d.ts.map +1 -1
  33. package/lib/exercises/math/probaStat/probabilityTree.js +194 -90
  34. package/lib/exercises/math/spaceGeometry/vectors/spaceVectorNormCalculation.d.ts.map +1 -1
  35. package/lib/exercises/math/spaceGeometry/vectors/spaceVectorNormCalculation.js +7 -3
  36. package/lib/exercises/math/squareRoots/squareRootIdentities.d.ts.map +1 -1
  37. package/lib/exercises/math/squareRoots/squareRootIdentities.js +5 -1
  38. package/lib/exercises/math/squareRoots/squareRootsDistributivity.d.ts.map +1 -1
  39. package/lib/exercises/math/squareRoots/squareRootsDistributivity.js +5 -1
  40. package/lib/exercises/pc/calibrationCurveOfSolution.d.ts.map +1 -1
  41. package/lib/exercises/pc/calibrationCurveOfSolution.js +1 -2
  42. package/lib/exercises/vea/rationalVEA.d.ts +7 -1
  43. package/lib/exercises/vea/rationalVEA.d.ts.map +1 -1
  44. package/lib/exercises/vea/rationalVEA.js +34 -4
  45. package/lib/index.d.ts +24 -13
  46. package/lib/index.d.ts.map +1 -1
  47. package/lib/math/complex/complex.d.ts +1 -1
  48. package/lib/math/numbers/rationals/rational.d.ts +1 -1
  49. package/lib/math/numbers/reals/extendedRingElement.d.ts +1 -1
  50. package/lib/math/polynomials/generalAffine.d.ts +10 -0
  51. package/lib/math/polynomials/generalAffine.d.ts.map +1 -0
  52. package/lib/math/polynomials/generalAffine.js +32 -0
  53. package/lib/math/polynomials/generalTrinom.d.ts +1 -1
  54. package/lib/math/polynomials/trinom.d.ts +3 -3
  55. package/lib/playground.d.ts.map +1 -1
  56. package/lib/playground.js +2 -3
  57. package/lib/prototypesEnhancement.d.ts +3 -1
  58. package/lib/prototypesEnhancement.d.ts.map +1 -1
  59. package/lib/tree/nodes/equations/equalNode.d.ts +13 -9
  60. package/lib/tree/nodes/equations/equalNode.d.ts.map +1 -1
  61. package/lib/tree/nodes/equations/equalNode.js +17 -1
  62. package/lib/tree/nodes/functions/absNode.d.ts +1 -1
  63. package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts +1 -1
  64. package/lib/tree/nodes/operators/addNode.d.ts.map +1 -1
  65. package/lib/tree/nodes/operators/addNode.js +2 -1
  66. package/lib/tree/nodes/operators/fractionNode.d.ts +8 -9
  67. package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
  68. package/lib/tree/nodes/operators/fractionNode.js +15 -0
  69. package/lib/tree/parsers/affineParser.d.ts +1 -2
  70. package/lib/tree/parsers/affineParser.d.ts.map +1 -1
  71. package/lib/tree/parsers/affineParser.js +22 -17
  72. package/lib/tree/parsers/latexParser.d.ts.map +1 -1
  73. package/lib/tree/parsers/latexParser.js +34 -9
  74. package/lib/tree/parsers/monomParser.d.ts +9 -1
  75. package/lib/tree/parsers/monomParser.d.ts.map +1 -1
  76. package/lib/tree/parsers/monomParser.js +65 -2
  77. package/lib/tree/parsers/powerParser.d.ts +1 -1
  78. package/lib/tree/parsers/purifyLatex.d.ts +9 -0
  79. package/lib/tree/parsers/purifyLatex.d.ts.map +1 -0
  80. package/lib/tree/parsers/purifyLatex.js +17 -0
  81. package/lib/tree/parsers/rationalParser.d.ts +1 -1
  82. package/lib/tree/parsers/rationalParser.d.ts.map +1 -1
  83. package/lib/tree/parsers/trinomParser.d.ts +2 -0
  84. package/lib/tree/parsers/trinomParser.d.ts.map +1 -0
  85. package/lib/tree/parsers/trinomParser.js +31 -0
  86. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  import { Exercise } from "../../../../exercises/exercise";
2
2
  type Identifiers = {
3
+ isIntegerFirst: boolean;
3
4
  integer: number;
4
5
  rational: [number, number];
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fractionAndIntegerSum.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerSum.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,0BAA0B,CAAC;AA4ClC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B,CAAC;AAgCF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAwBF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAehE,CAAC"}
1
+ {"version":3,"file":"fractionAndIntegerSum.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerSum.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,0BAA0B,CAAC;AAgBlC,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B,CAAC;AA+FF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAcF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAgBhE,CAAC"}
@@ -4,35 +4,60 @@ exports.fractionAndIntegerSum = void 0;
4
4
  const exercise_1 = require("../../../../exercises/exercise");
5
5
  const allowNonIrreductibleFractions_1 = require("../../../../exercises/options/allowNonIrreductibleFractions");
6
6
  const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
7
+ const rationalVEA_1 = require("../../../../exercises/vea/rationalVEA");
7
8
  const integer_1 = require("../../../../math/numbers/integer/integer");
8
9
  const rational_1 = require("../../../../math/numbers/rationals/rational");
9
10
  const randint_1 = require("../../../../math/utils/random/randint");
10
11
  const addNode_1 = require("../../../../tree/nodes/operators/addNode");
11
- const rationalParser_1 = require("../../../../tree/parsers/rationalParser");
12
+ const fractionNode_1 = require("../../../../tree/nodes/operators/fractionNode");
13
+ const coinFlip_1 = require("../../../../utils/alea/coinFlip");
12
14
  const shuffle_1 = require("../../../../utils/alea/shuffle");
15
+ const rebuildIdentifiers = (oldIdentifiers) => {
16
+ if (oldIdentifiers.isIntegerFirst !== undefined)
17
+ return oldIdentifiers;
18
+ return {
19
+ integer: oldIdentifiers.integer,
20
+ isIntegerFirst: (0, coinFlip_1.coinFlip)(),
21
+ rational: oldIdentifiers.rational,
22
+ };
23
+ };
24
+ const getStatementNode = (identifiers) => {
25
+ const ratio = (0, fractionNode_1.frac)(identifiers.rational[0], identifiers.rational[1]);
26
+ const statement = identifiers.isIntegerFirst
27
+ ? (0, addNode_1.add)(identifiers.integer, ratio)
28
+ : (0, addNode_1.add)(ratio, identifiers.integer);
29
+ return statement;
30
+ };
31
+ const getInstruction = (identifiers, opts) => {
32
+ const statement = getStatementNode(identifiers);
33
+ return `Calculer ${opts?.allowNonIrreductible
34
+ ? ""
35
+ : "et donner le résultat sous la forme la plus simplifiée possible"} :
36
+
37
+ $$
38
+ ${statement.toTex()}
39
+ $$`;
40
+ };
41
+ const getAnswer = (identifiers, opts) => {
42
+ const answerTree = getStatementNode(identifiers);
43
+ return answerTree.simplify().toTex();
44
+ };
13
45
  const getFractionAndIntegerSum = (opts) => {
14
46
  const rational = rational_1.RationalConstructor.randomIrreductible();
15
- const integer = new integer_1.Integer((0, randint_1.randint)(-10, 11, [0]));
16
- const statementTree = new addNode_1.AddNode(rational.toTree(), integer.toTree());
17
- statementTree.shuffle();
18
- const answerTree = rational.add(integer).toTree();
19
- const answer = answerTree.toTex();
47
+ const integer = (0, randint_1.randint)(-10, 11, [0]);
48
+ const isIntegerFirst = (0, coinFlip_1.coinFlip)();
49
+ const identifiers = {
50
+ integer: integer,
51
+ rational: [rational.num, rational.denum],
52
+ isIntegerFirst,
53
+ };
20
54
  const question = {
21
- instruction: `Calculer ${opts?.allowNonIrreductible
22
- ? ""
23
- : "et donner le résultat sous la forme la plus simplifiée possible"} :
24
-
25
- $$
26
- ${statementTree.toTex()}
27
- $`,
28
- startStatement: statementTree.toTex(),
29
- answer,
55
+ instruction: getInstruction(identifiers, opts),
56
+ startStatement: getStatementNode(identifiers).toTex(),
57
+ answer: getAnswer(identifiers, opts),
30
58
  keys: [],
31
59
  answerFormat: "tex",
32
- identifiers: {
33
- integer: integer.value,
34
- rational: [rational.num, rational.denum],
35
- },
60
+ identifiers,
36
61
  };
37
62
  return question;
38
63
  };
@@ -52,30 +77,16 @@ const getPropositions = (n, { answer, integer, rational }) => {
52
77
  return (0, shuffle_1.shuffle)(propositions);
53
78
  };
54
79
  const options = [allowNonIrreductibleFractions_1.allowNonIrreductibleOption];
55
- const isAnswerValid = (ans, { integer, rational }, opts) => {
56
- const integerObj = new integer_1.Integer(integer);
57
- const rationalObj = new rational_1.Rational(rational[0], rational[1]);
58
- const answerTree = rationalObj
59
- .add(integerObj)
60
- .toTree({ allowFractionToDecimal: true });
61
- const texs = answerTree.toAllValidTexs();
62
- if (opts?.allowNonIrreductible) {
63
- const parsed = (0, rationalParser_1.rationalParser)(ans);
64
- if (!parsed)
65
- return false;
66
- return texs.includes(parsed.simplify().toTex());
67
- }
68
- else {
69
- return texs.includes(ans);
70
- }
80
+ const isAnswerValid = (ans, { answer, integer, rational }, opts) => {
81
+ return (0, rationalVEA_1.rationalVEA)(ans, answer, {
82
+ allowNonIrreductible: !!opts?.allowNonIrreductible,
83
+ });
71
84
  };
72
85
  exports.fractionAndIntegerSum = {
73
86
  id: "fractionAndIntegerSum",
74
87
  connector: "=",
75
88
  label: "Somme d'un entier et d'une fraction",
76
- levels: ["4ème", "3ème", "2nde", "CAP", "2ndPro", "1rePro"],
77
89
  isSingleStep: false,
78
- sections: ["Fractions"],
79
90
  generator: (nb, opts) => (0, getDistinctQuestions_1.getDistinctQuestions)(() => getFractionAndIntegerSum(opts), nb),
80
91
  qcmTimer: 60,
81
92
  freeTimer: 60,
@@ -83,4 +94,7 @@ exports.fractionAndIntegerSum = {
83
94
  isAnswerValid,
84
95
  subject: "Mathématiques",
85
96
  options,
97
+ getAnswer,
98
+ getInstruction,
99
+ rebuildIdentifiers,
86
100
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fractionsSum.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsSum.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,0BAA0B,CAAC;AAWlC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAyGF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAgBvD,CAAC"}
1
+ {"version":3,"file":"fractionsSum.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsSum.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAyGF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAgBvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fractionsSumsMultiplesDenominators.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsSumsMultiplesDenominators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,0BAA0B,CAAC;AAYlC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA2FF,eAAO,MAAM,kCAAkC,EAAE,QAAQ,CAAC,WAAW,CAkBpE,CAAC"}
1
+ {"version":3,"file":"fractionsSumsMultiplesDenominators.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsSumsMultiplesDenominators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,0BAA0B,CAAC;AAWlC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA2FF,eAAO,MAAM,kCAAkC,EAAE,QAAQ,CAAC,WAAW,CAkBpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fractionsSumsPrimeDenominators.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsSumsPrimeDenominators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,0BAA0B,CAAC;AAYlC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA6FF,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,WAAW,CAkBhE,CAAC"}
1
+ {"version":3,"file":"fractionsSumsPrimeDenominators.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsSumsPrimeDenominators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,0BAA0B,CAAC;AAWlC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA6FF,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,WAAW,CAkBhE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"findCoeffInProportionalTableNonIntegers.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/proportionality/findCoeffInProportionalTableNonIntegers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,0BAA0B,CAAC;AAiBlC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAqHF,KAAK,OAAO,GAAG;IACb,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAoBF,eAAO,MAAM,uCAAuC,EAAE,QAAQ,CAC5D,WAAW,EACX,OAAO,CAsBR,CAAC"}
1
+ {"version":3,"file":"findCoeffInProportionalTableNonIntegers.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/proportionality/findCoeffInProportionalTableNonIntegers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,0BAA0B,CAAC;AAiBlC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAyHF,KAAK,OAAO,GAAG;IACb,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAoBF,eAAO,MAAM,uCAAuC,EAAE,QAAQ,CAC5D,WAAW,EACX,OAAO,CAsBR,CAAC"}
@@ -51,10 +51,15 @@ const getKeys = (identifiers) => {
51
51
  return [];
52
52
  };
53
53
  const isAnswerValid = (ans, { answer }) => {
54
- const parsed = (0, latexParser_1.parseAlgebraic)(ans);
55
- if (!parsed)
54
+ try {
55
+ const parsed = (0, latexParser_1.parseAlgebraic)(ans);
56
+ if (!parsed)
57
+ return false;
58
+ return parsed.simplify().toTex() === answer;
59
+ }
60
+ catch (err) {
56
61
  return false;
57
- return parsed.simplify().toTex() === answer;
62
+ }
58
63
  };
59
64
  const getFindCoeffInProportionalTableNonIntegersQuestion = (opts) => {
60
65
  let coeff;
@@ -30,7 +30,7 @@ const getFirstIdentityQuestion = () => {
30
30
  keys: ["x"],
31
31
  answerFormat: "tex",
32
32
  identifiers: { a: affine.a, b: affine.b },
33
- hint: `Utilise l'identité remarquable
33
+ hint: `Utilise l'identité remarquable :
34
34
 
35
35
  $$
36
36
  (a+b)^2 = a^2 + 2ab+b^2
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=choseOperationToSolveEquation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choseOperationToSolveEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/choseOperationToSolveEquation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ // import {
3
+ // Exercise,
4
+ // Proposition,
5
+ // QCMGenerator,
6
+ // Question,
7
+ // QuestionGenerator,
8
+ // VEA,
9
+ // addValidProp,
10
+ // shuffleProps,
11
+ // GetAnswer,
12
+ // GetHint,
13
+ // GetCorrection,
14
+ // GetInstruction,
15
+ // GetKeys,
16
+ // tryToAddWrongProp,
17
+ // } from "../../../../exercises/exercise";
18
+ // import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions";
19
+ // import { randint } from "../../../../math/utils/random/randint";
20
+ // import {
21
+ // EqualNode,
22
+ // EqualNodeConstructor,
23
+ // EqualNodeIdentifiers,
24
+ // } from "../../../../tree/nodes/equations/equalNode";
25
+ // import {
26
+ // NodeConstructor,
27
+ // NodeIdentifiers,
28
+ // } from "../../../../tree/nodes/nodeConstructor";
29
+ // type Identifiers = {
30
+ // equaIdentifiers: EqualNodeIdentifiers;
31
+ // };
32
+ // const getPropositions: QCMGenerator<Identifiers> = (n, { answer }) => {
33
+ // const propositions: Proposition[] = [];
34
+ // addValidProp(propositions, answer);
35
+ // tryToAddWrongProp(propositions, "une soustraction", "raw");
36
+ // tryToAddWrongProp(propositions, "une addition", "raw");
37
+ // tryToAddWrongProp(propositions, "une division", "raw");
38
+ // tryToAddWrongProp(propositions, "une multiplication", "raw");
39
+ // return shuffleProps(propositions, n);
40
+ // };
41
+ // const getAnswer: GetAnswer<Identifiers> = (identifiers) => {
42
+ // return;
43
+ // };
44
+ // const getInstruction: GetInstruction<Identifiers> = (identifiers) => {
45
+ // const equation = EqualNodeConstructor.fromIdentifiers(
46
+ // identifiers.equaIdentifiers,
47
+ // );
48
+ // return `Pour résoudre l'équation :
49
+ // $$
50
+ // ${equation.toTex()}
51
+ // $$
52
+ // il faut d'abord effectuer :
53
+ // `;
54
+ // };
55
+ // // const getHint: GetHint<Identifiers> = (identifiers) => {};
56
+ // // const getCorrection: GetCorrection<Identifiers> = (identifiers) => {};
57
+ // const getKeys: GetKeys<Identifiers> = (identifiers) => {
58
+ // return [];
59
+ // };
60
+ // const isAnswerValid: VEA<Identifiers> = (ans, { answer }) => {
61
+ // throw Error("VEA not implemented");
62
+ // };
63
+ // const getChoseOperationToSolveEquationQuestion: QuestionGenerator<
64
+ // Identifiers
65
+ // > = (ops) => {
66
+ // //ax=b avec a entier, ax+b = c tout entier, x/a = b tout entier, x+-a = b entiers ,
67
+ // let a: number;
68
+ // let b: number;
69
+ // let c: number | undefined;
70
+ // const type = randint(1, 7);
71
+ // switch (type) {
72
+ // case 1:
73
+ // //ax = b tous entiers
74
+ // a = randint(-10);
75
+ // break;
76
+ // case 2:
77
+ // break;
78
+ // case 3:
79
+ // break;
80
+ // case 4:
81
+ // break;
82
+ // case 5:
83
+ // break;
84
+ // case 6:
85
+ // break;
86
+ // case 7:
87
+ // break;
88
+ // }
89
+ // const identifiers: Identifiers = {};
90
+ // const question: Question<Identifiers> = {
91
+ // answer: getAnswer(identifiers),
92
+ // instruction: getInstruction(identifiers),
93
+ // keys: getKeys(identifiers),
94
+ // answerFormat: "tex",
95
+ // identifiers,
96
+ // // hint: getHint(identifiers),
97
+ // // correction: getCorrection(identifiers),
98
+ // };
99
+ // return question;
100
+ // };
101
+ // export const choseOperationToSolveEquation: Exercise<Identifiers> = {
102
+ // id: "choseOperationToSolveEquation",
103
+ // connector: "=",
104
+ // label:
105
+ // "Choisir la bonne opération pour résoudre une équation du premier degré",
106
+ // isSingleStep: true,
107
+ // generator: (nb, opts) =>
108
+ // getDistinctQuestions(
109
+ // () => getChoseOperationToSolveEquationQuestion(opts),
110
+ // nb,
111
+ // ),
112
+ // qcmTimer: 60,
113
+ // freeTimer: 60,
114
+ // getPropositions,
115
+ // isAnswerValid,
116
+ // subject: "Mathématiques",
117
+ // getInstruction,
118
+ // // getHint,
119
+ // // getCorrection,
120
+ // getAnswer,
121
+ // answerType: "QCU",
122
+ // };
@@ -1,11 +1,17 @@
1
1
  import { Exercise } from "../../../../exercises/exercise";
2
+ import { NodeIdentifiers } from "../../../../tree/nodes/nodeConstructor";
2
3
  /**
3
4
  * type ax=b
4
5
  */
5
6
  type Identifiers = {
6
- a: number;
7
- b: number;
7
+ a: NodeIdentifiers;
8
+ b: NodeIdentifiers;
9
+ isXRight: boolean;
10
+ aNumberType: string;
8
11
  };
9
- export declare const equationType2Exercise: Exercise<Identifiers>;
12
+ type Options = {
13
+ aNumberType: string[];
14
+ };
15
+ export declare const equationType2Exercise: Exercise<Identifiers, Options>;
10
16
  export {};
11
17
  //# sourceMappingURL=equationType2Exercise.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"equationType2Exercise.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/equationType2Exercise.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,0BAA0B,CAAC;AAiBlC;;GAEG;AACH,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAoEF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAevD,CAAC"}
1
+ {"version":3,"file":"equationType2Exercise.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/equationType2Exercise.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,0BAA0B,CAAC;AAsBlC,OAAO,EAEL,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAK1C;;GAEG;AAGH,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,eAAe,CAAC;IACnB,CAAC,EAAE,eAAe,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AA+GF,KAAK,OAAO,GAAG;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAaF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAiBhE,CAAC"}
@@ -5,7 +5,6 @@ const exercise_1 = require("../../../../exercises/exercise");
5
5
  const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
6
6
  const equationKeys_1 = require("../../../../exercises/utils/keys/equationKeys");
7
7
  const rational_1 = require("../../../../math/numbers/rationals/rational");
8
- const affine_1 = require("../../../../math/polynomials/affine");
9
8
  const randint_1 = require("../../../../math/utils/random/randint");
10
9
  const equationSolutionNode_1 = require("../../../../tree/nodes/equations/equationSolutionNode");
11
10
  const equalNode_1 = require("../../../../tree/nodes/equations/equalNode");
@@ -14,30 +13,59 @@ const variableNode_1 = require("../../../../tree/nodes/variables/variableNode");
14
13
  const shuffle_1 = require("../../../../utils/alea/shuffle");
15
14
  const alignTex_1 = require("../../../../utils/latex/alignTex");
16
15
  const fractionNode_1 = require("../../../../tree/nodes/operators/fractionNode");
17
- const numberNode_1 = require("../../../../tree/nodes/numbers/numberNode");
18
- const getEquationType2ExerciseQuestion = () => {
19
- const b = (0, randint_1.randint)(-10, 11);
20
- const a = (0, randint_1.randint)(-9, 10, [0, 1]);
21
- const solution = new rational_1.Rational(b, a).simplify();
22
- const affine = new affine_1.Affine(a, 0).toTree();
23
- const tree = new equalNode_1.EqualNode(affine, b.toTree());
24
- const answer = new equalNode_1.EqualNode(new variableNode_1.VariableNode("x"), solution.toTree()).toTex();
16
+ const coinFlip_1 = require("../../../../utils/alea/coinFlip");
17
+ const random_1 = require("../../../../utils/alea/random");
18
+ const generalAffine_1 = require("../../../../math/polynomials/generalAffine");
19
+ const nodeConstructor_1 = require("../../../../tree/nodes/nodeConstructor");
20
+ const substractNode_1 = require("../../../../tree/nodes/operators/substractNode");
21
+ const addNode_1 = require("../../../../tree/nodes/operators/addNode");
22
+ const rebuildIdentifiers = (oldIdentifiers) => {
23
+ if (!!oldIdentifiers.numberType)
24
+ return oldIdentifiers;
25
+ return {
26
+ a: oldIdentifiers.a.toTree().toIdentifiers(),
27
+ b: oldIdentifiers.b.toTree().toIdentifiers(),
28
+ isXRight: false,
29
+ aNumberType: "Entier",
30
+ };
31
+ };
32
+ const getEquationType2ExerciseQuestion = (opts) => {
33
+ const types = opts?.aNumberType ?? ["Entier"];
34
+ const b = (0, randint_1.randint)(-10, 11).toTree();
35
+ const type = (0, random_1.random)(types);
36
+ const a = type === "Entier"
37
+ ? (0, randint_1.randint)(-9, 10, [0, 1]).toTree()
38
+ : rational_1.RationalConstructor.randomIrreductibleWithSign().toTree();
39
+ const solution = (0, fractionNode_1.frac)(b, a).simplify();
40
+ const affine = new generalAffine_1.GeneralAffine(a, 0).toTree();
41
+ const isXRight = (0, coinFlip_1.coinFlip)();
42
+ const equalTree = new equalNode_1.EqualNode(affine, b);
43
+ const tree = isXRight ? equalTree.reverse() : equalTree;
44
+ const answer = new equalNode_1.EqualNode(new variableNode_1.VariableNode("x"), solution).toTex();
25
45
  const statementTex = tree.toTex();
46
+ const identifiers = {
47
+ a: a.toIdentifiers(),
48
+ b: b.toIdentifiers(),
49
+ isXRight,
50
+ aNumberType: type,
51
+ };
26
52
  const question = {
27
53
  instruction: `Résoudre : $${statementTex}$`,
28
54
  startStatement: statementTex,
29
55
  answer,
30
56
  keys: equationKeys_1.equationKeys,
31
57
  answerFormat: "tex",
32
- identifiers: { a, b: b },
33
- hint: `Il faut isoler $x$ à gauche. Pour cela, effectue l'opération des deux côtés de l'équation qui permet de supprimer la multiplication par $${a}$.`,
34
- correction: `Pour isoler $x$ à gauche, on divise les deux côtés de l'équation par $${a}$:
58
+ identifiers: identifiers,
59
+ hint: `Il faut isoler $x$ à ${isXRight ? "droite" : "gauche"}. Pour cela, effectue l'opération des deux côtés de l'équation qui permet de supprimer la multiplication par $${a.toTex()}$.`,
60
+ correction: `Pour isoler $x$ à ${isXRight ? "droite" : "gauche"}, on divise les deux côtés de l'équation par $${a.toTex()}$ :
35
61
 
36
62
  ${(0, alignTex_1.alignTex)([
37
63
  [
38
64
  `${statementTex}`,
39
65
  "\\iff",
40
- new equalNode_1.EqualNode(new fractionNode_1.FractionNode(affine, new numberNode_1.NumberNode(a)), new fractionNode_1.FractionNode(b.toTree(), new numberNode_1.NumberNode(a))).toTex(),
66
+ isXRight
67
+ ? (0, equalNode_1.equal)((0, fractionNode_1.frac)(b, a), (0, fractionNode_1.frac)(affine, a)).toTex()
68
+ : (0, equalNode_1.equal)((0, fractionNode_1.frac)(affine, a), (0, fractionNode_1.frac)(b, a)).toTex(),
41
69
  ],
42
70
  ["", "\\iff", answer],
43
71
  ])}
@@ -46,22 +74,39 @@ ${(0, alignTex_1.alignTex)([
46
74
  return question;
47
75
  };
48
76
  const getPropositions = (n, { answer, a, b }) => {
77
+ const aNode = nodeConstructor_1.NodeConstructor.fromIdentifiers(a);
78
+ const bNode = nodeConstructor_1.NodeConstructor.fromIdentifiers(b);
49
79
  const propositions = [];
50
80
  (0, exercise_1.addValidProp)(propositions, answer);
81
+ (0, exercise_1.tryToAddWrongProp)(propositions, (0, substractNode_1.substract)(bNode, aNode).simplify().toTex());
51
82
  while (propositions.length < n) {
52
- const wrongAnswer = new rational_1.Rational(b + (0, randint_1.randint)(-7, 8, [0, -b]), a + (0, randint_1.randint)(-7, 8, [-a, 0])).simplify();
53
- (0, exercise_1.tryToAddWrongProp)(propositions, new equalNode_1.EqualNode(new variableNode_1.VariableNode("x"), wrongAnswer.toTree()).toTex());
83
+ const bEv = (0, randint_1.randint)(-7, 8, [0, -bNode.evaluate()]);
84
+ const a = (0, addNode_1.add)(aNode, (0, randint_1.randint)(-7, 8, [-aNode.evaluate(), 0]));
85
+ const wrongAnswer = (0, fractionNode_1.frac)(bEv, a).simplify();
86
+ (0, exercise_1.tryToAddWrongProp)(propositions, new equalNode_1.EqualNode(new variableNode_1.VariableNode("x"), wrongAnswer).toTex());
54
87
  }
55
88
  return (0, shuffle_1.shuffle)(propositions);
56
89
  };
57
90
  const isAnswerValid = (ans, { a, b }) => {
58
- const solution = new rational_1.Rational(b, a).simplify().toTree();
91
+ const aNode = nodeConstructor_1.NodeConstructor.fromIdentifiers(a);
92
+ const bNode = nodeConstructor_1.NodeConstructor.fromIdentifiers(b);
93
+ const solution = (0, fractionNode_1.frac)(bNode, aNode).simplify();
59
94
  const answerTree = new equationSolutionNode_1.EquationSolutionNode(new discreteSetNode_1.DiscreteSetNode([solution]), {
60
95
  opts: { allowFractionToDecimal: true, allowRawRightChildAsSolution: true },
61
96
  });
62
97
  const validLatexs = answerTree.toAllValidTexs();
63
98
  return validLatexs.includes(ans);
64
99
  };
100
+ const options = [
101
+ {
102
+ id: "aNumberType",
103
+ label: "Autoriser des fractions pour $a$",
104
+ target: exercise_1.GeneratorOptionTarget.generation,
105
+ type: exercise_1.GeneratorOptionType.multiselect,
106
+ defaultValue: ["Entier"],
107
+ values: ["Entier", "Rationnel"],
108
+ },
109
+ ];
65
110
  exports.equationType2Exercise = {
66
111
  id: "equa2",
67
112
  connector: "\\iff",
@@ -69,11 +114,13 @@ exports.equationType2Exercise = {
69
114
  levels: ["4ème", "3ème", "2nde", "CAP", "2ndPro", "1rePro", "1reTech"],
70
115
  sections: ["Équations"],
71
116
  isSingleStep: true,
72
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getEquationType2ExerciseQuestion, nb),
117
+ generator: (nb, opts) => (0, getDistinctQuestions_1.getDistinctQuestions)(() => getEquationType2ExerciseQuestion(opts), nb),
73
118
  qcmTimer: 60,
74
119
  freeTimer: 60,
75
120
  getPropositions,
76
121
  isAnswerValid,
77
122
  subject: "Mathématiques",
78
123
  hasHintAndCorrection: true,
124
+ options,
125
+ rebuildIdentifiers,
79
126
  };
@@ -12,7 +12,7 @@ const getAlgebricExpressionOfAffineQuestion = () => {
12
12
  const question = {
13
13
  answer: f.toTex(),
14
14
  instruction: `Soit une fonction affine $f$ dont le coefficient directeur vaut $${a}$ et l'ordonnée à l'origine vaut $${b}$. Écrire l'expression algébrique de $f(x)$.`,
15
- keys: ["x", "equal"],
15
+ keys: ["x"],
16
16
  answerFormat: "tex",
17
17
  identifiers: { a, b },
18
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"coefficientsIdentification.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/trinoms/coefficientsIdentification.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAEL,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAO1C,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,eAAe,CAAC;IAC9B,YAAY,EAAE,eAAe,CAAC;IAC9B,YAAY,EAAE,eAAe,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAmIF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAgB5D,CAAC"}
1
+ {"version":3,"file":"coefficientsIdentification.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/trinoms/coefficientsIdentification.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAEL,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAO1C,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,eAAe,CAAC;IAC9B,YAAY,EAAE,eAAe,CAAC;IAC9B,YAAY,EAAE,eAAe,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAuIF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAgB5D,CAAC"}
@@ -72,10 +72,15 @@ const getKeys = (identifiers) => {
72
72
  return [];
73
73
  };
74
74
  const isAnswerValid = (ans, { answer }) => {
75
- const parsed = (0, latexParser_1.parseAlgebraic)(ans);
76
- if (!parsed)
75
+ try {
76
+ const parsed = (0, latexParser_1.parseAlgebraic)(ans);
77
+ if (!parsed)
78
+ return false;
79
+ return parsed.simplify().toTex() === answer;
80
+ }
81
+ catch (err) {
77
82
  return false;
78
- return parsed.simplify().toTex() === answer;
83
+ }
79
84
  };
80
85
  const getCoefficientsIdentificationQuestion = () => {
81
86
  const a = (0, random_1.random)([
@@ -1 +1 @@
1
- {"version":3,"file":"distanceBetweenTwoPoints.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/distanceBetweenTwoPoints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAYlC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAgHF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAc1D,CAAC"}
1
+ {"version":3,"file":"distanceBetweenTwoPoints.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/distanceBetweenTwoPoints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAYlC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAkHF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAc1D,CAAC"}
@@ -18,7 +18,9 @@ const getDistanceBetweenTwoPoints = () => {
18
18
  .toTree()
19
19
  .toTex();
20
20
  const question = {
21
- instruction: `Soit $${A.toTexWithCoords()}$ et $${B.toTexWithCoords()}$. Calculer la distance $AB$.`,
21
+ instruction: `Dans un repère orthonormé, soit deux points $${A.toTexWithCoords()}$ et $${B.toTexWithCoords()}$.
22
+
23
+ Calculer la distance $AB$.`,
22
24
  startStatement: "AB",
23
25
  answer,
24
26
  keys: [],
@@ -1 +1 @@
1
- {"version":3,"file":"drawAlineInGGB.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/drawAlineInGGB.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAIT,MAAM,0BAA0B,CAAC;AAWlC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AA2DF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAahD,CAAC"}
1
+ {"version":3,"file":"drawAlineInGGB.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/drawAlineInGGB.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAIT,MAAM,0BAA0B,CAAC;AAWlC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AA2DF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAYhD,CAAC"}
@@ -64,8 +64,7 @@ exports.drawAlineInGGB = {
64
64
  answerType: "GGB",
65
65
  sections: ["Géométrie cartésienne"],
66
66
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getDrawAlineInGgbQuestion, nb),
67
- qcmTimer: 60,
68
- freeTimer: 60,
67
+ ggbTimer: 60,
69
68
  isGGBAnswerValid,
70
69
  subject: "Mathématiques",
71
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"placeAPoint.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/placeAPoint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAIT,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA+B5C,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAY/C,CAAC"}
1
+ {"version":3,"file":"placeAPoint.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/placeAPoint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAIT,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA+B5C,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAW/C,CAAC"}
@@ -40,8 +40,7 @@ exports.testGGBAnswer = {
40
40
  sections: ["Géométrie euclidienne"],
41
41
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getPlaceAPointQuestion, nb),
42
42
  answerType: "GGB",
43
- qcmTimer: 60,
44
- freeTimer: 60,
43
+ ggbTimer: 60,
45
44
  isGGBAnswerValid,
46
45
  subject: "Mathématiques",
47
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"buildMediatriceWithCompass.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/euclidianConstructions/buildMediatriceWithCompass.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAalC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,CAAC,EAAE,MAAM,EAAE,CAAC;CACb,CAAC;AAsGF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAe5D,CAAC"}
1
+ {"version":3,"file":"buildMediatriceWithCompass.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/euclidianConstructions/buildMediatriceWithCompass.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAalC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,CAAC,EAAE,MAAM,EAAE,CAAC;CACb,CAAC;AAsGF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAc5D,CAAC"}
@@ -108,8 +108,7 @@ exports.buildMediatriceWithCompass = {
108
108
  isSingleStep: true,
109
109
  sections: [],
110
110
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getBuildMediatriceWithCompassQuestion, nb),
111
- qcmTimer: 60,
112
- freeTimer: 60,
111
+ ggbTimer: 60,
113
112
  getPropositions,
114
113
  isGGBAnswerValid,
115
114
  subject: "Mathématiques",
@@ -1 +1 @@
1
- {"version":3,"file":"drawAVectorInGGB.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/vectors/drawAVectorInGGB.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAIT,MAAM,0BAA0B,CAAC;AASlC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAkCF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAalD,CAAC"}
1
+ {"version":3,"file":"drawAVectorInGGB.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/vectors/drawAVectorInGGB.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAIT,MAAM,0BAA0B,CAAC;AASlC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAkCF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAYlD,CAAC"}
@@ -45,8 +45,7 @@ exports.drawAVectorInGGB = {
45
45
  isSingleStep: true,
46
46
  sections: ["Géométrie cartésienne"],
47
47
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getDrawAVectorInGgbQuestion, nb),
48
- qcmTimer: 60,
49
- freeTimer: 60,
48
+ ggbTimer: 60,
50
49
  answerType: "GGB",
51
50
  isGGBAnswerValid,
52
51
  subject: "Mathématiques",
@@ -1 +1 @@
1
- {"version":3,"file":"applyPercent.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/percent/applyPercent.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,QAAQ,EAQT,MAAM,gBAAgB,CAAC;AAGxB,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAqFF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,CAwB9C,CAAC"}
1
+ {"version":3,"file":"applyPercent.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/percent/applyPercent.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,QAAQ,EAQT,MAAM,gBAAgB,CAAC;AAGxB,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAmFF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,CAwB9C,CAAC"}