math-exercises 1.2.3 → 1.2.5
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 +3 -24
- 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/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/index.js +8 -0
- package/src/index.ts +5 -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
|
-
statement:
|
|
35
|
+
statement: 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
|
-
statement:
|
|
35
|
-
answer:
|
|
34
|
+
statement: 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
|
-
statement:
|
|
29
|
-
answer:
|
|
28
|
+
statement: 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
|
-
statement:
|
|
28
|
-
answer:
|
|
27
|
+
statement: 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
|
-
statement:
|
|
27
|
-
answer:
|
|
26
|
+
statement: 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
|
-
statement:
|
|
26
|
-
answer:
|
|
25
|
+
statement: 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
|
-
statement:
|
|
25
|
-
answer:
|
|
24
|
+
statement: 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
|
-
statement:
|
|
21
|
-
answer:
|
|
20
|
+
statement: 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,8 +1,5 @@
|
|
|
1
1
|
import { randint } from "../../mathutils/random/randint";
|
|
2
|
-
import {
|
|
3
|
-
import { DiscreteSet } from "../../sets/discreteSet";
|
|
4
|
-
import { Interval } from "../../sets/intervals/intervals";
|
|
5
|
-
import { latexParse } from "../../tree/latexParser/latexParse";
|
|
2
|
+
import { latexParser } from "../../tree/parsers/latexParser";
|
|
6
3
|
import { Node } from "../../tree/nodes/node";
|
|
7
4
|
import { NumberNode } from "../../tree/nodes/numbers/numberNode";
|
|
8
5
|
import { AddNode } from "../../tree/nodes/operators/addNode";
|
|
@@ -53,9 +50,6 @@ export function getPriorityQuestions(): Question {
|
|
|
53
50
|
new NumberNode(d)
|
|
54
51
|
);
|
|
55
52
|
answer = (a * b + c + d).toString();
|
|
56
|
-
console.log("type", type);
|
|
57
|
-
console.log("statement", statement);
|
|
58
|
-
console.log("answer", answer);
|
|
59
53
|
break;
|
|
60
54
|
case 2: // a/b ±c±d
|
|
61
55
|
[b, c, d] = [1, 2, 3].map((el) => randint(-10, 11, [0]));
|
|
@@ -72,9 +66,6 @@ export function getPriorityQuestions(): Question {
|
|
|
72
66
|
new NumberNode(d)
|
|
73
67
|
);
|
|
74
68
|
answer = (a / b + c + d).toString();
|
|
75
|
-
console.log("type", type);
|
|
76
|
-
console.log("statement", statement);
|
|
77
|
-
console.log("answer", answer);
|
|
78
69
|
break;
|
|
79
70
|
case 3: // a*b ± c*d
|
|
80
71
|
[a, b, c, d] = [1, 2, 3, 4].map((el) => randint(-10, 11));
|
|
@@ -83,9 +74,6 @@ export function getPriorityQuestions(): Question {
|
|
|
83
74
|
new MultiplyNode(new NumberNode(c), new NumberNode(d))
|
|
84
75
|
);
|
|
85
76
|
answer = (a * b + c * d).toString();
|
|
86
|
-
console.log("type", type);
|
|
87
|
-
console.log("statement", statement);
|
|
88
|
-
console.log("answer", answer);
|
|
89
77
|
break;
|
|
90
78
|
case 4: // a*b ± c/d
|
|
91
79
|
[a, b] = [1, 2].map((el) => randint(-10, 11));
|
|
@@ -96,9 +84,6 @@ export function getPriorityQuestions(): Question {
|
|
|
96
84
|
new DivideNode(new NumberNode(c), new NumberNode(d))
|
|
97
85
|
).shuffle();
|
|
98
86
|
answer = (a * b + c / d).toString();
|
|
99
|
-
console.log("type", type);
|
|
100
|
-
console.log("statement", statement);
|
|
101
|
-
console.log("answer", answer);
|
|
102
87
|
break;
|
|
103
88
|
case 5: // a/b ± c/d
|
|
104
89
|
[b, d] = [1, 2].map((el) => randint(-10, 11, [0]));
|
|
@@ -109,9 +94,6 @@ export function getPriorityQuestions(): Question {
|
|
|
109
94
|
new DivideNode(new NumberNode(c), new NumberNode(d))
|
|
110
95
|
);
|
|
111
96
|
answer = (a / b + c / d).toString();
|
|
112
|
-
console.log("type", type);
|
|
113
|
-
console.log("statement", statement);
|
|
114
|
-
console.log("answer", answer);
|
|
115
97
|
break;
|
|
116
98
|
case 5: // a*b*c ± d
|
|
117
99
|
[b, d] = [1, 2].map((el) => randint(-10, 11, [0]));
|
|
@@ -121,15 +103,12 @@ export function getPriorityQuestions(): Question {
|
|
|
121
103
|
new MultiplyNode(new MultiplyNode(new NumberNode(a), new NumberNode(b)), new NumberNode(c)),
|
|
122
104
|
new NumberNode(d)
|
|
123
105
|
).shuffle();
|
|
124
|
-
answer = a * b * c + d
|
|
125
|
-
console.log("type", type);
|
|
126
|
-
console.log("statement", statement.toString());
|
|
127
|
-
console.log("answer", answer);
|
|
106
|
+
answer = (a * b * c + d).toString();
|
|
128
107
|
break;
|
|
129
108
|
}
|
|
130
109
|
|
|
131
110
|
const question: Question = {
|
|
132
|
-
statement:
|
|
111
|
+
statement: latexParser(statement!),
|
|
133
112
|
answer: answer,
|
|
134
113
|
};
|
|
135
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
|
-
statement:
|
|
65
|
-
answer:
|
|
64
|
+
statement: 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
|
-
statement:
|
|
31
|
-
answer:
|
|
30
|
+
statement: 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
|
-
statement:
|
|
31
|
-
answer:
|
|
30
|
+
statement: 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;
|