math-exercises 1.2.7 → 1.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/exercises/calcul/addAndSub.js +40 -0
- package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +35 -0
- package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +31 -0
- package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +32 -0
- package/lib/exercises/calcul/fractions/fractionsDivision.js +29 -0
- package/lib/exercises/calcul/fractions/fractionsProduct.js +29 -0
- package/lib/exercises/calcul/fractions/fractionsSum.js +29 -0
- package/lib/exercises/calcul/fractions/simplifyFraction.js +25 -0
- package/lib/exercises/calcul/operations/operationsPriorities.js +88 -0
- package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +111 -0
- package/{src → lib}/exercises/calcul/operationsPriorities.js +88 -89
- package/lib/exercises/calcul/rounding/rounding.js +86 -0
- package/{src → lib}/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
- package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +31 -0
- package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +32 -0
- package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +33 -0
- package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +33 -0
- package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +32 -0
- package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +38 -0
- package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +41 -0
- package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +42 -0
- package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +44 -0
- package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +39 -0
- package/{src → lib}/exercises/exercise.js +7 -7
- package/lib/exercises/exercises.js +95 -0
- package/lib/exercises/geometry/cartesian/midpoint.js +29 -0
- package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +29 -0
- package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -0
- package/lib/exercises/powers/powersDivision.js +45 -0
- package/lib/exercises/powers/powersOfTenToDecimal.js +33 -0
- package/lib/exercises/powers/powersPower.js +44 -0
- package/lib/exercises/powers/powersProduct.js +45 -0
- package/lib/exercises/powers/scientificToDecimal.js +38 -0
- package/{src → lib}/exercises/squareRoots/simpifySquareRoot.js +28 -28
- package/lib/exercises/utils/getDistinctQuestions.js +16 -0
- package/lib/geometry/point.js +27 -0
- package/lib/geometry/vector.js +31 -0
- package/lib/index.js +10 -0
- package/lib/mathutils/arithmetic/coprimesOf.js +13 -0
- package/lib/mathutils/arithmetic/dividersOf.js +12 -0
- package/{src → lib}/mathutils/arithmetic/gcd.js +7 -7
- package/{src → lib}/mathutils/arithmetic/isSquare.js +7 -7
- package/{src → lib}/mathutils/arithmetic/lcd.js +12 -12
- package/lib/mathutils/arithmetic/nonCoprimesOf.js +13 -0
- package/lib/mathutils/arithmetic/nonDividersOf.js +14 -0
- package/{src → lib}/mathutils/arithmetic/primeFactors.js +22 -22
- package/lib/mathutils/decimals/decimalPartLengthOf.js +14 -0
- package/lib/mathutils/random/randTupleInt.js +30 -0
- package/{src → lib}/mathutils/random/randint.js +18 -18
- package/{src → lib}/mathutils/round.js +8 -8
- package/{src → lib}/numbers/decimals/decimal.js +140 -144
- package/{src → lib}/numbers/epsilon.js +10 -10
- package/{src → lib}/numbers/integer/integer.js +68 -72
- package/{src → lib}/numbers/integer/power.js +52 -53
- package/{src → lib}/numbers/nombre.js +10 -10
- package/lib/numbers/rationals/rational.js +113 -0
- package/lib/numbers/reals/real.js +16 -0
- package/lib/numbers/reals/squareRoot.js +63 -0
- package/lib/polynomials/affine.js +42 -0
- package/lib/polynomials/polynomial.js +125 -0
- package/lib/sets/discreteSet.js +28 -0
- package/{src/sets/emptySet.ts → lib/sets/emptySet.js} +6 -6
- package/{src → lib}/sets/intervals/intervals.js +108 -113
- package/lib/sets/intervals/union.js +1 -0
- package/lib/sets/mathSet.js +10 -0
- package/lib/sets/mathSetInterface.js +2 -0
- package/{src → lib}/tree/nodes/functions/functionNode.js +18 -19
- package/lib/tree/nodes/functions/oppositeNode.js +13 -0
- package/lib/tree/nodes/functions/sqrtNode.js +15 -0
- package/{src → lib}/tree/nodes/node.js +10 -10
- package/lib/tree/nodes/numbers/numberNode.js +18 -0
- package/lib/tree/nodes/operators/addNode.js +15 -0
- package/lib/tree/nodes/operators/divideNode.js +17 -0
- package/lib/tree/nodes/operators/equalNode.js +13 -0
- package/lib/tree/nodes/operators/fractionNode.js +17 -0
- package/lib/tree/nodes/operators/multiplyNode.js +13 -0
- package/{src → lib}/tree/nodes/operators/operatorNode.js +35 -37
- package/lib/tree/nodes/operators/powerNode.js +13 -0
- package/lib/tree/nodes/operators/substractNode.js +13 -0
- package/lib/tree/nodes/variables/variableNode.js +16 -0
- package/{src → lib}/tree/parsers/derivateParser.js +60 -60
- package/{src → lib}/tree/parsers/latexParser.js +117 -117
- package/lib/utils/arrayEqual.js +13 -0
- package/{src → lib}/utils/coin.js +7 -7
- package/{src → lib}/utils/random.js +7 -7
- package/lib/utils/shuffle.js +15 -0
- package/package.json +35 -28
- package/nodemon.json +0 -5
- package/src/exercises/calcul/addAndSub.js +0 -40
- package/src/exercises/calcul/addAndSub.ts +0 -39
- package/src/exercises/calcul/fractions/fractionAndIntegerDivision.js +0 -35
- package/src/exercises/calcul/fractions/fractionAndIntegerDivision.ts +0 -38
- package/src/exercises/calcul/fractions/fractionAndIntegerProduct.js +0 -31
- package/src/exercises/calcul/fractions/fractionAndIntegerProduct.ts +0 -32
- package/src/exercises/calcul/fractions/fractionAndIntegerSum.js +0 -32
- package/src/exercises/calcul/fractions/fractionAndIntegerSum.ts +0 -31
- package/src/exercises/calcul/fractions/fractionsDivision.js +0 -29
- package/src/exercises/calcul/fractions/fractionsDivision.ts +0 -30
- package/src/exercises/calcul/fractions/fractionsProduct.js +0 -29
- package/src/exercises/calcul/fractions/fractionsProduct.ts +0 -29
- package/src/exercises/calcul/fractions/fractionsSum.js +0 -29
- package/src/exercises/calcul/fractions/fractionsSum.ts +0 -28
- package/src/exercises/calcul/fractions/simplifyFraction.js +0 -25
- package/src/exercises/calcul/fractions/simplifyFraction.ts +0 -24
- package/src/exercises/calcul/operationsPriorities.ts +0 -115
- package/src/exercises/calcul/rounding/roundToUnit.js +0 -70
- package/src/exercises/calcul/rounding/roundToUnit.ts +0 -68
- package/src/exercises/calculLitteral/distributivity/allIdentities.ts +0 -26
- package/src/exercises/calculLitteral/distributivity/doubleDistributivity.js +0 -31
- package/src/exercises/calculLitteral/distributivity/doubleDistributivity.ts +0 -33
- package/src/exercises/calculLitteral/distributivity/firstIdentity.js +0 -32
- package/src/exercises/calculLitteral/distributivity/firstIdentity.ts +0 -33
- package/src/exercises/calculLitteral/distributivity/secondIdentity.js +0 -33
- package/src/exercises/calculLitteral/distributivity/secondIdentity.ts +0 -35
- package/src/exercises/calculLitteral/distributivity/simpleDistributivity.js +0 -33
- package/src/exercises/calculLitteral/distributivity/simpleDistributivity.ts +0 -33
- package/src/exercises/calculLitteral/distributivity/thirdIdentity.js +0 -32
- package/src/exercises/calculLitteral/distributivity/thirdIdentity.ts +0 -34
- package/src/exercises/calculLitteral/equation/equationType1Exercise.js +0 -38
- package/src/exercises/calculLitteral/equation/equationType1Exercise.ts +0 -38
- package/src/exercises/calculLitteral/equation/equationType2Exercise.js +0 -41
- package/src/exercises/calculLitteral/equation/equationType2Exercise.ts +0 -41
- package/src/exercises/calculLitteral/equation/equationType3Exercise.js +0 -42
- package/src/exercises/calculLitteral/equation/equationType3Exercise.ts +0 -43
- package/src/exercises/calculLitteral/equation/equationType4Exercise.js +0 -44
- package/src/exercises/calculLitteral/equation/equationType4Exercise.ts +0 -46
- package/src/exercises/calculLitteral/factorisation/factoType1Exercise.js +0 -39
- package/src/exercises/calculLitteral/factorisation/factoType1Exercise.ts +0 -54
- package/src/exercises/calculLitteral/reduction.ts +0 -27
- package/src/exercises/exercise.ts +0 -25
- package/src/exercises/exercises.js +0 -86
- package/src/exercises/exercises.ts +0 -91
- package/src/exercises/powers/powersDivision.js +0 -46
- package/src/exercises/powers/powersDivision.ts +0 -51
- package/src/exercises/powers/powersOfTenToDecimal.js +0 -33
- package/src/exercises/powers/powersOfTenToDecimal.ts +0 -37
- package/src/exercises/powers/powersPower.js +0 -45
- package/src/exercises/powers/powersPower.ts +0 -55
- package/src/exercises/powers/powersProduct.js +0 -46
- package/src/exercises/powers/powersProduct.ts +0 -51
- package/src/exercises/powers/scientificToDecimal.js +0 -38
- package/src/exercises/powers/scientificToDecimal.ts +0 -44
- package/src/exercises/squareRoots/simpifySquareRoot.ts +0 -27
- package/src/exercises/utils/getDistinctQuestions.js +0 -18
- package/src/exercises/utils/getDistinctQuestions.ts +0 -14
- package/src/index.js +0 -10
- package/src/index.ts +0 -14
- package/src/mathutils/arithmetic/coprimesOf.js +0 -13
- package/src/mathutils/arithmetic/coprimesOf.ts +0 -9
- package/src/mathutils/arithmetic/dividersOf.ts +0 -7
- package/src/mathutils/arithmetic/gcd.ts +0 -3
- package/src/mathutils/arithmetic/isSquare.ts +0 -3
- package/src/mathutils/arithmetic/lcd.ts +0 -7
- package/src/mathutils/arithmetic/nonCoprimesOf.ts +0 -9
- package/src/mathutils/arithmetic/nonDividersOf.ts +0 -12
- package/src/mathutils/arithmetic/primeFactors.ts +0 -18
- package/src/mathutils/decimals/decimalPartLengthOf.ts +0 -10
- package/src/mathutils/random/randint.ts +0 -12
- package/src/mathutils/round.ts +0 -5
- package/src/numbers/decimals/decimal.ts +0 -140
- package/src/numbers/epsilon.ts +0 -7
- package/src/numbers/integer/integer.ts +0 -72
- package/src/numbers/integer/power.ts +0 -49
- package/src/numbers/nombre.ts +0 -15
- package/src/numbers/number.js +0 -8
- package/src/numbers/rationals/rational.js +0 -128
- package/src/numbers/rationals/rational.ts +0 -122
- package/src/numbers/reals/real.js +0 -17
- package/src/numbers/reals/real.ts +0 -17
- package/src/numbers/reals/squareRoot.js +0 -85
- package/src/numbers/reals/squareRoot.ts +0 -70
- package/src/polynomials/affine.js +0 -71
- package/src/polynomials/affine.ts +0 -60
- package/src/polynomials/polynomial.js +0 -128
- package/src/polynomials/polynomial.ts +0 -137
- package/src/sets/discreteSet.js +0 -30
- package/src/sets/discreteSet.ts +0 -30
- package/src/sets/intervals/intervals.ts +0 -122
- package/src/sets/intervals/union.ts +0 -0
- package/src/sets/mathSet.js +0 -11
- package/src/sets/mathSet.ts +0 -12
- package/src/sets/mathSetInterface.js +0 -2
- package/src/sets/mathSetInterface.ts +0 -10
- package/src/tree/latexParser/latexParse.js +0 -117
- package/src/tree/nodes/functions/functionNode.ts +0 -18
- package/src/tree/nodes/functions/oppositeNode.js +0 -30
- package/src/tree/nodes/functions/oppositeNode.ts +0 -12
- package/src/tree/nodes/functions/sqrtNode.js +0 -33
- package/src/tree/nodes/functions/sqrtNode.ts +0 -12
- package/src/tree/nodes/node.ts +0 -12
- package/src/tree/nodes/numbers/numberNode.js +0 -16
- package/src/tree/nodes/numbers/numberNode.ts +0 -16
- package/src/tree/nodes/operators/addNode.js +0 -33
- package/src/tree/nodes/operators/addNode.ts +0 -13
- package/src/tree/nodes/operators/divideNode.js +0 -34
- package/src/tree/nodes/operators/divideNode.ts +0 -16
- package/src/tree/nodes/operators/equalNode.js +0 -30
- package/src/tree/nodes/operators/equalNode.ts +0 -11
- package/src/tree/nodes/operators/fractionNode.js +0 -34
- package/src/tree/nodes/operators/fractionNode.ts +0 -16
- package/src/tree/nodes/operators/multiplyNode.js +0 -30
- package/src/tree/nodes/operators/multiplyNode.ts +0 -12
- package/src/tree/nodes/operators/operatorNode.ts +0 -36
- package/src/tree/nodes/operators/oppositeNode.js +0 -18
- package/src/tree/nodes/operators/powerNode.js +0 -30
- package/src/tree/nodes/operators/powerNode.ts +0 -12
- package/src/tree/nodes/operators/substractNode.js +0 -30
- package/src/tree/nodes/operators/substractNode.ts +0 -11
- package/src/tree/nodes/variables/variableNode.js +0 -17
- package/src/tree/nodes/variables/variableNode.ts +0 -15
- package/src/tree/parsers/derivateParser.ts +0 -66
- package/src/tree/parsers/latexParser.ts +0 -122
- package/src/utils/coin.ts +0 -3
- package/src/utils/random.ts +0 -3
- package/src/utils/randomIn.js +0 -7
- package/src/utils/shuffle.js +0 -24
- package/src/utils/shuffle.ts +0 -11
- package/tsconfig.json +0 -110
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { random } from "../../../utils/random";
|
|
2
|
-
import { Exercise, Question } from "../../exercise";
|
|
3
|
-
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
4
|
-
import { getFirstIdentityQuestion } from "./firstIdentity";
|
|
5
|
-
import { getSecondIdentityQuestion } from "./secondIdentity";
|
|
6
|
-
import { getThirdIdentityQuestion } from "./thirdIdentity";
|
|
7
|
-
|
|
8
|
-
export const allIdentities: Exercise = {
|
|
9
|
-
id: "allIdRmq",
|
|
10
|
-
connector: "=",
|
|
11
|
-
instruction: "Développer et réduire :",
|
|
12
|
-
label: "Identités remarquables (toutes)",
|
|
13
|
-
levels: ["3", "2"],
|
|
14
|
-
isSingleStep: false,
|
|
15
|
-
section: "Calcul littéral",
|
|
16
|
-
generator: (nb: number) => getDistinctQuestions(getAllIdentitiesQuestion, nb),
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export function getAllIdentitiesQuestion(): Question {
|
|
20
|
-
const rand = random([1, 2, 3]);
|
|
21
|
-
return rand === 1
|
|
22
|
-
? getFirstIdentityQuestion()
|
|
23
|
-
: rand === 2
|
|
24
|
-
? getSecondIdentityQuestion()
|
|
25
|
-
: getThirdIdentityQuestion();
|
|
26
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.getDoubleDistributivityQuestion = exports.doubleDistributivity = void 0;
|
|
4
|
-
var integer_1 = require("../../../numbers/integer/integer");
|
|
5
|
-
var affine_1 = require("../../../polynomials/affine");
|
|
6
|
-
var discreteSet_1 = require("../../../sets/discreteSet");
|
|
7
|
-
var intervals_1 = require("../../../sets/intervals/intervals");
|
|
8
|
-
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
9
|
-
var multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
|
|
10
|
-
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
11
|
-
exports.doubleDistributivity = {
|
|
12
|
-
id: "doubleDistri",
|
|
13
|
-
connector: "=",
|
|
14
|
-
instruction: "Développer et réduire :",
|
|
15
|
-
label: "Distributivité double",
|
|
16
|
-
levels: ["3", "2"],
|
|
17
|
-
isSingleStep: false,
|
|
18
|
-
section: "Calcul littéral",
|
|
19
|
-
generator: function (nb) { return (0, getDistinctQuestions_1.getDistinctQuestions)(getDoubleDistributivityQuestion, nb); }
|
|
20
|
-
};
|
|
21
|
-
function getDoubleDistributivityQuestion() {
|
|
22
|
-
var interval = new intervals_1.Interval("[[-10; 10]]").difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
|
|
23
|
-
var affines = affine_1.AffineConstructor.differentRandoms(2, interval, interval);
|
|
24
|
-
var statementTree = new multiplyNode_1.MultiplyNode(affines[0].toTree(), affines[1].toTree());
|
|
25
|
-
var answerTree = affines[0].multiply(affines[1]).toTree();
|
|
26
|
-
return {
|
|
27
|
-
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
28
|
-
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
exports.getDoubleDistributivityQuestion = getDoubleDistributivityQuestion;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Integer } from "../../../numbers/integer/integer";
|
|
2
|
-
import { AffineConstructor } from "../../../polynomials/affine";
|
|
3
|
-
import { DiscreteSet } from "../../../sets/discreteSet";
|
|
4
|
-
import { Interval } from "../../../sets/intervals/intervals";
|
|
5
|
-
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
6
|
-
import { NumberNode } from "../../../tree/nodes/numbers/numberNode";
|
|
7
|
-
import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode";
|
|
8
|
-
import { Exercise, Question } from "../../exercise";
|
|
9
|
-
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
10
|
-
|
|
11
|
-
export const doubleDistributivity: Exercise = {
|
|
12
|
-
id: "doubleDistri",
|
|
13
|
-
connector: "=",
|
|
14
|
-
instruction: "Développer et réduire :",
|
|
15
|
-
label: "Distributivité double",
|
|
16
|
-
levels: ["3", "2"],
|
|
17
|
-
isSingleStep: false,
|
|
18
|
-
section: "Calcul littéral",
|
|
19
|
-
generator: (nb: number) => getDistinctQuestions(getDoubleDistributivityQuestion, nb),
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export function getDoubleDistributivityQuestion(): Question {
|
|
23
|
-
const interval = new Interval("[[-10; 10]]").difference(new DiscreteSet([new Integer(0)]));
|
|
24
|
-
const affines = AffineConstructor.differentRandoms(2, interval, interval);
|
|
25
|
-
|
|
26
|
-
const statementTree = new MultiplyNode(affines[0].toTree(), affines[1].toTree());
|
|
27
|
-
const answerTree = affines[0].multiply(affines[1]).toTree();
|
|
28
|
-
|
|
29
|
-
return {
|
|
30
|
-
startStatement: latexParser(statementTree),
|
|
31
|
-
answer: latexParser(answerTree),
|
|
32
|
-
};
|
|
33
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.getFirstIdentityQuestion = exports.firstIdentity = void 0;
|
|
4
|
-
var integer_1 = require("../../../numbers/integer/integer");
|
|
5
|
-
var affine_1 = require("../../../polynomials/affine");
|
|
6
|
-
var discreteSet_1 = require("../../../sets/discreteSet");
|
|
7
|
-
var intervals_1 = require("../../../sets/intervals/intervals");
|
|
8
|
-
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
9
|
-
var numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
10
|
-
var powerNode_1 = require("../../../tree/nodes/operators/powerNode");
|
|
11
|
-
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
12
|
-
exports.firstIdentity = {
|
|
13
|
-
id: "idRmq1",
|
|
14
|
-
connector: "=",
|
|
15
|
-
instruction: "Développer et réduire :",
|
|
16
|
-
label: "Identité remarquable $(a+b)^2$",
|
|
17
|
-
levels: ["3", "2"],
|
|
18
|
-
isSingleStep: false,
|
|
19
|
-
section: "Calcul littéral",
|
|
20
|
-
generator: function (nb) { return (0, getDistinctQuestions_1.getDistinctQuestions)(getFirstIdentityQuestion, nb); }
|
|
21
|
-
};
|
|
22
|
-
function getFirstIdentityQuestion() {
|
|
23
|
-
var interval = new intervals_1.Interval("[[1; 10]]").difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
|
|
24
|
-
var affine = affine_1.AffineConstructor.random(interval, interval);
|
|
25
|
-
var statementTree = new powerNode_1.PowerNode(affine.toTree(), new numberNode_1.NumberNode(2));
|
|
26
|
-
var answerTree = affine.multiply(affine).toTree();
|
|
27
|
-
return {
|
|
28
|
-
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
29
|
-
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
exports.getFirstIdentityQuestion = getFirstIdentityQuestion;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Integer } from "../../../numbers/integer/integer";
|
|
2
|
-
import { AffineConstructor } from "../../../polynomials/affine";
|
|
3
|
-
import { DiscreteSet } from "../../../sets/discreteSet";
|
|
4
|
-
import { Interval } from "../../../sets/intervals/intervals";
|
|
5
|
-
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
6
|
-
import { NumberNode } from "../../../tree/nodes/numbers/numberNode";
|
|
7
|
-
import { PowerNode } from "../../../tree/nodes/operators/powerNode";
|
|
8
|
-
import { Exercise, Question } from "../../exercise";
|
|
9
|
-
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
10
|
-
|
|
11
|
-
export const firstIdentity: Exercise = {
|
|
12
|
-
id: "idRmq1",
|
|
13
|
-
connector: "=",
|
|
14
|
-
instruction: "Développer et réduire :",
|
|
15
|
-
label: "Identité remarquable $(a+b)^2$",
|
|
16
|
-
levels: ["3", "2"],
|
|
17
|
-
isSingleStep: false,
|
|
18
|
-
section: "Calcul littéral",
|
|
19
|
-
generator: (nb: number) => getDistinctQuestions(getFirstIdentityQuestion, nb),
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export function getFirstIdentityQuestion(): Question {
|
|
23
|
-
const interval = new Interval("[[1; 10]]").difference(new DiscreteSet([new Integer(0)]));
|
|
24
|
-
const affine = AffineConstructor.random(interval, interval);
|
|
25
|
-
|
|
26
|
-
const statementTree = new PowerNode(affine.toTree(), new NumberNode(2));
|
|
27
|
-
const answerTree = affine.multiply(affine).toTree();
|
|
28
|
-
|
|
29
|
-
return {
|
|
30
|
-
startStatement: latexParser(statementTree),
|
|
31
|
-
answer: latexParser(answerTree),
|
|
32
|
-
};
|
|
33
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.getSecondIdentityQuestion = exports.secondIdentity = void 0;
|
|
4
|
-
var integer_1 = require("../../../numbers/integer/integer");
|
|
5
|
-
var affine_1 = require("../../../polynomials/affine");
|
|
6
|
-
var discreteSet_1 = require("../../../sets/discreteSet");
|
|
7
|
-
var intervals_1 = require("../../../sets/intervals/intervals");
|
|
8
|
-
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
9
|
-
var numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
10
|
-
var powerNode_1 = require("../../../tree/nodes/operators/powerNode");
|
|
11
|
-
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
12
|
-
exports.secondIdentity = {
|
|
13
|
-
id: "idRmq2",
|
|
14
|
-
connector: "=",
|
|
15
|
-
instruction: "Développer et réduire :",
|
|
16
|
-
label: "Identité remarquable $(a-b)^2$",
|
|
17
|
-
levels: ["3", "2"],
|
|
18
|
-
isSingleStep: false,
|
|
19
|
-
section: "Calcul littéral",
|
|
20
|
-
generator: function (nb) { return (0, getDistinctQuestions_1.getDistinctQuestions)(getSecondIdentityQuestion, nb); }
|
|
21
|
-
};
|
|
22
|
-
function getSecondIdentityQuestion() {
|
|
23
|
-
var intervalA = new intervals_1.Interval("[[0; 10]]").difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
|
|
24
|
-
var intervalB = new intervals_1.Interval("[[-10; 0]]").difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
|
|
25
|
-
var affine = affine_1.AffineConstructor.random(intervalA, intervalB);
|
|
26
|
-
var statementTree = new powerNode_1.PowerNode(affine.toTree(), new numberNode_1.NumberNode(2));
|
|
27
|
-
var answerTree = affine.multiply(affine).toTree();
|
|
28
|
-
return {
|
|
29
|
-
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
30
|
-
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
exports.getSecondIdentityQuestion = getSecondIdentityQuestion;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Integer } from "../../../numbers/integer/integer";
|
|
2
|
-
import { AffineConstructor } from "../../../polynomials/affine";
|
|
3
|
-
import { DiscreteSet } from "../../../sets/discreteSet";
|
|
4
|
-
import { Interval } from "../../../sets/intervals/intervals";
|
|
5
|
-
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
6
|
-
import { NumberNode } from "../../../tree/nodes/numbers/numberNode";
|
|
7
|
-
import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode";
|
|
8
|
-
import { PowerNode } from "../../../tree/nodes/operators/powerNode";
|
|
9
|
-
import { Exercise, Question } from "../../exercise";
|
|
10
|
-
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
11
|
-
|
|
12
|
-
export const secondIdentity: Exercise = {
|
|
13
|
-
id: "idRmq2",
|
|
14
|
-
connector: "=",
|
|
15
|
-
instruction: "Développer et réduire :",
|
|
16
|
-
label: "Identité remarquable $(a-b)^2$",
|
|
17
|
-
levels: ["3", "2"],
|
|
18
|
-
isSingleStep: false,
|
|
19
|
-
section: "Calcul littéral",
|
|
20
|
-
generator: (nb: number) => getDistinctQuestions(getSecondIdentityQuestion, nb),
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export function getSecondIdentityQuestion(): Question {
|
|
24
|
-
const intervalA = new Interval("[[0; 10]]").difference(new DiscreteSet([new Integer(0)]));
|
|
25
|
-
const intervalB = new Interval("[[-10; 0]]").difference(new DiscreteSet([new Integer(0)]));
|
|
26
|
-
const affine = AffineConstructor.random(intervalA, intervalB);
|
|
27
|
-
|
|
28
|
-
const statementTree = new PowerNode(affine.toTree(), new NumberNode(2));
|
|
29
|
-
const answerTree = affine.multiply(affine).toTree();
|
|
30
|
-
|
|
31
|
-
return {
|
|
32
|
-
startStatement: latexParser(statementTree),
|
|
33
|
-
answer: latexParser(answerTree),
|
|
34
|
-
};
|
|
35
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.getSimpleDistributivityQuestion = exports.simpleDistributivity = void 0;
|
|
4
|
-
var integer_1 = require("../../../numbers/integer/integer");
|
|
5
|
-
var affine_1 = require("../../../polynomials/affine");
|
|
6
|
-
var discreteSet_1 = require("../../../sets/discreteSet");
|
|
7
|
-
var intervals_1 = require("../../../sets/intervals/intervals");
|
|
8
|
-
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
9
|
-
var numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
10
|
-
var multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
|
|
11
|
-
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
12
|
-
exports.simpleDistributivity = {
|
|
13
|
-
id: "simpleDistri",
|
|
14
|
-
connector: "=",
|
|
15
|
-
instruction: "Développer et réduire :",
|
|
16
|
-
label: "Distributivité simple",
|
|
17
|
-
levels: ["3", "2"],
|
|
18
|
-
isSingleStep: false,
|
|
19
|
-
section: "Calcul littéral",
|
|
20
|
-
generator: function (nb) { return (0, getDistinctQuestions_1.getDistinctQuestions)(getSimpleDistributivityQuestion, nb); }
|
|
21
|
-
};
|
|
22
|
-
function getSimpleDistributivityQuestion() {
|
|
23
|
-
var interval = new intervals_1.Interval("[[-10; 10]]").difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
|
|
24
|
-
var affine = affine_1.AffineConstructor.random(interval, interval);
|
|
25
|
-
var coeff = interval.getRandomElement();
|
|
26
|
-
var statementTree = new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(coeff.value), affine.toTree());
|
|
27
|
-
var answerTree = affine.times(coeff.value).toTree();
|
|
28
|
-
return {
|
|
29
|
-
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
30
|
-
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
exports.getSimpleDistributivityQuestion = getSimpleDistributivityQuestion;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Integer } from "../../../numbers/integer/integer";
|
|
2
|
-
import { AffineConstructor } from "../../../polynomials/affine";
|
|
3
|
-
import { DiscreteSet } from "../../../sets/discreteSet";
|
|
4
|
-
import { Interval } from "../../../sets/intervals/intervals";
|
|
5
|
-
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
6
|
-
import { NumberNode } from "../../../tree/nodes/numbers/numberNode";
|
|
7
|
-
import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode";
|
|
8
|
-
import { Exercise, Question } from "../../exercise";
|
|
9
|
-
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
10
|
-
|
|
11
|
-
export const simpleDistributivity: Exercise = {
|
|
12
|
-
id: "simpleDistri",
|
|
13
|
-
connector: "=",
|
|
14
|
-
instruction: "Développer et réduire :",
|
|
15
|
-
label: "Distributivité simple",
|
|
16
|
-
levels: ["3", "2"],
|
|
17
|
-
isSingleStep: false,
|
|
18
|
-
section: "Calcul littéral",
|
|
19
|
-
generator: (nb: number) => getDistinctQuestions(getSimpleDistributivityQuestion, nb),
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export function getSimpleDistributivityQuestion(): Question {
|
|
23
|
-
const interval = new Interval("[[-10; 10]]").difference(new DiscreteSet([new Integer(0)]));
|
|
24
|
-
const affine = AffineConstructor.random(interval, interval);
|
|
25
|
-
const coeff = interval.getRandomElement();
|
|
26
|
-
|
|
27
|
-
const statementTree = new MultiplyNode(new NumberNode(coeff.value), affine.toTree());
|
|
28
|
-
const answerTree = affine.times(coeff.value).toTree();
|
|
29
|
-
return {
|
|
30
|
-
startStatement: latexParser(statementTree),
|
|
31
|
-
answer: latexParser(answerTree),
|
|
32
|
-
};
|
|
33
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.getThirdIdentityQuestion = exports.thirdIdentity = void 0;
|
|
4
|
-
var integer_1 = require("../../../numbers/integer/integer");
|
|
5
|
-
var affine_1 = require("../../../polynomials/affine");
|
|
6
|
-
var discreteSet_1 = require("../../../sets/discreteSet");
|
|
7
|
-
var intervals_1 = require("../../../sets/intervals/intervals");
|
|
8
|
-
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
9
|
-
var multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
|
|
10
|
-
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
11
|
-
exports.thirdIdentity = {
|
|
12
|
-
id: "idRmq3",
|
|
13
|
-
connector: "=",
|
|
14
|
-
instruction: "Développer et réduire :",
|
|
15
|
-
label: "Identité remarquable $(a+b)(a-b)$",
|
|
16
|
-
levels: ["3", "2"],
|
|
17
|
-
isSingleStep: false,
|
|
18
|
-
section: "Calcul littéral",
|
|
19
|
-
generator: function (nb) { return (0, getDistinctQuestions_1.getDistinctQuestions)(getThirdIdentityQuestion, nb); }
|
|
20
|
-
};
|
|
21
|
-
function getThirdIdentityQuestion() {
|
|
22
|
-
var interval = new intervals_1.Interval("[[-10; 10]]").difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
|
|
23
|
-
var affine = affine_1.AffineConstructor.random(interval, interval);
|
|
24
|
-
var affine2 = new affine_1.Affine(affine.a, -affine.b);
|
|
25
|
-
var statementTree = new multiplyNode_1.MultiplyNode(affine.toTree(), affine2.toTree());
|
|
26
|
-
var answerTree = affine.multiply(affine2).toTree();
|
|
27
|
-
return {
|
|
28
|
-
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
29
|
-
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
exports.getThirdIdentityQuestion = getThirdIdentityQuestion;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Integer } from "../../../numbers/integer/integer";
|
|
2
|
-
import { Affine, AffineConstructor } from "../../../polynomials/affine";
|
|
3
|
-
import { DiscreteSet } from "../../../sets/discreteSet";
|
|
4
|
-
import { Interval } from "../../../sets/intervals/intervals";
|
|
5
|
-
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
6
|
-
import { NumberNode } from "../../../tree/nodes/numbers/numberNode";
|
|
7
|
-
import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode";
|
|
8
|
-
import { PowerNode } from "../../../tree/nodes/operators/powerNode";
|
|
9
|
-
import { Exercise, Question } from "../../exercise";
|
|
10
|
-
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
11
|
-
|
|
12
|
-
export const thirdIdentity: Exercise = {
|
|
13
|
-
id: "idRmq3",
|
|
14
|
-
connector: "=",
|
|
15
|
-
instruction: "Développer et réduire :",
|
|
16
|
-
label: "Identité remarquable $(a+b)(a-b)$",
|
|
17
|
-
levels: ["3", "2"],
|
|
18
|
-
isSingleStep: false,
|
|
19
|
-
section: "Calcul littéral",
|
|
20
|
-
generator: (nb: number) => getDistinctQuestions(getThirdIdentityQuestion, nb),
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export function getThirdIdentityQuestion(): Question {
|
|
24
|
-
const interval = new Interval("[[-10; 10]]").difference(new DiscreteSet([new Integer(0)]));
|
|
25
|
-
const affine = AffineConstructor.random(interval, interval);
|
|
26
|
-
const affine2 = new Affine(affine.a, -affine.b);
|
|
27
|
-
const statementTree = new MultiplyNode(affine.toTree(), affine2.toTree());
|
|
28
|
-
const answerTree = affine.multiply(affine2).toTree();
|
|
29
|
-
|
|
30
|
-
return {
|
|
31
|
-
startStatement: latexParser(statementTree),
|
|
32
|
-
answer: latexParser(answerTree),
|
|
33
|
-
};
|
|
34
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.getEquationType1ExerciseQuestion = exports.equationType1Exercise = void 0;
|
|
4
|
-
var integer_1 = require("../../../numbers/integer/integer");
|
|
5
|
-
var affine_1 = require("../../../polynomials/affine");
|
|
6
|
-
var discreteSet_1 = require("../../../sets/discreteSet");
|
|
7
|
-
var intervals_1 = require("../../../sets/intervals/intervals");
|
|
8
|
-
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
9
|
-
var equalNode_1 = require("../../../tree/nodes/operators/equalNode");
|
|
10
|
-
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
11
|
-
/**
|
|
12
|
-
* type x+a=b
|
|
13
|
-
*/
|
|
14
|
-
exports.equationType1Exercise = {
|
|
15
|
-
id: "equa1",
|
|
16
|
-
connector: "\\iff",
|
|
17
|
-
instruction: "Résoudre : ",
|
|
18
|
-
label: "Equations $x+a = b$",
|
|
19
|
-
levels: ["4", "3", "2"],
|
|
20
|
-
section: "Calcul littéral",
|
|
21
|
-
isSingleStep: true,
|
|
22
|
-
generator: function (nb) { return (0, getDistinctQuestions_1.getDistinctQuestions)(getEquationType1ExerciseQuestion, nb); }
|
|
23
|
-
};
|
|
24
|
-
function getEquationType1ExerciseQuestion() {
|
|
25
|
-
var interval = new intervals_1.Interval("[[-10; 10]]");
|
|
26
|
-
var intervalStar = new intervals_1.Interval("[[-10; 10]]").difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
|
|
27
|
-
var b = interval.getRandomElement();
|
|
28
|
-
var a = intervalStar.getRandomElement();
|
|
29
|
-
var solution = b.value - a.value;
|
|
30
|
-
var affine = new affine_1.Affine(1, a.value).toTree();
|
|
31
|
-
var tree = new equalNode_1.EqualNode(affine, b.toTree());
|
|
32
|
-
var question = {
|
|
33
|
-
startStatement: (0, latexParser_1.latexParser)(tree),
|
|
34
|
-
answer: "x = ".concat(solution)
|
|
35
|
-
};
|
|
36
|
-
return question;
|
|
37
|
-
}
|
|
38
|
-
exports.getEquationType1ExerciseQuestion = getEquationType1ExerciseQuestion;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Integer } from "../../../numbers/integer/integer";
|
|
2
|
-
import { Affine } from "../../../polynomials/affine";
|
|
3
|
-
import { DiscreteSet } from "../../../sets/discreteSet";
|
|
4
|
-
import { Interval } from "../../../sets/intervals/intervals";
|
|
5
|
-
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
6
|
-
import { EqualNode } from "../../../tree/nodes/operators/equalNode";
|
|
7
|
-
import { Exercise, Question } from "../../exercise";
|
|
8
|
-
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* type x+a=b
|
|
12
|
-
*/
|
|
13
|
-
export const equationType1Exercise: Exercise = {
|
|
14
|
-
id: "equa1",
|
|
15
|
-
connector: "\\iff",
|
|
16
|
-
instruction: "Résoudre : ",
|
|
17
|
-
label: "Equations $x+a = b$",
|
|
18
|
-
levels: ["4", "3", "2"],
|
|
19
|
-
section: "Calcul littéral",
|
|
20
|
-
isSingleStep: true,
|
|
21
|
-
generator: (nb: number) => getDistinctQuestions(getEquationType1ExerciseQuestion, nb),
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
export function getEquationType1ExerciseQuestion(): Question {
|
|
25
|
-
const interval = new Interval("[[-10; 10]]");
|
|
26
|
-
const intervalStar = new Interval("[[-10; 10]]").difference(new DiscreteSet([new Integer(0)]));
|
|
27
|
-
const b = interval.getRandomElement();
|
|
28
|
-
const a = intervalStar.getRandomElement();
|
|
29
|
-
const solution = b.value - a.value;
|
|
30
|
-
const affine = new Affine(1, a.value).toTree();
|
|
31
|
-
const tree = new EqualNode(affine, b.toTree());
|
|
32
|
-
|
|
33
|
-
const question: Question = {
|
|
34
|
-
startStatement: latexParser(tree),
|
|
35
|
-
answer: `x = ${solution}`,
|
|
36
|
-
};
|
|
37
|
-
return question;
|
|
38
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.getEquationType2ExerciseQuestion = exports.equationType2Exercise = void 0;
|
|
4
|
-
var integer_1 = require("../../../numbers/integer/integer");
|
|
5
|
-
var rational_1 = require("../../../numbers/rationals/rational");
|
|
6
|
-
var affine_1 = require("../../../polynomials/affine");
|
|
7
|
-
var discreteSet_1 = require("../../../sets/discreteSet");
|
|
8
|
-
var intervals_1 = require("../../../sets/intervals/intervals");
|
|
9
|
-
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
10
|
-
var equalNode_1 = require("../../../tree/nodes/operators/equalNode");
|
|
11
|
-
var variableNode_1 = require("../../../tree/nodes/variables/variableNode");
|
|
12
|
-
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
13
|
-
/**
|
|
14
|
-
* type ax=b
|
|
15
|
-
*/
|
|
16
|
-
exports.equationType2Exercise = {
|
|
17
|
-
id: "equa2",
|
|
18
|
-
connector: "\\iff",
|
|
19
|
-
instruction: "Résoudre : ",
|
|
20
|
-
label: "Equations $ax=b$",
|
|
21
|
-
levels: ["4", "3", "2"],
|
|
22
|
-
section: "Calcul littéral",
|
|
23
|
-
isSingleStep: true,
|
|
24
|
-
generator: function (nb) { return (0, getDistinctQuestions_1.getDistinctQuestions)(getEquationType2ExerciseQuestion, nb); }
|
|
25
|
-
};
|
|
26
|
-
function getEquationType2ExerciseQuestion() {
|
|
27
|
-
var interval = new intervals_1.Interval("[[-10; 10]]");
|
|
28
|
-
var intervalStar = new intervals_1.Interval("[[-10; 10]]").difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
|
|
29
|
-
var b = interval.getRandomElement();
|
|
30
|
-
var a = intervalStar.getRandomElement();
|
|
31
|
-
var solution = new rational_1.Rational(b.value, a.value).simplify();
|
|
32
|
-
var affine = new affine_1.Affine(a.value, 0).toTree();
|
|
33
|
-
var tree = new equalNode_1.EqualNode(affine, b.toTree());
|
|
34
|
-
var answer = new equalNode_1.EqualNode(new variableNode_1.VariableNode("x"), solution.toTree());
|
|
35
|
-
var question = {
|
|
36
|
-
startStatement: (0, latexParser_1.latexParser)(tree),
|
|
37
|
-
answer: (0, latexParser_1.latexParser)(answer)
|
|
38
|
-
};
|
|
39
|
-
return question;
|
|
40
|
-
}
|
|
41
|
-
exports.getEquationType2ExerciseQuestion = getEquationType2ExerciseQuestion;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Integer } from "../../../numbers/integer/integer";
|
|
2
|
-
import { Rational } from "../../../numbers/rationals/rational";
|
|
3
|
-
import { Affine } from "../../../polynomials/affine";
|
|
4
|
-
import { DiscreteSet } from "../../../sets/discreteSet";
|
|
5
|
-
import { Interval } from "../../../sets/intervals/intervals";
|
|
6
|
-
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
7
|
-
import { EqualNode } from "../../../tree/nodes/operators/equalNode";
|
|
8
|
-
import { VariableNode } from "../../../tree/nodes/variables/variableNode";
|
|
9
|
-
import { Exercise, Question } from "../../exercise";
|
|
10
|
-
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* type ax=b
|
|
14
|
-
*/
|
|
15
|
-
export const equationType2Exercise: Exercise = {
|
|
16
|
-
id: "equa2",
|
|
17
|
-
|
|
18
|
-
connector: "\\iff",
|
|
19
|
-
instruction: "Résoudre : ",
|
|
20
|
-
label: "Equations $ax=b$",
|
|
21
|
-
levels: ["4", "3", "2"],
|
|
22
|
-
section: "Calcul littéral",
|
|
23
|
-
isSingleStep: true,
|
|
24
|
-
generator: (nb: number) => getDistinctQuestions(getEquationType2ExerciseQuestion, nb),
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export function getEquationType2ExerciseQuestion(): Question {
|
|
28
|
-
const interval = new Interval("[[-10; 10]]");
|
|
29
|
-
const intervalStar = new Interval("[[-10; 10]]").difference(new DiscreteSet([new Integer(0)]));
|
|
30
|
-
const b = interval.getRandomElement();
|
|
31
|
-
const a = intervalStar.getRandomElement();
|
|
32
|
-
const solution = new Rational(b.value, a.value).simplify();
|
|
33
|
-
const affine = new Affine(a.value, 0).toTree();
|
|
34
|
-
const tree = new EqualNode(affine, b.toTree());
|
|
35
|
-
const answer = new EqualNode(new VariableNode("x"), solution.toTree());
|
|
36
|
-
const question: Question = {
|
|
37
|
-
startStatement: latexParser(tree),
|
|
38
|
-
answer: latexParser(answer),
|
|
39
|
-
};
|
|
40
|
-
return question;
|
|
41
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.getEquationType3ExerciseQuestion = exports.equationType3Exercise = void 0;
|
|
4
|
-
var integer_1 = require("../../../numbers/integer/integer");
|
|
5
|
-
var rational_1 = require("../../../numbers/rationals/rational");
|
|
6
|
-
var affine_1 = require("../../../polynomials/affine");
|
|
7
|
-
var discreteSet_1 = require("../../../sets/discreteSet");
|
|
8
|
-
var intervals_1 = require("../../../sets/intervals/intervals");
|
|
9
|
-
var latexParser_1 = require("../../../tree/parsers/latexParser");
|
|
10
|
-
var equalNode_1 = require("../../../tree/nodes/operators/equalNode");
|
|
11
|
-
var variableNode_1 = require("../../../tree/nodes/variables/variableNode");
|
|
12
|
-
var getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
13
|
-
/**
|
|
14
|
-
* type ax+b=c
|
|
15
|
-
*/
|
|
16
|
-
exports.equationType3Exercise = {
|
|
17
|
-
id: "equa3",
|
|
18
|
-
connector: "\\iff",
|
|
19
|
-
instruction: "Résoudre : ",
|
|
20
|
-
label: "Equations $ax+b=c$",
|
|
21
|
-
levels: ["4", "3", "2"],
|
|
22
|
-
section: "Calcul littéral",
|
|
23
|
-
isSingleStep: false,
|
|
24
|
-
generator: function (nb) { return (0, getDistinctQuestions_1.getDistinctQuestions)(getEquationType3ExerciseQuestion, nb); }
|
|
25
|
-
};
|
|
26
|
-
function getEquationType3ExerciseQuestion() {
|
|
27
|
-
var interval = new intervals_1.Interval("[[-10; 10]]");
|
|
28
|
-
var intervalStar = new intervals_1.Interval("[[-10; 10]]").difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)]));
|
|
29
|
-
var b = intervalStar.getRandomElement();
|
|
30
|
-
var a = intervalStar.getRandomElement();
|
|
31
|
-
var c = interval.getRandomElement();
|
|
32
|
-
var affine = new affine_1.Affine(a.value, b.value).toTree();
|
|
33
|
-
var solution = new rational_1.Rational(c.value - b.value, a.value).simplify();
|
|
34
|
-
var statementTree = new equalNode_1.EqualNode(affine, c.toTree());
|
|
35
|
-
var answerTree = new equalNode_1.EqualNode(new variableNode_1.VariableNode("x"), solution.toTree());
|
|
36
|
-
var question = {
|
|
37
|
-
startStatement: (0, latexParser_1.latexParser)(statementTree),
|
|
38
|
-
answer: (0, latexParser_1.latexParser)(answerTree)
|
|
39
|
-
};
|
|
40
|
-
return question;
|
|
41
|
-
}
|
|
42
|
-
exports.getEquationType3ExerciseQuestion = getEquationType3ExerciseQuestion;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Integer } from "../../../numbers/integer/integer";
|
|
2
|
-
import { Rational } from "../../../numbers/rationals/rational";
|
|
3
|
-
import { Affine } from "../../../polynomials/affine";
|
|
4
|
-
import { DiscreteSet } from "../../../sets/discreteSet";
|
|
5
|
-
import { Interval } from "../../../sets/intervals/intervals";
|
|
6
|
-
import { latexParser } from "../../../tree/parsers/latexParser";
|
|
7
|
-
import { EqualNode } from "../../../tree/nodes/operators/equalNode";
|
|
8
|
-
import { VariableNode } from "../../../tree/nodes/variables/variableNode";
|
|
9
|
-
import { Exercise, Question } from "../../exercise";
|
|
10
|
-
import { getDistinctQuestions } from "../../utils/getDistinctQuestions";
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* type ax+b=c
|
|
14
|
-
*/
|
|
15
|
-
export const equationType3Exercise: Exercise = {
|
|
16
|
-
id: "equa3",
|
|
17
|
-
|
|
18
|
-
connector: "\\iff",
|
|
19
|
-
instruction: "Résoudre : ",
|
|
20
|
-
label: "Equations $ax+b=c$",
|
|
21
|
-
levels: ["4", "3", "2"],
|
|
22
|
-
section: "Calcul littéral",
|
|
23
|
-
isSingleStep: false,
|
|
24
|
-
generator: (nb: number) => getDistinctQuestions(getEquationType3ExerciseQuestion, nb),
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export function getEquationType3ExerciseQuestion(): Question {
|
|
28
|
-
const interval = new Interval("[[-10; 10]]");
|
|
29
|
-
const intervalStar = new Interval("[[-10; 10]]").difference(new DiscreteSet([new Integer(0)]));
|
|
30
|
-
const b = intervalStar.getRandomElement();
|
|
31
|
-
const a = intervalStar.getRandomElement();
|
|
32
|
-
const c = interval.getRandomElement();
|
|
33
|
-
|
|
34
|
-
const affine = new Affine(a.value, b.value).toTree();
|
|
35
|
-
const solution = new Rational(c.value - b.value, a.value).simplify();
|
|
36
|
-
const statementTree = new EqualNode(affine, c.toTree());
|
|
37
|
-
const answerTree = new EqualNode(new VariableNode("x"), solution.toTree());
|
|
38
|
-
const question: Question = {
|
|
39
|
-
startStatement: latexParser(statementTree),
|
|
40
|
-
answer: latexParser(answerTree),
|
|
41
|
-
};
|
|
42
|
-
return question;
|
|
43
|
-
}
|