math-exercises 2.2.5 → 2.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/exercises/math/calcul/digitDecimalRankNumber.d.ts +8 -0
- package/lib/exercises/math/calcul/digitDecimalRankNumber.d.ts.map +1 -0
- package/lib/exercises/math/calcul/digitDecimalRankNumber.js +60 -0
- package/lib/exercises/math/calcul/digitRankNumber.d.ts.map +1 -1
- package/lib/exercises/math/calcul/digitRankNumber.js +3 -4
- package/lib/exercises/math/calcul/index.d.ts +1 -0
- package/lib/exercises/math/calcul/index.d.ts.map +1 -1
- package/lib/exercises/math/calcul/index.js +1 -0
- package/lib/exercises/math/functions/basics/inverseImageFunctionTable.d.ts +2 -0
- package/lib/exercises/math/functions/basics/inverseImageFunctionTable.d.ts.map +1 -1
- package/lib/exercises/math/functions/basics/inverseImageFunctionTable.js +46 -66
- package/lib/exercises/math/probaStat/probaFromTableNoContext.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/probaFromTableNoContext.js +5 -4
- package/lib/index.d.ts +5 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/math/utils/random/randTupleInt.d.ts +1 -0
- package/lib/math/utils/random/randTupleInt.d.ts.map +1 -1
- package/lib/math/utils/random/randTupleInt.js +5 -1
- package/lib/playground.d.ts.map +1 -1
- package/lib/playground.js +2 -1
- package/lib/server.js +2 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digitDecimalRankNumber.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/calcul/digitDecimalRankNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAYlC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAkDF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAexD,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.digitDecimalRankNumber = void 0;
|
|
4
|
+
const exercise_1 = require("../../../exercises/exercise");
|
|
5
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
6
|
+
const decimal_1 = require("../../../math/numbers/decimals/decimal");
|
|
7
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
8
|
+
const ordinals = ["premier", "deuxième", "troisième", "quatrième"];
|
|
9
|
+
const getDigitRankNumberQuestion = () => {
|
|
10
|
+
const decimalPartSize = (0, randint_1.randint)(2, 5);
|
|
11
|
+
const nb = decimal_1.DecimalConstructor.random(0, 1000, decimalPartSize);
|
|
12
|
+
const rankAsked = (0, randint_1.randint)(0, Math.min(decimalPartSize, 3));
|
|
13
|
+
const rankAskedLabel = decimal_1.decimalDigitRanks[rankAsked];
|
|
14
|
+
const str = nb.tex;
|
|
15
|
+
const answer = str.split(".")[0] + str.split(".")[1].substring(0, rankAsked + 1);
|
|
16
|
+
const question = {
|
|
17
|
+
answer,
|
|
18
|
+
instruction: `Quel est le nombre de ${rankAskedLabel} dans le nombre $${nb
|
|
19
|
+
.toTree()
|
|
20
|
+
.toTex()}$ ?`,
|
|
21
|
+
keys: [],
|
|
22
|
+
// hint: `Attention ! On demande le 'nombre' et non pas le 'chiffre' !`,
|
|
23
|
+
// correction: `Le chiffre des ${rankAskedLabel} est le ${ordinals[rankAsked]} chiffre en partant de la droite. Donc le chiffre des ${rankAskedLabel} est $${answer}$.`,
|
|
24
|
+
answerFormat: "tex",
|
|
25
|
+
identifiers: { nb: nb.value, rankAsked },
|
|
26
|
+
};
|
|
27
|
+
return question;
|
|
28
|
+
};
|
|
29
|
+
const getPropositions = (n, { answer, nb, rankAsked }) => {
|
|
30
|
+
const propositions = [];
|
|
31
|
+
(0, exercise_1.addValidProp)(propositions, answer);
|
|
32
|
+
const str = nb.toString();
|
|
33
|
+
const [intPart, fracPart] = str.split(".");
|
|
34
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, fracPart[rankAsked]);
|
|
35
|
+
for (let i = 0; i < str.length; i++) {
|
|
36
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, intPart + fracPart.substring(0, i + 1));
|
|
37
|
+
}
|
|
38
|
+
while (propositions.length < n) {
|
|
39
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, randint_1.randint)(0, 100) + "");
|
|
40
|
+
}
|
|
41
|
+
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
42
|
+
};
|
|
43
|
+
const isAnswerValid = (ans, { answer }) => {
|
|
44
|
+
return ans === answer;
|
|
45
|
+
};
|
|
46
|
+
exports.digitDecimalRankNumber = {
|
|
47
|
+
id: "digitDecimalRankNumber",
|
|
48
|
+
connector: "=",
|
|
49
|
+
label: "Déterminer le nombre de dixièmes, de centièmes...",
|
|
50
|
+
levels: [],
|
|
51
|
+
isSingleStep: true,
|
|
52
|
+
sections: [],
|
|
53
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getDigitRankNumberQuestion, nb),
|
|
54
|
+
qcmTimer: 60,
|
|
55
|
+
freeTimer: 60,
|
|
56
|
+
getPropositions,
|
|
57
|
+
isAnswerValid,
|
|
58
|
+
subject: "Mathématiques",
|
|
59
|
+
// hasHintAndCorrection: true,
|
|
60
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"digitRankNumber.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/calcul/digitRankNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAQlC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AA8CF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"digitRankNumber.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/calcul/digitRankNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAQlC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AA8CF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAcjD,CAAC"}
|
|
@@ -17,8 +17,8 @@ const getDigitRankNumberQuestion = () => {
|
|
|
17
17
|
answer,
|
|
18
18
|
instruction: `Quel est le nombre ${rankAsked === 0 ? "d'" : "de "}${rankAskedLabel} dans le nombre $${nb.toTree().toTex()}$ ?`,
|
|
19
19
|
keys: [],
|
|
20
|
-
hint: `Attention ! On demande le 'nombre' et non pas le 'chiffre' !`,
|
|
21
|
-
correction: `Le chiffre des ${rankAskedLabel} est le ${ordinals[rankAsked]} chiffre en partant de la droite. Donc le chiffre des ${rankAskedLabel} est $${answer}$.`,
|
|
20
|
+
// hint: `Attention ! On demande le 'nombre' et non pas le 'chiffre' !`,
|
|
21
|
+
// correction: `Le chiffre des ${rankAskedLabel} est le ${ordinals[rankAsked]} chiffre en partant de la droite. Donc le chiffre des ${rankAskedLabel} est $${answer}$.`,
|
|
22
22
|
answerFormat: "tex",
|
|
23
23
|
identifiers: { nb, rankAsked },
|
|
24
24
|
};
|
|
@@ -43,7 +43,7 @@ const isAnswerValid = (ans, { answer }) => {
|
|
|
43
43
|
exports.digitRankNumber = {
|
|
44
44
|
id: "digitRankNumber",
|
|
45
45
|
connector: "=",
|
|
46
|
-
label: "Déterminer le
|
|
46
|
+
label: "Déterminer le nombre d'unités/de dizaines/de centièmes...",
|
|
47
47
|
levels: [],
|
|
48
48
|
isSingleStep: true,
|
|
49
49
|
sections: [],
|
|
@@ -53,5 +53,4 @@ exports.digitRankNumber = {
|
|
|
53
53
|
getPropositions,
|
|
54
54
|
isAnswerValid,
|
|
55
55
|
subject: "Mathématiques",
|
|
56
|
-
hasHintAndCorrection: true,
|
|
57
56
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/calcul/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/calcul/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC"}
|
|
@@ -25,3 +25,4 @@ __exportStar(require("./rounding"), exports);
|
|
|
25
25
|
__exportStar(require("./digitRank"), exports);
|
|
26
26
|
__exportStar(require("./digitDecimalRank"), exports);
|
|
27
27
|
__exportStar(require("./digitRankNumber"), exports);
|
|
28
|
+
__exportStar(require("./digitDecimalRankNumber"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inverseImageFunctionTable.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/basics/inverseImageFunctionTable.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"inverseImageFunctionTable.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/basics/inverseImageFunctionTable.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAgFF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAc3D,CAAC"}
|
|
@@ -3,91 +3,71 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.inverseImageFunctionTable = void 0;
|
|
4
4
|
const exercise_1 = require("../../../../exercises/exercise");
|
|
5
5
|
const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
|
|
6
|
-
const
|
|
6
|
+
const randTupleInt_1 = require("../../../../math/utils/random/randTupleInt");
|
|
7
7
|
const randint_1 = require("../../../../math/utils/random/randint");
|
|
8
|
+
const arrayHasSameElement_1 = require("../../../../utils/arrayHasSameElement");
|
|
8
9
|
const coinFlip_1 = require("../../../../utils/coinFlip");
|
|
9
10
|
const random_1 = require("../../../../utils/random");
|
|
10
11
|
const getInverseImageFunctionTableQuestion = () => {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const xValues = (0, randTupleInt_1.randTupleInt)(5, {
|
|
13
|
+
from: -10,
|
|
14
|
+
to: 10,
|
|
15
|
+
allDifferent: true,
|
|
16
|
+
}).sort((a, b) => a - b);
|
|
17
|
+
const yValues = (0, randTupleInt_1.randTupleInt)(5, { from: -10, to: 10 });
|
|
18
|
+
let indexAsked = (0, randint_1.randint)(0, 5);
|
|
19
|
+
const valueAsked = xValues[indexAsked];
|
|
20
|
+
//on force un meme nombre dans les deux lignes pour complexifier
|
|
21
|
+
if (!yValues.includes(valueAsked) || yValues[indexAsked] === valueAsked) {
|
|
22
|
+
yValues[(0, randint_1.randint)(0, 5, [indexAsked])] = valueAsked;
|
|
23
|
+
}
|
|
24
|
+
const isAskingImage = (0, coinFlip_1.coinFlip)();
|
|
25
|
+
const answer = (isAskingImage
|
|
26
|
+
? yValues[indexAsked]
|
|
27
|
+
: xValues
|
|
28
|
+
.filter((el, index) => yValues[index] === valueAsked)
|
|
29
|
+
.join("\\text{ et }")) + "";
|
|
30
|
+
const instruction = `Ci-dessous est donné le tableau de valeurs d'une fonction $f$. Déterminer ${isAskingImage ? `l'image de` : `le ou les antécédents de`} $${valueAsked}$ par $f$.
|
|
31
|
+
|
|
32
|
+
|$x$|${xValues.map((value) => `$${value}$`).join("|")}|
|
|
33
|
+
|-|-|-|-|-|-|
|
|
34
|
+
|$f(x)$|${yValues.map((value) => `$${value}$`).join("|")}|
|
|
35
|
+
`;
|
|
14
36
|
const question = {
|
|
15
|
-
answer
|
|
37
|
+
answer,
|
|
16
38
|
instruction,
|
|
17
|
-
keys: ["
|
|
39
|
+
keys: ["et"],
|
|
18
40
|
answerFormat: "tex",
|
|
19
41
|
style: { tableHasNoHeader: true },
|
|
20
42
|
identifiers: {
|
|
21
|
-
xValues
|
|
22
|
-
imageValues:
|
|
43
|
+
xValues,
|
|
44
|
+
imageValues: yValues,
|
|
45
|
+
isAskingImage,
|
|
46
|
+
value: valueAsked,
|
|
23
47
|
},
|
|
24
48
|
};
|
|
25
49
|
return question;
|
|
26
50
|
};
|
|
27
|
-
const getPropositions = (n, { answer, xValues, imageValues }) => {
|
|
51
|
+
const getPropositions = (n, { answer, xValues, imageValues, isAskingImage, value }) => {
|
|
28
52
|
const propositions = [];
|
|
29
53
|
(0, exercise_1.addValidProp)(propositions, answer);
|
|
30
|
-
|
|
54
|
+
if (isAskingImage) {
|
|
55
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, xValues[imageValues.indexOf(value)] + "");
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, imageValues[xValues.indexOf(value)] + "");
|
|
59
|
+
}
|
|
31
60
|
while (propositions.length < n) {
|
|
32
|
-
|
|
33
|
-
(0, exercise_1.tryToAddWrongProp)(propositions, randProp + "");
|
|
61
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, ((0, coinFlip_1.coinFlip)() ? (0, random_1.random)(xValues) : (0, random_1.random)(imageValues)) + "");
|
|
34
62
|
}
|
|
35
63
|
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
36
64
|
};
|
|
37
|
-
const isAnswerValid = (ans, { answer }) => {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
return {
|
|
44
|
-
xValues,
|
|
45
|
-
imageValues,
|
|
46
|
-
table: `
|
|
47
|
-
|$x$|${xValues
|
|
48
|
-
.map((value) => `$${value}$`)
|
|
49
|
-
.reduce((prev, curr) => prev + "|" + curr)}|
|
|
50
|
-
|-|-|-|-|-|-|
|
|
51
|
-
|$f(x)$|${imageValues
|
|
52
|
-
.map((value) => `$${value}$`)
|
|
53
|
-
.reduce((prev, curr) => prev + "|" + curr)}|
|
|
54
|
-
`,
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
const generateXValues = () => {
|
|
58
|
-
const xValues = [];
|
|
59
|
-
for (let i = 0; i < 5; i++) {
|
|
60
|
-
let value;
|
|
61
|
-
do {
|
|
62
|
-
value = (0, randint_1.randint)(-11, 11);
|
|
63
|
-
} while (xValues.includes(value));
|
|
64
|
-
xValues.push(value);
|
|
65
|
-
}
|
|
66
|
-
xValues.sort((a, b) => {
|
|
67
|
-
return a - b;
|
|
68
|
-
});
|
|
69
|
-
return xValues;
|
|
70
|
-
};
|
|
71
|
-
const generateExercise = () => {
|
|
72
|
-
const polynom = new polynomial_1.Polynomial([(0, randint_1.randint)(-9, 10), (0, randint_1.randint)(-5, 6, [0])]);
|
|
73
|
-
const exoTable = generateTable(polynom);
|
|
74
|
-
const isAskingImage = (0, coinFlip_1.coinFlip)();
|
|
75
|
-
const questionValue = isAskingImage
|
|
76
|
-
? (0, random_1.random)(exoTable.xValues)
|
|
77
|
-
: (0, random_1.random)(exoTable.imageValues);
|
|
78
|
-
const answer = isAskingImage
|
|
79
|
-
? polynom.calculate(questionValue)
|
|
80
|
-
: exoTable.xValues.find((value, index) => exoTable.imageValues[index] === questionValue);
|
|
81
|
-
return { polynom, exoTable, isAskingImage, questionValue, answer };
|
|
82
|
-
};
|
|
83
|
-
const generatePropositions = (xValues, imageValues, answer) => {
|
|
84
|
-
const filteredXValues = xValues.filter((value) => value !== +answer);
|
|
85
|
-
const firstProp = (0, random_1.random)(filteredXValues);
|
|
86
|
-
const secondProp = (0, random_1.random)(filteredXValues
|
|
87
|
-
.concat(imageValues)
|
|
88
|
-
.filter((value) => ![firstProp, +answer].includes(value)));
|
|
89
|
-
const thirdProp = (0, random_1.random)(imageValues.filter((value) => value !== secondProp));
|
|
90
|
-
return [firstProp + "", secondProp + "", thirdProp + ""];
|
|
65
|
+
const isAnswerValid = (ans, { answer, xValues, imageValues, isAskingImage, value }) => {
|
|
66
|
+
const numbers = ans.split("\\text{ et }").map((el) => Number(el));
|
|
67
|
+
if (numbers.some((n) => isNaN(n)))
|
|
68
|
+
return false;
|
|
69
|
+
const answerNumbers = answer.split("\\text{ et }").map((el) => Number(el));
|
|
70
|
+
return ans === answer || (0, arrayHasSameElement_1.arrayHasSameElements)(numbers, answerNumbers);
|
|
91
71
|
};
|
|
92
72
|
exports.inverseImageFunctionTable = {
|
|
93
73
|
id: "inverseImageFunctionTable",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probaFromTableNoContext.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/probaStat/probaFromTableNoContext.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAOlC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;
|
|
1
|
+
{"version":3,"file":"probaFromTableNoContext.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/probaStat/probaFromTableNoContext.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAOlC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAmHF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAezD,CAAC"}
|
|
@@ -62,10 +62,11 @@ const getProbaFromTableNoContextQuestion = () => {
|
|
|
62
62
|
answer,
|
|
63
63
|
instruction: `On considère deux événements $A$ et $B$. Le tableau suivant donne le nombre d'issues pour chacun des événements $A\\cap B$, $\\overline A\\cap B$, $A\\cap \\overline B$ et $\\overline A \\cap \\overline B$. Calculer la probabilité $${event}$.
|
|
64
64
|
|
|
65
|
-
| | $B$ | $\\overline{B}$|
|
|
66
|
-
|
|
67
|
-
|$A$|${aCapB}|${aCapBBarre}|
|
|
68
|
-
|$\\overline{A}$|${aBarreCapB}|${aBarreCapBBarre}|
|
|
65
|
+
| | $B$ | $\\overline{B}$| Total
|
|
66
|
+
|-|-|-|-|
|
|
67
|
+
|$A$|${aCapB}|${aCapBBarre}|${aTotal}|
|
|
68
|
+
|$\\overline{A}$|${aBarreCapB}|${aBarreCapBBarre}|${aBarreTotal}|
|
|
69
|
+
|Total|${bTotal}|${bBarreTotal}|${total}|
|
|
69
70
|
|
|
70
71
|
`,
|
|
71
72
|
keys: [],
|
package/lib/index.d.ts
CHANGED
|
@@ -148,6 +148,9 @@ declare const mathExercises: (import("./exercises/exercise").Exercise<{
|
|
|
148
148
|
}> | import("./exercises/exercise").Exercise<{
|
|
149
149
|
nb: number;
|
|
150
150
|
rankAsked: number;
|
|
151
|
+
}> | import("./exercises/exercise").Exercise<{
|
|
152
|
+
nb: number;
|
|
153
|
+
rankAsked: number;
|
|
151
154
|
}> | import("./exercises/exercise").Exercise<{
|
|
152
155
|
a: number;
|
|
153
156
|
b: number;
|
|
@@ -597,6 +600,8 @@ declare const mathExercises: (import("./exercises/exercise").Exercise<{
|
|
|
597
600
|
}> | import("./exercises/exercise").Exercise<{
|
|
598
601
|
xValues: number[];
|
|
599
602
|
imageValues: number[];
|
|
603
|
+
isAskingImage: boolean;
|
|
604
|
+
value: number;
|
|
600
605
|
}> | import("./exercises/exercise").Exercise<{
|
|
601
606
|
k: number;
|
|
602
607
|
}> | import("./exercises/exercise").Exercise<{
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,MAAM,aAAa,CAAC;QAC5B,SAAS,EAAE,MAAM,MAAM,CAAC;QACxB,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;KACpD;IACD,UAAU,MAAM;QACd,MAAM,EAAE,MAAM,aAAa,CAAC;KAC7B;CACF;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BE;AAEF,QAAA,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"randTupleInt.d.ts","sourceRoot":"","sources":["../../../../src/math/utils/random/randTupleInt.ts"],"names":[],"mappings":"AAGA,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"randTupleInt.d.ts","sourceRoot":"","sources":["../../../../src/math/utils/random/randTupleInt.ts"],"names":[],"mappings":"AAGA,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,SACjB,MAAM,WACH,mBAAmB,KAC3B,MAAM,EAUR,CAAC;AAEF,eAAO,MAAM,oBAAoB,OAC3B,MAAM,QACJ,MAAM,WACH,mBAAmB,KAC3B,MAAM,EAAE,EAUV,CAAC"}
|
|
@@ -11,7 +11,11 @@ const randint_1 = require("./randint");
|
|
|
11
11
|
const randTupleInt = (size, options) => {
|
|
12
12
|
const res = [];
|
|
13
13
|
for (let i = 0; i < size; i++) {
|
|
14
|
-
|
|
14
|
+
let x;
|
|
15
|
+
do {
|
|
16
|
+
x = (0, randint_1.randint)(options.from, options.to, options.excludes);
|
|
17
|
+
} while (options.allDifferent && res.includes(x));
|
|
18
|
+
res.push(x);
|
|
15
19
|
}
|
|
16
20
|
return res;
|
|
17
21
|
};
|
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":"AAOA,eAAO,MAAM,UAAU,YAgBtB,CAAC"}
|
package/lib/playground.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.playground = void 0;
|
|
4
4
|
const affine_1 = require("./math/polynomials/affine");
|
|
5
|
+
const randTupleInt_1 = require("./math/utils/random/randTupleInt");
|
|
5
6
|
const addNode_1 = require("./tree/nodes/operators/addNode");
|
|
6
7
|
const multiplyNode_1 = require("./tree/nodes/operators/multiplyNode");
|
|
7
8
|
const random_1 = require("./utils/random");
|
|
@@ -14,6 +15,6 @@ const playground = () => {
|
|
|
14
15
|
];
|
|
15
16
|
const operation = (0, random_1.random)(["add", "substract"]);
|
|
16
17
|
const statementTree = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(permut[0][0].toTree(), permut[0][1].toTree()), new multiplyNode_1.MultiplyNode(permut[1][0].toTree(), permut[1][1].toTree()));
|
|
17
|
-
console.log(
|
|
18
|
+
console.log((0, randTupleInt_1.distinctRandTupleInt)(3, 2, { from: 1, to: 10 }));
|
|
18
19
|
};
|
|
19
20
|
exports.playground = playground;
|
package/lib/server.js
CHANGED
|
@@ -37,6 +37,7 @@ const numberNode_1 = require("./tree/nodes/numbers/numberNode");
|
|
|
37
37
|
const infiniteNode_1 = require("./tree/nodes/numbers/infiniteNode");
|
|
38
38
|
const toScientific_1 = require("./utils/numberPrototype/toScientific");
|
|
39
39
|
const variableNode_1 = require("./tree/nodes/variables/variableNode");
|
|
40
|
+
const playground_1 = require("./playground");
|
|
40
41
|
const jsonParser = body_parser_1.default.json();
|
|
41
42
|
const mathExercises = Object.values(MathExercises);
|
|
42
43
|
const pcExercises = Object.values(PCExercises);
|
|
@@ -65,7 +66,7 @@ const runServer = () => {
|
|
|
65
66
|
console.log("math exos", mathExercises.length);
|
|
66
67
|
console.log("math hints", mathExercises.filter((exo) => exo.hasHintAndCorrection).length);
|
|
67
68
|
console.log("pc exos", pcExercises.length);
|
|
68
|
-
|
|
69
|
+
(0, playground_1.playground)();
|
|
69
70
|
app.get("/", (req, res) => {
|
|
70
71
|
res.json(allExercises);
|
|
71
72
|
});
|