math-exercises 1.3.34 → 1.3.37

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 (40) hide show
  1. package/lib/exercises/calcul/arithmetics/primeNumbers.d.ts +7 -0
  2. package/lib/exercises/calcul/arithmetics/primeNumbers.d.ts.map +1 -0
  3. package/lib/exercises/calcul/arithmetics/primeNumbers.js +48 -0
  4. package/lib/exercises/derivation/derivativeNumberReading.d.ts +4 -0
  5. package/lib/exercises/derivation/derivativeNumberReading.d.ts.map +1 -0
  6. package/lib/exercises/derivation/derivativeNumberReading.js +51 -0
  7. package/lib/exercises/exercises.d.ts.map +1 -1
  8. package/lib/exercises/exercises.js +21 -3
  9. package/lib/exercises/geometry/cartesian/leadingCoefficient.js +1 -1
  10. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.js +1 -1
  11. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts +1 -1
  12. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts.map +1 -1
  13. package/lib/exercises/geometry/euclidean/TriangleArea.js +1 -1
  14. package/lib/exercises/geometry/euclidean/circleArea.d.ts +4 -0
  15. package/lib/exercises/geometry/euclidean/circleArea.d.ts.map +1 -0
  16. package/lib/exercises/geometry/euclidean/circleArea.js +28 -0
  17. package/lib/exercises/geometry/euclidean/circleCircumference.d.ts +4 -0
  18. package/lib/exercises/geometry/euclidean/circleCircumference.d.ts.map +1 -0
  19. package/lib/exercises/geometry/euclidean/circleCircumference.js +28 -0
  20. package/lib/exercises/geometry/euclidean/rectangleArea.d.ts +4 -0
  21. package/lib/exercises/geometry/euclidean/rectangleArea.d.ts.map +1 -0
  22. package/lib/exercises/geometry/euclidean/rectangleArea.js +25 -0
  23. package/lib/exercises/geometry/euclidean/rectanglePerimeter.d.ts +4 -0
  24. package/lib/exercises/geometry/euclidean/rectanglePerimeter.d.ts.map +1 -0
  25. package/lib/exercises/geometry/euclidean/rectanglePerimeter.js +25 -0
  26. package/lib/exercises/geometry/euclidean/squareArea.d.ts +4 -0
  27. package/lib/exercises/geometry/euclidean/squareArea.d.ts.map +1 -0
  28. package/lib/exercises/geometry/euclidean/squareArea.js +24 -0
  29. package/lib/exercises/geometry/euclidean/squarePerimeter.d.ts +4 -0
  30. package/lib/exercises/geometry/euclidean/squarePerimeter.d.ts.map +1 -0
  31. package/lib/exercises/geometry/euclidean/squarePerimeter.js +24 -0
  32. package/lib/exercises/geometry/euclidean/triangleAreaV2.d.ts +4 -0
  33. package/lib/exercises/geometry/euclidean/triangleAreaV2.d.ts.map +1 -0
  34. package/lib/exercises/geometry/euclidean/triangleAreaV2.js +42 -0
  35. package/lib/exercises/geometry/euclidean/trianglePerimeter.d.ts +4 -0
  36. package/lib/exercises/geometry/euclidean/trianglePerimeter.d.ts.map +1 -0
  37. package/lib/exercises/geometry/euclidean/trianglePerimeter.js +24 -0
  38. package/lib/exercises/utils/getDistinctQuestions.d.ts.map +1 -1
  39. package/lib/exercises/utils/getDistinctQuestions.js +2 -0
  40. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ import { Exercise, Question } from '../../exercise';
