math-exercises 1.4.1 → 1.4.3

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 (84) hide show
  1. package/lib/exercises/calcul/arithmetics/euclideanDivision.d.ts.map +1 -1
  2. package/lib/exercises/calcul/arithmetics/euclideanDivision.js +2 -2
  3. package/lib/exercises/calcul/arithmetics/primeNumbers.d.ts.map +1 -1
  4. package/lib/exercises/calcul/arithmetics/primeNumbers.js +2 -2
  5. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts.map +1 -1
  6. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +2 -2
  7. package/lib/exercises/derivation/derivative/constanteDerivative.d.ts.map +1 -1
  8. package/lib/exercises/derivation/derivative/constanteDerivative.js +9 -6
  9. package/lib/exercises/derivation/derivative/expDerivativeOne.d.ts.map +1 -1
  10. package/lib/exercises/derivation/derivative/expDerivativeOne.js +1 -2
  11. package/lib/exercises/derivation/derivative/expDerivativeThree.d.ts.map +1 -1
  12. package/lib/exercises/derivation/derivative/expDerivativeThree.js +1 -2
  13. package/lib/exercises/derivation/derivative/expDerivativeTwo.d.ts.map +1 -1
  14. package/lib/exercises/derivation/derivative/expDerivativeTwo.js +1 -2
  15. package/lib/exercises/derivation/derivative/firstDegreeDerivative.d.ts.map +1 -1
  16. package/lib/exercises/derivation/derivative/firstDegreeDerivative.js +1 -2
  17. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.d.ts.map +1 -1
  18. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.js +2 -3
  19. package/lib/exercises/derivation/derivative/lnDerivativeOne.d.ts.map +1 -1
  20. package/lib/exercises/derivation/derivative/lnDerivativeOne.js +1 -2
  21. package/lib/exercises/derivation/derivative/lnDerivativeThree.d.ts.map +1 -1
  22. package/lib/exercises/derivation/derivative/lnDerivativeThree.js +1 -2
  23. package/lib/exercises/derivation/derivative/powerFunctionDerivative.d.ts.map +1 -1
  24. package/lib/exercises/derivation/derivative/powerFunctionDerivative.js +1 -2
  25. package/lib/exercises/derivation/derivative/rootFunctionDerivative.js +1 -1
  26. package/lib/exercises/equaDiff/equaDiffGeneralForme.js +1 -1
  27. package/lib/exercises/exercise.d.ts +2 -0
  28. package/lib/exercises/exercise.d.ts.map +1 -1
  29. package/lib/exercises/exercise.js +6 -1
  30. package/lib/exercises/functions/cube/cubicEquation.d.ts.map +1 -1
  31. package/lib/exercises/functions/cube/cubicEquation.js +2 -1
  32. package/lib/exercises/geometry/cartesian/distanceBetweenTwoPoints.js +6 -6
  33. package/lib/exercises/geometry/euclidean/pythagoreCalcul.js +2 -2
  34. package/lib/exercises/geometry/euclidean/squareArea.d.ts.map +1 -1
  35. package/lib/exercises/geometry/euclidean/squareArea.js +3 -2
  36. package/lib/exercises/geometry/euclidean/squarePerimeter.d.ts.map +1 -1
  37. package/lib/exercises/geometry/euclidean/squarePerimeter.js +3 -2
  38. package/lib/exercises/geometry/euclidean/triangleAreaV2.d.ts.map +1 -1
  39. package/lib/exercises/geometry/euclidean/triangleAreaV2.js +2 -1
  40. package/lib/exercises/limits/sequenceGeometricLimit.d.ts.map +1 -1
  41. package/lib/exercises/limits/sequenceGeometricLimit.js +1 -2
  42. package/lib/exercises/powers/powersOfTenToDecimal.d.ts +1 -1
  43. package/lib/exercises/powers/powersOfTenToDecimal.d.ts.map +1 -1
  44. package/lib/exercises/powers/powersOfTenToDecimal.js +7 -5
  45. package/lib/exercises/powers/powersPower.d.ts.map +1 -1
  46. package/lib/exercises/powers/powersPower.js +1 -2
  47. package/lib/exercises/powers/scientificToDecimal.d.ts.map +1 -1
  48. package/lib/exercises/powers/scientificToDecimal.js +1 -2
  49. package/lib/exercises/primitve/constantPrimitive.d.ts.map +1 -1
  50. package/lib/exercises/primitve/constantPrimitive.js +6 -4
  51. package/lib/exercises/primitve/exponentialPrimitive.d.ts.map +1 -1
  52. package/lib/exercises/primitve/exponentialPrimitive.js +1 -2
  53. package/lib/exercises/probaStat/medianList.d.ts.map +1 -1
  54. package/lib/exercises/probaStat/medianList.js +5 -2
  55. package/lib/exercises/probaStat/quartilesList.d.ts.map +1 -1
  56. package/lib/exercises/probaStat/quartilesList.js +9 -2
  57. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +2 -6
  58. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts.map +1 -1
  59. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +2 -2
  60. package/lib/exercises/squareRoots/simpifySquareRoot.js +3 -3
  61. package/lib/exercises/trigonometry/mainRemarkableValues.d.ts.map +1 -1
  62. package/lib/exercises/trigonometry/mainRemarkableValues.js +18 -24
  63. package/lib/exercises/utils/getDistinctQuestions.d.ts +8 -1
  64. package/lib/exercises/utils/getDistinctQuestions.d.ts.map +1 -1
  65. package/lib/exercises/utils/getDistinctQuestions.js +10 -2
  66. package/lib/exercises/utils/sum.test.js +1 -3
  67. package/lib/math/numbers/integer/integer.d.ts +1 -0
  68. package/lib/math/numbers/integer/integer.d.ts.map +1 -1
  69. package/lib/math/numbers/integer/integer.js +5 -0
  70. package/lib/math/numbers/integer/primes.d.ts +2 -0
  71. package/lib/math/numbers/integer/primes.d.ts.map +1 -0
  72. package/lib/math/numbers/integer/primes.js +4 -0
  73. package/lib/math/numbers/nombre.d.ts +4 -0
  74. package/lib/math/numbers/nombre.d.ts.map +1 -1
  75. package/lib/math/numbers/nombre.js +23 -1
  76. package/lib/math/numbers/reals/real.d.ts +20 -0
  77. package/lib/math/numbers/reals/real.d.ts.map +1 -1
  78. package/lib/math/numbers/reals/real.js +82 -1
  79. package/lib/math/polynomials/trinom.js +3 -3
  80. package/lib/math/trigonometry/remarkableValues.d.ts.map +1 -1
  81. package/lib/math/trigonometry/remarkableValues.js +5 -0
  82. package/lib/types/keyIds.d.ts +2 -2
  83. package/lib/types/keyIds.d.ts.map +1 -1
  84. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"euclideanDivision.d.ts","sourceRoot":"","sources":["../../../../src/exercises/calcul/arithmetics/euclideanDivision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAU/E,eAAO,MAAM,iBAAiB,EAAE,YAY/B,CAAC;AAEF,wBAAgB,6BAA6B,IAAI,QAAQ,CAgExD"}
