math-exercises 3.0.199 → 3.0.200

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 (123) hide show
  1. package/lib/exercises/exercise.d.ts +14 -1
  2. package/lib/exercises/exercise.d.ts.map +1 -1
  3. package/lib/exercises/math/_debug/debugReorder1.d.ts +8 -0
  4. package/lib/exercises/math/_debug/debugReorder1.d.ts.map +1 -0
  5. package/lib/exercises/math/_debug/debugReorder1.js +81 -0
  6. package/lib/exercises/math/_debug/debugReorder2.d.ts +10 -0
  7. package/lib/exercises/math/_debug/debugReorder2.d.ts.map +1 -0
  8. package/lib/exercises/math/_debug/debugReorder2.js +88 -0
  9. package/lib/exercises/math/_debug/debugReorder3.d.ts +10 -0
  10. package/lib/exercises/math/_debug/debugReorder3.d.ts.map +1 -0
  11. package/lib/exercises/math/_debug/debugReorder3.js +81 -0
  12. package/lib/exercises/math/_debug/index.d.ts +3 -1
  13. package/lib/exercises/math/_debug/index.d.ts.map +1 -1
  14. package/lib/exercises/math/_debug/index.js +3 -1
  15. package/lib/exercises/math/calcul/factorial/index.d.ts +2 -0
  16. package/lib/exercises/math/calcul/factorial/index.d.ts.map +1 -0
  17. package/lib/exercises/math/calcul/factorial/index.js +1 -0
  18. package/lib/exercises/math/calcul/factorial/simplifyQuotientOfFactorialToProduct.d.ts +8 -0
  19. package/lib/exercises/math/calcul/factorial/simplifyQuotientOfFactorialToProduct.d.ts.map +1 -0
  20. package/lib/exercises/math/calcul/factorial/simplifyQuotientOfFactorialToProduct.js +199 -0
  21. package/lib/exercises/math/combinatory/combination/index.d.ts +3 -0
  22. package/lib/exercises/math/combinatory/combination/index.d.ts.map +1 -0
  23. package/lib/exercises/math/combinatory/combination/index.js +2 -0
  24. package/lib/exercises/math/combinatory/combination/mentalCalculateCombination.d.ts +11 -0
  25. package/lib/exercises/math/combinatory/combination/mentalCalculateCombination.d.ts.map +1 -0
  26. package/lib/exercises/math/combinatory/combination/mentalCalculateCombination.js +225 -0
  27. package/lib/exercises/math/combinatory/combination/writeCombinationFormulaUsingFactorial.d.ts +13 -0
  28. package/lib/exercises/math/combinatory/combination/writeCombinationFormulaUsingFactorial.d.ts.map +1 -0
  29. package/lib/exercises/math/combinatory/combination/writeCombinationFormulaUsingFactorial.js +285 -0
  30. package/lib/exercises/math/dataRepresentations/scatterPlot/scatterPlotInterpreting.d.ts.map +1 -1
  31. package/lib/exercises/math/dataRepresentations/scatterPlot/scatterPlotInterpreting.js +1 -1
  32. package/lib/exercises/math/derivation/derivative/trigo/productOfSinAXPlusBCosCXPlusDDerivative.d.ts +9 -0
  33. package/lib/exercises/math/derivation/derivative/trigo/productOfSinAXPlusBCosCXPlusDDerivative.d.ts.map +1 -0
  34. package/lib/exercises/math/derivation/derivative/trigo/productOfSinAXPlusBCosCXPlusDDerivative.js +209 -0
  35. package/lib/exercises/math/derivation/derivative/trigo/sinAndCosMixedWithSquareDerivative.d.ts +9 -0
  36. package/lib/exercises/math/derivation/derivative/trigo/sinAndCosMixedWithSquareDerivative.d.ts.map +1 -0
  37. package/lib/exercises/math/derivation/derivative/trigo/sinAndCosMixedWithSquareDerivative.js +359 -0
  38. package/lib/exercises/math/derivation/derivative/trigo/sinCosDerivativeRewriteUsingCos2PlusSin2Equals1.d.ts +11 -0
  39. package/lib/exercises/math/derivation/derivative/trigo/sinCosDerivativeRewriteUsingCos2PlusSin2Equals1.d.ts.map +1 -0
  40. package/lib/exercises/math/derivation/derivative/trigo/sinCosDerivativeRewriteUsingCos2PlusSin2Equals1.js +445 -0
  41. package/lib/exercises/math/functions/affines/affineVarTableOnBoundedInterval.d.ts.map +1 -1
  42. package/lib/exercises/math/functions/affines/affineVarTableOnBoundedInterval.js +2 -3
  43. package/lib/exercises/math/index.d.ts +1 -0
  44. package/lib/exercises/math/index.d.ts.map +1 -1
  45. package/lib/exercises/math/index.js +1 -1
  46. package/lib/exercises/math/limits/sequenceGeometricLimit.d.ts.map +1 -1
  47. package/lib/exercises/math/limits/sequenceGeometricLimit.js +9 -0
  48. package/lib/exercises/math/primitive/constantPrimitive.d.ts +8 -5
  49. package/lib/exercises/math/primitive/constantPrimitive.d.ts.map +1 -1
  50. package/lib/exercises/math/primitive/constantPrimitive.js +40 -21
  51. package/lib/exercises/math/probaStat/stats2var/averagePoint.d.ts.map +1 -1
  52. package/lib/exercises/math/probaStat/stats2var/averagePoint.js +34 -2
  53. package/lib/exercises/math/sequences/geometric/graph/geometricFindThresholdFromGraph.d.ts +15 -0
  54. package/lib/exercises/math/sequences/geometric/graph/geometricFindThresholdFromGraph.d.ts.map +1 -0
  55. package/lib/exercises/math/sequences/geometric/graph/geometricFindThresholdFromGraph.js +255 -0
  56. package/lib/exercises/math/sequences/geometric/graph/geometricFindThresholdUsingCalculator.d.ts +15 -0
  57. package/lib/exercises/math/sequences/geometric/graph/geometricFindThresholdUsingCalculator.d.ts.map +1 -0
  58. package/lib/exercises/math/sequences/geometric/graph/geometricFindThresholdUsingCalculator.js +242 -0
  59. package/lib/exercises/math/sequences/geometric/graph/geometricPlaceFirstPoints.js +4 -4
  60. package/lib/exercises/math/sequences/geometric/graph/geometricSignOfReasonFromGraph.d.ts +12 -0
  61. package/lib/exercises/math/sequences/geometric/graph/geometricSignOfReasonFromGraph.d.ts.map +1 -0
  62. package/lib/exercises/math/sequences/geometric/graph/geometricSignOfReasonFromGraph.js +161 -0
  63. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfCartesianProductOfFiniteSets.d.ts +10 -0
  64. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfCartesianProductOfFiniteSets.d.ts.map +1 -0
  65. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfCartesianProductOfFiniteSets.js +224 -0
  66. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfCartesianProductOfFiniteSetsFromSituation.d.ts +18 -0
  67. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfCartesianProductOfFiniteSetsFromSituation.d.ts.map +1 -0
  68. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfCartesianProductOfFiniteSetsFromSituation.js +198 -0
  69. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfPowEK.d.ts +10 -0
  70. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfPowEK.d.ts.map +1 -0
  71. package/lib/exercises/math/sets/cartesianProduct/findCardinalOfPowEK.js +231 -0
  72. package/lib/exercises/math/sets/cartesianProduct/findNumberOfPasswordsWithLettersAndNumbers.d.ts +19 -0
  73. package/lib/exercises/math/sets/cartesianProduct/findNumberOfPasswordsWithLettersAndNumbers.d.ts.map +1 -0
  74. package/lib/exercises/math/sets/cartesianProduct/findNumberOfPasswordsWithLettersAndNumbers.js +187 -0
  75. package/lib/exercises/math/sets/cartesianProduct/index.d.ts +7 -0
  76. package/lib/exercises/math/sets/cartesianProduct/index.d.ts.map +1 -0
  77. package/lib/exercises/math/sets/cartesianProduct/index.js +6 -0
  78. package/lib/exercises/math/sets/cartesianProduct/proposeElementInCartesianProductOfFiniteSets.d.ts +15 -0
  79. package/lib/exercises/math/sets/cartesianProduct/proposeElementInCartesianProductOfFiniteSets.d.ts.map +1 -0
  80. package/lib/exercises/math/sets/cartesianProduct/proposeElementInCartesianProductOfFiniteSets.js +291 -0
  81. package/lib/exercises/math/sets/cartesianProduct/proposeElementInPowEK.d.ts +15 -0
  82. package/lib/exercises/math/sets/cartesianProduct/proposeElementInPowEK.d.ts.map +1 -0
  83. package/lib/exercises/math/sets/cartesianProduct/proposeElementInPowEK.js +274 -0
  84. package/lib/exercises/math/sets/combinations/findNumberOfCombinationsFromSituation.d.ts +17 -0
  85. package/lib/exercises/math/sets/combinations/findNumberOfCombinationsFromSituation.d.ts.map +1 -0
  86. package/lib/exercises/math/sets/combinations/findNumberOfCombinationsFromSituation.js +228 -0
  87. package/lib/exercises/math/sets/combinations/findNumberOfProductsOfCombinationsFromSituation.d.ts +17 -0
  88. package/lib/exercises/math/sets/combinations/findNumberOfProductsOfCombinationsFromSituation.d.ts.map +1 -0
  89. package/lib/exercises/math/sets/combinations/findNumberOfProductsOfCombinationsFromSituation.js +388 -0
  90. package/lib/exercises/math/sets/combinations/index.d.ts +4 -0
  91. package/lib/exercises/math/sets/combinations/index.d.ts.map +1 -0
  92. package/lib/exercises/math/sets/combinations/index.js +3 -0
  93. package/lib/exercises/math/sets/combinations/proposeCombination.d.ts +15 -0
  94. package/lib/exercises/math/sets/combinations/proposeCombination.d.ts.map +1 -0
  95. package/lib/exercises/math/sets/combinations/proposeCombination.js +347 -0
  96. package/lib/exercises/math/sets/partialPermutations/findNumberOfPartialPermutationsFromSituation.d.ts +16 -0
  97. package/lib/exercises/math/sets/partialPermutations/findNumberOfPartialPermutationsFromSituation.d.ts.map +1 -0
  98. package/lib/exercises/math/sets/partialPermutations/findNumberOfPartialPermutationsFromSituation.js +186 -0
  99. package/lib/exercises/math/sets/partialPermutations/findNumberOfPermutationsFromSituation.d.ts +17 -0
  100. package/lib/exercises/math/sets/partialPermutations/findNumberOfPermutationsFromSituation.d.ts.map +1 -0
  101. package/lib/exercises/math/sets/partialPermutations/findNumberOfPermutationsFromSituation.js +232 -0
  102. package/lib/exercises/math/sets/partialPermutations/index.d.ts +4 -0
  103. package/lib/exercises/math/sets/partialPermutations/index.d.ts.map +1 -0
  104. package/lib/exercises/math/sets/partialPermutations/index.js +3 -0
  105. package/lib/exercises/math/sets/partialPermutations/proposePartialPermutation.d.ts +15 -0
  106. package/lib/exercises/math/sets/partialPermutations/proposePartialPermutation.d.ts.map +1 -0
  107. package/lib/exercises/math/sets/partialPermutations/proposePartialPermutation.js +343 -0
  108. package/lib/exercises/math/trigonometry/functions/parityOfCosAXTimesSinBX.d.ts +8 -0
  109. package/lib/exercises/math/trigonometry/functions/parityOfCosAXTimesSinBX.d.ts.map +1 -0
  110. package/lib/exercises/math/trigonometry/functions/parityOfCosAXTimesSinBX.js +193 -0
  111. package/lib/index.d.ts +15 -1
  112. package/lib/index.d.ts.map +1 -1
  113. package/lib/math/sets/setOperations.d.ts +9 -0
  114. package/lib/math/sets/setOperations.d.ts.map +1 -0
  115. package/lib/math/sets/setOperations.js +84 -0
  116. package/lib/math/sets/tuple.d.ts +12 -0
  117. package/lib/math/sets/tuple.d.ts.map +1 -0
  118. package/lib/math/sets/tuple.js +17 -0
  119. package/lib/server.js +25 -0
  120. package/lib/tree/utilities/nodePrinter.d.ts +7 -0
  121. package/lib/tree/utilities/nodePrinter.d.ts.map +1 -0
  122. package/lib/tree/utilities/nodePrinter.js +36 -0
  123. package/package.json +1 -1
