math-exercises 2.2.37 → 2.2.39
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/conversion/aeraConversion.d.ts.map +1 -1
- package/lib/exercises/math/conversion/aeraConversion.js +1 -2
- package/lib/exercises/math/derivation/derivative/thirdDegreeDerivative.d.ts.map +1 -1
- package/lib/exercises/math/derivation/derivative/thirdDegreeDerivative.js +1 -1
- package/lib/exercises/math/functions/basics/imageAntecedentFromSentence.d.ts +9 -0
- package/lib/exercises/math/functions/basics/imageAntecedentFromSentence.d.ts.map +1 -0
- package/lib/exercises/math/functions/basics/imageAntecedentFromSentence.js +76 -0
- package/lib/exercises/math/functions/basics/index.d.ts +1 -0
- package/lib/exercises/math/functions/basics/index.d.ts.map +1 -1
- package/lib/exercises/math/functions/basics/index.js +1 -0
- package/lib/exercises/math/geometry/areas/circleRadiusFromArea.d.ts +7 -0
- package/lib/exercises/math/geometry/areas/circleRadiusFromArea.d.ts.map +1 -0
- package/lib/exercises/math/geometry/areas/circleRadiusFromArea.js +108 -0
- package/lib/exercises/math/geometry/areas/index.d.ts +3 -0
- package/lib/exercises/math/geometry/areas/index.d.ts.map +1 -1
- package/lib/exercises/math/geometry/areas/index.js +3 -0
- package/lib/exercises/math/geometry/areas/rectangleSideFromArea.d.ts +8 -0
- package/lib/exercises/math/geometry/areas/rectangleSideFromArea.d.ts.map +1 -0
- package/lib/exercises/math/geometry/areas/rectangleSideFromArea.js +95 -0
- package/lib/exercises/math/geometry/areas/squareSideFromArea.d.ts +8 -0
- package/lib/exercises/math/geometry/areas/squareSideFromArea.d.ts.map +1 -0
- package/lib/exercises/math/geometry/areas/squareSideFromArea.js +77 -0
- package/lib/exercises/math/geometry/cartesian/readAbscissOnSemiLine.js +1 -1
- package/lib/exercises/math/geometry/perimeters/circleRadiusFromPerimeter.d.ts +7 -0
- package/lib/exercises/math/geometry/perimeters/circleRadiusFromPerimeter.d.ts.map +1 -0
- package/lib/exercises/math/geometry/perimeters/circleRadiusFromPerimeter.js +102 -0
- package/lib/exercises/math/geometry/perimeters/index.d.ts +3 -0
- package/lib/exercises/math/geometry/perimeters/index.d.ts.map +1 -1
- package/lib/exercises/math/geometry/perimeters/index.js +3 -0
- package/lib/exercises/math/geometry/perimeters/rectangleSideFromPerimeter.d.ts +8 -0
- package/lib/exercises/math/geometry/perimeters/rectangleSideFromPerimeter.d.ts.map +1 -0
- package/lib/exercises/math/geometry/perimeters/rectangleSideFromPerimeter.js +114 -0
- package/lib/exercises/math/geometry/perimeters/squareSideFromPerimeter.d.ts +7 -0
- package/lib/exercises/math/geometry/perimeters/squareSideFromPerimeter.d.ts.map +1 -0
- package/lib/exercises/math/geometry/perimeters/squareSideFromPerimeter.js +74 -0
- package/lib/exercises/math/trigonometry/arcValue.js +1 -1
- package/lib/exercises/math/trigonometry/equationCosOnRandomInterval.d.ts.map +1 -1
- package/lib/exercises/math/trigonometry/equationCosOnRandomInterval.js +14 -5
- package/lib/exercises/math/trigonometry/equationSinOnRandomInterval.js +1 -1
- package/lib/exercises/math/trigonometry/index.d.ts +1 -0
- package/lib/exercises/math/trigonometry/index.d.ts.map +1 -1
- package/lib/exercises/math/trigonometry/index.js +1 -1
- package/lib/exercises/math/trigonometry/trigonometryAngleCalcul.js +1 -1
- package/lib/exercises/pc/calibrationCurveOfSolution.js +4 -4
- package/lib/exercises/pc/chemicalEquations.d.ts.map +1 -1
- package/lib/exercises/pc/chemicalEquations.js +1 -0
- package/lib/exercises/pc/chemicalReactions/titrationEquivalenceRelation.js +22 -22
- package/lib/exercises/pc/forces/calculateNormalOrFrictionForce.js +2 -2
- package/lib/exercises/pc/forces/forceWork.js +1 -1
- package/lib/exercises/pc/forces/gravitationalForcePlanets.d.ts.map +1 -1
- package/lib/exercises/pc/forces/gravitationalForcePlanets.js +2 -0
- package/lib/exercises/pc/mole/moleculeCountFromMol.js +1 -1
- package/lib/exercises/pc/potentialEnergy.d.ts.map +1 -1
- package/lib/exercises/pc/potentialEnergy.js +2 -1
- package/lib/exercises/pc/snellDescartes.js +4 -4
- package/lib/exercises/pc/sound/frequencyComparison.d.ts.map +1 -1
- package/lib/exercises/pc/sound/frequencyComparison.js +1 -0
- package/lib/exercises/pc/waves/lightDistanceConversion.d.ts.map +1 -1
- package/lib/exercises/pc/waves/lightDistanceConversion.js +13 -4
- package/lib/index.d.ts +22 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/math/numbers/reals/real.d.ts +2 -0
- package/lib/math/numbers/reals/real.d.ts.map +1 -1
- package/lib/math/numbers/reals/real.js +7 -0
- package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
- package/lib/tree/nodes/operators/fractionNode.js +2 -1
- package/lib/types/keyIds.d.ts +1 -1
- package/lib/types/keyIds.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aeraConversion.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/conversion/aeraConversion.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,QAAQ,EAQT,MAAM,gBAAgB,CAAC;AAExB,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,MAAM,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"aeraConversion.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/conversion/aeraConversion.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,QAAQ,EAQT,MAAM,gBAAgB,CAAC;AAExB,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,MAAM,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AA2DF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAahD,CAAC"}
|
|
@@ -36,8 +36,7 @@ const getPropositions = (n, { answer, randomAera, randomUnitIndex, randomUnitIns
|
|
|
36
36
|
while (propositions.length < n) {
|
|
37
37
|
const wrongAnswer = aeraDecimal
|
|
38
38
|
.multiplyByPowerOfTen(2 * (0, randint_1.randint)(-2, 4, [randomUnitIndex - randomUnitInstructionIndex]))
|
|
39
|
-
.value.
|
|
40
|
-
.replace(".", ",");
|
|
39
|
+
.value.frenchify();
|
|
41
40
|
(0, exercise_1.tryToAddWrongProp)(propositions, wrongAnswer);
|
|
42
41
|
}
|
|
43
42
|
return (0, shuffle_1.shuffle)(propositions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thirdDegreeDerivative.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/thirdDegreeDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAIJ,MAAM,0BAA0B,CAAC;AAKlC,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,iBAAiB,CAAC,WAAW,CAsBnE,CAAC;AAEF,eAAO,MAAM,oCAAoC,EAAE,YAAY,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"thirdDegreeDerivative.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/thirdDegreeDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAIJ,MAAM,0BAA0B,CAAC;AAKlC,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,iBAAiB,CAAC,WAAW,CAsBnE,CAAC;AAEF,eAAO,MAAM,oCAAoC,EAAE,YAAY,CAAC,WAAW,CAwC1E,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,GAAG,CAAC,WAAW,CAQ/D,CAAC;AACF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAqBvD,CAAC"}
|
|
@@ -47,7 +47,7 @@ const getThirdDegreeDerivativePropositions = (n, { answer, coefficients }) => {
|
|
|
47
47
|
randomCoefficients.push((0, randint_1.randint)(-9, 10));
|
|
48
48
|
randomCoefficients.push((0, randint_1.randint)(-9, 10, [0]));
|
|
49
49
|
const randomPolynomial = new polynomial_1.Polynomial(randomCoefficients);
|
|
50
|
-
(0, exercise_1.tryToAddWrongProp)(propositions, randomPolynomial.derivate().
|
|
50
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, randomPolynomial.derivate().toTree().toTex());
|
|
51
51
|
}
|
|
52
52
|
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
53
53
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Exercise } from "../../../../exercises/exercise";
|
|
2
|
+
type Identifiers = {
|
|
3
|
+
isImage: boolean;
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
};
|
|
7
|
+
export declare const imageAntecedentFromSentence: Exercise<Identifiers>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=imageAntecedentFromSentence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageAntecedentFromSentence.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/basics/imageAntecedentFromSentence.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,0BAA0B,CAAC;AAMlC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAsEF,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,WAAW,CAgB7D,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.imageAntecedentFromSentence = void 0;
|
|
4
|
+
const exercise_1 = require("../../../../exercises/exercise");
|
|
5
|
+
const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
|
|
6
|
+
const randint_1 = require("../../../../math/utils/random/randint");
|
|
7
|
+
const coinFlip_1 = require("../../../../utils/alea/coinFlip");
|
|
8
|
+
const getPropositions = (n, { answer, isImage, x, y }) => {
|
|
9
|
+
const propositions = [];
|
|
10
|
+
(0, exercise_1.addValidProp)(propositions, answer);
|
|
11
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, getAnswer({ isImage, x: y, y: x }));
|
|
12
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, `${x}=${y}`);
|
|
13
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, getAnswer({ isImage, x: y, y: y }));
|
|
14
|
+
// tryToAddWrongProp(propositions, getAnswer({ isImage, x: x, y: x }));
|
|
15
|
+
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
16
|
+
};
|
|
17
|
+
const getAnswer = (identifiers) => {
|
|
18
|
+
return `f\\left(${identifiers.x}\\right)=${identifiers.y}`;
|
|
19
|
+
};
|
|
20
|
+
const getInstruction = (identifiers) => {
|
|
21
|
+
let instruction = "Traduire par une égalité la phrase suivante : \n \n";
|
|
22
|
+
instruction += identifiers.isImage
|
|
23
|
+
? `
|
|
24
|
+
"L'image de $${identifiers.x}$ par $f$ est $${identifiers.y}$"
|
|
25
|
+
`
|
|
26
|
+
: `"Un antécédent de $${identifiers.y}$ par $f$ est $${identifiers.x}$"`;
|
|
27
|
+
return instruction;
|
|
28
|
+
};
|
|
29
|
+
const getHint = (identifiers) => {
|
|
30
|
+
return `Si $f(x) = y$, alors $x$ est un antécédent de $y$ par $f$, et $y$ est l'image de $x$ par $f$.`;
|
|
31
|
+
};
|
|
32
|
+
const getCorrection = (identifiers) => {
|
|
33
|
+
return `Si $f(x) = y$, alors $x$ est un antécédent de $y$ par $f$, et $y$ est l'image de $x$ par $f$. Ici, on a donc $${getAnswer(identifiers)}$`;
|
|
34
|
+
};
|
|
35
|
+
const getKeys = (identifiers) => {
|
|
36
|
+
return ["fParenthesis", "equal"];
|
|
37
|
+
};
|
|
38
|
+
const isAnswerValid = (ans, { answer, x, y }) => {
|
|
39
|
+
const reversed = answer.split("=").reverse().join("=");
|
|
40
|
+
return [answer, reversed].includes(ans);
|
|
41
|
+
};
|
|
42
|
+
const getImageAntecedentFromSentenceQuestion = () => {
|
|
43
|
+
const x = (0, randint_1.randint)(-10, 10);
|
|
44
|
+
const y = (0, randint_1.randint)(-10, 10, [x]);
|
|
45
|
+
const identifiers = {
|
|
46
|
+
isImage: (0, coinFlip_1.coinFlip)(),
|
|
47
|
+
x,
|
|
48
|
+
y,
|
|
49
|
+
};
|
|
50
|
+
const question = {
|
|
51
|
+
answer: getAnswer(identifiers),
|
|
52
|
+
instruction: getInstruction(identifiers),
|
|
53
|
+
keys: getKeys(identifiers),
|
|
54
|
+
answerFormat: "tex",
|
|
55
|
+
identifiers,
|
|
56
|
+
hint: getHint(identifiers),
|
|
57
|
+
correction: getCorrection(identifiers),
|
|
58
|
+
};
|
|
59
|
+
return question;
|
|
60
|
+
};
|
|
61
|
+
exports.imageAntecedentFromSentence = {
|
|
62
|
+
id: "imageAntecedentFromSentence",
|
|
63
|
+
connector: "\\iff",
|
|
64
|
+
label: "Traduire une phrase contenant image ou antécédent en une égalité",
|
|
65
|
+
isSingleStep: true,
|
|
66
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getImageAntecedentFromSentenceQuestion, nb),
|
|
67
|
+
qcmTimer: 60,
|
|
68
|
+
freeTimer: 60,
|
|
69
|
+
getPropositions,
|
|
70
|
+
isAnswerValid,
|
|
71
|
+
subject: "Mathématiques",
|
|
72
|
+
getHint,
|
|
73
|
+
getCorrection,
|
|
74
|
+
getAnswer,
|
|
75
|
+
hasHintAndCorrection: true,
|
|
76
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/basics/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/basics/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC"}
|
|
@@ -23,3 +23,4 @@ __exportStar(require("./graphicInequation"), exports);
|
|
|
23
23
|
__exportStar(require("./twoFunctionsEquation"), exports);
|
|
24
24
|
__exportStar(require("./twoFunctionsInequation"), exports);
|
|
25
25
|
__exportStar(require("./inverseImageFunctionTable"), exports);
|
|
26
|
+
__exportStar(require("./imageAntecedentFromSentence"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circleRadiusFromArea.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/areas/circleRadiusFromArea.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,0BAA0B,CAAC;AAclC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAyFF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAgBtD,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.circleRadiusFromArea = void 0;
|
|
4
|
+
const exercise_1 = require("../../../../exercises/exercise");
|
|
5
|
+
const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
|
|
6
|
+
const randfloat_1 = require("../../../../math/utils/random/randfloat");
|
|
7
|
+
const round_1 = require("../../../../math/utils/round");
|
|
8
|
+
const sqrtNode_1 = require("../../../../tree/nodes/functions/sqrtNode");
|
|
9
|
+
const piNode_1 = require("../../../../tree/nodes/numbers/piNode");
|
|
10
|
+
const fractionNode_1 = require("../../../../tree/nodes/operators/fractionNode");
|
|
11
|
+
const numberParser_1 = require("../../../../tree/parsers/numberParser");
|
|
12
|
+
const alignTex_1 = require("../../../../utils/latex/alignTex");
|
|
13
|
+
const getPropositions = (n, { answer, area }) => {
|
|
14
|
+
const propositions = [];
|
|
15
|
+
(0, exercise_1.addValidProp)(propositions, answer);
|
|
16
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, round_1.round)(Math.sqrt(area), 2).frenchify());
|
|
17
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, round_1.round)(area / Math.PI, 2).frenchify());
|
|
18
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, round_1.round)(area / (2 * Math.PI), 2).frenchify());
|
|
19
|
+
while (propositions.length < n) {
|
|
20
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, randfloat_1.randfloat)(1, 100, 2).frenchify());
|
|
21
|
+
}
|
|
22
|
+
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
23
|
+
};
|
|
24
|
+
const getAnswer = (identifiers) => {
|
|
25
|
+
return (0, round_1.round)(Math.sqrt(identifiers.area / Math.PI), 2).frenchify();
|
|
26
|
+
};
|
|
27
|
+
const getInstruction = (identifiers) => {
|
|
28
|
+
return `Calculer le rayon d'un cercle d'aire $${identifiers.area.frenchify()}$. Arrondir au centième.`;
|
|
29
|
+
};
|
|
30
|
+
const getHint = (identifiers) => {
|
|
31
|
+
return `L'aire d'un cercle est égale à :
|
|
32
|
+
|
|
33
|
+
$$
|
|
34
|
+
\\pi\\times r^2
|
|
35
|
+
$$
|
|
36
|
+
|
|
37
|
+
où $r$ est le rayon.`;
|
|
38
|
+
};
|
|
39
|
+
const getCorrection = (identifiers) => {
|
|
40
|
+
const r2 = identifiers.area / Math.PI;
|
|
41
|
+
return `L'aire d'un cercle est égale à :
|
|
42
|
+
|
|
43
|
+
$$
|
|
44
|
+
\\pi\\times r^2
|
|
45
|
+
$$
|
|
46
|
+
|
|
47
|
+
où $r$ est le rayon.
|
|
48
|
+
|
|
49
|
+
Ici, on a donc :
|
|
50
|
+
|
|
51
|
+
$$
|
|
52
|
+
${identifiers.area.frenchify()} = \\pi\\times r^2
|
|
53
|
+
$$
|
|
54
|
+
|
|
55
|
+
On isole $r^2$ dans cette équation :
|
|
56
|
+
|
|
57
|
+
${(0, alignTex_1.alignTex)([
|
|
58
|
+
["r^2", "=", new fractionNode_1.FractionNode(identifiers.area.toTree(), piNode_1.PiNode).toTex()],
|
|
59
|
+
["", "\\approx", (0, round_1.round)(r2, 2).frenchify()],
|
|
60
|
+
])}
|
|
61
|
+
|
|
62
|
+
Enfin, on obtient $r$ en prenant la racine carrée du résultat précédent :
|
|
63
|
+
|
|
64
|
+
${(0, alignTex_1.alignTex)([
|
|
65
|
+
["r", "=", new sqrtNode_1.SqrtNode((0, round_1.round)(r2, 2).toTree()).toTex()],
|
|
66
|
+
["", "\\approx", getAnswer(identifiers)],
|
|
67
|
+
])}
|
|
68
|
+
`;
|
|
69
|
+
};
|
|
70
|
+
const getKeys = (identifiers) => {
|
|
71
|
+
return [];
|
|
72
|
+
};
|
|
73
|
+
const isAnswerValid = (ans, { answer, area }) => {
|
|
74
|
+
const parsed = (0, numberParser_1.numberParser)(ans);
|
|
75
|
+
if (!parsed)
|
|
76
|
+
return false;
|
|
77
|
+
return parsed === answer;
|
|
78
|
+
};
|
|
79
|
+
const getCircleRadiusFromAreaQuestion = () => {
|
|
80
|
+
const area = (0, randfloat_1.randfloat)(1, 100, 2);
|
|
81
|
+
const identifiers = { area };
|
|
82
|
+
const question = {
|
|
83
|
+
answer: getAnswer(identifiers),
|
|
84
|
+
instruction: getInstruction(identifiers),
|
|
85
|
+
keys: getKeys(identifiers),
|
|
86
|
+
answerFormat: "tex",
|
|
87
|
+
identifiers,
|
|
88
|
+
hint: getHint(identifiers),
|
|
89
|
+
correction: getCorrection(identifiers),
|
|
90
|
+
};
|
|
91
|
+
return question;
|
|
92
|
+
};
|
|
93
|
+
exports.circleRadiusFromArea = {
|
|
94
|
+
id: "circleRadiusFromArea",
|
|
95
|
+
connector: "=",
|
|
96
|
+
label: "Calculer le rayon d'un cercle en connaissant son aire",
|
|
97
|
+
isSingleStep: true,
|
|
98
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCircleRadiusFromAreaQuestion, nb),
|
|
99
|
+
qcmTimer: 60,
|
|
100
|
+
freeTimer: 60,
|
|
101
|
+
getPropositions,
|
|
102
|
+
isAnswerValid,
|
|
103
|
+
subject: "Mathématiques",
|
|
104
|
+
getHint,
|
|
105
|
+
getCorrection,
|
|
106
|
+
getAnswer,
|
|
107
|
+
hasHintAndCorrection: true,
|
|
108
|
+
};
|
|
@@ -4,4 +4,7 @@ export * from "./rightTriangleArea";
|
|
|
4
4
|
export * from "./squareArea";
|
|
5
5
|
export * from "./triangleArea";
|
|
6
6
|
export * from "./triangleAreaV2";
|
|
7
|
+
export * from "./squareSideFromArea";
|
|
8
|
+
export * from "./rectangleSideFromArea";
|
|
9
|
+
export * from "./circleRadiusFromArea";
|
|
7
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/areas/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/areas/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC"}
|
|
@@ -20,3 +20,6 @@ __exportStar(require("./rightTriangleArea"), exports);
|
|
|
20
20
|
__exportStar(require("./squareArea"), exports);
|
|
21
21
|
__exportStar(require("./triangleArea"), exports);
|
|
22
22
|
__exportStar(require("./triangleAreaV2"), exports);
|
|
23
|
+
__exportStar(require("./squareSideFromArea"), exports);
|
|
24
|
+
__exportStar(require("./rectangleSideFromArea"), exports);
|
|
25
|
+
__exportStar(require("./circleRadiusFromArea"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rectangleSideFromArea.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/areas/rectangleSideFromArea.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoFF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAiBvD,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.rectangleSideFromArea = void 0;
|
|
4
|
+
const exercise_1 = require("../../../../exercises/exercise");
|
|
5
|
+
const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
|
|
6
|
+
const randfloat_1 = require("../../../../math/utils/random/randfloat");
|
|
7
|
+
const round_1 = require("../../../../math/utils/round");
|
|
8
|
+
const fractionNode_1 = require("../../../../tree/nodes/operators/fractionNode");
|
|
9
|
+
const numberParser_1 = require("../../../../tree/parsers/numberParser");
|
|
10
|
+
const alignTex_1 = require("../../../../utils/latex/alignTex");
|
|
11
|
+
const getPropositions = (n, { answer, area, width }) => {
|
|
12
|
+
const propositions = [];
|
|
13
|
+
(0, exercise_1.addValidProp)(propositions, answer);
|
|
14
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, round_1.round)(area / 4, 3).frenchify());
|
|
15
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, round_1.round)(area - width, 3).frenchify());
|
|
16
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, round_1.round)((area - 2 * width) / 2, 3).frenchify());
|
|
17
|
+
while (propositions.length < n) {
|
|
18
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, randfloat_1.randfloat)(1, 100, 2).frenchify());
|
|
19
|
+
}
|
|
20
|
+
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
21
|
+
};
|
|
22
|
+
const getAnswer = (identifiers) => {
|
|
23
|
+
return (0, round_1.round)(identifiers.area / identifiers.width, 2).frenchify();
|
|
24
|
+
};
|
|
25
|
+
const getInstruction = (identifiers) => {
|
|
26
|
+
return `Calculer la longueur d'un rectangle d'aire $${identifiers.area.frenchify()}$ et de largeur $${identifiers.width.frenchify()}$.`;
|
|
27
|
+
};
|
|
28
|
+
const getHint = (identifiers) => {
|
|
29
|
+
return `L'aire d'un rectangle est le produit de la largeur et de la longueur.`;
|
|
30
|
+
};
|
|
31
|
+
const getCorrection = (identifiers) => {
|
|
32
|
+
return `L'aire d'un rectangle est le produit de la largeur et de la longueur.
|
|
33
|
+
|
|
34
|
+
Ici, on a donc :
|
|
35
|
+
|
|
36
|
+
$$
|
|
37
|
+
${identifiers.area.frenchify()} = ${identifiers.width.frenchify()}\\times L
|
|
38
|
+
$$
|
|
39
|
+
|
|
40
|
+
Pour retrouver la longueur, on isole $L$ dans cette équation. On obtient :
|
|
41
|
+
|
|
42
|
+
${(0, alignTex_1.alignTex)([
|
|
43
|
+
[
|
|
44
|
+
"L",
|
|
45
|
+
"=",
|
|
46
|
+
`${new fractionNode_1.FractionNode(identifiers.area.toTree(), identifiers.width.toTree()).toTex()}`,
|
|
47
|
+
],
|
|
48
|
+
["", "=", getAnswer(identifiers)],
|
|
49
|
+
])}
|
|
50
|
+
`;
|
|
51
|
+
};
|
|
52
|
+
const getKeys = (identifiers) => {
|
|
53
|
+
return [];
|
|
54
|
+
};
|
|
55
|
+
const isAnswerValid = (ans, { answer, area, width }) => {
|
|
56
|
+
const parsed = (0, numberParser_1.numberParser)(ans);
|
|
57
|
+
if (!parsed)
|
|
58
|
+
return false;
|
|
59
|
+
return parsed === answer;
|
|
60
|
+
};
|
|
61
|
+
const getRectangleSideFromAreaQuestion = () => {
|
|
62
|
+
const width = (0, randfloat_1.randfloat)(1, 50, 1);
|
|
63
|
+
const length = (0, randfloat_1.randfloat)(width + 1, width + 30, 1);
|
|
64
|
+
const area = (0, round_1.round)(width * length, 5);
|
|
65
|
+
const identifiers = {
|
|
66
|
+
area,
|
|
67
|
+
width,
|
|
68
|
+
};
|
|
69
|
+
const question = {
|
|
70
|
+
answer: getAnswer(identifiers),
|
|
71
|
+
instruction: getInstruction(identifiers),
|
|
72
|
+
keys: getKeys(identifiers),
|
|
73
|
+
answerFormat: "tex",
|
|
74
|
+
identifiers,
|
|
75
|
+
hint: getHint(identifiers),
|
|
76
|
+
correction: getCorrection(identifiers),
|
|
77
|
+
};
|
|
78
|
+
return question;
|
|
79
|
+
};
|
|
80
|
+
exports.rectangleSideFromArea = {
|
|
81
|
+
id: "rectangleSideFromArea",
|
|
82
|
+
connector: "=",
|
|
83
|
+
label: "Calculer la longueur d'un rectangle en connaissant son aire et sa largeur",
|
|
84
|
+
isSingleStep: true,
|
|
85
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRectangleSideFromAreaQuestion, nb),
|
|
86
|
+
qcmTimer: 60,
|
|
87
|
+
freeTimer: 60,
|
|
88
|
+
getPropositions,
|
|
89
|
+
isAnswerValid,
|
|
90
|
+
subject: "Mathématiques",
|
|
91
|
+
getHint,
|
|
92
|
+
getCorrection,
|
|
93
|
+
getAnswer,
|
|
94
|
+
hasHintAndCorrection: true,
|
|
95
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"squareSideFromArea.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/areas/squareSideFromArea.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AA+DF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAgBpD,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.squareSideFromArea = void 0;
|
|
4
|
+
const exercise_1 = require("../../../../exercises/exercise");
|
|
5
|
+
const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
|
|
6
|
+
const randfloat_1 = require("../../../../math/utils/random/randfloat");
|
|
7
|
+
const randint_1 = require("../../../../math/utils/random/randint");
|
|
8
|
+
const round_1 = require("../../../../math/utils/round");
|
|
9
|
+
const sqrtNode_1 = require("../../../../tree/nodes/functions/sqrtNode");
|
|
10
|
+
const coinFlip_1 = require("../../../../utils/alea/coinFlip");
|
|
11
|
+
const getPropositions = (n, { answer, area }) => {
|
|
12
|
+
const propositions = [];
|
|
13
|
+
(0, exercise_1.addValidProp)(propositions, answer);
|
|
14
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (area * area).frenchify());
|
|
15
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, round_1.round)(area / 2, 2).frenchify());
|
|
16
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, round_1.round)(area / 4, 2).frenchify());
|
|
17
|
+
while (propositions.length < n) {
|
|
18
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, randfloat_1.randfloat)(1, 100, 2).frenchify());
|
|
19
|
+
}
|
|
20
|
+
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
21
|
+
};
|
|
22
|
+
const getAnswer = (identifiers) => {
|
|
23
|
+
return (0, round_1.round)(Math.sqrt(identifiers.area), 2).frenchify();
|
|
24
|
+
};
|
|
25
|
+
const getInstruction = (identifiers) => {
|
|
26
|
+
return `Calculer le côté d'un carré d'aire $${identifiers.area.frenchify()}$. Arrondir au centième.`;
|
|
27
|
+
};
|
|
28
|
+
const getHint = (identifiers) => {
|
|
29
|
+
return `L'aire d'un carré est égale au carré du côté.`;
|
|
30
|
+
};
|
|
31
|
+
const getCorrection = (identifiers) => {
|
|
32
|
+
return `L'aire d'un carré est égale au carré du côté. Pour retrouver le côté à partir de l'aire, il faut donc calculer la racine carrée de l'aire. Le côté du carré est donc égal à :
|
|
33
|
+
|
|
34
|
+
$$
|
|
35
|
+
${new sqrtNode_1.SqrtNode(identifiers.area.toTree()).toTex()}${identifiers.isPerfectSquare ? "=" : "\\approx"}${getAnswer(identifiers)}
|
|
36
|
+
$$
|
|
37
|
+
`;
|
|
38
|
+
};
|
|
39
|
+
const getKeys = (identifiers) => {
|
|
40
|
+
return [];
|
|
41
|
+
};
|
|
42
|
+
const isAnswerValid = (ans, { answer, area }) => {
|
|
43
|
+
const node = new sqrtNode_1.SqrtNode(area.toTree());
|
|
44
|
+
const approximation = (0, round_1.round)(Math.sqrt(area), 2).frenchify();
|
|
45
|
+
return [...node.toAllValidTexs(), approximation].includes(ans);
|
|
46
|
+
};
|
|
47
|
+
const getSquareSideFromAreaQuestion = () => {
|
|
48
|
+
const isPerfectSquare = (0, coinFlip_1.coinFlip)();
|
|
49
|
+
const area = isPerfectSquare ? (0, randint_1.randint)(1, 11) ** 2 : (0, randfloat_1.randfloat)(1, 100, 1);
|
|
50
|
+
const identifiers = { area, isPerfectSquare };
|
|
51
|
+
const question = {
|
|
52
|
+
answer: getAnswer(identifiers),
|
|
53
|
+
instruction: getInstruction(identifiers),
|
|
54
|
+
keys: getKeys(identifiers),
|
|
55
|
+
answerFormat: "tex",
|
|
56
|
+
identifiers,
|
|
57
|
+
hint: getHint(identifiers),
|
|
58
|
+
correction: getCorrection(identifiers),
|
|
59
|
+
};
|
|
60
|
+
return question;
|
|
61
|
+
};
|
|
62
|
+
exports.squareSideFromArea = {
|
|
63
|
+
id: "squareSideFromArea",
|
|
64
|
+
connector: "=",
|
|
65
|
+
label: "Calculer le côté d'un carré en connaissant son aire",
|
|
66
|
+
isSingleStep: true,
|
|
67
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getSquareSideFromAreaQuestion, nb),
|
|
68
|
+
qcmTimer: 60,
|
|
69
|
+
freeTimer: 60,
|
|
70
|
+
getPropositions,
|
|
71
|
+
isAnswerValid,
|
|
72
|
+
subject: "Mathématiques",
|
|
73
|
+
getHint,
|
|
74
|
+
getCorrection,
|
|
75
|
+
getAnswer,
|
|
76
|
+
hasHintAndCorrection: true,
|
|
77
|
+
};
|
|
@@ -106,7 +106,7 @@ const getReadAbscissOnSemiLineQuestion = () => {
|
|
|
106
106
|
break;
|
|
107
107
|
case nombre_1.NumberType.Decimal:
|
|
108
108
|
default:
|
|
109
|
-
axisUnit = (0, randfloat_1.randfloat)(0, 5, 1);
|
|
109
|
+
axisUnit = (0, randfloat_1.randfloat)(0.1, 5, 1);
|
|
110
110
|
coeff = (0, randint_1.randint)(2, 10);
|
|
111
111
|
absciss = (0, round_1.round)(axisUnit * coeff, 2);
|
|
112
112
|
oneUnitTex = axisUnit.frenchify();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circleRadiusFromPerimeter.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/perimeters/circleRadiusFromPerimeter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,0BAA0B,CAAC;AAclC,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AA2FF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAgB3D,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.circleRadiusFromPerimeter = void 0;
|
|
4
|
+
const exercise_1 = require("../../../../exercises/exercise");
|
|
5
|
+
const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
|
|
6
|
+
const randfloat_1 = require("../../../../math/utils/random/randfloat");
|
|
7
|
+
const round_1 = require("../../../../math/utils/round");
|
|
8
|
+
const piNode_1 = require("../../../../tree/nodes/numbers/piNode");
|
|
9
|
+
const fractionNode_1 = require("../../../../tree/nodes/operators/fractionNode");
|
|
10
|
+
const multiplyNode_1 = require("../../../../tree/nodes/operators/multiplyNode");
|
|
11
|
+
const numberParser_1 = require("../../../../tree/parsers/numberParser");
|
|
12
|
+
const alignTex_1 = require("../../../../utils/latex/alignTex");
|
|
13
|
+
const getPropositions = (n, { answer, perimeter }) => {
|
|
14
|
+
const propositions = [];
|
|
15
|
+
(0, exercise_1.addValidProp)(propositions, answer);
|
|
16
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, round_1.round)(Math.sqrt(perimeter), 2).frenchify());
|
|
17
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, round_1.round)(perimeter / Math.PI, 2).frenchify());
|
|
18
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, round_1.round)(perimeter / 4, 2).frenchify());
|
|
19
|
+
while (propositions.length < n) {
|
|
20
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, randfloat_1.randfloat)(1, 100, 2).frenchify());
|
|
21
|
+
}
|
|
22
|
+
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
23
|
+
};
|
|
24
|
+
const getAnswer = (identifiers) => {
|
|
25
|
+
return (0, round_1.round)(identifiers.perimeter / (2 * Math.PI), 2).frenchify();
|
|
26
|
+
};
|
|
27
|
+
const getInstruction = (identifiers) => {
|
|
28
|
+
return `Calculer le rayon d'un cercle de périmètre $${identifiers.perimeter.frenchify()}$. Arrondir au centième.`;
|
|
29
|
+
};
|
|
30
|
+
const getHint = (identifiers) => {
|
|
31
|
+
return `Le périmètre d'un cercle est égale à :
|
|
32
|
+
|
|
33
|
+
$$
|
|
34
|
+
2\\times \\pi\\times r
|
|
35
|
+
$$
|
|
36
|
+
|
|
37
|
+
où $r$ est le rayon.`;
|
|
38
|
+
};
|
|
39
|
+
const getCorrection = (identifiers) => {
|
|
40
|
+
return `Le périmètre d'un cercle est égal à :
|
|
41
|
+
|
|
42
|
+
$$
|
|
43
|
+
2\\times \\pi\\times r
|
|
44
|
+
$$
|
|
45
|
+
|
|
46
|
+
où $r$ est le rayon.
|
|
47
|
+
|
|
48
|
+
Ici, on a donc :
|
|
49
|
+
|
|
50
|
+
$${identifiers.perimeter.frenchify()} = 2\\times \\pi\\times r$
|
|
51
|
+
|
|
52
|
+
On isole $r$ dans cette équation :
|
|
53
|
+
|
|
54
|
+
${(0, alignTex_1.alignTex)([
|
|
55
|
+
[
|
|
56
|
+
"r",
|
|
57
|
+
"=",
|
|
58
|
+
new fractionNode_1.FractionNode(identifiers.perimeter.toTree(), new multiplyNode_1.MultiplyNode((2).toTree(), piNode_1.PiNode)).toTex(),
|
|
59
|
+
],
|
|
60
|
+
["", "\\aprox", getAnswer(identifiers)],
|
|
61
|
+
])}
|
|
62
|
+
`;
|
|
63
|
+
};
|
|
64
|
+
const getKeys = (identifiers) => {
|
|
65
|
+
return [];
|
|
66
|
+
};
|
|
67
|
+
const isAnswerValid = (ans, { answer, perimeter }) => {
|
|
68
|
+
const parsed = (0, numberParser_1.numberParser)(ans);
|
|
69
|
+
if (!parsed)
|
|
70
|
+
return false;
|
|
71
|
+
return parsed === answer;
|
|
72
|
+
};
|
|
73
|
+
const getCircleRadiusFromPerimeterQuestion = () => {
|
|
74
|
+
const perimeter = (0, randfloat_1.randfloat)(1, 100, 2);
|
|
75
|
+
const identifiers = { perimeter };
|
|
76
|
+
const question = {
|
|
77
|
+
answer: getAnswer(identifiers),
|
|
78
|
+
instruction: getInstruction(identifiers),
|
|
79
|
+
keys: getKeys(identifiers),
|
|
80
|
+
answerFormat: "tex",
|
|
81
|
+
identifiers,
|
|
82
|
+
hint: getHint(identifiers),
|
|
83
|
+
correction: getCorrection(identifiers),
|
|
84
|
+
};
|
|
85
|
+
return question;
|
|
86
|
+
};
|
|
87
|
+
exports.circleRadiusFromPerimeter = {
|
|
88
|
+
id: "circleRadiusFromPerimeter",
|
|
89
|
+
connector: "=",
|
|
90
|
+
label: "Calculer le rayon d'un cercle en connaissant son périmètre",
|
|
91
|
+
isSingleStep: true,
|
|
92
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCircleRadiusFromPerimeterQuestion, nb),
|
|
93
|
+
qcmTimer: 60,
|
|
94
|
+
freeTimer: 60,
|
|
95
|
+
getPropositions,
|
|
96
|
+
isAnswerValid,
|
|
97
|
+
subject: "Mathématiques",
|
|
98
|
+
getHint,
|
|
99
|
+
getCorrection,
|
|
100
|
+
getAnswer,
|
|
101
|
+
hasHintAndCorrection: true,
|
|
102
|
+
};
|
|
@@ -2,4 +2,7 @@ export * from "./circleCircumference";
|
|
|
2
2
|
export * from "./rectanglePerimeter";
|
|
3
3
|
export * from "./squarePerimeter";
|
|
4
4
|
export * from "./trianglePerimeter";
|
|
5
|
+
export * from "./squareSideFromPerimeter";
|
|
6
|
+
export * from "./rectangleSideFromPerimeter";
|
|
7
|
+
export * from "./circleRadiusFromPerimeter";
|
|
5
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/perimeters/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/perimeters/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC"}
|
|
@@ -18,3 +18,6 @@ __exportStar(require("./circleCircumference"), exports);
|
|
|
18
18
|
__exportStar(require("./rectanglePerimeter"), exports);
|
|
19
19
|
__exportStar(require("./squarePerimeter"), exports);
|
|
20
20
|
__exportStar(require("./trianglePerimeter"), exports);
|
|
21
|
+
__exportStar(require("./squareSideFromPerimeter"), exports);
|
|
22
|
+
__exportStar(require("./rectangleSideFromPerimeter"), exports);
|
|
23
|
+
__exportStar(require("./circleRadiusFromPerimeter"), exports);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Exercise } from "../../../../exercises/exercise";
|
|
2
|
+
type Identifiers = {
|
|
3
|
+
perimeter: number;
|
|
4
|
+
width: number;
|
|
5
|
+
};
|
|
6
|
+
export declare const rectangleSideFromPerimeter: Exercise<Identifiers>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=rectangleSideFromPerimeter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rectangleSideFromPerimeter.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/perimeters/rectangleSideFromPerimeter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,0BAA0B,CAAC;AAOlC,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA4GF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAiB5D,CAAC"}
|