math-exercises 1.2.6 → 1.2.8
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/package.json +1 -1
- package/src/exercises/calcul/addAndSub.js +1 -1
- package/src/exercises/calcul/fractions/fractionAndIntegerDivision.js +1 -1
- package/src/exercises/calcul/fractions/fractionAndIntegerDivision.ts +0 -2
- package/src/exercises/calcul/fractions/fractionAndIntegerProduct.js +1 -1
- package/src/exercises/calcul/fractions/fractionAndIntegerSum.js +1 -1
- package/src/exercises/calcul/fractions/fractionsDivision.js +1 -1
- package/src/exercises/calcul/fractions/fractionsProduct.js +1 -1
- package/src/exercises/calcul/fractions/fractionsSum.js +1 -1
- package/src/exercises/calcul/fractions/simplifyFraction.js +1 -1
- package/src/exercises/calcul/operationsPriorities.js +1 -1
- package/src/exercises/calcul/rounding/{roundToUnit.js → rounding.js} +23 -6
- package/src/exercises/calcul/rounding/{roundToUnit.ts → rounding.ts} +23 -4
- package/src/exercises/calculLitteral/distributivity/doubleDistributivity.js +1 -1
- package/src/exercises/calculLitteral/distributivity/firstIdentity.js +1 -1
- package/src/exercises/calculLitteral/distributivity/secondIdentity.js +1 -1
- package/src/exercises/calculLitteral/distributivity/simpleDistributivity.js +1 -1
- package/src/exercises/calculLitteral/distributivity/thirdIdentity.js +1 -1
- package/src/exercises/calculLitteral/equation/equationType1Exercise.js +1 -1
- package/src/exercises/calculLitteral/equation/equationType2Exercise.js +1 -1
- package/src/exercises/calculLitteral/equation/equationType3Exercise.js +1 -1
- package/src/exercises/calculLitteral/equation/equationType4Exercise.js +1 -1
- package/src/exercises/calculLitteral/factorisation/factoType1Exercise.js +1 -1
- package/src/exercises/exercise.ts +1 -4
- package/src/exercises/exercises.js +8 -6
- package/src/exercises/exercises.ts +10 -7
- package/src/exercises/powers/powersDivision.js +1 -1
- package/src/exercises/powers/powersOfTenToDecimal.js +1 -1
- package/src/exercises/powers/powersPower.js +1 -1
- package/src/exercises/powers/powersProduct.js +1 -1
- package/src/exercises/powers/scientificToDecimal.js +1 -1
- package/src/exercises/squareRoots/simpifySquareRoot.js +1 -1
- package/src/exercises/utils/getDistinctQuestions.js +1 -1
- package/src/index.js +0 -8
- package/src/index.ts +0 -1
- package/src/numbers/decimals/decimal.js +1 -1
- package/src/numbers/decimals/decimal.ts +1 -1
- package/src/tree/parsers/derivateParser.js +1 -2
- package/src/exercises/calculLitteral/reduction.ts +0 -27
package/package.json
CHANGED
|
@@ -32,7 +32,7 @@ function getAddAndSubQuestions() {
|
|
|
32
32
|
}
|
|
33
33
|
var answer = numbers.reduce(function (a, b) { return a + b; }) + "";
|
|
34
34
|
var question = {
|
|
35
|
-
|
|
35
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
36
36
|
answer: answer
|
|
37
37
|
};
|
|
38
38
|
return question;
|
|
@@ -27,7 +27,7 @@ function getFractionAndIntegerDivision() {
|
|
|
27
27
|
: new divideNode_1.DivideNode(rational.toTree(), integer.toTree());
|
|
28
28
|
var answerTree = integerFirst ? integer.divide(rational).toTree() : rational.divide(integer).toTree();
|
|
29
29
|
var question = {
|
|
30
|
-
|
|
30
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
31
31
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
32
32
|
};
|
|
33
33
|
return question;
|
|
@@ -2,9 +2,7 @@ import { randint } from "../../../mathutils/random/randint";
|
|
|
2
2
|
import { Integer } from "../../../numbers/integer/integer";
|
|
3
3
|
import { RationalConstructor } from "../../../numbers/rationals/rational";
|
|
4
4
|
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
5
|
-
import { AddNode } from "../../../tree/nodes/operators/addNode";
|
|
6
5
|
import { DivideNode } from "../../../tree/nodes/operators/divideNode";
|
|
7
|
-
import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode";
|
|
8
6
|
import { random } from "../../../utils/random";
|
|
9
7
|
import { Exercise, Question } from "../../exercise";
|
|
10
8
|
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
@@ -23,7 +23,7 @@ function getFractionAndIntegerProduct() {
|
|
|
23
23
|
var statementTree = new multiplyNode_1.MultiplyNode(rational.toTree(), integer.toTree()).shuffle();
|
|
24
24
|
var answerTree = rational.multiply(integer).toTree();
|
|
25
25
|
var question = {
|
|
26
|
-
|
|
26
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
27
27
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
28
28
|
};
|
|
29
29
|
return question;
|
|
@@ -24,7 +24,7 @@ function getFractionAndIntegerSum() {
|
|
|
24
24
|
statementTree.shuffle();
|
|
25
25
|
var answerTree = rational.add(integer).toTree();
|
|
26
26
|
var question = {
|
|
27
|
-
|
|
27
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
28
28
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
29
29
|
};
|
|
30
30
|
return question;
|
|
@@ -21,7 +21,7 @@ function getFractionsDivision() {
|
|
|
21
21
|
var statementTree = new divideNode_1.DivideNode(rational.toTree(), rational2.toTree());
|
|
22
22
|
var answerTree = rational.divide(rational2).toTree();
|
|
23
23
|
var question = {
|
|
24
|
-
|
|
24
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
25
25
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
26
26
|
};
|
|
27
27
|
return question;
|
|
@@ -21,7 +21,7 @@ function getFractionsProduct() {
|
|
|
21
21
|
var statementTree = new multiplyNode_1.MultiplyNode(rational.toTree(), rational2.toTree());
|
|
22
22
|
var answerTree = rational.multiply(rational2).toTree();
|
|
23
23
|
var question = {
|
|
24
|
-
|
|
24
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
25
25
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
26
26
|
};
|
|
27
27
|
return question;
|
|
@@ -21,7 +21,7 @@ function getFractionsSum() {
|
|
|
21
21
|
var statementTree = new addNode_1.AddNode(rational.toTree(), rational2.toTree());
|
|
22
22
|
var answerTree = rational.add(rational2).toTree();
|
|
23
23
|
var question = {
|
|
24
|
-
|
|
24
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
25
25
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
26
26
|
};
|
|
27
27
|
return question;
|
|
@@ -17,7 +17,7 @@ exports.simplifyFraction = {
|
|
|
17
17
|
function getSimplifyFraction() {
|
|
18
18
|
var rational = rational_1.RationalConstructor.randomSimplifiable(10);
|
|
19
19
|
var question = {
|
|
20
|
-
|
|
20
|
+
startStatement: (0, latexParser_1.latexParser)(rational.toTree()),
|
|
21
21
|
answer: (0, latexParser_1.latexParser)(rational.simplify().toTree())
|
|
22
22
|
};
|
|
23
23
|
return question;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
exports.__esModule = true;
|
|
3
|
-
exports.getRoundQuestions = exports.roundToMillieme = exports.roundToCentieme = exports.
|
|
3
|
+
exports.getRoundQuestions = exports.allRoundings = exports.roundToMillieme = exports.roundToCentieme = exports.roundToDixieme = exports.roundToUnit = void 0;
|
|
4
4
|
var randint_1 = require("../../../mathutils/random/randint");
|
|
5
5
|
var decimal_1 = require("../../../numbers/decimals/decimal");
|
|
6
6
|
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
@@ -21,11 +21,11 @@ exports.roundToUnit = {
|
|
|
21
21
|
/**
|
|
22
22
|
* arrondi à l'unité
|
|
23
23
|
*/
|
|
24
|
-
exports.
|
|
25
|
-
id: "
|
|
24
|
+
exports.roundToDixieme = {
|
|
25
|
+
id: "roundToDixieme",
|
|
26
26
|
connector: "\\approx",
|
|
27
|
-
instruction: "Arrondir au
|
|
28
|
-
label: "Arrondir au
|
|
27
|
+
instruction: "Arrondir au dixième :",
|
|
28
|
+
label: "Arrondir au dixième",
|
|
29
29
|
levels: ["6", "5"],
|
|
30
30
|
section: "Calculs",
|
|
31
31
|
isSingleStep: true,
|
|
@@ -57,12 +57,29 @@ exports.roundToMillieme = {
|
|
|
57
57
|
isSingleStep: true,
|
|
58
58
|
generator: function (nb) { return (0, getDistinctQuestions_1.getDistinctQuestions)(function () { return getRoundQuestions(3); }, nb); }
|
|
59
59
|
};
|
|
60
|
+
exports.allRoundings = {
|
|
61
|
+
id: "allRoundings",
|
|
62
|
+
connector: "\\approx",
|
|
63
|
+
instruction: "",
|
|
64
|
+
label: "Arrondir un nombre décimal",
|
|
65
|
+
levels: ["6", "5"],
|
|
66
|
+
section: "Calculs",
|
|
67
|
+
isSingleStep: true,
|
|
68
|
+
generator: function (nb) { return (0, getDistinctQuestions_1.getDistinctQuestions)(function () { return getRoundQuestions((0, randint_1.randint)(0, 4)); }, nb); }
|
|
69
|
+
};
|
|
70
|
+
var instructions = [
|
|
71
|
+
"Arrondir à l'unité :",
|
|
72
|
+
"Arrondir au dixième :",
|
|
73
|
+
"Arrondir au centième :",
|
|
74
|
+
"Arrondir au millième :",
|
|
75
|
+
];
|
|
60
76
|
function getRoundQuestions(precisionAsked) {
|
|
61
77
|
if (precisionAsked === void 0) { precisionAsked = 0; }
|
|
62
78
|
var precision = (0, randint_1.randint)(precisionAsked + 1, precisionAsked + 5);
|
|
63
79
|
var dec = decimal_1.DecimalConstructor.random(0, 1000, precision);
|
|
64
80
|
var question = {
|
|
65
|
-
|
|
81
|
+
instruction: instructions[precisionAsked],
|
|
82
|
+
startStatement: (0, latexParser_1.latexParser)(dec.toTree()),
|
|
66
83
|
answer: (0, latexParser_1.latexParser)(dec.round(precisionAsked).toTree())
|
|
67
84
|
};
|
|
68
85
|
return question;
|
|
@@ -20,11 +20,11 @@ export const roundToUnit: Exercise = {
|
|
|
20
20
|
/**
|
|
21
21
|
* arrondi à l'unité
|
|
22
22
|
*/
|
|
23
|
-
export const
|
|
24
|
-
id: "
|
|
23
|
+
export const roundToDixieme: Exercise = {
|
|
24
|
+
id: "roundToDixieme",
|
|
25
25
|
connector: "\\approx",
|
|
26
|
-
instruction: "Arrondir au
|
|
27
|
-
label: "Arrondir au
|
|
26
|
+
instruction: "Arrondir au dixième :",
|
|
27
|
+
label: "Arrondir au dixième",
|
|
28
28
|
levels: ["6", "5"],
|
|
29
29
|
section: "Calculs",
|
|
30
30
|
isSingleStep: true,
|
|
@@ -57,10 +57,29 @@ export const roundToMillieme: Exercise = {
|
|
|
57
57
|
generator: (nb: number) => getDistinctQuestions(() => getRoundQuestions(3), nb),
|
|
58
58
|
};
|
|
59
59
|
|
|
60
|
+
export const allRoundings: Exercise = {
|
|
61
|
+
id: "allRoundings",
|
|
62
|
+
connector: "\\approx",
|
|
63
|
+
instruction: "",
|
|
64
|
+
label: "Arrondir un nombre décimal",
|
|
65
|
+
levels: ["6", "5"],
|
|
66
|
+
section: "Calculs",
|
|
67
|
+
isSingleStep: true,
|
|
68
|
+
generator: (nb: number) => getDistinctQuestions(() => getRoundQuestions(randint(0, 4)), nb),
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const instructions = [
|
|
72
|
+
"Arrondir à l'unité :",
|
|
73
|
+
"Arrondir au dixième :",
|
|
74
|
+
"Arrondir au centième :",
|
|
75
|
+
"Arrondir au millième :",
|
|
76
|
+
];
|
|
77
|
+
|
|
60
78
|
export function getRoundQuestions(precisionAsked: number = 0): Question {
|
|
61
79
|
const precision = randint(precisionAsked + 1, precisionAsked + 5);
|
|
62
80
|
const dec = DecimalConstructor.random(0, 1000, precision);
|
|
63
81
|
const question: Question = {
|
|
82
|
+
instruction: instructions[precisionAsked],
|
|
64
83
|
startStatement: latexParser(dec.toTree()),
|
|
65
84
|
answer: latexParser(dec.round(precisionAsked).toTree()),
|
|
66
85
|
};
|
|
@@ -24,7 +24,7 @@ function getDoubleDistributivityQuestion() {
|
|
|
24
24
|
var statementTree = new multiplyNode_1.MultiplyNode(affines[0].toTree(), affines[1].toTree());
|
|
25
25
|
var answerTree = affines[0].multiply(affines[1]).toTree();
|
|
26
26
|
return {
|
|
27
|
-
|
|
27
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
28
28
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
29
29
|
};
|
|
30
30
|
}
|
|
@@ -25,7 +25,7 @@ function getFirstIdentityQuestion() {
|
|
|
25
25
|
var statementTree = new powerNode_1.PowerNode(affine.toTree(), new numberNode_1.NumberNode(2));
|
|
26
26
|
var answerTree = affine.multiply(affine).toTree();
|
|
27
27
|
return {
|
|
28
|
-
|
|
28
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
29
29
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
30
30
|
};
|
|
31
31
|
}
|
|
@@ -26,7 +26,7 @@ function getSecondIdentityQuestion() {
|
|
|
26
26
|
var statementTree = new powerNode_1.PowerNode(affine.toTree(), new numberNode_1.NumberNode(2));
|
|
27
27
|
var answerTree = affine.multiply(affine).toTree();
|
|
28
28
|
return {
|
|
29
|
-
|
|
29
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
30
30
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
31
31
|
};
|
|
32
32
|
}
|
|
@@ -26,7 +26,7 @@ function getSimpleDistributivityQuestion() {
|
|
|
26
26
|
var statementTree = new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(coeff.value), affine.toTree());
|
|
27
27
|
var answerTree = affine.times(coeff.value).toTree();
|
|
28
28
|
return {
|
|
29
|
-
|
|
29
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
30
30
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
31
31
|
};
|
|
32
32
|
}
|
|
@@ -25,7 +25,7 @@ function getThirdIdentityQuestion() {
|
|
|
25
25
|
var statementTree = new multiplyNode_1.MultiplyNode(affine.toTree(), affine2.toTree());
|
|
26
26
|
var answerTree = affine.multiply(affine2).toTree();
|
|
27
27
|
return {
|
|
28
|
-
|
|
28
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
29
29
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
30
30
|
};
|
|
31
31
|
}
|
|
@@ -30,7 +30,7 @@ function getEquationType1ExerciseQuestion() {
|
|
|
30
30
|
var affine = new affine_1.Affine(1, a.value).toTree();
|
|
31
31
|
var tree = new equalNode_1.EqualNode(affine, b.toTree());
|
|
32
32
|
var question = {
|
|
33
|
-
|
|
33
|
+
startStatement: (0, latexParser_1.latexParser)(tree),
|
|
34
34
|
answer: "x = ".concat(solution)
|
|
35
35
|
};
|
|
36
36
|
return question;
|
|
@@ -33,7 +33,7 @@ function getEquationType2ExerciseQuestion() {
|
|
|
33
33
|
var tree = new equalNode_1.EqualNode(affine, b.toTree());
|
|
34
34
|
var answer = new equalNode_1.EqualNode(new variableNode_1.VariableNode("x"), solution.toTree());
|
|
35
35
|
var question = {
|
|
36
|
-
|
|
36
|
+
startStatement: (0, latexParser_1.latexParser)(tree),
|
|
37
37
|
answer: (0, latexParser_1.latexParser)(answer)
|
|
38
38
|
};
|
|
39
39
|
return question;
|
|
@@ -34,7 +34,7 @@ function getEquationType3ExerciseQuestion() {
|
|
|
34
34
|
var statementTree = new equalNode_1.EqualNode(affine, c.toTree());
|
|
35
35
|
var answerTree = new equalNode_1.EqualNode(new variableNode_1.VariableNode("x"), solution.toTree());
|
|
36
36
|
var question = {
|
|
37
|
-
|
|
37
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
38
38
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
39
39
|
};
|
|
40
40
|
return question;
|
|
@@ -36,7 +36,7 @@ function getEquationType4ExerciseQuestion() {
|
|
|
36
36
|
var statementTree = new equalNode_1.EqualNode(affines[0].toTree(), affines[1].toTree());
|
|
37
37
|
var answerTree = new equalNode_1.EqualNode(new variableNode_1.VariableNode("x"), solution.toTree());
|
|
38
38
|
var question = {
|
|
39
|
-
|
|
39
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
40
40
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
41
41
|
};
|
|
42
42
|
return question;
|
|
@@ -31,7 +31,7 @@ function getFactoType1Question() {
|
|
|
31
31
|
: new substractNode_1.SubstractNode(new multiplyNode_1.MultiplyNode(permut[0][0].toTree(), permut[0][1].toTree()), new multiplyNode_1.MultiplyNode(permut[1][0].toTree(), permut[1][1].toTree()));
|
|
32
32
|
var answerTree = new multiplyNode_1.MultiplyNode(affines[0].toTree(), affines[1].add(operation === "add" ? affines[2] : affines[2].opposite()).toTree());
|
|
33
33
|
var question = {
|
|
34
|
-
|
|
34
|
+
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
35
35
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
36
36
|
};
|
|
37
37
|
return question;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
// }
|
|
6
6
|
|
|
7
7
|
export interface Question {
|
|
8
|
+
instruction?: string;
|
|
8
9
|
startStatement: string;
|
|
9
10
|
answer: string;
|
|
10
11
|
}
|
|
@@ -18,8 +19,4 @@ export interface Exercise {
|
|
|
18
19
|
levels: string[];
|
|
19
20
|
connector: string;
|
|
20
21
|
generator(nb: number): Question[];
|
|
21
|
-
// questions: Question[];
|
|
22
|
-
// constructor({ generatorType, questionsNumber }: ExerciseParameters) {
|
|
23
|
-
|
|
24
|
-
// }
|
|
25
22
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
exports.__esModule = true;
|
|
3
|
-
exports.exercises = void 0;
|
|
3
|
+
exports.exercises = exports.data = void 0;
|
|
4
4
|
var addAndSub_1 = require("./calcul/addAndSub");
|
|
5
5
|
var fractionAndIntegerDivision_1 = require("./calcul/fractions/fractionAndIntegerDivision");
|
|
6
6
|
var fractionAndIntegerProduct_1 = require("./calcul/fractions/fractionAndIntegerProduct");
|
|
@@ -10,7 +10,7 @@ var fractionsProduct_1 = require("./calcul/fractions/fractionsProduct");
|
|
|
10
10
|
var fractionsSum_1 = require("./calcul/fractions/fractionsSum");
|
|
11
11
|
var simplifyFraction_1 = require("./calcul/fractions/simplifyFraction");
|
|
12
12
|
var operationsPriorities_1 = require("./calcul/operationsPriorities");
|
|
13
|
-
var
|
|
13
|
+
var rounding_1 = require("./calcul/rounding/rounding");
|
|
14
14
|
var allIdentities_1 = require("./calculLitteral/distributivity/allIdentities");
|
|
15
15
|
var doubleDistributivity_1 = require("./calculLitteral/distributivity/doubleDistributivity");
|
|
16
16
|
var firstIdentity_1 = require("./calculLitteral/distributivity/firstIdentity");
|
|
@@ -28,6 +28,7 @@ var powersPower_1 = require("./powers/powersPower");
|
|
|
28
28
|
var powersProduct_1 = require("./powers/powersProduct");
|
|
29
29
|
var scientificToDecimal_1 = require("./powers/scientificToDecimal");
|
|
30
30
|
var simpifySquareRoot_1 = require("./squareRoots/simpifySquareRoot");
|
|
31
|
+
exports.data = [{}];
|
|
31
32
|
exports.exercises = [
|
|
32
33
|
/**
|
|
33
34
|
* calcul litteral
|
|
@@ -65,10 +66,11 @@ exports.exercises = [
|
|
|
65
66
|
/**
|
|
66
67
|
* rounding
|
|
67
68
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
rounding_1.roundToCentieme,
|
|
70
|
+
rounding_1.roundToDixieme,
|
|
71
|
+
rounding_1.roundToMillieme,
|
|
72
|
+
rounding_1.roundToUnit,
|
|
73
|
+
rounding_1.allRoundings,
|
|
72
74
|
/**
|
|
73
75
|
* puissances
|
|
74
76
|
*/
|
|
@@ -7,7 +7,13 @@ import { fractionsProduct } from "./calcul/fractions/fractionsProduct";
|
|
|
7
7
|
import { fractionsSum } from "./calcul/fractions/fractionsSum";
|
|
8
8
|
import { simplifyFraction } from "./calcul/fractions/simplifyFraction";
|
|
9
9
|
import { operationsPriorities } from "./calcul/operationsPriorities";
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
allRoundings,
|
|
12
|
+
roundToCentieme,
|
|
13
|
+
roundToDixieme,
|
|
14
|
+
roundToMillieme,
|
|
15
|
+
roundToUnit,
|
|
16
|
+
} from "./calcul/rounding/rounding";
|
|
11
17
|
import { allIdentities } from "./calculLitteral/distributivity/allIdentities";
|
|
12
18
|
import { doubleDistributivity } from "./calculLitteral/distributivity/doubleDistributivity";
|
|
13
19
|
import { firstIdentity } from "./calculLitteral/distributivity/firstIdentity";
|
|
@@ -26,11 +32,7 @@ import { powersOfTenProduct, powersProduct } from "./powers/powersProduct";
|
|
|
26
32
|
import { scientificToDecimal } from "./powers/scientificToDecimal";
|
|
27
33
|
import { simplifySquareRoot } from "./squareRoots/simpifySquareRoot";
|
|
28
34
|
|
|
29
|
-
export const data = [
|
|
30
|
-
{
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
]
|
|
35
|
+
export const data = [{}];
|
|
34
36
|
|
|
35
37
|
export const exercises = [
|
|
36
38
|
/**
|
|
@@ -74,9 +76,10 @@ export const exercises = [
|
|
|
74
76
|
* rounding
|
|
75
77
|
*/
|
|
76
78
|
roundToCentieme,
|
|
77
|
-
|
|
79
|
+
roundToDixieme,
|
|
78
80
|
roundToMillieme,
|
|
79
81
|
roundToUnit,
|
|
82
|
+
allRoundings,
|
|
80
83
|
/**
|
|
81
84
|
* puissances
|
|
82
85
|
*/
|
|
@@ -38,7 +38,7 @@ function getPowersDivisionQuestion(useOnlyPowersOfTen) {
|
|
|
38
38
|
var statement = new fractionNode_1.FractionNode(new powerNode_1.PowerNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new powerNode_1.PowerNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(c)));
|
|
39
39
|
var answerTree = new power_1.Power(a, b - c).simplify();
|
|
40
40
|
var question = {
|
|
41
|
-
|
|
41
|
+
startStatement: (0, latexParser_1.latexParser)(statement),
|
|
42
42
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
43
43
|
};
|
|
44
44
|
return question;
|
|
@@ -25,7 +25,7 @@ function getPowersOfTenDivisionQuestion() {
|
|
|
25
25
|
var statement = new powerNode_1.PowerNode(new numberNode_1.NumberNode(10), new numberNode_1.NumberNode(randPower));
|
|
26
26
|
var answerTree = new power_1.Power(10, randPower).toDecimalWriting().toTree();
|
|
27
27
|
var question = {
|
|
28
|
-
|
|
28
|
+
startStatement: (0, latexParser_1.latexParser)(statement),
|
|
29
29
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
30
30
|
};
|
|
31
31
|
return question;
|
|
@@ -37,7 +37,7 @@ function getPowersPowerQuestion(useOnlyPowersOfTen) {
|
|
|
37
37
|
var statement = new powerNode_1.PowerNode(new powerNode_1.PowerNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new numberNode_1.NumberNode(c));
|
|
38
38
|
var answerTree = new power_1.Power(a, b * c).simplify();
|
|
39
39
|
var question = {
|
|
40
|
-
|
|
40
|
+
startStatement: (0, latexParser_1.latexParser)(statement),
|
|
41
41
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
42
42
|
};
|
|
43
43
|
return question;
|
|
@@ -38,7 +38,7 @@ function getPowersProductQuestion(useOnlyPowersOfTen) {
|
|
|
38
38
|
var statement = new multiplyNode_1.MultiplyNode(new powerNode_1.PowerNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new powerNode_1.PowerNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(c)));
|
|
39
39
|
var answerTree = new power_1.Power(a, b + c).simplify();
|
|
40
40
|
var question = {
|
|
41
|
-
|
|
41
|
+
startStatement: (0, latexParser_1.latexParser)(statement),
|
|
42
42
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
43
43
|
};
|
|
44
44
|
return question;
|
|
@@ -30,7 +30,7 @@ function getScientificToDecimalQuestion() {
|
|
|
30
30
|
var statement = new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(randDecimal.value), new powerNode_1.PowerNode(new numberNode_1.NumberNode(10), new numberNode_1.NumberNode(randPower)));
|
|
31
31
|
var answerTree = randDecimal.multiplyByPowerOfTen(randPower).toTree();
|
|
32
32
|
var question = {
|
|
33
|
-
|
|
33
|
+
startStatement: (0, latexParser_1.latexParser)(statement),
|
|
34
34
|
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
35
35
|
};
|
|
36
36
|
return question;
|
|
@@ -20,7 +20,7 @@ function getSimplifySquareRoot() {
|
|
|
20
20
|
maxSquare: 11
|
|
21
21
|
});
|
|
22
22
|
var question = {
|
|
23
|
-
|
|
23
|
+
startStatement: (0, latexParser_1.latexParser)(squareRoot.toTree()),
|
|
24
24
|
answer: (0, latexParser_1.latexParser)(squareRoot.simplify().toTree())
|
|
25
25
|
};
|
|
26
26
|
return question;
|
|
@@ -7,7 +7,7 @@ var getDistinctQuestions = function (generator, nb) {
|
|
|
7
7
|
var question;
|
|
8
8
|
do {
|
|
9
9
|
question = generator();
|
|
10
|
-
} while (res.some(function (q) { return q.
|
|
10
|
+
} while (res.some(function (q) { return q.startStatement === question.startStatement; }));
|
|
11
11
|
res.push(question);
|
|
12
12
|
};
|
|
13
13
|
for (var i = 0; i < nb; i++) {
|
package/src/index.js
CHANGED
|
@@ -3,11 +3,3 @@ exports.__esModule = true;
|
|
|
3
3
|
exports.exercises = void 0;
|
|
4
4
|
var exercises_1 = require("./exercises/exercises");
|
|
5
5
|
exports.exercises = exercises_1.exercises;
|
|
6
|
-
var latexParser_1 = require("./tree/parsers/latexParser");
|
|
7
|
-
var polynomial_1 = require("./polynomials/polynomial");
|
|
8
|
-
var derivateParser_1 = require("./tree/parsers/derivateParser");
|
|
9
|
-
// exercises.forEach((exo) => {
|
|
10
|
-
// console.log(exo.instruction, exo.generator(10));
|
|
11
|
-
// });
|
|
12
|
-
var pol = new polynomial_1.Polynomial([2, 3, 1, 4]);
|
|
13
|
-
console.log((0, latexParser_1.latexParser)((0, derivateParser_1.derivateParser)(pol.toTree())));
|
package/src/index.ts
CHANGED
|
@@ -38,7 +38,7 @@ var Decimal = /** @class */ (function () {
|
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
*
|
|
41
|
-
* @param precision 0 = unité, 1 =
|
|
41
|
+
* @param precision 0 = unité, 1 = dixieme, ... , -1 : dizaine
|
|
42
42
|
* @returns
|
|
43
43
|
*/
|
|
44
44
|
Decimal.prototype.round = function (precision) {
|
|
@@ -34,9 +34,8 @@ function derivateParser(node) {
|
|
|
34
34
|
return new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(derivateParser(u), v), new multiplyNode_1.MultiplyNode(u, derivateParser(v)));
|
|
35
35
|
}
|
|
36
36
|
case operatorNode_1.OperatorIds.divide:
|
|
37
|
-
case operatorNode_1.OperatorIds.fraction:
|
|
37
|
+
case operatorNode_1.OperatorIds.fraction:
|
|
38
38
|
return new fractionNode_1.FractionNode(new substractNode_1.SubstractNode(new multiplyNode_1.MultiplyNode(derivateParser(u), v), new multiplyNode_1.MultiplyNode(u, derivateParser(v))), new powerNode_1.PowerNode(v, new numberNode_1.NumberNode(2)));
|
|
39
|
-
}
|
|
40
39
|
case operatorNode_1.OperatorIds.power: {
|
|
41
40
|
var operatorNode_2 = node;
|
|
42
41
|
var n = operatorNode_2.rightChild;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// import { Interval } from "../../sets/intervals/intervals";
|
|
2
|
-
// import { Exercise, Question } from "../exercise";
|
|
3
|
-
// import { getDistinctQuestions } from "../utils/getDistinctQuestions";
|
|
4
|
-
|
|
5
|
-
// export const reduction: Exercise = {
|
|
6
|
-
// id: "reduction",
|
|
7
|
-
// connector: "=",
|
|
8
|
-
// instruction: "Réduire :",
|
|
9
|
-
// label: "Réduire une expression polynomiale",
|
|
10
|
-
// levels: ["3", "2"],
|
|
11
|
-
// isSingleStep: false,
|
|
12
|
-
// section: "Calcul Littéral",
|
|
13
|
-
// generator: (nb: number) => getDistinctQuestions(getReductionQuestion, nb),
|
|
14
|
-
// };
|
|
15
|
-
|
|
16
|
-
// export function getReductionQuestion(): Question {
|
|
17
|
-
// const interval = new Interval("[[1; 10]]").difference(new DiscreteSet([new Integer(0)]));
|
|
18
|
-
// const affine = AffineConstructor.random(interval, interval);
|
|
19
|
-
|
|
20
|
-
// const statementTree = new PowerNode(affine.toTree(), new NumberNode(2));
|
|
21
|
-
// const answerTree = affine.multiply(affine).toTree();
|
|
22
|
-
|
|
23
|
-
// return {
|
|
24
|
-
// statement: latexParse(statementTree),
|
|
25
|
-
// answer: latexParse(answerTree),
|
|
26
|
-
// };
|
|
27
|
-
// }
|