math-exercises 3.0.58 → 3.0.60

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 (70) hide show
  1. package/lib/exercises/exercise.d.ts +1 -0
  2. package/lib/exercises/exercise.d.ts.map +1 -1
  3. package/lib/exercises/math/calcul/decimals/multiplyDecimalByNegativeTens.d.ts.map +1 -1
  4. package/lib/exercises/math/calcul/decimals/multiplyDecimalByNegativeTens.js +46 -17
  5. package/lib/exercises/math/calcul/decimals/multiplyDecimalByTens.d.ts.map +1 -1
  6. package/lib/exercises/math/calcul/decimals/multiplyDecimalByTens.js +8 -2
  7. package/lib/exercises/math/calcul/fractions/fractionAndIntegerDivision.d.ts.map +1 -1
  8. package/lib/exercises/math/calcul/fractions/fractionAndIntegerDivision.js +15 -11
  9. package/lib/exercises/math/calcul/fractions/fractionAndIntegerProduct.d.ts.map +1 -1
  10. package/lib/exercises/math/calcul/fractions/fractionAndIntegerProduct.js +4 -5
  11. package/lib/exercises/math/calcul/fractions/fractionAndIntegerSum.d.ts.map +1 -1
  12. package/lib/exercises/math/calcul/fractions/fractionAndIntegerSum.js +4 -2
  13. package/lib/exercises/math/calcul/fractions/fractionSquare.d.ts.map +1 -1
  14. package/lib/exercises/math/calcul/fractions/fractionSquare.js +0 -4
  15. package/lib/exercises/math/calcul/fractions/fractionsDivision.d.ts +6 -3
  16. package/lib/exercises/math/calcul/fractions/fractionsDivision.d.ts.map +1 -1
  17. package/lib/exercises/math/calcul/fractions/fractionsDivision.js +63 -28
  18. package/lib/exercises/math/calcul/fractions/fractionsOperations.d.ts.map +1 -1
  19. package/lib/exercises/math/calcul/fractions/fractionsOperations.js +0 -4
  20. package/lib/exercises/math/calcul/fractions/fractionsProduct.d.ts.map +1 -1
  21. package/lib/exercises/math/calcul/fractions/fractionsProduct.js +0 -4
  22. package/lib/exercises/math/calcul/fractions/fractionsSubstraction.d.ts.map +1 -1
  23. package/lib/exercises/math/calcul/fractions/fractionsSubstraction.js +0 -4
  24. package/lib/exercises/math/calcul/fractions/fractionsSum.d.ts.map +1 -1
  25. package/lib/exercises/math/calcul/fractions/fractionsSum.js +33 -12
  26. package/lib/exercises/math/geometry/areas/circleArea.js +1 -1
  27. package/lib/exercises/math/percent/findProportion.d.ts.map +1 -1
  28. package/lib/exercises/math/percent/findProportion.js +2 -1
  29. package/lib/exercises/math/percent/findTVA.js +1 -1
  30. package/lib/exercises/math/percent/htToTTC.js +1 -1
  31. package/lib/exercises/math/percent/reciprocalPercentage.js +1 -1
  32. package/lib/exercises/math/percent/ttcToHT.js +1 -1
  33. package/lib/exercises/math/percent/valuePercent.d.ts.map +1 -1
  34. package/lib/exercises/math/percent/valuePercent.js +1 -0
  35. package/lib/exercises/math/powers/powersOfTenToDecimal.d.ts.map +1 -1
  36. package/lib/exercises/math/powers/powersOfTenToDecimal.js +1 -0
  37. package/lib/exercises/math/squareRoots/simpifySquareRoot.d.ts.map +1 -1
  38. package/lib/exercises/math/squareRoots/simpifySquareRoot.js +4 -4
  39. package/lib/exercises/math/squareRoots/squareRootEquation.d.ts.map +1 -1
  40. package/lib/exercises/math/squareRoots/squareRootEquation.js +4 -4
  41. package/lib/exercises/math/squareRoots/squareRootIdentities.d.ts +1 -0
  42. package/lib/exercises/math/squareRoots/squareRootIdentities.d.ts.map +1 -1
  43. package/lib/exercises/math/squareRoots/squareRootIdentities.js +64 -40
  44. package/lib/exercises/math/squareRoots/squareRootsDistributivity.d.ts.map +1 -1
  45. package/lib/exercises/math/squareRoots/squareRootsDistributivity.js +36 -23
  46. package/lib/exercises/math/squareRoots/squareRootsFractions.d.ts.map +1 -1
  47. package/lib/exercises/math/squareRoots/squareRootsFractions.js +4 -1
  48. package/lib/exercises/math/squareRoots/squareRootsProducts.d.ts.map +1 -1
  49. package/lib/exercises/math/squareRoots/squareRootsProducts.js +4 -1
  50. package/lib/exercises/math/squareRoots/squareRootsSum.d.ts.map +1 -1
  51. package/lib/exercises/math/squareRoots/squareRootsSum.js +4 -2
  52. package/lib/exercises/math/squareRoots/squareRootsToSquare.d.ts.map +1 -1
  53. package/lib/exercises/math/squareRoots/squareRootsToSquare.js +4 -2
  54. package/lib/exercises/math/trigonometry/arcValue.d.ts.map +1 -1
  55. package/lib/exercises/math/trigonometry/arcValue.js +67 -31
  56. package/lib/exercises/math/trigonometry/associatePoint.d.ts.map +1 -1
  57. package/lib/exercises/math/trigonometry/associatePoint.js +33 -16
  58. package/lib/exercises/math/trigonometry/basicEquationSin.js +6 -6
  59. package/lib/exercises/math/trigonometry/equationSinOnRandomInterval.js +3 -3
  60. package/lib/exercises/math/trigonometry/trigonometry.d.ts.map +1 -1
  61. package/lib/exercises/math/trigonometry/trigonometry.js +0 -5
  62. package/lib/exercises/math/trigonometry/trigonometryAngleCalcul.d.ts.map +1 -1
  63. package/lib/exercises/math/trigonometry/trigonometryAngleCalcul.js +0 -5
  64. package/lib/exercises/math/trigonometry/trigonometrySideCalcul.d.ts.map +1 -1
  65. package/lib/exercises/math/trigonometry/trigonometrySideCalcul.js +0 -5
  66. package/lib/index.d.ts +6 -3
  67. package/lib/index.d.ts.map +1 -1
  68. package/lib/playground.d.ts.map +1 -1
  69. package/lib/playground.js +1 -6
  70. package/package.json +1 -1
