math-exercises 3.0.164 → 3.0.166

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 (67) hide show
  1. package/lib/exercises/exercise.d.ts +1 -1
  2. package/lib/exercises/exercise.d.ts.map +1 -1
  3. package/lib/exercises/math/_debug/debugVarSignTableFromGraph.d.ts +9 -0
  4. package/lib/exercises/math/_debug/debugVarSignTableFromGraph.d.ts.map +1 -0
  5. package/lib/exercises/math/_debug/debugVarSignTableFromGraph.js +186 -0
  6. package/lib/exercises/math/_debug/debugVarSignTableReading.d.ts +14 -0
  7. package/lib/exercises/math/_debug/debugVarSignTableReading.d.ts.map +1 -0
  8. package/lib/exercises/math/_debug/debugVarSignTableReading.js +215 -0
  9. package/lib/exercises/math/_debug/index.d.ts +3 -0
  10. package/lib/exercises/math/_debug/index.d.ts.map +1 -0
  11. package/lib/exercises/math/_debug/index.js +2 -0
  12. package/lib/exercises/math/functions/basics/inverseImageFunctionGeogebra.d.ts.map +1 -1
  13. package/lib/exercises/math/functions/basics/inverseImageFunctionGeogebra.js +3 -1
  14. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.d.ts +6 -2
  15. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.d.ts.map +1 -1
  16. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.js +85 -13
  17. package/lib/exercises/math/functions/trinoms/equation/index.d.ts +2 -0
  18. package/lib/exercises/math/functions/trinoms/equation/index.d.ts.map +1 -1
  19. package/lib/exercises/math/functions/trinoms/equation/index.js +2 -0
  20. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationByFactorisation.d.ts +4 -1
  21. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationByFactorisation.d.ts.map +1 -1
  22. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationByFactorisation.js +169 -8
  23. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationEqualsC.d.ts +10 -0
  24. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationEqualsC.d.ts.map +1 -0
  25. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationEqualsC.js +146 -0
  26. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationFromCano.d.ts.map +1 -1
  27. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationFromCano.js +73 -3
  28. package/lib/exercises/math/functions/trinoms/equation/trinomSelectEquationWithoutDeltaNeeded.d.ts +13 -0
  29. package/lib/exercises/math/functions/trinoms/equation/trinomSelectEquationWithoutDeltaNeeded.d.ts.map +1 -0
  30. package/lib/exercises/math/functions/trinoms/equation/trinomSelectEquationWithoutDeltaNeeded.js +204 -0
  31. package/lib/exercises/math/functions/trinoms/sign/index.d.ts +2 -0
  32. package/lib/exercises/math/functions/trinoms/sign/index.d.ts.map +1 -1
  33. package/lib/exercises/math/functions/trinoms/sign/index.js +2 -0
  34. package/lib/exercises/math/functions/trinoms/sign/parabolaSignTable.d.ts +9 -0
  35. package/lib/exercises/math/functions/trinoms/sign/parabolaSignTable.d.ts.map +1 -0
  36. package/lib/exercises/math/functions/trinoms/sign/parabolaSignTable.js +123 -0
  37. package/lib/exercises/math/functions/trinoms/sign/trinomSignTableFromAlgebraicForm.d.ts +13 -0
  38. package/lib/exercises/math/functions/trinoms/sign/trinomSignTableFromAlgebraicForm.d.ts.map +1 -0
  39. package/lib/exercises/math/functions/trinoms/sign/trinomSignTableFromAlgebraicForm.js +209 -0
  40. package/lib/exercises/math/index.d.ts +1 -0
  41. package/lib/exercises/math/index.d.ts.map +1 -1
  42. package/lib/exercises/math/index.js +1 -0
  43. package/lib/exercises/math/probaStat/index.js +1 -0
  44. package/lib/exercises/math/probaStat/trees/index.d.ts +2 -0
  45. package/lib/exercises/math/probaStat/trees/index.d.ts.map +1 -0
  46. package/lib/exercises/math/probaStat/trees/index.js +1 -0
  47. package/lib/exercises/math/probaStat/trees/treeInInstruction.d.ts +8 -0
  48. package/lib/exercises/math/probaStat/trees/treeInInstruction.d.ts.map +1 -0
  49. package/lib/exercises/math/probaStat/trees/treeInInstruction.js +110 -0
  50. package/lib/exercises/math/sequences/arithmetic/arithmeticVariations.d.ts +13 -0
  51. package/lib/exercises/math/sequences/arithmetic/arithmeticVariations.d.ts.map +1 -0
  52. package/lib/exercises/math/sequences/arithmetic/arithmeticVariations.js +163 -0
  53. package/lib/exercises/math/sequences/arithmetic/index.d.ts +1 -0
  54. package/lib/exercises/math/sequences/arithmetic/index.d.ts.map +1 -1
  55. package/lib/exercises/math/sequences/arithmetic/index.js +1 -0
  56. package/lib/index.d.ts +49 -3
  57. package/lib/index.d.ts.map +1 -1
  58. package/lib/math/polynomials/trinom.d.ts +1 -1
  59. package/lib/math/polynomials/trinom.d.ts.map +1 -1
  60. package/lib/math/polynomials/trinom.js +5 -2
  61. package/lib/tree/nodes/numbers/constantNode.d.ts +1 -0
  62. package/lib/tree/nodes/numbers/constantNode.d.ts.map +1 -1
  63. package/lib/tree/nodes/numbers/constantNode.js +7 -0
  64. package/lib/tree/nodes/numbers/numberNode.d.ts +1 -0
  65. package/lib/tree/nodes/numbers/numberNode.d.ts.map +1 -1
  66. package/lib/tree/nodes/numbers/numberNode.js +7 -0
  67. package/package.json +1 -1
