math-exercises 2.1.26 → 2.2.0
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/exercise.d.ts +27 -4
- package/lib/exercises/exercise.d.ts.map +1 -1
- package/lib/exercises/math/calcul/arithmetics/paritySumsAndProducts.js +1 -1
- package/lib/exercises/math/calcul/digitDecimalRank.d.ts +8 -0
- package/lib/exercises/math/calcul/digitDecimalRank.d.ts.map +1 -0
- package/lib/exercises/math/calcul/digitDecimalRank.js +58 -0
- package/lib/exercises/math/calcul/digitRank.d.ts +8 -0
- package/lib/exercises/math/calcul/digitRank.d.ts.map +1 -0
- package/lib/exercises/math/calcul/digitRank.js +58 -0
- package/lib/exercises/math/calcul/index.d.ts +2 -0
- package/lib/exercises/math/calcul/index.d.ts.map +1 -1
- package/lib/exercises/math/calcul/index.js +2 -0
- package/lib/exercises/math/calculLitteral/equation/binomialsTrinomialsProposedSolutions.js +1 -1
- package/lib/exercises/math/calculLitteral/systems/verifySystemSolution.js +1 -1
- package/lib/exercises/math/derivation/derivative/convexityQuadrinomials.js +1 -1
- package/lib/exercises/math/derivation/derivative/convexityTrinomials.js +1 -1
- package/lib/exercises/math/equaDiff/equaDiffCheckSolutionFirstOrder.js +1 -1
- package/lib/exercises/math/functions/affines/affineAdjustmentComplete.js +1 -1
- package/lib/exercises/math/functions/affines/affineExpressionReading.js +1 -1
- package/lib/exercises/math/functions/parity/parityFromAlgebra.js +1 -1
- package/lib/exercises/math/functions/parity/parityFromGraph.js +1 -1
- package/lib/exercises/math/functions/trinoms/extremumTypeFromAlgebricForm.js +1 -1
- package/lib/exercises/math/functions/trinoms/variationsFromAlgebricForm.js +1 -1
- package/lib/exercises/math/geometry/cartesian/drawAlineInGGB.d.ts +8 -0
- package/lib/exercises/math/geometry/cartesian/drawAlineInGGB.d.ts.map +1 -0
- package/lib/exercises/math/geometry/cartesian/drawAlineInGGB.js +70 -0
- package/lib/exercises/math/geometry/cartesian/index.d.ts +2 -0
- package/lib/exercises/math/geometry/cartesian/index.d.ts.map +1 -1
- package/lib/exercises/math/geometry/cartesian/index.js +2 -0
- package/lib/exercises/math/geometry/cartesian/placeAPoint.d.ts +5 -0
- package/lib/exercises/math/geometry/cartesian/placeAPoint.d.ts.map +1 -0
- package/lib/exercises/math/geometry/cartesian/placeAPoint.js +46 -0
- package/lib/exercises/math/geometry/convexity/convexityTrinomialsGeo.js +1 -1
- package/lib/exercises/math/geometry/vectors/alignementViaColinearity.js +1 -1
- package/lib/exercises/math/geometry/vectors/colinearity.js +1 -1
- package/lib/exercises/math/geometry/vectors/drawAVectorInGGB.d.ts +8 -0
- package/lib/exercises/math/geometry/vectors/drawAVectorInGGB.d.ts.map +1 -0
- package/lib/exercises/math/geometry/vectors/drawAVectorInGGB.js +71 -0
- package/lib/exercises/math/geometry/vectors/equalCaracteristicFromGraph.js +1 -1
- package/lib/exercises/math/geometry/vectors/index.d.ts +1 -0
- package/lib/exercises/math/geometry/vectors/index.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/index.js +1 -0
- package/lib/exercises/math/geometry/vectors/paralellismViaColinearity.js +1 -1
- package/lib/exercises/math/geometry/vectors/parallelogramViaEqualVectors.js +1 -1
- package/lib/exercises/math/matrices/matrixGeneralTerm.js +1 -1
- package/lib/exercises/math/percent/isTableProportional.js +1 -1
- package/lib/exercises/math/probaStat/independancy.js +1 -1
- package/lib/exercises/math/probaStat/stats2var/fineAdjustementExercise.js +1 -1
- package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromFirstTerms.js +1 -1
- package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.js +1 -1
- package/lib/exercises/math/sequences/genericSequenceVariations.js +1 -1
- package/lib/exercises/pc/calibrationCurveOfSolution.d.ts +8 -0
- package/lib/exercises/pc/calibrationCurveOfSolution.d.ts.map +1 -0
- package/lib/exercises/pc/calibrationCurveOfSolution.js +92 -0
- package/lib/exercises/pc/chemicalElements/atomicStructureOfNucleus.js +1 -1
- package/lib/exercises/pc/chemicalElements/identifyRightElectronicConfiguration.js +1 -1
- package/lib/exercises/pc/chemicalReactions/identifyLimitingReagent.js +1 -1
- package/lib/exercises/pc/chemicalReactions/identifyStoichiometricMixture.js +1 -1
- package/lib/exercises/pc/dosage/beerLambertRandomValue.d.ts +12 -0
- package/lib/exercises/pc/dosage/beerLambertRandomValue.d.ts.map +1 -0
- package/lib/exercises/pc/dosage/beerLambertRandomValue.js +163 -0
- package/lib/exercises/pc/dosage/index.d.ts +2 -0
- package/lib/exercises/pc/dosage/index.d.ts.map +1 -0
- package/lib/exercises/pc/dosage/index.js +17 -0
- package/lib/exercises/pc/index.d.ts +3 -0
- package/lib/exercises/pc/index.d.ts.map +1 -1
- package/lib/exercises/pc/index.js +3 -0
- package/lib/exercises/pc/mole/concentrationReading.js +2 -2
- package/lib/exercises/pc/moleculeNomenclature.js +1 -1
- package/lib/exercises/pc/sound/frequencyComparison.js +1 -1
- package/lib/exercises/pc/spectral/index.d.ts +2 -0
- package/lib/exercises/pc/spectral/index.d.ts.map +1 -0
- package/lib/exercises/pc/spectral/index.js +17 -0
- package/lib/exercises/pc/spectral/spectralEnergy.d.ts +10 -0
- package/lib/exercises/pc/spectral/spectralEnergy.d.ts.map +1 -0
- package/lib/exercises/pc/spectral/spectralEnergy.js +129 -0
- package/lib/exercises/utils/geogebra/getPointFromGGB.d.ts +3 -0
- package/lib/exercises/utils/geogebra/getPointFromGGB.d.ts.map +1 -0
- package/lib/exercises/utils/geogebra/getPointFromGGB.js +15 -0
- package/lib/exercises/utils/geogebra/getVectorFromGGB.d.ts +3 -0
- package/lib/exercises/utils/geogebra/getVectorFromGGB.d.ts.map +1 -0
- package/lib/exercises/utils/geogebra/getVectorFromGGB.js +11 -0
- package/lib/exercises/utils/geogebra/isGGBLine.d.ts +2 -0
- package/lib/exercises/utils/geogebra/isGGBLine.d.ts.map +1 -0
- package/lib/exercises/utils/geogebra/isGGBLine.js +8 -0
- package/lib/exercises/utils/geogebra/isGGBPoint.d.ts +2 -0
- package/lib/exercises/utils/geogebra/isGGBPoint.d.ts.map +1 -0
- package/lib/exercises/utils/geogebra/isGGBPoint.js +8 -0
- package/lib/exercises/utils/geogebra/toolBarConstructor.d.ts +9 -0
- package/lib/exercises/utils/geogebra/toolBarConstructor.d.ts.map +1 -0
- package/lib/exercises/utils/geogebra/toolBarConstructor.js +20 -0
- package/lib/index.d.ts +26 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/math/numbers/decimals/decimal.d.ts +1 -0
- package/lib/math/numbers/decimals/decimal.d.ts.map +1 -1
- package/lib/math/numbers/decimals/decimal.js +2 -1
- package/lib/math/numbers/integer/integer.d.ts +1 -0
- package/lib/math/numbers/integer/integer.d.ts.map +1 -1
- package/lib/math/numbers/integer/integer.js +7 -1
- package/lib/pc/constants/quantic.d.ts +9 -0
- package/lib/pc/constants/quantic.d.ts.map +1 -0
- package/lib/pc/constants/quantic.js +14 -0
- package/lib/server.js +24 -10
- package/lib/utils/arrayEqual.d.ts.map +1 -1
- package/lib/utils/arrayHasSameElement.d.ts +2 -0
- package/lib/utils/arrayHasSameElement.d.ts.map +1 -0
- package/lib/utils/arrayHasSameElement.js +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.drawAVectorInGGB = void 0;
|
|
4
|
+
const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
|
|
5
|
+
const toolBarConstructor_1 = require("../../../../exercises/utils/geogebra/toolBarConstructor");
|
|
6
|
+
const vector_1 = require("../../../../math/geometry/vector");
|
|
7
|
+
const randint_1 = require("../../../../math/utils/random/randint");
|
|
8
|
+
const getDrawAVectorInGgbQuestion = () => {
|
|
9
|
+
const x = (0, randint_1.randint)(-3, 3);
|
|
10
|
+
const y = x === 0 ? (0, randint_1.randint)(-3, 3, [0]) : (0, randint_1.randint)(-3, 3);
|
|
11
|
+
const vector = new vector_1.Vector("u", x.toTree(), y.toTree());
|
|
12
|
+
const question = {
|
|
13
|
+
ggbAnswer: [`Vector((-2, -2), (${-2 + x}, ${-2 + y}))`],
|
|
14
|
+
instruction: `Tracer le vecteur $${vector.toTex()}${vector.toInlineCoordsTex()}$`,
|
|
15
|
+
keys: [],
|
|
16
|
+
studentGgbOptions: {
|
|
17
|
+
customToolBar: (0, toolBarConstructor_1.toolBarConstructor)({
|
|
18
|
+
vector: true,
|
|
19
|
+
}),
|
|
20
|
+
isGridSimple: true,
|
|
21
|
+
coords: [-5, 5, -6, 6],
|
|
22
|
+
enableShiftDragZoom: true,
|
|
23
|
+
},
|
|
24
|
+
answerFormat: "tex",
|
|
25
|
+
identifiers: { x, y },
|
|
26
|
+
};
|
|
27
|
+
return question;
|
|
28
|
+
};
|
|
29
|
+
const isGGBAnswerValid = (ans, { ggbAnswer, x, y }) => {
|
|
30
|
+
const vector = ans.find((s) => !!s.match(/[a-z]=/)?.length);
|
|
31
|
+
if (!vector)
|
|
32
|
+
return false;
|
|
33
|
+
const points = vector
|
|
34
|
+
.substring(vector.indexOf("["))
|
|
35
|
+
.replaceAll("[", "")
|
|
36
|
+
.replaceAll("]", "")
|
|
37
|
+
.replaceAll(" ", "")
|
|
38
|
+
.split(",");
|
|
39
|
+
const origin = ans.find((s) => s[0] === points[0]);
|
|
40
|
+
const end = ans.find((s) => s[0] === points[1]);
|
|
41
|
+
if (!origin || !end)
|
|
42
|
+
return false;
|
|
43
|
+
const originCoords = origin
|
|
44
|
+
.split("=")[1]
|
|
45
|
+
.replaceAll("(", "")
|
|
46
|
+
.replaceAll(")", "")
|
|
47
|
+
.split(",");
|
|
48
|
+
const endCoords = end
|
|
49
|
+
.split("=")[1]
|
|
50
|
+
.replaceAll("(", "")
|
|
51
|
+
.replaceAll(")", "")
|
|
52
|
+
.split(",");
|
|
53
|
+
const coords = [
|
|
54
|
+
Number(endCoords[0]) - Number(originCoords[0]),
|
|
55
|
+
Number(endCoords[1]) - Number(originCoords[1]),
|
|
56
|
+
];
|
|
57
|
+
return Number(coords[0]) === x && Number(coords[1]) === y;
|
|
58
|
+
};
|
|
59
|
+
exports.drawAVectorInGGB = {
|
|
60
|
+
id: "drawAVectorInGGB",
|
|
61
|
+
label: "Tracer un vecteur",
|
|
62
|
+
levels: ["2nde"],
|
|
63
|
+
isSingleStep: true,
|
|
64
|
+
sections: ["Géométrie cartésienne"],
|
|
65
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getDrawAVectorInGgbQuestion, nb),
|
|
66
|
+
qcmTimer: 60,
|
|
67
|
+
freeTimer: 60,
|
|
68
|
+
answerType: "GGB",
|
|
69
|
+
isGGBAnswerValid,
|
|
70
|
+
subject: "Mathématiques",
|
|
71
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/vectors/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/vectors/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC"}
|
|
@@ -29,3 +29,4 @@ __exportStar(require("./equalCaracteristicFromGraph"), exports);
|
|
|
29
29
|
__exportStar(require("./vectorLinearCombination"), exports);
|
|
30
30
|
__exportStar(require("./vectorNormCalculation"), exports);
|
|
31
31
|
__exportStar(require("./lineFromDirectorVector"), exports);
|
|
32
|
+
__exportStar(require("./drawAVectorInGGB"), exports);
|
|
@@ -97,7 +97,7 @@ exports.fineAdjustementExercise = {
|
|
|
97
97
|
levels: ["TermSpé"],
|
|
98
98
|
isSingleStep: true,
|
|
99
99
|
hasGeogebra: true,
|
|
100
|
-
answerType: "
|
|
100
|
+
answerType: "QCU",
|
|
101
101
|
sections: ["Statistiques"],
|
|
102
102
|
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getFineAdjustementExerciseQuestion, nb),
|
|
103
103
|
qcmTimer: 60,
|
|
@@ -47,7 +47,7 @@ exports.genericSequenceVariations = {
|
|
|
47
47
|
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getGenericSequenceVariationsQuestion, nb),
|
|
48
48
|
qcmTimer: 60,
|
|
49
49
|
freeTimer: 60,
|
|
50
|
-
answerType: "
|
|
50
|
+
answerType: "QCU",
|
|
51
51
|
getPropositions,
|
|
52
52
|
subject: "Mathématiques",
|
|
53
53
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calibrationCurveOfSolution.d.ts","sourceRoot":"","sources":["../../../src/exercises/pc/calibrationCurveOfSolution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAWlC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAuFF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAa5D,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calibrationCurveOfSolution = void 0;
|
|
4
|
+
const getDistinctQuestions_1 = require("../../exercises/utils/getDistinctQuestions");
|
|
5
|
+
const randint_1 = require("../../math/utils/random/randint");
|
|
6
|
+
const molecule_1 = require("../../pc/molecularChemistry/molecule");
|
|
7
|
+
const arrayEqual_1 = require("../../utils/arrayEqual");
|
|
8
|
+
const random_1 = require("../../utils/random");
|
|
9
|
+
const requiresApostropheBefore_1 = require("../../utils/requiresApostropheBefore");
|
|
10
|
+
const getPointFromGGB_1 = require("../utils/geogebra/getPointFromGGB");
|
|
11
|
+
const isGGBPoint_1 = require("../utils/geogebra/isGGBPoint");
|
|
12
|
+
const toolBarConstructor_1 = require("../utils/geogebra/toolBarConstructor");
|
|
13
|
+
const getCalibrationCurveOfSolutionQuestion = () => {
|
|
14
|
+
const exo = generateExercise();
|
|
15
|
+
const minY = 5 * exo.epsilon * exo.l - 10;
|
|
16
|
+
const maxY = 10 * exo.epsilon * exo.l + 5;
|
|
17
|
+
const question = {
|
|
18
|
+
ggbAnswer: [
|
|
19
|
+
`(5,${5 * exo.epsilon * exo.l})`,
|
|
20
|
+
`(10,${10 * exo.epsilon * exo.l})`,
|
|
21
|
+
`Line(A, B)`,
|
|
22
|
+
],
|
|
23
|
+
instruction: exo.instruction,
|
|
24
|
+
keys: [],
|
|
25
|
+
studentGgbOptions: {
|
|
26
|
+
coords: [-1, 5, -1, 6],
|
|
27
|
+
isAxesRatioFixed: false,
|
|
28
|
+
enableShiftDragZoom: true,
|
|
29
|
+
axisLabels: ["$\\small{C}$", "$\\small{A}$"],
|
|
30
|
+
customToolBar: (0, toolBarConstructor_1.toolBarConstructor)({
|
|
31
|
+
join: true,
|
|
32
|
+
}),
|
|
33
|
+
},
|
|
34
|
+
hint: exo.hint,
|
|
35
|
+
correction: exo.correction,
|
|
36
|
+
identifiers: {
|
|
37
|
+
epsilon: exo.epsilon,
|
|
38
|
+
l: exo.l,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
return question;
|
|
42
|
+
};
|
|
43
|
+
const isGGBAnswerValid = (ans, { ggbAnswer, epsilon, l }) => {
|
|
44
|
+
const studentAnswer = ans.map((s) => s.split("=")[1]);
|
|
45
|
+
if ((0, arrayEqual_1.arrayEqual)(studentAnswer, ggbAnswer))
|
|
46
|
+
return true;
|
|
47
|
+
const points = studentAnswer
|
|
48
|
+
.filter((command) => (0, isGGBPoint_1.isGGBPoint)(command))
|
|
49
|
+
.map((value) => (0, getPointFromGGB_1.getPointFromGGB)(value, "", false));
|
|
50
|
+
return (points.length !== 0 &&
|
|
51
|
+
points.every((value) => value.getXnumber() * epsilon * l === value.getYnumber()));
|
|
52
|
+
};
|
|
53
|
+
const generateExercise = () => {
|
|
54
|
+
const molecule = (0, random_1.random)(molecule_1.molecules);
|
|
55
|
+
const epsilon = (0, randint_1.randint)(1, 3);
|
|
56
|
+
const l = (0, randint_1.randint)(1, 3);
|
|
57
|
+
const instruction = `Dans un laboratoire, vous avez effectué l'étalonnage d'une solution ${(0, requiresApostropheBefore_1.requiresApostropheBefore)(molecule.name) ? "d'" : "de "}${molecule.name}. \n
|
|
58
|
+
Vous disposez du coefficient d'extinction molaire $ε$ de $${epsilon}$ $\\text{L}\\cdot\\text{mol}^{-1}\\cdot\\text{cm}^{-1}$ et de la longueur de la cuve $l$ de $${l}$ $\\text{cm}$. \n
|
|
59
|
+
Tracer la courbe d'étalonnage de cette solution.`;
|
|
60
|
+
return {
|
|
61
|
+
instruction,
|
|
62
|
+
hint: getHint(),
|
|
63
|
+
correction: getCorrection(),
|
|
64
|
+
epsilon,
|
|
65
|
+
l,
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
const getCorrection = () => {
|
|
69
|
+
return `1 - Choisir deux coordonnées $x_1$ et $x_2$. \n \\
|
|
70
|
+
2 - Calculer $A_1 = x_1\\cdot l \\cdotε$ et $A_2 = x_2\\cdot l \\cdotε$. \n \\
|
|
71
|
+
3 - Tracer la droite qui passe par les deux points $(x_1,A_1)$ et $(x_2,A_2)$.`;
|
|
72
|
+
};
|
|
73
|
+
const getHint = () => {
|
|
74
|
+
return `Utiliser la formule $A=C\\cdot \\ell\\cdot ε$, où :\n
|
|
75
|
+
- $A$ est l'absorbance (une grandeur sans unité)\n
|
|
76
|
+
- $ε$ est le coefficient d'extinction molaire (ou coefficient d'absorption molaire) en $\\text{L}\\cdot\\text{mol}^{-1}\\cdot\\text{cm}^{-1}$\n
|
|
77
|
+
- $C$ est la concentration de la solution en $\\text{mol}\\cdot\\text{L}^{-1}$\n
|
|
78
|
+
- $\\ell$ est la longueur du chemin optique en centimètres $(\\text{cm})$`;
|
|
79
|
+
};
|
|
80
|
+
exports.calibrationCurveOfSolution = {
|
|
81
|
+
id: "calibrationCurveOfSolution",
|
|
82
|
+
label: "Tracer une courbe d'étalonnage",
|
|
83
|
+
levels: ["1reSpé"],
|
|
84
|
+
isSingleStep: true,
|
|
85
|
+
sections: ["Spectrophotométrie"],
|
|
86
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCalibrationCurveOfSolutionQuestion, nb),
|
|
87
|
+
qcmTimer: 60,
|
|
88
|
+
freeTimer: 60,
|
|
89
|
+
isGGBAnswerValid,
|
|
90
|
+
answerType: "GGB",
|
|
91
|
+
subject: "Physique",
|
|
92
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Exercise } from "../../../exercises/exercise";
|
|
2
|
+
type Identifiers = {
|
|
3
|
+
moleculeName: string;
|
|
4
|
+
concentration: number;
|
|
5
|
+
molarAbsorptivity: number;
|
|
6
|
+
pathLength: number;
|
|
7
|
+
absorbance: number;
|
|
8
|
+
randomIndex: number;
|
|
9
|
+
};
|
|
10
|
+
export declare const BeerLambertRandomValueExercise: Exercise<Identifiers>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=beerLambertRandomValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"beerLambertRandomValue.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/dosage/beerLambertRandomValue.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AASlC,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAmNF,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,WAAW,CAahE,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BeerLambertRandomValueExercise = void 0;
|
|
4
|
+
const frenchify_1 = require("../../../math/utils/latex/frenchify");
|
|
5
|
+
const exercise_1 = require("../../../exercises/exercise");
|
|
6
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
7
|
+
const round_1 = require("../../../math/utils/round");
|
|
8
|
+
const molecule_1 = require("../../../pc/molecularChemistry/molecule");
|
|
9
|
+
const random_1 = require("../../../utils/random");
|
|
10
|
+
const requiresApostropheBefore_1 = require("../../../utils/requiresApostropheBefore");
|
|
11
|
+
const randfloat_1 = require("../../../math/utils/random/randfloat");
|
|
12
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
13
|
+
const getBeerLambertRandomValueQuestion = () => {
|
|
14
|
+
const molecule = (0, random_1.random)(molecule_1.molecules);
|
|
15
|
+
const concentration = (0, round_1.round)((0, randfloat_1.randfloat)(0.01, 0.1), 2); // Concentration in mol/L
|
|
16
|
+
const molarAbsorptivity = (0, round_1.round)((0, randfloat_1.randfloat)(10, 100), 1); // Molar absorptivity in L·mol^-1·cm^-1
|
|
17
|
+
const pathLength = (0, round_1.round)((0, randfloat_1.randfloat)(1, 5), 1); // Path length in cm
|
|
18
|
+
const absorbance = (0, round_1.round)(concentration * molarAbsorptivity * pathLength, 2); // Absorbance
|
|
19
|
+
const variables = [
|
|
20
|
+
{
|
|
21
|
+
name: "concentration",
|
|
22
|
+
value: concentration,
|
|
23
|
+
unit: "\\text{mol} \\cdot \\text{L}^{-1}",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: "molarAbsorptivity",
|
|
27
|
+
value: molarAbsorptivity,
|
|
28
|
+
unit: "\\text{L} \\cdot \\text{mol}^{-1} \\cdot \\text{cm}^{-1}",
|
|
29
|
+
},
|
|
30
|
+
{ name: "pathLength", value: pathLength, unit: "\\text{cm}" },
|
|
31
|
+
{ name: "absorbance", value: absorbance, unit: "" },
|
|
32
|
+
];
|
|
33
|
+
const randomIndex = (0, randint_1.randint)(0, variables.length);
|
|
34
|
+
const targetVariable = variables[randomIndex];
|
|
35
|
+
const knownVariables = variables.filter((_, index) => index !== randomIndex);
|
|
36
|
+
const knownVariablesText = knownVariables
|
|
37
|
+
.map((v) => `${v.name === "concentration"
|
|
38
|
+
? "- Concentration"
|
|
39
|
+
: v.name === "molarAbsorptivity"
|
|
40
|
+
? "- Coefficient d'absorption molaire"
|
|
41
|
+
: v.name === "pathLength"
|
|
42
|
+
? "- Longueur du trajet optique"
|
|
43
|
+
: "- Absorbance"} : ${v.name === "concentration"
|
|
44
|
+
? "$C$"
|
|
45
|
+
: v.name === "molarAbsorptivity"
|
|
46
|
+
? "$\\varepsilon$"
|
|
47
|
+
: v.name === "pathLength"
|
|
48
|
+
? "$\\ell$"
|
|
49
|
+
: "$A$"} = $${(0, frenchify_1.frenchify)(v.value)}\\ ${v.unit}$`)
|
|
50
|
+
.join(",\n");
|
|
51
|
+
const instruction = `Vous êtes en train de réaliser l'étalonnage d'une solution ${(0, requiresApostropheBefore_1.requiresApostropheBefore)(molecule.name.toLowerCase()) ? "d'" : "de "}${molecule.name.toLowerCase()} en utilisant une solution étalon. Vous avez mesuré les données suivantes :\n
|
|
52
|
+
${knownVariablesText}.\n
|
|
53
|
+
|
|
54
|
+
À partir de ces données, déterminez ${targetVariable.name === "concentration"
|
|
55
|
+
? "la concentration en $\\text{mol} \\cdot \\text{L}^{-1}$"
|
|
56
|
+
: targetVariable.name === "molarAbsorptivity"
|
|
57
|
+
? "le coefficient d'absorption molaire en $\\text{L} \\cdot \\text{mol}^{-1} \\cdot \\text{cm}^{-1}$"
|
|
58
|
+
: targetVariable.name === "pathLength"
|
|
59
|
+
? "la longueur du trajet optique en $\\text{cm}$"
|
|
60
|
+
: "l'absorbance"} de cette solution.`;
|
|
61
|
+
const hint = `Rappelez-vous la loi de Beer-Lambert : $A = \\varepsilon \\cdot C \\cdot \\ell$. Voici les éléments de cette formule :
|
|
62
|
+
- $A$ : l'absorbance
|
|
63
|
+
- $\\varepsilon$ : le coefficient d'absorption molaire en $\\text{L} \\cdot \\text{mol}^{-1} \\cdot \\text{cm}^{-1}$
|
|
64
|
+
- $C$ : la concentration en $\\text{mol} \\cdot \\text{L}^{-1}$
|
|
65
|
+
- $\\ell$ : la longueur du trajet optique en $\\text{cm}$
|
|
66
|
+
|
|
67
|
+
Réorganisez cette formule pour isoler la variable à trouver.`;
|
|
68
|
+
const correction = `La loi de Beer-Lambert est donnée par :
|
|
69
|
+
$$A = \\varepsilon \\cdot \\ell \\cdot C$$
|
|
70
|
+
|
|
71
|
+
Pour résoudre le problème, nous devons réorganiser la formule pour isoler la variable inconnue. En utilisant les valeurs fournies pour $\\varepsilon$, $C$, et $\\ell$, nous pouvons résoudre pour trouver la variable manquante.
|
|
72
|
+
|
|
73
|
+
Si $A$ est l'absorbance, $\\varepsilon$ est le coefficient d'absorption molaire, $C$ est la concentration et $\\ell$ est la longueur du trajet optique, alors:
|
|
74
|
+
|
|
75
|
+
${targetVariable.name === "concentration"
|
|
76
|
+
? "$$C = \\frac{A}{\\varepsilon \\cdot \\ell}$$"
|
|
77
|
+
: ""}
|
|
78
|
+
${targetVariable.name === "molarAbsorptivity"
|
|
79
|
+
? "$$\\varepsilon = \\frac{A}{C \\cdot \\ell}$$"
|
|
80
|
+
: ""}
|
|
81
|
+
${targetVariable.name === "pathLength"
|
|
82
|
+
? "$$\\ell = \\frac{A}{\\varepsilon \\cdot C}$$"
|
|
83
|
+
: ""}
|
|
84
|
+
${targetVariable.name === "absorbance"
|
|
85
|
+
? "$$A = \\varepsilon \\cdot C \\cdot \\ell$$"
|
|
86
|
+
: ""}
|
|
87
|
+
|
|
88
|
+
En appliquant les valeurs:
|
|
89
|
+
|
|
90
|
+
${targetVariable.name === "concentration"
|
|
91
|
+
? `$$C = \\frac{${(0, frenchify_1.frenchify)(absorbance)}}{${(0, frenchify_1.frenchify)(molarAbsorptivity)} \\cdot ${(0, frenchify_1.frenchify)(pathLength)}} = ${(0, frenchify_1.frenchify)((0, round_1.round)(absorbance / (molarAbsorptivity * pathLength), 2))}\\ \\text{mol} \\cdot \\text{L}^{-1}$$`
|
|
92
|
+
: ""}
|
|
93
|
+
${targetVariable.name === "molarAbsorptivity"
|
|
94
|
+
? `$$\\varepsilon = \\frac{${(0, frenchify_1.frenchify)(absorbance)}}{${(0, frenchify_1.frenchify)(concentration)} \\cdot ${(0, frenchify_1.frenchify)(pathLength)}} = ${(0, frenchify_1.frenchify)((0, round_1.round)(absorbance / (concentration * pathLength), 1))}\\ \\text{L} \\cdot \\text{mol}^{-1} \\cdot \\text{cm}^{-1}$$`
|
|
95
|
+
: ""}
|
|
96
|
+
${targetVariable.name === "pathLength"
|
|
97
|
+
? `$$\\ell = \\frac{${(0, frenchify_1.frenchify)(absorbance)}}{${(0, frenchify_1.frenchify)(molarAbsorptivity)} \\cdot ${(0, frenchify_1.frenchify)(concentration)}} = ${(0, frenchify_1.frenchify)((0, round_1.round)(absorbance / (molarAbsorptivity * concentration), 1))}\\ \\text{cm}$$`
|
|
98
|
+
: ""}
|
|
99
|
+
${targetVariable.name === "absorbance"
|
|
100
|
+
? `$$A = ${(0, frenchify_1.frenchify)(molarAbsorptivity)} \\cdot ${(0, frenchify_1.frenchify)(concentration)} \\cdot ${(0, frenchify_1.frenchify)(pathLength)} = ${(0, frenchify_1.frenchify)(absorbance)}$$`
|
|
101
|
+
: ""}`;
|
|
102
|
+
const question = {
|
|
103
|
+
answer: targetVariable.value.toTree().toTex(),
|
|
104
|
+
instruction,
|
|
105
|
+
hint,
|
|
106
|
+
correction,
|
|
107
|
+
keys: [],
|
|
108
|
+
answerFormat: "tex",
|
|
109
|
+
identifiers: {
|
|
110
|
+
moleculeName: molecule.name.toLowerCase(),
|
|
111
|
+
concentration,
|
|
112
|
+
molarAbsorptivity,
|
|
113
|
+
pathLength,
|
|
114
|
+
absorbance,
|
|
115
|
+
randomIndex,
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
return question;
|
|
119
|
+
};
|
|
120
|
+
const getPropositions = (n, { answer, concentration, molarAbsorptivity, pathLength, absorbance }) => {
|
|
121
|
+
const propositions = [];
|
|
122
|
+
(0, exercise_1.addValidProp)(propositions, answer);
|
|
123
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, concentration.toTree().toTex());
|
|
124
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, molarAbsorptivity.toTree().toTex());
|
|
125
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, pathLength.toTree().toTex());
|
|
126
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, absorbance.toTree().toTex());
|
|
127
|
+
while (propositions.length < n) {
|
|
128
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, (0, randfloat_1.randfloat)(0, 10, 2).toTree().toTex());
|
|
129
|
+
}
|
|
130
|
+
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
131
|
+
};
|
|
132
|
+
const isAnswerValid = (ans, { answer, randomIndex, concentration, molarAbsorptivity, pathLength, absorbance, }) => {
|
|
133
|
+
const variables = [
|
|
134
|
+
{
|
|
135
|
+
name: "concentration",
|
|
136
|
+
value: concentration,
|
|
137
|
+
unit: "\\text{mol} \\cdot \\text{L}^{-1}",
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
name: "molarAbsorptivity",
|
|
141
|
+
value: molarAbsorptivity,
|
|
142
|
+
unit: "\\text{L} \\cdot \\text{mol}^{-1} \\cdot \\text{cm}^{-1}",
|
|
143
|
+
},
|
|
144
|
+
{ name: "pathLength", value: pathLength, unit: "\\text{cm}" },
|
|
145
|
+
{ name: "absorbance", value: absorbance, unit: "" },
|
|
146
|
+
];
|
|
147
|
+
const validAnswer = variables[randomIndex].value;
|
|
148
|
+
const latexs = validAnswer.toTree().toAllValidTexs();
|
|
149
|
+
return latexs.includes(ans);
|
|
150
|
+
};
|
|
151
|
+
exports.BeerLambertRandomValueExercise = {
|
|
152
|
+
id: "beerLambertRandomValue",
|
|
153
|
+
label: "Utiliser la loi de Beer-Lambert",
|
|
154
|
+
levels: ["1reSpé"],
|
|
155
|
+
isSingleStep: true,
|
|
156
|
+
sections: ["Spectrophotométrie"],
|
|
157
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getBeerLambertRandomValueQuestion, nb),
|
|
158
|
+
qcmTimer: 60,
|
|
159
|
+
freeTimer: 60,
|
|
160
|
+
getPropositions,
|
|
161
|
+
isAnswerValid,
|
|
162
|
+
subject: "Chimie",
|
|
163
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/dosage/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,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("./beerLambertRandomValue"), exports);
|
|
@@ -21,6 +21,9 @@ export * from "./mole";
|
|
|
21
21
|
export * from "./mecanicalWaves";
|
|
22
22
|
export * from "./fluids";
|
|
23
23
|
export * from "./electricity";
|
|
24
|
+
export * from "./calibrationCurveOfSolution";
|
|
25
|
+
export * from "./dosage";
|
|
26
|
+
export * from "./spectral";
|
|
24
27
|
/**exos pris des maths */
|
|
25
28
|
export * from "../math/percent/findProportion";
|
|
26
29
|
export * from "../math/calcul/proportionality/proportionalityTable";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exercises/pc/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,MAAM,CAAC;AACrB,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exercises/pc/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,MAAM,CAAC;AACrB,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAE3B,yBAAyB;AACzB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qDAAqD,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,cAAc,uDAAuD,CAAC;AACtE,cAAc,uDAAuD,CAAC;AACtE,cAAc,uDAAuD,CAAC;AACtE,cAAc,uDAAuD,CAAC;AACtE,cAAc,iDAAiD,CAAC;AAChE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mDAAmD,CAAC;AAClE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC;AACjE,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC"}
|
|
@@ -38,6 +38,9 @@ __exportStar(require("./mole"), exports);
|
|
|
38
38
|
__exportStar(require("./mecanicalWaves"), exports);
|
|
39
39
|
__exportStar(require("./fluids"), exports);
|
|
40
40
|
__exportStar(require("./electricity"), exports);
|
|
41
|
+
__exportStar(require("./calibrationCurveOfSolution"), exports);
|
|
42
|
+
__exportStar(require("./dosage"), exports);
|
|
43
|
+
__exportStar(require("./spectral"), exports);
|
|
41
44
|
/**exos pris des maths */
|
|
42
45
|
__exportStar(require("../math/percent/findProportion"), exports);
|
|
43
46
|
__exportStar(require("../math/calcul/proportionality/proportionalityTable"), exports);
|
|
@@ -10,7 +10,7 @@ const getConcentrationReadingQuestion = () => {
|
|
|
10
10
|
const absorbtion = (0, randfloat_1.randfloat)(0.5, 5);
|
|
11
11
|
const concentration = (0, randfloat_1.randfloat)(0.1, 2);
|
|
12
12
|
const commands = [
|
|
13
|
-
`L = Line(
|
|
13
|
+
`L = Line[(0,0), (${concentration}, ${absorbtion})]`,
|
|
14
14
|
`SetFixed(L, true)`,
|
|
15
15
|
`SetColor(L, "${(0, colors_1.randomColor)()}")`,
|
|
16
16
|
];
|
|
@@ -53,5 +53,5 @@ exports.concentrationReading = {
|
|
|
53
53
|
freeTimer: 60,
|
|
54
54
|
getPropositions,
|
|
55
55
|
isAnswerValid,
|
|
56
|
-
subject: "
|
|
56
|
+
subject: "Chimie",
|
|
57
57
|
};
|
|
@@ -22,7 +22,7 @@ const getMoleculeNomenclature = () => {
|
|
|
22
22
|
};
|
|
23
23
|
const getPropositions = (n, { answer }) => {
|
|
24
24
|
const propositions = [];
|
|
25
|
-
(0, exercise_1.addValidProp)(propositions, answer);
|
|
25
|
+
(0, exercise_1.addValidProp)(propositions, answer, "raw");
|
|
26
26
|
const organicMolecule = molecule_1.molecules.filter((molecule) => molecule.isOrganic && molecule.type);
|
|
27
27
|
while (propositions.length < n) {
|
|
28
28
|
const randomMoleculeIndex = Math.floor(Math.random() * organicMolecule.length);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/spectral/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,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("./spectralEnergy"), exports);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Exercise } from "../../../exercises/exercise";
|
|
2
|
+
import { Measure } from "../../../pc/measure/measure";
|
|
3
|
+
type Identifiers = {
|
|
4
|
+
wavelengths: Measure[];
|
|
5
|
+
targetColor: "bleue" | "verte" | "rouge";
|
|
6
|
+
energy: Measure;
|
|
7
|
+
};
|
|
8
|
+
export declare const SpectralEnergyExercise: Exercise<Identifiers>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=spectralEnergy.d.ts.map
|