@@ -131,6 +131,7 @@ export interface Exercise<TIdentifiers = {}, TOptions = {}> {
131
131
  maxAllowedQuestions?: number;
132
132
  answerType?: "GGB" | "QCM" | "free" | "QCU";
133
133
  isQCM?: boolean;
134
+ shouldHaveCalculator?: boolean;
134
135
  qcmTimer?: number;
135
136
  freeTimer?: number;
136
137
  ggbTimer?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"exercise.d.ts","sourceRoot":"","sources":["../../src/exercises/exercise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exercise.d.ts","sourceRoot":"","sources":["../../src/exercises/exercise.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"multiplyDecimalByNegativeTens.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/decimals/multiplyDecimalByNegativeTens.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AA6DF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,CAe/D,CAAC"}
1
+ {"version":3,"file":"multiplyDecimalByNegativeTens.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/decimals/multiplyDecimalByNegativeTens.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AA8FF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,CAe/D,CAAC"}
@@ -1,31 +1,60 @@
1
1
  import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
2
  import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { numberVEA } from "../../../../exercises/vea/numberVEA.js";
3
4
  import { Decimal, DecimalConstructor, } from "../../../../math/numbers/decimals/decimal.js";
4
5
  import { randint } from "../../../../math/utils/random/randint.js";
5
6
  import { MultiplyNode } from "../../../../tree/nodes/operators/multiplyNode.js";
6
7
  import { pluralize } from "../../../../utils/strings/pluralize.js";
7
- const getMultiplyDecimalByNegativeTensQuestion = () => {
8
- const dec = DecimalConstructor.random(1, 200, randint(1, 5));
9
- const pow = -randint(1, 4);
8
+ const getInstruction = (identifiers) => {
9
+ const { dec, pow } = identifiers;
10
+ const factor = Math.pow(10, pow);
11
+ const statement = new MultiplyNode(dec.toTree(), factor.toTree());
12
+ return `Calculer :
13
+
14
+ $$
15
+ ${statement.toTex()}
16
+ $$`;
17
+ };
18
+ const getAnswer = (identifiers) => {
19
+ const { dec, pow } = identifiers;
20
+ const decimal = new Decimal(dec);
21
+ const answer = decimal.multiplyByPowerOfTen(pow).toTree().toTex();
22
+ return answer;
23
+ };
24
+ const getHint = (identifiers) => {
25
+ const { dec, pow } = identifiers;
26
+ const factor = Math.pow(10, pow);
27
+ return `Multiplier par $${factor.frenchify()}$ revient à déplacer la virgule de $${-pow}$ ${pluralize("position", -pow)} vers la gauche.`;
28
+ };
29
+ const getCorrection = (identifiers) => {
30
+ const { dec, pow } = identifiers;
10
31
  const factor = Math.pow(10, pow);
11
- const answer = dec.multiplyByPowerOfTen(pow).toTree().toTex();
12
32
  const statement = new MultiplyNode(dec.toTree(), factor.toTree());
33
+ return `On déplace la virgule de $${-pow}$ ${pluralize("position", -pow)} vers la gauche :
34
+
35
+ $$
36
+ ${statement.toTex()} = ${getAnswer(identifiers)}
37
+ $$
38
+ `;
39
+ };
40
+ const getQuestionFromIdentifiers = (identifiers) => {
13
41
  const question = {
14
- answer,
15
- instruction: `Calculer : $${statement.toTex()}$`,
42
+ answer: getAnswer(identifiers),
43
+ instruction: getInstruction(identifiers),
16
44
  keys: [],
17
45
  answerFormat: "tex",
18
- identifiers: { dec: dec.value, pow },
19
- hint: `Multiplier par $${factor.frenchify()}$ revient à déplacer la virgule de $${-pow}$ ${pluralize("position", -pow)} vers la gauche.`,
20
- correction: `On déplace la virgule de $${-pow}$ ${pluralize("position", -pow)} vers la gauche :
21
-
22
- $$
23
- ${statement.toTex()} = ${answer}
24
- $$
25
- `,
46
+ identifiers,
47
+ hint: getHint(identifiers),
48
+ correction: getCorrection(identifiers),
26
49
  };
27
50
  return question;
28
51
  };
52
+ const getMultiplyDecimalByNegativeTensQuestion = () => {
53
+ const dec = DecimalConstructor.random(1, 200, randint(1, 5));
54
+ const pow = -randint(1, 4);
55
+ const identifiers = { dec: dec.value, pow };
56
+ return getQuestionFromIdentifiers(identifiers);
57
+ };
29
58
  const getPropositions = (n, { answer, dec, pow }) => {
30
59
  const propositions = [];
31
60
  addValidProp(propositions, answer);
@@ -40,15 +69,13 @@ const getPropositions = (n, { answer, dec, pow }) => {
40
69
  return shuffleProps(propositions, n);
41
70
  };
42
71
  const isAnswerValid = (ans, { answer }) => {
43
- return ans === answer;
72
+ return numberVEA(ans, answer);
44
73
  };
45
74
  export const multiplyDecimalByNegativeTens = {
46
75
  id: "multiplyDecimalByNegativeTens",
47
76
  connector: "=",
48
77
  label: "Multiplier un décimal par $0,1$, par $0,01$ ou par $0,001$",
49
- levels: [],
50
78
  isSingleStep: true,
51
- sections: [],
52
79
  generator: (nb) => getDistinctQuestions(getMultiplyDecimalByNegativeTensQuestion, nb),
53
80
  qcmTimer: 60,
54
81
  freeTimer: 60,
@@ -56,4 +83,6 @@ export const multiplyDecimalByNegativeTens = {
56
83
  isAnswerValid,
57
84
  subject: "Mathématiques",
58
85
  hasHintAndCorrection: true,
86
+ getQuestionFromIdentifiers,
87
+ shouldHaveCalculator: false,
59
88
  };
@@ -1 +1 @@
1
- {"version":3,"file":"multiplyDecimalByTens.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/decimals/multiplyDecimalByTens.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAcrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAmGF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAmBvD,CAAC"}
1
+ {"version":3,"file":"multiplyDecimalByTens.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/decimals/multiplyDecimalByTens.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAcrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAuGF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAoBvD,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
2
  import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { numberVEA } from "../../../../exercises/vea/numberVEA.js";
3
4
  import { Decimal, DecimalConstructor, } from "../../../../math/numbers/decimals/decimal.js";
4
5
  import { randint } from "../../../../math/utils/random/randint.js";
5
6
  import { DivideNode } from "../../../../tree/nodes/operators/divideNode.js";
@@ -10,7 +11,11 @@ const getInstruction = (identifiers) => {
10
11
  const { dec, pow, isDivide } = identifiers;
11
12
  const factor = Math.pow(10, pow);
12
13
  const statement = new (isDivide ? DivideNode : MultiplyNode)(dec.toTree(), factor.toTree());
13
- return `Calculer : $${statement.toTex()}$`;
14
+ return `Calculer :
15
+
16
+ $$
17
+ ${statement.toTex()}
18
+ $$`;
14
19
  };
15
20
  const getHint = (identifiers) => {
16
21
  const { dec, pow, isDivide } = identifiers;
@@ -71,7 +76,7 @@ const getPropositions = (n, { answer, dec, isDivide, pow }) => {
71
76
  return shuffleProps(propositions, n);
72
77
  };
73
78
  const isAnswerValid = (ans, { answer }) => {
74
- return ans === answer;
79
+ return numberVEA(ans, answer);
75
80
  };
76
81
  export const multiplyDecimalByTens = {
77
82
  id: "multiplyDecimalByTens",
@@ -91,4 +96,5 @@ export const multiplyDecimalByTens = {
91
96
  getCorrection,
92
97
  getHint,
93
98
  getAnswer,
99
+ shouldHaveCalculator: false,
94
100
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fractionAndIntegerDivision.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerDivision.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAiKF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAiB5D,CAAC"}
1
+ {"version":3,"file":"fractionAndIntegerDivision.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerDivision.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAarC,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAyKF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAc5D,CAAC"}
@@ -3,7 +3,8 @@ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQue
3
3
  import { Integer } from "../../../../math/numbers/integer/integer.js";
4
4
  import { Rational, RationalConstructor, } from "../../../../math/numbers/rationals/rational.js";
5
5
  import { randint } from "../../../../math/utils/random/randint.js";
6
- import { DivideNode } from "../../../../tree/nodes/operators/divideNode.js";
6
+ import { divide, DivideNode } from "../../../../tree/nodes/operators/divideNode.js";
7
+ import { frac } from "../../../../tree/nodes/operators/fractionNode.js";
7
8
  import { MultiplyNode } from "../../../../tree/nodes/operators/multiplyNode.js";
8
9
  import { coinFlip } from "../../../../utils/alea/coinFlip.js";
9
10
  const getAnswer = (identifiers) => {
@@ -38,8 +39,7 @@ const getCorrection = (identifiers) => {
38
39
  ? new Rational(integer * rationalObj.denum, rationalObj.num)
39
40
  : new Rational(rationalObj.num, rationalObj.denum * integer);
40
41
  const answerTex = getAnswer(identifiers);
41
- return `
42
- On écrit $${integer}$ sous forme de fraction :
42
+ return `On écrit $${integer}$ sous forme de fraction :
43
43
 
44
44
  $$
45
45
  ${integer} = \\frac{${integer}}{1}
@@ -77,23 +77,30 @@ $$
77
77
  Ainsi, le résultat attendu est $${answerTex}$.
78
78
  `;
79
79
  };
80
+ const getStartStatement = (identifiers) => {
81
+ const { integerFirst, integer, rational } = identifiers;
82
+ const statementTree = integerFirst
83
+ ? divide(integer, frac(rational[0], rational[1]))
84
+ : divide(frac(rational[0], rational[1]), integer);
85
+ return statementTree.toTex();
86
+ };
80
87
  const getFractionAndIntegerDivision = () => {
81
88
  const rational = RationalConstructor.randomIrreductible();
82
89
  const integerFirst = coinFlip();
83
90
  const integer = integerFirst
84
91
  ? new Integer(randint(-10, 11, [0]))
85
92
  : new Integer(randint(-10, 11, [0, 1]));
86
- const statementTree = integerFirst
87
- ? new DivideNode(integer.toTree(), rational.toTree())
88
- : new DivideNode(rational.toTree(), integer.toTree());
89
93
  const identifiers = {
90
94
  integerFirst,
91
95
  integer: integer.value,
92
96
  rational: [rational.num, rational.denum],
93
97
  };
98
+ return getQuestionFromIdentifiers(identifiers);
99
+ };
100
+ const getQuestionFromIdentifiers = (identifiers) => {
94
101
  const question = {
95
102
  instruction: getInstruction(identifiers),
96
- startStatement: statementTree.toTex(),
103
+ startStatement: getStartStatement(identifiers),
97
104
  answer: getAnswer(identifiers),
98
105
  keys: [],
99
106
  hint: getHint(identifiers),
@@ -141,8 +148,5 @@ export const fractionAndIntegerDivision = {
141
148
  isAnswerValid,
142
149
  subject: "Mathématiques",
143
150
  hasHintAndCorrection: true,
144
- getAnswer,
145
- getInstruction,
146
- getHint,
147
- getCorrection,
151
+ getQuestionFromIdentifiers,
148
152
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fractionAndIntegerProduct.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerProduct.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAkBrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AA2IF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAmBpE,CAAC"}
1
+ {"version":3,"file":"fractionAndIntegerProduct.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerProduct.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAkBrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAiJF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAepE,CAAC"}
@@ -71,6 +71,9 @@ const getFractionAndIntegerProduct = (opts) => {
71
71
  rational: [rational.num, rational.denum],
72
72
  integerFirst,
73
73
  };
74
+ return getQuestionFromIdentifiers(identifiers, opts);
75
+ };
76
+ const getQuestionFromIdentifiers = (identifiers, opts) => {
74
77
  const question = {
75
78
  instruction: getInstruction(identifiers, opts),
76
79
  startStatement: getStartStatement(identifiers),
@@ -123,10 +126,6 @@ export const fractionAndIntegerProduct = {
123
126
  isAnswerValid,
124
127
  hasHintAndCorrection: true,
125
128
  subject: "Mathématiques",
126
- getHint,
127
- getCorrection,
128
- getInstruction,
129
- getAnswer,
130
- getStartStatement,
129
+ getQuestionFromIdentifiers,
131
130
  options,
132
131
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fractionAndIntegerSum.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerSum.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,6BAA6B,CAAC;AAgBrC,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"}
1
+ {"version":3,"file":"fractionAndIntegerSum.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerSum.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B,CAAC;AAqGF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAcF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAehE,CAAC"}
@@ -48,6 +48,9 @@ const getFractionAndIntegerSum = (opts) => {
48
48
  rational: [rational.num, rational.denum],
49
49
  isIntegerFirst,
50
50
  };
51
+ return getQuestionFromIdentifiers(identifiers, opts);
52
+ };
53
+ const getQuestionFromIdentifiers = (identifiers, opts) => {
51
54
  const question = {
52
55
  instruction: getInstruction(identifiers, opts),
53
56
  startStatement: getStatementNode(identifiers).toTex(),
@@ -91,7 +94,6 @@ export const fractionAndIntegerSum = {
91
94
  isAnswerValid,
92
95
  subject: "Mathématiques",
93
96
  options,
94
- getAnswer,
95
- getInstruction,
96
97
  rebuildIdentifiers,
98
+ getQuestionFromIdentifiers,
97
99
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fractionSquare.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionSquare.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAiGF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAkBhD,CAAC"}
1
+ {"version":3,"file":"fractionSquare.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionSquare.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAiGF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAchD,CAAC"}
@@ -99,10 +99,6 @@ export const fractionSquare = {
99
99
  getPropositions,
100
100
  isAnswerValid,
101
101
  subject: "Mathématiques",
102
- getInstruction,
103
- getHint,
104
- getCorrection,
105
- getAnswer,
106
102
  hasHintAndCorrection: true,
107
103
  getQuestionFromIdentifiers,
108
104
  };
@@ -1,8 +1,11 @@
1
1
  import { Exercise } from "../../../../exercises/exercise.js";
2
2
  type Identifiers = {
3
- rationalNum: [number, number];
4
- rationalDenum: [number, number];
3
+ rationalNum: number[];
4
+ rationalDenum: number[];
5
5
  };
6
- export declare const fractionsDivision: Exercise<Identifiers>;
6
+ type Options = {
7
+ allowNonIrreductible?: boolean;
8
+ };
9
+ export declare const fractionsDivision: Exercise<Identifiers, Options>;
7
10
  export {};
8
11
  //# sourceMappingURL=fractionsDivision.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fractionsDivision.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsDivision.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,6BAA6B,CAAC;AAkFrC,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAgDF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAcnD,CAAC"}
1
+ {"version":3,"file":"fractionsDivision.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsDivision.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAsKF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAe5D,CAAC"}
@@ -6,34 +6,45 @@ import { DivideNode } from "../../../../tree/nodes/operators/divideNode.js";
6
6
  import { rationalParser } from "../../../../tree/parsers/rationalParser.js";
7
7
  import { shuffle } from "../../../../utils/alea/shuffle.js";
8
8
  const options = [allowNonIrreductibleOption];
9
- const getFractionsDivision = (opts) => {
10
- const rational = RationalConstructor.randomIrreductible();
11
- const rational2 = RationalConstructor.randomIrreductible();
9
+ const getInstruction = (identifiers, opts) => {
10
+ const { rationalNum, rationalDenum } = identifiers;
11
+ const rational = new Rational(rationalNum[0], rationalNum[1]);
12
+ const rational2 = new Rational(rationalDenum[0], rationalDenum[1]);
12
13
  const statementTree = new DivideNode(rational.toTree(), rational2.toTree());
14
+ return `Calculer ${opts?.allowNonIrreductible
15
+ ? ""
16
+ : "et donner le résultat sous la forme la plus simplifiée possible"} :
17
+
18
+ $$
19
+ ${statementTree.toTex()}
20
+ $$`;
21
+ };
22
+ const getAnswer = (identifiers, opts) => {
23
+ const { rationalNum, rationalDenum } = identifiers;
24
+ const rational = new Rational(rationalNum[0], rationalNum[1]);
25
+ const rational2 = new Rational(rationalDenum[0], rationalDenum[1]);
13
26
  const answerTree = rational.divide(rational2).toTree();
14
27
  const answer = answerTree.toTex();
28
+ return answer;
29
+ };
30
+ const getHint = (identifiers, opts) => {
31
+ return "Pour diviser par une fraction, il faut multiplier la première fraction par l'inverse de la deuxième. Simplifie ensuite la fraction obtenue si nécessaire.";
32
+ };
33
+ const getCorrection = (identifiers, opts) => {
34
+ const { rationalNum, rationalDenum } = identifiers;
35
+ const rational = new Rational(rationalNum[0], rationalNum[1]);
36
+ const rational2 = new Rational(rationalDenum[0], rationalDenum[1]);
37
+ const statementTree = new DivideNode(rational.toTree(), rational2.toTree());
15
38
  const beforeSimplification = new Rational(rational.num * rational2.denum, rational.denum * rational2.num);
16
39
  const isSimplifiable = !beforeSimplification.isIrreductible();
17
- const question = {
18
- instruction: `Calculer ${opts?.allowNonIrreductible
19
- ? ""
20
- : "et donner le résultat sous la forme la plus simplifiée possible"} :
21
-
22
- $$
23
- ${statementTree.toTex()}
24
- $$`,
25
- startStatement: statementTree.toTex(),
26
- answer,
27
- keys: [],
28
- answerFormat: "tex",
29
- hint: "Pour diviser par une fraction, il faut multiplier la première fraction par l'inverse de la deuxième. Simplifie ensuite la fraction obtenue si nécessaire.",
30
- correction: `On multiplie la première fraction par l'inverse de la deuxième :
40
+ const answer = getAnswer(identifiers);
41
+ return `On multiplie la première fraction par l'inverse de la deuxième :
31
42
 
32
43
  $$
33
44
  ${statementTree.toTex()} = ${rational.toTree().toTex()}\\times ${rational2
34
- .reverse(false)
35
- .toTree()
36
- .toTex()}
45
+ .reverse(false)
46
+ .toTree()
47
+ .toTex()}
37
48
  $$
38
49
 
39
50
  Multiplions les fractions :
@@ -43,23 +54,46 @@ $$
43
54
  $$
44
55
 
45
56
  ${isSimplifiable
46
- ? `On peut alors simplifier cette fraction :
57
+ ? `On peut alors simplifier cette fraction :
47
58
 
48
59
  $$
49
60
  ${beforeSimplification.toTree().toTex()} = ${answer}
50
61
  $$`
51
- : "Cette fraction est déjà simplifiée."}
62
+ : "Cette fraction est déjà simplifiée."}
52
63
 
53
64
  Ainsi, le résultat attendu est $${answer}$.
54
- `,
55
- identifiers: {
56
- rationalNum: [rational.num, rational.denum],
57
- rationalDenum: [rational2.num, rational2.denum],
58
- },
65
+ `;
66
+ };
67
+ const getStartStatement = (identifiers, opts) => {
68
+ const { rationalDenum, rationalNum } = identifiers;
69
+ const rational = new Rational(rationalNum[0], rationalNum[1]);
70
+ const rational2 = new Rational(rationalDenum[0], rationalDenum[1]);
71
+ const statementTree = new DivideNode(rational.toTree(), rational2.toTree());
72
+ return statementTree.toTex();
73
+ };
74
+ const getQuestionFromIdentifiers = (identifiers, opts) => {
75
+ const question = {
76
+ instruction: getInstruction(identifiers, opts),
77
+ startStatement: getStartStatement(identifiers, opts),
78
+ answer: getAnswer(identifiers, opts),
79
+ keys: [],
80
+ answerFormat: "tex",
81
+ hint: getHint(identifiers, opts),
82
+ correction: getCorrection(identifiers, opts),
83
+ identifiers,
59
84
  };
60
85
  return question;
61
86
  };
62
- const getPropositions = (n, { answer, rationalNum, rationalDenum }) => {
87
+ const getFractionsDivision = (opts) => {
88
+ const rational = RationalConstructor.randomIrreductible();
89
+ const rational2 = RationalConstructor.randomIrreductible();
90
+ const identifiers = {
91
+ rationalNum: [rational.num, rational.denum],
92
+ rationalDenum: [rational2.num, rational2.denum],
93
+ };
94
+ return getQuestionFromIdentifiers(identifiers, opts);
95
+ };
96
+ const getPropositions = (n, { answer, rationalNum, rationalDenum }, opts) => {
63
97
  const propositions = [];
64
98
  addValidProp(propositions, answer);
65
99
  const rational = new Rational(rationalNum[0], rationalNum[1]);
@@ -102,4 +136,5 @@ export const fractionsDivision = {
102
136
  subject: "Mathématiques",
103
137
  hasHintAndCorrection: true,
104
138
  options,
139
+ getQuestionFromIdentifiers,
105
140
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fractionsOperations.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAM7C,KAAK,WAAW,GAAG;IACjB,oBAAoB,EAAE,eAAe,CAAC;CACvC,CAAC;AA2FF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAiBrD,CAAC"}
1
+ {"version":3,"file":"fractionsOperations.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAM7C,KAAK,WAAW,GAAG;IACjB,oBAAoB,EAAE,eAAe,CAAC;CACvC,CAAC;AA2FF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAarD,CAAC"}
@@ -83,9 +83,5 @@ export const fractionsOperations = {
83
83
  getPropositions,
84
84
  isAnswerValid,
85
85
  subject: "Mathématiques",
86
- getInstruction,
87
- // getHint,
88
- // getCorrection,
89
- getAnswer,
90
86
  getQuestionFromIdentifiers,
91
87
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fractionsProduct.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsProduct.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAiBrC,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAiIF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAmB3D,CAAC"}
1
+ {"version":3,"file":"fractionsProduct.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsProduct.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAiBrC,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAiIF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAe3D,CAAC"}
@@ -117,9 +117,5 @@ export const fractionsProduct = {
117
117
  subject: "Mathématiques",
118
118
  hasHintAndCorrection: true,
119
119
  options,
120
- getInstruction,
121
- getAnswer,
122
- getHint,
123
- getCorrection,
124
120
  getQuestionFromIdentifiers,
125
121
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fractionsSubstraction.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsSubstraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AA8GF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAkBhE,CAAC"}
1
+ {"version":3,"file":"fractionsSubstraction.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsSubstraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AA8GF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAchE,CAAC"}
@@ -97,10 +97,6 @@ export const fractionsSubstraction = {
97
97
  getPropositions,
98
98
  isAnswerValid,
99
99
  subject: "Mathématiques",
100
- getInstruction,
101
- // getHint,
102
- // getCorrection,
103
- getAnswer,
104
100
  options,
105
101
  getQuestionFromIdentifiers,
106
102
  };
@@ -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,6BAA6B,CAAC;AAWrC,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,CAcvD,CAAC"}
1
+ {"version":3,"file":"fractionsSum.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsSum.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAWrC,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;AA0IF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAcvD,CAAC"}
@@ -18,26 +18,47 @@ $$
18
18
  ${statementTree.toTex()}
19
19
  $$`;
20
20
  };
21
- const getFractionsSum = (opts) => {
22
- const rational = RationalConstructor.randomIrreductible();
23
- const rational2 = RationalConstructor.randomIrreductible();
24
- const statementTree = new AddNode(rational.toTree(), rational2.toTree());
25
- const answerTree = rational.add(rational2).toTree();
21
+ const getAnswer = (identifiers, opts) => {
22
+ const { rational, rational2 } = identifiers;
23
+ const rationalObj = new Rational(rational[0], rational[1]);
24
+ const rationalObj2 = new Rational(rational2[0], rational2[1]);
25
+ const answerTree = rationalObj.add(rationalObj2).toTree();
26
26
  const answer = answerTree.toTex();
27
- const identifiers = {
28
- rational: [rational.num, rational.denum],
29
- rational2: [rational2.num, rational2.denum],
30
- };
27
+ return answer;
28
+ };
29
+ const getHint = (identifiers, opts) => {
30
+ return ``;
31
+ };
32
+ const getCorrection = (identifiers, opts) => {
33
+ return ``;
34
+ };
35
+ const getStartStatement = (identifiers) => {
36
+ const { rational, rational2 } = identifiers;
37
+ const rationalObj = new Rational(rational[0], rational[1]);
38
+ const rationalObj2 = new Rational(rational2[0], rational2[1]);
39
+ const statementTree = new AddNode(rationalObj.toTree(), rationalObj2.toTree());
40
+ return statementTree.toTex();
41
+ };
42
+ const getQuestionFromIdentifiers = (identifiers, opts) => {
31
43
  const question = {
32
44
  instruction: getInstruction(identifiers, opts),
33
- startStatement: statementTree.toTex(),
34
- answer,
45
+ startStatement: getStartStatement(identifiers, opts),
46
+ answer: getAnswer(identifiers),
35
47
  keys: [],
36
48
  answerFormat: "tex",
37
49
  identifiers,
38
50
  };
39
51
  return question;
40
52
  };
53
+ const getFractionsSum = (opts) => {
54
+ const rational = RationalConstructor.randomIrreductible();
55
+ const rational2 = RationalConstructor.randomIrreductible();
56
+ const identifiers = {
57
+ rational: [rational.num, rational.denum],
58
+ rational2: [rational2.num, rational2.denum],
59
+ };
60
+ return getQuestionFromIdentifiers(identifiers, opts);
61
+ };
41
62
  const getPropositions = (n, { answer, rational, rational2 }) => {
42
63
  const propositions = [];
43
64
  addValidProp(propositions, answer);
@@ -90,5 +111,5 @@ export const fractionsSum = {
90
111
  isAnswerValid,
91
112
  subject: "Mathématiques",
92
113
  options,
93
- getInstruction,
114
+ getQuestionFromIdentifiers,
94
115
  };
@@ -13,7 +13,7 @@ const getAnswer = (identifiers) => {
13
13
  const answerNb = coin
14
14
  ? round(Math.PI * radius ** 2, 2)
15
15
  : round(Math.PI * (diametre / 2) ** 2, 2);
16
- const answer = (answerNb + "").replace(".", ",");
16
+ const answer = answerNb.frenchify();
17
17
  const answerTex = answer + "\\text{cm}^2";
18
18
  return answerTex;
19
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"findProportion.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/percent/findProportion.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA0EF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAmBhD,CAAC"}
1
+ {"version":3,"file":"findProportion.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/percent/findProportion.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA0EF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAoBhD,CAAC"}