math-exercises 2.2.97 → 2.2.98
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/math/calcul/sign/index.d.ts +1 -0
- package/lib/exercises/math/calcul/sign/index.d.ts.map +1 -0
- package/lib/exercises/math/calcul/sign/index.js +1 -0
- package/lib/exercises/math/calcul/sign/signFromAx.d.ts +1 -0
- package/lib/exercises/math/calcul/sign/signFromAx.d.ts.map +1 -0
- package/lib/exercises/math/calcul/sign/signFromAx.js +80 -0
- package/lib/exercises/math/calculLitteral/distributivity/simpleDistributivity.d.ts.map +1 -1
- package/lib/exercises/math/calculLitteral/distributivity/simpleDistributivity.js +4 -1
- package/lib/exercises/math/calculLitteral/factorisation/factoType1Exercise.d.ts +1 -0
- package/lib/exercises/math/calculLitteral/factorisation/factoType1Exercise.d.ts.map +1 -1
- package/lib/exercises/math/calculLitteral/factorisation/factoType1Exercise.js +17 -14
- package/lib/exercises/math/calculLitteral/simplifying/distributeAndSimplify.d.ts.map +1 -1
- package/lib/exercises/math/calculLitteral/simplifying/distributeAndSimplify.js +3 -1
- package/lib/exercises/math/conversion/aeraConversion.d.ts.map +1 -1
- package/lib/exercises/math/conversion/aeraConversion.js +76 -16
- package/lib/exercises/math/conversion/volumeConversion.d.ts.map +1 -1
- package/lib/exercises/math/conversion/volumeConversion.js +1 -3
- package/lib/exercises/math/dataRepresentations/index.d.ts +2 -0
- package/lib/exercises/math/dataRepresentations/index.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/index.js +17 -0
- package/lib/exercises/math/dataRepresentations/tableReading.d.ts +8 -0
- package/lib/exercises/math/dataRepresentations/tableReading.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/tableReading.js +105 -0
- package/lib/exercises/math/derivation/derivative/constanteDerivative.d.ts.map +1 -1
- package/lib/exercises/math/derivation/derivative/constanteDerivative.js +15 -4
- package/lib/exercises/math/derivation/derivative/thirdDegreeFunctionVariation.d.ts.map +1 -1
- package/lib/exercises/math/derivation/derivative/thirdDegreeFunctionVariation.js +0 -10
- package/lib/exercises/math/functions/affines/signFunction.d.ts.map +1 -1
- package/lib/exercises/math/functions/affines/signFunction.js +3 -0
- package/lib/exercises/math/geometry/areas/rectangleArea.d.ts.map +1 -1
- package/lib/exercises/math/geometry/areas/rectangleArea.js +34 -4
- package/lib/exercises/math/index.d.ts +1 -1
- package/lib/exercises/math/index.d.ts.map +1 -1
- package/lib/exercises/math/index.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/playground.d.ts +1 -1
- package/lib/playground.d.ts.map +1 -1
- package/lib/playground.js +14 -1
- package/lib/tree/nodes/equations/equalNode.d.ts +2 -0
- package/lib/tree/nodes/equations/equalNode.d.ts.map +1 -1
- package/lib/tree/nodes/equations/equalNode.js +25 -2
- package/lib/tree/nodes/node.d.ts +1 -0
- package/lib/tree/nodes/node.d.ts.map +1 -1
- package/lib/tree/nodes/numbers/numberNode.d.ts.map +1 -1
- package/lib/tree/nodes/numbers/numberNode.js +1 -1
- package/lib/tree/parsers/latexParser.d.ts +1 -1
- package/lib/tree/parsers/powerParser.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/sign/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=signFromAx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signFromAx.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/sign/signFromAx.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import {
|
|
3
|
+
// Exercise,
|
|
4
|
+
// Proposition,
|
|
5
|
+
// QCMGenerator,
|
|
6
|
+
// Question,
|
|
7
|
+
// QuestionGenerator,
|
|
8
|
+
// VEA,
|
|
9
|
+
// addValidProp,
|
|
10
|
+
// shuffleProps,
|
|
11
|
+
// GetAnswer,
|
|
12
|
+
// GetHint,
|
|
13
|
+
// GetCorrection,
|
|
14
|
+
// GetInstruction,
|
|
15
|
+
// GetKeys,
|
|
16
|
+
// tryToAddWrongProp,
|
|
17
|
+
// } from '../../../../exercises/exercise';
|
|
18
|
+
// import { getDistinctQuestions } from '../../../../exercises/utils/getDistinctQuestions';
|
|
19
|
+
// import { handleVEAError } from "../../../../utils/errors/handleVEAError";
|
|
20
|
+
// type Identifiers = {
|
|
21
|
+
// coeff:number;
|
|
22
|
+
// sign: number;
|
|
23
|
+
// };
|
|
24
|
+
// const getPropositions: QCMGenerator<Identifiers> = (n, { answer }) => {
|
|
25
|
+
// const propositions: Proposition[] = [];
|
|
26
|
+
// addValidProp(propositions, answer);
|
|
27
|
+
// tryToAddWrongProp(propositions, `$x$ est négatif`)
|
|
28
|
+
// while (propositions.length < n) {
|
|
29
|
+
// throw Error("QCM not implemented")
|
|
30
|
+
// }
|
|
31
|
+
// return shuffleProps(propositions, n);
|
|
32
|
+
// };
|
|
33
|
+
// const getAnswer : GetAnswer<Identifiers> = (identifiers)=>{
|
|
34
|
+
// }
|
|
35
|
+
// const getInstruction : GetInstruction<Identifiers> = (identifiers)=>{
|
|
36
|
+
// return `On considère un nombre relatif $x$ tel que $${}$ est strictement $${sign}$. Quel est le signe de $x$ ?`
|
|
37
|
+
// }
|
|
38
|
+
// const getHint : GetHint<Identifiers> = (identifiers)=>{
|
|
39
|
+
// }
|
|
40
|
+
// const getCorrection : GetCorrection<Identifiers> = (identifiers)=>{
|
|
41
|
+
// }
|
|
42
|
+
// const getKeys : GetKeys<Identifiers> = (identifiers)=>{
|
|
43
|
+
// return []
|
|
44
|
+
// }
|
|
45
|
+
// const isAnswerValid: VEA<Identifiers> = (ans, {answer})=>{
|
|
46
|
+
// try {
|
|
47
|
+
// throw Error("VEA not implemented")
|
|
48
|
+
// } catch(err){
|
|
49
|
+
// return handleVEAError(err)
|
|
50
|
+
// }
|
|
51
|
+
// }
|
|
52
|
+
// const getSignFromAxQuestion: QuestionGenerator<Identifiers> = (ops)=>{
|
|
53
|
+
// const identifiers: Identifiers = {}
|
|
54
|
+
// const question: Question<Identifiers> = {
|
|
55
|
+
// answer: getAnswer(identifiers),
|
|
56
|
+
// instruction: getInstruction(identifiers),
|
|
57
|
+
// keys: getKeys(identifiers),
|
|
58
|
+
// answerFormat: 'tex',
|
|
59
|
+
// identifiers,
|
|
60
|
+
// hint: getHint(identifiers),
|
|
61
|
+
// correction: getCorrection(identifiers)
|
|
62
|
+
// };
|
|
63
|
+
// return question;
|
|
64
|
+
// }
|
|
65
|
+
// export const signFromAx: Exercise<Identifiers> = {
|
|
66
|
+
// id: 'signFromAx',
|
|
67
|
+
// connector: "",
|
|
68
|
+
// label: undefined,
|
|
69
|
+
// isSingleStep: true,
|
|
70
|
+
// generator: (nb, opts) => getDistinctQuestions(()=>getSignFromAxQuestion(opts), nb),
|
|
71
|
+
// qcmTimer: 60,
|
|
72
|
+
// freeTimer: 60,
|
|
73
|
+
// getPropositions,
|
|
74
|
+
// isAnswerValid,
|
|
75
|
+
// subject: "Mathématiques",
|
|
76
|
+
// getInstruction,
|
|
77
|
+
// getHint,
|
|
78
|
+
// getCorrection,
|
|
79
|
+
// getAnswer,
|
|
80
|
+
// };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpleDistributivity.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/distributivity/simpleDistributivity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,0BAA0B,CAAC;AAalC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;
|
|
1
|
+
{"version":3,"file":"simpleDistributivity.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/distributivity/simpleDistributivity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,0BAA0B,CAAC;AAalC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA0GF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAmBtD,CAAC"}
|
|
@@ -83,10 +83,13 @@ const getPropositions = (n, { answer, a, b, coeff }) => {
|
|
|
83
83
|
};
|
|
84
84
|
const isAnswerValid = (ans, { answer, a, b, coeff }) => {
|
|
85
85
|
try {
|
|
86
|
+
console.log(ans, answer);
|
|
86
87
|
const parsed = (0, polynomialParser_1.polynomialParser)(ans);
|
|
87
88
|
if (!parsed)
|
|
88
89
|
return false;
|
|
89
|
-
return parsed
|
|
90
|
+
return (parsed
|
|
91
|
+
.simplify({ towardsDistribute: true, forbidFactorize: true })
|
|
92
|
+
.toTex() === answer);
|
|
90
93
|
}
|
|
91
94
|
catch (err) {
|
|
92
95
|
return (0, handleVEAError_1.handleVEAError)(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factoType1Exercise.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/factorisation/factoType1Exercise.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAmBlC;;;GAGG;AACH,KAAK,WAAW,GAAG;
|
|
1
|
+
{"version":3,"file":"factoType1Exercise.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/factorisation/factoType1Exercise.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAmBlC;;;GAGG;AACH,KAAK,WAAW,GAAG;IAEjB,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAIlB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAgKF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAepD,CAAC"}
|
|
@@ -16,15 +16,14 @@ const random_1 = require("../../../../utils/alea/random");
|
|
|
16
16
|
const shuffle_1 = require("../../../../utils/alea/shuffle");
|
|
17
17
|
const handleVEAError_1 = require("../../../../utils/errors/handleVEAError");
|
|
18
18
|
const getStatementNode = (identifiers) => {
|
|
19
|
-
const { affinesCoeffs, operation } = identifiers;
|
|
19
|
+
const { affinesCoeffs, operation, affinesOrder } = identifiers;
|
|
20
20
|
const affines = affinesCoeffs.map((coeffs) => new affine_1.Affine(coeffs[1], coeffs[0]));
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
];
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
: new substractNode_1.SubstractNode(new multiplyNode_1.MultiplyNode(permut[0][0].toTree(), permut[0][1].toTree()), new multiplyNode_1.MultiplyNode(permut[1][0].toTree(), permut[1][1].toTree()));
|
|
21
|
+
const order = [[], []];
|
|
22
|
+
order[0][affinesOrder[0]] = affines[1];
|
|
23
|
+
order[1][affinesOrder[1]] = affines[2];
|
|
24
|
+
order[0][1 - affinesOrder[0]] = affines[0];
|
|
25
|
+
order[1][1 - affinesOrder[1]] = affines[0];
|
|
26
|
+
const statementTree = (operation === "add" ? addNode_1.add : substractNode_1.substract)(new multiplyNode_1.MultiplyNode(order[0][0].toTree(), order[0][1].toTree()), new multiplyNode_1.MultiplyNode(order[1][0].toTree(), order[1][1].toTree()));
|
|
28
27
|
return statementTree;
|
|
29
28
|
};
|
|
30
29
|
const getInstruction = (identifiers) => {
|
|
@@ -35,7 +34,7 @@ $$
|
|
|
35
34
|
${getStatementNode(identifiers).toTex()}
|
|
36
35
|
$$`;
|
|
37
36
|
};
|
|
38
|
-
const
|
|
37
|
+
const getAnswerNode = (identifiers) => {
|
|
39
38
|
const { affinesCoeffs, operation } = identifiers;
|
|
40
39
|
const factor = new affine_1.Affine(affinesCoeffs[0][1], affinesCoeffs[0][0]);
|
|
41
40
|
const affine2 = new affine_1.Affine(affinesCoeffs[2][1], affinesCoeffs[2][0]);
|
|
@@ -43,10 +42,11 @@ const getAnswer = (identifiers) => {
|
|
|
43
42
|
const secondTerm = (operation === "add"
|
|
44
43
|
? (0, addNode_1.add)(affine1.toTree(), affine2.toTree())
|
|
45
44
|
: (0, substractNode_1.substract)(affine1.toTree(), affine2.toTree())).simplify({ forbidFactorize: true, towardsDistribute: true });
|
|
46
|
-
const sol = (0, multiplyNode_1.multiply)(factor.toTree(), secondTerm).simplify({
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
const sol = (0, multiplyNode_1.multiply)(factor.toTree(), secondTerm).simplify({});
|
|
46
|
+
return sol;
|
|
47
|
+
};
|
|
48
|
+
const getAnswer = (identifiers) => {
|
|
49
|
+
return getAnswerNode(identifiers).toTex();
|
|
50
50
|
};
|
|
51
51
|
const getFactoType1Question = () => {
|
|
52
52
|
const a = (0, randint_1.randint)(-9, 10, [0]);
|
|
@@ -71,6 +71,7 @@ const getFactoType1Question = () => {
|
|
|
71
71
|
[e, f],
|
|
72
72
|
],
|
|
73
73
|
operation,
|
|
74
|
+
affinesOrder: [(0, random_1.random)([0, 1]), (0, random_1.random)([0, 1])],
|
|
74
75
|
};
|
|
75
76
|
const question = {
|
|
76
77
|
instruction: getInstruction(identifiers),
|
|
@@ -113,10 +114,12 @@ const isAnswerValid = (ans, { answer, ...identifiers }) => {
|
|
|
113
114
|
forbidFactorize: true,
|
|
114
115
|
towardsDistribute: true,
|
|
115
116
|
});
|
|
116
|
-
const answerSimp =
|
|
117
|
+
const answerSimp = getAnswerNode(identifiers).simplify({
|
|
117
118
|
towardsDistribute: true,
|
|
118
119
|
forbidFactorize: true,
|
|
119
120
|
});
|
|
121
|
+
// const simp = parsed.simplify({});
|
|
122
|
+
console.log(simp.toTex());
|
|
120
123
|
return simp.toTex() === answerSimp.toTex();
|
|
121
124
|
}
|
|
122
125
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distributeAndSimplify.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/simplifying/distributeAndSimplify.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;
|
|
1
|
+
{"version":3,"file":"distributeAndSimplify.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/simplifying/distributeAndSimplify.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAmFF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAcvD,CAAC"}
|
|
@@ -68,7 +68,9 @@ const isAnswerValid = (ans, { answer, firstTermIsAffine, a, b, c, d, e, f, g })
|
|
|
68
68
|
const parsed = (0, polynomialParser_1.polynomialParser)(ans);
|
|
69
69
|
if (!parsed)
|
|
70
70
|
return false;
|
|
71
|
-
return parsed
|
|
71
|
+
return (parsed
|
|
72
|
+
.simplify({ towardsDistribute: true, forbidFactorize: true })
|
|
73
|
+
.toTex() === answer);
|
|
72
74
|
}
|
|
73
75
|
catch (err) {
|
|
74
76
|
return (0, handleVEAError_1.handleVEAError)(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aeraConversion.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/conversion/aeraConversion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aeraConversion.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/conversion/aeraConversion.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,QAAQ,EAYT,MAAM,gBAAgB,CAAC;AAExB,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,MAAM,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AA6HF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAgBhD,CAAC"}
|
|
@@ -1,32 +1,89 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.aeraConversion = void 0;
|
|
4
|
+
const numberVEA_1 = require("../../../exercises/vea/numberVEA");
|
|
4
5
|
const decimal_1 = require("../../../math/numbers/decimals/decimal");
|
|
5
6
|
const randint_1 = require("../../../math/utils/random/randint");
|
|
7
|
+
const fractionNode_1 = require("../../../tree/nodes/operators/fractionNode");
|
|
8
|
+
const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
|
|
6
9
|
const shuffle_1 = require("../../../utils/alea/shuffle");
|
|
7
10
|
const doWhile_1 = require("../../../utils/doWhile");
|
|
11
|
+
const alignTex_1 = require("../../../utils/latex/alignTex");
|
|
8
12
|
const exercise_1 = require("../../exercise");
|
|
9
13
|
const getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
10
14
|
const units = ["mm", "cm", "dm", "m", "dam", "hm", "km"];
|
|
15
|
+
const getInstruction = (identifiers) => {
|
|
16
|
+
const { randomAera, randomUnitIndex, randomUnitInstructionIndex } = identifiers;
|
|
17
|
+
return `Compléter :
|
|
18
|
+
|
|
19
|
+
$$
|
|
20
|
+
${randomAera.frenchify()}\\ \\textrm{${units[randomUnitIndex]}}^2 = \\ldots \\ \\textrm{${units[randomUnitInstructionIndex]}}^2
|
|
21
|
+
$$`;
|
|
22
|
+
};
|
|
23
|
+
const getHint = (identifiers) => {
|
|
24
|
+
const { randomAera, randomUnitIndex, randomUnitInstructionIndex } = identifiers;
|
|
25
|
+
const unit = units[randomUnitIndex];
|
|
26
|
+
const target = units[randomUnitInstructionIndex];
|
|
27
|
+
const space = randomUnitIndex - randomUnitInstructionIndex;
|
|
28
|
+
return `On rappelle que :
|
|
29
|
+
|
|
30
|
+
$$
|
|
31
|
+
1 \\ \\textrm{${unit}}^2 = ${space > 0
|
|
32
|
+
? Math.pow(10, space * 2)
|
|
33
|
+
: (0, fractionNode_1.frac)(1, Math.pow(10, -(space * 2))).toTex()} \\ \\textrm{${target}}^2
|
|
34
|
+
$$`;
|
|
35
|
+
};
|
|
36
|
+
const getCorrection = (identifiers) => {
|
|
37
|
+
const { randomAera, randomUnitIndex, randomUnitInstructionIndex } = identifiers;
|
|
38
|
+
const unit = units[randomUnitIndex];
|
|
39
|
+
const target = units[randomUnitInstructionIndex];
|
|
40
|
+
const space = randomUnitIndex - randomUnitInstructionIndex;
|
|
41
|
+
const coeff = space > 0
|
|
42
|
+
? Math.pow(10, space * 2).toTree()
|
|
43
|
+
: (0, fractionNode_1.frac)(1, Math.pow(10, -(space * 2)));
|
|
44
|
+
return `On sait que :
|
|
45
|
+
|
|
46
|
+
$$
|
|
47
|
+
1 \\ \\textrm{${unit}}^2 = ${coeff.toTex()} \\ \\textrm{${target}}^2
|
|
48
|
+
$$
|
|
49
|
+
|
|
50
|
+
Il suffit alors de multiplier $${randomAera.frenchify()}$ par $${coeff.toTex()}$ :
|
|
51
|
+
|
|
52
|
+
${(0, alignTex_1.alignTex)([
|
|
53
|
+
[
|
|
54
|
+
`${randomAera.frenchify()} \\textrm{${unit}}^2 `,
|
|
55
|
+
"=",
|
|
56
|
+
`${(0, multiplyNode_1.multiply)(coeff, randomAera).toTex()}\\ \\textrm{${target}}^2`,
|
|
57
|
+
],
|
|
58
|
+
["", "=", `${getAnswer(identifiers)}\\ \\textrm{${target}}^2`],
|
|
59
|
+
])}
|
|
60
|
+
`;
|
|
61
|
+
};
|
|
62
|
+
const getAnswer = (identifiers) => {
|
|
63
|
+
const { randomAera, randomUnitIndex, randomUnitInstructionIndex } = identifiers;
|
|
64
|
+
const randomAeraDec = new decimal_1.Decimal(randomAera);
|
|
65
|
+
const answer = randomAeraDec
|
|
66
|
+
.multiplyByPowerOfTen(2 * (randomUnitIndex - randomUnitInstructionIndex))
|
|
67
|
+
.value.frenchify();
|
|
68
|
+
return answer;
|
|
69
|
+
};
|
|
11
70
|
const getAeraConversion = () => {
|
|
12
71
|
const randomUnitIndex = (0, randint_1.randint)(0, 7);
|
|
13
|
-
const randomUnitInstructionIndex = (0, randint_1.randint)(
|
|
14
|
-
// cette manip a pour but d'éviter des conversion de type km² --> cm² ou le contraire (chiffre trop grand/petit)
|
|
15
|
-
randomUnitIndex - 2 < 0 ? 0 : randomUnitIndex - 2, randomUnitIndex + 2 > 7 ? 7 : randomUnitIndex + 3, [randomUnitIndex]);
|
|
72
|
+
const randomUnitInstructionIndex = (0, randint_1.randint)(Math.max(0, randomUnitIndex - 2), Math.min(7, randomUnitIndex + 3), [randomUnitIndex]);
|
|
16
73
|
const randomAera = (0, doWhile_1.doWhile)(() => decimal_1.DecimalConstructor.random(0, 1000, (0, randint_1.randint)(0, 4)), (x) => x.value === 0);
|
|
17
|
-
const
|
|
74
|
+
const identifiers = {
|
|
75
|
+
randomAera: randomAera.value,
|
|
76
|
+
randomUnitIndex,
|
|
77
|
+
randomUnitInstructionIndex,
|
|
78
|
+
};
|
|
18
79
|
const question = {
|
|
19
|
-
instruction:
|
|
20
|
-
|
|
21
|
-
.replace(".", ",")} \\textrm{${units[randomUnitIndex]}}^2 = \\ldots \\textrm{${units[randomUnitInstructionIndex]}}^2$`,
|
|
22
|
-
answer,
|
|
80
|
+
instruction: getInstruction(identifiers),
|
|
81
|
+
answer: getAnswer(identifiers),
|
|
23
82
|
keys: [],
|
|
24
83
|
answerFormat: "tex",
|
|
25
|
-
identifiers:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
randomUnitInstructionIndex,
|
|
29
|
-
},
|
|
84
|
+
identifiers: identifiers,
|
|
85
|
+
hint: getHint(identifiers),
|
|
86
|
+
correction: getCorrection(identifiers),
|
|
30
87
|
};
|
|
31
88
|
return question;
|
|
32
89
|
};
|
|
@@ -43,7 +100,7 @@ const getPropositions = (n, { answer, randomAera, randomUnitIndex, randomUnitIns
|
|
|
43
100
|
return (0, shuffle_1.shuffle)(propositions);
|
|
44
101
|
};
|
|
45
102
|
const isAnswerValid = (ans, { answer }) => {
|
|
46
|
-
return ans
|
|
103
|
+
return (0, numberVEA_1.numberVEA)(ans, answer);
|
|
47
104
|
};
|
|
48
105
|
exports.aeraConversion = {
|
|
49
106
|
id: "aeraConversion",
|
|
@@ -51,11 +108,14 @@ exports.aeraConversion = {
|
|
|
51
108
|
getPropositions,
|
|
52
109
|
isAnswerValid,
|
|
53
110
|
label: "Conversion des aires",
|
|
54
|
-
levels: ["6ème", "5ème", "CAP", "2ndPro"],
|
|
55
|
-
sections: ["Conversions"],
|
|
56
111
|
isSingleStep: true,
|
|
57
112
|
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getAeraConversion, nb),
|
|
58
113
|
qcmTimer: 60,
|
|
59
114
|
freeTimer: 60,
|
|
60
115
|
subject: "Mathématiques",
|
|
116
|
+
getAnswer,
|
|
117
|
+
getInstruction,
|
|
118
|
+
getHint,
|
|
119
|
+
getCorrection,
|
|
120
|
+
hasHintAndCorrection: true,
|
|
61
121
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"volumeConversion.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/conversion/volumeConversion.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,QAAQ,EAQT,MAAM,gBAAgB,CAAC;AAExB,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,MAAM,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;
|
|
1
|
+
{"version":3,"file":"volumeConversion.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/conversion/volumeConversion.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,QAAQ,EAQT,MAAM,gBAAgB,CAAC;AAExB,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,MAAM,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AA+DF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAclD,CAAC"}
|
|
@@ -10,9 +10,7 @@ const getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
|
|
|
10
10
|
const units = ["mm", "cm", "dm", "m", "dam", "hm", "km"];
|
|
11
11
|
const getVolumeConversion = () => {
|
|
12
12
|
const randomUnitIndex = (0, randint_1.randint)(0, 7);
|
|
13
|
-
const randomUnitInstructionIndex = (0, randint_1.randint)(
|
|
14
|
-
// cette manip a pour but d'éviter des conversion de type km³ --> cm³ ou le contraire (chiffre trop grand/petit)
|
|
15
|
-
randomUnitIndex - 2 < 0 ? 0 : randomUnitIndex - 2, randomUnitIndex + 2 > 6 ? 6 : randomUnitIndex + 2, [randomUnitIndex]);
|
|
13
|
+
const randomUnitInstructionIndex = (0, randint_1.randint)(Math.max(0, randomUnitIndex - 2), Math.min(7, randomUnitIndex + 3), [randomUnitIndex]);
|
|
16
14
|
const randomVolume = (0, doWhile_1.doWhile)(() => decimal_1.DecimalConstructor.random(0, 1000, (0, randint_1.randint)(0, 4)), (x) => x.value === 0);
|
|
17
15
|
const answer = (randomVolume.multiplyByPowerOfTen(3 * (randomUnitIndex - randomUnitInstructionIndex)).value + "").replace(".", ",");
|
|
18
16
|
const question = {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./tableReading"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableReading.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/tableReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,0BAA0B,CAAC;AASlC,KAAK,WAAW,GAAG;IAIjB,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AA4FF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,CAgB9C,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tableReading = void 0;
|
|
4
|
+
const exercise_1 = require("../../../exercises/exercise");
|
|
5
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
6
|
+
const numberVEA_1 = require("../../../exercises/vea/numberVEA");
|
|
7
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
8
|
+
const random_1 = require("../../../utils/alea/random");
|
|
9
|
+
const handleVEAError_1 = require("../../../utils/errors/handleVEAError");
|
|
10
|
+
const dollarize_1 = require("../../../utils/latex/dollarize");
|
|
11
|
+
const mdTable_1 = require("../../../utils/markdown/mdTable");
|
|
12
|
+
const getPropositions = (n, { answer, values, caseAsked }) => {
|
|
13
|
+
const propositions = [];
|
|
14
|
+
(0, exercise_1.addValidProp)(propositions, answer);
|
|
15
|
+
while (propositions.length < n) {
|
|
16
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, random_1.random)(values.flat()).frenchify());
|
|
17
|
+
}
|
|
18
|
+
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
19
|
+
};
|
|
20
|
+
const getAnswer = (identifiers) => {
|
|
21
|
+
const { values, caseAsked } = identifiers;
|
|
22
|
+
const flatValues = values.flat();
|
|
23
|
+
return flatValues[caseAsked].frenchify();
|
|
24
|
+
};
|
|
25
|
+
const getInstruction = (identifiers) => {
|
|
26
|
+
const { values, caseAsked } = identifiers;
|
|
27
|
+
let population = caseAsked % 3 === 0
|
|
28
|
+
? "de la $6^e$ A"
|
|
29
|
+
: caseAsked % 3 === 1
|
|
30
|
+
? "de la $6^e$ B"
|
|
31
|
+
: "";
|
|
32
|
+
let caractere = caseAsked < 3
|
|
33
|
+
? "préfèrent le jeu Minecraft"
|
|
34
|
+
: caseAsked < 6
|
|
35
|
+
? "préfèrent le jeu The Legend of Zelda"
|
|
36
|
+
: "ont répondu au sondage";
|
|
37
|
+
return `Un sondage a été réalisé auprès des élèves de deux classes de $6^e$ pour connaître leur jeu vidéo préféré. Voici leurs réponses :
|
|
38
|
+
|
|
39
|
+
${(0, mdTable_1.mdTable)([
|
|
40
|
+
["", "$6^e$ A", "$6^e$ B", "Total"],
|
|
41
|
+
["Minecraft", ...values[0].map(dollarize_1.dollarize)],
|
|
42
|
+
["The Legend of Zelda", ...values[1].map(dollarize_1.dollarize)],
|
|
43
|
+
["Total", ...values[2].map(dollarize_1.dollarize)],
|
|
44
|
+
])}
|
|
45
|
+
|
|
46
|
+
Combien d'élèves ${population} ${caractere} ?
|
|
47
|
+
`;
|
|
48
|
+
};
|
|
49
|
+
// const getHint: GetHint<Identifiers> = (identifiers) => {};
|
|
50
|
+
// const getCorrection: GetCorrection<Identifiers> = (identifiers) => {};
|
|
51
|
+
const getKeys = (identifiers) => {
|
|
52
|
+
return [];
|
|
53
|
+
};
|
|
54
|
+
const isAnswerValid = (ans, { answer }) => {
|
|
55
|
+
try {
|
|
56
|
+
return (0, numberVEA_1.numberVEA)(ans, answer);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
return (0, handleVEAError_1.handleVEAError)(err);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const getTableReadingQuestion = (ops) => {
|
|
63
|
+
const caseAsked = (0, randint_1.randint)(0, 9);
|
|
64
|
+
const totalA = (0, randint_1.randint)(20, 30);
|
|
65
|
+
const totalB = (0, randint_1.randint)(20, 30, [totalA]);
|
|
66
|
+
const case0 = (0, randint_1.randint)(3, totalA - 5);
|
|
67
|
+
const case1 = (0, randint_1.randint)(3, totalB - 5, [case0]);
|
|
68
|
+
const case3 = totalA - case0;
|
|
69
|
+
const case4 = totalB - case1;
|
|
70
|
+
const values = [
|
|
71
|
+
[case0, case1, case0 + case1],
|
|
72
|
+
[case3, case4, case3 + case4],
|
|
73
|
+
[totalA, totalB, totalA + totalB],
|
|
74
|
+
];
|
|
75
|
+
const identifiers = {
|
|
76
|
+
caseAsked,
|
|
77
|
+
values,
|
|
78
|
+
};
|
|
79
|
+
const question = {
|
|
80
|
+
answer: getAnswer(identifiers),
|
|
81
|
+
instruction: getInstruction(identifiers),
|
|
82
|
+
keys: getKeys(identifiers),
|
|
83
|
+
answerFormat: "tex",
|
|
84
|
+
identifiers,
|
|
85
|
+
// hint: getHint(identifiers),
|
|
86
|
+
// correction: getCorrection(identifiers),
|
|
87
|
+
};
|
|
88
|
+
return question;
|
|
89
|
+
};
|
|
90
|
+
exports.tableReading = {
|
|
91
|
+
id: "tableReading",
|
|
92
|
+
connector: "=",
|
|
93
|
+
label: "Lire un tableau à double entrée",
|
|
94
|
+
isSingleStep: true,
|
|
95
|
+
generator: (nb, opts) => (0, getDistinctQuestions_1.getDistinctQuestions)(() => getTableReadingQuestion(opts), nb),
|
|
96
|
+
qcmTimer: 60,
|
|
97
|
+
freeTimer: 60,
|
|
98
|
+
getPropositions,
|
|
99
|
+
isAnswerValid,
|
|
100
|
+
subject: "Mathématiques",
|
|
101
|
+
getInstruction,
|
|
102
|
+
// getHint,
|
|
103
|
+
// getCorrection,
|
|
104
|
+
getAnswer,
|
|
105
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constanteDerivative.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/constanteDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"constanteDerivative.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/constanteDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMR,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAIJ,MAAM,0BAA0B,CAAC;AAKlC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAmBF,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,WAAW,CAgBjE,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,YAAY,CAAC,WAAW,CAmBxE,CAAC;AACF,eAAO,MAAM,gCAAgC,EAAE,GAAG,CAAC,WAAW,CAE7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAkBrD,CAAC"}
|
|
@@ -11,17 +11,26 @@ const getHint = ({ tex }) => {
|
|
|
11
11
|
const getCorrection = ({ tex }) => {
|
|
12
12
|
return `La fonction $f$ est une fonction constante égale à $${tex}$. Or, la fonction dérivée d'une fonction constante est nulle. Ainsi, pour tout $x\\in \\mathbb{R}$, $f'(x) = 0$.`;
|
|
13
13
|
};
|
|
14
|
+
const getAnswer = () => "0";
|
|
15
|
+
const getInstruction = (identifiers) => {
|
|
16
|
+
const tex = identifiers.tex;
|
|
17
|
+
return `Déterminer la fonction dérivée $f'$ de la fonction $f$ définie par :
|
|
18
|
+
|
|
19
|
+
$$
|
|
20
|
+
f(x) = ${tex}
|
|
21
|
+
$$.`;
|
|
22
|
+
};
|
|
14
23
|
const getConstanteDerivative = () => {
|
|
15
24
|
const c = nombre_1.NombreConstructor.random();
|
|
16
25
|
const tex = c.toTree().toTex();
|
|
17
|
-
const
|
|
26
|
+
const identifiers = { tex };
|
|
18
27
|
const question = {
|
|
19
|
-
instruction:
|
|
28
|
+
instruction: getInstruction(identifiers),
|
|
20
29
|
startStatement: `f'(x)`,
|
|
21
|
-
answer,
|
|
30
|
+
answer: getAnswer(identifiers),
|
|
22
31
|
keys: ["x"],
|
|
23
32
|
answerFormat: "tex",
|
|
24
|
-
identifiers
|
|
33
|
+
identifiers,
|
|
25
34
|
hint: getHint({ tex }),
|
|
26
35
|
correction: getCorrection({ tex }),
|
|
27
36
|
};
|
|
@@ -63,4 +72,6 @@ exports.constanteDerivative = {
|
|
|
63
72
|
getHint,
|
|
64
73
|
getCorrection,
|
|
65
74
|
hasHintAndCorrection: true,
|
|
75
|
+
getAnswer,
|
|
76
|
+
getInstruction,
|
|
66
77
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thirdDegreeFunctionVariation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/thirdDegreeFunctionVariation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,0BAA0B,CAAC;AAoBlC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAkHF,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"thirdDegreeFunctionVariation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/thirdDegreeFunctionVariation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,0BAA0B,CAAC;AAoBlC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAkHF,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,WAAW,CAa9D,CAAC"}
|
|
@@ -103,16 +103,6 @@ exports.thirdDegreeFunctionVariation = {
|
|
|
103
103
|
id: "thirdDegreeFunctionVariation",
|
|
104
104
|
connector: "=",
|
|
105
105
|
label: "Lecture du signe de la dérivée via les variations d'une fonction",
|
|
106
|
-
levels: [
|
|
107
|
-
"1reESM",
|
|
108
|
-
"1reSpé",
|
|
109
|
-
"1reTech",
|
|
110
|
-
"MathComp",
|
|
111
|
-
"1rePro",
|
|
112
|
-
"TermPro",
|
|
113
|
-
"TermTech",
|
|
114
|
-
],
|
|
115
|
-
sections: ["Dérivation"],
|
|
116
106
|
isSingleStep: true,
|
|
117
107
|
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getThirdDegreeFunctionVariation, nb),
|
|
118
108
|
qcmTimer: 60,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signFunction.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/affines/signFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,0BAA0B,CAAC;AAoBlC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAgIF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"signFunction.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/affines/signFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,0BAA0B,CAAC;AAoBlC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAgIF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,CAqB9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rectangleArea.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/areas/rectangleArea.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"rectangleArea.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/areas/rectangleArea.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,0BAA0B,CAAC;AAIlC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAqEF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAmB/C,CAAC"}
|
|
@@ -6,18 +6,43 @@ const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQ
|
|
|
6
6
|
const randint_1 = require("../../../../math/utils/random/randint");
|
|
7
7
|
const shuffle_1 = require("../../../../utils/alea/shuffle");
|
|
8
8
|
const getKeys = (identifiers) => ["cm", "cm2"];
|
|
9
|
+
const getInstruction = (identifiers) => {
|
|
10
|
+
const { length, width } = identifiers;
|
|
11
|
+
return `Calculer l'aire d'un rectangle de $${length}$ cm de longueur et de $${width}$ cm de largeur.`;
|
|
12
|
+
};
|
|
13
|
+
const getAnswer = (identifiers) => {
|
|
14
|
+
const { length, width } = identifiers;
|
|
15
|
+
const answer = length * width + "";
|
|
16
|
+
const answerTex = answer + "\\text{cm}^2";
|
|
17
|
+
return answerTex;
|
|
18
|
+
};
|
|
19
|
+
const getHint = (identifiers) => {
|
|
20
|
+
return "Pour déterminer l'aire d'un rectangle, on multiplie sa longeur par sa largeur.";
|
|
21
|
+
};
|
|
22
|
+
const getCorrection = (identifiers) => {
|
|
23
|
+
const { length, width } = identifiers;
|
|
24
|
+
return `L'aire d'un rectangle est le produit de sa largeur et de sa longueur.
|
|
25
|
+
|
|
26
|
+
Ici, on a donc :
|
|
27
|
+
|
|
28
|
+
$$
|
|
29
|
+
\\mathcal{A} = ${length} \\times ${width} = ${length * width} \\text{cm}^2
|
|
30
|
+
$$
|
|
31
|
+
|
|
32
|
+
`;
|
|
33
|
+
};
|
|
9
34
|
const getRectangleArea = () => {
|
|
10
35
|
const length = (0, randint_1.randint)(3, 13);
|
|
11
36
|
const width = (0, randint_1.randint)(1, length);
|
|
12
|
-
const answer = length * width + "";
|
|
13
|
-
const answerTex = answer + "\\text{cm}^2";
|
|
14
37
|
const identifiers = { length, width };
|
|
15
38
|
const question = {
|
|
16
|
-
instruction:
|
|
17
|
-
answer:
|
|
39
|
+
instruction: getInstruction(identifiers),
|
|
40
|
+
answer: getAnswer(identifiers),
|
|
18
41
|
answerFormat: "tex",
|
|
19
42
|
keys: getKeys(identifiers),
|
|
20
43
|
identifiers,
|
|
44
|
+
hint: getHint(identifiers),
|
|
45
|
+
correction: getCorrection(identifiers),
|
|
21
46
|
};
|
|
22
47
|
return question;
|
|
23
48
|
};
|
|
@@ -47,4 +72,9 @@ exports.rectangleArea = {
|
|
|
47
72
|
isAnswerValid,
|
|
48
73
|
subject: "Mathématiques",
|
|
49
74
|
getKeys,
|
|
75
|
+
getInstruction,
|
|
76
|
+
getAnswer,
|
|
77
|
+
getHint,
|
|
78
|
+
getCorrection,
|
|
79
|
+
hasHintAndCorrection: true,
|
|
50
80
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exercises/math/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exercises/math/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC"}
|
|
@@ -36,4 +36,4 @@ __exportStar(require("./squareRoots"), exports);
|
|
|
36
36
|
__exportStar(require("./trigonometry"), exports);
|
|
37
37
|
__exportStar(require("./python"), exports);
|
|
38
38
|
__exportStar(require("./sampling"), exports);
|
|
39
|
-
__exportStar(require("./
|
|
39
|
+
__exportStar(require("./dataRepresentations"), exports);
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,yBAAyB,CAAC;AAEjC,QAAA,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/playground.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const playground: () =>
|
|
1
|
+
export declare const playground: () => false | undefined;
|
|
2
2
|
//# sourceMappingURL=playground.d.ts.map
|
package/lib/playground.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playground.d.ts","sourceRoot":"","sources":["../src/playground.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"playground.d.ts","sourceRoot":"","sources":["../src/playground.ts"],"names":[],"mappings":"AA8DA,eAAO,MAAM,UAAU,yBAgBtB,CAAC"}
|
package/lib/playground.js
CHANGED
|
@@ -2,7 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.playground = void 0;
|
|
4
4
|
const nodeConstructor_1 = require("./tree/nodes/nodeConstructor");
|
|
5
|
-
const
|
|
5
|
+
const latexParser_1 = require("./tree/parsers/latexParser");
|
|
6
|
+
const playground = () => {
|
|
7
|
+
const answer = "\\left(-5x-7\\right)^2";
|
|
8
|
+
const ans = "\\left(-5x-7\\right)^2";
|
|
9
|
+
const parsed = (0, latexParser_1.parseAlgebraic)(ans);
|
|
10
|
+
if (!parsed)
|
|
11
|
+
return false;
|
|
12
|
+
console.log(parsed
|
|
13
|
+
.simplify({
|
|
14
|
+
towardsDistribute: true,
|
|
15
|
+
forbidFactorize: true,
|
|
16
|
+
})
|
|
17
|
+
.toTex());
|
|
18
|
+
};
|
|
6
19
|
exports.playground = playground;
|
|
7
20
|
const logIdentifiers = () => {
|
|
8
21
|
const ids = '{"xA":-3,"yA":-2,"yPrimeA":{"id":31,"child":{"id":3,"leftChild":{"id":7,"value":3},"rightChild":{"id":7,"value":2}}},"trinomCoeffs":[0.3888888888888889,0.833333333333333,-3]}';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Affine } from "../../../math/polynomials/affine";
|
|
1
2
|
import { AlgebraicNode } from "../algebraicNode";
|
|
2
3
|
import { Node, NodeIds, NodeOptions, NodeType } from "../node";
|
|
3
4
|
import { NodeIdentifiers } from "../nodeConstructor";
|
|
@@ -27,4 +28,5 @@ export declare class EqualNode implements Node {
|
|
|
27
28
|
shuffle(): EqualNode;
|
|
28
29
|
reverse(): EqualNode;
|
|
29
30
|
}
|
|
31
|
+
export declare const firstDegreeEquationResolutionTex: (affineLeft: Affine, affineRight: Affine) => void;
|
|
30
32
|
//# sourceMappingURL=equalNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"equalNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/equations/equalNode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"equalNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/equations/equalNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAmB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEtE,eAAO,MAAM,KAAK,MACb,aAAa,GAAG,MAAM,GAAG,MAAM,KAC/B,aAAa,GAAG,MAAM,GAAG,MAAM,cAOnC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC;IAClB,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,eAAe,CAAC;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,8BAAsB,oBAAoB;IACxC,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,oBAAoB,GAAG,SAAS;CAOrE;AAED,eAAO,MAAM,WAAW,SAAU,IAAI,sBACL,CAAC;AAElC,qBAAa,SAAU,YAAW,IAAI;IACpC,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;gBACH,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,WAAW;IAOjE,aAAa,IAAI,oBAAoB;IAQrC,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IAmBpC,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAM5C,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAIf,QAAQ;IAIR,OAAO;IAIP,OAAO;CAUR;AAED,eAAO,MAAM,gCAAgC,eAC/B,MAAM,eACL,MAAM,SAuBpB,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EqualNode = exports.isEqualNode = exports.EqualNodeConstructor = exports.equal = void 0;
|
|
4
|
-
// import { equal } from "mathjs";
|
|
3
|
+
exports.firstDegreeEquationResolutionTex = exports.EqualNode = exports.isEqualNode = exports.EqualNodeConstructor = exports.equal = void 0;
|
|
5
4
|
const coinFlip_1 = require("../../../utils/alea/coinFlip");
|
|
6
5
|
const node_1 = require("../node");
|
|
7
6
|
const nodeConstructor_1 = require("../nodeConstructor");
|
|
@@ -71,3 +70,27 @@ class EqualNode {
|
|
|
71
70
|
}
|
|
72
71
|
}
|
|
73
72
|
exports.EqualNode = EqualNode;
|
|
73
|
+
const firstDegreeEquationResolutionTex = (affineLeft, affineRight) => {
|
|
74
|
+
//ax(+-b) = (+-c)(x)(+-d)
|
|
75
|
+
// const b = affine.b;
|
|
76
|
+
// const a = affine.a;
|
|
77
|
+
// if (a === 1 && b === 0)
|
|
78
|
+
// return new InequationNode([affine.toTree(), right], [order]).toTex();
|
|
79
|
+
// const steps: string[][] = [[affine.toTex(), order, right.toTex()]];
|
|
80
|
+
// if (b !== 0)
|
|
81
|
+
// steps.push([
|
|
82
|
+
// affine.add(-b).toTex(),
|
|
83
|
+
// order,
|
|
84
|
+
// substract(right, b).simplify().toTex(),
|
|
85
|
+
// ]);
|
|
86
|
+
// if (a !== 1) {
|
|
87
|
+
// if (a < 0) order = new InequationSymbol(order).reversed();
|
|
88
|
+
// steps.push([
|
|
89
|
+
// affine.variable,
|
|
90
|
+
// order,
|
|
91
|
+
// frac(substract(right, b), a).simplify().toTex(),
|
|
92
|
+
// ]);
|
|
93
|
+
// }
|
|
94
|
+
// return alignTex(steps, true);
|
|
95
|
+
};
|
|
96
|
+
exports.firstDegreeEquationResolutionTex = firstDegreeEquationResolutionTex;
|
package/lib/tree/nodes/node.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/tree/nodes/node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/tree/nodes/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numberNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/numbers/numberNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAkB,MAAM,2BAA2B,CAAC;AAEzE,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AACD,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE,IAAI,GACN,CAAC,IAAI,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAE5C;AACD,8BAAsB,qBAAqB;IACzC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO;CAGhE;AACD,qBAAa,UAAW,YAAW,aAAa;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAmB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;gBAEjB,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,WAAW;IASpB,YAAY,IAAI,MAAM;IAGtB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"numberNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/numbers/numberNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAkB,MAAM,2BAA2B,CAAC;AAEzE,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AACD,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE,IAAI,GACN,CAAC,IAAI,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAE5C;AACD,8BAAsB,qBAAqB;IACzC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO;CAGhE;AACD,qBAAa,UAAW,YAAW,aAAa;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAmB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;gBAEjB,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,WAAW;IASpB,YAAY,IAAI,MAAM;IAGtB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM;IAQrC,QAAQ;IAGR,aAAa;;;;IAMb,cAAc;IAOd,iBAAiB;IAGjB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe;IAQ/B,MAAM,CAAC,IAAI,EAAE,aAAa;IAG1B,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS;CAGxC"}
|
|
@@ -35,7 +35,7 @@ class NumberNode {
|
|
|
35
35
|
toTex(options) {
|
|
36
36
|
const opts = this.opts?.toTexOptions ?? options;
|
|
37
37
|
const color = opts?.color;
|
|
38
|
-
return (0, colorize_1.colorize)(`${this.tex}`, color);
|
|
38
|
+
return (0, colorize_1.colorize)(`${this.tex}${options?.unit ? `\\text{ ${options.unit}}` : ""}`, color);
|
|
39
39
|
}
|
|
40
40
|
toMathjs() {
|
|
41
41
|
return this.toMathString();
|
|
@@ -6,6 +6,6 @@ type ParserOptions = {
|
|
|
6
6
|
allowStartingPower?: boolean;
|
|
7
7
|
};
|
|
8
8
|
export declare const parseAlgebraic: (latex: string, opts?: ParserOptions) => AlgebraicNode;
|
|
9
|
-
export declare const parseLatex: (latex: string) => AlgebraicNode |
|
|
9
|
+
export declare const parseLatex: (latex: string) => AlgebraicNode | InequationNode | EqualNode;
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=latexParser.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const powerParser: (ans: string) => false | import("../nodes/
|
|
1
|
+
export declare const powerParser: (ans: string) => false | import("../nodes/operators/powerNode").PowerNode | import("../nodes/functions/sqrtNode").SqrtNode | import("../nodes/operators/fractionNode").FractionNode;
|
|
2
2
|
//# sourceMappingURL=powerParser.d.ts.map
|