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.
Files changed (71) hide show
  1. package/lib/exercises/math/calcul/decimals/decimalFractionToDecimal.d.ts.map +1 -1
  2. package/lib/exercises/math/calcul/decimals/decimalFractionToDecimal.js +5 -4
  3. package/lib/exercises/math/calculLitteral/equation/factorizeEquation.d.ts.map +1 -1
  4. package/lib/exercises/math/calculLitteral/equation/factorizeEquation.js +9 -8
  5. package/lib/exercises/math/calculLitteral/equation/isEqualityTrue.d.ts.map +1 -1
  6. package/lib/exercises/math/calculLitteral/equation/isEqualityTrue.js +7 -6
  7. package/lib/exercises/math/dataRepresentations/barChartInterpreting.d.ts.map +1 -1
  8. package/lib/exercises/math/dataRepresentations/barChartInterpreting.js +5 -4
  9. package/lib/exercises/math/derivation/derivative/derivativeEquationSolving1.d.ts.map +1 -1
  10. package/lib/exercises/math/derivation/derivative/derivativeEquationSolving1.js +3 -2
  11. package/lib/exercises/math/derivation/derivative/derivativeEquationSolving3.d.ts.map +1 -1
  12. package/lib/exercises/math/derivation/derivative/derivativeEquationSolving3.js +3 -2
  13. package/lib/exercises/math/derivation/derivative/valueDerivativeFromFunctionExpression.d.ts.map +1 -1
  14. package/lib/exercises/math/derivation/derivative/valueDerivativeFromFunctionExpression.js +3 -2
  15. package/lib/exercises/math/derivation/problems/problemMaximizeProfitFindProduction.d.ts.map +1 -1
  16. package/lib/exercises/math/derivation/problems/problemMaximizeProfitFindProduction.js +3 -2
  17. package/lib/exercises/math/derivation/problems/problemMovementOnLineFindSpeedAtPoint.d.ts.map +1 -1
  18. package/lib/exercises/math/derivation/problems/problemMovementOnLineFindSpeedAtPoint.js +3 -2
  19. package/lib/exercises/math/derivation/tangent/tangentEquationFromFunctionExpression.d.ts.map +1 -1
  20. package/lib/exercises/math/derivation/tangent/tangentEquationFromFunctionExpression.js +3 -2
  21. package/lib/exercises/math/derivation/variations/findAbscissaOfExtremaFromFunctionExpression.d.ts.map +1 -1
  22. package/lib/exercises/math/derivation/variations/findAbscissaOfExtremaFromFunctionExpression.js +4 -3
  23. package/lib/exercises/math/derivation/variations/findExtremaFromFunctionExpression.d.ts.map +1 -1
  24. package/lib/exercises/math/derivation/variations/findExtremaFromFunctionExpression.js +4 -3
  25. package/lib/exercises/math/derivation/variations/plausibleDerivativeGraphFromFunctionGraphByManipulatingPolynomial.d.ts.map +1 -1
  26. package/lib/exercises/math/derivation/variations/plausibleDerivativeGraphFromFunctionGraphByManipulatingPolynomial.js +3 -2
  27. package/lib/exercises/math/derivation/variations/plausibleFunctionGraphFromDerivativeGraphByManipulatingPolynomial.d.ts.map +1 -1
  28. package/lib/exercises/math/derivation/variations/plausibleFunctionGraphFromDerivativeGraphByManipulatingPolynomial.js +3 -2
  29. package/lib/exercises/math/derivation/variations/signVarTableFromFunctionExpression.d.ts.map +1 -1
  30. package/lib/exercises/math/derivation/variations/signVarTableFromFunctionExpression.js +4 -3
  31. package/lib/exercises/math/functions/affines/coordsOfPointOnAffineFindX.d.ts.map +1 -1
  32. package/lib/exercises/math/functions/affines/coordsOfPointOnAffineFindX.js +8 -6
  33. package/lib/exercises/math/functions/exponentials/estimateExponentialFunctionImageFromGeometricScatterplot.d.ts +2 -0
  34. package/lib/exercises/math/functions/exponentials/estimateExponentialFunctionImageFromGeometricScatterplot.d.ts.map +1 -0
  35. package/lib/exercises/math/functions/exponentials/estimateExponentialFunctionImageFromGeometricScatterplot.js +155 -0
  36. package/lib/exercises/math/functions/exponentials/exponentialsRawVariations.d.ts +8 -0
  37. package/lib/exercises/math/functions/exponentials/exponentialsRawVariations.d.ts.map +1 -0
  38. package/lib/exercises/math/functions/exponentials/exponentialsRawVariations.js +99 -0
  39. package/lib/exercises/math/functions/exponentials/index.d.ts +3 -0
  40. package/lib/exercises/math/functions/exponentials/index.d.ts.map +1 -1
  41. package/lib/exercises/math/functions/exponentials/index.js +4 -0
  42. package/lib/exercises/math/functions/exponentials/plausibleExponentialFunctionExpressionFromGraph.d.ts +12 -0
  43. package/lib/exercises/math/functions/exponentials/plausibleExponentialFunctionExpressionFromGraph.d.ts.map +1 -0
  44. package/lib/exercises/math/functions/exponentials/plausibleExponentialFunctionExpressionFromGraph.js +138 -0
  45. package/lib/exercises/math/functions/exponentials/readExponentialFunctionParamsOnGraph.d.ts +8 -0
  46. package/lib/exercises/math/functions/exponentials/readExponentialFunctionParamsOnGraph.d.ts.map +1 -0
  47. package/lib/exercises/math/functions/exponentials/readExponentialFunctionParamsOnGraph.js +142 -0
  48. package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLineV2.d.ts.map +1 -1
  49. package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLineV2.js +7 -6
  50. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.d.ts.map +1 -1
  51. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.js +3 -2
  52. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.d.ts.map +1 -1
  53. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.js +7 -6
  54. package/lib/exercises/math/percent/percentToDecimal.d.ts.map +1 -1
  55. package/lib/exercises/math/percent/percentToDecimal.js +5 -4
  56. package/lib/exercises/math/probaStat/basicStats/calculateFrequencyInList.d.ts.map +1 -1
  57. package/lib/exercises/math/probaStat/basicStats/calculateFrequencyInList.js +5 -4
  58. package/lib/exercises/math/probaStat/probaFromTableWithContext.d.ts.map +1 -1
  59. package/lib/exercises/math/probaStat/probaFromTableWithContext.js +7 -8
  60. package/lib/exercises/math/probaStat/stats1var/medianWithList.d.ts.map +1 -1
  61. package/lib/exercises/math/probaStat/stats1var/medianWithList.js +5 -4
  62. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.d.ts.map +1 -1
  63. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.js +9 -9
  64. package/lib/exercises/utils/options/arrayedOptions.d.ts +2 -0
  65. package/lib/exercises/utils/options/arrayedOptions.d.ts.map +1 -0
  66. package/lib/exercises/utils/options/arrayedOptions.js +16 -0
  67. package/lib/index.d.ts +12 -0
  68. package/lib/index.d.ts.map +1 -1
  69. package/lib/math/utils/sequences/situations/seqArithmeticSituations.d.ts.map +1 -1
  70. package/lib/math/utils/sequences/situations/seqArithmeticSituations.js +20 -20
  71. 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;AAoBrC,KAAK,WAAW,GAAG;IACjB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAgQF,KAAK,OAAO,GAAG;IACb,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AA4BF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAgBnE,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 arrayedOptions = optsIn ?? optsDefault;
