math-exercises 3.0.164 → 3.0.165

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 (55) 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/functions/basics/inverseImageFunctionGeogebra.d.ts.map +1 -1
  4. package/lib/exercises/math/functions/basics/inverseImageFunctionGeogebra.js +3 -1
  5. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.d.ts +6 -2
  6. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.d.ts.map +1 -1
  7. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.js +85 -13
  8. package/lib/exercises/math/functions/trinoms/equation/index.d.ts +2 -0
  9. package/lib/exercises/math/functions/trinoms/equation/index.d.ts.map +1 -1
  10. package/lib/exercises/math/functions/trinoms/equation/index.js +2 -0
  11. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationByFactorisation.d.ts +4 -1
  12. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationByFactorisation.d.ts.map +1 -1
  13. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationByFactorisation.js +169 -8
  14. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationEqualsC.d.ts +10 -0
  15. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationEqualsC.d.ts.map +1 -0
  16. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationEqualsC.js +146 -0
  17. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationFromCano.d.ts.map +1 -1
  18. package/lib/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationFromCano.js +73 -3
  19. package/lib/exercises/math/functions/trinoms/equation/trinomSelectEquationWithoutDeltaNeeded.d.ts +13 -0
  20. package/lib/exercises/math/functions/trinoms/equation/trinomSelectEquationWithoutDeltaNeeded.d.ts.map +1 -0
  21. package/lib/exercises/math/functions/trinoms/equation/trinomSelectEquationWithoutDeltaNeeded.js +204 -0
  22. package/lib/exercises/math/functions/trinoms/sign/index.d.ts +2 -0
  23. package/lib/exercises/math/functions/trinoms/sign/index.d.ts.map +1 -1
  24. package/lib/exercises/math/functions/trinoms/sign/index.js +2 -0
  25. package/lib/exercises/math/functions/trinoms/sign/parabolaSignTable.d.ts +9 -0
  26. package/lib/exercises/math/functions/trinoms/sign/parabolaSignTable.d.ts.map +1 -0
  27. package/lib/exercises/math/functions/trinoms/sign/parabolaSignTable.js +123 -0
  28. package/lib/exercises/math/functions/trinoms/sign/trinomSignTableFromAlgebraicForm.d.ts +13 -0
  29. package/lib/exercises/math/functions/trinoms/sign/trinomSignTableFromAlgebraicForm.d.ts.map +1 -0
  30. package/lib/exercises/math/functions/trinoms/sign/trinomSignTableFromAlgebraicForm.js +209 -0
  31. package/lib/exercises/math/probaStat/index.js +1 -0
  32. package/lib/exercises/math/probaStat/trees/index.d.ts +2 -0
  33. package/lib/exercises/math/probaStat/trees/index.d.ts.map +1 -0
  34. package/lib/exercises/math/probaStat/trees/index.js +1 -0
  35. package/lib/exercises/math/probaStat/trees/treeInInstruction.d.ts +8 -0
  36. package/lib/exercises/math/probaStat/trees/treeInInstruction.d.ts.map +1 -0
  37. package/lib/exercises/math/probaStat/trees/treeInInstruction.js +110 -0
  38. package/lib/exercises/math/sequences/arithmetic/arithmeticVariations.d.ts +13 -0
  39. package/lib/exercises/math/sequences/arithmetic/arithmeticVariations.d.ts.map +1 -0
  40. package/lib/exercises/math/sequences/arithmetic/arithmeticVariations.js +163 -0
  41. package/lib/exercises/math/sequences/arithmetic/index.d.ts +1 -0
  42. package/lib/exercises/math/sequences/arithmetic/index.d.ts.map +1 -1
  43. package/lib/exercises/math/sequences/arithmetic/index.js +1 -0
  44. package/lib/index.d.ts +37 -3
  45. package/lib/index.d.ts.map +1 -1
  46. package/lib/math/polynomials/trinom.d.ts +1 -1
  47. package/lib/math/polynomials/trinom.d.ts.map +1 -1
  48. package/lib/math/polynomials/trinom.js +5 -2
  49. package/lib/tree/nodes/numbers/constantNode.d.ts +1 -0
  50. package/lib/tree/nodes/numbers/constantNode.d.ts.map +1 -1
  51. package/lib/tree/nodes/numbers/constantNode.js +7 -0
  52. package/lib/tree/nodes/numbers/numberNode.d.ts +1 -0
  53. package/lib/tree/nodes/numbers/numberNode.d.ts.map +1 -1
  54. package/lib/tree/nodes/numbers/numberNode.js +7 -0
  55. 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" | "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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"}