@@ -51,6 +51,12 @@ export type Proposition = {
51
51
  isRightAnswer: boolean;
52
52
  format: "tex" | "raw";
53
53
  };
54
+ export type OrderedItem = {
55
+ id: string;
56
+ statement: string;
57
+ rightIndex: number;
58
+ format: "tex" | "raw";
59
+ };
54
60
  export type GeogebraAxisOptions = {
55
61
  steps?: number;
56
62
  hidden?: boolean;
@@ -128,6 +134,9 @@ export type TreeDiagram = string[][][][];
128
134
  export type QCMGenerator<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (n: number, args: {
129
135
  answer: string;
130
136
  } & TIdentifiers, options?: TOptions) => Proposition[];
137
+ export type ReorderGenerator<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (n: number, args: {
138
+ answer: string;
139
+ } & TIdentifiers, options?: TOptions) => OrderedItem[];
131
140
  export type VEA<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (studentAnswer: string, args: {
132
141
  answer: string;
133
142
  } & TIdentifiers, options?: TOptions) => boolean;
@@ -188,16 +197,20 @@ export interface Exercise<TIdentifiers, TOptions = Record<string, string | strin
188
197
  connector?: "=" | "\\iff" | "\\approx";
189
198
  generator: (n: number, opts?: TOptions) => Question<TIdentifiers, TOptions>[];
190
199
  maxAllowedQuestions?: number;
191
- answerType?: "GGB" | "QCM" | "free" | "QCU" | "valueTable" | "varTable" | "signTable" | "signVarTable" | "treeDiagram";
200
+ answerType?: "GGB" | "QCM" | "free" | "QCU" | "valueTable" | "varTable" | "signTable" | "signVarTable" | "treeDiagram" | "reorder";
192
201
  isQCM?: boolean;
193
202
  shouldHaveCalculator?: boolean;
194
203
  qcmTimer?: number;
195
204
  freeTimer?: number;
196
205
  ggbTimer?: number;
206
+ reorderTimer?: number;
197
207
  valueTableTimer?: number;
198
208
  getPropositions?: QCMGenerator<{
199
209
  answer: string;
200
210
  } & TIdentifiers, TOptions>;
211
+ getOrderedItems?: ReorderGenerator<{
212
+ answer: string;
213
+ } & TIdentifiers, TOptions>;
201
214
  isAnswerValid?: VEA<TIdentifiers, TOptions>;
202
215
  getFeedback?: FeedbackGenerator<TIdentifiers, TOptions>;
203
216
  getMethodology?: GetMethodology<TIdentifiers, TOptions>;
@@ -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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"}
@@ -0,0 +1,8 @@
1
+ import { Exercise } from "../../../exercises/exercise.js";
2
+ import { NodeIdentifiers } from "../../../tree/nodes/nodeConstructor.js";
3
+ type Identifiers = {
4
+ nodeIds: NodeIdentifiers[];
5
+ };
6
+ export declare const debugReorder1: Exercise<Identifiers>;
7
+ export {};
8
+ //# sourceMappingURL=debugReorder1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugReorder1.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/_debug/debugReorder1.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAQ7C,KAAK,WAAW,GAAG;IAEjB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B,CAAC;AA0EF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAgB/C,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
2
+ import { randint } from "../../../math/utils/random/randint.js";
3
+ import { sqrt } from "../../../tree/nodes/functions/sqrtNode.js";
4
+ import { NodeConstructor, } from "../../../tree/nodes/nodeConstructor.js";
5
+ import { PiNode } from "../../../tree/nodes/numbers/piNode.js";
6
+ import { frac } from "../../../tree/nodes/operators/fractionNode.js";
7
+ import { multiply } from "../../../tree/nodes/operators/multiplyNode.js";
8
+ import { uuid } from "uuidv4";
9
+ // const getAnswer: GetAnswer<Identifiers> = (identifiers) => {
10
+ // return ;
11
+ // };
12
+ const getInstruction = () => {
13
+ return `Ranger du plus petit au plus grand (1 étant le plus petit, 4, le plus grand)`;
14
+ // return `Soit $f$ la fonction définie sur $[0; +\\infty[$ par
15
+ // $$
16
+ // f(x) = ${statement.toTex()}
17
+ // $$
18
+ // Quel est le sens de variations de $f$ sur $[0; +\\infty[$ ?`;
19
+ };
20
+ const getHint = () => {
21
+ return `Super indice`;
22
+ };
23
+ const getCorrection = () => {
24
+ return `Super correction qui explique comment ranger par ordre croissant.`;
25
+ };
26
+ const getKeys = () => {
27
+ return [];
28
+ };
29
+ const getDebugReorderQuestions = () => {
30
+ const node1 = frac(randint(1, 10), randint(1, 10));
31
+ const node2 = randint(1, 10).toTree();
32
+ const node3 = multiply(randint(1, 10), PiNode);
33
+ const node4 = sqrt(randint(1, 10));
34
+ const identifiers = {
35
+ nodeIds: [
36
+ node1.toIdentifiers(),
37
+ node2.toIdentifiers(),
38
+ node3.toIdentifiers(),
39
+ node4.toIdentifiers(),
40
+ ],
41
+ };
42
+ return getQuestionFromIdentifiers(identifiers);
43
+ };
44
+ const getQuestionFromIdentifiers = (identifiers) => {
45
+ const question = {
46
+ // answer: getAnswer(identifiers),
47
+ instruction: getInstruction(identifiers),
48
+ keys: getKeys(identifiers),
49
+ answerFormat: "raw",
50
+ identifiers,
51
+ hint: getHint(identifiers),
52
+ correction: getCorrection(identifiers),
53
+ };
54
+ return question;
55
+ };
56
+ const getOrderedItems = (_n, { nodeIds }) => {
57
+ const nodes = nodeIds.map((nodeId) => NodeConstructor.fromIdentifiers(nodeId));
58
+ const nodesSorted = nodes.sort((a, b) => a.evaluate() - b.evaluate());
59
+ return nodesSorted.map((node, i) => ({
60
+ id: uuid(),
61
+ statement: node.toTex(),
62
+ rightIndex: i,
63
+ format: "tex",
64
+ }));
65
+ };
66
+ export const debugReorder1 = {
67
+ id: "debugReorder1",
68
+ label: "Debug reorder 1 - simple",
69
+ isSingleStep: true,
70
+ generator: (nb, opts) => getDistinctQuestions(() => getDebugReorderQuestions(opts), nb),
71
+ qcmTimer: 60,
72
+ freeTimer: 60,
73
+ subject: "Mathématiques",
74
+ getOrderedItems,
75
+ getInstruction,
76
+ getHint,
77
+ getCorrection,
78
+ answerType: "reorder",
79
+ hasHintAndCorrection: true,
80
+ getQuestionFromIdentifiers,
81
+ };
@@ -0,0 +1,10 @@
1
+ import { Exercise } from "../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ a: number;
4
+ b: number;
5
+ c: number;
6
+ d: number;
7
+ };
8
+ export declare const debugReorder2: Exercise<Identifiers>;
9
+ export {};
10
+ //# sourceMappingURL=debugReorder2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugReorder2.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/_debug/debugReorder2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IAEjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAoFF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAgB/C,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
2
+ import { randfloat } from "../../../math/utils/random/randfloat.js";
3
+ import { randint } from "../../../math/utils/random/randint.js";
4
+ import { uuid } from "uuidv4";
5
+ // const getAnswer: GetAnswer<Identifiers> = (identifiers) => {
6
+ // return ;
7
+ // };
8
+ const getInstruction = (identifiers) => {
9
+ const { a, b, c, d } = identifiers;
10
+ return `Soit une suite ($p_{n}$) définie par : $p_{1} = ${a}$ et pour tout entier naturel $n$, $p_{n+1} = ${b} \\times p_{n} + ${c}$.
11
+ Démontrer la propriété suivante: Quelque soit $n$ dans $N$, $p_{n} > ${d}$`;
12
+ };
13
+ const getHint = () => {
14
+ return `Super indice`;
15
+ };
16
+ const getCorrection = () => {
17
+ return `Super correction`;
18
+ };
19
+ const getKeys = () => {
20
+ return [];
21
+ };
22
+ const getDebugReorderQuestions = () => {
23
+ const a = randint(1, 10);
24
+ const b = randfloat(0, 1, 1);
25
+ const c = randfloat(0, 1, 2);
26
+ const d = randfloat(0, 1, 2);
27
+ const identifiers = {
28
+ a,
29
+ b,
30
+ c,
31
+ d,
32
+ };
33
+ return getQuestionFromIdentifiers(identifiers);
34
+ };
35
+ const getQuestionFromIdentifiers = (identifiers) => {
36
+ const question = {
37
+ // answer: getAnswer(identifiers),
38
+ instruction: getInstruction(identifiers),
39
+ keys: getKeys(identifiers),
40
+ answerFormat: "raw",
41
+ identifiers,
42
+ hint: getHint(identifiers),
43
+ correction: getCorrection(identifiers),
44
+ };
45
+ return question;
46
+ };
47
+ const getOrderedItems = (_n, { a, b, c, d }) => {
48
+ const definition = `Définir $P(n)$:
49
+
50
+ Pour $n$ dans $N$, on pose $P(n): p_{n} > ${d}$`;
51
+ const initialisation = `Initialisation:
52
+
53
+ $p_{1} = ${a} > ${d}$ donc $P(1)$ est vraie. `;
54
+ const heredity = `Hérédité:
55
+
56
+ Supposons $P(n)$ vraie. On a :
57
+
58
+ $$
59
+ p_{n+1} = ${b}\\times p_{n} + ${c} > ${b} \\times ${d} +${c} = ${d}
60
+ $$
61
+
62
+ donc si $P(n)$ est vraie alors $P(n+1)$ est vraie`;
63
+ const conclusion = `Conclusion:
64
+
65
+ Quelque soit $n$ dans $N$, $P(n)$ est vraie.`;
66
+ return [definition, initialisation, heredity, conclusion].map((statement, i) => ({
67
+ id: uuid(),
68
+ statement: statement,
69
+ rightIndex: i,
70
+ format: "raw",
71
+ }));
72
+ };
73
+ export const debugReorder2 = {
74
+ id: "debugReorder2",
75
+ label: "Debug reorder 2 - long",
76
+ isSingleStep: true,
77
+ generator: (nb, opts) => getDistinctQuestions(() => getDebugReorderQuestions(opts), nb),
78
+ qcmTimer: 60,
79
+ freeTimer: 60,
80
+ subject: "Mathématiques",
81
+ getOrderedItems,
82
+ getInstruction,
83
+ getHint,
84
+ getCorrection,
85
+ answerType: "reorder",
86
+ hasHintAndCorrection: true,
87
+ getQuestionFromIdentifiers,
88
+ };
@@ -0,0 +1,10 @@
1
+ import { Exercise } from "../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ a: number;
4
+ b: number;
5
+ c: number;
6
+ d: number;
7
+ };
8
+ export declare const debugReorder3: Exercise<Identifiers>;
9
+ export {};
10
+ //# sourceMappingURL=debugReorder3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugReorder3.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/_debug/debugReorder3.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IAEjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA6EF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAgB/C,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
2
+ import { randfloat } from "../../../math/utils/random/randfloat.js";
3
+ import { randint } from "../../../math/utils/random/randint.js";
4
+ import { uuid } from "uuidv4";
5
+ // const getAnswer: GetAnswer<Identifiers> = (identifiers) => {
6
+ // return ;
7
+ // };
8
+ const getInstruction = (identifiers) => {
9
+ const { a, b, c, d } = identifiers;
10
+ return `Soit une suite ($p_{n}$) définie par : $p_{1} = ${a}$ et pour tout entier naturel $n$, $p_{n+1} = ${b} \\times p_{n} + ${c}$.
11
+
12
+ Démontrer la propriété suivante: Quelque soit $n$ dans $N$, $p_{n} > ${d}$
13
+
14
+ Pour $n$ dans $N$, on pose $P(n): p_{n} > ${d}$`;
15
+ };
16
+ const getHint = () => {
17
+ return `Super indice`;
18
+ };
19
+ const getCorrection = () => {
20
+ return `Super correction`;
21
+ };
22
+ const getKeys = () => {
23
+ return [];
24
+ };
25
+ const getDebugReorderQuestions = () => {
26
+ const a = randint(1, 10);
27
+ const b = randfloat(0, 1, 1);
28
+ const c = randfloat(0, 1, 2);
29
+ const d = randfloat(0, 1, 2);
30
+ const identifiers = {
31
+ a,
32
+ b,
33
+ c,
34
+ d,
35
+ };
36
+ return getQuestionFromIdentifiers(identifiers);
37
+ };
38
+ const getQuestionFromIdentifiers = (identifiers) => {
39
+ const question = {
40
+ // answer: getAnswer(identifiers),
41
+ instruction: getInstruction(identifiers),
42
+ keys: getKeys(identifiers),
43
+ answerFormat: "raw",
44
+ identifiers,
45
+ hint: getHint(identifiers),
46
+ correction: getCorrection(identifiers),
47
+ };
48
+ return question;
49
+ };
50
+ const getOrderedItems = (_n, { a, b, c, d }) => {
51
+ const initialisation = `$p_{1} = ${a} > ${d}$ donc $P(1)$ est vraie. `;
52
+ const heredity = `Supposons $P(n)$ vraie. On a :
53
+
54
+ $$
55
+ p_{n+1} = ${b}\\times p_{n} + ${c} > ${b} \\times ${d} +${c} = ${d}
56
+ $$`;
57
+ const heredityConclusion = `donc si $P(n)$ est vraie alors $P(n+1)$ est vraie`;
58
+ const conclusion = `Quelque soit $n$ dans $N$, $P(n)$ est vraie.`;
59
+ return [initialisation, heredity, heredityConclusion, conclusion].map((statement, i) => ({
60
+ id: uuid(),
61
+ statement: statement,
62
+ rightIndex: i,
63
+ format: "raw",
64
+ }));
65
+ };
66
+ export const debugReorder3 = {
67
+ id: "debugReorder3",
68
+ label: "Debug reorder 3 - long",
69
+ isSingleStep: true,
70
+ generator: (nb, opts) => getDistinctQuestions(() => getDebugReorderQuestions(opts), nb),
71
+ qcmTimer: 60,
72
+ freeTimer: 60,
73
+ subject: "Mathématiques",
74
+ getOrderedItems,
75
+ getInstruction,
76
+ getHint,
77
+ getCorrection,
78
+ answerType: "reorder",
79
+ hasHintAndCorrection: true,
80
+ getQuestionFromIdentifiers,
81
+ };
@@ -1,2 +1,4 @@
1
- export {};
1
+ export * from "./debugReorder1.js";
2
+ export * from "./debugReorder2.js";
3
+ export * from "./debugReorder3.js";
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/_debug/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/_debug/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
@@ -1 +1,3 @@
1
- export {};
1
+ export * from "./debugReorder1.js";
2
+ export * from "./debugReorder2.js";
3
+ export * from "./debugReorder3.js";
@@ -0,0 +1,2 @@
1
+ export * from "./simplifyQuotientOfFactorialToProduct.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/factorial/index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./simplifyQuotientOfFactorialToProduct.js";
@@ -0,0 +1,8 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ num: number;
4
+ denum: number;
5
+ };
6
+ export declare const simplifyQuotientOfFactorialToProduct: Exercise<Identifiers>;
7
+ export {};
8
+ //# sourceMappingURL=simplifyQuotientOfFactorialToProduct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplifyQuotientOfFactorialToProduct.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/factorial/simplifyQuotientOfFactorialToProduct.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAkBrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAuNF,eAAO,MAAM,oCAAoC,EAAE,QAAQ,CAAC,WAAW,CAiBtE,CAAC"}
@@ -0,0 +1,199 @@
1
+ import { addValidProp, propWhile, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
+ import { primeDecompNode } from "../../../../math/utils/arithmetic/primeDecompNode.js";
3
+ import { randint } from "../../../../math/utils/random/randint.js";
4
+ import { facto } from "../../../../tree/nodes/functions/factorialNode.js";
5
+ import { isNumberNode } from "../../../../tree/nodes/numbers/numberNode.js";
6
+ import { frac } from "../../../../tree/nodes/operators/fractionNode.js";
7
+ import { isMultiplyNode, multiply, } from "../../../../tree/nodes/operators/multiplyNode.js";
8
+ import { substract } from "../../../../tree/nodes/operators/substractNode.js";
9
+ import { parseAlgebraic } from "../../../../tree/parsers/latexParser.js";
10
+ import { NodeComparator } from "../../../../tree/utilities/nodeComparator.js";
11
+ import { zip } from "../../../../utils/arrays/arrayZip.js";
12
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
13
+ import { alignTex } from "../../../../utils/latex/alignTex.js";
14
+ const getStatementNode = (identifiers) => {
15
+ const { num, denum } = identifiers;
16
+ return frac(facto(num), facto(denum));
17
+ };
18
+ const getStartStatement = (identifiers) => {
19
+ return getStatementNode(identifiers).toTex();
20
+ };
21
+ const getInstruction = (identifiers) => {
22
+ return `Réécrire sous forme de produit :
23
+
24
+ $$
25
+ ${getStartStatement(identifiers)}
26
+ $$`;
27
+ };
28
+ const getAnswerNode = (identifiers) => {
29
+ const { num, denum } = identifiers;
30
+ return [...Array(num - denum).keys()]
31
+ .map((i) => i + denum + 1)
32
+ .map((v) => v.toTree())
33
+ .reduce((acc, x) => multiply(acc, x));
34
+ };
35
+ const getAnswer = (identifiers) => {
36
+ return getAnswerNode(identifiers).toTex();
37
+ };
38
+ const getHint = (identifiers) => {
39
+ const { num, denum } = identifiers;
40
+ return `Voici un exemple :
41
+
42
+ $$
43
+ 4! = 2! \\times 3 \\times 4
44
+ $$
45
+
46
+ À toi de déterminer :
47
+
48
+ $$
49
+ ${num}! = ${denum}! \\times ... ?
50
+ $$
51
+
52
+ `;
53
+ };
54
+ const getCorrection = (identifiers) => {
55
+ const { num, denum } = identifiers;
56
+ const [nodeFactoNum, nodeFactoDen] = [num, denum].map((v) => facto(v));
57
+ return `On a :
58
+
59
+ ${alignTex([nodeFactoDen, nodeFactoNum].flatMap((nodeFacto) => {
60
+ const texExpanded = nodeFacto
61
+ .toMultiplyNode()
62
+ .toTex({ forceNoSimplification: true, forceTimesSign: true });
63
+ const arrTexFactor = texExpanded.split("\\times");
64
+ const arrArrTexFactor = arrTexFactor.reduce((acc, texFactor, i, arr) => {
65
+ acc.running.push(texFactor);
66
+ if (acc.running.length >= 4 || i === arr.length - 1) {
67
+ acc.chunks.push(acc.running);
68
+ acc.running = [];
69
+ }
70
+ return acc;
71
+ }, {
72
+ chunks: [],
73
+ running: [],
74
+ }).chunks;
75
+ return arrArrTexFactor.map((arrTexFactor, i) => {
76
+ const texChunk = arrTexFactor.join(" \\times ");
77
+ if (i === 0) {
78
+ return [nodeFacto.toTex(), "= \\ \\ \\ ", texChunk];
79
+ }
80
+ else {
81
+ return [" ", "\\ \\ \\ \\times", texChunk];
82
+ }
83
+ });
84
+ }))}
85
+
86
+ Par conséquent :
87
+
88
+ $$
89
+ ${getStatementNode(identifiers).toTex()} = ${getAnswerNode(identifiers).toTex()}
90
+ $$
91
+
92
+ `;
93
+ };
94
+ const getPropositions = (n, { answer, ...identifiers }) => {
95
+ const { num, denum } = identifiers;
96
+ const propositions = [];
97
+ addValidProp(propositions, answer);
98
+ //student: primeDecomp(frac(num,den))
99
+ {
100
+ try {
101
+ const v = num / denum;
102
+ const node = primeDecompNode(v, false);
103
+ tryToAddWrongProp(propositions, node.toTex());
104
+ }
105
+ catch (_) {
106
+ (() => { })();
107
+ }
108
+ }
109
+ //student: denum-1
110
+ {
111
+ const identifiersWrong = { num, denum: denum - 1 };
112
+ tryToAddWrongProp(propositions, getAnswer(identifiersWrong));
113
+ }
114
+ //student: denum+1
115
+ {
116
+ const identifiersWrong = { num, denum: denum + 1 };
117
+ tryToAddWrongProp(propositions, getAnswer(identifiersWrong));
118
+ }
119
+ //student: (num-denum)!
120
+ {
121
+ tryToAddWrongProp(propositions, facto(num - denum)
122
+ .toMultiplyNode()
123
+ .toTex({ forceNoSimplification: true, forceTimesSign: true }));
124
+ }
125
+ propWhile(propositions, n, () => {
126
+ const identifiersWrong = createRandomIdentifiers();
127
+ tryToAddWrongProp(propositions, getAnswer(identifiersWrong));
128
+ });
129
+ return shuffleProps(propositions, n);
130
+ };
131
+ const isAnswerValid = (ans, { answer, ...identifiers }) => {
132
+ try {
133
+ const nodeAns = parseAlgebraic(ans);
134
+ const nodeAnswer = getAnswerNode(identifiers);
135
+ function getArrFactorLeaf(node) {
136
+ if (isMultiplyNode(node)) {
137
+ return [node.leftChild, node.rightChild].flatMap((nodeChild) => getArrFactorLeaf(nodeChild));
138
+ }
139
+ else if (isNumberNode(node)) {
140
+ return [node];
141
+ }
142
+ else {
143
+ throw new Error("Unsupported node:" + node);
144
+ }
145
+ }
146
+ const [arrFactorLeafAnsSortedAsc, arrFactorLeafAnswerSortedAsc] = [
147
+ nodeAns,
148
+ nodeAnswer,
149
+ ].map((node) => getArrFactorLeaf(node)
150
+ .filter((node) => node.evaluate() !== 1)
151
+ .toSorted((node1, node2) => substract(node1, node2).evaluate()));
152
+ if (arrFactorLeafAnsSortedAsc.length !== arrFactorLeafAnswerSortedAsc.length) {
153
+ throw new Error("Different number of non-1 factors");
154
+ }
155
+ return zip(arrFactorLeafAnsSortedAsc, arrFactorLeafAnswerSortedAsc).every(([nodeLeafAns, nodeLeafAnswer]) => NodeComparator.isEqualViaSub(nodeLeafAns, nodeLeafAnswer));
156
+ }
157
+ catch (err) {
158
+ return handleVEAError(err);
159
+ }
160
+ };
161
+ const createRandomIdentifiers = () => {
162
+ const num = randint(7, 17);
163
+ const nbFactors = randint(2, 5);
164
+ const denum = num - nbFactors;
165
+ const identifiers = { num, denum };
166
+ return identifiers;
167
+ };
168
+ const getSimplifyQuotientOfFactorialToProductQuestion = () => {
169
+ const identifiers = createRandomIdentifiers();
170
+ return getQuestionFromIdentifiers(identifiers);
171
+ };
172
+ const getQuestionFromIdentifiers = (identifiers) => {
173
+ const question = {
174
+ instruction: getInstruction(identifiers),
175
+ startStatement: getStartStatement(identifiers),
176
+ answer: getAnswer(identifiers),
177
+ keys: [],
178
+ answerFormat: "tex",
179
+ identifiers,
180
+ hint: getHint(identifiers),
181
+ correction: getCorrection(identifiers),
182
+ };
183
+ return question;
184
+ };
185
+ export const simplifyQuotientOfFactorialToProduct = {
186
+ id: "simplifyQuotientOfFactorialToProduct",
187
+ connector: "=",
188
+ label: "Écrire sous forme de produit un quotient de factorielles",
189
+ isSingleStep: true,
190
+ generator: (nb) => [...Array(nb).keys()].map(() => getSimplifyQuotientOfFactorialToProductQuestion()),
191
+ qcmTimer: 60,
192
+ freeTimer: 60,
193
+ getPropositions,
194
+ isAnswerValid,
195
+ subject: "Mathématiques",
196
+ getQuestionFromIdentifiers,
197
+ hasHintAndCorrection: true,
198
+ shouldHaveCalculator: false,
199
+ };
@@ -0,0 +1,3 @@
1
+ export * from "./writeCombinationFormulaUsingFactorial.js";
2
+ export * from "./mentalCalculateCombination.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/combinatory/combination/index.ts"],"names":[],"mappings":"AAAA,cAAc,4CAA4C,CAAC;AAC3D,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./writeCombinationFormulaUsingFactorial.js";
2
+ export * from "./mentalCalculateCombination.js";
@@ -0,0 +1,11 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ total: number;
4
+ picked: number;
5
+ };
6
+ type Options = {
7
+ statementFormulaType: string;
8
+ };
9
+ export declare const mentalCalculateCombination: Exercise<Identifiers, Options>;
10
+ export {};
11
+ //# sourceMappingURL=mentalCalculateCombination.d.ts.map