math-exercises 1.3.11 → 1.3.13
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/README.md +73 -73
- package/lib/exercises/calcul/addAndSub.d.ts +6 -6
- package/lib/exercises/calcul/addAndSub.js +39 -39
- package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +35 -35
- package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +32 -32
- package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +32 -32
- package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionsDivision.js +29 -29
- package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionsProduct.js +28 -28
- package/lib/exercises/calcul/fractions/fractionsSum.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionsSum.js +28 -28
- package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +3 -3
- package/lib/exercises/calcul/fractions/simplifyFraction.js +24 -24
- package/lib/exercises/calcul/operations/operationsPriorities.d.ts +10 -10
- package/lib/exercises/calcul/operations/operationsPriorities.js +98 -98
- package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +111 -111
- package/lib/exercises/calcul/operationsPriorities.js +88 -88
- package/lib/exercises/calcul/rounding/rounding.d.ts +19 -19
- package/lib/exercises/calcul/rounding/rounding.js +85 -85
- package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
- package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +30 -30
- package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +31 -31
- package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +32 -32
- package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +32 -32
- package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +31 -31
- package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +37 -37
- package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +40 -40
- package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +41 -41
- package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +43 -43
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts +4 -0
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +32 -0
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts +4 -0
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +33 -0
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts +4 -0
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +32 -0
- package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +38 -38
- package/lib/exercises/derivation/derivative/affineDerivative.d.ts +4 -0
- package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +1 -0
- package/lib/exercises/derivation/derivative/affineDerivative.js +27 -0
- package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts +1 -0
- package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts.map +1 -0
- package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +28 -0
- package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +1 -0
- package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +1 -0
- package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +1 -0
- package/lib/exercises/exercise.d.ts +16 -16
- package/lib/exercises/exercise.d.ts.map +1 -1
- package/lib/exercises/exercise.js +7 -7
- package/lib/exercises/exercises.d.ts +1 -1
- package/lib/exercises/exercises.d.ts.map +1 -1
- package/lib/exercises/exercises.js +113 -107
- package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
- package/lib/exercises/geometry/cartesian/midpoint.js +29 -29
- package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
- package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +28 -28
- package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
- package/lib/exercises/powers/powersDivision.d.ts +7 -7
- package/lib/exercises/powers/powersDivision.js +44 -44
- package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
- package/lib/exercises/powers/powersOfTenToDecimal.js +32 -32
- package/lib/exercises/powers/powersPower.d.ts +7 -7
- package/lib/exercises/powers/powersPower.js +43 -43
- package/lib/exercises/powers/powersProduct.d.ts +7 -7
- package/lib/exercises/powers/powersProduct.js +44 -44
- package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
- package/lib/exercises/powers/scientificToDecimal.js +37 -37
- package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
- package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +34 -34
- package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
- package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +33 -33
- package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
- package/lib/exercises/sequences/geometric/geometricFindReason.js +29 -29
- package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
- package/lib/exercises/sequences/geometric/geometricReasonUsage.js +28 -28
- package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
- package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +28 -28
- package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
- package/lib/exercises/squareRoots/simpifySquareRoot.js +27 -27
- package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
- package/lib/exercises/trigonometry/mainRemarkableValues.js +28 -28
- package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
- package/lib/exercises/trigonometry/remarkableValues.js +28 -28
- package/lib/exercises/utils/getDistinctQuestions.d.ts +2 -2
- package/lib/exercises/utils/getDistinctQuestions.js +15 -15
- package/lib/geometry/point.js +27 -27
- package/lib/geometry/vector.js +31 -31
- package/lib/index.d.ts +3 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +39 -6
- package/lib/math/geometry/point.d.ts +12 -12
- package/lib/math/geometry/point.js +27 -27
- package/lib/math/geometry/vector.d.ts +15 -15
- package/lib/math/geometry/vector.js +31 -31
- package/lib/math/numbers/decimals/decimal.d.ts +24 -24
- package/lib/math/numbers/decimals/decimal.js +140 -140
- package/lib/math/numbers/epsilon.d.ts +1 -1
- package/lib/math/numbers/epsilon.js +10 -10
- package/lib/math/numbers/integer/integer.d.ts +14 -14
- package/lib/math/numbers/integer/integer.js +68 -68
- package/lib/math/numbers/integer/power.d.ts +13 -13
- package/lib/math/numbers/integer/power.js +52 -52
- package/lib/math/numbers/nombre.d.ts +13 -13
- package/lib/math/numbers/nombre.js +10 -10
- package/lib/math/numbers/rationals/rational.d.ts +25 -25
- package/lib/math/numbers/rationals/rational.js +113 -113
- package/lib/math/numbers/reals/real.d.ts +9 -9
- package/lib/math/numbers/reals/real.js +16 -16
- package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
- package/lib/math/numbers/reals/squareRoot.js +63 -63
- package/lib/math/polynomials/affine.d.ts +15 -15
- package/lib/math/polynomials/affine.js +42 -42
- package/lib/math/polynomials/polynomial.d.ts +25 -24
- package/lib/math/polynomials/polynomial.d.ts.map +1 -1
- package/lib/math/polynomials/polynomial.js +129 -125
- package/lib/math/sequences/arithmeticSequence.js +1 -1
- package/lib/math/sequences/geometricSequence.d.ts +3 -3
- package/lib/math/sequences/geometricSequence.js +8 -8
- package/lib/math/sequences/sequence.d.ts +22 -22
- package/lib/math/sequences/sequence.js +21 -21
- package/lib/math/sets/discreteSet.d.ts +10 -10
- package/lib/math/sets/discreteSet.js +28 -28
- package/lib/math/sets/emptySet.js +6 -6
- package/lib/math/sets/intervals/intervals.d.ts +26 -26
- package/lib/math/sets/intervals/intervals.js +104 -104
- package/lib/math/sets/mathSet.d.ts +7 -7
- package/lib/math/sets/mathSet.js +10 -10
- package/lib/math/sets/mathSetInterface.d.ts +5 -5
- package/lib/math/sets/mathSetInterface.js +2 -2
- package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
- package/lib/math/trigonometry/remarkableValue.js +29 -29
- package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
- package/lib/math/trigonometry/remarkableValues.js +51 -51
- package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
- package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
- package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
- package/lib/math/utils/arithmetic/dividersOf.js +12 -12
- package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
- package/lib/math/utils/arithmetic/gcd.js +7 -7
- package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
- package/lib/math/utils/arithmetic/isSquare.js +7 -7
- package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
- package/lib/math/utils/arithmetic/lcd.js +12 -12
- package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
- package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
- package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
- package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
- package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
- package/lib/math/utils/arithmetic/primeFactors.js +22 -22
- package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
- package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
- package/lib/math/utils/random/randTupleInt.d.ts +13 -13
- package/lib/math/utils/random/randTupleInt.js +30 -30
- package/lib/math/utils/random/randint.d.ts +4 -4
- package/lib/math/utils/random/randint.js +18 -18
- package/lib/math/utils/round.d.ts +1 -1
- package/lib/math/utils/round.js +8 -8
- package/lib/mathutils/arithmetic/coprimesOf.js +13 -13
- package/lib/mathutils/arithmetic/dividersOf.js +12 -12
- package/lib/mathutils/arithmetic/gcd.js +7 -7
- package/lib/mathutils/arithmetic/isSquare.js +7 -7
- package/lib/mathutils/arithmetic/lcd.js +12 -12
- package/lib/mathutils/arithmetic/nonCoprimesOf.js +13 -13
- package/lib/mathutils/arithmetic/nonDividersOf.js +14 -14
- package/lib/mathutils/arithmetic/primeFactors.js +22 -22
- package/lib/mathutils/decimals/decimalPartLengthOf.js +14 -14
- package/lib/mathutils/random/randTupleInt.js +30 -30
- package/lib/mathutils/random/randint.js +18 -18
- package/lib/mathutils/round.js +8 -8
- package/lib/numbers/decimals/decimal.js +140 -140
- package/lib/numbers/epsilon.js +10 -10
- package/lib/numbers/integer/integer.js +68 -68
- package/lib/numbers/integer/power.js +52 -52
- package/lib/numbers/nombre.js +10 -10
- package/lib/numbers/rationals/rational.js +113 -113
- package/lib/numbers/reals/real.js +16 -16
- package/lib/numbers/reals/squareRoot.js +63 -63
- package/lib/polynomials/affine.js +42 -42
- package/lib/polynomials/polynomial.js +125 -125
- package/lib/server.d.ts +2 -0
- package/lib/server.d.ts.map +1 -0
- package/lib/server.js +33 -0
- package/lib/sets/discreteSet.js +28 -28
- package/lib/sets/emptySet.js +6 -6
- package/lib/sets/intervals/intervals.js +108 -104
- package/lib/sets/intervals/union.js +1 -1
- package/lib/sets/mathSet.js +10 -10
- package/lib/sets/mathSetInterface.js +2 -2
- package/lib/tree/nodes/functions/cosNode.d.ts +9 -9
- package/lib/tree/nodes/functions/cosNode.js +21 -21
- package/lib/tree/nodes/functions/functionNode.d.ts +14 -14
- package/lib/tree/nodes/functions/functionNode.js +20 -20
- package/lib/tree/nodes/functions/oppositeNode.d.ts +7 -7
- package/lib/tree/nodes/functions/oppositeNode.js +26 -26
- package/lib/tree/nodes/functions/sinNode.js +1 -1
- package/lib/tree/nodes/functions/sqrtNode.d.ts +8 -8
- package/lib/tree/nodes/functions/sqrtNode.js +18 -18
- package/lib/tree/nodes/node.d.ts +12 -12
- package/lib/tree/nodes/node.js +11 -11
- package/lib/tree/nodes/numbers/constantNode.d.ts +9 -9
- package/lib/tree/nodes/numbers/constantNode.js +18 -18
- package/lib/tree/nodes/numbers/numberNode.d.ts +10 -10
- package/lib/tree/nodes/numbers/numberNode.js +19 -19
- package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
- package/lib/tree/nodes/numbers/piNode.js +5 -5
- package/lib/tree/nodes/operators/addNode.d.ts +7 -7
- package/lib/tree/nodes/operators/addNode.js +19 -19
- package/lib/tree/nodes/operators/divideNode.d.ts +11 -11
- package/lib/tree/nodes/operators/divideNode.js +34 -34
- package/lib/tree/nodes/operators/equalNode.d.ts +7 -7
- package/lib/tree/nodes/operators/equalNode.js +16 -16
- package/lib/tree/nodes/operators/fractionNode.d.ts +11 -11
- package/lib/tree/nodes/operators/fractionNode.js +20 -20
- package/lib/tree/nodes/operators/multiplyNode.d.ts +7 -7
- package/lib/tree/nodes/operators/multiplyNode.js +43 -43
- package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
- package/lib/tree/nodes/operators/operatorNode.js +35 -35
- package/lib/tree/nodes/operators/powerNode.d.ts +7 -7
- package/lib/tree/nodes/operators/powerNode.js +33 -33
- package/lib/tree/nodes/operators/substractNode.d.ts +7 -7
- package/lib/tree/nodes/operators/substractNode.js +24 -24
- package/lib/tree/nodes/variables/variableNode.d.ts +8 -8
- package/lib/tree/nodes/variables/variableNode.js +19 -19
- package/lib/tree/parsers/derivateParser.js +62 -62
- package/lib/tree/parsers/latexParser.js +110 -110
- package/lib/tree/parsers/simplify.d.ts +2 -2
- package/lib/tree/parsers/simplify.js +52 -52
- package/lib/utils/arrayEqual.d.ts +1 -1
- package/lib/utils/arrayEqual.js +13 -13
- package/lib/utils/coin.js +7 -7
- package/lib/utils/coinFlip.d.ts +1 -1
- package/lib/utils/coinFlip.js +7 -7
- package/lib/utils/random.d.ts +1 -1
- package/lib/utils/random.js +7 -7
- package/lib/utils/shuffle.d.ts +1 -1
- package/lib/utils/shuffle.js +15 -15
- package/package.json +50 -45
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq.d.ts +0 -7
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq.d.ts.map +0 -1
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq.js +0 -38
- package/lib/trigonometry/remarkableValue.js +0 -29
- package/lib/trigonometry/remarkableValues.js +0 -51
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getFractionsSum = exports.fractionsSum = void 0;
|
|
4
|
-
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
-
const rational_1 = require("../../../math/numbers/rationals/rational");
|
|
6
|
-
const addNode_1 = require("../../../tree/nodes/operators/addNode");
|
|
7
|
-
exports.fractionsSum = {
|
|
8
|
-
id: 'fractionsSum',
|
|
9
|
-
connector: '=',
|
|
10
|
-
instruction: 'Calculer la forme irréductible :',
|
|
11
|
-
label: 'Sommes de fractions',
|
|
12
|
-
levels: ['4', '3', '2', '1'],
|
|
13
|
-
section: 'Fractions',
|
|
14
|
-
isSingleStep: false,
|
|
15
|
-
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getFractionsSum, nb),
|
|
16
|
-
};
|
|
17
|
-
function getFractionsSum() {
|
|
18
|
-
const rational = rational_1.RationalConstructor.randomIrreductible();
|
|
19
|
-
const rational2 = rational_1.RationalConstructor.randomIrreductible();
|
|
20
|
-
const statementTree = new addNode_1.AddNode(rational.toTree(), rational2.toTree());
|
|
21
|
-
const answerTree = rational.add(rational2).toTree();
|
|
22
|
-
const question = {
|
|
23
|
-
startStatement: statementTree.toTex(),
|
|
24
|
-
answer: answerTree.toTex(),
|
|
25
|
-
};
|
|
26
|
-
return question;
|
|
27
|
-
}
|
|
28
|
-
exports.getFractionsSum = getFractionsSum;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFractionsSum = exports.fractionsSum = void 0;
|
|
4
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
+
const rational_1 = require("../../../math/numbers/rationals/rational");
|
|
6
|
+
const addNode_1 = require("../../../tree/nodes/operators/addNode");
|
|
7
|
+
exports.fractionsSum = {
|
|
8
|
+
id: 'fractionsSum',
|
|
9
|
+
connector: '=',
|
|
10
|
+
instruction: 'Calculer la forme irréductible :',
|
|
11
|
+
label: 'Sommes de fractions',
|
|
12
|
+
levels: ['4', '3', '2', '1'],
|
|
13
|
+
section: 'Fractions',
|
|
14
|
+
isSingleStep: false,
|
|
15
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getFractionsSum, nb),
|
|
16
|
+
};
|
|
17
|
+
function getFractionsSum() {
|
|
18
|
+
const rational = rational_1.RationalConstructor.randomIrreductible();
|
|
19
|
+
const rational2 = rational_1.RationalConstructor.randomIrreductible();
|
|
20
|
+
const statementTree = new addNode_1.AddNode(rational.toTree(), rational2.toTree());
|
|
21
|
+
const answerTree = rational.add(rational2).toTree();
|
|
22
|
+
const question = {
|
|
23
|
+
startStatement: statementTree.toTex(),
|
|
24
|
+
answer: answerTree.toTex(),
|
|
25
|
+
};
|
|
26
|
+
return question;
|
|
27
|
+
}
|
|
28
|
+
exports.getFractionsSum = getFractionsSum;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Exercise, Question } from '../../../exercises/exercise';
|
|
2
|
-
export declare const simplifyFraction: Exercise;
|
|
3
|
-
export declare function getSimplifyFraction(): Question;
|
|
1
|
+
import { Exercise, Question } from '../../../exercises/exercise';
|
|
2
|
+
export declare const simplifyFraction: Exercise;
|
|
3
|
+
export declare function getSimplifyFraction(): Question;
|
|
4
4
|
//# sourceMappingURL=simplifyFraction.d.ts.map
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSimplifyFraction = exports.simplifyFraction = void 0;
|
|
4
|
-
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
-
const rational_1 = require("../../../math/numbers/rationals/rational");
|
|
6
|
-
exports.simplifyFraction = {
|
|
7
|
-
id: 'simplifyFrac',
|
|
8
|
-
connector: '=',
|
|
9
|
-
instruction: 'Simplifier :',
|
|
10
|
-
label: 'Simplification de fractions',
|
|
11
|
-
levels: ['4', '3', '2'],
|
|
12
|
-
isSingleStep: false,
|
|
13
|
-
section: 'Fractions',
|
|
14
|
-
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSimplifyFraction, nb),
|
|
15
|
-
};
|
|
16
|
-
function getSimplifyFraction() {
|
|
17
|
-
const rational = rational_1.RationalConstructor.randomSimplifiable(10);
|
|
18
|
-
const question = {
|
|
19
|
-
startStatement: rational.toTree().toTex(),
|
|
20
|
-
answer: rational.simplify().toTree().toTex(),
|
|
21
|
-
};
|
|
22
|
-
return question;
|
|
23
|
-
}
|
|
24
|
-
exports.getSimplifyFraction = getSimplifyFraction;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSimplifyFraction = exports.simplifyFraction = void 0;
|
|
4
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
+
const rational_1 = require("../../../math/numbers/rationals/rational");
|
|
6
|
+
exports.simplifyFraction = {
|
|
7
|
+
id: 'simplifyFrac',
|
|
8
|
+
connector: '=',
|
|
9
|
+
instruction: 'Simplifier :',
|
|
10
|
+
label: 'Simplification de fractions',
|
|
11
|
+
levels: ['4', '3', '2'],
|
|
12
|
+
isSingleStep: false,
|
|
13
|
+
section: 'Fractions',
|
|
14
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSimplifyFraction, nb),
|
|
15
|
+
};
|
|
16
|
+
function getSimplifyFraction() {
|
|
17
|
+
const rational = rational_1.RationalConstructor.randomSimplifiable(10);
|
|
18
|
+
const question = {
|
|
19
|
+
startStatement: rational.toTree().toTex(),
|
|
20
|
+
answer: rational.simplify().toTree().toTex(),
|
|
21
|
+
};
|
|
22
|
+
return question;
|
|
23
|
+
}
|
|
24
|
+
exports.getSimplifyFraction = getSimplifyFraction;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* a*b ±c±d
|
|
3
|
-
* a/b ±c±d
|
|
4
|
-
* a*b*c ± d
|
|
5
|
-
* a*b±c*d
|
|
6
|
-
* a/b ± c*d
|
|
7
|
-
*/
|
|
8
|
-
import { Exercise, Question } from '../../../exercises/exercise';
|
|
9
|
-
export declare const operationsPriorities: Exercise;
|
|
10
|
-
export declare function getPriorityQuestions(): Question;
|
|
1
|
+
/**
|
|
2
|
+
* a*b ±c±d
|
|
3
|
+
* a/b ±c±d
|
|
4
|
+
* a*b*c ± d
|
|
5
|
+
* a*b±c*d
|
|
6
|
+
* a/b ± c*d
|
|
7
|
+
*/
|
|
8
|
+
import { Exercise, Question } from '../../../exercises/exercise';
|
|
9
|
+
export declare const operationsPriorities: Exercise;
|
|
10
|
+
export declare function getPriorityQuestions(): Question;
|
|
11
11
|
//# sourceMappingURL=operationsPriorities.d.ts.map
|
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* a*b ±c±d
|
|
4
|
-
* a/b ±c±d
|
|
5
|
-
* a*b*c ± d
|
|
6
|
-
* a*b±c*d
|
|
7
|
-
* a/b ± c*d
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.getPriorityQuestions = exports.operationsPriorities = void 0;
|
|
11
|
-
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
12
|
-
const randint_1 = require("../../../math/utils/random/randint");
|
|
13
|
-
const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
14
|
-
const addNode_1 = require("../../../tree/nodes/operators/addNode");
|
|
15
|
-
const divideNode_1 = require("../../../tree/nodes/operators/divideNode");
|
|
16
|
-
const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
|
|
17
|
-
const coinFlip_1 = require("../../../utils/coinFlip");
|
|
18
|
-
exports.operationsPriorities = {
|
|
19
|
-
id: 'operationsPriorities',
|
|
20
|
-
connector: '=',
|
|
21
|
-
instruction: 'Calculer :',
|
|
22
|
-
label: 'Priorités opératoires',
|
|
23
|
-
levels: ['6', '5', '4'],
|
|
24
|
-
section: 'Calculs',
|
|
25
|
-
isSingleStep: true,
|
|
26
|
-
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getPriorityQuestions, nb),
|
|
27
|
-
};
|
|
28
|
-
function getPriorityQuestions() {
|
|
29
|
-
const type = (0, randint_1.randint)(1, 6);
|
|
30
|
-
let startStatement = '';
|
|
31
|
-
let answer = '';
|
|
32
|
-
let a, b, c, d;
|
|
33
|
-
let statement;
|
|
34
|
-
switch (type) {
|
|
35
|
-
case 1: // a*b ±c±d
|
|
36
|
-
[c, d] = [1, 2, 3, 4].map((el) => (0, randint_1.randint)(-10, 11, [0]));
|
|
37
|
-
[a, b] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11));
|
|
38
|
-
statement = (0, coinFlip_1.coinFlip)()
|
|
39
|
-
? //a*b first ou last
|
|
40
|
-
new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new addNode_1.AddNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d)))
|
|
41
|
-
: //a*b middle
|
|
42
|
-
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));
|
|
43
|
-
statement.shuffle();
|
|
44
|
-
startStatement = statement.toTex();
|
|
45
|
-
answer = (a * b + c + d).toString();
|
|
46
|
-
break;
|
|
47
|
-
case 2: // a/b ±c±d
|
|
48
|
-
[b, c, d] = [1, 2, 3].map((el) => (0, randint_1.randint)(-10, 11, [0]));
|
|
49
|
-
a = b * (0, randint_1.randint)(0, 11);
|
|
50
|
-
statement = (0, coinFlip_1.coinFlip)()
|
|
51
|
-
? //a/b first ou last
|
|
52
|
-
new addNode_1.AddNode(new divideNode_1.DivideNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new addNode_1.AddNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d)))
|
|
53
|
-
: //a/b middle
|
|
54
|
-
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));
|
|
55
|
-
statement.shuffle();
|
|
56
|
-
startStatement = statement.toTex();
|
|
57
|
-
answer = (a / b + c + d).toString();
|
|
58
|
-
break;
|
|
59
|
-
case 3: // a*b ± c*d
|
|
60
|
-
[a, b, c, d] = [1, 2, 3, 4].map((el) => (0, randint_1.randint)(-10, 11));
|
|
61
|
-
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)));
|
|
62
|
-
startStatement = statement.toTex();
|
|
63
|
-
answer = (a * b + c * d).toString();
|
|
64
|
-
break;
|
|
65
|
-
case 4: // a*b ± c/d
|
|
66
|
-
[a, b] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11));
|
|
67
|
-
d = (0, randint_1.randint)(-10, 11, [0]);
|
|
68
|
-
c = d * (0, randint_1.randint)(0, 11);
|
|
69
|
-
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)));
|
|
70
|
-
statement.shuffle();
|
|
71
|
-
startStatement = statement.toTex();
|
|
72
|
-
answer = (a * b + c / d).toString();
|
|
73
|
-
break;
|
|
74
|
-
case 5: // a/b ± c/d
|
|
75
|
-
[b, d] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11, [0]));
|
|
76
|
-
a = b * (0, randint_1.randint)(0, 11);
|
|
77
|
-
c = d * (0, randint_1.randint)(0, 11);
|
|
78
|
-
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)));
|
|
79
|
-
startStatement = statement.toTex();
|
|
80
|
-
answer = (a / b + c / d).toString();
|
|
81
|
-
break;
|
|
82
|
-
case 5: // a*b*c ± d
|
|
83
|
-
[b, d] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11, [0]));
|
|
84
|
-
a = b * (0, randint_1.randint)(0, 11);
|
|
85
|
-
c = d * (0, randint_1.randint)(0, 11);
|
|
86
|
-
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));
|
|
87
|
-
statement.shuffle();
|
|
88
|
-
startStatement = statement.toTex();
|
|
89
|
-
answer = (a * b * c + d).toString();
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
92
|
-
const question = {
|
|
93
|
-
startStatement,
|
|
94
|
-
answer,
|
|
95
|
-
};
|
|
96
|
-
return question;
|
|
97
|
-
}
|
|
98
|
-
exports.getPriorityQuestions = getPriorityQuestions;
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* a*b ±c±d
|
|
4
|
+
* a/b ±c±d
|
|
5
|
+
* a*b*c ± d
|
|
6
|
+
* a*b±c*d
|
|
7
|
+
* a/b ± c*d
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.getPriorityQuestions = exports.operationsPriorities = void 0;
|
|
11
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
12
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
13
|
+
const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
14
|
+
const addNode_1 = require("../../../tree/nodes/operators/addNode");
|
|
15
|
+
const divideNode_1 = require("../../../tree/nodes/operators/divideNode");
|
|
16
|
+
const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
|
|
17
|
+
const coinFlip_1 = require("../../../utils/coinFlip");
|
|
18
|
+
exports.operationsPriorities = {
|
|
19
|
+
id: 'operationsPriorities',
|
|
20
|
+
connector: '=',
|
|
21
|
+
instruction: 'Calculer :',
|
|
22
|
+
label: 'Priorités opératoires',
|
|
23
|
+
levels: ['6', '5', '4'],
|
|
24
|
+
section: 'Calculs',
|
|
25
|
+
isSingleStep: true,
|
|
26
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getPriorityQuestions, nb),
|
|
27
|
+
};
|
|
28
|
+
function getPriorityQuestions() {
|
|
29
|
+
const type = (0, randint_1.randint)(1, 6);
|
|
30
|
+
let startStatement = '';
|
|
31
|
+
let answer = '';
|
|
32
|
+
let a, b, c, d;
|
|
33
|
+
let statement;
|
|
34
|
+
switch (type) {
|
|
35
|
+
case 1: // a*b ±c±d
|
|
36
|
+
[c, d] = [1, 2, 3, 4].map((el) => (0, randint_1.randint)(-10, 11, [0]));
|
|
37
|
+
[a, b] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11));
|
|
38
|
+
statement = (0, coinFlip_1.coinFlip)()
|
|
39
|
+
? //a*b first ou last
|
|
40
|
+
new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new addNode_1.AddNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d)))
|
|
41
|
+
: //a*b middle
|
|
42
|
+
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));
|
|
43
|
+
statement.shuffle();
|
|
44
|
+
startStatement = statement.toTex();
|
|
45
|
+
answer = (a * b + c + d).toString();
|
|
46
|
+
break;
|
|
47
|
+
case 2: // a/b ±c±d
|
|
48
|
+
[b, c, d] = [1, 2, 3].map((el) => (0, randint_1.randint)(-10, 11, [0]));
|
|
49
|
+
a = b * (0, randint_1.randint)(0, 11);
|
|
50
|
+
statement = (0, coinFlip_1.coinFlip)()
|
|
51
|
+
? //a/b first ou last
|
|
52
|
+
new addNode_1.AddNode(new divideNode_1.DivideNode(new numberNode_1.NumberNode(a), new numberNode_1.NumberNode(b)), new addNode_1.AddNode(new numberNode_1.NumberNode(c), new numberNode_1.NumberNode(d)))
|
|
53
|
+
: //a/b middle
|
|
54
|
+
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));
|
|
55
|
+
statement.shuffle();
|
|
56
|
+
startStatement = statement.toTex();
|
|
57
|
+
answer = (a / b + c + d).toString();
|
|
58
|
+
break;
|
|
59
|
+
case 3: // a*b ± c*d
|
|
60
|
+
[a, b, c, d] = [1, 2, 3, 4].map((el) => (0, randint_1.randint)(-10, 11));
|
|
61
|
+
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)));
|
|
62
|
+
startStatement = statement.toTex();
|
|
63
|
+
answer = (a * b + c * d).toString();
|
|
64
|
+
break;
|
|
65
|
+
case 4: // a*b ± c/d
|
|
66
|
+
[a, b] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11));
|
|
67
|
+
d = (0, randint_1.randint)(-10, 11, [0]);
|
|
68
|
+
c = d * (0, randint_1.randint)(0, 11);
|
|
69
|
+
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)));
|
|
70
|
+
statement.shuffle();
|
|
71
|
+
startStatement = statement.toTex();
|
|
72
|
+
answer = (a * b + c / d).toString();
|
|
73
|
+
break;
|
|
74
|
+
case 5: // a/b ± c/d
|
|
75
|
+
[b, d] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11, [0]));
|
|
76
|
+
a = b * (0, randint_1.randint)(0, 11);
|
|
77
|
+
c = d * (0, randint_1.randint)(0, 11);
|
|
78
|
+
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)));
|
|
79
|
+
startStatement = statement.toTex();
|
|
80
|
+
answer = (a / b + c / d).toString();
|
|
81
|
+
break;
|
|
82
|
+
case 5: // a*b*c ± d
|
|
83
|
+
[b, d] = [1, 2].map((el) => (0, randint_1.randint)(-10, 11, [0]));
|
|
84
|
+
a = b * (0, randint_1.randint)(0, 11);
|
|
85
|
+
c = d * (0, randint_1.randint)(0, 11);
|
|
86
|
+
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));
|
|
87
|
+
statement.shuffle();
|
|
88
|
+
startStatement = statement.toTex();
|
|
89
|
+
answer = (a * b * c + d).toString();
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
const question = {
|
|
93
|
+
startStatement,
|
|
94
|
+
answer,
|
|
95
|
+
};
|
|
96
|
+
return question;
|
|
97
|
+
}
|
|
98
|
+
exports.getPriorityQuestions = getPriorityQuestions;
|
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// import { randint } from "../../mathutils/random/randint";
|
|
3
|
-
// import { latexParser } from "../../tree/parsers/latexParser";
|
|
4
|
-
// import { Node } from "../../tree/nodes/node";
|
|
5
|
-
// import { NumberNode } from "../../tree/nodes/numbers/numberNode";
|
|
6
|
-
// import { AddNode } from "../../tree/nodes/operators/addNode";
|
|
7
|
-
// import { DivideNode } from "../../tree/nodes/operators/divideNode";
|
|
8
|
-
// import { MultiplyNode } from "../../tree/nodes/operators/multiplyNode";
|
|
9
|
-
// import { coinFlip } from "../../utils/coinFlip";
|
|
10
|
-
// import { Exercise, Question } from "../exercise";
|
|
11
|
-
// import { getDistinctQuestions } from "../utils/getDistinctQuestions";
|
|
12
|
-
// /**
|
|
13
|
-
// * a*b ±c±d
|
|
14
|
-
// * a/b ±c±d
|
|
15
|
-
// * a*b*c ± d
|
|
16
|
-
// * a*b±c*d
|
|
17
|
-
// * a/b ± c*d
|
|
18
|
-
// */
|
|
19
|
-
// export const operationsPriorities: Exercise = {
|
|
20
|
-
// id: "operationsPrioritiesWithoutRelative",
|
|
21
|
-
// connector: "=",
|
|
22
|
-
// instruction: "Calculer :",
|
|
23
|
-
// label: "Priorités opératoires (sans relatif)",
|
|
24
|
-
// levels: ["6", "5", "4"],
|
|
25
|
-
// section: "Calculs",
|
|
26
|
-
// isSingleStep: true,
|
|
27
|
-
// generator: (nb: number) => getDistinctQuestions(getPriorityQuestionsWithoutRelatif, nb),
|
|
28
|
-
// };
|
|
29
|
-
// export function getPriorityQuestionsWithoutRelatif(): Question {
|
|
30
|
-
// const type = randint(1, 6);
|
|
31
|
-
// let statement: Node;
|
|
32
|
-
// let answer: string = "";
|
|
33
|
-
// let a, b, c, d: number;
|
|
34
|
-
// switch (type) {
|
|
35
|
-
// case 1: // a*b ±c±d
|
|
36
|
-
// [c, d] = [1, 2, 3, 4].map((el) => randint(-10, 11, [0]));
|
|
37
|
-
// [a, b] = [1, 2].map((el) => randint(-10, 11));
|
|
38
|
-
// statement = coinFlip()
|
|
39
|
-
// ? //a*b first ou last
|
|
40
|
-
// new AddNode(
|
|
41
|
-
// new MultiplyNode(new NumberNode(a), new NumberNode(b)),
|
|
42
|
-
// new AddNode(new NumberNode(c), new NumberNode(d))
|
|
43
|
-
// ).shuffle()
|
|
44
|
-
// : //a*b middle
|
|
45
|
-
// new AddNode(
|
|
46
|
-
// new AddNode(new NumberNode(c), new MultiplyNode(new NumberNode(a), new NumberNode(b))),
|
|
47
|
-
// new NumberNode(d)
|
|
48
|
-
// );
|
|
49
|
-
// answer = (a * b + c + d).toString();
|
|
50
|
-
// break;
|
|
51
|
-
// case 2: // a/b ±c±d
|
|
52
|
-
// [b, c, d] = [1, 2, 3].map((el) => randint(-10, 11, [0]));
|
|
53
|
-
// a = b * randint(0, 11);
|
|
54
|
-
// statement = coinFlip()
|
|
55
|
-
// ? //a/b first ou last
|
|
56
|
-
// new AddNode(
|
|
57
|
-
// new DivideNode(new NumberNode(a), new NumberNode(b)),
|
|
58
|
-
// new AddNode(new NumberNode(c), new NumberNode(d))
|
|
59
|
-
// ).shuffle()
|
|
60
|
-
// : //a/b middle
|
|
61
|
-
// new AddNode(
|
|
62
|
-
// new AddNode(new NumberNode(c), new DivideNode(new NumberNode(a), new NumberNode(b))),
|
|
63
|
-
// new NumberNode(d)
|
|
64
|
-
// );
|
|
65
|
-
// answer = (a / b + c + d).toString();
|
|
66
|
-
// break;
|
|
67
|
-
// case 3: // a*b ± c*d
|
|
68
|
-
// [a, b, c, d] = [1, 2, 3, 4].map((el) => randint(-10, 11));
|
|
69
|
-
// statement = new AddNode(
|
|
70
|
-
// new MultiplyNode(new NumberNode(a), new NumberNode(b)),
|
|
71
|
-
// new MultiplyNode(new NumberNode(c), new NumberNode(d))
|
|
72
|
-
// );
|
|
73
|
-
// answer = (a * b + c * d).toString();
|
|
74
|
-
// break;
|
|
75
|
-
// case 4: // a*b ± c/d
|
|
76
|
-
// [a, b] = [1, 2].map((el) => randint(-10, 11));
|
|
77
|
-
// d = randint(-10, 11, [0]);
|
|
78
|
-
// c = d * randint(0, 11);
|
|
79
|
-
// statement = new AddNode(
|
|
80
|
-
// new MultiplyNode(new NumberNode(a), new NumberNode(b)),
|
|
81
|
-
// new DivideNode(new NumberNode(c), new NumberNode(d))
|
|
82
|
-
// ).shuffle();
|
|
83
|
-
// answer = (a * b + c / d).toString();
|
|
84
|
-
// break;
|
|
85
|
-
// case 5: // a/b ± c/d
|
|
86
|
-
// [b, d] = [1, 2].map((el) => randint(-10, 11, [0]));
|
|
87
|
-
// a = b * randint(0, 11);
|
|
88
|
-
// c = d * randint(0, 11);
|
|
89
|
-
// statement = new AddNode(
|
|
90
|
-
// new DivideNode(new NumberNode(a), new NumberNode(b)),
|
|
91
|
-
// new DivideNode(new NumberNode(c), new NumberNode(d))
|
|
92
|
-
// );
|
|
93
|
-
// answer = (a / b + c / d).toString();
|
|
94
|
-
// break;
|
|
95
|
-
// case 5: // a*b*c ± d
|
|
96
|
-
// [b, d] = [1, 2].map((el) => randint(-10, 11, [0]));
|
|
97
|
-
// a = b * randint(0, 11);
|
|
98
|
-
// c = d * randint(0, 11);
|
|
99
|
-
// statement = new AddNode(
|
|
100
|
-
// new MultiplyNode(new MultiplyNode(new NumberNode(a), new NumberNode(b)), new NumberNode(c)),
|
|
101
|
-
// new NumberNode(d)
|
|
102
|
-
// ).shuffle();
|
|
103
|
-
// answer = (a * b * c + d).toString();
|
|
104
|
-
// break;
|
|
105
|
-
// }
|
|
106
|
-
// const question: Question = {
|
|
107
|
-
// startStatement: latexParser(statement!),
|
|
108
|
-
// answer: answer,
|
|
109
|
-
// };
|
|
110
|
-
// return question;
|
|
111
|
-
// }
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { randint } from "../../mathutils/random/randint";
|
|
3
|
+
// import { latexParser } from "../../tree/parsers/latexParser";
|
|
4
|
+
// import { Node } from "../../tree/nodes/node";
|
|
5
|
+
// import { NumberNode } from "../../tree/nodes/numbers/numberNode";
|
|
6
|
+
// import { AddNode } from "../../tree/nodes/operators/addNode";
|
|
7
|
+
// import { DivideNode } from "../../tree/nodes/operators/divideNode";
|
|
8
|
+
// import { MultiplyNode } from "../../tree/nodes/operators/multiplyNode";
|
|
9
|
+
// import { coinFlip } from "../../utils/coinFlip";
|
|
10
|
+
// import { Exercise, Question } from "../exercise";
|
|
11
|
+
// import { getDistinctQuestions } from "../utils/getDistinctQuestions";
|
|
12
|
+
// /**
|
|
13
|
+
// * a*b ±c±d
|
|
14
|
+
// * a/b ±c±d
|
|
15
|
+
// * a*b*c ± d
|
|
16
|
+
// * a*b±c*d
|
|
17
|
+
// * a/b ± c*d
|
|
18
|
+
// */
|
|
19
|
+
// export const operationsPriorities: Exercise = {
|
|
20
|
+
// id: "operationsPrioritiesWithoutRelative",
|
|
21
|
+
// connector: "=",
|
|
22
|
+
// instruction: "Calculer :",
|
|
23
|
+
// label: "Priorités opératoires (sans relatif)",
|
|
24
|
+
// levels: ["6", "5", "4"],
|
|
25
|
+
// section: "Calculs",
|
|
26
|
+
// isSingleStep: true,
|
|
27
|
+
// generator: (nb: number) => getDistinctQuestions(getPriorityQuestionsWithoutRelatif, nb),
|
|
28
|
+
// };
|
|
29
|
+
// export function getPriorityQuestionsWithoutRelatif(): Question {
|
|
30
|
+
// const type = randint(1, 6);
|
|
31
|
+
// let statement: Node;
|
|
32
|
+
// let answer: string = "";
|
|
33
|
+
// let a, b, c, d: number;
|
|
34
|
+
// switch (type) {
|
|
35
|
+
// case 1: // a*b ±c±d
|
|
36
|
+
// [c, d] = [1, 2, 3, 4].map((el) => randint(-10, 11, [0]));
|
|
37
|
+
// [a, b] = [1, 2].map((el) => randint(-10, 11));
|
|
38
|
+
// statement = coinFlip()
|
|
39
|
+
// ? //a*b first ou last
|
|
40
|
+
// new AddNode(
|
|
41
|
+
// new MultiplyNode(new NumberNode(a), new NumberNode(b)),
|
|
42
|
+
// new AddNode(new NumberNode(c), new NumberNode(d))
|
|
43
|
+
// ).shuffle()
|
|
44
|
+
// : //a*b middle
|
|
45
|
+
// new AddNode(
|
|
46
|
+
// new AddNode(new NumberNode(c), new MultiplyNode(new NumberNode(a), new NumberNode(b))),
|
|
47
|
+
// new NumberNode(d)
|
|
48
|
+
// );
|
|
49
|
+
// answer = (a * b + c + d).toString();
|
|
50
|
+
// break;
|
|
51
|
+
// case 2: // a/b ±c±d
|
|
52
|
+
// [b, c, d] = [1, 2, 3].map((el) => randint(-10, 11, [0]));
|
|
53
|
+
// a = b * randint(0, 11);
|
|
54
|
+
// statement = coinFlip()
|
|
55
|
+
// ? //a/b first ou last
|
|
56
|
+
// new AddNode(
|
|
57
|
+
// new DivideNode(new NumberNode(a), new NumberNode(b)),
|
|
58
|
+
// new AddNode(new NumberNode(c), new NumberNode(d))
|
|
59
|
+
// ).shuffle()
|
|
60
|
+
// : //a/b middle
|
|
61
|
+
// new AddNode(
|
|
62
|
+
// new AddNode(new NumberNode(c), new DivideNode(new NumberNode(a), new NumberNode(b))),
|
|
63
|
+
// new NumberNode(d)
|
|
64
|
+
// );
|
|
65
|
+
// answer = (a / b + c + d).toString();
|
|
66
|
+
// break;
|
|
67
|
+
// case 3: // a*b ± c*d
|
|
68
|
+
// [a, b, c, d] = [1, 2, 3, 4].map((el) => randint(-10, 11));
|
|
69
|
+
// statement = new AddNode(
|
|
70
|
+
// new MultiplyNode(new NumberNode(a), new NumberNode(b)),
|
|
71
|
+
// new MultiplyNode(new NumberNode(c), new NumberNode(d))
|
|
72
|
+
// );
|
|
73
|
+
// answer = (a * b + c * d).toString();
|
|
74
|
+
// break;
|
|
75
|
+
// case 4: // a*b ± c/d
|
|
76
|
+
// [a, b] = [1, 2].map((el) => randint(-10, 11));
|
|
77
|
+
// d = randint(-10, 11, [0]);
|
|
78
|
+
// c = d * randint(0, 11);
|
|
79
|
+
// statement = new AddNode(
|
|
80
|
+
// new MultiplyNode(new NumberNode(a), new NumberNode(b)),
|
|
81
|
+
// new DivideNode(new NumberNode(c), new NumberNode(d))
|
|
82
|
+
// ).shuffle();
|
|
83
|
+
// answer = (a * b + c / d).toString();
|
|
84
|
+
// break;
|
|
85
|
+
// case 5: // a/b ± c/d
|
|
86
|
+
// [b, d] = [1, 2].map((el) => randint(-10, 11, [0]));
|
|
87
|
+
// a = b * randint(0, 11);
|
|
88
|
+
// c = d * randint(0, 11);
|
|
89
|
+
// statement = new AddNode(
|
|
90
|
+
// new DivideNode(new NumberNode(a), new NumberNode(b)),
|
|
91
|
+
// new DivideNode(new NumberNode(c), new NumberNode(d))
|
|
92
|
+
// );
|
|
93
|
+
// answer = (a / b + c / d).toString();
|
|
94
|
+
// break;
|
|
95
|
+
// case 5: // a*b*c ± d
|
|
96
|
+
// [b, d] = [1, 2].map((el) => randint(-10, 11, [0]));
|
|
97
|
+
// a = b * randint(0, 11);
|
|
98
|
+
// c = d * randint(0, 11);
|
|
99
|
+
// statement = new AddNode(
|
|
100
|
+
// new MultiplyNode(new MultiplyNode(new NumberNode(a), new NumberNode(b)), new NumberNode(c)),
|
|
101
|
+
// new NumberNode(d)
|
|
102
|
+
// ).shuffle();
|
|
103
|
+
// answer = (a * b * c + d).toString();
|
|
104
|
+
// break;
|
|
105
|
+
// }
|
|
106
|
+
// const question: Question = {
|
|
107
|
+
// startStatement: latexParser(statement!),
|
|
108
|
+
// answer: answer,
|
|
109
|
+
// };
|
|
110
|
+
// return question;
|
|
111
|
+
// }
|