@@ -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"}
@@ -1,15 +1,22 @@
1
- import { addValidProp, addWrongProp, } from "../../../../../exercises/exercise.js";
1
+ import { GeneratorOptionTarget, GeneratorOptionType, addValidProp, addWrongProp, } from "../../../../../exercises/exercise.js";
2
2
  import { getDistinctQuestions } from "../../../../../exercises/utils/getDistinctQuestions.js";
3
3
  import { Trinom, TrinomConstructor } from "../../../../../math/polynomials/trinom.js";
4
- import { coinFlip } from "../../../../../utils/alea/coinFlip.js";
4
+ import { random } from "../../../../../utils/alea/random.js";
5
5
  import { shuffle } from "../../../../../utils/alea/shuffle.js";
6
6
  const getInstruction = (identifiers) => {
7
- const { isDevForm, a, b, c } = identifiers;
7
+ const { isDevForm, a, b, c, form } = identifiers;
8
8
  const trinom = new Trinom(a, b, c);
9
+ //pour gérer les anciens IDS
10
+ const okForm = isDevForm === true ? "dev" : isDevForm === false ? "cano" : form;
11
+ const expr = okForm === "dev"
12
+ ? trinom.toTree().toTex()
13
+ : okForm === "cano"
14
+ ? trinom.getCanonicalForm().toTex()
15
+ : trinom.toFactorized().toTex();
9
16
  return `Soit $f$ la fonction définie sur $\\mathbb{R}$ par :
10
17
 
11
18
  $$
12
- f(x) = ${isDevForm ? trinom.toTree().toTex() : trinom.getCanonicalForm().toTex()}
19
+ f(x) = ${expr}
13
20
  $$
14
21
 
15
22
  Quel est le sens de variations de la fonction $f$ ?`;
@@ -20,22 +27,75 @@ const getAnswer = (identifiers) => {
20
27
  ? "Décroissante puis croissante"
21
28
  : "Croissante puis décroissante";
22
29
  };
23
- const getVariationsFromAlgebricFormQuestion = () => {
24
- const isDevForm = coinFlip();
25
- const trinom = isDevForm
30
+ const getHint = () => {
31
+ return `Les variations d'une fonction polynôme du second degré sont données par le signe de son coefficient $a$ :
32
+
33
+
34
+ - si $a>0$, alors la parabole représentant $f$ est "tournée vers le bas" : cela signifie que $f$ est décroissante puis croissante sur $\\mathbb{R}$.
35
+ - si $a<0$, alors la parabole représentant $f$ est "tournée vers le haut" : cela signifie que $f$ est croissante puis décroissante sur $\\mathbb{R}$.`;
36
+ };
37
+ const getCorrection = (identifiers) => {
38
+ const { a, form } = identifiers;
39
+ const abstractForm = form === "dev"
40
+ ? "ax^2 +bx+c"
41
+ : form === "facto"
42
+ ? "a(x-x_1)(x-x_2)"
43
+ : "a(x-\\alpha)^2+\\beta";
44
+ return `La fonction $f$ est un polynôme du second degré donnée sous forme ${form === "dev"
45
+ ? "développée"
46
+ : form === "facto"
47
+ ? "factorisée"
48
+ : "canonique"} :
49
+
50
+ $$
51
+ f(x) = ${abstractForm}
52
+ $$
53
+
54
+ Ici, on a donc $a = ${a.frenchify()}$.
55
+
56
+ On sait que :
57
+
58
+ - si $a>0$, alors la parabole représentant $f$ est "tournée vers le bas" : cela signifie que $f$ est décroissante puis croissante sur $\\mathbb{R}$.
59
+ - si $a<0$, alors la parabole représentant $f$ est "tournée vers le haut" : cela signifie que $f$ est croissante puis décroissante sur $\\mathbb{R}$.
60
+
61
+ Puisque $${a
62
+ .toTree()
63
+ .toSignInequationTex()}$, alors la fonction $f$ est ${getAnswer(identifiers).toLocaleLowerCase()} sur $\\mathbb{R}$.
64
+
65
+ `;
66
+ };
67
+ const getVariationsFromAlgebricFormQuestion = (opts) => {
68
+ const formalForm = opts?.form
69
+ ? random(opts.form)
70
+ : random(["Forme canonique", "Forme factorisée", "Forme développée"]);
71
+ const form = (() => {
72
+ switch (formalForm) {
73
+ case "Forme canonique":
74
+ return "cano";
75
+ case "Forme factorisée":
76
+ return "facto";
77
+ case "Forme développée":
78
+ default:
79
+ return "dev";
80
+ }
81
+ })();
82
+ const trinom = form === "dev"
26
83
  ? TrinomConstructor.random()
27
- : TrinomConstructor.randomCanonical();
28
- const identifiers = { isDevForm, a: trinom.a, b: trinom.b, c: trinom.c };
29
- return getQuestionFromIdentifiers(identifiers);
84
+ : form === "cano"
85
+ ? TrinomConstructor.randomCanonical()
86
+ : TrinomConstructor.randomNiceRoots();
87
+ const identifiers = { form, a: trinom.a, b: trinom.b, c: trinom.c };
88
+ return getQuestionFromIdentifiers(identifiers, opts);
30
89
  };
31
90
  const getQuestionFromIdentifiers = (identifiers) => {
32
- const question = {
91
+ return {
33
92
  answer: getAnswer(identifiers),
34
93
  instruction: getInstruction(identifiers),
35
94
  answerFormat: "raw",
36
95
  identifiers,
96
+ hint: getHint(identifiers),
97
+ correction: getCorrection(identifiers),
37
98
  };
38
- return question;
39
99
  };
40
100
  const getPropositions = (_n, { answer, a }) => {
41
101
  const propositions = [];
@@ -45,15 +105,27 @@ const getPropositions = (_n, { answer, a }) => {
45
105
  addWrongProp(propositions, "On ne peut pas savoir", "raw");
46
106
  return shuffle(propositions);
47
107
  };
108
+ const options = [
109
+ {
110
+ id: "form",
111
+ label: "Forme donnée",
112
+ target: GeneratorOptionTarget.generation,
113
+ type: GeneratorOptionType.multiselect,
114
+ values: ["Forme canonique", "Forme factorisée", "Forme développée"],
115
+ defaultValue: ["Forme canonique", "Forme factorisée", "Forme développée"],
116
+ },
117
+ ];
48
118
  export const variationsFromAlgebricForm = {
49
119
  id: "variationsFromAlgebricForm",
50
120
  label: "Déterminer les variations d'une fonction du second degré via sa forme algébrique",
51
121
  isSingleStep: true,
52
- generator: (nb) => getDistinctQuestions(getVariationsFromAlgebricFormQuestion, nb),
122
+ generator: (nb, opts) => getDistinctQuestions(() => getVariationsFromAlgebricFormQuestion(opts), nb),
53
123
  answerType: "QCU",
54
124
  qcmTimer: 60,
55
125
  freeTimer: 60,
56
126
  getPropositions,
57
127
  subject: "Mathématiques",
58
128
  getQuestionFromIdentifiers,
129
+ options,
130
+ hasHintAndCorrection: true,
59
131
  };
@@ -2,4 +2,6 @@ export * from "./deltaTrinom.js";
2
2
  export * from "./secondDegreeInequation.js";
3
3
  export * from "./solveSecondDegreeEquationByFactorisation.js";
4
4
  export * from "./solveSecondDegreeEquationFromCano.js";
5
+ export * from "./trinomSelectEquationWithoutDeltaNeeded.js";
6
+ export * from "./solveSecondDegreeEquationEqualsC.js";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/equation/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/equation/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC"}
@@ -2,3 +2,5 @@ export * from "./deltaTrinom.js";
2
2
  export * from "./secondDegreeInequation.js";
3
3
  export * from "./solveSecondDegreeEquationByFactorisation.js";
4
4
  export * from "./solveSecondDegreeEquationFromCano.js";
5
+ export * from "./trinomSelectEquationWithoutDeltaNeeded.js";
6
+ export * from "./solveSecondDegreeEquationEqualsC.js";
@@ -4,6 +4,9 @@ type Identifiers = {
4
4
  b: number;
5
5
  type: number;
6
6
  };
7
- export declare const solveSecondDegreeEquationByFactorisation: Exercise<Identifiers>;
7
+ type Options = {
8
+ factoType: string[];
9
+ };
10
+ export declare const solveSecondDegreeEquationByFactorisation: Exercise<Identifiers, Options>;
8
11
  export {};
9
12
  //# sourceMappingURL=solveSecondDegreeEquationByFactorisation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"solveSecondDegreeEquationByFactorisation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationByFactorisation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAarC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAoHF,eAAO,MAAM,wCAAwC,EAAE,QAAQ,CAAC,WAAW,CAgB1E,CAAC"}
1
+ {"version":3,"file":"solveSecondDegreeEquationByFactorisation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationByFactorisation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAkBrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AA8PF,KAAK,OAAO,GAAG;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAsBF,eAAO,MAAM,wCAAwC,EAAE,QAAQ,CAC7D,WAAW,EACX,OAAO,CA2BR,CAAC"}
@@ -1,14 +1,19 @@
1
- import { addValidProp, shuffleProps, tryToAddWrongProp, propWhile, } from "../../../../../exercises/exercise.js";
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, propWhile, GeneratorOptionTarget, GeneratorOptionType, } from "../../../../../exercises/exercise.js";
2
2
  import { getDistinctQuestions } from "../../../../../exercises/utils/getDistinctQuestions.js";
3
3
  import { equationKeys } from "../../../../../exercises/utils/keys/equationKeys.js";
4
4
  import { Trinom } from "../../../../../math/polynomials/trinom.js";
5
5
  import { randint } from "../../../../../math/utils/random/randint.js";
6
6
  import { equal } from "../../../../../tree/nodes/equations/equalNode.js";
7
7
  import { EquationSolutionNode } from "../../../../../tree/nodes/equations/equationSolutionNode.js";
8
+ import { add } from "../../../../../tree/nodes/operators/addNode.js";
8
9
  import { frac } from "../../../../../tree/nodes/operators/fractionNode.js";
10
+ import { multiply } from "../../../../../tree/nodes/operators/multiplyNode.js";
11
+ import { square } from "../../../../../tree/nodes/operators/powerNode.js";
12
+ import { substract } from "../../../../../tree/nodes/operators/substractNode.js";
9
13
  import { DiscreteSetNode, set } from "../../../../../tree/nodes/sets/discreteSetNode.js";
10
14
  import { discreteSetParser } from "../../../../../tree/parsers/discreteSetParser.js";
11
15
  import { coinFlip } from "../../../../../utils/alea/coinFlip.js";
16
+ import { random } from "../../../../../utils/alea/random.js";
12
17
  import { handleVEAError } from "../../../../../utils/errors/handleVEAError.js";
13
18
  /**
14
19
  * Equation donnée sous forme ax^2 + bx ou bien forme développée d'une identité remarquable
@@ -35,6 +40,112 @@ const getStatementNode = (identifiers) => {
35
40
  return new Trinom(a ** 2, 0, -(b ** 2)).toTex();
36
41
  }
37
42
  };
43
+ const getHint = (identifiers) => {
44
+ const { type } = identifiers;
45
+ switch (type) {
46
+ case 1:
47
+ return `Factorise l'expression par $x$. Puis, il faut résoudre une équation produit nul : un produit est nul si et seulement si un des deux facteurs est nul.`;
48
+ case 2:
49
+ return `On peut factoriser cette expression en utilisant une identité remarquable du type $(ax+b)^2$.`;
50
+ case 3:
51
+ return `On peut factoriser cette expression en utilisant une identité remarquable du type $(ax-b)^2$.`;
52
+ case 4:
53
+ default:
54
+ return `On peut factoriser cette expression en utilisant une identité remarquable du type $(ax+b)(ax-b)$.`;
55
+ }
56
+ };
57
+ const getCorrection = (identifiers) => {
58
+ const { type, a, b } = identifiers;
59
+ switch (type) {
60
+ case 1:
61
+ return `On remarque qu'on peut factoriser par $x$ :
62
+
63
+ $$
64
+ ${getStatementNode(identifiers)} = x(${add(multiply(a, "x"), b).toTex()})
65
+ $$
66
+
67
+ Résoudre $f(x)=0$ revient donc à résoudre une équation produit nul. Les solutions sont :
68
+
69
+ $$
70
+ x = 0
71
+ $$
72
+
73
+ ou
74
+
75
+ $$
76
+ ${add(multiply(a, "x"), b).toTex()} = 0 \\iff x = ${frac(-b, a)
77
+ .simplify()
78
+ .toTex()}
79
+ $$
80
+
81
+ L'ensemble des solutions de $f(x) = 0$ est donc :
82
+
83
+ $$
84
+ ${getAnswer(identifiers)}
85
+ $$`;
86
+ case 2:
87
+ return `On remarque qu'on peut factoriser en utilisant l'identité remarquable $(a+b)^2 = a^2 + 2ab+b^2$ :
88
+
89
+ $$
90
+ ${getStatementNode(identifiers)} = ${square(add(multiply(a, "x"), b)).toTex()}
91
+ $$
92
+
93
+ On doit donc résoudre l'équation $${square(add(multiply(a, "x"), b)).toTex()} = 0$.
94
+
95
+ L'unique solution est $${frac(-b, a).simplify().toTex()}$.
96
+
97
+ L'ensemble des solutions de $f(x) = 0$ est donc :
98
+
99
+ $$
100
+ ${getAnswer(identifiers)}
101
+ $$`;
102
+ case 3:
103
+ return `On remarque qu'on peut factoriser en utilisant l'identité remarquable $(a-b)^2 = a^2 - 2ab+b^2$ :
104
+
105
+ $$
106
+ ${getStatementNode(identifiers)} = ${square(substract(multiply(a, "x"), b)).toTex()}
107
+ $$
108
+
109
+ On doit donc résoudre l'équation $${square(substract(multiply(a, "x"), b)).toTex()} = 0$.
110
+
111
+ L'unique solution est $${frac(b, a).simplify().toTex()}$.
112
+
113
+ L'ensemble des solutions de $f(x) = 0$ est donc :
114
+
115
+ $$
116
+ ${getAnswer(identifiers)}
117
+ $$`;
118
+ case 4:
119
+ default:
120
+ return `On remarque qu'on peut factoriser en utilisant l'identité remarquable $(a+b)(a-b) = a^2 - b^2$ :
121
+
122
+ $$
123
+ ${getStatementNode(identifiers)} = ${multiply(add(multiply(a, "x"), b), substract(multiply(a, "x"), b)).toTex()}
124
+ $$
125
+
126
+ Résoudre $f(x)=0$ revient donc à résoudre une équation produit nul. Les solutions sont :
127
+
128
+ $$
129
+ ${add(multiply(a, "x"), b).toTex()}=0 \\iff x = x = ${frac(-b, a)
130
+ .simplify()
131
+ .toTex()}
132
+ $$
133
+
134
+ ou
135
+
136
+ $$
137
+ ${substract(multiply(a, "x"), b).toTex()} = 0 \\iff x = ${frac(b, a)
138
+ .simplify()
139
+ .toTex()}
140
+ $$
141
+
142
+ L'ensemble des solutions de $f(x) = 0$ est donc :
143
+
144
+ $$
145
+ ${getAnswer(identifiers)}
146
+ $$`;
147
+ }
148
+ };
38
149
  const getInstruction = (identifiers) => {
39
150
  const instruction = `Soit $f$ la fonction définie par :
40
151
 
@@ -65,22 +176,42 @@ const getAnswer = (identifiers) => {
65
176
  }
66
177
  return equal("S", roots).toTex();
67
178
  };
68
- const getSolveSecondDegreeEquationByFactorisationQuestion = () => {
69
- const type = randint(1, 4);
70
- const a = randint(-9, 10, [0]);
71
- const b = randint([2, 4].includes(type) ? 1 : -9, 10, [0]);
179
+ const getSolveSecondDegreeEquationByFactorisationQuestion = (opts) => {
180
+ const types = opts?.factoType ?? [
181
+ "Factorisation par $x$",
182
+ "Identité remarquable $(a+b)^2$",
183
+ "Identité remarquable $(a-b)^2$",
184
+ "Identité remarquable $(a+b)(a-b)$",
185
+ ];
186
+ const formalType = random(types);
187
+ const type = (() => {
188
+ switch (formalType) {
189
+ case "Factorisation par $x$":
190
+ return 1;
191
+ case "Identité remarquable $(a+b)^2$":
192
+ return 2;
193
+ case "Identité remarquable $(a-b)^2$":
194
+ return 3;
195
+ case "Identité remarquable $(a+b)(a-b)$":
196
+ default:
197
+ return 4;
198
+ }
199
+ })();
200
+ const a = randint(type === 1 ? -9 : 1, 10, [0]);
201
+ const b = randint(type === 1 ? -9 : 1, 10, [0]);
72
202
  const identifiers = { a, b, type };
73
203
  return getQuestionFromIdentifiers(identifiers);
74
204
  };
75
205
  const getQuestionFromIdentifiers = (identifiers) => {
76
- const question = {
206
+ return {
77
207
  answer: getAnswer(identifiers),
78
208
  instruction: getInstruction(identifiers),
79
209
  keys: [...equationKeys],
80
210
  answerFormat: "tex",
81
211
  identifiers,
212
+ hint: getHint(identifiers),
213
+ correction: getCorrection(identifiers),
82
214
  };
83
- return question;
84
215
  };
85
216
  const getPropositions = (n, { answer }) => {
86
217
  const propositions = [];
@@ -106,16 +237,46 @@ const isAnswerValid = (ans, { answer }) => {
106
237
  return handleVEAError(err);
107
238
  }
108
239
  };
240
+ const options = [
241
+ {
242
+ id: "factoType",
243
+ label: "Type de forme",
244
+ target: GeneratorOptionTarget.generation,
245
+ type: GeneratorOptionType.multiselect,
246
+ values: [
247
+ "Factorisation par $x$",
248
+ "Identité remarquable $(a+b)^2$",
249
+ "Identité remarquable $(a-b)^2$",
250
+ "Identité remarquable $(a+b)(a-b)$",
251
+ ],
252
+ defaultValue: [
253
+ "Factorisation par $x$",
254
+ "Identité remarquable $(a+b)^2$",
255
+ "Identité remarquable $(a-b)^2$",
256
+ "Identité remarquable $(a+b)(a-b)$",
257
+ ],
258
+ },
259
+ ];
109
260
  export const solveSecondDegreeEquationByFactorisation = {
110
261
  id: "solveSecondDegreeEquationByFactorisation",
111
262
  connector: "\\iff",
112
263
  label: "Résoudre une équation du second degré par factorisation",
113
264
  isSingleStep: true,
114
- generator: (nb) => getDistinctQuestions(getSolveSecondDegreeEquationByFactorisationQuestion, nb),
265
+ generator: (nb, opts) => getDistinctQuestions(() => getSolveSecondDegreeEquationByFactorisationQuestion(opts), nb),
115
266
  qcmTimer: 60,
116
267
  freeTimer: 60,
117
268
  getPropositions,
118
269
  isAnswerValid,
119
270
  subject: "Mathématiques",
271
+ hasHintAndCorrection: true,
120
272
  getQuestionFromIdentifiers,
273
+ options,
274
+ validateOptions: (opts) => {
275
+ if (!opts?.factoType?.length)
276
+ return {
277
+ valid: false,
278
+ message: "Veuillez choisir au moins un type de forme.",
279
+ };
280
+ return { valid: true, message: "" };
281
+ },
121
282
  };
@@ -0,0 +1,10 @@
1
+ import { Exercise } from "../../../../../exercises/exercise.js";
2
+ import { NodeIdentifiers } from "../../../../../tree/nodes/nodeConstructor.js";
3
+ type Identifiers = {
4
+ aIds: NodeIdentifiers;
5
+ bIds: NodeIdentifiers;
6
+ cIds: NodeIdentifiers;
7
+ };
8
+ export declare const solveSecondDegreeEquationEqualsC: Exercise<Identifiers>;
9
+ export {};
10
+ //# sourceMappingURL=solveSecondDegreeEquationEqualsC.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solveSecondDegreeEquationEqualsC.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/functions/trinoms/equation/solveSecondDegreeEquationEqualsC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAU7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AA0IF,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,WAAW,CAsBlE,CAAC"}