math-exercises 3.0.40 → 3.0.42

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 (27) 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/fractions/simplifyFraction.js +1 -1
  4. package/lib/exercises/math/dataRepresentations/index.js +2 -0
  5. package/lib/exercises/math/dataRepresentations/testGen.d.ts +1 -0
  6. package/lib/exercises/math/dataRepresentations/testGen.d.ts.map +1 -1
  7. package/lib/exercises/math/dataRepresentations/testGen.js +43 -14
  8. package/lib/exercises/math/dataRepresentations/testGenGGB.d.ts +9 -0
  9. package/lib/exercises/math/dataRepresentations/testGenGGB.d.ts.map +1 -0
  10. package/lib/exercises/math/dataRepresentations/testGenGGB.js +114 -0
  11. package/lib/exercises/math/dataRepresentations/testGenStudentGGB.d.ts +9 -0
  12. package/lib/exercises/math/dataRepresentations/testGenStudentGGB.d.ts.map +1 -0
  13. package/lib/exercises/math/dataRepresentations/testGenStudentGGB.js +119 -0
  14. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplictFormulaFirstTermRandom.d.ts.map +1 -1
  15. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplictFormulaFirstTermRandom.js +76 -16
  16. package/lib/exercises/math/spaceGeometry/relativePositions/index.d.ts +2 -0
  17. package/lib/exercises/math/spaceGeometry/relativePositions/index.d.ts.map +1 -0
  18. package/lib/exercises/math/spaceGeometry/relativePositions/index.js +1 -0
  19. package/lib/exercises/math/spaceGeometry/relativePositions/linesRelativePositions.d.ts +2 -0
  20. package/lib/exercises/math/spaceGeometry/relativePositions/linesRelativePositions.d.ts.map +1 -0
  21. package/lib/exercises/math/spaceGeometry/relativePositions/linesRelativePositions.js +75 -0
  22. package/lib/tests/questionTest.d.ts.map +1 -1
  23. package/lib/tests/questionTest.js +5 -0
  24. package/lib/utils/iterators/dualReturn.d.ts +7 -1
  25. package/lib/utils/iterators/dualReturn.d.ts.map +1 -1
  26. package/lib/utils/iterators/dualReturn.js +1 -2
  27. package/package.json +1 -1
