math-exercises 2.0.23 → 2.0.24
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.
- package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +2 -2
- package/lib/exercises/calculLitteral/equation/fractionEquation.js +2 -2
- package/lib/exercises/functions/absolute/absoluteValueEquations.js +3 -3
- package/lib/exercises/functions/absolute/absoluteValueInequations.js +1 -1
- package/lib/exercises/functions/basics/graphicEquation.js +1 -1
- package/lib/exercises/functions/basics/graphicInequation.js +1 -1
- package/lib/exercises/functions/trinoms/niceRootsFromDevForm.js +2 -2
- package/lib/exercises/functions/trinoms/rootsFromDevForm.js +2 -2
- package/lib/exercises/functions/trinoms/rootsFromFactorizedForm.js +1 -1
- package/lib/exercises/functions/trinoms/secondDegreeInequation.js +1 -1
- package/lib/exercises/sets/intervals/intervalsIntersection.js +1 -1
- package/lib/exercises/sets/setBelonging.js +1 -1
- package/lib/exercises/squareRoots/squareRootEquation.js +3 -3
- package/lib/exercises/utils/keys/equationKeys.js +1 -1
- package/lib/exercises/utils/keys/inequationKeys.js +1 -1
- package/lib/math/polynomials/trinom.js +1 -1
- package/lib/math/sets/emptySet.js +1 -1
- package/lib/math/sets/intervals/intervals.js +1 -1
- package/lib/tree/nodes/sets/discreteSetNode.js +1 -1
- package/lib/types/keyIds.d.ts +1 -1
- package/lib/types/keyIds.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -77,7 +77,7 @@ const getPropositions = (n, { answer, randNbr }) => {
|
|
|
77
77
|
const tempAns = sqrt + (0, randint_1.randint)(-sqrt + 1, 7, [0]);
|
|
78
78
|
(0, exercise_1.tryToAddWrongProp)(propositions, (0, coinFlip_1.coinFlip)()
|
|
79
79
|
? `S=\\left\\{-${tempAns};${tempAns}\\right\\}`
|
|
80
|
-
: `S=\\
|
|
80
|
+
: `S=\\varnothing`);
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
else {
|
|
@@ -92,7 +92,7 @@ const getPropositions = (n, { answer, randNbr }) => {
|
|
|
92
92
|
const tempRadicand = radicand + (0, randint_1.randint)(-radicand + 1, 7, [0]);
|
|
93
93
|
(0, exercise_1.tryToAddWrongProp)(propositions, (0, coinFlip_1.coinFlip)()
|
|
94
94
|
? `S=\\left\\{-${tempFactor}\\sqrt{${tempRadicand}};${tempFactor}\\sqrt{${tempRadicand}}\\right\\}`
|
|
95
|
-
: `S=\\
|
|
95
|
+
: `S=\\varnothing`);
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
@@ -18,7 +18,7 @@ const getFractionEquation = () => {
|
|
|
18
18
|
const polynome1 = new polynomial_1.Polynomial([b, a]);
|
|
19
19
|
const polynome2 = new polynomial_1.Polynomial([d, c]);
|
|
20
20
|
const answer = -d / c === -b / a
|
|
21
|
-
? `S=\\
|
|
21
|
+
? `S=\\varnothing`
|
|
22
22
|
: `S=\\left\\{${new rational_1.Rational(-b, a)
|
|
23
23
|
.simplify()
|
|
24
24
|
.toTree()
|
|
@@ -35,7 +35,7 @@ const getFractionEquation = () => {
|
|
|
35
35
|
"rbrace",
|
|
36
36
|
"semicolon",
|
|
37
37
|
"ou",
|
|
38
|
-
"
|
|
38
|
+
"varnothing",
|
|
39
39
|
],
|
|
40
40
|
answerFormat: "tex",
|
|
41
41
|
identifiers: { a, b, c, d },
|
|
@@ -18,12 +18,12 @@ const getAbsoluteValueEquationsQuestion = () => {
|
|
|
18
18
|
const answer = a === 0
|
|
19
19
|
? `S=\\left\\{${b}\\right\\}`
|
|
20
20
|
: a < 0
|
|
21
|
-
? `S=\\
|
|
21
|
+
? `S=\\varnothing`
|
|
22
22
|
: `S=\\left\\{${b - a};${b + a}\\right\\}`;
|
|
23
23
|
const question = {
|
|
24
24
|
answer: answer,
|
|
25
25
|
instruction: `Résoudre l'équation $|${poly.toTree().toTex()}| = ${a}$.`,
|
|
26
|
-
keys: ["S", "equal", "
|
|
26
|
+
keys: ["S", "equal", "varnothing", "lbrace", "semicolon", "rbrace"],
|
|
27
27
|
answerFormat: "tex",
|
|
28
28
|
identifiers: { a, b },
|
|
29
29
|
};
|
|
@@ -37,7 +37,7 @@ const getPropositions = (n, { answer, a, b }) => {
|
|
|
37
37
|
(0, exercise_1.tryToAddWrongProp)(propositions, `S=\\left\\{${b + a}\\right\\}`);
|
|
38
38
|
}
|
|
39
39
|
else if (a === 0) {
|
|
40
|
-
(0, exercise_1.tryToAddWrongProp)(propositions, `S=\\
|
|
40
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, `S=\\varnothing`);
|
|
41
41
|
}
|
|
42
42
|
else if (a > 0) {
|
|
43
43
|
(0, exercise_1.tryToAddWrongProp)(propositions, `S=\\left\\{${b + a}\\right\\}`);
|
|
@@ -73,7 +73,7 @@ const getGraphicEquationQuestion = () => {
|
|
|
73
73
|
const getPropositions = (n, { answer }) => {
|
|
74
74
|
const propositions = [];
|
|
75
75
|
(0, exercise_1.addValidProp)(propositions, answer);
|
|
76
|
-
(0, exercise_1.tryToAddWrongProp)(propositions, `S=\\
|
|
76
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, `S=\\varnothing`);
|
|
77
77
|
while (propositions.length < n) {
|
|
78
78
|
const nbs = [];
|
|
79
79
|
const nbSol = (0, randint_1.randint)(2, 4);
|
|
@@ -114,7 +114,7 @@ const getGraphicInequationQuestion = () => {
|
|
|
114
114
|
const getPropositions = (n, { answer, intervals, splinePoints, yValue }) => {
|
|
115
115
|
const propositions = [];
|
|
116
116
|
(0, exercise_1.addValidProp)(propositions, answer);
|
|
117
|
-
(0, exercise_1.tryToAddWrongProp)(propositions, `S=\\
|
|
117
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, `S=\\varnothing`);
|
|
118
118
|
(0, exercise_1.tryToAddWrongProp)(propositions, `S=${new intervalNode_1.IntervalNode(new numberNode_1.NumberNode(splinePoints[0][0]), new numberNode_1.NumberNode(yValue), intervalNode_1.ClosureType.FF).toTex()}`);
|
|
119
119
|
while (propositions.length < n) {
|
|
120
120
|
const a = (0, randint_1.randint)(-9, 3);
|
|
@@ -16,7 +16,7 @@ const getRootsFromDevFormQuestion = () => {
|
|
|
16
16
|
instruction: `Soit $f(x) = ${trinom
|
|
17
17
|
.toTree()
|
|
18
18
|
.toTex()}$. Résoudre l'équation $f(x) = 0$.`,
|
|
19
|
-
keys: ["S", "equal", "lbrace", "semicolon", "rbrace", "
|
|
19
|
+
keys: ["S", "equal", "lbrace", "semicolon", "rbrace", "varnothing"],
|
|
20
20
|
identifiers: { a: trinom.a, b: trinom.b, c: trinom.c },
|
|
21
21
|
answerFormat: "tex",
|
|
22
22
|
};
|
|
@@ -25,7 +25,7 @@ const getRootsFromDevFormQuestion = () => {
|
|
|
25
25
|
const getPropositions = (n, { answer }) => {
|
|
26
26
|
const propositions = [];
|
|
27
27
|
(0, exercise_1.addValidProp)(propositions, answer);
|
|
28
|
-
(0, exercise_1.tryToAddWrongProp)(propositions, "S=\\
|
|
28
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, "S=\\varnothing");
|
|
29
29
|
while (propositions.length < n) {
|
|
30
30
|
let wrongX1 = (0, randint_1.randint)(-19, 0);
|
|
31
31
|
let wrongX2 = (0, randint_1.randint)(0, 20);
|
|
@@ -16,7 +16,7 @@ const getRootsFromDevFormQuestion = () => {
|
|
|
16
16
|
instruction: `Soit $f(x) = ${trinom
|
|
17
17
|
.toTree()
|
|
18
18
|
.toTex()}$. Résoudre l'équation $f(x) = 0$.`,
|
|
19
|
-
keys: ["S", "equal", "lbrace", "semicolon", "rbrace", "
|
|
19
|
+
keys: ["S", "equal", "lbrace", "semicolon", "rbrace", "varnothing"],
|
|
20
20
|
answerFormat: "tex",
|
|
21
21
|
identifiers: { a: trinom.a, b: trinom.b, c: trinom.c },
|
|
22
22
|
};
|
|
@@ -25,7 +25,7 @@ const getRootsFromDevFormQuestion = () => {
|
|
|
25
25
|
const getPropositions = (n, { answer }) => {
|
|
26
26
|
const propositions = [];
|
|
27
27
|
(0, exercise_1.addValidProp)(propositions, answer);
|
|
28
|
-
(0, exercise_1.tryToAddWrongProp)(propositions, "S=\\
|
|
28
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, "S=\\varnothing");
|
|
29
29
|
while (propositions.length < n) {
|
|
30
30
|
let wrongX1 = (0, randint_1.randint)(-19, 0);
|
|
31
31
|
let wrongX2 = (0, randint_1.randint)(0, 20);
|
|
@@ -18,7 +18,7 @@ const getRootsFromFactorizedFormQuestion = () => {
|
|
|
18
18
|
instruction: `Soit $f(x) = ${trinom
|
|
19
19
|
.getFactorizedForm()
|
|
20
20
|
.toTex()}$. Résoudre l'équation $f(x) = 0$.`,
|
|
21
|
-
keys: ["S", "equal", "lbrace", "semicolon", "rbrace", "
|
|
21
|
+
keys: ["S", "equal", "lbrace", "semicolon", "rbrace", "varnothing"],
|
|
22
22
|
answerFormat: "tex",
|
|
23
23
|
identifiers: { a: trinom.a, b: trinom.b, c: trinom.c },
|
|
24
24
|
};
|
|
@@ -10,11 +10,11 @@ const discreteSetNode_1 = require("../../tree/nodes/sets/discreteSetNode");
|
|
|
10
10
|
const shuffle_1 = require("../../utils/shuffle");
|
|
11
11
|
const getSquareRootEquationQuestion = () => {
|
|
12
12
|
const k = Math.random() < 0.2 ? (0, randint_1.randint)(-20, 0) : (0, randint_1.randint)(0, 11);
|
|
13
|
-
const answer = k < 0 ? "S=\\
|
|
13
|
+
const answer = k < 0 ? "S=\\varnothing" : `S=\\left\\{${k ** 2}\\right\\}`;
|
|
14
14
|
const question = {
|
|
15
15
|
answer: answer,
|
|
16
16
|
instruction: `Résoudre l'équation suivante : $\\sqrt x = ${k}$`,
|
|
17
|
-
keys: ["S", "equal", "lbrace", "semicolon", "rbrace", "
|
|
17
|
+
keys: ["S", "equal", "lbrace", "semicolon", "rbrace", "varnothing"],
|
|
18
18
|
answerFormat: "tex",
|
|
19
19
|
identifiers: { k },
|
|
20
20
|
};
|
|
@@ -24,7 +24,7 @@ const getPropositions = (n, { answer, k }) => {
|
|
|
24
24
|
const propositions = [];
|
|
25
25
|
(0, exercise_1.addValidProp)(propositions, answer);
|
|
26
26
|
if (k >= 0)
|
|
27
|
-
(0, exercise_1.tryToAddWrongProp)(propositions, "S=\\
|
|
27
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, "S=\\varnothing");
|
|
28
28
|
if (Math.sqrt(k) !== k ** 2)
|
|
29
29
|
(0, exercise_1.tryToAddWrongProp)(propositions, `S=\\left\\{\\sqrt{${k}}\\right\\}`);
|
|
30
30
|
while (propositions.length < n) {
|
|
@@ -119,7 +119,7 @@ class Trinom extends polynomial_1.Polynomial {
|
|
|
119
119
|
getRootsEquationSolutionTex() {
|
|
120
120
|
const roots = this.getRootsNode();
|
|
121
121
|
if (!roots.length)
|
|
122
|
-
return `S=\\
|
|
122
|
+
return `S=\\varnothing`;
|
|
123
123
|
if (roots.length === 1)
|
|
124
124
|
return `S=\\left\\{${roots[0].toTex()}\\right\\}`;
|
|
125
125
|
return `S=\\left\\{${roots[0].toTex()};${roots[1].toTex()}\\right\\}`;
|
|
@@ -170,7 +170,7 @@ class Interval {
|
|
|
170
170
|
(this.rightBracket === "[" || interval.leftBracket === "]")) ||
|
|
171
171
|
(a === d && (interval.rightBracket === "[" || this.leftBracket === "]"));
|
|
172
172
|
if (isDisjoint) {
|
|
173
|
-
return new mathSet_1.MathSet("\\
|
|
173
|
+
return new mathSet_1.MathSet("\\varnothing", () => null);
|
|
174
174
|
}
|
|
175
175
|
const winningLeftBracket = (brack1, brack2) => brack1 === "]" || brack2 === "]" ? "]" : "[";
|
|
176
176
|
const winningRightBracket = (brack1, brack2) => brack1 === "[" || brack2 === "[" ? "[" : "]";
|
package/lib/types/keyIds.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export type KeyId =
|
|
|
10
10
|
/**operations */
|
|
11
11
|
| "plus" | "minus" | "times" | "frac" | "obelus" | "sqrt" | "sqrtCub" | "square" | "cube" | "power" | "percent" | "leftParenthesis" | "rightParenthesis" | "equal" | "comma" | "semicolon" | "dot" | "sup" | "inf" | "geq" | "leq" | "approx" | "xsquare" | "xcube"
|
|
12
12
|
/**sets */
|
|
13
|
-
| "belongs" | "notin" | "cap" | "cup" | "lbrace" | "rbrace" | "lbracket" | "rbracket" | "
|
|
13
|
+
| "belongs" | "notin" | "cap" | "cup" | "lbrace" | "rbrace" | "lbracket" | "rbracket" | "varnothing" | "naturals" | "integers" | "rationals" | "decimals" | "reals" | "complex" | "ast" | "del" | "right" | "left" | "rightarrow" | "overrightarrow" | "infty"
|
|
14
14
|
/**fcts */
|
|
15
15
|
| "log" | "ln" | "exp" | "epower" | "sin" | "cos" | "tan" | "arccos" | "arcsin" | "arctan" | "abs" | "fx"
|
|
16
16
|
/**sequences */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyIds.d.ts","sourceRoot":"","sources":["../../src/types/keyIds.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK;AACf,WAAW;AACT,IAAI,GACJ,KAAK,GACL,SAAS,GACT,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,IAAI;AAEN,aAAa;GACX,QAAQ,GACR,OAAO,GACP,MAAM,GACN,YAAY,GACZ,KAAK,GACL,OAAO,GACP,QAAQ,GACR,KAAK;AAEP,WAAW;GACT,IAAI,GACJ,IAAI,GACJ,OAAO;AAET,cAAc;GACZ,gBAAgB,GAChB,QAAQ,GACR,SAAS;AAEX,gBAAgB;GACd,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,GACN,SAAS,GACT,QAAQ,GACR,MAAM,GACN,OAAO,GACP,SAAS,GACT,iBAAiB,GACjB,kBAAkB,GAClB,OAAO,GACP,OAAO,GACP,WAAW,GACX,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,QAAQ,GACR,SAAS,GACT,OAAO;AAET,UAAU;GACR,SAAS,GACT,OAAO,GACP,KAAK,GACL,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,UAAU,GACV,
|
|
1
|
+
{"version":3,"file":"keyIds.d.ts","sourceRoot":"","sources":["../../src/types/keyIds.ts"],"names":[],"mappings":"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"}
|