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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decimalFractionToDecimal.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/decimals/decimalFractionToDecimal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"decimalFractionToDecimal.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/decimals/decimalFractionToDecimal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAqBrC,KAAK,WAAW,GAAG;IACjB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AA+PF,KAAK,OAAO,GAAG;IACb,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AA4BF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAgBnE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { GeneratorOptionTarget, GeneratorOptionType, addValidProp, 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 } from "../../../../math/numbers/decimals/decimal.js";
|
|
4
5
|
import { randint } from "../../../../math/utils/random/randint.js";
|
|
5
6
|
import { isNumberNode } from "../../../../tree/nodes/numbers/numberNode.js";
|
|
@@ -167,9 +168,9 @@ const isAnswerValid = (ans, { answer, isFractionToDigital, nb }) => {
|
|
|
167
168
|
}
|
|
168
169
|
};
|
|
169
170
|
const getDecimalFractionToDecimalQuestion = (optsIn) => {
|
|
170
|
-
const
|
|
171
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
171
172
|
const opts = {
|
|
172
|
-
conversionType: random(
|
|
173
|
+
conversionType: random(arrayedOpts.conversionType),
|
|
173
174
|
};
|
|
174
175
|
const isFractionToDigital = opts.conversionType === "Fraction vers nombre à virgule";
|
|
175
176
|
const nb = (() => {
|
|
@@ -205,7 +206,7 @@ const getQuestionFromIdentifiers = (identifiers, opts) => {
|
|
|
205
206
|
};
|
|
206
207
|
return question;
|
|
207
208
|
};
|
|
208
|
-
const
|
|
209
|
+
const arrayedOptsDefault = {
|
|
209
210
|
conversionType: [
|
|
210
211
|
"Fraction vers nombre à virgule",
|
|
211
212
|
"Nombre à virgule vers fraction",
|
|
@@ -221,7 +222,7 @@ const options = [
|
|
|
221
222
|
"Fraction vers nombre à virgule",
|
|
222
223
|
"Nombre à virgule vers fraction",
|
|
223
224
|
],
|
|
224
|
-
defaultValue:
|
|
225
|
+
defaultValue: arrayedOptsDefault.conversionType,
|
|
225
226
|
},
|
|
226
227
|
];
|
|
227
228
|
export const decimalFractionToDecimal = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factorizeEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/factorizeEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"factorizeEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/factorizeEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AA0CrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,OAAO,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAsRF,KAAK,OAAO,GAAG;IACb,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAsBF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAyB5D,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 { SetVEA } from "../../../../exercises/vea/setVEA.js";
|
|
4
5
|
import { randint } from "../../../../math/utils/random/randint.js";
|
|
5
6
|
import { EquationSolutionNode } from "../../../../tree/nodes/equations/equationSolutionNode.js";
|
|
@@ -33,7 +34,7 @@ const getTexForEquationSolutionNode = (nodeAnswer, opts) => {
|
|
|
33
34
|
}
|
|
34
35
|
};
|
|
35
36
|
const getPropositions = (n, { answer, ...identifiers }, optsIn) => {
|
|
36
|
-
const opts = optsIn
|
|
37
|
+
const opts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
37
38
|
const { a, isSum, b } = identifiers;
|
|
38
39
|
const propositions = [];
|
|
39
40
|
addValidProp(propositions, answer);
|
|
@@ -65,7 +66,7 @@ const getAnswerNode = (identifiers) => {
|
|
|
65
66
|
return nodeAnswer;
|
|
66
67
|
};
|
|
67
68
|
const getAnswer = (identifiers, optsIn) => {
|
|
68
|
-
const opts = optsIn
|
|
69
|
+
const opts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
69
70
|
const answerNode = getAnswerNode(identifiers);
|
|
70
71
|
return getTexForEquationSolutionNode(answerNode, opts);
|
|
71
72
|
};
|
|
@@ -95,7 +96,7 @@ ${left.toTex()} = ${multiply(isSum ? -1 : 1, right).toTex()} \\iff ${eq
|
|
|
95
96
|
$$`;
|
|
96
97
|
};
|
|
97
98
|
const getCorrection = (identifiers, optsIn) => {
|
|
98
|
-
const opts = optsIn
|
|
99
|
+
const opts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
99
100
|
const answerInputTypeDefault = "S={...;...}";
|
|
100
101
|
const answerInputType = opts.answerInputTypes.includes(answerInputTypeDefault)
|
|
101
102
|
? answerInputTypeDefault
|
|
@@ -138,7 +139,7 @@ ${getAnswer(identifiers, opts)}
|
|
|
138
139
|
$$`;
|
|
139
140
|
};
|
|
140
141
|
const getKeys = (_, optsIn) => {
|
|
141
|
-
const opts = optsIn
|
|
142
|
+
const opts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
142
143
|
const { answerInputTypes } = opts;
|
|
143
144
|
return [
|
|
144
145
|
...answerInputTypes.reduce((acc, answerInputType) => {
|
|
@@ -164,7 +165,7 @@ const getKeys = (_, optsIn) => {
|
|
|
164
165
|
];
|
|
165
166
|
};
|
|
166
167
|
const isAnswerValid = (ans, { answer: _, ...identifiers }, optsIn) => {
|
|
167
|
-
const opts = optsIn
|
|
168
|
+
const opts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
168
169
|
const answerNode = getAnswerNode(identifiers);
|
|
169
170
|
const arrNodeAnswer = answerNode.solutionsSet.elements;
|
|
170
171
|
function getParsedNodesForAnswerInputType(ans, answerInputType) {
|
|
@@ -209,7 +210,7 @@ const isAnswerValid = (ans, { answer: _, ...identifiers }, optsIn) => {
|
|
|
209
210
|
return opts.answerInputTypes.some((answerInputType) => isAnswerValidForAnswerInputType(answerInputType));
|
|
210
211
|
};
|
|
211
212
|
const getFactorizeEquationQuestion = (optsIn) => {
|
|
212
|
-
const opts = optsIn
|
|
213
|
+
const opts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
213
214
|
const a = randint(1, 10);
|
|
214
215
|
const b = randint(1, 10);
|
|
215
216
|
const isSum = coinFlip();
|
|
@@ -228,7 +229,7 @@ const getQuestionFromIdentifiers = (identifiers, opts) => {
|
|
|
228
229
|
options: opts,
|
|
229
230
|
};
|
|
230
231
|
};
|
|
231
|
-
const
|
|
232
|
+
const arrayedOptsDefault = {
|
|
232
233
|
answerInputTypes: ["x=... ou x=...", "S={...;...}"],
|
|
233
234
|
};
|
|
234
235
|
const options = [
|
|
@@ -238,7 +239,7 @@ const options = [
|
|
|
238
239
|
target: GeneratorOptionTarget.generation,
|
|
239
240
|
type: GeneratorOptionType.multiselect,
|
|
240
241
|
values: ["x=... ou x=...", "S={...;...}"],
|
|
241
|
-
defaultValue:
|
|
242
|
+
defaultValue: arrayedOptsDefault.answerInputTypes,
|
|
242
243
|
},
|
|
243
244
|
];
|
|
244
245
|
export const factorizeEquation = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isEqualityTrue.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/isEqualityTrue.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"isEqualityTrue.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/isEqualityTrue.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAkB7C,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAChD,YAAY,EAAE,eAAe,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAgUF,KAAK,OAAO,GAAG;IACb,SAAS,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7C,aAAa,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAClD,CAAC;AA6BF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAkB1D,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { addValidProp, tryToAddWrongProp, 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 { nodeBySubstitutingVar } from "../../../../math/utils/functions/functionComposition.js";
|
|
4
5
|
import { randfloat } from "../../../../math/utils/random/randfloat.js";
|
|
5
6
|
import { randint } from "../../../../math/utils/random/randint.js";
|
|
@@ -102,10 +103,10 @@ const getKeys = () => {
|
|
|
102
103
|
return [];
|
|
103
104
|
};
|
|
104
105
|
const getIsEqualityTrue1Question = (optsIn) => {
|
|
105
|
-
const
|
|
106
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
106
107
|
const opts = {
|
|
107
|
-
typeCoeff: random(
|
|
108
|
-
typeTestValue: random(
|
|
108
|
+
typeCoeff: random(arrayedOpts.typeCoeff),
|
|
109
|
+
typeTestValue: random(arrayedOpts.typeTestValue),
|
|
109
110
|
};
|
|
110
111
|
const roundDecimalTo = 1;
|
|
111
112
|
const varName = random(varNames);
|
|
@@ -272,7 +273,7 @@ const getQuestionFromIdentifiers = (identifiers, opts) => {
|
|
|
272
273
|
};
|
|
273
274
|
return question;
|
|
274
275
|
};
|
|
275
|
-
const
|
|
276
|
+
const arrayedOptsDefault = {
|
|
276
277
|
typeCoeff: ["Entier"],
|
|
277
278
|
typeTestValue: ["Entier", "Fraction", "Décimal"],
|
|
278
279
|
};
|
|
@@ -283,7 +284,7 @@ const options = [
|
|
|
283
284
|
target: GeneratorOptionTarget.generation,
|
|
284
285
|
type: GeneratorOptionType.multiselect,
|
|
285
286
|
values: ["Entier", "Fraction", "Décimal"],
|
|
286
|
-
defaultValue:
|
|
287
|
+
defaultValue: arrayedOptsDefault.typeCoeff,
|
|
287
288
|
},
|
|
288
289
|
{
|
|
289
290
|
id: "typeTestValue",
|
|
@@ -291,7 +292,7 @@ const options = [
|
|
|
291
292
|
target: GeneratorOptionTarget.generation,
|
|
292
293
|
type: GeneratorOptionType.multiselect,
|
|
293
294
|
values: ["Entier", "Fraction", "Décimal"],
|
|
294
|
-
defaultValue:
|
|
295
|
+
defaultValue: arrayedOptsDefault.typeTestValue,
|
|
295
296
|
},
|
|
296
297
|
];
|
|
297
298
|
export const isEqualityTrue1 = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barChartInterpreting.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/barChartInterpreting.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,QAAQ,EAKT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"barChartInterpreting.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/barChartInterpreting.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,QAAQ,EAKT,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,cAAc,GAAG,cAAc,CAAC;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;AAE5C,KAAK,QAAQ,GAAG;IACd,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,GAAG,GAAG;IACT,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB,CAAC;AA4tBF,KAAK,OAAO,GAAG;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAsBF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAe/D,CAAC"}
|
|
@@ -8,6 +8,7 @@ import { getDistinctQuestions } from "../../../exercises/utils/getDistinctQuesti
|
|
|
8
8
|
import { randint } from "../../../math/utils/random/randint.js";
|
|
9
9
|
import { GeogebraConstructor } from "../../../geogebra/geogebraConstructor.js";
|
|
10
10
|
import { capitalize } from "../../../utils/strings/capitalize.js";
|
|
11
|
+
import { defaultArrayedOptsWhereNeeded } from "../../../exercises/utils/options/arrayedOptions.js";
|
|
11
12
|
class BarChartConstructor {
|
|
12
13
|
static stylesPools = {
|
|
13
14
|
color: [
|
|
@@ -427,9 +428,9 @@ const getGGBOptions = (identifiers, opts) => {
|
|
|
427
428
|
}
|
|
428
429
|
};
|
|
429
430
|
const getBarChartInterpretingQuestion = (optsIn) => {
|
|
430
|
-
const
|
|
431
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
431
432
|
const opts = {
|
|
432
|
-
displayType: random(
|
|
433
|
+
displayType: random(arrayedOpts.displayType),
|
|
433
434
|
};
|
|
434
435
|
const styleType = "color";
|
|
435
436
|
const displayType = opts.displayType;
|
|
@@ -512,7 +513,7 @@ const getQuestionFromIdentifiers = (identifiers, opts) => {
|
|
|
512
513
|
};
|
|
513
514
|
return question;
|
|
514
515
|
};
|
|
515
|
-
const
|
|
516
|
+
const arrayedOptsDefault = {
|
|
516
517
|
displayType: ["faisceaux", "empilements"],
|
|
517
518
|
};
|
|
518
519
|
const options = [
|
|
@@ -522,7 +523,7 @@ const options = [
|
|
|
522
523
|
target: GeneratorOptionTarget.generation,
|
|
523
524
|
type: GeneratorOptionType.multiselect,
|
|
524
525
|
values: ["faisceaux", "empilements"],
|
|
525
|
-
defaultValue:
|
|
526
|
+
defaultValue: arrayedOptsDefault.displayType,
|
|
526
527
|
},
|
|
527
528
|
];
|
|
528
529
|
export const barChartInterpreting = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivativeEquationSolving1.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/derivativeEquationSolving1.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"derivativeEquationSolving1.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/derivativeEquationSolving1.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAarC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AA6B7C,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,eAAe,CAAC;IAC9B,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC,CAAC;AA4SF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoCF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAerE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { GeneratorOptionTarget, GeneratorOptionType, addValidProp, propWhile, 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 { SetVEA } from "../../../../exercises/vea/setVEA.js";
|
|
4
5
|
import { createIntegratedPolynomialNode, createNodeFPolynomialFromRoots, } from "../../../../math/utils/polynomial/polynomialUtils.js";
|
|
5
6
|
import { randint } from "../../../../math/utils/random/randint.js";
|
|
@@ -223,8 +224,8 @@ const createRandomIdentifiers = (typeF) => {
|
|
|
223
224
|
return identifiers;
|
|
224
225
|
};
|
|
225
226
|
const getDerivativeEquationSolving1Question = (optsIn) => {
|
|
226
|
-
const
|
|
227
|
-
const typeF = random(
|
|
227
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
228
|
+
const typeF = random(arrayedOpts.typeF);
|
|
228
229
|
const identifiers = createRandomIdentifiers(typeF);
|
|
229
230
|
return getQuestionFromIdentifiers(identifiers);
|
|
230
231
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivativeEquationSolving3.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/derivativeEquationSolving3.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"derivativeEquationSolving3.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/derivativeEquationSolving3.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAcrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AA6B7C,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,eAAe,CAAC;IAC9B,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AA4TF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoCF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAerE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { GeneratorOptionTarget, GeneratorOptionType, addValidProp, propWhile, 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 { SetVEA } from "../../../../exercises/vea/setVEA.js";
|
|
4
5
|
import { nodeBySubstitutingVar } from "../../../../math/utils/functions/functionComposition.js";
|
|
5
6
|
import { createIntegratedPolynomialNode, createNodeFPolynomialFromRoots, } from "../../../../math/utils/polynomial/polynomialUtils.js";
|
|
@@ -236,8 +237,8 @@ const createRandomIdentifiers = (typeF) => {
|
|
|
236
237
|
return identifiers;
|
|
237
238
|
};
|
|
238
239
|
const getDerivativeEquationSolving3Question = (optsIn) => {
|
|
239
|
-
const
|
|
240
|
-
const typeF = random(
|
|
240
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
241
|
+
const typeF = random(arrayedOpts.typeF);
|
|
241
242
|
const identifiers = createRandomIdentifiers(typeF);
|
|
242
243
|
return getQuestionFromIdentifiers(identifiers);
|
|
243
244
|
};
|
package/lib/exercises/math/derivation/derivative/valueDerivativeFromFunctionExpression.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valueDerivativeFromFunctionExpression.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/valueDerivativeFromFunctionExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"valueDerivativeFromFunctionExpression.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/valueDerivativeFromFunctionExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AAUrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAgF7C,KAAK,WAAW,GAAG;IACjB,aAAa,EAAE,eAAe,CAAC;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoQF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAgDF,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,WAAW,EACX,OAAO,CAoBR,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { addValidProp, tryToAddWrongProp, propWhile, shuffleProps, 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 { AffineConstructor } from "../../../../math/polynomials/affine.js";
|
|
4
5
|
import { PolynomialConstructor } from "../../../../math/polynomials/polynomial.js";
|
|
5
6
|
import { TrinomConstructor } from "../../../../math/polynomials/trinom.js";
|
|
@@ -260,8 +261,8 @@ const createQCPassedIdentifiers = (typeF) => {
|
|
|
260
261
|
return identifiers;
|
|
261
262
|
};
|
|
262
263
|
const getValueDerivativeFromFunctionExpressionQuestion = (optsIn) => {
|
|
263
|
-
const
|
|
264
|
-
const typeF = random(
|
|
264
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
265
|
+
const typeF = random(arrayedOpts.typeF);
|
|
265
266
|
const identifiers = createQCPassedIdentifiers(typeF);
|
|
266
267
|
return getQuestionFromIdentifiers(identifiers);
|
|
267
268
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"problemMaximizeProfitFindProduction.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/problems/problemMaximizeProfitFindProduction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"problemMaximizeProfitFindProduction.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/problems/problemMaximizeProfitFindProduction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EAIL,0BAA0B,EAC3B,MAAM,6DAA6D,CAAC;AAYrE,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAQ7C,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,0BAA0B,EAAE,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoaF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAsBF,eAAO,MAAM,mCAAmC,EAAE,QAAQ,CACxD,WAAW,EACX,OAAO,CAoBR,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { addValidProp, 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 { numberVEA } from "../../../../exercises/vea/numberVEA.js";
|
|
4
5
|
import { blueMain, orange, red } from "../../../../geogebra/colors.js";
|
|
5
6
|
import { GeogebraConstructor } from "../../../../geogebra/geogebraConstructor.js";
|
|
@@ -294,8 +295,8 @@ const isIdentifiersQCPassed = (identifiers) => {
|
|
|
294
295
|
return !isExploding(identifiers);
|
|
295
296
|
};
|
|
296
297
|
const getProblemMaximizeProfitFindProductionQuestion = (optsIn) => {
|
|
297
|
-
const
|
|
298
|
-
const typeF = random(
|
|
298
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
299
|
+
const typeF = random(arrayedOpts.typeF);
|
|
299
300
|
let identifiers;
|
|
300
301
|
let counter = -1;
|
|
301
302
|
let isValid = false;
|
package/lib/exercises/math/derivation/problems/problemMovementOnLineFindSpeedAtPoint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"problemMovementOnLineFindSpeedAtPoint.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/problems/problemMovementOnLineFindSpeedAtPoint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"problemMovementOnLineFindSpeedAtPoint.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/problems/problemMovementOnLineFindSpeedAtPoint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAUrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AA0E7C,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,oBAAoB,EAAE,eAAe,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAyRF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoCF,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,WAAW,EACX,OAAO,CAqBR,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { addValidProp, 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 { AffineConstructor } from "../../../../math/polynomials/affine.js";
|
|
4
5
|
import { nodeBySubstitutingVar } from "../../../../math/utils/functions/functionComposition.js";
|
|
5
6
|
import { getArrNodeCoeffOfPolynomialNode } from "../../../../math/utils/polynomial/polynomialUtils.js";
|
|
@@ -247,8 +248,8 @@ const isIdentifiersQCPassed = (identifiers) => {
|
|
|
247
248
|
return !isExploding(identifiers);
|
|
248
249
|
};
|
|
249
250
|
const getProblemMovementOnLineFindSpeedAtPointQuestion = (optsIn) => {
|
|
250
|
-
const
|
|
251
|
-
const typeF = random(
|
|
251
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
252
|
+
const typeF = random(arrayedOpts.typeF);
|
|
252
253
|
let identifiers;
|
|
253
254
|
let counter = -1;
|
|
254
255
|
let isValid = false;
|
package/lib/exercises/math/derivation/tangent/tangentEquationFromFunctionExpression.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tangentEquationFromFunctionExpression.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/tangent/tangentEquationFromFunctionExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"tangentEquationFromFunctionExpression.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/tangent/tangentEquationFromFunctionExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AAWrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAgF7C,KAAK,WAAW,GAAG;IACjB,aAAa,EAAE,eAAe,CAAC;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoXF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAgDF,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,WAAW,EACX,OAAO,CAqBR,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { addValidProp, tryToAddWrongProp, propWhile, shuffleProps, 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 { polynomialVEA } from "../../../../exercises/vea/polynomialVEA.js";
|
|
4
5
|
import { AffineConstructor } from "../../../../math/polynomials/affine.js";
|
|
5
6
|
import { PolynomialConstructor } from "../../../../math/polynomials/polynomial.js";
|
|
@@ -305,8 +306,8 @@ const isIdentifiersQCPassed = (identifiers) => {
|
|
|
305
306
|
return !isExploding(identifiers) && isVEAOk(identifiers);
|
|
306
307
|
};
|
|
307
308
|
const getTangentEquationFromFunctionExpressionQuestion = (optsIn) => {
|
|
308
|
-
const
|
|
309
|
-
const typeF = random(
|
|
309
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
310
|
+
const typeF = random(arrayedOpts.typeF);
|
|
310
311
|
let identifiers;
|
|
311
312
|
let isValid = false;
|
|
312
313
|
let counter = -1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findAbscissaOfExtremaFromFunctionExpression.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/variations/findAbscissaOfExtremaFromFunctionExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"findAbscissaOfExtremaFromFunctionExpression.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/variations/findAbscissaOfExtremaFromFunctionExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AA6R7C,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AA0LF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAoCF,eAAO,MAAM,2CAA2C,EAAE,QAAQ,CAChE,WAAW,EACX,OAAO,CAqBR,CAAC"}
|
package/lib/exercises/math/derivation/variations/findAbscissaOfExtremaFromFunctionExpression.js
CHANGED
|
@@ -13,6 +13,7 @@ import { discreteSetParser } from "../../../../tree/parsers/discreteSetParser.js
|
|
|
13
13
|
import { SetVEA } from "../../../../exercises/vea/setVEA.js";
|
|
14
14
|
import { dividersOf } from "../../../../math/utils/arithmetic/dividersOf.js";
|
|
15
15
|
import { probaFlip } from "../../../../utils/alea/probaFlip.js";
|
|
16
|
+
import { defaultArrayedOptsWhereNeeded } from "../../../../exercises/utils/options/arrayedOptions.js";
|
|
16
17
|
const tryToSimplify = (node, simplifyOptions) => {
|
|
17
18
|
try {
|
|
18
19
|
return node.simplify(simplifyOptions);
|
|
@@ -353,9 +354,9 @@ const createRandomIdentifiers = (typeF, typeRoots) => {
|
|
|
353
354
|
return identifiers;
|
|
354
355
|
};
|
|
355
356
|
const getFindAbscissaOfExtremaFromFunctionExpressionQuestion = (optsIn) => {
|
|
356
|
-
const
|
|
357
|
-
const typeF = random(
|
|
358
|
-
const typeRoots = random(
|
|
357
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
358
|
+
const typeF = random(arrayedOpts.typeF);
|
|
359
|
+
const typeRoots = random(arrayedOpts.typeRoots);
|
|
359
360
|
const identifiers = createRandomIdentifiers(typeF, typeRoots);
|
|
360
361
|
return getQuestionFromIdentifiers(identifiers);
|
|
361
362
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findExtremaFromFunctionExpression.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/variations/findExtremaFromFunctionExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"findExtremaFromFunctionExpression.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/variations/findExtremaFromFunctionExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAmS7C,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAiSF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAqCF,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAqB1E,CAAC"}
|
|
@@ -19,6 +19,7 @@ import { NodeUtils } from "../../../../tree/utilities/nodeUtils.js";
|
|
|
19
19
|
import { add } from "../../../../tree/nodes/operators/addNode.js";
|
|
20
20
|
import { multiply } from "../../../../tree/nodes/operators/multiplyNode.js";
|
|
21
21
|
import { power } from "../../../../tree/nodes/operators/powerNode.js";
|
|
22
|
+
import { defaultArrayedOptsWhereNeeded } from "../../../../exercises/utils/options/arrayedOptions.js";
|
|
22
23
|
const tryToSimplify = (node, simplifyOptions) => {
|
|
23
24
|
try {
|
|
24
25
|
return node.simplify(simplifyOptions);
|
|
@@ -415,9 +416,9 @@ const isIdentifiersQCPassed = (identifiers) => {
|
|
|
415
416
|
return isSolutionPrettyAndNotExploding(identifiers) && isVEAOk(identifiers);
|
|
416
417
|
};
|
|
417
418
|
const getFindExtremaFromFunctionExpressionQuestion = (optsIn) => {
|
|
418
|
-
const
|
|
419
|
-
const typeF = random(
|
|
420
|
-
const typeRoots = random(
|
|
419
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
420
|
+
const typeF = random(arrayedOpts.typeF);
|
|
421
|
+
const typeRoots = random(arrayedOpts.typeRoots);
|
|
421
422
|
let identifiers;
|
|
422
423
|
let isValid = false;
|
|
423
424
|
let counter = -1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plausibleDerivativeGraphFromFunctionGraphByManipulatingPolynomial.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/variations/plausibleDerivativeGraphFromFunctionGraphByManipulatingPolynomial.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"plausibleDerivativeGraphFromFunctionGraphByManipulatingPolynomial.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/variations/plausibleDerivativeGraphFromFunctionGraphByManipulatingPolynomial.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAGL,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAQtC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AA6J7C,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAqbF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoCF,eAAO,MAAM,iEAAiE,EAAE,QAAQ,CACtF,WAAW,EACX,OAAO,CAuBR,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { 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 { blueMain, greenMain } from "../../../../geogebra/colors.js";
|
|
4
5
|
import { GeogebraConstructor } from "../../../../geogebra/geogebraConstructor.js";
|
|
5
6
|
import { ggbPointToCoords } from "../../../../geogebra/parsers/ggbPointToCoords.js";
|
|
@@ -313,8 +314,8 @@ const isGGBAnswerValid = (ggbAns, { ggbAnswer: _ggbAnswer, ...identifiers }) =>
|
|
|
313
314
|
}
|
|
314
315
|
};
|
|
315
316
|
const getPlausibleDerivativeGraphFromFunctionGraphByManipulatingPolynomialQuestion = (optsIn) => {
|
|
316
|
-
const
|
|
317
|
-
const typeF = random(
|
|
317
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
318
|
+
const typeF = random(arrayedOpts.typeF);
|
|
318
319
|
const [arrX, nodeF] = (() => {
|
|
319
320
|
let arrX;
|
|
320
321
|
let nodeF;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plausibleFunctionGraphFromDerivativeGraphByManipulatingPolynomial.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/variations/plausibleFunctionGraphFromDerivativeGraphByManipulatingPolynomial.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"plausibleFunctionGraphFromDerivativeGraphByManipulatingPolynomial.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/variations/plausibleFunctionGraphFromDerivativeGraphByManipulatingPolynomial.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAGL,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAYtC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAkK7C,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAkkBF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAkCF,eAAO,MAAM,iEAAiE,EAAE,QAAQ,CACtF,WAAW,EACX,OAAO,CAuBR,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { 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 { blueMain, greenMain, orange } from "../../../../geogebra/colors.js";
|
|
4
5
|
import { GeogebraConstructor } from "../../../../geogebra/geogebraConstructor.js";
|
|
5
6
|
import { ggbPointsToPoints } from "../../../../geogebra/parsers/ggbPointsToPoints.js";
|
|
@@ -417,8 +418,8 @@ const isGGBAnswerValid = (ggbAns, { ggbAnswer: _ggbAnswer, ...identifiers }) =>
|
|
|
417
418
|
}
|
|
418
419
|
};
|
|
419
420
|
const getPlausibleFunctionGraphFromDerivativeGraphByManipulatingPolynomialQuestion = (optsIn) => {
|
|
420
|
-
const
|
|
421
|
-
const typeF = random(
|
|
421
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
422
|
+
const typeF = random(arrayedOpts.typeF);
|
|
422
423
|
const [arrX, nodeF] = (() => {
|
|
423
424
|
let arrX;
|
|
424
425
|
let nodeF;
|
package/lib/exercises/math/derivation/variations/signVarTableFromFunctionExpression.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signVarTableFromFunctionExpression.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/variations/signVarTableFromFunctionExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"signVarTableFromFunctionExpression.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/variations/signVarTableFromFunctionExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAarC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAgM7C,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAkXF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAyCF,eAAO,MAAM,kCAAkC,EAAE,QAAQ,CACvD,WAAW,EACX,OAAO,CAuBR,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { 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 { varSignTableVEA } from "../../../../exercises/vea/varSignTableVEA.js";
|
|
4
5
|
import { dividersOf } from "../../../../math/utils/arithmetic/dividersOf.js";
|
|
5
6
|
import { nodeBySubstitutingVar } from "../../../../math/utils/functions/functionComposition.js";
|
|
@@ -374,9 +375,9 @@ const createRandomIdentifiers = (typeF, typeRoots) => {
|
|
|
374
375
|
return identifiers;
|
|
375
376
|
};
|
|
376
377
|
const getSignVarTableFromFunctionExpressionQuestion = (optsIn) => {
|
|
377
|
-
const
|
|
378
|
-
const typeF = random(
|
|
379
|
-
const typeRoots = random(
|
|
378
|
+
const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
|
|
379
|
+
const typeF = random(arrayedOpts.typeF);
|
|
380
|
+
const typeRoots = random(arrayedOpts.typeRoots);
|
|
380
381
|
let identifiers;
|
|
381
382
|
let isValid = false;
|
|
382
383
|
let counter = -1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordsOfPointOnAffineFindX.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/affines/coordsOfPointOnAffineFindX.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"coordsOfPointOnAffineFindX.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/affines/coordsOfPointOnAffineFindX.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA+IF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAc5D,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
|
|
1
|
+
import { addValidProp, propWhile, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
|
|
2
2
|
import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
|
|
3
|
+
import { Point, PointConstructor } from "../../../../math/geometry/point.js";
|
|
3
4
|
import { Affine, AffineConstructor } from "../../../../math/polynomials/affine.js";
|
|
4
5
|
import { Polynomial } from "../../../../math/polynomials/polynomial.js";
|
|
5
6
|
import { randint } from "../../../../math/utils/random/randint.js";
|
|
@@ -64,11 +65,12 @@ const getPropositions = (n, { answer, coeffs, yValue }) => {
|
|
|
64
65
|
const propositions = [];
|
|
65
66
|
addValidProp(propositions, answer);
|
|
66
67
|
const poly = AffineConstructor.fromCoeffs(coeffs);
|
|
67
|
-
tryToAddWrongProp(propositions,
|
|
68
|
-
tryToAddWrongProp(propositions,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
tryToAddWrongProp(propositions, new Point("A", yValue.toTree(), poly.calculate(yValue).toTree()).toCoords());
|
|
69
|
+
tryToAddWrongProp(propositions, new Point("B", yValue.toTree(), AffineConstructor.fromCoeffs([p, -m]).calculate(yValue).toTree()).toCoords());
|
|
70
|
+
tryToAddWrongProp(propositions, new Point("C", frac(add(yValue, p), m).simplify(), yValue.toTree()).toCoords());
|
|
71
|
+
propWhile(propositions, n, () => {
|
|
72
|
+
tryToAddWrongProp(propositions, PointConstructor.random("A").toCoords());
|
|
73
|
+
});
|
|
72
74
|
return shuffleProps(propositions, n);
|
|
73
75
|
};
|
|
74
76
|
const isAnswerValid = (ans, { answer }) => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimateExponentialFunctionImageFromGeometricScatterplot.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/exponentials/estimateExponentialFunctionImageFromGeometricScatterplot.ts"],"names":[],"mappings":""}
|