math-exercises 3.0.189 → 3.0.190
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/decimals/decimalFractionToDecimal.d.ts.map +1 -1
- package/lib/exercises/math/calcul/decimals/decimalFractionToDecimal.js +5 -4
- package/lib/exercises/math/calculLitteral/equation/factorizeEquation.d.ts.map +1 -1
- package/lib/exercises/math/calculLitteral/equation/factorizeEquation.js +9 -8
- package/lib/exercises/math/calculLitteral/equation/isEqualityTrue.d.ts.map +1 -1
- package/lib/exercises/math/calculLitteral/equation/isEqualityTrue.js +7 -6
- package/lib/exercises/math/dataRepresentations/barChartInterpreting.d.ts.map +1 -1
- package/lib/exercises/math/dataRepresentations/barChartInterpreting.js +5 -4
- package/lib/exercises/math/derivation/derivative/derivativeEquationSolving1.d.ts.map +1 -1
- package/lib/exercises/math/derivation/derivative/derivativeEquationSolving1.js +3 -2
- package/lib/exercises/math/derivation/derivative/derivativeEquationSolving3.d.ts.map +1 -1
- package/lib/exercises/math/derivation/derivative/derivativeEquationSolving3.js +3 -2
- package/lib/exercises/math/derivation/derivative/valueDerivativeFromFunctionExpression.d.ts.map +1 -1
- package/lib/exercises/math/derivation/derivative/valueDerivativeFromFunctionExpression.js +3 -2
- package/lib/exercises/math/derivation/problems/problemMaximizeProfitFindProduction.d.ts.map +1 -1
- package/lib/exercises/math/derivation/problems/problemMaximizeProfitFindProduction.js +3 -2
- package/lib/exercises/math/derivation/problems/problemMovementOnLineFindSpeedAtPoint.d.ts.map +1 -1
- package/lib/exercises/math/derivation/problems/problemMovementOnLineFindSpeedAtPoint.js +3 -2
- package/lib/exercises/math/derivation/tangent/tangentEquationFromFunctionExpression.d.ts.map +1 -1
- package/lib/exercises/math/derivation/tangent/tangentEquationFromFunctionExpression.js +3 -2
- package/lib/exercises/math/derivation/variations/findAbscissaOfExtremaFromFunctionExpression.d.ts.map +1 -1
- package/lib/exercises/math/derivation/variations/findAbscissaOfExtremaFromFunctionExpression.js +4 -3
- package/lib/exercises/math/derivation/variations/findExtremaFromFunctionExpression.d.ts.map +1 -1
- package/lib/exercises/math/derivation/variations/findExtremaFromFunctionExpression.js +4 -3
- package/lib/exercises/math/derivation/variations/plausibleDerivativeGraphFromFunctionGraphByManipulatingPolynomial.d.ts.map +1 -1
- package/lib/exercises/math/derivation/variations/plausibleDerivativeGraphFromFunctionGraphByManipulatingPolynomial.js +3 -2
- package/lib/exercises/math/derivation/variations/plausibleFunctionGraphFromDerivativeGraphByManipulatingPolynomial.d.ts.map +1 -1
- package/lib/exercises/math/derivation/variations/plausibleFunctionGraphFromDerivativeGraphByManipulatingPolynomial.js +3 -2
- package/lib/exercises/math/derivation/variations/signVarTableFromFunctionExpression.d.ts.map +1 -1
- package/lib/exercises/math/derivation/variations/signVarTableFromFunctionExpression.js +4 -3
- package/lib/exercises/math/functions/affines/coordsOfPointOnAffineFindX.d.ts.map +1 -1
- package/lib/exercises/math/functions/affines/coordsOfPointOnAffineFindX.js +8 -6
- package/lib/exercises/math/functions/exponentials/estimateExponentialFunctionImageFromGeometricScatterplot.d.ts +2 -0
- package/lib/exercises/math/functions/exponentials/estimateExponentialFunctionImageFromGeometricScatterplot.d.ts.map +1 -0
- package/lib/exercises/math/functions/exponentials/estimateExponentialFunctionImageFromGeometricScatterplot.js +155 -0
- package/lib/exercises/math/functions/exponentials/exponentialsRawVariations.d.ts +8 -0
- package/lib/exercises/math/functions/exponentials/exponentialsRawVariations.d.ts.map +1 -0
- package/lib/exercises/math/functions/exponentials/exponentialsRawVariations.js +99 -0
- package/lib/exercises/math/functions/exponentials/index.d.ts +3 -0
- package/lib/exercises/math/functions/exponentials/index.d.ts.map +1 -1
- package/lib/exercises/math/functions/exponentials/index.js +4 -0
- package/lib/exercises/math/functions/exponentials/plausibleExponentialFunctionExpressionFromGraph.d.ts +12 -0
- package/lib/exercises/math/functions/exponentials/plausibleExponentialFunctionExpressionFromGraph.d.ts.map +1 -0
- package/lib/exercises/math/functions/exponentials/plausibleExponentialFunctionExpressionFromGraph.js +138 -0
- package/lib/exercises/math/functions/exponentials/readExponentialFunctionParamsOnGraph.d.ts +8 -0
- package/lib/exercises/math/functions/exponentials/readExponentialFunctionParamsOnGraph.d.ts.map +1 -0
- package/lib/exercises/math/functions/exponentials/readExponentialFunctionParamsOnGraph.js +142 -0
- package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLineV2.d.ts.map +1 -1
- package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLineV2.js +7 -6
- package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.js +3 -2
- package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.js +7 -6
- package/lib/exercises/math/percent/percentToDecimal.d.ts.map +1 -1
- package/lib/exercises/math/percent/percentToDecimal.js +5 -4
- package/lib/exercises/math/probaStat/basicStats/calculateFrequencyInList.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/basicStats/calculateFrequencyInList.js +5 -4
- package/lib/exercises/math/probaStat/probaFromTableWithContext.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/probaFromTableWithContext.js +7 -8
- package/lib/exercises/math/probaStat/stats1var/medianWithList.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/stats1var/medianWithList.js +5 -4
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.d.ts.map +1 -1
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.js +9 -9
- package/lib/exercises/utils/options/arrayedOptions.d.ts +2 -0
- package/lib/exercises/utils/options/arrayedOptions.d.ts.map +1 -0
- package/lib/exercises/utils/options/arrayedOptions.js +16 -0
- package/lib/index.d.ts +12 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/math/utils/sequences/situations/seqArithmeticSituations.d.ts.map +1 -1
- package/lib/math/utils/sequences/situations/seqArithmeticSituations.js +20 -20
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { addValidProp, shuffleProps, tryToAddWrongProp, propWhile, GeneratorOptionTarget, GeneratorOptionType, } from "../../../../../../exercises/exercise.js";
|
|
2
2
|
import { getDistinctQuestions } from "../../../../../../exercises/utils/getDistinctQuestions.js";
|
|
3
|
+
import { defaultArrayedOptsWhereNeeded } from "../../../../../../exercises/utils/options/arrayedOptions.js";
|
|
3
4
|
import { greenMain, orange } from "../../../../../../geogebra/colors.js";
|
|
4
5
|
import { GeogebraConstructor } from "../../../../../../geogebra/geogebraConstructor.js";
|
|
5
6
|
import { Angle } from "../../../../../../math/geometry/angle.js";
|
|
@@ -387,8 +388,8 @@ const isAnswerValid = (ans, { answer }) => {
|
|
|
387
388
|
}
|
|
388
389
|
};
|
|
389
390
|
const getScalarProductAlKashiBHQuestion = (optsIn) => {
|
|
390
|
-
const
|
|
391
|
-
const sectorOfPointH = random(
|
|
391
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
392
|
+
const sectorOfPointH = random(arrayedOpts.sectorOfPointH);
|
|
392
393
|
function createRandomPoints() {
|
|
393
394
|
const offsetBtoC = 10;
|
|
394
395
|
const pointB = new Point("B", randfloat(0, 10), randfloat(0, 10));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalarProductComputeBH.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAoBT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"scalarProductComputeBH.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAoBT,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAGL,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAqBtC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CAAC;AAkeF,KAAK,OAAO,GAAG;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AA+BF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CA6BjE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { addValidProp, shuffleProps, GeneratorOptionType, GeneratorOptionTarget, tryToAddWrongProp, propWhile, } from "../../../../../exercises/exercise.js";
|
|
2
2
|
import { getDistinctQuestions } from "../../../../../exercises/utils/getDistinctQuestions.js";
|
|
3
|
+
import { defaultArrayedOptsWhereNeeded } from "../../../../../exercises/utils/options/arrayedOptions.js";
|
|
3
4
|
import { orange } from "../../../../../geogebra/colors.js";
|
|
4
5
|
import { GeogebraConstructor } from "../../../../../geogebra/geogebraConstructor.js";
|
|
5
6
|
import { Angle } from "../../../../../math/geometry/angle.js";
|
|
@@ -248,10 +249,10 @@ const isAnswerValid = (ans, { answer, ...identifiers }) => {
|
|
|
248
249
|
}
|
|
249
250
|
};
|
|
250
251
|
const getScalarProductComputeBHQuestion = (optsIn) => {
|
|
251
|
-
const
|
|
252
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
252
253
|
const opts = {
|
|
253
|
-
sectorOfPointH: random(
|
|
254
|
-
isPositiveCoordsOnly:
|
|
254
|
+
sectorOfPointH: random(arrayedOpts.sectorOfPointH),
|
|
255
|
+
isPositiveCoordsOnly: arrayedOpts.isPositiveCoordsOnly,
|
|
255
256
|
};
|
|
256
257
|
const { sectorOfPointH, isPositiveCoordsOnly } = opts;
|
|
257
258
|
function createRandomIdentifiers() {
|
|
@@ -406,7 +407,7 @@ const getQuestionFromIdentifiers = (identifiers, opts) => {
|
|
|
406
407
|
};
|
|
407
408
|
return question;
|
|
408
409
|
};
|
|
409
|
-
const
|
|
410
|
+
const arrayedOptsDefault = {
|
|
410
411
|
sectorOfPointH: ["Entre $B$ et $C$"],
|
|
411
412
|
isPositiveCoordsOnly: true,
|
|
412
413
|
};
|
|
@@ -417,14 +418,14 @@ const options = [
|
|
|
417
418
|
target: GeneratorOptionTarget.generation,
|
|
418
419
|
type: GeneratorOptionType.multiselect,
|
|
419
420
|
values: ["Entre $B$ et $C$", "Après $C$", "Avant $B$"],
|
|
420
|
-
defaultValue:
|
|
421
|
+
defaultValue: arrayedOptsDefault.sectorOfPointH,
|
|
421
422
|
},
|
|
422
423
|
{
|
|
423
424
|
id: "isPositiveCoordsOnly",
|
|
424
425
|
label: "Coordonnées positives uniquement",
|
|
425
426
|
target: GeneratorOptionTarget.generation,
|
|
426
427
|
type: GeneratorOptionType.checkbox,
|
|
427
|
-
defaultValue:
|
|
428
|
+
defaultValue: arrayedOptsDefault.isPositiveCoordsOnly,
|
|
428
429
|
},
|
|
429
430
|
];
|
|
430
431
|
export const scalarProductComputeBH = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"percentToDecimal.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/percent/percentToDecimal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"percentToDecimal.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/percent/percentToDecimal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAkBrC,KAAK,WAAW,GAAG;IACjB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AA2JF,KAAK,OAAO,GAAG;IACb,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAsBF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAe3D,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { GeneratorOptionTarget, GeneratorOptionType, addValidProp, propWhile, shuffleProps, tryToAddWrongProp, } from "../../../exercises/exercise.js";
|
|
2
2
|
import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
|
|
3
|
+
import { defaultArrayedOptsWhereNeeded } from "../../../exercises/utils/options/arrayedOptions.js";
|
|
3
4
|
import { Decimal, DecimalConstructor, } from "../../../math/numbers/decimals/decimal.js";
|
|
4
5
|
import { Integer, IntegerConstructor, } from "../../../math/numbers/integer/integer.js";
|
|
5
6
|
import { randint } from "../../../math/utils/random/randint.js";
|
|
@@ -82,9 +83,9 @@ const isAnswerValid = (ans, { answer, isPercentToDecimal }) => {
|
|
|
82
83
|
}
|
|
83
84
|
};
|
|
84
85
|
const getPercentToDecimalQuestion = (optsIn) => {
|
|
85
|
-
const
|
|
86
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
86
87
|
const opts = {
|
|
87
|
-
conversionType: random(
|
|
88
|
+
conversionType: random(arrayedOpts.conversionType),
|
|
88
89
|
};
|
|
89
90
|
const isPercentToDecimal = opts.conversionType === "Pourcentage vers Décimal";
|
|
90
91
|
const isNatural = coinFlip();
|
|
@@ -119,7 +120,7 @@ const getQuestionFromIdentifiers = (identifiers, opts) => {
|
|
|
119
120
|
};
|
|
120
121
|
return question;
|
|
121
122
|
};
|
|
122
|
-
const
|
|
123
|
+
const arrayedOptsDefault = {
|
|
123
124
|
conversionType: ["Pourcentage vers Décimal", "Décimal vers Pourcentage"],
|
|
124
125
|
};
|
|
125
126
|
const options = [
|
|
@@ -129,7 +130,7 @@ const options = [
|
|
|
129
130
|
target: GeneratorOptionTarget.generation,
|
|
130
131
|
type: GeneratorOptionType.multiselect,
|
|
131
132
|
values: ["Pourcentage vers Décimal", "Décimal vers Pourcentage"],
|
|
132
|
-
defaultValue:
|
|
133
|
+
defaultValue: arrayedOptsDefault.conversionType,
|
|
133
134
|
},
|
|
134
135
|
];
|
|
135
136
|
export const percentToDecimal = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculateFrequencyInList.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/basicStats/calculateFrequencyInList.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"calculateFrequencyInList.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/basicStats/calculateFrequencyInList.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAarC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AA8LF,KAAK,OAAO,GAAG;IACb,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAsBF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAgBnE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { addValidProp, shuffleProps, tryToAddWrongProp, propWhile, GeneratorOptionTarget, GeneratorOptionType, } from "../../../../exercises/exercise.js";
|
|
2
2
|
import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
|
|
3
|
+
import { defaultArrayedOptsWhereNeeded } from "../../../../exercises/utils/options/arrayedOptions.js";
|
|
3
4
|
import { RationalConstructor } from "../../../../math/numbers/rationals/rational.js";
|
|
4
5
|
import { randint } from "../../../../math/utils/random/randint.js";
|
|
5
6
|
import { round } from "../../../../math/utils/round.js";
|
|
@@ -95,8 +96,8 @@ const isAnswerValid = (ans, { answer, ...identifiers }) => {
|
|
|
95
96
|
}
|
|
96
97
|
};
|
|
97
98
|
const getCalculateFrequencyInListQuestion = (optsIn) => {
|
|
98
|
-
const
|
|
99
|
-
const allowedAnsType =
|
|
99
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
100
|
+
const allowedAnsType = arrayedOpts.allowedAnsType;
|
|
100
101
|
const target = randint(1, 10);
|
|
101
102
|
const length = randint(6, 13);
|
|
102
103
|
const values = [];
|
|
@@ -150,7 +151,7 @@ const getAllValidNodes = (identifiers) => {
|
|
|
150
151
|
return identifiersCopy;
|
|
151
152
|
})()));
|
|
152
153
|
};
|
|
153
|
-
const
|
|
154
|
+
const arrayedOptsDefault = {
|
|
154
155
|
allowedAnsType: ["exacte", "arrondie à 2 décimales"],
|
|
155
156
|
};
|
|
156
157
|
const options = [
|
|
@@ -160,7 +161,7 @@ const options = [
|
|
|
160
161
|
target: GeneratorOptionTarget.generation,
|
|
161
162
|
type: GeneratorOptionType.multiselect,
|
|
162
163
|
values: ["exacte", "arrondie à 2 décimales"],
|
|
163
|
-
defaultValue:
|
|
164
|
+
defaultValue: arrayedOptsDefault.allowedAnsType,
|
|
164
165
|
},
|
|
165
166
|
];
|
|
166
167
|
export const calculateFrequencyInList = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probaFromTableWithContext.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/probaStat/probaFromTableWithContext.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"probaFromTableWithContext.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/probaStat/probaFromTableWithContext.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAiBrC,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,uBAAuB,EAAE,MAAM,CAAC;QAChC,uBAAuB,EAAE,MAAM,CAAC;QAChC,mCAAmC,EAAE,MAAM,CAAC;KAC7C,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AA6ZF,KAAK,OAAO,GAAG;IACb,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AA+BF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAiBpE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { GeneratorOptionTarget, GeneratorOptionType, addValidProp, propWhile, shuffleProps, tryToAddWrongProp, } from "../../../exercises/exercise.js";
|
|
2
2
|
import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuestions.js";
|
|
3
|
+
import { defaultArrayedOptsWhereNeeded } from "../../../exercises/utils/options/arrayedOptions.js";
|
|
3
4
|
import { rationalVEA } from "../../../exercises/vea/rationalVEA.js";
|
|
4
5
|
import { Rational } from "../../../math/numbers/rationals/rational.js";
|
|
5
6
|
import { randint } from "../../../math/utils/random/randint.js";
|
|
@@ -74,8 +75,8 @@ const getAnswer = (identifiers) => {
|
|
|
74
75
|
return getAnswerNode(identifiers).toTex();
|
|
75
76
|
};
|
|
76
77
|
const getProbaFromTableWithContextQuestion = (optsIn) => {
|
|
77
|
-
const
|
|
78
|
-
const allowedAnsType =
|
|
78
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
79
|
+
const allowedAnsType = arrayedOpts.allowedAnsType;
|
|
79
80
|
const aCapB = randint(1, 20);
|
|
80
81
|
const aCapBBarre = randint(1, 20, [aCapB]);
|
|
81
82
|
const aBarreCapB = randint(1, 20, [aCapB, aCapBBarre]);
|
|
@@ -93,9 +94,7 @@ const getProbaFromTableWithContextQuestion = (optsIn) => {
|
|
|
93
94
|
const bBarreTotal = aBarreCapBBarre + aCapBBarre;
|
|
94
95
|
let event = "";
|
|
95
96
|
let proba = [];
|
|
96
|
-
const frenchType =
|
|
97
|
-
? random(opts.probaTypes)
|
|
98
|
-
: random(["Événement simple", "Intersection", "Union"]);
|
|
97
|
+
const frenchType = random(arrayedOpts.probaTypes);
|
|
99
98
|
const type = frenchType === "Événement simple"
|
|
100
99
|
? "singleEvent"
|
|
101
100
|
: frenchType.toLocaleLowerCase();
|
|
@@ -284,7 +283,7 @@ const createFormattedNode = (exactNode, strInternalAllowedAnswerTypes) => {
|
|
|
284
283
|
return exactNode;
|
|
285
284
|
}
|
|
286
285
|
};
|
|
287
|
-
const
|
|
286
|
+
const arrayedOptsDefault = {
|
|
288
287
|
allowedAnsType: ["exacte", "arrondie à 2 décimales"],
|
|
289
288
|
probaTypes: ["Événement simple", "Intersection", "Union"],
|
|
290
289
|
};
|
|
@@ -295,7 +294,7 @@ const options = [
|
|
|
295
294
|
target: GeneratorOptionTarget.generation,
|
|
296
295
|
type: GeneratorOptionType.multiselect,
|
|
297
296
|
values: ["exacte", "arrondie à 2 décimales"],
|
|
298
|
-
defaultValue:
|
|
297
|
+
defaultValue: arrayedOptsDefault.allowedAnsType,
|
|
299
298
|
},
|
|
300
299
|
{
|
|
301
300
|
id: "probaTypes",
|
|
@@ -303,7 +302,7 @@ const options = [
|
|
|
303
302
|
target: GeneratorOptionTarget.generation,
|
|
304
303
|
type: GeneratorOptionType.multiselect,
|
|
305
304
|
values: ["Événement simple", "Intersection", "Union"],
|
|
306
|
-
defaultValue:
|
|
305
|
+
defaultValue: arrayedOptsDefault.probaTypes,
|
|
307
306
|
},
|
|
308
307
|
];
|
|
309
308
|
export const probaFromTableWithContext = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"medianWithList.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/stats1var/medianWithList.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"medianWithList.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/stats1var/medianWithList.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,QAAQ,EAkBT,MAAM,sBAAsB,CAAC;AAE9B,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAmJF,KAAK,OAAO,GAAG;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAsBF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAkBzD,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAiBzE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { defaultArrayedOptsWhereNeeded } from "../../../../exercises/utils/options/arrayedOptions.js";
|
|
1
2
|
import { numberVEA } from "../../../../exercises/vea/numberVEA.js";
|
|
2
3
|
import { randint } from "../../../../math/utils/random/randint.js";
|
|
3
4
|
import { median } from "../../../../math/utils/stats/median.js";
|
|
@@ -81,9 +82,9 @@ const isAnswerValid = (ans, { answer, sortedValues }) => {
|
|
|
81
82
|
}
|
|
82
83
|
};
|
|
83
84
|
const getMedianList = (optsIn) => {
|
|
84
|
-
const
|
|
85
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
85
86
|
const opts = {
|
|
86
|
-
nbValues: random(
|
|
87
|
+
nbValues: random(arrayedOpts.nbValues),
|
|
87
88
|
isOrdered: optsIn?.isOrdered ?? false,
|
|
88
89
|
};
|
|
89
90
|
const length = Number(opts.nbValues);
|
|
@@ -123,7 +124,7 @@ const getQuestionFromIdentifiers = (identifiers, opts) => {
|
|
|
123
124
|
};
|
|
124
125
|
return question;
|
|
125
126
|
};
|
|
126
|
-
const
|
|
127
|
+
const arrayedOptsDefault = {
|
|
127
128
|
nbValues: ["7", "8"],
|
|
128
129
|
};
|
|
129
130
|
const options = [
|
|
@@ -133,7 +134,7 @@ const options = [
|
|
|
133
134
|
target: GeneratorOptionTarget.generation,
|
|
134
135
|
type: GeneratorOptionType.multiselect,
|
|
135
136
|
values: ["4", "5", "7", "8", "11", "12", "19", "20"],
|
|
136
|
-
defaultValue:
|
|
137
|
+
defaultValue: arrayedOptsDefault.nbValues,
|
|
137
138
|
},
|
|
138
139
|
];
|
|
139
140
|
export const medianWithList = {
|
package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arithmeticFindRankFromSituation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,sBAAsB,EACvB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAEL,2BAA2B,EAC5B,MAAM,wDAAwD,CAAC;AAKhE,OAAO,EAEL,kCAAkC,EAEnC,MAAM,kEAAkE,CAAC;AAM1E,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,kCAAkC,CAAC;IACrD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"arithmeticFindRankFromSituation.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,sBAAsB,EACvB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAEL,2BAA2B,EAC5B,MAAM,wDAAwD,CAAC;AAKhE,OAAO,EAEL,kCAAkC,EAEnC,MAAM,kEAAkE,CAAC;AAM1E,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,kCAAkC,CAAC;IACrD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAsPF,KAAK,OAAO,GAAG,sBAAsB,GAAG,2BAA2B,CAAC;AAcpE,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAmB1E,CAAC"}
|
package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.js
CHANGED
|
@@ -24,7 +24,7 @@ const getAnswerNode = (identifiers, opts) => {
|
|
|
24
24
|
const { situationIndex, initial, reason, valueAsked } = identifiers;
|
|
25
25
|
const situation = situations[situationIndex];
|
|
26
26
|
const rankDecoder = situation.rankDecoder;
|
|
27
|
-
return situation.variationFindRank.getAnswerStuff(initial, reason, firstRank, valueAsked, rankDecoder).answerNode;
|
|
27
|
+
return situation.variationFindRank.getAnswerStuff(initial, reason, firstRank, valueAsked, rankDecoder, situation.digitsValue, situation.digitsTarget).answerNode;
|
|
28
28
|
};
|
|
29
29
|
const getAnswer = (identifiers, optsIn) => {
|
|
30
30
|
const opts = optsIn ?? optsDefault;
|
|
@@ -54,12 +54,12 @@ const getPropositions = (n, { answer, ...identifiers }, optsIn) => {
|
|
|
54
54
|
const arrNodeWrong = [];
|
|
55
55
|
//student: uses valueAsked as if it were rankAsked
|
|
56
56
|
{
|
|
57
|
-
const nodeWrong = situation.variationFindRandomTerm.getAnswerNode(initial, reason, firstRank, valueAsked, situation.rankDecoder);
|
|
58
|
-
tryToAddWrongProp(propositions, nodeWrong.simplify().toTex());
|
|
57
|
+
const nodeWrong = situation.variationFindRandomTerm.getAnswerNode(initial, reason, firstRank, valueAsked, situation.rankDecoder, situation.digitsValue, situation.digitsTarget);
|
|
58
|
+
tryToAddWrongProp(propositions, round(nodeWrong.simplify().evaluate(), 0).toTree().toTex());
|
|
59
59
|
arrNodeWrong.push(nodeWrong);
|
|
60
60
|
}
|
|
61
61
|
const rankValid = (() => {
|
|
62
|
-
const { rankNode } = situation.variationFindRank.getAnswerStuff(initial, reason, firstRank, valueAsked, situation.rankDecoder);
|
|
62
|
+
const { rankNode } = situation.variationFindRank.getAnswerStuff(initial, reason, firstRank, valueAsked, situation.rankDecoder, situation.digitsValue, situation.digitsTarget);
|
|
63
63
|
return round(rankNode.evaluate(), 0);
|
|
64
64
|
})();
|
|
65
65
|
//pseudo terror
|
|
@@ -67,7 +67,7 @@ const getPropositions = (n, { answer, ...identifiers }, optsIn) => {
|
|
|
67
67
|
if (coinFlip()) {
|
|
68
68
|
//student: rankValid - 1
|
|
69
69
|
{
|
|
70
|
-
const nodeWrong = (rankValid - 1).toTree();
|
|
70
|
+
const nodeWrong = round(rankValid - 1, 0).toTree();
|
|
71
71
|
tryToAddWrongProp(propositions, nodeWrong.toTex());
|
|
72
72
|
arrNodeWrong.push(nodeWrong);
|
|
73
73
|
}
|
|
@@ -75,7 +75,7 @@ const getPropositions = (n, { answer, ...identifiers }, optsIn) => {
|
|
|
75
75
|
else {
|
|
76
76
|
//student: rankValid + 1
|
|
77
77
|
{
|
|
78
|
-
const nodeWrong = (rankValid + 1).toTree();
|
|
78
|
+
const nodeWrong = round(rankValid + 1, 0).toTree();
|
|
79
79
|
tryToAddWrongProp(propositions, nodeWrong.toTex());
|
|
80
80
|
arrNodeWrong.push(nodeWrong);
|
|
81
81
|
}
|
|
@@ -83,7 +83,7 @@ const getPropositions = (n, { answer, ...identifiers }, optsIn) => {
|
|
|
83
83
|
}
|
|
84
84
|
//random around
|
|
85
85
|
{
|
|
86
|
-
const nodeWrong = Math.max(1, rankValid + randint(-5, 6, [0])).toTree();
|
|
86
|
+
const nodeWrong = round(Math.max(1, rankValid + randint(-5, 6, [0])), 0).toTree();
|
|
87
87
|
tryToAddWrongProp(propositions, nodeWrong.toTex());
|
|
88
88
|
arrNodeWrong.push(nodeWrong);
|
|
89
89
|
}
|
|
@@ -94,7 +94,7 @@ const getPropositions = (n, { answer, ...identifiers }, optsIn) => {
|
|
|
94
94
|
if (coinFlip()) {
|
|
95
95
|
//student: rankValid - 1
|
|
96
96
|
{
|
|
97
|
-
const nodeWrong = (nodePicked.evaluate() - 1).toTree();
|
|
97
|
+
const nodeWrong = round(nodePicked.evaluate() - 1, 0).toTree();
|
|
98
98
|
tryToAddWrongProp(propositions, nodeWrong.toTex());
|
|
99
99
|
arrNodeWrong.push(nodeWrong);
|
|
100
100
|
}
|
|
@@ -102,7 +102,7 @@ const getPropositions = (n, { answer, ...identifiers }, optsIn) => {
|
|
|
102
102
|
else {
|
|
103
103
|
//student: rankValid + 1
|
|
104
104
|
{
|
|
105
|
-
const nodeWrong = (nodePicked.evaluate() + 1).toTree();
|
|
105
|
+
const nodeWrong = round(nodePicked.evaluate() + 1, 0).toTree();
|
|
106
106
|
tryToAddWrongProp(propositions, nodeWrong.toTex());
|
|
107
107
|
arrNodeWrong.push(nodeWrong);
|
|
108
108
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrayedOptions.d.ts","sourceRoot":"","sources":["../../../../src/exercises/utils/options/arrayedOptions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B,GAAI,OAAO,EAAE,cAAc,EACnE,QAAQ,OAAO,GAAG,SAAS,EAC3B,gBAAgB,cAAc,wBAmB/B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const defaultArrayedOptsWhereNeeded = (optsIn, arrayedOptions) => {
|
|
2
|
+
const arrayedOptionsIn = optsIn;
|
|
3
|
+
return {
|
|
4
|
+
...arrayedOptions,
|
|
5
|
+
...(arrayedOptionsIn
|
|
6
|
+
? Object.keys(arrayedOptionsIn).reduce((acc, key) => {
|
|
7
|
+
const dictIn = arrayedOptionsIn;
|
|
8
|
+
acc = {
|
|
9
|
+
...acc,
|
|
10
|
+
...(dictIn[key]?.length > 0 ? { [key]: dictIn[key] } : {}),
|
|
11
|
+
};
|
|
12
|
+
return acc;
|
|
13
|
+
}, {})
|
|
14
|
+
: {}),
|
|
15
|
+
};
|
|
16
|
+
};
|
package/lib/index.d.ts
CHANGED
|
@@ -1935,6 +1935,18 @@ declare const mathExercises: (Exercise<{
|
|
|
1935
1935
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
1936
1936
|
q: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
|
|
1937
1937
|
a: number;
|
|
1938
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
1939
|
+
q: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
|
|
1940
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
1941
|
+
f0: number;
|
|
1942
|
+
f1: number;
|
|
1943
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
1944
|
+
k: number;
|
|
1945
|
+
a: number;
|
|
1946
|
+
fakeParams: {
|
|
1947
|
+
a: number;
|
|
1948
|
+
k: number;
|
|
1949
|
+
}[];
|
|
1938
1950
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
1939
1951
|
affine1Ids: import("./math/polynomials/generalAffine.js").GeneralAffineIdentifiers;
|
|
1940
1952
|
affine2Ids: import("./math/polynomials/generalAffine.js").GeneralAffineIdentifiers;
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAE3D,OAAO,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,QAAA,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAE3D,OAAO,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAA+B,CAAC;AACnD,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAA6B,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seqArithmeticSituations.d.ts","sourceRoot":"","sources":["../../../../../src/math/utils/sequences/situations/seqArithmeticSituations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAiBlE,MAAM,MAAM,4BAA4B,GAAG;IACzC,cAAc,CAAC,EAAE,CACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,GAAG,SAAS,EAAE,OAAO,EAAE,KACpB,MAAM,CAAC;IAEZ,aAAa,EAAE,CACb,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,GAAG,SAAS,EAAE,OAAO,EAAE,KACpB,aAAa,CAAC;IAEnB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;IAChE,kBAAkB,EAAE,CAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,GAAG,SAAS,EAAE,OAAO,EAAE,KACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACzE,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,aAAa,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,4CAA4C,GAAG;IACzD,cAAc,CAAC,EAAE,CACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,GAAG,SAAS,EAAE,OAAO,EAAE,KACpB,MAAM,CAAC;IAEZ,cAAc,EAAE,CACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,GAAG,SAAS,EAAE,OAAO,EAAE,KACpB;QAAE,UAAU,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,aAAa,CAAA;KAAE,CAAC;IAE5D,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;IAChE,kBAAkB,EAAE,CAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,GAAG,SAAS,EAAE,OAAO,EAAE,KACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;IAC9D,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9E,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IAErB,eAAe,EAAE,CACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,kCAAkC,KACjD,MAAM,CAAC;IAEZ,4BAA4B,EAAE,4BAA4B,CAAC;IAC3D,8BAA8B,EAAE,4BAA4B,CAAC;IAE7D,uBAAuB,EAAE,4BAA4B,CAAC;IAEtD,iBAAiB,EAAE,4CAA4C,CAAC;IAChE,sBAAsB,EAAE,4CAA4C,CAAC;CACtE,CAAC;
|
|
1
|
+
{"version":3,"file":"seqArithmeticSituations.d.ts","sourceRoot":"","sources":["../../../../../src/math/utils/sequences/situations/seqArithmeticSituations.ts"],"names":[],"mappings":"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"}
|
|
@@ -191,8 +191,8 @@ const templatesSituationsArithmetic = [
|
|
|
191
191
|
};
|
|
192
192
|
},
|
|
193
193
|
rankDecoder: {
|
|
194
|
-
targetFromRank: (rank, _firstRank) => rank.toTree(),
|
|
195
|
-
rankFromTarget: (nodeTarget, _firstRank) => nodeTarget.evaluate(),
|
|
194
|
+
targetFromRank: (rank, _firstRank) => round(rank, 0).toTree(),
|
|
195
|
+
rankFromTarget: (nodeTarget, _firstRank) => round(nodeTarget.evaluate(), 0),
|
|
196
196
|
},
|
|
197
197
|
digitsValue: 2,
|
|
198
198
|
digitsTarget: 0,
|
|
@@ -371,8 +371,8 @@ La hauteur de la plante relevée chaque jour, en $\\textrm{cm}$, est donc une su
|
|
|
371
371
|
};
|
|
372
372
|
},
|
|
373
373
|
rankDecoder: {
|
|
374
|
-
targetFromRank: (rank, firstRank) => (rank - firstRank).toTree(),
|
|
375
|
-
rankFromTarget: (nodeTarget, firstRank) => nodeTarget.evaluate() + firstRank,
|
|
374
|
+
targetFromRank: (rank, firstRank) => round(rank - firstRank, 0).toTree(),
|
|
375
|
+
rankFromTarget: (nodeTarget, firstRank) => round(nodeTarget.evaluate() + firstRank, 0),
|
|
376
376
|
},
|
|
377
377
|
digitsValue: 2,
|
|
378
378
|
digitsTarget: 0,
|
|
@@ -585,8 +585,8 @@ On note $u_n$ la facture (en $\\textrm{€}$) pour $${getStrFactor(firstRank)} \
|
|
|
585
585
|
}
|
|
586
586
|
},
|
|
587
587
|
rankDecoder: {
|
|
588
|
-
targetFromRank: (rank, firstRank) => (rank - firstRank).toTree(),
|
|
589
|
-
rankFromTarget: (nodeTarget, firstRank) => nodeTarget.evaluate() + firstRank,
|
|
588
|
+
targetFromRank: (rank, firstRank) => round(rank - firstRank, 0).toTree(),
|
|
589
|
+
rankFromTarget: (nodeTarget, firstRank) => round(nodeTarget.evaluate() + firstRank, 0),
|
|
590
590
|
},
|
|
591
591
|
digitsValue: 2,
|
|
592
592
|
digitsTarget: 0,
|
|
@@ -738,8 +738,8 @@ La facture est donc une suite arithmétique de premier terme $${initial.frPretty
|
|
|
738
738
|
};
|
|
739
739
|
},
|
|
740
740
|
rankDecoder: {
|
|
741
|
-
targetFromRank: (rank, firstRank) => (100 * (rank - firstRank)).toTree(),
|
|
742
|
-
rankFromTarget: (nodeTarget, firstRank) => nodeTarget.evaluate() / 100 + firstRank,
|
|
741
|
+
targetFromRank: (rank, firstRank) => round(100 * (rank - firstRank), 0).toTree(),
|
|
742
|
+
rankFromTarget: (nodeTarget, firstRank) => round(nodeTarget.evaluate() / 100 + firstRank, 0),
|
|
743
743
|
},
|
|
744
744
|
digitsValue: 2,
|
|
745
745
|
digitsTarget: 0,
|
|
@@ -923,8 +923,8 @@ La température ambiante est donc une suite arithmétique de premier terme $${in
|
|
|
923
923
|
};
|
|
924
924
|
},
|
|
925
925
|
rankDecoder: {
|
|
926
|
-
targetFromRank: (rank, firstRank) => (rank - firstRank).toTree(),
|
|
927
|
-
rankFromTarget: (nodeTarget, firstRank) => nodeTarget.evaluate() + firstRank,
|
|
926
|
+
targetFromRank: (rank, firstRank) => round(rank - firstRank, 0).toTree(),
|
|
927
|
+
rankFromTarget: (nodeTarget, firstRank) => round(nodeTarget.evaluate() + firstRank, 0),
|
|
928
928
|
},
|
|
929
929
|
digitsValue: 2,
|
|
930
930
|
digitsTarget: 0,
|
|
@@ -1120,8 +1120,8 @@ Le salaire d'Emma, en $\\textrm{€}$, est donc une suite arithmétique de premi
|
|
|
1120
1120
|
};
|
|
1121
1121
|
},
|
|
1122
1122
|
rankDecoder: {
|
|
1123
|
-
targetFromRank: (rank, firstRank) => (rank - firstRank).toTree(),
|
|
1124
|
-
rankFromTarget: (nodeTarget, firstRank) => nodeTarget.evaluate() + firstRank,
|
|
1123
|
+
targetFromRank: (rank, firstRank) => round(rank - firstRank, 0).toTree(),
|
|
1124
|
+
rankFromTarget: (nodeTarget, firstRank) => round(nodeTarget.evaluate() + firstRank, 0),
|
|
1125
1125
|
},
|
|
1126
1126
|
digitsValue: 0,
|
|
1127
1127
|
digitsTarget: 0,
|
|
@@ -1309,8 +1309,8 @@ Le montant des économies de Manon, en $\\textrm{€}$, est donc une suite arith
|
|
|
1309
1309
|
};
|
|
1310
1310
|
},
|
|
1311
1311
|
rankDecoder: {
|
|
1312
|
-
targetFromRank: (rank, firstRank) => (rank - firstRank).toTree(),
|
|
1313
|
-
rankFromTarget: (nodeTarget, firstRank) => nodeTarget.evaluate() + firstRank,
|
|
1312
|
+
targetFromRank: (rank, firstRank) => round(rank - firstRank, 0).toTree(),
|
|
1313
|
+
rankFromTarget: (nodeTarget, firstRank) => round(nodeTarget.evaluate() + firstRank, 0),
|
|
1314
1314
|
},
|
|
1315
1315
|
digitsValue: 0,
|
|
1316
1316
|
digitsTarget: 0,
|
|
@@ -1498,8 +1498,8 @@ Le score est donc une suite arithmétique de premier terme $${initial.frPretty(0
|
|
|
1498
1498
|
};
|
|
1499
1499
|
},
|
|
1500
1500
|
rankDecoder: {
|
|
1501
|
-
targetFromRank: (rank, firstRank) => (rank - firstRank).toTree(),
|
|
1502
|
-
rankFromTarget: (nodeTarget, firstRank) => nodeTarget.evaluate() + firstRank,
|
|
1501
|
+
targetFromRank: (rank, firstRank) => round(rank - firstRank, 0).toTree(),
|
|
1502
|
+
rankFromTarget: (nodeTarget, firstRank) => round(nodeTarget.evaluate() + firstRank, 0),
|
|
1503
1503
|
},
|
|
1504
1504
|
digitsValue: 2,
|
|
1505
1505
|
digitsTarget: 0,
|
|
@@ -1690,8 +1690,8 @@ Le niveau de charge est donc une suite arithmétique de premier terme $${initial
|
|
|
1690
1690
|
};
|
|
1691
1691
|
},
|
|
1692
1692
|
rankDecoder: {
|
|
1693
|
-
targetFromRank: (rank, firstRank) => (rank - firstRank).toTree(),
|
|
1694
|
-
rankFromTarget: (nodeTarget, firstRank) => nodeTarget.evaluate() + firstRank,
|
|
1693
|
+
targetFromRank: (rank, firstRank) => round(rank - firstRank, 0).toTree(),
|
|
1694
|
+
rankFromTarget: (nodeTarget, firstRank) => round(nodeTarget.evaluate() + firstRank, 0),
|
|
1695
1695
|
},
|
|
1696
1696
|
digitsValue: 0,
|
|
1697
1697
|
digitsTarget: 0,
|
|
@@ -1881,8 +1881,8 @@ Le nombre d'amuse-bouches est donc une suite arithmétique de premier terme $${i
|
|
|
1881
1881
|
};
|
|
1882
1882
|
},
|
|
1883
1883
|
rankDecoder: {
|
|
1884
|
-
targetFromRank: (rank, firstRank) => (rank - firstRank).toTree(),
|
|
1885
|
-
rankFromTarget: (nodeTarget, firstRank) => nodeTarget.evaluate() + firstRank,
|
|
1884
|
+
targetFromRank: (rank, firstRank) => round(rank - firstRank, 0).toTree(),
|
|
1885
|
+
rankFromTarget: (nodeTarget, firstRank) => round(nodeTarget.evaluate() + firstRank, 0),
|
|
1886
1886
|
},
|
|
1887
1887
|
digitsValue: 0,
|
|
1888
1888
|
digitsTarget: 0,
|