@@ -180,7 +180,7 @@ export interface Exercise<TIdentifiers, TOptions = Record<string, string | strin
180
180
  connector?: "=" | "\\iff" | "\\approx";
181
181
  generator: (n: number, opts?: TOptions) => Question<TIdentifiers, TOptions>[];
182
182
  maxAllowedQuestions?: number;
183
- answerType?: "GGB" | "QCM" | "free" | "QCU" | "valueTable" | "varTable" | "signTable";
183
+ answerType?: "GGB" | "QCM" | "free" | "QCU" | "valueTable" | "varTable" | "signTable" | "signVarTable" | "treeDiagram";
184
184
  isQCM?: boolean;
185
185
  shouldHaveCalculator?: boolean;
186
186
  qcmTimer?: 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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"}
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ type: number;
4
+ coeffs: number[];
5
+ initTable: string[][];
6
+ };
7
+ export declare const debugVarSignTableFromGraph: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=debugVarSignTableFromGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugVarSignTableFromGraph.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/_debug/debugVarSignTableFromGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;CACvB,CAAC;AAiLF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAmB5D,CAAC"}
@@ -0,0 +1,186 @@
1
+ import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
2
+ import { GeogebraConstructor } from "../../../geogebra/geogebraConstructor.js";
3
+ import { Polynomial } from "../../../math/polynomials/polynomial.js";
4
+ import { randint } from "../../../math/utils/random/randint.js";
5
+ import { coinFlip } from "../../../utils/alea/coinFlip.js";
6
+ import { handleVEAError } from "../../../utils/errors/handleVEAError.js";
7
+ const getRoots = (identifiers) => {
8
+ const { coeffs } = identifiers;
9
+ const [_d, c, b, a] = coeffs;
10
+ const sqrtDelta = 2 * Math.sqrt(b ** 2 - 3 * a * c);
11
+ const x1 = (-2 * b - sqrtDelta) / (6 * a);
12
+ const x2 = (-2 * b + sqrtDelta) / (6 * a);
13
+ return [x1, x2].sort((a, b) => a - b);
14
+ };
15
+ const getGGBOptions = (identifiers) => {
16
+ const { coeffs } = identifiers;
17
+ const poly = new Polynomial(coeffs);
18
+ const commands = [`f(x) =${poly.toMathString()}`];
19
+ const ggb = new GeogebraConstructor({
20
+ commands,
21
+ lockedAxesRatio: false,
22
+ });
23
+ const [x1, x2] = getRoots(identifiers);
24
+ const fx1 = poly.calculate(x1);
25
+ const fx2 = poly.calculate(x2);
26
+ return ggb.getOptions({
27
+ coords: ggb.getAdaptedCoords({
28
+ xMin: x1 - 2,
29
+ xMax: x2 + 2,
30
+ yMin: Math.min(fx1, fx2) - 2,
31
+ yMax: Math.max(fx1, fx2) + 2,
32
+ }),
33
+ });
34
+ };
35
+ const getAnswerTable = (identifiers) => {
36
+ const { coeffs } = identifiers;
37
+ const [_d, _c, _b, a] = coeffs;
38
+ const poly = new Polynomial(coeffs);
39
+ const [x1, x2] = getRoots(identifiers);
40
+ const fx1 = poly.calculate(x1);
41
+ const fx2 = poly.calculate(x2);
42
+ const vars = coeffs[3] > 0
43
+ ? ["\\nearrow", "\\searrow", "\\nearrow"]
44
+ : ["\\searrow", "\\nearrow", "\\searrow"];
45
+ return [
46
+ [
47
+ "$x$",
48
+ "-\\infty",
49
+ "\\ ",
50
+ x1.toTree().toTex(),
51
+ "\\ ",
52
+ x2.toTree().toTex(),
53
+ "\\ ",
54
+ "+\\infty",
55
+ ],
56
+ ["$f'(x)$", "\\ ", "+", "0", "-", "0", "+", "\\ "],
57
+ [
58
+ "$\\ $",
59
+ "\\ ",
60
+ "\\ ",
61
+ a > 0 ? fx1.toTree().toTex() : "\\ ",
62
+ "\\ ",
63
+ a > 0 ? "\\ " : fx2.toTree().toTex(),
64
+ "\\ ",
65
+ "\\ ",
66
+ ],
67
+ ["$f(x)$", "\\ ", vars[0], "\\ ", vars[1], "\\ ", vars[2], "\\ "],
68
+ [
69
+ "$\\ $",
70
+ "\\ ",
71
+ "\\ ",
72
+ a > 0 ? "\\ " : fx1.toTree().toTex(),
73
+ "\\ ",
74
+ a > 0 ? fx2.toTree().toTex() : "\\ ",
75
+ "\\ ",
76
+ "\\ ",
77
+ ],
78
+ ];
79
+ };
80
+ const getInstruction = () => {
81
+ return `Dresser le tableau de variations de la fonction $f$ définie sur $\\mathbb{R}$ dont la courbe représentative est donnée ci-dessous :`;
82
+ };
83
+ const getHint = () => {
84
+ return `La fonction est définie sur $\\mathbb{R}$, donc les valeurs de $x$ vont de $-\\infty$ à $+\\infty$.
85
+
86
+ Repère ensuite les points de la courbe auxquels le sens de variation change. Dans la première ligne du tableau, il faut mettre les abscisses de ces points, et dans la deuxième ligne, les ordonnées.`;
87
+ };
88
+ const getCorrection = (identifiers) => {
89
+ const { coeffs } = identifiers;
90
+ const [_d, _c, _b, a] = coeffs;
91
+ const poly = new Polynomial(coeffs);
92
+ const [x1, x2] = getRoots(identifiers);
93
+ const fx1 = poly.calculate(x1);
94
+ const fx2 = poly.calculate(x2);
95
+ const words = a > 0
96
+ ? ["croissante", "décroissante", "croissante"]
97
+ : ["décroissante", "croissante", "décroissante"];
98
+ return `D'après le graphique, la fonction $f$ est ${words[0]} sur $]-\\infty; ${x1}]$, puis ${words[1]} sur $[${x1}; ${x2}]$, puis ${words[2]} sur $[${x2}; +\\infty[$.
99
+
100
+ De plus, on lit graphiquement que l'image de $${x1}$ est $${fx1}$, et celle de $${x2}$ est $${fx2}$.
101
+
102
+
103
+ `;
104
+ };
105
+ const getKeys = () => {
106
+ return ["infty"];
107
+ };
108
+ const isAnswerTableValid = (ans, { answerTable }) => {
109
+ try {
110
+ return ans.every((row, i) => row.every((cell, j) => {
111
+ if (cell !== answerTable[i][j]) {
112
+ console.log(row, cell, j);
113
+ }
114
+ return cell === answerTable[i][j];
115
+ }));
116
+ }
117
+ catch (err) {
118
+ return handleVEAError(err);
119
+ }
120
+ };
121
+ // const lists = [
122
+ // "x^3 - 3x",
123
+ // "x^3 -6x^2 + 9x",
124
+ // "-x^3 + 3x^2 + 9x",
125
+ // "2x^3 - 9x^2 + 12x",
126
+ // "-x^3+6x^2-9x",
127
+ // "4x^3 -24x^2 + 36x",
128
+ // ];
129
+ const poly3Coeffs = [
130
+ [0, -3, 0, 1],
131
+ [0, 9, -6, 1],
132
+ // [0, 9, 3, -1],
133
+ [0, 12, -9, 2],
134
+ [0, -9, 6, -1],
135
+ // [0, 36, -24, 4],
136
+ ];
137
+ const getVarSignTableFromGraphQuestion = () => {
138
+ const index = randint(0, 4);
139
+ const coeffs = coinFlip()
140
+ ? poly3Coeffs[index]
141
+ : poly3Coeffs[index].map((x) => -x);
142
+ const initTable = [
143
+ ["$x$", "-\\infty", "\\ ", "", "\\ ", "", "\\ ", "+\\infty"],
144
+ ["$f'(x)$", "\\ ", "", "", "", "", "", "\\ "],
145
+ ["$\\ $", "\\ ", "\\ ", "\\ ", "\\ ", "\\ ", "\\ ", "\\ "],
146
+ ["$f(x)$", "\\ ", "", "", "", "", "", "\\ "],
147
+ ["$\\ $", "\\ ", "\\ ", "\\ ", "\\ ", "\\ ", "\\ ", "\\ "],
148
+ ];
149
+ const identifiers = {
150
+ type: 0,
151
+ coeffs: [coeffs[0] + randint(-10, 10), ...coeffs.slice(1)],
152
+ initTable,
153
+ };
154
+ return getQuestionFromIdentifiers(identifiers);
155
+ };
156
+ const getQuestionFromIdentifiers = (identifiers) => {
157
+ return {
158
+ answerTable: getAnswerTable(identifiers),
159
+ instruction: getInstruction(identifiers),
160
+ keys: getKeys(identifiers),
161
+ answerFormat: "tex",
162
+ identifiers,
163
+ hint: getHint(identifiers),
164
+ correction: getCorrection(identifiers),
165
+ initTable: identifiers.initTable,
166
+ ggbOptions: getGGBOptions(identifiers),
167
+ };
168
+ };
169
+ export const debugVarSignTableFromGraph = {
170
+ id: "debugVarSignTableFromGraph",
171
+ label: "Dresser le tableau de signes $+$ variations d'une fonction à partir de sa représentation graphique",
172
+ isSingleStep: true,
173
+ generator: (nb, opts) => getDistinctQuestions(() => getVarSignTableFromGraphQuestion(opts), nb),
174
+ qcmTimer: 60,
175
+ freeTimer: 60,
176
+ isAnswerTableValid,
177
+ subject: "Mathématiques",
178
+ getInstruction,
179
+ getHint,
180
+ getCorrection,
181
+ getAnswerTable,
182
+ getQuestionFromIdentifiers,
183
+ hasHintAndCorrection: true,
184
+ answerType: "signVarTable",
185
+ hasGeogebra: true,
186
+ };
@@ -0,0 +1,14 @@
1
+ import { Exercise } from "../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ xValues: number[];
4
+ yValues: number[];
5
+ isAskingX: boolean;
6
+ isAskingMin: boolean;
7
+ intervalXIndexes: number[];
8
+ };
9
+ type Options = {
10
+ extremumType: string;
11
+ };
12
+ export declare const debugVarSignTableReading: Exercise<Identifiers, Options>;
13
+ export {};
14
+ //# sourceMappingURL=debugVarSignTableReading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugVarSignTableReading.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/_debug/debugVarSignTableReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAiQF,KAAK,OAAO,GAAG;IACb,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAWF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAenE,CAAC"}
@@ -0,0 +1,215 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, GeneratorOptionTarget, GeneratorOptionType, propWhile, } from "../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
3
+ import { numberVEA } from "../../../exercises/vea/numberVEA.js";
4
+ import { randint } from "../../../math/utils/random/randint.js";
5
+ import { ClosureType } from "../../../tree/nodes/sets/closure.js";
6
+ import { IntervalNode } from "../../../tree/nodes/sets/intervalNode.js";
7
+ import { coinFlip } from "../../../utils/alea/coinFlip.js";
8
+ import { random } from "../../../utils/alea/random.js";
9
+ const getPropositions = (n, { answer, ...identifiers }) => {
10
+ const propositions = [];
11
+ const { xValues, yValues } = identifiers;
12
+ addValidProp(propositions, answer);
13
+ propWhile(propositions, n, () => {
14
+ tryToAddWrongProp(propositions, random(coinFlip() ? xValues : yValues).frenchify());
15
+ });
16
+ return shuffleProps(propositions, n);
17
+ };
18
+ const getAnswer = (identifiers) => {
19
+ const { isAskingX, isAskingMin, xValues, yValues, intervalXIndexes } = identifiers;
20
+ return (isAskingX ? xValues : yValues)[yValues.indexOf((isAskingMin ? Math.min : Math.max)(...yValues.slice(intervalXIndexes[0], intervalXIndexes[1] + 1)))].frenchify();
21
+ };
22
+ const getTable = (identifiers) => {
23
+ const { xValues, yValues } = identifiers;
24
+ const isFirstAscending = yValues[0] < yValues[1];
25
+ const firstArrow = isFirstAscending ? "\\nearrow" : "\\searrow";
26
+ const secondArrow = isFirstAscending ? "\\searrow" : "\\nearrow";
27
+ return [
28
+ [
29
+ "£x£",
30
+ xValues[0].frenchify(),
31
+ "\\ ",
32
+ xValues[1].frenchify(),
33
+ "\\ ",
34
+ xValues[2].frenchify(),
35
+ "\\ ",
36
+ xValues[3].frenchify(),
37
+ ],
38
+ [
39
+ "£f'(x)£",
40
+ xValues[0].frenchify(),
41
+ "+",
42
+ xValues[1].frenchify(),
43
+ "-",
44
+ xValues[2].frenchify(),
45
+ "+",
46
+ xValues[3].frenchify(),
47
+ ],
48
+ [
49
+ " ",
50
+ isFirstAscending ? "\\ " : yValues[0].frenchify(),
51
+ "\\ ",
52
+ isFirstAscending ? yValues[1].frenchify() : "\\ ",
53
+ "\\ ",
54
+ isFirstAscending ? "\\ " : yValues[2].frenchify(),
55
+ "\\ ",
56
+ isFirstAscending ? yValues[3].frenchify() : "\\ ",
57
+ ],
58
+ ["£f(x)£", "\\ ", firstArrow, "\\ ", secondArrow, "\\ ", firstArrow, "\\ "],
59
+ [
60
+ " ",
61
+ !isFirstAscending ? "\\ " : yValues[0].frenchify(),
62
+ "\\ ",
63
+ !isFirstAscending ? yValues[1].frenchify() : "\\ ",
64
+ "\\ ",
65
+ !isFirstAscending ? "\\ " : yValues[2].frenchify(),
66
+ "\\ ",
67
+ !isFirstAscending ? yValues[3].frenchify() : "\\ ",
68
+ ],
69
+ ];
70
+ };
71
+ const getInstruction = (identifiers) => {
72
+ const type = identifiers.isAskingMin ? "minimum" : "maximum";
73
+ const interval = new IntervalNode(identifiers.xValues[identifiers.intervalXIndexes[0]].toTree(), identifiers.xValues[identifiers.intervalXIndexes[1]].toTree(), ClosureType.FF);
74
+ const table = getTable(identifiers);
75
+ const instruction = `On considère la fonction $f$ dont le tableau de variations est donné ci-dessous :
76
+
77
+ <svg id="signVarTable">${JSON.stringify(table)}</svg>
78
+
79
+ ${identifiers.isAskingX
80
+ ? `Sur l'intervalle $${interval.toTexNoSpace()}$, en quelle valeur le ${type} de la fonction $f$ est-il atteint ?`
81
+ : `Sur l'intervalle $${interval.toTexNoSpace()}$, quel est le ${type} de la fonction $f$ ?`}
82
+ `;
83
+ return instruction;
84
+ };
85
+ const getHint = () => {
86
+ return `Le minimum d'une fonction $f$ sur un intervalle $[a;b]$ est la plus petite valeur de $f(x)$ pour $x$ appartenant à $[a;b]$. On dit alors que le minimum de $f$ sur $[a;b]$ est $f(x)$, atteint en $x$.
87
+
88
+ Le maximum d'une fonction $f$ sur un intervalle $[a;b]$ est la plus grande valeur de $f(x)$ pour $x$ appartenant à $[a;b]$. On dit alors que le maximum de $f$ sur $[a;b]$ est $f(x)$, atteint en $x$.
89
+ `;
90
+ };
91
+ const getCorrection = (identifiers) => {
92
+ const { intervalXIndexes, isAskingMin, xValues, yValues } = identifiers;
93
+ const type = isAskingMin ? "minimum" : "maximum";
94
+ const type2 = isAskingMin ? "petite" : "grande";
95
+ const interval = new IntervalNode(identifiers.xValues[identifiers.intervalXIndexes[0]].toTree(), identifiers.xValues[identifiers.intervalXIndexes[1]].toTree(), ClosureType.FF);
96
+ const x = xValues[yValues.indexOf((isAskingMin ? Math.min : Math.max)(...yValues.slice(intervalXIndexes[0], intervalXIndexes[1] + 1)))].frenchify();
97
+ const y = yValues[yValues.indexOf((isAskingMin ? Math.min : Math.max)(...yValues.slice(intervalXIndexes[0], intervalXIndexes[1] + 1)))].frenchify();
98
+ return `On cherche la plus ${type2} valeur de $f(x)$ (deuxième ligne) pour les valeurs de $x$ allant de $${interval.a.toTex()}$ à $${interval.b.toTex()}$ (première ligne). On lit que cette valeur est $${y}$, atteinte pour $x = ${x}$.
99
+
100
+ ${identifiers.isAskingX
101
+ ? `Sur l'intervalle $${interval.toTex()}$, le ${type} de la fonction $f$ est donc atteint pour $x = ${x}$.`
102
+ : `Sur l'intervalle $${interval.toTex()}$, le ${type} de la fonction $f$ est donc $${y}$.`}
103
+ `;
104
+ };
105
+ // const getGGBOptions: GetGGBOptions<Identifiers> = (identifiers) => {
106
+ // const xValues = identifiers.xValues;
107
+ // const yValues = identifiers.yValues;
108
+ // const isFirstAscending = yValues[0] < yValues[1];
109
+ // const firstArrow = isFirstAscending ? "\\nearrow" : "\\searrow";
110
+ // const secondArrow = isFirstAscending ? "\\searrow" : "\\nearrow";
111
+ // const xLine = `liste1={"x","${xValues[0]}"," ", "${xValues[1]}", " ", "${xValues[2]}", " ", "${xValues[3]}", " "}`;
112
+ // const y0Line = `liste2={" ","${yValues[0]}"," "," "," ","${yValues[2]}"," ", " "}`;
113
+ // const y1Line = `liste4={" "," ", " ", "${yValues[1]}"," "," "," ","${yValues[3]}"}`;
114
+ // const centerLine = `liste3={"f(x)"," ", "${firstArrow}", " ", "${secondArrow}", " ", "${firstArrow}", " "}`;
115
+ // const commands = [
116
+ // xLine,
117
+ // y0Line,
118
+ // y1Line,
119
+ // centerLine,
120
+ // `T = TableText(liste1, ${isFirstAscending ? "liste4" : "liste2"}, liste3, ${
121
+ // isFirstAscending ? "liste2" : "liste4"
122
+ // } , "c|01000000000_01000")`,
123
+ // `SetFixed(T, true)`,
124
+ // // `SetCoords(T, 30, 100)`,
125
+ // ];
126
+ // const ggb = new GeogebraConstructor({
127
+ // commands: commands,
128
+ // hideAxes: true,
129
+ // hideGrid: true,
130
+ // forbidShiftDragZoom: true,
131
+ // fontSize: 12,
132
+ // maxHeight: 80,
133
+ // maxWidth: 300,
134
+ // hideFullScreenButton: true,
135
+ // });
136
+ // return ggb.getOptions({
137
+ // coords: [-10, 10, -10, 10],
138
+ // });
139
+ // };
140
+ const getKeys = () => {
141
+ return [];
142
+ };
143
+ const isAnswerValid = (ans, { answer }) => {
144
+ return numberVEA(ans, answer);
145
+ };
146
+ const getVarSignTableReadingQuestion = (opts) => {
147
+ const xValues = [
148
+ randint(-10, -4),
149
+ randint(-4, 1),
150
+ randint(1, 6),
151
+ randint(6, 10),
152
+ ];
153
+ const yValues = [randint(-5, 6)];
154
+ yValues.push(randint(-10, 10, [yValues[0]]));
155
+ const isFirstAscending = yValues[0] < yValues[1];
156
+ yValues.push(randint(isFirstAscending ? Math.min(yValues[0] - 2, -10) : yValues[1], isFirstAscending ? yValues[1] : Math.max(yValues[0] + 2, -10), [yValues[0], yValues[1]]));
157
+ yValues.push(randint(!isFirstAscending ? Math.min(yValues[1] - 2, -10) : yValues[2], !isFirstAscending ? yValues[2] : Math.max(yValues[1] + 2, -10), [yValues[1], yValues[2]]));
158
+ const intervalXIndexes = opts?.extremumType === "Global"
159
+ ? [0, 3]
160
+ : opts?.extremumType === "Local"
161
+ ? coinFlip()
162
+ ? [0, 2]
163
+ : [1, 3]
164
+ : coinFlip()
165
+ ? [0, 3]
166
+ : coinFlip()
167
+ ? [0, 2]
168
+ : [1, 3];
169
+ const identifiers = {
170
+ xValues,
171
+ yValues,
172
+ isAskingX: coinFlip(),
173
+ isAskingMin: coinFlip(),
174
+ intervalXIndexes,
175
+ };
176
+ return getQuestionFromIdentifiers(identifiers, opts);
177
+ };
178
+ const getQuestionFromIdentifiers = (identifiers) => {
179
+ const question = {
180
+ answer: getAnswer(identifiers),
181
+ instruction: getInstruction(identifiers),
182
+ keys: getKeys(identifiers),
183
+ answerFormat: "tex",
184
+ identifiers,
185
+ hint: getHint(identifiers),
186
+ correction: getCorrection(identifiers),
187
+ // ggbOptions: getGGBOptions(identifiers),
188
+ };
189
+ return question;
190
+ };
191
+ const options = [
192
+ {
193
+ id: "extremumType",
194
+ label: "Type d'extremum",
195
+ target: GeneratorOptionTarget.generation,
196
+ type: GeneratorOptionType.select,
197
+ values: ["Local", "Global", "Les deux"],
198
+ defaultValue: "Les deux",
199
+ },
200
+ ];
201
+ export const debugVarSignTableReading = {
202
+ id: "debugVarSignTableReading",
203
+ label: "Lire le tableau de signes $+$ variations",
204
+ isSingleStep: true,
205
+ generator: (nb, opts) => getDistinctQuestions(() => getVarSignTableReadingQuestion(opts), nb),
206
+ qcmTimer: 60,
207
+ freeTimer: 60,
208
+ getPropositions,
209
+ isAnswerValid,
210
+ subject: "Mathématiques",
211
+ getQuestionFromIdentifiers,
212
+ // hasGeogebra: true,
213
+ hasHintAndCorrection: true,
214
+ options,
215
+ };
@@ -0,0 +1,3 @@
1
+ export * from "./debugVarSignTableReading.js";
2
+ export * from "./debugVarSignTableFromGraph.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/_debug/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./debugVarSignTableReading.js";
2
+ export * from "./debugVarSignTableFromGraph.js";
@@ -1 +1 @@
1
- {"version":3,"file":"inverseImageFunctionGeogebra.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/basics/inverseImageFunctionGeogebra.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IAEjB,MAAM,EAAE,MAAM,CAAC;IAIf,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;CACpB,CAAC;AA8bF,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,WAAW,CAoB9D,CAAC"}
1
+ {"version":3,"file":"inverseImageFunctionGeogebra.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/basics/inverseImageFunctionGeogebra.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IAEjB,MAAM,EAAE,MAAM,CAAC;IAIf,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;CACpB,CAAC;AAgcF,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,WAAW,CAoB9D,CAAC"}
@@ -200,7 +200,9 @@ const getPropositions = (n, { answer, points, yValue }) => {
200
200
  const isAnswerValid = (ans, { answer, points, yValue }) => {
201
201
  if (ans === "\\text{Aucun}" || answer === "\\text{Aucun}")
202
202
  return ans === answer;
203
- const validPoints = points.filter((p) => p[1] === yValue);
203
+ const validPoints = points
204
+ .filter((p) => p[1] === yValue)
205
+ .sort((a, b) => a[0] - b[0]);
204
206
  const ansElements = ans.split("\\text{ et }");
205
207
  if (validPoints.length !== ansElements.length)
206
208
  return false;
@@ -3,8 +3,12 @@ type Identifiers = {
3
3
  a: number;
4
4
  b: number;
5
5
  c: number;
6
- isDevForm: boolean;
6
+ isDevForm?: boolean;
7
+ form?: "cano" | "dev" | "facto";
7
8
  };
8
- export declare const variationsFromAlgebricForm: Exercise<Identifiers>;
9
+ type Options = {
10
+ form: string[];
11
+ };
12
+ export declare const variationsFromAlgebricForm: Exercise<Identifiers, Options>;
9
13
  export {};
10
14
  //# sourceMappingURL=variationsFromAlgebricForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"variationsFromAlgebricForm.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAMrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AA4DF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAa5D,CAAC"}
1
+ {"version":3,"file":"variationsFromAlgebricForm.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAMrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;CACjC,CAAC;AAiIF,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAWF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAerE,CAAC"}