1
+ {"version":3,"file":"euclideanDivision.d.ts","sourceRoot":"","sources":["../../../../src/exercises/calcul/arithmetics/euclideanDivision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAgB,MAAM,0BAA0B,CAAC;AAU7F,eAAO,MAAM,iBAAiB,EAAE,YAY/B,CAAC;AAEF,wBAAgB,6BAA6B,IAAI,QAAQ,CAgExD"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getEuclideanDivisionQuestions = exports.euclideanDivision = void 0;
4
+ const exercise_1 = require("../../../exercises/exercise");
4
5
  const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
6
  const randint_1 = require("../../../math/utils/random/randint");
6
7
  const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
7
8
  const addNode_1 = require("../../../tree/nodes/operators/addNode");
8
9
  const equalNode_1 = require("../../../tree/nodes/operators/equalNode");
9
10
  const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
10
- const shuffle_1 = require("../../../utils/shuffle");
11
11
  const uuid_1 = require("uuid");
12
12
  exports.euclideanDivision = {
13
13
  id: 'euclideanDivision',
@@ -58,7 +58,7 @@ function getEuclideanDivisionQuestions() {
58
58
  } while (isDuplicate);
59
59
  res.push(proposition);
60
60
  }
61
- return (0, shuffle_1.shuffle)([res[0], ...res.slice(1, n)]);
61
+ return (0, exercise_1.shuffleProps)(res, n);
62
62
  };
63
63
  const question = {
64
64
  instruction: `Ecrire la division euclidienne de ${dividend} par ${divisor}`,
@@ -1 +1 @@
1
- {"version":3,"file":"primeNumbers.d.ts","sourceRoot":"","sources":["../../../../src/exercises/calcul/arithmetics/primeNumbers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGrE;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,YAY1B,CAAC;AAQF,wBAAgB,eAAe,IAAI,QAAQ,CA2E1C"}
1
+ {"version":3,"file":"primeNumbers.d.ts","sourceRoot":"","sources":["../../../../src/exercises/calcul/arithmetics/primeNumbers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AAGnF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,YAY1B,CAAC;AAQF,wBAAgB,eAAe,IAAI,QAAQ,CA2E1C"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPrimeNumbers = exports.primeNumbers = void 0;
4
4
  const randint_1 = require("../../../math/utils/random/randint");
5
- const shuffle_1 = require("../../../utils/shuffle");
6
5
  const uuid_1 = require("uuid");
6
+ const exercise_1 = require("../../exercise");
7
7
  const getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
8
8
  /**
9
9
  * a±b±c±d
@@ -78,7 +78,7 @@ function getPrimeNumbers() {
78
78
  format: 'tex',
79
79
  });
80
80
  }
81
- return (0, shuffle_1.shuffle)([res[0], ...res.slice(1, n)]);
81
+ return (0, exercise_1.shuffleProps)(res, n);
82
82
  };
83
83
  const question = {
84
84
  startStatement: `${prod}`,
@@ -1 +1 @@
1
- {"version":3,"file":"fractionAndIntegerDivision.d.ts","sourceRoot":"","sources":["../../../../src/exercises/calcul/fractions/fractionAndIntegerDivision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAU/E,eAAO,MAAM,0BAA0B,EAAE,YAYxC,CAAC;AAEF,wBAAgB,6BAA6B,IAAI,QAAQ,CA+DxD"}
1
+ {"version":3,"file":"fractionAndIntegerDivision.d.ts","sourceRoot":"","sources":["../../../../src/exercises/calcul/fractions/fractionAndIntegerDivision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAgB,MAAM,0BAA0B,CAAC;AAU7F,eAAO,MAAM,0BAA0B,EAAE,YAYxC,CAAC;AAEF,wBAAgB,6BAA6B,IAAI,QAAQ,CA+DxD"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getFractionAndIntegerDivision = exports.fractionAndIntegerDivision = void 0;
4
+ const exercise_1 = require("../../../exercises/exercise");
4
5
  const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
6
  const integer_1 = require("../../../math/numbers/integer/integer");
6
7
  const rational_1 = require("../../../math/numbers/rationals/rational");
7
8
  const randint_1 = require("../../../math/utils/random/randint");
8
9
  const divideNode_1 = require("../../../tree/nodes/operators/divideNode");
9
10
  const coinFlip_1 = require("../../../utils/coinFlip");
10
- const shuffle_1 = require("../../../utils/shuffle");
11
11
  const uuid_1 = require("uuid");
12
12
  exports.fractionAndIntegerDivision = {
13
13
  id: 'fractionAndIntegerDivision',
@@ -62,7 +62,7 @@ function getFractionAndIntegerDivision() {
62
62
  } while (isDuplicate);
63
63
  res.push(proposition);
64
64
  }
65
- return (0, shuffle_1.shuffle)([res[0], ...res.slice(1, n)]);
65
+ return (0, exercise_1.shuffleProps)(res, n);
66
66
  };
67
67
  const question = {
68
68
  instruction: '',
@@ -1 +1 @@
1
- {"version":3,"file":"constanteDerivative.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/constanteDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAqB,MAAM,0BAA0B,CAAC;AAMlG,eAAO,MAAM,mBAAmB,EAAE,YAYjC,CAAC;AAEF,wBAAgB,sBAAsB,IAAI,QAAQ,CAmDjD"}
1
+ {"version":3,"file":"constanteDerivative.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/constanteDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAmC,MAAM,0BAA0B,CAAC;AAQhH,eAAO,MAAM,mBAAmB,EAAE,YAYjC,CAAC;AAEF,wBAAgB,sBAAsB,IAAI,QAAQ,CAoDjD"}
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getConstanteDerivative = exports.constanteDerivative = void 0;
4
4
  const exercise_1 = require("../../../exercises/exercise");
5
5
  const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
6
+ const nombre_1 = require("../../../math/numbers/nombre");
6
7
  const randint_1 = require("../../../math/utils/random/randint");
7
- const shuffle_1 = require("../../../utils/shuffle");
8
+ const oppositeNode_1 = require("../../../tree/nodes/functions/oppositeNode");
8
9
  const uuid_1 = require("uuid");
9
10
  exports.constanteDerivative = {
10
11
  id: 'constanteDerivative',
@@ -20,7 +21,8 @@ exports.constanteDerivative = {
20
21
  freeTimer: 60,
21
22
  };
22
23
  function getConstanteDerivative() {
23
- const c = (0, randint_1.randint)(-9, 10, [0]);
24
+ const c = nombre_1.NombreConstructor.random();
25
+ const tex = c.toTree().toTex();
24
26
  const getPropositions = (n) => {
25
27
  const propositions = [];
26
28
  propositions.push({
@@ -29,9 +31,10 @@ function getConstanteDerivative() {
29
31
  isRightAnswer: true,
30
32
  format: 'tex',
31
33
  });
32
- (0, exercise_1.tryToAddWrongProp)(propositions, c + '');
34
+ (0, exercise_1.tryToAddWrongProp)(propositions, tex + '');
33
35
  (0, exercise_1.tryToAddWrongProp)(propositions, '1');
34
- (0, exercise_1.tryToAddWrongProp)(propositions, -c + '');
36
+ (0, exercise_1.tryToAddWrongProp)(propositions, new oppositeNode_1.OppositeNode(c.toTree()).toTex());
37
+ (0, exercise_1.tryToAddWrongProp)(propositions, 'x');
35
38
  const missing = n - propositions.length;
36
39
  for (let i = 0; i < missing; i++) {
37
40
  let isDuplicate;
@@ -48,10 +51,10 @@ function getConstanteDerivative() {
48
51
  } while (isDuplicate);
49
52
  propositions.push(proposition);
50
53
  }
51
- return (0, shuffle_1.shuffle)(propositions);
54
+ return (0, exercise_1.shuffleProps)(propositions, n);
52
55
  };
53
56
  const question = {
54
- instruction: `Déterminer la fonction dérivée $f'$ de la fonction $f$ définie par $f(x) = ${c}$.`,
57
+ instruction: `Déterminer la fonction dérivée $f'$ de la fonction $f$ définie par $f(x) = ${tex}$.`,
55
58
  startStatement: `f'(x)`,
56
59
  answer: '0',
57
60
  keys: ['x'],
@@ -1 +1 @@
1
- {"version":3,"file":"expDerivativeOne.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/expDerivativeOne.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAqB,MAAM,0BAA0B,CAAC;AAWlG,eAAO,MAAM,gBAAgB,EAAE,YAY9B,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,QAAQ,CAsC3C"}
1
+ {"version":3,"file":"expDerivativeOne.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/expDerivativeOne.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAmC,MAAM,0BAA0B,CAAC;AAWhH,eAAO,MAAM,gBAAgB,EAAE,YAY9B,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,QAAQ,CAsC3C"}
@@ -9,7 +9,6 @@ const expNode_1 = require("../../../tree/nodes/functions/expNode");
9
9
  const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
10
10
  const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
11
11
  const simplify_1 = require("../../../tree/parsers/simplify");
12
- const shuffle_1 = require("../../../utils/shuffle");
13
12
  const uuid_1 = require("uuid");
14
13
  exports.expDerivativeOne = {
15
14
  id: 'expDerivativeOne',
@@ -42,7 +41,7 @@ function getExpDerivative() {
42
41
  (0, exercise_1.tryToAddWrongProp)(propositions, (0, simplify_1.simplifyNode)(new multiplyNode_1.MultiplyNode(affine.toTree(), myfunction)).toTex());
43
42
  (0, exercise_1.tryToAddWrongProp)(propositions, new expNode_1.ExpNode(new numberNode_1.NumberNode(affine.coefficients[1])).toTex());
44
43
  (0, exercise_1.tryToAddWrongProp)(propositions, (0, simplify_1.simplifyNode)(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(affine.coefficients[0]), myfunction)).toTex());
45
- return (0, shuffle_1.shuffle)([propositions[0], ...propositions.slice(1, numOptions)]);
44
+ return (0, exercise_1.shuffleProps)(propositions, numOptions);
46
45
  };
47
46
  const question = {
48
47
  instruction: `Déterminer la dérivée de la fonction $f(x) = ${myfunction.toTex()}$.`,
@@ -1 +1 @@
1
- {"version":3,"file":"expDerivativeThree.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/expDerivativeThree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAqB,MAAM,0BAA0B,CAAC;AAYlG,eAAO,MAAM,kBAAkB,EAAE,YAYhC,CAAC;AAEF,wBAAgB,qBAAqB,IAAI,QAAQ,CA8ChD"}
1
+ {"version":3,"file":"expDerivativeThree.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/expDerivativeThree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAmC,MAAM,0BAA0B,CAAC;AAYhH,eAAO,MAAM,kBAAkB,EAAE,YAYhC,CAAC;AAEF,wBAAgB,qBAAqB,IAAI,QAAQ,CA8ChD"}
@@ -10,7 +10,6 @@ const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
10
10
  const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
11
11
  const variableNode_1 = require("../../../tree/nodes/variables/variableNode");
12
12
  const simplify_1 = require("../../../tree/parsers/simplify");
13
- const shuffle_1 = require("../../../utils/shuffle");
14
13
  const uuid_1 = require("uuid");
15
14
  exports.expDerivativeThree = {
16
15
  id: 'expDerivativeThree',
@@ -42,7 +41,7 @@ function getExpDerivativeThree() {
42
41
  (0, exercise_1.tryToAddWrongProp)(propositions, new multiplyNode_1.MultiplyNode(new polynomial_1.Polynomial([b + a, -a]).toTree(), new expNode_1.ExpNode(new variableNode_1.VariableNode('x'))).toTex());
43
42
  (0, exercise_1.tryToAddWrongProp)(propositions, a + '');
44
43
  (0, exercise_1.tryToAddWrongProp)(propositions, (0, simplify_1.simplifyNode)(new multiplyNode_1.MultiplyNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new variableNode_1.VariableNode('x')), new expNode_1.ExpNode(new variableNode_1.VariableNode('x')))).toTex());
45
- return (0, shuffle_1.shuffle)([propositions[0], ...propositions.slice(1, numOptions)]);
44
+ return (0, exercise_1.shuffleProps)(propositions, numOptions);
46
45
  };
47
46
  const question = {
48
47
  instruction: `Déterminer la dérivée de la fonction $f(x) = ${myfunction.toTex()}$.`,
@@ -1 +1 @@
1
- {"version":3,"file":"expDerivativeTwo.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/expDerivativeTwo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAqB,MAAM,0BAA0B,CAAC;AAYlG,eAAO,MAAM,gBAAgB,EAAE,YAY9B,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,QAAQ,CA2D3C"}
1
+ {"version":3,"file":"expDerivativeTwo.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/expDerivativeTwo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAmC,MAAM,0BAA0B,CAAC;AAYhH,eAAO,MAAM,gBAAgB,EAAE,YAY9B,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,QAAQ,CA2D3C"}
@@ -10,7 +10,6 @@ const addNode_1 = require("../../../tree/nodes/operators/addNode");
10
10
  const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
11
11
  const variableNode_1 = require("../../../tree/nodes/variables/variableNode");
12
12
  const simplify_1 = require("../../../tree/parsers/simplify");
13
- const shuffle_1 = require("../../../utils/shuffle");
14
13
  const uuid_1 = require("uuid");
15
14
  exports.expDerivativeTwo = {
16
15
  id: 'expDerivativeTwo',
@@ -56,7 +55,7 @@ function getExpDerivative() {
56
55
  } while (isDuplicate);
57
56
  propositions.push(proposition);
58
57
  }
59
- return (0, shuffle_1.shuffle)([propositions[0], ...propositions.slice(1, numOptions)]);
58
+ return (0, exercise_1.shuffleProps)(propositions, numOptions);
60
59
  };
61
60
  const question = {
62
61
  instruction: `Déterminer la dérivée de la fonction $f(x) = ${myfunction.toTex()}$.`,
@@ -1 +1 @@
1
- {"version":3,"file":"firstDegreeDerivative.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/firstDegreeDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAqB,MAAM,0BAA0B,CAAC;AAOlG,eAAO,MAAM,qBAAqB,EAAE,YAYnC,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,QAAQ,CAoDnD"}
1
+ {"version":3,"file":"firstDegreeDerivative.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/firstDegreeDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAmC,MAAM,0BAA0B,CAAC;AAOhH,eAAO,MAAM,qBAAqB,EAAE,YAYnC,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,QAAQ,CAoDnD"}
@@ -5,7 +5,6 @@ const exercise_1 = require("../../../exercises/exercise");
5
5
  const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
6
6
  const polynomial_1 = require("../../../math/polynomials/polynomial");
7
7
  const randint_1 = require("../../../math/utils/random/randint");
8
- const shuffle_1 = require("../../../utils/shuffle");
9
8
  const uuid_1 = require("uuid");
10
9
  exports.firstDegreeDerivative = {
11
10
  id: 'firstDegreeDerivative',
@@ -50,7 +49,7 @@ function getFirstDegreeDerivative() {
50
49
  } while (isDuplicate);
51
50
  propositions.push(proposition);
52
51
  }
53
- return (0, shuffle_1.shuffle)([propositions[0], ...propositions.slice(1, n)]);
52
+ return (0, exercise_1.shuffleProps)(propositions, n);
54
53
  };
55
54
  const question = {
56
55
  instruction: `Déterminer la fonction dérivée $f'$ de la fonction $f$ définie par $f(x) = ${polynomial.toString()}$.`,
@@ -1 +1 @@
1
- {"version":3,"file":"inverseFunctionDerivative.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/inverseFunctionDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAqB,MAAM,0BAA0B,CAAC;AAMlG,eAAO,MAAM,yBAAyB,EAAE,YAYvC,CAAC;AAEF,wBAAgB,4BAA4B,IAAI,QAAQ,CAoDvD"}
1
+ {"version":3,"file":"inverseFunctionDerivative.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/inverseFunctionDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAmC,MAAM,0BAA0B,CAAC;AAMhH,eAAO,MAAM,yBAAyB,EAAE,YAYvC,CAAC;AAEF,wBAAgB,4BAA4B,IAAI,QAAQ,CAoDvD"}
@@ -4,7 +4,6 @@ exports.getInverseFunctionDerivative = exports.inverseFunctionDerivative = void
4
4
  const exercise_1 = require("../../../exercises/exercise");
5
5
  const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
6
6
  const randint_1 = require("../../../math/utils/random/randint");
7
- const shuffle_1 = require("../../../utils/shuffle");
8
7
  const uuid_1 = require("uuid");
9
8
  exports.inverseFunctionDerivative = {
10
9
  id: 'inverseFunctionDerivative',
@@ -20,7 +19,7 @@ exports.inverseFunctionDerivative = {
20
19
  freeTimer: 60,
21
20
  };
22
21
  function getInverseFunctionDerivative() {
23
- const a = (0, randint_1.randint)(-9, 10, [0]);
22
+ const a = (0, randint_1.randint)(-19, 20, [0]);
24
23
  const getPropositions = (n) => {
25
24
  const propositions = [];
26
25
  propositions.push({
@@ -49,7 +48,7 @@ function getInverseFunctionDerivative() {
49
48
  } while (isDuplicate);
50
49
  propositions.push(proposition);
51
50
  }
52
- return (0, shuffle_1.shuffle)([propositions[0], ...propositions.slice(1, n)]);
51
+ return (0, exercise_1.shuffleProps)(propositions, n);
53
52
  };
54
53
  const question = {
55
54
  instruction: `Déterminer la fonction dérivée $f'$ de la fonction $f$ définie par $f(x) =\\frac{${a}}{x}$.`,
@@ -1 +1 @@
1
- {"version":3,"file":"lnDerivativeOne.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/lnDerivativeOne.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAqB,MAAM,0BAA0B,CAAC;AAclG,eAAO,MAAM,eAAe,EAAE,YAY7B,CAAC;AAEF,wBAAgB,eAAe,IAAI,QAAQ,CAqC1C"}
1
+ {"version":3,"file":"lnDerivativeOne.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/lnDerivativeOne.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAmC,MAAM,0BAA0B,CAAC;AAchH,eAAO,MAAM,eAAe,EAAE,YAY7B,CAAC;AAEF,wBAAgB,eAAe,IAAI,QAAQ,CAqC1C"}
@@ -11,7 +11,6 @@ const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
11
11
  const fractionNode_1 = require("../../../tree/nodes/operators/fractionNode");
12
12
  const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
13
13
  const simplify_1 = require("../../../tree/parsers/simplify");
14
- const shuffle_1 = require("../../../utils/shuffle");
15
14
  const uuid_1 = require("uuid");
16
15
  exports.lnDerivativeOne = {
17
16
  id: 'lnDerivativeOne',
@@ -46,7 +45,7 @@ function getLnDerivative() {
46
45
  (0, exercise_1.tryToAddWrongProp)(propositions, polynom.toTree().toTex());
47
46
  (0, exercise_1.tryToAddWrongProp)(propositions, `\\frac{${a}}{${logTree.toTex()}}`);
48
47
  (0, exercise_1.tryToAddWrongProp)(propositions, `\\frac{1}{${polynom.toTree().toTex()}}`);
49
- return (0, shuffle_1.shuffle)([propositions[0], ...propositions.slice(1, numOptions)]);
48
+ return (0, exercise_1.shuffleProps)(propositions, numOptions);
50
49
  };
51
50
  const question = {
52
51
  instruction: `Déterminer la dérivée de la fonction $f(x) = ${logTree.toTex()}$.`,
@@ -1 +1 @@
1
- {"version":3,"file":"lnDerivativeThree.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/lnDerivativeThree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAqB,MAAM,0BAA0B,CAAC;AAclG,eAAO,MAAM,iBAAiB,EAAE,YAY/B,CAAC;AAEF,wBAAgB,eAAe,IAAI,QAAQ,CAqE1C"}
1
+ {"version":3,"file":"lnDerivativeThree.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/lnDerivativeThree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAmC,MAAM,0BAA0B,CAAC;AAchH,eAAO,MAAM,iBAAiB,EAAE,YAY/B,CAAC;AAEF,wBAAgB,eAAe,IAAI,QAAQ,CAqE1C"}
@@ -12,7 +12,6 @@ const fractionNode_1 = require("../../../tree/nodes/operators/fractionNode");
12
12
  const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
13
13
  const variableNode_1 = require("../../../tree/nodes/variables/variableNode");
14
14
  const simplify_1 = require("../../../tree/parsers/simplify");
15
- const shuffle_1 = require("../../../utils/shuffle");
16
15
  const uuid_1 = require("uuid");
17
16
  exports.lnDerivativeThree = {
18
17
  id: 'lnDerivativeThree',
@@ -64,7 +63,7 @@ function getLnDerivative() {
64
63
  } while (isDuplicate);
65
64
  propositions.push(proposition);
66
65
  }
67
- return (0, shuffle_1.shuffle)([propositions[0], ...propositions.slice(1, numOptions)]);
66
+ return (0, exercise_1.shuffleProps)(propositions, numOptions);
68
67
  };
69
68
  const question = {
70
69
  instruction: `Déterminer la dérivée de la fonction $f(x) = ${myfunction.toTex()} $.`,
@@ -1 +1 @@
1
- {"version":3,"file":"powerFunctionDerivative.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/powerFunctionDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAqB,MAAM,0BAA0B,CAAC;AAWlG,eAAO,MAAM,uBAAuB,EAAE,YAYrC,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,QAAQ,CAwErD"}
1
+ {"version":3,"file":"powerFunctionDerivative.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/powerFunctionDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAmC,MAAM,0BAA0B,CAAC;AAWhH,eAAO,MAAM,uBAAuB,EAAE,YAYrC,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,QAAQ,CAwErD"}
@@ -9,7 +9,6 @@ const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
9
9
  const powerNode_1 = require("../../../tree/nodes/operators/powerNode");
10
10
  const variableNode_1 = require("../../../tree/nodes/variables/variableNode");
11
11
  const simplify_1 = require("../../../tree/parsers/simplify");
12
- const shuffle_1 = require("../../../utils/shuffle");
13
12
  const uuid_1 = require("uuid");
14
13
  exports.powerFunctionDerivative = {
15
14
  id: 'powerFunctionDerivative',
@@ -56,7 +55,7 @@ function getPowerFunctionDerivative() {
56
55
  } while (isDuplicate);
57
56
  propositions.push(proposition);
58
57
  }
59
- return (0, shuffle_1.shuffle)([propositions[0], ...propositions.slice(1, numOptions)]);
58
+ return (0, exercise_1.shuffleProps)(propositions, numOptions);
60
59
  };
61
60
  const question = {
62
61
  instruction: `Déterminer la fonction dérivée $f'$ de la fonction $f$ définie par $f(x) =${statement.toTex()}$.`,
@@ -21,7 +21,7 @@ exports.rootFunctionDerivative = {
21
21
  freeTimer: 60,
22
22
  };
23
23
  function getRootFunctionDerivative() {
24
- const a = (0, randint_1.randint)(-9, 10, [0]);
24
+ const a = (0, randint_1.randint)(-19, 20, [0]);
25
25
  let instruction = `Déterminer la fonction dérivée $f'$ de la fonction $f$ définie par $f(x) =$ `;
26
26
  let answer = '';
27
27
  if (a === 1)
@@ -26,7 +26,7 @@ exports.exponentialDifferentialEquation = {
26
26
  freeTimer: 60,
27
27
  };
28
28
  function getExponentialEquation() {
29
- const a = (0, randint_1.randint)(-9, 10, [0]);
29
+ const a = (0, randint_1.randint)(-19, 20, [0]);
30
30
  const myEquation = (0, simplify_1.simplifyNode)(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new variableNode_1.VariableNode('y')));
31
31
  const myAnswer = new equalNode_1.EqualNode(new variableNode_1.VariableNode('y'), new multiplyNode_1.MultiplyNode(new constantNode_1.ConstantNode('C', 'C'), new expNode_1.ExpNode((0, simplify_1.simplifyNode)(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new variableNode_1.VariableNode('x')))))); // y = Ce^(ax);
32
32
  const getPropositions = (n) => {
@@ -1,5 +1,6 @@
1
1
  import { KeyId } from '../types/keyIds';
2
2
  export declare const tryToAddWrongProp: (props: Proposition[], statement: string, format?: 'tex' | 'raw') => void;
3
+ export declare const shuffleProps: (props: Proposition[], n: number) => Proposition[];
3
4
  export type GeneratorOptions = {};
4
5
  export type Proposition = {
5
6
  id: string;
@@ -29,6 +30,7 @@ export interface MathExercise {
29
30
  connector?: '=' | '\\iff' | '\\approx';
30
31
  keys?: KeyId[];
31
32
  generator(nb: number, options?: GeneratorOptions): Question[];
33
+ maxAllowedQuestions?: number;
32
34
  answerType?: 'QCM' | 'free';
33
35
  qcmTimer: number;
34
36
  freeTimer: number;
@@ -1 +1 @@
1
- {"version":3,"file":"exercise.d.ts","sourceRoot":"","sources":["../../src/exercises/exercise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,eAAO,MAAM,iBAAiB,UAAW,WAAW,EAAE,aAAa,MAAM,WAAU,KAAK,GAAG,KAAK,SAS/F,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;CACvB,CAAC;AACF,MAAM,WAAW,QAAQ;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,KAAK,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,cAAc,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACvC,eAAe,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,WAAW,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO,GAAG,UAAU,CAAC;IACvC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CAAC;IAC9D,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,SAAS,GACT,UAAU,GACV,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,iBAAiB,GACjB,SAAS,GACT,aAAa,GACb,YAAY,GACZ,SAAS,GACT,0BAA0B,GAC1B,WAAW,GACX,2BAA2B,GAC3B,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,WAAW,GACX,mBAAmB,GACnB,wBAAwB,GACxB,WAAW,GACX,uBAAuB,GACvB,uBAAuB,GACvB,aAAa,GACb,aAAa,GACb,SAAS,GACT,qBAAqB,GACrB,mBAAmB,GACnB,cAAc,GACd,YAAY,GACZ,cAAc,GACd,kBAAkB,GAClB,YAAY,GACZ,iBAAiB,GACjB,cAAc,GACd,cAAc,GACd,QAAQ,GACR,eAAe,GACf,UAAU,CAAC"}
1
+ {"version":3,"file":"exercise.d.ts","sourceRoot":"","sources":["../../src/exercises/exercise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,eAAO,MAAM,iBAAiB,UAAW,WAAW,EAAE,aAAa,MAAM,WAAU,KAAK,GAAG,KAAK,SAS/F,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,WAAW,EAAE,KAAK,MAAM,kBAE3D,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;CACvB,CAAC;AACF,MAAM,WAAW,QAAQ;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,KAAK,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,cAAc,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACvC,eAAe,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,WAAW,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO,GAAG,UAAU,CAAC;IACvC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CAAC;IAC9D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,SAAS,GACT,UAAU,GACV,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,iBAAiB,GACjB,SAAS,GACT,aAAa,GACb,YAAY,GACZ,SAAS,GACT,0BAA0B,GAC1B,WAAW,GACX,2BAA2B,GAC3B,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,WAAW,GACX,mBAAmB,GACnB,wBAAwB,GACxB,WAAW,GACX,uBAAuB,GACvB,uBAAuB,GACvB,aAAa,GACb,aAAa,GACb,SAAS,GACT,qBAAqB,GACrB,mBAAmB,GACnB,cAAc,GACd,YAAY,GACZ,cAAc,GACd,kBAAkB,GAClB,YAAY,GACZ,iBAAiB,GACjB,cAAc,GACd,cAAc,GACd,QAAQ,GACR,eAAe,GACf,UAAU,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tryToAddWrongProp = void 0;
3
+ exports.shuffleProps = exports.tryToAddWrongProp = void 0;
4
+ const shuffle_1 = require("../utils/shuffle");
4
5
  const uuidv4_1 = require("uuidv4");
5
6
  const tryToAddWrongProp = (props, statement, format = 'tex') => {
6
7
  if (!props.some((prop) => prop.statement === statement)) {
@@ -13,3 +14,7 @@ const tryToAddWrongProp = (props, statement, format = 'tex') => {
13
14
  }
14
15
  };
15
16
  exports.tryToAddWrongProp = tryToAddWrongProp;
17
+ const shuffleProps = (props, n) => {
18
+ return (0, shuffle_1.shuffle)([props[0], ...(0, shuffle_1.shuffle)(props.slice(1)).slice(0, n - 1)]);
19
+ };
20
+ exports.shuffleProps = shuffleProps;
@@ -1 +1 @@
1
- {"version":3,"file":"cubicEquation.d.ts","sourceRoot":"","sources":["../../../../src/exercises/functions/cube/cubicEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM/E,eAAO,MAAM,aAAa,EAAE,YAW3B,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,QAAQ,CAwDnD"}
1
+ {"version":3,"file":"cubicEquation.d.ts","sourceRoot":"","sources":["../../../../src/exercises/functions/cube/cubicEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM/E,eAAO,MAAM,aAAa,EAAE,YAY3B,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,QAAQ,CAwDnD"}
@@ -13,9 +13,10 @@ exports.cubicEquation = {
13
13
  levels: ['2nde', '1reESM', '1reSpé', '1reTech'],
14
14
  isSingleStep: true,
15
15
  sections: ['Fonctions de référence', 'Fonction cube', 'Équations'],
16
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCubicEquationQuestion, nb),
16
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCubicEquationQuestion, nb, 20),
17
17
  qcmTimer: 60,
18
18
  freeTimer: 60,
19
+ maxAllowedQuestions: 20,
19
20
  };
20
21
  function getCubicEquationQuestion() {
21
22
  const x = (0, randint_1.randint)(-10, 11);
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDistanceBetweenTwoPoints = exports.distanceBetweenTwoPoints = void 0;
4
4
  const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
5
  const point_1 = require("../../../math/geometry/point");
6
- const squareRoot_1 = require("../../../math/numbers/reals/squareRoot");
6
+ const real_1 = require("../../../math/numbers/reals/real");
7
7
  const randTupleInt_1 = require("../../../math/utils/random/randTupleInt");
8
8
  const round_1 = require("../../../math/utils/round");
9
9
  const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
@@ -26,7 +26,7 @@ function getDistanceBetweenTwoPoints() {
26
26
  const [coords1, coords2] = (0, randTupleInt_1.distinctRandTupleInt)(2, 2, { from: -9, to: 10 });
27
27
  let A = new point_1.Point('A', new numberNode_1.NumberNode(coords1[0]), new numberNode_1.NumberNode(coords1[1]));
28
28
  let B = new point_1.Point('B', new numberNode_1.NumberNode(coords2[0]), new numberNode_1.NumberNode(coords2[1]));
29
- const answer = new squareRoot_1.SquareRoot((0, round_1.round)(A.distanceTo(B) ** 2, 0)).simplify().toTree().toTex();
29
+ const answer = new real_1.SquareRoot((0, round_1.round)(A.distanceTo(B) ** 2, 0)).simplify().toTree().toTex();
30
30
  const getPropositions = (n) => {
31
31
  const res = [];
32
32
  let isDuplicate;
@@ -40,7 +40,7 @@ function getDistanceBetweenTwoPoints() {
40
40
  temp--;
41
41
  A = new point_1.Point('A', new numberNode_1.NumberNode(coords1[0]), new numberNode_1.NumberNode(coords1[1]));
42
42
  B = new point_1.Point('B', new numberNode_1.NumberNode(-coords2[0]), new numberNode_1.NumberNode(-coords2[1]));
43
- let wrongStatement = new squareRoot_1.SquareRoot((0, round_1.round)(A.distanceTo(B) ** 2, 0)).simplify().toTree().toTex();
43
+ let wrongStatement = new real_1.SquareRoot((0, round_1.round)(A.distanceTo(B) ** 2, 0)).simplify().toTree().toTex();
44
44
  isDuplicate = res.some((p) => p.statement === wrongStatement);
45
45
  if (!isDuplicate) {
46
46
  res.push({
@@ -53,7 +53,7 @@ function getDistanceBetweenTwoPoints() {
53
53
  }
54
54
  A = new point_1.Point('A', new numberNode_1.NumberNode(coords1[1]), new numberNode_1.NumberNode(coords1[0]));
55
55
  B = new point_1.Point('B', new numberNode_1.NumberNode(coords2[0]), new numberNode_1.NumberNode(coords2[1]));
56
- wrongStatement = new squareRoot_1.SquareRoot((0, round_1.round)(A.distanceTo(B) ** 2, 0)).simplify().toTree().toTex();
56
+ wrongStatement = new real_1.SquareRoot((0, round_1.round)(A.distanceTo(B) ** 2, 0)).simplify().toTree().toTex();
57
57
  isDuplicate = res.some((p) => p.statement === wrongStatement);
58
58
  if (n > 0 && !isDuplicate) {
59
59
  res.push({
@@ -66,7 +66,7 @@ function getDistanceBetweenTwoPoints() {
66
66
  }
67
67
  A = new point_1.Point('A', new numberNode_1.NumberNode(coords1[0]), new numberNode_1.NumberNode(coords2[0]));
68
68
  B = new point_1.Point('B', new numberNode_1.NumberNode(coords1[1]), new numberNode_1.NumberNode(coords2[1]));
69
- wrongStatement = new squareRoot_1.SquareRoot((0, round_1.round)(A.distanceTo(B) ** 2, 0)).simplify().toTree().toTex();
69
+ wrongStatement = new real_1.SquareRoot((0, round_1.round)(A.distanceTo(B) ** 2, 0)).simplify().toTree().toTex();
70
70
  isDuplicate = res.some((p) => p.statement === wrongStatement);
71
71
  if (n > 0 && !isDuplicate) {
72
72
  res.push({
@@ -85,7 +85,7 @@ function getDistanceBetweenTwoPoints() {
85
85
  const B = new point_1.Point('B', new numberNode_1.NumberNode(tempsCoords2[0]), new numberNode_1.NumberNode(tempsCoords2[1]));
86
86
  proposition = {
87
87
  id: (0, uuid_1.v4)() + '',
88
- statement: new squareRoot_1.SquareRoot((0, round_1.round)(A.distanceTo(B) ** 2, 0)).simplify().toTree().toTex(),
88
+ statement: new real_1.SquareRoot((0, round_1.round)(A.distanceTo(B) ** 2, 0)).simplify().toTree().toTex(),
89
89
  isRightAnswer: false,
90
90
  format: 'tex',
91
91
  };
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPythagoreCalcul = exports.pythagoreCalcul = void 0;
4
4
  const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
5
  const triangles_1 = require("../../../math/geometry/triangles");
6
- const squareRoot_1 = require("../../../math/numbers/reals/squareRoot");
6
+ const real_1 = require("../../../math/numbers/reals/real");
7
7
  const randint_1 = require("../../../math/utils/random/randint");
8
8
  const coinFlip_1 = require("../../../utils/coinFlip");
9
9
  const shuffle_1 = require("../../../utils/shuffle");
@@ -65,7 +65,7 @@ function getPythagoreCalcul() {
65
65
  let proposition;
66
66
  do {
67
67
  const temp = (0, randint_1.randint)(2, 300);
68
- const squareRoot = new squareRoot_1.SquareRoot(temp);
68
+ const squareRoot = new real_1.SquareRoot(temp);
69
69
  const wrongAnswer = Math.sqrt(temp) === Math.floor(Math.sqrt(temp)) ? Math.sqrt(temp).toString() : squareRoot.toTree().toTex();
70
70
  proposition = {
71
71
  id: (0, uuid_1.v4)() + '',
@@ -1 +1 @@
1
- {"version":3,"file":"squareArea.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/squareArea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM/E,eAAO,MAAM,UAAU,EAAE,YAWxB,CAAC;AAEF,wBAAgB,aAAa,IAAI,QAAQ,CA0CxC"}
1
+ {"version":3,"file":"squareArea.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/squareArea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM/E,eAAO,MAAM,UAAU,EAAE,YAYxB,CAAC;AAEF,wBAAgB,aAAa,IAAI,QAAQ,CA0CxC"}
@@ -13,12 +13,13 @@ exports.squareArea = {
13
13
  levels: ['4ème', '3ème', '2nde'],
14
14
  isSingleStep: false,
15
15
  sections: ['Géométrie euclidienne'],
16
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSquareArea, nb),
16
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSquareArea, nb, 20),
17
17
  qcmTimer: 60,
18
18
  freeTimer: 60,
19
+ maxAllowedQuestions: 20,
19
20
  };
20
21
  function getSquareArea() {
21
- const side = (0, randint_1.randint)(1, 13);
22
+ const side = (0, randint_1.randint)(1, 21);
22
23
  const getPropositions = (n) => {
23
24
  const res = [];
24
25
  res.push({
@@ -1 +1 @@
1
- {"version":3,"file":"squarePerimeter.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/squarePerimeter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM/E,eAAO,MAAM,eAAe,EAAE,YAW7B,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,QAAQ,CA0C7C"}
1
+ {"version":3,"file":"squarePerimeter.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/squarePerimeter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM/E,eAAO,MAAM,eAAe,EAAE,YAY7B,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,QAAQ,CA0C7C"}
@@ -13,12 +13,13 @@ exports.squarePerimeter = {
13
13
  levels: ['4ème', '3ème', '2nde'],
14
14
  isSingleStep: false,
15
15
  sections: ['Géométrie euclidienne'],
16
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSquarePerimeter, nb),
16
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSquarePerimeter, nb, 20),
17
17
  qcmTimer: 60,
18
18
  freeTimer: 60,
19
+ maxAllowedQuestions: 20,
19
20
  };
20
21
  function getSquarePerimeter() {
21
- const side = (0, randint_1.randint)(1, 13);
22
+ const side = (0, randint_1.randint)(1, 21);
22
23
  const getPropositions = (n) => {
23
24
  const res = [];
24
25
  res.push({
@@ -1 +1 @@
1
- {"version":3,"file":"triangleAreaV2.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/triangleAreaV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM/E,eAAO,MAAM,cAAc,EAAE,YAW5B,CAAC;AAEF,wBAAgB,iBAAiB,IAAI,QAAQ,CAqE5C"}
1
+ {"version":3,"file":"triangleAreaV2.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/triangleAreaV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM/E,eAAO,MAAM,cAAc,EAAE,YAY5B,CAAC;AAEF,wBAAgB,iBAAiB,IAAI,QAAQ,CAqE5C"}
@@ -13,9 +13,10 @@ exports.triangleAreaV2 = {
13
13
  levels: ['5ème', '4ème', '3ème', '2nde'],
14
14
  isSingleStep: false,
15
15
  sections: ['Géométrie euclidienne'],
16
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getTriangleAreaV2, nb),
16
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getTriangleAreaV2, nb, 16),
17
17
  qcmTimer: 60,
18
18
  freeTimer: 60,
19
+ maxAllowedQuestions: 16,
19
20
  };
20
21
  function getTriangleAreaV2() {
21
22
  const sides = [
@@ -1 +1 @@
1
- {"version":3,"file":"sequenceGeometricLimit.d.ts","sourceRoot":"","sources":["../../../src/exercises/limits/sequenceGeometricLimit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAqB,MAAM,0BAA0B,CAAC;AAUlG,eAAO,MAAM,sBAAsB,EAAE,YAWpC,CAAC;AAEF,wBAAgB,iCAAiC,IAAI,QAAQ,CAgC5D"}
1
+ {"version":3,"file":"sequenceGeometricLimit.d.ts","sourceRoot":"","sources":["../../../src/exercises/limits/sequenceGeometricLimit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAmC,MAAM,0BAA0B,CAAC;AAUhH,eAAO,MAAM,sBAAsB,EAAE,YAWpC,CAAC;AAEF,wBAAgB,iCAAiC,IAAI,QAAQ,CAgC5D"}
@@ -4,7 +4,6 @@ exports.getSequenceGeometricLimitQuestion = exports.sequenceGeometricLimit = voi
4
4
  const exercise_1 = require("../../exercises/exercise");
5
5
  const getDistinctQuestions_1 = require("../../exercises/utils/getDistinctQuestions");
6
6
  const geometricSequence_1 = require("../../math/sequences/geometricSequence");
7
- const shuffle_1 = require("../../utils/shuffle");
8
7
  const uuid_1 = require("uuid");
9
8
  exports.sequenceGeometricLimit = {
10
9
  id: 'sequenceGeometricLimit',
@@ -37,7 +36,7 @@ function getSequenceGeometricLimitQuestion() {
37
36
  (0, exercise_1.tryToAddWrongProp)(res, '0');
38
37
  (0, exercise_1.tryToAddWrongProp)(res, sequence.reason.tex + '');
39
38
  (0, exercise_1.tryToAddWrongProp)(res, sequence.firstTerm.tex + '');
40
- return (0, shuffle_1.shuffle)([res[0], ...res.slice(1, n)]);
39
+ return (0, exercise_1.shuffleProps)(res, n);
41
40
  };
42
41
  const question = {
43
42
  answer: answer,
@@ -3,5 +3,5 @@
3
3
  */
4
4
  import { MathExercise, Question } from '../exercise';
5
5
  export declare const powersOfTenToDecimal: MathExercise;
6
- export declare function getPowersOfTenDivisionQuestion(): Question;
6
+ export declare function getPowersOfTenToDecimalQuestion(): Question;
7
7
  //# sourceMappingURL=powersOfTenToDecimal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"powersOfTenToDecimal.d.ts","sourceRoot":"","sources":["../../../src/exercises/powers/powersOfTenToDecimal.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIlE,eAAO,MAAM,oBAAoB,EAAE,YAyBlC,CAAC;AAEF,wBAAgB,8BAA8B,IAAI,QAAQ,CAiDzD"}
1
+ {"version":3,"file":"powersOfTenToDecimal.d.ts","sourceRoot":"","sources":["../../../src/exercises/powers/powersOfTenToDecimal.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,YAAY,EAAe,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIlE,eAAO,MAAM,oBAAoB,EAAE,YA0BlC,CAAC;AAEF,wBAAgB,+BAA+B,IAAI,QAAQ,CAiD1D"}