math-exercises 1.2.4 → 1.2.6
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 +2 -2
- package/src/exercises/calcul/addAndSub.ts +2 -2
- package/src/exercises/calcul/fractions/fractionAndIntegerDivision.js +3 -3
- package/src/exercises/calcul/fractions/fractionAndIntegerDivision.ts +3 -3
- package/src/exercises/calcul/fractions/fractionAndIntegerProduct.js +3 -3
- package/src/exercises/calcul/fractions/fractionAndIntegerProduct.ts +3 -3
- package/src/exercises/calcul/fractions/fractionAndIntegerSum.js +3 -3
- package/src/exercises/calcul/fractions/fractionAndIntegerSum.ts +3 -3
- package/src/exercises/calcul/fractions/fractionsDivision.js +3 -3
- package/src/exercises/calcul/fractions/fractionsDivision.ts +3 -3
- package/src/exercises/calcul/fractions/fractionsProduct.js +3 -3
- package/src/exercises/calcul/fractions/fractionsProduct.ts +3 -3
- package/src/exercises/calcul/fractions/fractionsSum.js +3 -3
- package/src/exercises/calcul/fractions/fractionsSum.ts +3 -3
- package/src/exercises/calcul/fractions/simplifyFraction.js +3 -3
- package/src/exercises/calcul/fractions/simplifyFraction.ts +3 -3
- package/src/exercises/calcul/operationsPriorities.js +3 -21
- package/src/exercises/calcul/operationsPriorities.ts +2 -2
- package/src/exercises/calcul/rounding/roundToUnit.js +3 -3
- package/src/exercises/calcul/rounding/roundToUnit.ts +3 -3
- package/src/exercises/calculLitteral/distributivity/doubleDistributivity.js +3 -3
- package/src/exercises/calculLitteral/distributivity/doubleDistributivity.ts +3 -3
- package/src/exercises/calculLitteral/distributivity/firstIdentity.js +3 -3
- package/src/exercises/calculLitteral/distributivity/firstIdentity.ts +3 -3
- package/src/exercises/calculLitteral/distributivity/secondIdentity.js +3 -3
- package/src/exercises/calculLitteral/distributivity/secondIdentity.ts +3 -3
- package/src/exercises/calculLitteral/distributivity/simpleDistributivity.js +3 -3
- package/src/exercises/calculLitteral/distributivity/simpleDistributivity.ts +3 -3
- package/src/exercises/calculLitteral/distributivity/thirdIdentity.js +3 -3
- package/src/exercises/calculLitteral/distributivity/thirdIdentity.ts +3 -3
- package/src/exercises/calculLitteral/equation/equationType1Exercise.js +2 -2
- package/src/exercises/calculLitteral/equation/equationType1Exercise.ts +2 -2
- package/src/exercises/calculLitteral/equation/equationType2Exercise.js +3 -3
- package/src/exercises/calculLitteral/equation/equationType2Exercise.ts +3 -3
- package/src/exercises/calculLitteral/equation/equationType3Exercise.js +3 -3
- package/src/exercises/calculLitteral/equation/equationType3Exercise.ts +3 -3
- package/src/exercises/calculLitteral/equation/equationType4Exercise.js +3 -3
- package/src/exercises/calculLitteral/equation/equationType4Exercise.ts +3 -3
- package/src/exercises/calculLitteral/factorisation/factoType1Exercise.js +3 -3
- package/src/exercises/calculLitteral/factorisation/factoType1Exercise.ts +3 -3
- package/src/exercises/exercise.ts +1 -1
- package/src/exercises/exercises.ts +6 -0
- package/src/exercises/powers/powersDivision.js +3 -3
- package/src/exercises/powers/powersDivision.ts +3 -3
- package/src/exercises/powers/powersOfTenToDecimal.js +3 -3
- package/src/exercises/powers/powersOfTenToDecimal.ts +3 -3
- package/src/exercises/powers/powersPower.js +3 -3
- package/src/exercises/powers/powersPower.ts +3 -3
- package/src/exercises/powers/powersProduct.js +3 -3
- package/src/exercises/powers/powersProduct.ts +3 -3
- package/src/exercises/powers/scientificToDecimal.js +3 -3
- package/src/exercises/powers/scientificToDecimal.ts +3 -3
- package/src/exercises/squareRoots/simpifySquareRoot.js +3 -3
- package/src/exercises/squareRoots/simpifySquareRoot.ts +3 -3
- package/src/exercises/utils/getDistinctQuestions.ts +2 -5
- package/src/index.js +8 -0
- package/src/index.ts +4 -1
- package/src/tree/parsers/derivateParser.js +61 -0
- package/src/tree/parsers/derivateParser.ts +66 -0
- package/src/tree/parsers/latexParser.js +117 -0
- package/src/tree/{latexParser/latexParse.ts → parsers/latexParser.ts} +4 -4
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
exports.__esModule = true;
|
|
3
3
|
exports.getAddAndSubQuestions = exports.addAndSubExercise = void 0;
|
|
4
4
|
var randint_1 = require("../../mathutils/random/randint");
|
|
5
|
-
var
|
|
5
|
+
var latexParser_1 = require("../../tree/parsers/latexParser");
|
|
6
6
|
var numberNode_1 = require("../../tree/nodes/numbers/numberNode");
|
|
7
7
|
var addNode_1 = require("../../tree/nodes/operators/addNode");
|
|
8
8
|
var getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
|
|
@@ -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
|
-
statement: (0,
|
|
35
|
+
statement: (0, latexParser_1.latexParser)(statementTree),
|
|
36
36
|
answer: answer
|
|
37
37
|
};
|
|
38
38
|
return question;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randint } from "../../mathutils/random/randint";
|
|
2
|
-
import {
|
|
2
|
+
import { latexParser } from "../../tree/parsers/latexParser";
|
|
3
3
|
import { NumberNode } from "../../tree/nodes/numbers/numberNode";
|
|
4
4
|
import { AddNode } from "../../tree/nodes/operators/addNode";
|
|
5
5
|
import { Exercise, Question } from "../exercise";
|
|
@@ -32,7 +32,7 @@ export function getAddAndSubQuestions(): Question {
|
|
|
32
32
|
}
|
|
33
33
|
const answer = numbers.reduce((a, b) => a + b) + "";
|
|
34
34
|
const question: Question = {
|
|
35
|
-
|
|
35
|
+
startStatement: latexParser(statementTree),
|
|
36
36
|
answer: answer,
|
|
37
37
|
};
|
|
38
38
|
return question;
|
|
@@ -4,7 +4,7 @@ exports.getFractionAndIntegerDivision = exports.fractionAndIntegerDivision = voi
|
|
|
4
4
|
var randint_1 = require("../../../mathutils/random/randint");
|
|
5
5
|
var integer_1 = require("../../../numbers/integer/integer");
|
|
6
6
|
var rational_1 = require("../../../numbers/rationals/rational");
|
|
7
|
-
var
|
|
7
|
+
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
8
8
|
var divideNode_1 = require("../../../tree/nodes/operators/divideNode");
|
|
9
9
|
var random_1 = require("../../../utils/random");
|
|
10
10
|
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
@@ -27,8 +27,8 @@ 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
|
-
statement: (0,
|
|
31
|
-
answer: (0,
|
|
30
|
+
statement: (0, latexParser_1.latexParser)(statementTree),
|
|
31
|
+
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
32
32
|
};
|
|
33
33
|
return question;
|
|
34
34
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { randint } from "../../../mathutils/random/randint";
|
|
2
2
|
import { Integer } from "../../../numbers/integer/integer";
|
|
3
3
|
import { RationalConstructor } from "../../../numbers/rationals/rational";
|
|
4
|
-
import {
|
|
4
|
+
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
5
5
|
import { AddNode } from "../../../tree/nodes/operators/addNode";
|
|
6
6
|
import { DivideNode } from "../../../tree/nodes/operators/divideNode";
|
|
7
7
|
import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode";
|
|
@@ -31,8 +31,8 @@ export function getFractionAndIntegerDivision(): Question {
|
|
|
31
31
|
|
|
32
32
|
const answerTree = integerFirst ? integer.divide(rational).toTree() : rational.divide(integer).toTree();
|
|
33
33
|
const question: Question = {
|
|
34
|
-
|
|
35
|
-
answer:
|
|
34
|
+
startStatement: latexParser(statementTree),
|
|
35
|
+
answer: latexParser(answerTree),
|
|
36
36
|
};
|
|
37
37
|
return question;
|
|
38
38
|
}
|
|
@@ -4,7 +4,7 @@ exports.getFractionAndIntegerProduct = exports.fractionAndIntegerProduct = void
|
|
|
4
4
|
var randint_1 = require("../../../mathutils/random/randint");
|
|
5
5
|
var integer_1 = require("../../../numbers/integer/integer");
|
|
6
6
|
var rational_1 = require("../../../numbers/rationals/rational");
|
|
7
|
-
var
|
|
7
|
+
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
8
8
|
var multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
|
|
9
9
|
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
10
10
|
exports.fractionAndIntegerProduct = {
|
|
@@ -23,8 +23,8 @@ 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
|
-
statement: (0,
|
|
27
|
-
answer: (0,
|
|
26
|
+
statement: (0, latexParser_1.latexParser)(statementTree),
|
|
27
|
+
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
28
28
|
};
|
|
29
29
|
return question;
|
|
30
30
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { randint } from "../../../mathutils/random/randint";
|
|
2
2
|
import { Integer } from "../../../numbers/integer/integer";
|
|
3
3
|
import { RationalConstructor } from "../../../numbers/rationals/rational";
|
|
4
|
-
import {
|
|
4
|
+
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
5
5
|
import { AddNode } from "../../../tree/nodes/operators/addNode";
|
|
6
6
|
import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode";
|
|
7
7
|
import { Exercise, Question } from "../../exercise";
|
|
@@ -25,8 +25,8 @@ export function getFractionAndIntegerProduct(): Question {
|
|
|
25
25
|
|
|
26
26
|
const answerTree = rational.multiply(integer).toTree();
|
|
27
27
|
const question: Question = {
|
|
28
|
-
|
|
29
|
-
answer:
|
|
28
|
+
startStatement: latexParser(statementTree),
|
|
29
|
+
answer: latexParser(answerTree),
|
|
30
30
|
};
|
|
31
31
|
return question;
|
|
32
32
|
}
|
|
@@ -4,7 +4,7 @@ exports.getFractionAndIntegerSum = exports.fractionAndIntegerSum = void 0;
|
|
|
4
4
|
var randint_1 = require("../../../mathutils/random/randint");
|
|
5
5
|
var integer_1 = require("../../../numbers/integer/integer");
|
|
6
6
|
var rational_1 = require("../../../numbers/rationals/rational");
|
|
7
|
-
var
|
|
7
|
+
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
8
8
|
var addNode_1 = require("../../../tree/nodes/operators/addNode");
|
|
9
9
|
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
10
10
|
exports.fractionAndIntegerSum = {
|
|
@@ -24,8 +24,8 @@ function getFractionAndIntegerSum() {
|
|
|
24
24
|
statementTree.shuffle();
|
|
25
25
|
var answerTree = rational.add(integer).toTree();
|
|
26
26
|
var question = {
|
|
27
|
-
statement: (0,
|
|
28
|
-
answer: (0,
|
|
27
|
+
statement: (0, latexParser_1.latexParser)(statementTree),
|
|
28
|
+
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
29
29
|
};
|
|
30
30
|
return question;
|
|
31
31
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { randint } from "../../../mathutils/random/randint";
|
|
2
2
|
import { Integer } from "../../../numbers/integer/integer";
|
|
3
3
|
import { RationalConstructor } from "../../../numbers/rationals/rational";
|
|
4
|
-
import {
|
|
4
|
+
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
5
5
|
import { AddNode } from "../../../tree/nodes/operators/addNode";
|
|
6
6
|
import { Exercise, Question } from "../../exercise";
|
|
7
7
|
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
@@ -24,8 +24,8 @@ export function getFractionAndIntegerSum(): Question {
|
|
|
24
24
|
statementTree.shuffle();
|
|
25
25
|
const answerTree = rational.add(integer).toTree();
|
|
26
26
|
const question: Question = {
|
|
27
|
-
|
|
28
|
-
answer:
|
|
27
|
+
startStatement: latexParser(statementTree),
|
|
28
|
+
answer: latexParser(answerTree),
|
|
29
29
|
};
|
|
30
30
|
return question;
|
|
31
31
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
exports.__esModule = true;
|
|
3
3
|
exports.getFractionsDivision = exports.fractionsDivision = void 0;
|
|
4
4
|
var rational_1 = require("../../../numbers/rationals/rational");
|
|
5
|
-
var
|
|
5
|
+
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
6
6
|
var divideNode_1 = require("../../../tree/nodes/operators/divideNode");
|
|
7
7
|
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
8
8
|
exports.fractionsDivision = {
|
|
@@ -21,8 +21,8 @@ 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
|
-
statement: (0,
|
|
25
|
-
answer: (0,
|
|
24
|
+
statement: (0, latexParser_1.latexParser)(statementTree),
|
|
25
|
+
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
26
26
|
};
|
|
27
27
|
return question;
|
|
28
28
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RationalConstructor } from "../../../numbers/rationals/rational";
|
|
2
|
-
import {
|
|
2
|
+
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
3
3
|
import { AddNode } from "../../../tree/nodes/operators/addNode";
|
|
4
4
|
import { DivideNode } from "../../../tree/nodes/operators/divideNode";
|
|
5
5
|
import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode";
|
|
@@ -23,8 +23,8 @@ export function getFractionsDivision(): Question {
|
|
|
23
23
|
const statementTree = new DivideNode(rational.toTree(), rational2.toTree());
|
|
24
24
|
const answerTree = rational.divide(rational2).toTree();
|
|
25
25
|
const question: Question = {
|
|
26
|
-
|
|
27
|
-
answer:
|
|
26
|
+
startStatement: latexParser(statementTree),
|
|
27
|
+
answer: latexParser(answerTree),
|
|
28
28
|
};
|
|
29
29
|
return question;
|
|
30
30
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
exports.__esModule = true;
|
|
3
3
|
exports.getFractionsProduct = exports.fractionsProduct = void 0;
|
|
4
4
|
var rational_1 = require("../../../numbers/rationals/rational");
|
|
5
|
-
var
|
|
5
|
+
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
6
6
|
var multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
|
|
7
7
|
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
8
8
|
exports.fractionsProduct = {
|
|
@@ -21,8 +21,8 @@ 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
|
-
statement: (0,
|
|
25
|
-
answer: (0,
|
|
24
|
+
statement: (0, latexParser_1.latexParser)(statementTree),
|
|
25
|
+
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
26
26
|
};
|
|
27
27
|
return question;
|
|
28
28
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RationalConstructor } from "../../../numbers/rationals/rational";
|
|
2
|
-
import {
|
|
2
|
+
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
3
3
|
import { AddNode } from "../../../tree/nodes/operators/addNode";
|
|
4
4
|
import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode";
|
|
5
5
|
import { Exercise, Question } from "../../exercise";
|
|
@@ -22,8 +22,8 @@ export function getFractionsProduct(): Question {
|
|
|
22
22
|
const statementTree = new MultiplyNode(rational.toTree(), rational2.toTree());
|
|
23
23
|
const answerTree = rational.multiply(rational2).toTree();
|
|
24
24
|
const question: Question = {
|
|
25
|
-
|
|
26
|
-
answer:
|
|
25
|
+
startStatement: latexParser(statementTree),
|
|
26
|
+
answer: latexParser(answerTree),
|
|
27
27
|
};
|
|
28
28
|
return question;
|
|
29
29
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
exports.__esModule = true;
|
|
3
3
|
exports.getFractionsSum = exports.fractionsSum = void 0;
|
|
4
4
|
var rational_1 = require("../../../numbers/rationals/rational");
|
|
5
|
-
var
|
|
5
|
+
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
6
6
|
var addNode_1 = require("../../../tree/nodes/operators/addNode");
|
|
7
7
|
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
8
8
|
exports.fractionsSum = {
|
|
@@ -21,8 +21,8 @@ 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
|
-
statement: (0,
|
|
25
|
-
answer: (0,
|
|
24
|
+
statement: (0, latexParser_1.latexParser)(statementTree),
|
|
25
|
+
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
26
26
|
};
|
|
27
27
|
return question;
|
|
28
28
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RationalConstructor } from "../../../numbers/rationals/rational";
|
|
2
|
-
import {
|
|
2
|
+
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
3
3
|
import { AddNode } from "../../../tree/nodes/operators/addNode";
|
|
4
4
|
import { Exercise, Question } from "../../exercise";
|
|
5
5
|
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
@@ -21,8 +21,8 @@ export function getFractionsSum(): Question {
|
|
|
21
21
|
const statementTree = new AddNode(rational.toTree(), rational2.toTree());
|
|
22
22
|
const answerTree = rational.add(rational2).toTree();
|
|
23
23
|
const question: Question = {
|
|
24
|
-
|
|
25
|
-
answer:
|
|
24
|
+
startStatement: latexParser(statementTree),
|
|
25
|
+
answer: latexParser(answerTree),
|
|
26
26
|
};
|
|
27
27
|
return question;
|
|
28
28
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
exports.__esModule = true;
|
|
3
3
|
exports.getSimplifyFraction = exports.simplifyFraction = void 0;
|
|
4
4
|
var rational_1 = require("../../../numbers/rationals/rational");
|
|
5
|
-
var
|
|
5
|
+
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
6
6
|
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
7
7
|
exports.simplifyFraction = {
|
|
8
8
|
id: "simplifySqrt",
|
|
@@ -17,8 +17,8 @@ exports.simplifyFraction = {
|
|
|
17
17
|
function getSimplifyFraction() {
|
|
18
18
|
var rational = rational_1.RationalConstructor.randomSimplifiable(10);
|
|
19
19
|
var question = {
|
|
20
|
-
statement: (0,
|
|
21
|
-
answer: (0,
|
|
20
|
+
statement: (0, latexParser_1.latexParser)(rational.toTree()),
|
|
21
|
+
answer: (0, latexParser_1.latexParser)(rational.simplify().toTree())
|
|
22
22
|
};
|
|
23
23
|
return question;
|
|
24
24
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RationalConstructor } from "../../../numbers/rationals/rational";
|
|
2
|
-
import {
|
|
2
|
+
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
3
3
|
import { Exercise, Question } from "../../exercise";
|
|
4
4
|
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
5
5
|
|
|
@@ -17,8 +17,8 @@ export const simplifyFraction: Exercise = {
|
|
|
17
17
|
export function getSimplifyFraction(): Question {
|
|
18
18
|
const rational = RationalConstructor.randomSimplifiable(10);
|
|
19
19
|
const question: Question = {
|
|
20
|
-
|
|
21
|
-
answer:
|
|
20
|
+
startStatement: latexParser(rational.toTree()),
|
|
21
|
+
answer: latexParser(rational.simplify().toTree()),
|
|
22
22
|
};
|
|
23
23
|
return question;
|
|
24
24
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
exports.__esModule = true;
|
|
3
3
|
exports.getPriorityQuestions = exports.operationsPriorities = void 0;
|
|
4
4
|
var randint_1 = require("../../mathutils/random/randint");
|
|
5
|
-
var
|
|
5
|
+
var latexParser_1 = require("../../tree/parsers/latexParser");
|
|
6
6
|
var numberNode_1 = require("../../tree/nodes/numbers/numberNode");
|
|
7
7
|
var addNode_1 = require("../../tree/nodes/operators/addNode");
|
|
8
8
|
var divideNode_1 = require("../../tree/nodes/operators/divideNode");
|
|
@@ -42,9 +42,6 @@ function getPriorityQuestions() {
|
|
|
42
42
|
: //a*b middle
|
|
43
43
|
new addNode_1.AddNode(new addNode_1.AddNode(new numberNode_1.NumberNode(c), new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b))), new numberNode_1.NumberNode(d));
|
|
44
44
|
answer = (a * b + c + d).toString();
|
|
45
|
-
console.log("type", type);
|
|
46
|
-
console.log("statement", statement);
|
|
47
|
-
console.log("answer", answer);
|
|
48
45
|
break;
|
|
49
46
|
case 2: // a/b ±c±d
|
|
50
47
|
_c = [1, 2, 3].map(function (el) { return (0, randint_1.randint)(-10, 11, [0]); }), b = _c[0], c = _c[1], d = _c[2];
|
|
@@ -55,17 +52,11 @@ function getPriorityQuestions() {
|
|
|
55
52
|
: //a/b middle
|
|
56
53
|
new addNode_1.AddNode(new addNode_1.AddNode(new numberNode_1.NumberNode(c), new divideNode_1.DivideNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b))), new numberNode_1.NumberNode(d));
|
|
57
54
|
answer = (a / b + c + d).toString();
|
|
58
|
-
console.log("type", type);
|
|
59
|
-
console.log("statement", statement);
|
|
60
|
-
console.log("answer", answer);
|
|
61
55
|
break;
|
|
62
56
|
case 3: // a*b ± c*d
|
|
63
57
|
_d = [1, 2, 3, 4].map(function (el) { return (0, randint_1.randint)(-10, 11); }), a = _d[0], b = _d[1], c = _d[2], d = _d[3];
|
|
64
58
|
statement = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d)));
|
|
65
59
|
answer = (a * b + c * d).toString();
|
|
66
|
-
console.log("type", type);
|
|
67
|
-
console.log("statement", statement);
|
|
68
|
-
console.log("answer", answer);
|
|
69
60
|
break;
|
|
70
61
|
case 4: // a*b ± c/d
|
|
71
62
|
_e = [1, 2].map(function (el) { return (0, randint_1.randint)(-10, 11); }), a = _e[0], b = _e[1];
|
|
@@ -73,9 +64,6 @@ function getPriorityQuestions() {
|
|
|
73
64
|
c = d * (0, randint_1.randint)(0, 11);
|
|
74
65
|
statement = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new divideNode_1.DivideNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d))).shuffle();
|
|
75
66
|
answer = (a * b + c / d).toString();
|
|
76
|
-
console.log("type", type);
|
|
77
|
-
console.log("statement", statement);
|
|
78
|
-
console.log("answer", answer);
|
|
79
67
|
break;
|
|
80
68
|
case 5: // a/b ± c/d
|
|
81
69
|
_f = [1, 2].map(function (el) { return (0, randint_1.randint)(-10, 11, [0]); }), b = _f[0], d = _f[1];
|
|
@@ -83,23 +71,17 @@ function getPriorityQuestions() {
|
|
|
83
71
|
c = d * (0, randint_1.randint)(0, 11);
|
|
84
72
|
statement = new addNode_1.AddNode(new divideNode_1.DivideNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new divideNode_1.DivideNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d)));
|
|
85
73
|
answer = (a / b + c / d).toString();
|
|
86
|
-
console.log("type", type);
|
|
87
|
-
console.log("statement", statement);
|
|
88
|
-
console.log("answer", answer);
|
|
89
74
|
break;
|
|
90
75
|
case 5: // a*b*c ± d
|
|
91
76
|
_g = [1, 2].map(function (el) { return (0, randint_1.randint)(-10, 11, [0]); }), b = _g[0], d = _g[1];
|
|
92
77
|
a = b * (0, randint_1.randint)(0, 11);
|
|
93
78
|
c = d * (0, randint_1.randint)(0, 11);
|
|
94
79
|
statement = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new numberNode_1.NumberNode(c)), new numberNode_1.NumberNode(d)).shuffle();
|
|
95
|
-
answer = a * b * c + d
|
|
96
|
-
console.log("type", type);
|
|
97
|
-
console.log("statement", statement.toString());
|
|
98
|
-
console.log("answer", answer);
|
|
80
|
+
answer = (a * b * c + d).toString();
|
|
99
81
|
break;
|
|
100
82
|
}
|
|
101
83
|
var question = {
|
|
102
|
-
statement: (0,
|
|
84
|
+
statement: (0, latexParser_1.latexParser)(statement),
|
|
103
85
|
answer: answer
|
|
104
86
|
};
|
|
105
87
|
return question;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randint } from "../../mathutils/random/randint";
|
|
2
|
-
import {
|
|
2
|
+
import { latexParser } from "../../tree/parsers/latexParser";
|
|
3
3
|
import { Node } from "../../tree/nodes/node";
|
|
4
4
|
import { NumberNode } from "../../tree/nodes/numbers/numberNode";
|
|
5
5
|
import { AddNode } from "../../tree/nodes/operators/addNode";
|
|
@@ -108,7 +108,7 @@ export function getPriorityQuestions(): Question {
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
const question: Question = {
|
|
111
|
-
|
|
111
|
+
startStatement: latexParser(statement!),
|
|
112
112
|
answer: answer,
|
|
113
113
|
};
|
|
114
114
|
return question;
|
|
@@ -3,7 +3,7 @@ exports.__esModule = true;
|
|
|
3
3
|
exports.getRoundQuestions = exports.roundToMillieme = exports.roundToCentieme = exports.roundToDizieme = exports.roundToUnit = void 0;
|
|
4
4
|
var randint_1 = require("../../../mathutils/random/randint");
|
|
5
5
|
var decimal_1 = require("../../../numbers/decimals/decimal");
|
|
6
|
-
var
|
|
6
|
+
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
7
7
|
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
8
8
|
/**
|
|
9
9
|
* arrondi à l'unité
|
|
@@ -62,8 +62,8 @@ function getRoundQuestions(precisionAsked) {
|
|
|
62
62
|
var precision = (0, randint_1.randint)(precisionAsked + 1, precisionAsked + 5);
|
|
63
63
|
var dec = decimal_1.DecimalConstructor.random(0, 1000, precision);
|
|
64
64
|
var question = {
|
|
65
|
-
statement: (0,
|
|
66
|
-
answer: (0,
|
|
65
|
+
statement: (0, latexParser_1.latexParser)(dec.toTree()),
|
|
66
|
+
answer: (0, latexParser_1.latexParser)(dec.round(precisionAsked).toTree())
|
|
67
67
|
};
|
|
68
68
|
return question;
|
|
69
69
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { randint } from "../../../mathutils/random/randint";
|
|
2
2
|
import { DecimalConstructor } from "../../../numbers/decimals/decimal";
|
|
3
|
-
import {
|
|
3
|
+
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
4
4
|
import { Exercise, Question } from "../../exercise";
|
|
5
5
|
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
6
6
|
|
|
@@ -61,8 +61,8 @@ export function getRoundQuestions(precisionAsked: number = 0): Question {
|
|
|
61
61
|
const precision = randint(precisionAsked + 1, precisionAsked + 5);
|
|
62
62
|
const dec = DecimalConstructor.random(0, 1000, precision);
|
|
63
63
|
const question: Question = {
|
|
64
|
-
|
|
65
|
-
answer:
|
|
64
|
+
startStatement: latexParser(dec.toTree()),
|
|
65
|
+
answer: latexParser(dec.round(precisionAsked).toTree()),
|
|
66
66
|
};
|
|
67
67
|
return question;
|
|
68
68
|
}
|
|
@@ -5,7 +5,7 @@ var integer_1 = require("../../../numbers/integer/integer");
|
|
|
5
5
|
var affine_1 = require("../../../polynomials/affine");
|
|
6
6
|
var discreteSet_1 = require("../../../sets/discreteSet");
|
|
7
7
|
var intervals_1 = require("../../../sets/intervals/intervals");
|
|
8
|
-
var
|
|
8
|
+
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
9
9
|
var multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
|
|
10
10
|
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
11
11
|
exports.doubleDistributivity = {
|
|
@@ -24,8 +24,8 @@ 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
|
-
statement: (0,
|
|
28
|
-
answer: (0,
|
|
27
|
+
statement: (0, latexParser_1.latexParser)(statementTree),
|
|
28
|
+
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
exports.getDoubleDistributivityQuestion = getDoubleDistributivityQuestion;
|
|
@@ -2,7 +2,7 @@ import { Integer } from "../../../numbers/integer/integer";
|
|
|
2
2
|
import { AffineConstructor } from "../../../polynomials/affine";
|
|
3
3
|
import { DiscreteSet } from "../../../sets/discreteSet";
|
|
4
4
|
import { Interval } from "../../../sets/intervals/intervals";
|
|
5
|
-
import {
|
|
5
|
+
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
6
6
|
import { NumberNode } from "../../../tree/nodes/numbers/numberNode";
|
|
7
7
|
import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode";
|
|
8
8
|
import { Exercise, Question } from "../../exercise";
|
|
@@ -27,7 +27,7 @@ export function getDoubleDistributivityQuestion(): Question {
|
|
|
27
27
|
const answerTree = affines[0].multiply(affines[1]).toTree();
|
|
28
28
|
|
|
29
29
|
return {
|
|
30
|
-
|
|
31
|
-
answer:
|
|
30
|
+
startStatement: latexParser(statementTree),
|
|
31
|
+
answer: latexParser(answerTree),
|
|
32
32
|
};
|
|
33
33
|
}
|
|
@@ -5,7 +5,7 @@ var integer_1 = require("../../../numbers/integer/integer");
|
|
|
5
5
|
var affine_1 = require("../../../polynomials/affine");
|
|
6
6
|
var discreteSet_1 = require("../../../sets/discreteSet");
|
|
7
7
|
var intervals_1 = require("../../../sets/intervals/intervals");
|
|
8
|
-
var
|
|
8
|
+
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
9
9
|
var numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
10
10
|
var powerNode_1 = require("../../../tree/nodes/operators/powerNode");
|
|
11
11
|
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
@@ -25,8 +25,8 @@ 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
|
-
statement: (0,
|
|
29
|
-
answer: (0,
|
|
28
|
+
statement: (0, latexParser_1.latexParser)(statementTree),
|
|
29
|
+
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
exports.getFirstIdentityQuestion = getFirstIdentityQuestion;
|
|
@@ -2,7 +2,7 @@ import { Integer } from "../../../numbers/integer/integer";
|
|
|
2
2
|
import { AffineConstructor } from "../../../polynomials/affine";
|
|
3
3
|
import { DiscreteSet } from "../../../sets/discreteSet";
|
|
4
4
|
import { Interval } from "../../../sets/intervals/intervals";
|
|
5
|
-
import {
|
|
5
|
+
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
6
6
|
import { NumberNode } from "../../../tree/nodes/numbers/numberNode";
|
|
7
7
|
import { PowerNode } from "../../../tree/nodes/operators/powerNode";
|
|
8
8
|
import { Exercise, Question } from "../../exercise";
|
|
@@ -27,7 +27,7 @@ export function getFirstIdentityQuestion(): Question {
|
|
|
27
27
|
const answerTree = affine.multiply(affine).toTree();
|
|
28
28
|
|
|
29
29
|
return {
|
|
30
|
-
|
|
31
|
-
answer:
|
|
30
|
+
startStatement: latexParser(statementTree),
|
|
31
|
+
answer: latexParser(answerTree),
|
|
32
32
|
};
|
|
33
33
|
}
|
|
@@ -5,7 +5,7 @@ var integer_1 = require("../../../numbers/integer/integer");
|
|
|
5
5
|
var affine_1 = require("../../../polynomials/affine");
|
|
6
6
|
var discreteSet_1 = require("../../../sets/discreteSet");
|
|
7
7
|
var intervals_1 = require("../../../sets/intervals/intervals");
|
|
8
|
-
var
|
|
8
|
+
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
9
9
|
var numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
10
10
|
var powerNode_1 = require("../../../tree/nodes/operators/powerNode");
|
|
11
11
|
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
@@ -26,8 +26,8 @@ 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
|
-
statement: (0,
|
|
30
|
-
answer: (0,
|
|
29
|
+
statement: (0, latexParser_1.latexParser)(statementTree),
|
|
30
|
+
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
exports.getSecondIdentityQuestion = getSecondIdentityQuestion;
|
|
@@ -2,7 +2,7 @@ import { Integer } from "../../../numbers/integer/integer";
|
|
|
2
2
|
import { AffineConstructor } from "../../../polynomials/affine";
|
|
3
3
|
import { DiscreteSet } from "../../../sets/discreteSet";
|
|
4
4
|
import { Interval } from "../../../sets/intervals/intervals";
|
|
5
|
-
import {
|
|
5
|
+
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
6
6
|
import { NumberNode } from "../../../tree/nodes/numbers/numberNode";
|
|
7
7
|
import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode";
|
|
8
8
|
import { PowerNode } from "../../../tree/nodes/operators/powerNode";
|
|
@@ -29,7 +29,7 @@ export function getSecondIdentityQuestion(): Question {
|
|
|
29
29
|
const answerTree = affine.multiply(affine).toTree();
|
|
30
30
|
|
|
31
31
|
return {
|
|
32
|
-
|
|
33
|
-
answer:
|
|
32
|
+
startStatement: latexParser(statementTree),
|
|
33
|
+
answer: latexParser(answerTree),
|
|
34
34
|
};
|
|
35
35
|
}
|
|
@@ -5,7 +5,7 @@ var integer_1 = require("../../../numbers/integer/integer");
|
|
|
5
5
|
var affine_1 = require("../../../polynomials/affine");
|
|
6
6
|
var discreteSet_1 = require("../../../sets/discreteSet");
|
|
7
7
|
var intervals_1 = require("../../../sets/intervals/intervals");
|
|
8
|
-
var
|
|
8
|
+
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
9
9
|
var numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
10
10
|
var multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
|
|
11
11
|
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
@@ -26,8 +26,8 @@ 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
|
-
statement: (0,
|
|
30
|
-
answer: (0,
|
|
29
|
+
statement: (0, latexParser_1.latexParser)(statementTree),
|
|
30
|
+
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
exports.getSimpleDistributivityQuestion = getSimpleDistributivityQuestion;
|
|
@@ -2,7 +2,7 @@ import { Integer } from "../../../numbers/integer/integer";
|
|
|
2
2
|
import { AffineConstructor } from "../../../polynomials/affine";
|
|
3
3
|
import { DiscreteSet } from "../../../sets/discreteSet";
|
|
4
4
|
import { Interval } from "../../../sets/intervals/intervals";
|
|
5
|
-
import {
|
|
5
|
+
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
6
6
|
import { NumberNode } from "../../../tree/nodes/numbers/numberNode";
|
|
7
7
|
import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode";
|
|
8
8
|
import { Exercise, Question } from "../../exercise";
|
|
@@ -27,7 +27,7 @@ export function getSimpleDistributivityQuestion(): Question {
|
|
|
27
27
|
const statementTree = new MultiplyNode(new NumberNode(coeff.value), affine.toTree());
|
|
28
28
|
const answerTree = affine.times(coeff.value).toTree();
|
|
29
29
|
return {
|
|
30
|
-
|
|
31
|
-
answer:
|
|
30
|
+
startStatement: latexParser(statementTree),
|
|
31
|
+
answer: latexParser(answerTree),
|
|
32
32
|
};
|
|
33
33
|
}
|