2
+ /**
3
+ * a±b±c±d
4
+ */
5
+ export declare const primeNumbers: Exercise;
6
+ export declare function getPrimeNumbers(): Question;
7
+ //# sourceMappingURL=primeNumbers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primeNumbers.d.ts","sourceRoot":"","sources":["../../../../src/exercises/calcul/arithmetics/primeNumbers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGpD;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,QAU1B,CAAC;AAEF,wBAAgB,eAAe,IAAI,QAAQ,CAgC1C"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPrimeNumbers = exports.primeNumbers = void 0;
4
+ const randint_1 = require("../../../math/utils/random/randint");
5
+ const getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
6
+ /**
7
+ * a±b±c±d
8
+ */
9
+ exports.primeNumbers = {
10
+ id: 'primeNumbers',
11
+ connector: '=',
12
+ instruction: 'Donner la décomposition en nombre premiers',
13
+ label: 'Décomposition en nombres premiers',
14
+ levels: ['5', '4', '3', '2'],
15
+ section: 'Arithmétiques',
16
+ isSingleStep: false,
17
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getPrimeNumbers, nb),
18
+ keys: [],
19
+ };
20
+ function getPrimeNumbers() {
21
+ const primes = [2, 3, 5, 7, 11];
22
+ const rand = (0, randint_1.randint)(3, 5);
23
+ let choosenNumebrs = [];
24
+ let elevenCount = 0;
25
+ for (let i = 0; i < rand; i++) {
26
+ let temp = (0, randint_1.randint)(0, 5);
27
+ if (temp === 4)
28
+ elevenCount++;
29
+ while (elevenCount >= 2 && temp === 4)
30
+ temp = (0, randint_1.randint)(0, 5);
31
+ choosenNumebrs.push(primes[temp]);
32
+ }
33
+ let prod = 1;
34
+ for (let i = 0; i < choosenNumebrs.length; i++)
35
+ prod *= choosenNumebrs[i];
36
+ choosenNumebrs = choosenNumebrs.sort((a, b) => a - b);
37
+ let answer = `${prod} = ${choosenNumebrs[0]}`;
38
+ for (let i = 1; i < choosenNumebrs.length; i++) {
39
+ answer += `\\times` + choosenNumebrs[i];
40
+ }
41
+ const question = {
42
+ startStatement: `${prod} = ?`,
43
+ answer,
44
+ keys: [],
45
+ };
46
+ return question;
47
+ }
48
+ exports.getPrimeNumbers = getPrimeNumbers;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../exercises/exercise';
2
+ export declare const derivativeNumberReading: Exercise;
3
+ export declare function getDerivativeNumberReading(): Question;
4
+ //# sourceMappingURL=derivativeNumberReading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivativeNumberReading.d.ts","sourceRoot":"","sources":["../../../src/exercises/derivation/derivativeNumberReading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAS9D,eAAO,MAAM,uBAAuB,EAAE,QASrC,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,QAAQ,CAoCrD"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDerivativeNumberReading = exports.derivativeNumberReading = void 0;
4
+ const getDistinctQuestions_1 = require("../../exercises/utils/getDistinctQuestions");
5
+ const droite_1 = require("../../math/geometry/droite");
6
+ const point_1 = require("../../math/geometry/point");
7
+ const polynomial_1 = require("../../math/polynomials/polynomial");
8
+ const randint_1 = require("../../math/utils/random/randint");
9
+ const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
10
+ const mathjs_1 = require("mathjs");
11
+ exports.derivativeNumberReading = {
12
+ id: 'derivativeNumberReading',
13
+ connector: '=',
14
+ instruction: '',
15
+ label: 'Lecture de nombre dérivé',
16
+ levels: ['3', '2', '1'],
17
+ isSingleStep: false,
18
+ section: 'Dérivation',
19
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getDerivativeNumberReading, nb),
20
+ };
21
+ function getDerivativeNumberReading() {
22
+ let xA, yA, xB, yB;
23
+ let pointA, pointB;
24
+ do {
25
+ [xA, yA] = [1, 2].map((el) => (0, randint_1.randint)(-5, 6));
26
+ xB = xA > 0 ? (0, randint_1.randint)(xA - 4, 6) : (0, randint_1.randint)(-4, xA + 5); // l'écart entre les deux points ne soit pas grand
27
+ yB = yA > 0 ? (0, randint_1.randint)(yA - 4, 6) : (0, randint_1.randint)(-4, yA + 5);
28
+ pointA = new point_1.Point('A', new numberNode_1.NumberNode(xA), new numberNode_1.NumberNode(yA));
29
+ pointB = new point_1.Point('B', new numberNode_1.NumberNode(xB), new numberNode_1.NumberNode(yB));
30
+ } while (xB - xA === 0);
31
+ const droite = droite_1.DroiteConstructor.fromTwoPoints(pointA, pointB, 'D');
32
+ const [a, b] = [(3 * (0, randint_1.randint)(-100, 100, [0])) / 100, (2 * (0, randint_1.randint)(-4, 5)) / 100];
33
+ const c = (0, mathjs_1.evaluate)(droite.a.toMathString()) - a * Math.pow(xA, 2) - b * xA;
34
+ const d = yA - (a / 3) * Math.pow(xA, 3) - (b / 2) * Math.pow(xA, 2) - xA * c;
35
+ const polynome = new polynomial_1.Polynomial([d, c, b / 2, a / 3]);
36
+ const instruction = `Ci-dessous sont tracées la courbe de la fonction $f$ et la tangente à cette courbe au point d'abscisse $${xA}$.$\\\\$ Déterminer le coefficient directeur de la tangente qui passe par ce point.`;
37
+ const commands = [
38
+ polynome.toString(),
39
+ `g(x) = (${droite.a.toMathString()}) * x + (${droite.b.toMathString()})`,
40
+ `(${xA},${yA})`,
41
+ ];
42
+ const question = {
43
+ instruction,
44
+ startStatement: 'a',
45
+ answer: droite.getLeadingCoefficient(),
46
+ commands,
47
+ coords: [xA - 5, xA + 5, yA - 5, yA + 5],
48
+ };
49
+ return question;
50
+ }
51
+ exports.getDerivativeNumberReading = getDerivativeNumberReading;
@@ -1 +1 @@
1
- {"version":3,"file":"exercises.d.ts","sourceRoot":"","sources":["../../src/exercises/exercises.ts"],"names":[],"mappings":"AAkGA,eAAO,MAAM,SAAS,iCAgJrB,CAAC"}
1
+ {"version":3,"file":"exercises.d.ts","sourceRoot":"","sources":["../../src/exercises/exercises.ts"],"names":[],"mappings":"AA2GA,eAAO,MAAM,SAAS,iCAyJrB,CAAC"}
@@ -17,6 +17,7 @@ const mentalMultiplications_1 = require("./calcul/mentalCaluls.ts/mentalMultipli
17
17
  const mentalPercentage_1 = require("./calcul/mentalCaluls.ts/mentalPercentage");
18
18
  const operationsPriorities_1 = require("./calcul/operations/operationsPriorities");
19
19
  const operationsPrioritiesWithoutRelative_1 = require("./calcul/operations/operationsPrioritiesWithoutRelative");
20
+ const primeNumbers_1 = require("./calcul/arithmetics/primeNumbers");
20
21
  const rounding_1 = require("./calcul/rounding/rounding");
21
22
  const allIdentities_1 = require("./calculLitteral/distributivity/allIdentities");
22
23
  const doubleDistributivity_1 = require("./calculLitteral/distributivity/doubleDistributivity");
@@ -50,12 +51,11 @@ const rootFunctionDerivative_1 = require("./derivation/derivative/rootFunctionDe
50
51
  const secondDegreeDerivative_1 = require("./derivation/derivative/secondDegreeDerivative");
51
52
  const thirdDegreeDerivative_1 = require("./derivation/derivative/thirdDegreeDerivative");
52
53
  const usualderivative_1 = require("./derivation/derivative/usualderivative");
53
- const derivativeNumberReading_1 = require("./geometry/cartesian/derivativeNumberReading");
54
+ const derivativeNumberReading_1 = require("./derivation/derivativeNumberReading");
54
55
  const leadingCoefficient_1 = require("./geometry/cartesian/leadingCoefficient");
55
56
  const leadingCoefficientCalculV1_1 = require("./geometry/cartesian/leadingCoefficientCalculV1");
56
57
  const leadingCoefficientCalculV2_1 = require("./geometry/cartesian/leadingCoefficientCalculV2");
57
58
  const midpoint_1 = require("./geometry/cartesian/midpoint");
58
- const TriangleArea_1 = require("./geometry/euclidean/TriangleArea");
59
59
  const pythagore_1 = require("./geometry/euclidean/pythagore");
60
60
  const pythagoreCalcul_1 = require("./geometry/euclidean/pythagoreCalcul");
61
61
  const rightTriangleArea_1 = require("./geometry/euclidean/rightTriangleArea");
@@ -89,6 +89,15 @@ const geometricFindReason_1 = require("./sequences/geometric/geometricFindReason
89
89
  const geometricReasonUsage_1 = require("./sequences/geometric/geometricReasonUsage");
90
90
  const geometricRecurrenceFormulaUsage_1 = require("./sequences/geometric/geometricRecurrenceFormulaUsage");
91
91
  const simpifySquareRoot_1 = require("./squareRoots/simpifySquareRoot");
92
+ const rectangleArea_1 = require("./geometry/euclidean/rectangleArea");
93
+ const rectanglePerimeter_1 = require("./geometry/euclidean/rectanglePerimeter");
94
+ const squareArea_1 = require("./geometry/euclidean/squareArea");
95
+ const squarePerimeter_1 = require("./geometry/euclidean/squarePerimeter");
96
+ const trianglePerimeter_1 = require("./geometry/euclidean/trianglePerimeter");
97
+ const triangleAreaV2_1 = require("./geometry/euclidean/triangleAreaV2");
98
+ const circleArea_1 = require("./geometry/euclidean/circleArea");
99
+ const circleCircumference_1 = require("./geometry/euclidean/circleCircumference");
100
+ const triangleArea_1 = require("./geometry/euclidean/triangleArea");
92
101
  exports.exercises = [
93
102
  /**
94
103
  * calcul litteral
@@ -207,7 +216,7 @@ exports.exercises = [
207
216
  trigonometryAngleCalcul_1.trigonometryAngleCalcul,
208
217
  trigonometrySideCalcul_1.trigonometrySideCalcul,
209
218
  rightTriangleArea_1.rightTriangleArea,
210
- TriangleArea_1.triangleArea,
219
+ triangleArea_1.triangleArea,
211
220
  /**
212
221
  * nv generateurs
213
222
  */
@@ -217,8 +226,17 @@ exports.exercises = [
217
226
  aeraConversion_1.aeraConversion,
218
227
  volumeConversion_1.volumeConversion,
219
228
  volumeCapacityConversion_1.volumeCapacityConversion,
229
+ primeNumbers_1.primeNumbers,
220
230
  multiplicationEquation_1.multiplicationEquation,
221
231
  fractionEquation_1.fractionEquation,
222
232
  leadingCoefficientCalculV1_1.leadingCoefficientCalculV1,
223
233
  leadingCoefficientCalculV2_1.leadingCoefficientCalculV2,
234
+ rectangleArea_1.rectangleArea,
235
+ rectanglePerimeter_1.rectanglePerimeter,
236
+ squareArea_1.squareArea,
237
+ squarePerimeter_1.squarePerimeter,
238
+ triangleAreaV2_1.triangleAreaV2,
239
+ trianglePerimeter_1.trianglePerimeter,
240
+ circleArea_1.circleArea,
241
+ circleCircumference_1.circleCircumference,
224
242
  ];
@@ -14,7 +14,7 @@ exports.leadingCoefficient = {
14
14
  label: 'Déterminer le coefficient directeur',
15
15
  levels: ['3', '2', '1'],
16
16
  isSingleStep: false,
17
- section: 'Géométrie cartésienne',
17
+ section: 'Droites',
18
18
  generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getLeadingCoefficientQuestion, nb),
19
19
  };
20
20
  function getLeadingCoefficientQuestion() {
@@ -21,7 +21,7 @@ function getLeadingCoefficientCalculV1Question() {
21
21
  const xB = (0, randint_1.randint)(-9, 10, [xA]);
22
22
  const yB = (0, randint_1.randint)(-9, 10);
23
23
  const question = {
24
- instruction: `Soit $d$ une droite passant par les points A(${xA},${yA}) et B(${xB},${yB}).$\\\\$Déterminer le coefficient directeur de $d$.`,
24
+ instruction: `Soit $d$ une droite passant par les points $A(${xA};${yA})$ et $B(${xB};${yB})$.$\\\\$Déterminer le coefficient directeur de $d$.`,
25
25
  answer: (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(yB - yA), new numberNode_1.NumberNode(xB - xA))).toTex(),
26
26
  };
27
27
  return question;
@@ -1,4 +1,4 @@
1
1
  import { Exercise, Question } from '../../../exercises/exercise';
2
2
  export declare const triangleArea: Exercise;
3
3
  export declare function getTriangleArea(): Question;
4
- //# sourceMappingURL=TriangleArea.d.ts.map
4
+ //# sourceMappingURL=triangleArea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TriangleArea.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/TriangleArea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM9D,eAAO,MAAM,YAAY,EAAE,QAS1B,CAAC;AAEF,wBAAgB,eAAe,IAAI,QAAQ,CA4C1C"}
1
+ {"version":3,"file":"triangleArea.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/triangleArea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM9D,eAAO,MAAM,YAAY,EAAE,QAS1B,CAAC;AAEF,wBAAgB,eAAe,IAAI,QAAQ,CA4C1C"}
@@ -9,7 +9,7 @@ exports.triangleArea = {
9
9
  id: 'triangleArea',
10
10
  connector: '=',
11
11
  instruction: '',
12
- label: "Calculer l'aire d'un triangle",
12
+ label: "Calculer l'aire d'un triangle (avec figure)",
13
13
  levels: ['4', '3', '2'],
14
14
  isSingleStep: false,
15
15
  section: 'Géométrie euclidienne',
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const circleArea: Exercise;
3
+ export declare function getCircleArea(): Question;
4
+ //# sourceMappingURL=circleArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circleArea.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/circleArea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM9D,eAAO,MAAM,UAAU,EAAE,QASxB,CAAC;AAEF,wBAAgB,aAAa,IAAI,QAAQ,CAYxC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCircleArea = exports.circleArea = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ const round_1 = require("../../../math/utils/round");
7
+ const coinFlip_1 = require("../../../utils/coinFlip");
8
+ exports.circleArea = {
9
+ id: 'circleArea',
10
+ connector: '=',
11
+ instruction: '',
12
+ label: "Calculer l'aire d'un cercle",
13
+ levels: ['4', '3', '2'],
14
+ isSingleStep: false,
15
+ section: 'Géométrie euclidienne',
16
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCircleArea, nb),
17
+ };
18
+ function getCircleArea() {
19
+ const radius = (0, randint_1.randint)(1, 13);
20
+ const diametre = (0, randint_1.randint)(1, 21);
21
+ const coin = (0, coinFlip_1.coinFlip)();
22
+ const question = {
23
+ instruction: `Calculer l'aire d'un cercle de ${coin ? 'rayon ' + radius : 'diamètre ' + diametre} cm.`,
24
+ answer: coin ? (0, round_1.round)(Math.PI * radius ** 2, 2) + '' : (0, round_1.round)(Math.PI * (diametre / 2) ** 2, 2) + '',
25
+ };
26
+ return question;
27
+ }
28
+ exports.getCircleArea = getCircleArea;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const circleCircumference: Exercise;
3
+ export declare function getCircleCircumference(): Question;
4
+ //# sourceMappingURL=circleCircumference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circleCircumference.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/circleCircumference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAM9D,eAAO,MAAM,mBAAmB,EAAE,QASjC,CAAC;AAEF,wBAAgB,sBAAsB,IAAI,QAAQ,CAYjD"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCircleCircumference = exports.circleCircumference = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ const round_1 = require("../../../math/utils/round");
7
+ const coinFlip_1 = require("../../../utils/coinFlip");
8
+ exports.circleCircumference = {
9
+ id: 'circleCircumference',
10
+ connector: '=',
11
+ instruction: '',
12
+ label: "Calculer la circonférence d'un cercle",
13
+ levels: ['4', '3', '2'],
14
+ isSingleStep: false,
15
+ section: 'Géométrie euclidienne',
16
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCircleCircumference, nb),
17
+ };
18
+ function getCircleCircumference() {
19
+ const radius = (0, randint_1.randint)(1, 13);
20
+ const diametre = (0, randint_1.randint)(1, 21);
21
+ const coin = (0, coinFlip_1.coinFlip)();
22
+ const question = {
23
+ instruction: `Calculer la circonférence d'un cercle de ${coin ? 'rayon ' + radius : 'diamètre ' + diametre} cm.`,
24
+ answer: coin ? (0, round_1.round)(2 * Math.PI * radius, 2) + '' : (0, round_1.round)(Math.PI * diametre, 2) + '',
25
+ };
26
+ return question;
27
+ }
28
+ exports.getCircleCircumference = getCircleCircumference;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const rectangleArea: Exercise;
3
+ export declare function getRectangleArea(): Question;
4
+ //# sourceMappingURL=rectangleArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rectangleArea.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/rectangleArea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,aAAa,EAAE,QAS3B,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,QAAQ,CAU3C"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRectangleArea = exports.rectangleArea = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ exports.rectangleArea = {
7
+ id: 'rectangleArea',
8
+ connector: '=',
9
+ instruction: '',
10
+ label: "Calculer l'aire d'un rectangle",
11
+ levels: ['4', '3', '2'],
12
+ isSingleStep: false,
13
+ section: 'Géométrie euclidienne',
14
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRectangleArea, nb),
15
+ };
16
+ function getRectangleArea() {
17
+ const length = (0, randint_1.randint)(3, 13);
18
+ const width = (0, randint_1.randint)(1, length);
19
+ const question = {
20
+ instruction: `Calculer l'aire d'un rectangle de $${length}$ cm de longueur et de $${width}$ cm de largeur.`,
21
+ answer: length * width + '',
22
+ };
23
+ return question;
24
+ }
25
+ exports.getRectangleArea = getRectangleArea;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const rectanglePerimeter: Exercise;
3
+ export declare function getRectanglePerimeter(): Question;
4
+ //# sourceMappingURL=rectanglePerimeter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rectanglePerimeter.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/rectanglePerimeter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,kBAAkB,EAAE,QAShC,CAAC;AAEF,wBAAgB,qBAAqB,IAAI,QAAQ,CAUhD"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRectanglePerimeter = exports.rectanglePerimeter = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ exports.rectanglePerimeter = {
7
+ id: 'rectanglePerimeter',
8
+ connector: '=',
9
+ instruction: '',
10
+ label: "Calculer le périmètre d'un rectangle",
11
+ levels: ['4', '3', '2'],
12
+ isSingleStep: false,
13
+ section: 'Géométrie euclidienne',
14
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRectanglePerimeter, nb),
15
+ };
16
+ function getRectanglePerimeter() {
17
+ const length = (0, randint_1.randint)(3, 13);
18
+ const width = (0, randint_1.randint)(1, length);
19
+ const question = {
20
+ instruction: `Calculer le périmètre d'un rectangle de $${length}$ cm de longueur et de $${width}$ cm de largeur.`,
21
+ answer: (length + width) * 2 + '',
22
+ };
23
+ return question;
24
+ }
25
+ exports.getRectanglePerimeter = getRectanglePerimeter;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const squareArea: Exercise;
3
+ export declare function getSquareArea(): Question;
4
+ //# sourceMappingURL=squareArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"squareArea.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/squareArea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,UAAU,EAAE,QASxB,CAAC;AAEF,wBAAgB,aAAa,IAAI,QAAQ,CASxC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSquareArea = exports.squareArea = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ exports.squareArea = {
7
+ id: 'squareArea',
8
+ connector: '=',
9
+ instruction: '',
10
+ label: "Calculer l'aire d'un carré",
11
+ levels: ['4', '3', '2'],
12
+ isSingleStep: false,
13
+ section: 'Géométrie euclidienne',
14
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSquareArea, nb),
15
+ };
16
+ function getSquareArea() {
17
+ const side = (0, randint_1.randint)(1, 13);
18
+ const question = {
19
+ instruction: `Calculer l'aire d'un carré de $${side}$ cm de côté.`,
20
+ answer: side ** 2 + '',
21
+ };
22
+ return question;
23
+ }
24
+ exports.getSquareArea = getSquareArea;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const squarePerimeter: Exercise;
3
+ export declare function getSquarePerimeter(): Question;
4
+ //# sourceMappingURL=squarePerimeter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"squarePerimeter.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/squarePerimeter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,eAAe,EAAE,QAS7B,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,QAAQ,CAS7C"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSquarePerimeter = exports.squarePerimeter = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ exports.squarePerimeter = {
7
+ id: 'squarePerimeter',
8
+ connector: '=',
9
+ instruction: '',
10
+ label: "Calculer le périmètre d'un carré",
11
+ levels: ['4', '3', '2'],
12
+ isSingleStep: false,
13
+ section: 'Géométrie euclidienne',
14
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSquarePerimeter, nb),
15
+ };
16
+ function getSquarePerimeter() {
17
+ const side = (0, randint_1.randint)(1, 13);
18
+ const question = {
19
+ instruction: `Calculer le périmètre d'un carré de $${side}$ cm de côté.`,
20
+ answer: side * 4 + '',
21
+ };
22
+ return question;
23
+ }
24
+ exports.getSquarePerimeter = getSquarePerimeter;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const triangleAreaV2: Exercise;
3
+ export declare function getTriangleAreaV2(): Question;
4
+ //# sourceMappingURL=triangleAreaV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triangleAreaV2.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/triangleAreaV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,cAAc,EAAE,QAS5B,CAAC;AAEF,wBAAgB,iBAAiB,IAAI,QAAQ,CA4B5C"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTriangleAreaV2 = exports.triangleAreaV2 = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ exports.triangleAreaV2 = {
7
+ id: 'triangleAreaV2',
8
+ connector: '=',
9
+ instruction: '',
10
+ label: "Calculer l'aire d'un triangle (sans figure)",
11
+ levels: ['4', '3', '2'],
12
+ isSingleStep: false,
13
+ section: 'Géométrie euclidienne',
14
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getTriangleAreaV2, nb),
15
+ };
16
+ function getTriangleAreaV2() {
17
+ const sides = [
18
+ [3, 4, 5],
19
+ [5, 12, 13],
20
+ [8, 15, 17],
21
+ [7, 24, 25],
22
+ [20, 21, 29],
23
+ [12, 35, 37],
24
+ [9, 40, 41],
25
+ [28, 45, 53],
26
+ [11, 60, 61],
27
+ [16, 63, 65],
28
+ [33, 56, 65],
29
+ [48, 55, 73],
30
+ [13, 84, 85],
31
+ [36, 77, 85],
32
+ [39, 80, 89],
33
+ [65, 72, 97],
34
+ ];
35
+ const randomSide = (0, randint_1.randint)(0, sides.length);
36
+ const question = {
37
+ instruction: `Calculer l'aire du triangle rectangle qui a pour côtés: $${sides[randomSide][0]}$ cm, $${sides[randomSide][1]}$ cm et $${sides[randomSide][2]}$ cm.`,
38
+ answer: (sides[randomSide][0] * sides[randomSide][1]) / 2 + '',
39
+ };
40
+ return question;
41
+ }
42
+ exports.getTriangleAreaV2 = getTriangleAreaV2;
@@ -0,0 +1,4 @@
1
+ import { Exercise, Question } from '../../../exercises/exercise';
2
+ export declare const trianglePerimeter: Exercise;
3
+ export declare function getTrianglePerimeter(): Question;
4
+ //# sourceMappingURL=trianglePerimeter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trianglePerimeter.d.ts","sourceRoot":"","sources":["../../../../src/exercises/geometry/euclidean/trianglePerimeter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,iBAAiB,EAAE,QAS/B,CAAC;AAEF,wBAAgB,oBAAoB,IAAI,QAAQ,CAS/C"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTrianglePerimeter = exports.trianglePerimeter = void 0;
4
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
5
+ const randint_1 = require("../../../math/utils/random/randint");
6
+ exports.trianglePerimeter = {
7
+ id: 'trianglePerimeter',
8
+ connector: '=',
9
+ instruction: '',
10
+ label: "Calculer le périmètre d'un triangle",
11
+ levels: ['4', '3', '2'],
12
+ isSingleStep: false,
13
+ section: 'Géométrie euclidienne',
14
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getTrianglePerimeter, nb),
15
+ };
16
+ function getTrianglePerimeter() {
17
+ const sides = [(0, randint_1.randint)(1, 13), (0, randint_1.randint)(1, 13), (0, randint_1.randint)(1, 13)];
18
+ const question = {
19
+ instruction: `Calculer le périmètre d'un triangle qui a pour côtés: $${sides[0]}$ cm, $${sides[1]}$ cm et $${sides[2]}$ cm.`,
20
+ answer: sides[0] + sides[1] + sides[2] + '',
21
+ };
22
+ return question;
23
+ }
24
+ exports.getTrianglePerimeter = getTrianglePerimeter;
@@ -1 +1 @@
1
- {"version":3,"file":"getDistinctQuestions.d.ts","sourceRoot":"","sources":["../../../src/exercises/utils/getDistinctQuestions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,WAKnD;AAED,eAAO,MAAM,oBAAoB,cAAe,QAAQ,MAAM,MAAM,KAAG,QAAQ,EAkB9E,CAAC"}
1
+ {"version":3,"file":"getDistinctQuestions.d.ts","sourceRoot":"","sources":["../../../src/exercises/utils/getDistinctQuestions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,WAMnD;AAED,eAAO,MAAM,oBAAoB,cAAe,QAAQ,MAAM,MAAM,KAAG,QAAQ,EAkB9E,CAAC"}
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDistinctQuestions = exports.equalTab = void 0;
4
4
  function equalTab(array1, array2) {
5
+ if (!array1 && !array2)
6
+ return true;
5
7
  if (!array1 || !array2)
6
8
  return false;
7
9
  if (array1.length !== array2.length)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "math-exercises",
3
- "version": "1.3.34",
3
+ "version": "1.3.37",
4
4
  "description": "Math exercises generator for middle school and high school",
5
5
  "main": "lib/index.js",
6
6
  "files": [