171
+ const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
171
172
  const opts = {
172
- conversionType: random(arrayedOptions.conversionType),
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 optsDefault = {
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: optsDefault.conversionType,
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;AAyCrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,OAAO,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAqRF,KAAK,OAAO,GAAG;IACb,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAsBF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAyB5D,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 ?? optsDefault;
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 ?? optsDefault;
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 ?? optsDefault;
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 ?? optsDefault;
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 ?? optsDefault;
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 ?? optsDefault;
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 optsDefault = {
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: optsDefault.answerInputTypes,
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;AAOrC,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;AAkUF,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
+ {"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 arrayedOptions = optsIn ?? optsDefault;
106
+ const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
106
107
  const opts = {
107
- typeCoeff: random(arrayedOptions.typeCoeff),
108
- typeTestValue: random(arrayedOptions.typeTestValue),
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 optsDefault = {
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: optsDefault.typeCoeff,
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: optsDefault.typeTestValue,
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;AAWrC,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;AA6tBF,KAAK,OAAO,GAAG;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAsBF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAe/D,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 arrayedOptions = optsIn ?? optsDefault;
431
+ const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
431
432
  const opts = {
432
- displayType: random(arrayedOptions.displayType),
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 optsDefault = {
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: optsDefault.displayType,
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;AAYrC,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;AA6SF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoCF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAerE,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 arrayedOptions = optsIn ?? arrayedOptsDefault;
227
- const typeF = random(arrayedOptions.typeF);
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;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;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AA6TF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoCF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAerE,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 arrayedOptions = optsIn ?? arrayedOptsDefault;
240
- const typeF = random(arrayedOptions.typeF);
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
  };
@@ -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;AASrC,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;AAqQF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAgDF,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,WAAW,EACX,OAAO,CAoBR,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 arrayedOptions = optsIn ?? arrayedOptsDefault;
264
- const typeF = random(arrayedOptions.typeF);
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;AAOrC,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;AAqaF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAsBF,eAAO,MAAM,mCAAmC,EAAE,QAAQ,CACxD,WAAW,EACX,OAAO,CAoBR,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 arrayedOptions = optsIn ?? arrayedOptsDefault;
298
- const typeF = random(arrayedOptions.typeF);
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;
@@ -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;AASrC,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;AA0RF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoCF,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,WAAW,EACX,OAAO,CAqBR,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 arrayedOptions = optsIn ?? arrayedOptsDefault;
251
- const typeF = random(arrayedOptions.typeF);
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;
@@ -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;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;AAqXF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAgDF,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,WAAW,EACX,OAAO,CAqBR,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 arrayedOptions = optsIn ?? arrayedOptsDefault;
309
- const typeF = random(arrayedOptions.typeF);
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;AA4R7C,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AA2LF,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"}
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"}
@@ -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 arrayedOptions = optsIn ?? arrayedOptsDefault;
357
- const typeF = random(arrayedOptions.typeF);
358
- const typeRoots = random(arrayedOptions.typeRoots);
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;AAkS7C,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;AAoCF,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAqB1E,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 arrayedOptions = optsIn ?? arrayedOptsDefault;
419
- const typeF = random(arrayedOptions.typeF);
420
- const typeRoots = random(arrayedOptions.typeRoots);
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;AAMrC,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;AAubF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoCF,eAAO,MAAM,iEAAiE,EAAE,QAAQ,CACtF,WAAW,EACX,OAAO,CAuBR,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 arrayedOptions = optsIn ?? arrayedOptsDefault;
317
- const typeF = random(arrayedOptions.typeF);
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;AAKrC,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;AAokBF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAkCF,eAAO,MAAM,iEAAiE,EAAE,QAAQ,CACtF,WAAW,EACX,OAAO,CAuBR,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 arrayedOptions = optsIn ?? arrayedOptsDefault;
421
- const typeF = random(arrayedOptions.typeF);
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;
@@ -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;AAYrC,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;AAmXF,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
+ {"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 arrayedOptions = optsIn ?? arrayedOptsDefault;
378
- const typeF = random(arrayedOptions.typeF);
379
- const typeRoots = random(arrayedOptions.typeRoots);
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,EAcT,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAqIF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAc5D,CAAC"}
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, `(${yValue.frenchify()}, ${poly.calculate(yValue).frenchify()})`);
68
- tryToAddWrongProp(propositions, `(${yValue}, ${AffineConstructor.fromCoeffs([p, -m])
69
- .calculate(yValue)
70
- .frenchify()})`);
71
- tryToAddWrongProp(propositions, `(${frac(add(yValue, p), m).simplify().toTex()}, ${yValue.frenchify()})`);
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=estimateExponentialFunctionImageFromGeometricScatterplot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimateExponentialFunctionImageFromGeometricScatterplot.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/exponentials/estimateExponentialFunctionImageFromGeometricScatterplot.ts"],"names":[],"mappings":""}