@@ -81,6 +81,7 @@ export interface Question<TIdentifiers = {}, TOptions = {}> {
81
81
  keys?: (KeyId | KeyProps)[];
82
82
  ggbOptions?: GeogebraOptions;
83
83
  studentGgbOptions?: GeogebraOptions;
84
+ correctionGgbOptions?: GeogebraOptions;
84
85
  style?: {
85
86
  tableHasNoHeader?: boolean;
86
87
  };
@@ -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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"}
@@ -48,7 +48,7 @@ ${alignTex([
48
48
  [
49
49
  frac(num, denum).toTex(),
50
50
  "=",
51
- frac(multiply(numDiv, pgcd.toTree()), multiply(denumDiv, pgcd.toTree())).toTex(),
51
+ frac(multiply(numDiv, pgcd.toTree({ toTexOptions: { cancel: true } })), multiply(denumDiv, pgcd.toTree({ toTexOptions: { cancel: true } }))).toTex(),
52
52
  ],
53
53
  ["", "=", getAnswer(identifiers)],
54
54
  ])}
@@ -3,3 +3,5 @@ export * from "./tableReading.js";
3
3
  export * from "./functionGraphReading.js";
4
4
  export * from "./pieChartReading.js";
5
5
  // export * from "./testGen.js";
6
+ // export * from "./testGenGGB.js";
7
+ // export * from "./testGenStudentGGB.js";
@@ -2,6 +2,7 @@ import { Exercise } from "../../../exercises/exercise.js";
2
2
  type Identifiers = {
3
3
  rand: number;
4
4
  hasTwoAnswers: boolean;
5
+ hasGgbCorr: boolean;
5
6
  };
6
7
  export declare const testGen: Exercise<Identifiers>;
7
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"testGen.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/testGen.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAKrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AA8DF,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,WAAW,CAkBzC,CAAC"}
1
+ {"version":3,"file":"testGen.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/testGen.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AA8FF,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,WAAW,CAgBzC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../exercises/exercise.js";
2
2
  import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
3
+ import { GeogebraConstructor } from "../../../geogebra/geogebraConstructor.js";
4
+ import { round } from "../../../math/utils/round.js";
3
5
  import { coinFlip } from "../../../utils/alea/coinFlip.js";
4
6
  import { handleVEAError } from "../../../utils/errors/handleVEAError.js";
5
7
  const getPropositions = (n, { answer, hasTwoAnswers, rand }) => {
@@ -8,26 +10,21 @@ const getPropositions = (n, { answer, hasTwoAnswers, rand }) => {
8
10
  addValidProp(propositions, "vrai", "raw");
9
11
  tryToAddWrongProp(propositions, "faux un", "raw");
10
12
  tryToAddWrongProp(propositions, "faux deux", "raw");
11
- if (hasTwoAnswers) {
12
- addValidProp(propositions, "vrai deux", "raw");
13
- }
14
- else {
15
- tryToAddWrongProp(propositions, "faux trois", "raw");
16
- }
13
+ tryToAddWrongProp(propositions, "faux trois", "raw");
17
14
  return shuffleProps(propositions, n);
18
15
  };
19
16
  const getAnswer = (identifiers) => {
20
- return "bizarre d'avoir answer dans QCM";
17
+ return round(Math.random(), 3).frenchify();
21
18
  };
22
19
  const getInstruction = (identifiers) => {
23
- return "Test qcm";
20
+ return "Test générateur free/qcm image/ggb correction";
24
21
  };
25
22
  const getKeys = (identifiers) => {
26
23
  return [];
27
24
  };
28
25
  const isAnswerValid = (ans, { answer }) => {
29
26
  try {
30
- throw Error("VEA not implemented");
27
+ return ans === answer;
31
28
  }
32
29
  catch (err) {
33
30
  return handleVEAError(err);
@@ -37,12 +34,43 @@ const getHint = (identifiers) => {
37
34
  return "voici l'indice";
38
35
  };
39
36
  const getCorrection = (identifiers) => {
40
- return "voici la correction";
37
+ const { hasGgbCorr } = identifiers;
38
+ if (hasGgbCorr)
39
+ return `voici la correction et voici des maths
40
+
41
+ $$
42
+ 3x+4 = 2
43
+ $$
44
+
45
+ et voici une image
46
+
47
+ ![](https://heureuxhasarddocsbucket.s3.eu-west-3.amazonaws.com/mathliveV2/activities/quizzes/generator/piCircle.png)
48
+
49
+ et du texte après l'image
50
+
51
+ avec des maths aussi $e^{\\pi i} = -1$
52
+ `;
53
+ else
54
+ return `Voici la correction avec du geogebra. Il peut y avoir un peu des maths aussi :
55
+
56
+ $$
57
+ 4x^2 +\\frac{2}{3}
58
+ $$`;
59
+ };
60
+ const getCorrectionGGBOptions = (identifiers) => {
61
+ const ggb = new GeogebraConstructor({
62
+ commands: ["A(3,5)"],
63
+ });
64
+ return ggb.getOptions({
65
+ coords: [-10, 10, -10, 10],
66
+ });
41
67
  };
42
68
  const getTestGenQuestion = (ops) => {
69
+ const hasGgbCorr = coinFlip();
43
70
  const identifiers = {
44
71
  rand: Math.random(),
45
72
  hasTwoAnswers: coinFlip(),
73
+ hasGgbCorr,
46
74
  };
47
75
  const question = {
48
76
  answer: getAnswer(identifiers),
@@ -51,13 +79,16 @@ const getTestGenQuestion = (ops) => {
51
79
  answerFormat: "tex",
52
80
  hint: getHint(identifiers),
53
81
  correction: getCorrection(identifiers),
82
+ correctionGgbOptions: hasGgbCorr
83
+ ? getCorrectionGGBOptions(identifiers)
84
+ : undefined,
54
85
  identifiers,
55
86
  };
56
87
  return question;
57
88
  };
58
89
  export const testGen = {
59
- id: "testGen",
60
- label: "test qcm",
90
+ id: "testImgCorr",
91
+ label: "test free/qcm image/ggb correction",
61
92
  isSingleStep: true,
62
93
  generator: (nb, opts) => getDistinctQuestions(() => getTestGenQuestion(opts), nb),
63
94
  qcmTimer: 60,
@@ -67,8 +98,6 @@ export const testGen = {
67
98
  subject: "Mathématiques",
68
99
  getInstruction,
69
100
  getAnswer,
70
- isQCM: true,
71
- answerType: "QCM",
72
101
  hasHintAndCorrection: true,
73
102
  getHint,
74
103
  getCorrection,
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ rand: number;
4
+ hasTwoAnswers: boolean;
5
+ hasGgbCorr: boolean;
6
+ };
7
+ export declare const testGenGGB: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=testGenGGB.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testGenGGB.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/testGenGGB.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAwGF,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,WAAW,CAiB5C,CAAC"}
@@ -0,0 +1,114 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
3
+ import { GeogebraConstructor } from "../../../geogebra/geogebraConstructor.js";
4
+ import { round } from "../../../math/utils/round.js";
5
+ import { coinFlip } from "../../../utils/alea/coinFlip.js";
6
+ import { handleVEAError } from "../../../utils/errors/handleVEAError.js";
7
+ const getPropositions = (n, { answer, hasTwoAnswers, rand }) => {
8
+ const propositions = [];
9
+ // addValidProp(propositions, answer);
10
+ addValidProp(propositions, "vrai", "raw");
11
+ tryToAddWrongProp(propositions, "faux un", "raw");
12
+ tryToAddWrongProp(propositions, "faux deux", "raw");
13
+ tryToAddWrongProp(propositions, "faux trois", "raw");
14
+ return shuffleProps(propositions, n);
15
+ };
16
+ const getAnswer = (identifiers) => {
17
+ return round(Math.random(), 3).frenchify();
18
+ };
19
+ const getInstruction = (identifiers) => {
20
+ return "Test générateur free/qcm image/ggb correction";
21
+ };
22
+ const getKeys = (identifiers) => {
23
+ return [];
24
+ };
25
+ const isAnswerValid = (ans, { answer }) => {
26
+ try {
27
+ return ans === answer;
28
+ }
29
+ catch (err) {
30
+ return handleVEAError(err);
31
+ }
32
+ };
33
+ const getHint = (identifiers) => {
34
+ return "voici l'indice";
35
+ };
36
+ const getCorrection = (identifiers) => {
37
+ const { hasGgbCorr } = identifiers;
38
+ if (hasGgbCorr)
39
+ return `voici la correction et voici des maths
40
+
41
+ $$
42
+ 3x+4 = 2
43
+ $$
44
+
45
+ et voici une image
46
+
47
+ ![](https://heureuxhasarddocsbucket.s3.eu-west-3.amazonaws.com/mathliveV2/activities/quizzes/generator/piCircle.png)
48
+
49
+ et du texte après l'image
50
+
51
+ avec des maths aussi $e^{\\pi i} = -1$
52
+ `;
53
+ else
54
+ return `Voici la correction avec du geogebra. Il peut y avoir un peu des maths aussi :
55
+
56
+ $$
57
+ 4x^2 +\\frac{2}{3}
58
+ $$`;
59
+ };
60
+ const getGGBOptions = (identifiers) => {
61
+ const ggb = new GeogebraConstructor({
62
+ commands: ["A(-3,-5)"],
63
+ });
64
+ return ggb.getOptions({
65
+ coords: [-10, 10, -10, 10],
66
+ });
67
+ };
68
+ const getCorrectionGGBOptions = (identifiers) => {
69
+ const ggb = new GeogebraConstructor({
70
+ commands: ["A(3,5)"],
71
+ });
72
+ return ggb.getOptions({
73
+ coords: [-10, 10, -10, 10],
74
+ });
75
+ };
76
+ const getTestGenQuestion = (ops) => {
77
+ const hasGgbCorr = coinFlip();
78
+ const identifiers = {
79
+ rand: Math.random(),
80
+ hasTwoAnswers: coinFlip(),
81
+ hasGgbCorr,
82
+ };
83
+ const question = {
84
+ answer: getAnswer(identifiers),
85
+ instruction: getInstruction(identifiers),
86
+ keys: getKeys(identifiers),
87
+ answerFormat: "tex",
88
+ hint: getHint(identifiers),
89
+ ggbOptions: getGGBOptions(identifiers),
90
+ correction: getCorrection(identifiers),
91
+ correctionGgbOptions: hasGgbCorr
92
+ ? getCorrectionGGBOptions(identifiers)
93
+ : undefined,
94
+ identifiers,
95
+ };
96
+ return question;
97
+ };
98
+ export const testGenGGB = {
99
+ id: "testImgCorrGGB",
100
+ label: "test ggb image/ggb correction",
101
+ isSingleStep: true,
102
+ generator: (nb, opts) => getDistinctQuestions(() => getTestGenQuestion(opts), nb),
103
+ qcmTimer: 60,
104
+ freeTimer: 60,
105
+ getPropositions,
106
+ isAnswerValid,
107
+ subject: "Mathématiques",
108
+ getInstruction,
109
+ getAnswer,
110
+ hasHintAndCorrection: true,
111
+ hasGeogebra: true,
112
+ getHint,
113
+ getCorrection,
114
+ };
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ rand: number;
4
+ hasTwoAnswers: boolean;
5
+ hasGgbCorr: boolean;
6
+ };
7
+ export declare const testGenStudentGGB: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=testGenStudentGGB.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testGenStudentGGB.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/testGenStudentGGB.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AA6GF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAkBnD,CAAC"}
@@ -0,0 +1,119 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
3
+ import { GeogebraConstructor } from "../../../geogebra/geogebraConstructor.js";
4
+ import { round } from "../../../math/utils/round.js";
5
+ import { coinFlip } from "../../../utils/alea/coinFlip.js";
6
+ import { handleVEAError } from "../../../utils/errors/handleVEAError.js";
7
+ const getPropositions = (n, { answer, hasTwoAnswers, rand }) => {
8
+ const propositions = [];
9
+ // addValidProp(propositions, answer);
10
+ addValidProp(propositions, "vrai", "raw");
11
+ tryToAddWrongProp(propositions, "faux un", "raw");
12
+ tryToAddWrongProp(propositions, "faux deux", "raw");
13
+ tryToAddWrongProp(propositions, "faux trois", "raw");
14
+ return shuffleProps(propositions, n);
15
+ };
16
+ const getAnswer = (identifiers) => {
17
+ return round(Math.random(), 3).frenchify();
18
+ };
19
+ const getInstruction = (identifiers) => {
20
+ return "Test générateur studentGGB image/ggb correction";
21
+ };
22
+ const getKeys = (identifiers) => {
23
+ return [];
24
+ };
25
+ const isAnswerValid = (ans, { answer }) => {
26
+ try {
27
+ throw Error("VEA not implemented");
28
+ }
29
+ catch (err) {
30
+ return handleVEAError(err);
31
+ }
32
+ };
33
+ const getHint = (identifiers) => {
34
+ return "voici l'indice";
35
+ };
36
+ const getCorrection = (identifiers) => {
37
+ const { hasGgbCorr } = identifiers;
38
+ if (hasGgbCorr)
39
+ return `voici la correction et voici des maths
40
+
41
+ $$
42
+ 3x+4 = 2
43
+ $$
44
+
45
+ et voici une image
46
+
47
+ ![](https://heureuxhasarddocsbucket.s3.eu-west-3.amazonaws.com/mathliveV2/activities/quizzes/generator/piCircle.png)
48
+
49
+ et du texte après l'image
50
+
51
+ avec des maths aussi $e^{\\pi i} = -1$
52
+ `;
53
+ else
54
+ return `Voici la correction avec du geogebra. Il peut y avoir un peu des maths aussi :
55
+
56
+ $$
57
+ 4x^2 +\\frac{2}{3}
58
+ $$`;
59
+ };
60
+ const getGGBOptions = (identifiers) => {
61
+ const ggb = new GeogebraConstructor({
62
+ commands: ["A(-3,-5)"],
63
+ });
64
+ return ggb.getOptions({
65
+ coords: [-10, 10, -10, 10],
66
+ });
67
+ };
68
+ const getCorrectionGGBOptions = (identifiers) => {
69
+ const ggb = new GeogebraConstructor({
70
+ commands: ["A(3,5)"],
71
+ });
72
+ return ggb.getOptions({
73
+ coords: [-10, 10, -10, 10],
74
+ });
75
+ };
76
+ const getTestGenQuestion = (ops) => {
77
+ const hasGgbCorr = coinFlip();
78
+ const identifiers = {
79
+ rand: Math.random(),
80
+ hasTwoAnswers: coinFlip(),
81
+ hasGgbCorr,
82
+ };
83
+ const question = {
84
+ answer: getAnswer(identifiers),
85
+ instruction: getInstruction(identifiers),
86
+ keys: getKeys(identifiers),
87
+ answerFormat: "tex",
88
+ hint: getHint(identifiers),
89
+ studentGgbOptions: getGGBOptions(identifiers),
90
+ correction: getCorrection(identifiers),
91
+ correctionGgbOptions: hasGgbCorr
92
+ ? getCorrectionGGBOptions(identifiers)
93
+ : undefined,
94
+ identifiers,
95
+ ggbAnswer: ["A(1,2)"],
96
+ };
97
+ return question;
98
+ };
99
+ const isGGBAnswerValid = (ans, { ggbAnswer }) => {
100
+ return coinFlip();
101
+ };
102
+ export const testGenStudentGGB = {
103
+ id: "testImgCorrStudentGGB",
104
+ label: "test studentGgb image/ggb correction",
105
+ isSingleStep: true,
106
+ generator: (nb, opts) => getDistinctQuestions(() => getTestGenQuestion(opts), nb),
107
+ qcmTimer: 60,
108
+ freeTimer: 60,
109
+ getPropositions,
110
+ isAnswerValid,
111
+ subject: "Mathématiques",
112
+ getInstruction,
113
+ getAnswer,
114
+ hasHintAndCorrection: true,
115
+ getHint,
116
+ getCorrection,
117
+ answerType: "GGB",
118
+ isGGBAnswerValid,
119
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"arithmeticFindExplictFormulaFirstTermRandom.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/sequences/arithmetic/arithmeticFindExplictFormulaFirstTermRandom.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAiEF,eAAO,MAAM,4CAA4C,EAAE,QAAQ,CAAC,WAAW,CAgB5E,CAAC"}
1
+ {"version":3,"file":"arithmeticFindExplictFormulaFirstTermRandom.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/sequences/arithmetic/arithmeticFindExplictFormulaFirstTermRandom.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAiBrC,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAwHF,eAAO,MAAM,4CAA4C,EAAE,QAAQ,CAAC,WAAW,CAmB5E,CAAC"}
@@ -2,21 +2,71 @@ import { addValidProp, tryToAddWrongProp, } from "../../../../exercises/exercise
2
2
  import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
3
  import { Polynomial } from "../../../../math/polynomials/polynomial.js";
4
4
  import { randint } from "../../../../math/utils/random/randint.js";
5
- import { EqualNode } from "../../../../tree/nodes/equations/equalNode.js";
6
- import { VariableNode } from "../../../../tree/nodes/variables/variableNode.js";
5
+ import { add } from "../../../../tree/nodes/operators/addNode.js";
6
+ import { multiply, } from "../../../../tree/nodes/operators/multiplyNode.js";
7
+ import { substract } from "../../../../tree/nodes/operators/substractNode.js";
8
+ import { parseAlgebraic } from "../../../../tree/parsers/latexParser.js";
7
9
  import { shuffle } from "../../../../utils/alea/shuffle.js";
10
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
11
+ import { alignTex } from "../../../../utils/latex/alignTex.js";
12
+ const getHint = (identifiers, opts) => {
13
+ const { firstRank, firstValue, reason } = identifiers;
14
+ return `Utilise la formule générale d'une suite arithmétique :
15
+
16
+ $$
17
+ u_n = u_k + (n-k) \\times r
18
+ $$
19
+
20
+ où $r$ la raison et $k$ est un entier.`;
21
+ };
22
+ const getCorrection = (identifiers, opts) => {
23
+ const { firstRank, firstValue, reason } = identifiers;
24
+ const answer = getAnswer(identifiers);
25
+ return `La formule générale d'une suite arithmétique est :
26
+
27
+ $$
28
+ u_n = u_k + (n-k) \\times r
29
+ $$
30
+
31
+ où $r$ la raison et $k$ est un entier.
32
+
33
+ Ici, puisque $u_${firstRank} = ${firstValue}$ et $r = ${reason}$, on a :
34
+
35
+ ${alignTex([
36
+ [
37
+ "u_n",
38
+ "=",
39
+ add(firstValue, multiply(substract("n", firstRank), reason)).toTex(),
40
+ ],
41
+ ["", "=", answer.split("=")[1]],
42
+ ])}
43
+ `;
44
+ };
45
+ const getInstruction = (identifiers) => {
46
+ const { firstRank, firstValue, reason } = identifiers;
47
+ return `$(u_n)$ est une suite arithmétique de premier terme $u_{${firstRank}} = ${firstValue}$ et de raison $r = ${reason}$.
48
+
49
+ Donner l'expression de $u_n$ en fonction de $n$.`;
50
+ };
51
+ const getAnswer = (identifiers) => {
52
+ const { firstRank, firstValue, reason } = identifiers;
53
+ const formula = new Polynomial([firstValue - firstRank * reason, reason], "n");
54
+ const answer = "u_n=" + formula.toTex();
55
+ return answer;
56
+ };
8
57
  const getArithmeticFindExplicitFormulaFirstTermRandom = () => {
9
58
  const firstRank = randint(0, 8);
10
59
  const firstValue = randint(-10, 10);
11
60
  const reason = randint(-10, 10, [0]);
12
- const formula = new Polynomial([firstValue - firstRank * reason, reason], "n");
13
- const answer = "u_n=" + formula.toTex();
61
+ const identifiers = { firstValue, reason, firstRank };
14
62
  const question = {
15
- instruction: `$(u_n)$ est une suite arithmétique de premier terme $u_{${firstRank}} = ${firstValue}$ et de raison $r = ${reason}$. $\\\\$ Donner l'expression de $u_n$ en fonction de $n$.`,
16
- answer,
63
+ instruction: getInstruction(identifiers),
64
+ answer: getAnswer(identifiers),
17
65
  keys: ["un", "equal", "n"],
18
66
  answerFormat: "tex",
19
- identifiers: { firstValue, reason, firstRank },
67
+ identifiers,
68
+ hint: getHint(identifiers),
69
+ correction: getCorrection(identifiers),
20
70
  };
21
71
  return question;
22
72
  };
@@ -31,20 +81,25 @@ const getPropositions = (n, { answer, firstValue, reason }) => {
31
81
  }
32
82
  return shuffle(propositions);
33
83
  };
34
- const isAnswerValid = (ans, { reason, firstValue, firstRank }) => {
35
- const formula = new Polynomial([firstValue - firstRank * reason, reason], "n");
36
- const equal = new EqualNode(new VariableNode("u_n"), formula.toTree(), {
37
- allowRawRightChildAsSolution: true,
38
- });
39
- const texs = equal.toAllValidTexs();
40
- return texs.includes(ans);
84
+ const isAnswerValid = (ans, { answer, reason, firstValue }) => {
85
+ try {
86
+ const formated = ans.replaceAll("u_n", "").replaceAll("=", "");
87
+ const parsed = parseAlgebraic(formated);
88
+ return (parsed
89
+ .simplify({
90
+ towardsDistribute: true,
91
+ forbidFactorize: true,
92
+ })
93
+ .toTex() === answer.split("=")[1]);
94
+ }
95
+ catch (err) {
96
+ return handleVEAError(err);
97
+ }
41
98
  };
42
99
  export const arithmeticFindExplicitFormulaFirstTermRandom = {
43
100
  id: "arithmeticFindExplicitFormulaFirstTermRandom",
44
101
  connector: "=",
45
102
  label: "Déterminer la formule générale d'une suite arithmétique (premier rang aléatoire)",
46
- levels: ["1reESM", "1reSpé", "1reTech", "1rePro", "TermTech", "TermPro"],
47
- sections: ["Suites"],
48
103
  isSingleStep: false,
49
104
  generator: (nb) => getDistinctQuestions(getArithmeticFindExplicitFormulaFirstTermRandom, nb),
50
105
  qcmTimer: 60,
@@ -52,4 +107,9 @@ export const arithmeticFindExplicitFormulaFirstTermRandom = {
52
107
  getPropositions,
53
108
  isAnswerValid,
54
109
  subject: "Mathématiques",
110
+ getAnswer,
111
+ getInstruction,
112
+ getHint,
113
+ getCorrection,
114
+ hasHintAndCorrection: true,
55
115
  };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/spaceGeometry/relativePositions/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=linesRelativePositions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linesRelativePositions.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/spaceGeometry/relativePositions/linesRelativePositions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,75 @@
1
+ // import {
2
+ // Exercise,
3
+ // Proposition,
4
+ // QCMGenerator,
5
+ // Question,
6
+ // QuestionGenerator,
7
+ // VEA,
8
+ // addValidProp,
9
+ // shuffleProps,
10
+ // GetAnswer,
11
+ // GetHint,
12
+ // GetCorrection,
13
+ // GetInstruction,
14
+ // GetKeys,
15
+ // } from '../../../../exercises/exercise.js';
16
+ // import { getDistinctQuestions } from '../../../../exercises/utils/getDistinctQuestions.js';
17
+ // import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
18
+ export {};
19
+ // type Identifiers = {
20
+ // };
21
+ // const getPropositions: QCMGenerator<Identifiers> = (n, { answer }) => {
22
+ // const propositions: Proposition[] = [];
23
+ // addValidProp(propositions, answer);
24
+ // while (propositions.length < n) {
25
+ // throw Error("QCM not implemented")
26
+ // }
27
+ // return shuffleProps(propositions, n);
28
+ // };
29
+ // const getAnswer : GetAnswer<Identifiers> = (identifiers)=>{
30
+ // }
31
+ // const getInstruction : GetInstruction<Identifiers> = (identifiers)=>{
32
+ // }
33
+ // const getHint : GetHint<Identifiers> = (identifiers)=>{
34
+ // }
35
+ // const getCorrection : GetCorrection<Identifiers> = (identifiers)=>{
36
+ // }
37
+ // const getKeys : GetKeys<Identifiers> = (identifiers)=>{
38
+ // return []
39
+ // }
40
+ // const isAnswerValid: VEA<Identifiers> = (ans, {answer})=>{
41
+ // try {
42
+ // throw Error("VEA not implemented")
43
+ // } catch(err){
44
+ // return handleVEAError(err)
45
+ // }
46
+ // }
47
+ // const getLinesRelativePositionsQuestion: QuestionGenerator<Identifiers> = (ops)=>{
48
+ // const identifiers: Identifiers = {}
49
+ // const question: Question<Identifiers> = {
50
+ // answer: getAnswer(identifiers),
51
+ // instruction: getInstruction(identifiers),
52
+ // keys: getKeys(identifiers),
53
+ // answerFormat: 'tex',
54
+ // identifiers,
55
+ // hint: getHint(identifiers),
56
+ // correction: getCorrection(identifiers)
57
+ // };
58
+ // return question;
59
+ // }
60
+ // export const linesRelativePositions: Exercise<Identifiers> = {
61
+ // id: 'linesRelativePositions',
62
+ // connector: "",
63
+ // label: undefined,
64
+ // isSingleStep: true,
65
+ // generator: (nb, opts) => getDistinctQuestions(()=>getLinesRelativePositionsQuestion(opts), nb),
66
+ // qcmTimer: 60,
67
+ // freeTimer: 60,
68
+ // getPropositions,
69
+ // isAnswerValid,
70
+ // subject: "Mathématiques",
71
+ // getInstruction,
72
+ // getHint,
73
+ // getCorrection,
74
+ // getAnswer,
75
+ // };
@@ -1 +1 @@
1
- {"version":3,"file":"questionTest.d.ts","sourceRoot":"","sources":["../../src/tests/questionTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAIjE,eAAO,MAAM,YAAY,QAAS,QAAQ,YAAY,QAAQ;;;CA8K7D,CAAC"}
1
+ {"version":3,"file":"questionTest.d.ts","sourceRoot":"","sources":["../../src/tests/questionTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAIjE,eAAO,MAAM,YAAY,QAAS,QAAQ,YAAY,QAAQ;;;CAoL7D,CAAC"}
@@ -14,6 +14,11 @@ export const questionTest = (exo, question) => {
14
14
  if (!question.correction?.length) {
15
15
  throw new Error(`exo ${exo.id} has no correction`);
16
16
  }
17
+ const imgRegex = /!\[.*?\]\((.*?)\)/g;
18
+ const matches = question.correction.matchAll(imgRegex);
19
+ for (const match of matches) {
20
+ question.correction = question.correction.replace(match[0], ``);
21
+ }
17
22
  const formatedCorrection = formatMarkdownToLatex(question.correction);
18
23
  if (!latexTester(formatedCorrection)) {
19
24
  throw new Error(`exo ${exo.id} has invalid correction`);
@@ -1,2 +1,8 @@
1
- export {};
1
+ export declare class DualReturn<T, U> {
2
+ private defaultValue;
3
+ private additional?;
4
+ constructor(defaultValue: T, additional?: U | undefined);
5
+ valueOf(): T;
6
+ [Symbol.iterator](): Generator<T | (U & ({} | null)), void, unknown>;
7
+ }
2
8
  //# sourceMappingURL=dualReturn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dualReturn.d.ts","sourceRoot":"","sources":["../../../src/utils/iterators/dualReturn.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"dualReturn.d.ts","sourceRoot":"","sources":["../../../src/utils/iterators/dualReturn.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC;IACd,OAAO,CAAC,YAAY;IAAK,OAAO,CAAC,UAAU,CAAC;gBAApC,YAAY,EAAE,CAAC,EAAU,UAAU,CAAC,EAAE,CAAC,YAAA;IAG3D,OAAO;IAKN,CAAC,MAAM,CAAC,QAAQ,CAAC;CAInB"}
@@ -1,4 +1,4 @@
1
- class DualReturn {
1
+ export class DualReturn {
2
2
  defaultValue;
3
3
  additional;
4
4
  constructor(defaultValue, additional) {
@@ -16,4 +16,3 @@ class DualReturn {
16
16
  yield this.additional;
17
17
  }
18
18
  }
19
- export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "math-exercises",
3
3
  "type": "module",
4
- "version": "3.0.40",
4
+ "version": "3.0.42",
5
5
  "description": "Math exercises generator for middle school and high school",
6
6
  "main": "lib/index.js",
7
7
  "files": [