math-exercises 3.0.191 → 3.0.193
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/dataRepresentations/barChart/barChartInterpreting.d.ts +53 -0
- package/lib/exercises/math/dataRepresentations/barChart/barChartInterpreting.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/barChart/barChartInterpreting.js +543 -0
- package/lib/exercises/math/dataRepresentations/barChart/barChartReading.d.ts +94 -0
- package/lib/exercises/math/dataRepresentations/barChart/barChartReading.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/barChart/barChartReading.js +280 -0
- package/lib/exercises/math/dataRepresentations/barChart/index.d.ts +3 -0
- package/lib/exercises/math/dataRepresentations/barChart/index.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/barChart/index.js +2 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/boxPlotInterpreting.d.ts +7 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/boxPlotInterpreting.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/boxPlotInterpreting.js +223 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/boxPlotReading.d.ts +9 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/boxPlotReading.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/boxPlotReading.js +133 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/boxPlotReadingPercentages.d.ts +11 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/boxPlotReadingPercentages.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/boxPlotReadingPercentages.js +198 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/compareBoxPlot.d.ts +13 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/compareBoxPlot.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/compareBoxPlot.js +192 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/index.d.ts +5 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/index.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/boxPlot/index.js +4 -0
- package/lib/exercises/math/dataRepresentations/dataToGraphGraphToData.d.ts.map +1 -1
- package/lib/exercises/math/dataRepresentations/dataToGraphGraphToData.js +1 -1
- package/lib/exercises/math/dataRepresentations/index.d.ts +4 -7
- package/lib/exercises/math/dataRepresentations/index.d.ts.map +1 -1
- package/lib/exercises/math/dataRepresentations/index.js +4 -11
- package/lib/exercises/math/dataRepresentations/tables/buildDoubleTableFromContext.d.ts +7 -0
- package/lib/exercises/math/dataRepresentations/tables/buildDoubleTableFromContext.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/tables/buildDoubleTableFromContext.js +222 -0
- package/lib/exercises/math/dataRepresentations/tables/fillDoubleTable.d.ts +7 -0
- package/lib/exercises/math/dataRepresentations/tables/fillDoubleTable.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/tables/fillDoubleTable.js +187 -0
- package/lib/exercises/math/dataRepresentations/tables/index.d.ts +4 -0
- package/lib/exercises/math/dataRepresentations/tables/index.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/tables/index.js +3 -0
- package/lib/exercises/math/dataRepresentations/tables/tableReading.d.ts +8 -0
- package/lib/exercises/math/dataRepresentations/tables/tableReading.d.ts.map +1 -0
- package/lib/exercises/math/dataRepresentations/tables/tableReading.js +109 -0
- package/lib/exercises/math/derivation/applications/findYearForDecreasingPopulation.d.ts +8 -0
- package/lib/exercises/math/derivation/applications/findYearForDecreasingPopulation.d.ts.map +1 -0
- package/lib/exercises/math/derivation/applications/findYearForDecreasingPopulation.js +145 -0
- package/lib/exercises/math/derivation/applications/index.d.ts +1 -0
- package/lib/exercises/math/derivation/applications/index.d.ts.map +1 -1
- package/lib/exercises/math/derivation/applications/index.js +1 -0
- package/lib/exercises/math/functions/exponentials/computeImageByExponentialFunctionInSituation.d.ts +10 -0
- package/lib/exercises/math/functions/exponentials/computeImageByExponentialFunctionInSituation.d.ts.map +1 -0
- package/lib/exercises/math/functions/exponentials/computeImageByExponentialFunctionInSituation.js +96 -0
- package/lib/exercises/math/functions/exponentials/computeImageByExponentialFunctionWithUnitChange.d.ts +11 -0
- package/lib/exercises/math/functions/exponentials/computeImageByExponentialFunctionWithUnitChange.d.ts.map +1 -0
- package/lib/exercises/math/functions/exponentials/computeImageByExponentialFunctionWithUnitChange.js +116 -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 +3 -0
- package/lib/exercises/math/functions/exponentials/modelizeSituationByExponentialFunction.d.ts +9 -0
- package/lib/exercises/math/functions/exponentials/modelizeSituationByExponentialFunction.d.ts.map +1 -0
- package/lib/exercises/math/functions/exponentials/modelizeSituationByExponentialFunction.js +105 -0
- package/lib/exercises/math/functions/exponentials/plausibleExponentialFunctionExpressionFromGraph.js +2 -2
- package/lib/exercises/math/probaStat/conditional/fillTableConditionalProbabilitySituation.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/conditional/fillTableConditionalProbabilitySituation.js +7 -2
- package/lib/exercises/math/probaStat/stats1var/marginalAndConditionalFrequency.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/stats1var/marginalAndConditionalFrequency.js +131 -61
- package/lib/exercises/math/probaStat/stats2var/buildDataTableFromScatterplot.d.ts +8 -0
- package/lib/exercises/math/probaStat/stats2var/buildDataTableFromScatterplot.d.ts.map +1 -0
- package/lib/exercises/math/probaStat/stats2var/buildDataTableFromScatterplot.js +114 -0
- package/lib/exercises/math/probaStat/stats2var/buildScatterPlotFromDataTable.d.ts +8 -0
- package/lib/exercises/math/probaStat/stats2var/buildScatterPlotFromDataTable.d.ts.map +1 -0
- package/lib/exercises/math/probaStat/stats2var/buildScatterPlotFromDataTable.js +110 -0
- package/lib/exercises/math/probaStat/stats2var/index.d.ts +2 -0
- package/lib/exercises/math/probaStat/stats2var/index.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/stats2var/index.js +2 -0
- package/lib/exercises/math/sequences/geometric/graph/compareGeometricReasonWithOneFromGraph.d.ts +8 -0
- package/lib/exercises/math/sequences/geometric/graph/compareGeometricReasonWithOneFromGraph.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/graph/compareGeometricReasonWithOneFromGraph.js +87 -0
- package/lib/exercises/math/sequences/geometric/graph/index.d.ts +4 -1
- package/lib/exercises/math/sequences/geometric/graph/index.d.ts.map +1 -1
- package/lib/exercises/math/sequences/geometric/graph/index.js +4 -1
- package/lib/exercises/math/sequences/geometric/graph/plausibleGeometricSequenceExpressionFromGraph.d.ts +12 -0
- package/lib/exercises/math/sequences/geometric/graph/plausibleGeometricSequenceExpressionFromGraph.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/graph/plausibleGeometricSequenceExpressionFromGraph.js +133 -0
- package/lib/exercises/math/sequences/geometric/graph/readGeometricExpressionFromGraph.d.ts +8 -0
- package/lib/exercises/math/sequences/geometric/graph/readGeometricExpressionFromGraph.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/graph/readGeometricExpressionFromGraph.js +132 -0
- package/lib/exercises/math/sequences/geometric/graph/recognizeGeometricFromGraph.d.ts +11 -0
- package/lib/exercises/math/sequences/geometric/graph/recognizeGeometricFromGraph.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/graph/recognizeGeometricFromGraph.js +137 -0
- package/lib/exercises/math/sequences/geometric/index.d.ts +1 -0
- package/lib/exercises/math/sequences/geometric/index.d.ts.map +1 -1
- package/lib/exercises/math/sequences/geometric/index.js +1 -0
- package/lib/index.d.ts +71 -25
- package/lib/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/sequences/geometric/graph/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/sequences/geometric/graph/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,oDAAoD,CAAC;AACnE,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC"}
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
export * from "./
|
|
1
|
+
export * from "./recognizeGeometricFromGraph.js";
|
|
2
|
+
export * from "./plausibleGeometricSequenceExpressionFromGraph.js";
|
|
3
|
+
export * from "./readGeometricExpressionFromGraph.js";
|
|
4
|
+
export * from "./compareGeometricReasonWithOneFromGraph.js";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Exercise } from "../../../../../exercises/exercise.js";
|
|
2
|
+
type Identifiers = {
|
|
3
|
+
q: number;
|
|
4
|
+
start: number;
|
|
5
|
+
fakeParams: {
|
|
6
|
+
start: number;
|
|
7
|
+
q: number;
|
|
8
|
+
}[];
|
|
9
|
+
};
|
|
10
|
+
export declare const plausibleGeometricSequenceExpressionFromGraph: Exercise<Identifiers>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=plausibleGeometricSequenceExpressionFromGraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plausibleGeometricSequenceExpressionFromGraph.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/sequences/geometric/graph/plausibleGeometricSequenceExpressionFromGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5C,CAAC;AAyIF,eAAO,MAAM,6CAA6C,EAAE,QAAQ,CAAC,WAAW,CAwB7E,CAAC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../../exercises/exercise.js";
|
|
2
|
+
import { getDistinctQuestions } from "../../../../../exercises/utils/getDistinctQuestions.js";
|
|
3
|
+
import { GeogebraConstructor } from "../../../../../geogebra/geogebraConstructor.js";
|
|
4
|
+
import { randfloat } from "../../../../../math/utils/random/randfloat.js";
|
|
5
|
+
import { round } from "../../../../../math/utils/round.js";
|
|
6
|
+
import { multiply } from "../../../../../tree/nodes/operators/multiplyNode.js";
|
|
7
|
+
import { power } from "../../../../../tree/nodes/operators/powerNode.js";
|
|
8
|
+
import { coinFlip } from "../../../../../utils/alea/coinFlip.js";
|
|
9
|
+
const getPropositions = (n, { answer, fakeParams }) => {
|
|
10
|
+
const propositions = [];
|
|
11
|
+
addValidProp(propositions, answer);
|
|
12
|
+
for (let i = 0; i < fakeParams.length; i++) {
|
|
13
|
+
tryToAddWrongProp(propositions, multiply(fakeParams[i].start, power(fakeParams[i].q, "n")).toTex());
|
|
14
|
+
}
|
|
15
|
+
return shuffleProps(propositions, n);
|
|
16
|
+
};
|
|
17
|
+
const getAnswer = (identifiers) => {
|
|
18
|
+
const { start, q } = identifiers;
|
|
19
|
+
return multiply(start, power(q, "n")).toTex();
|
|
20
|
+
};
|
|
21
|
+
const getInstruction = () => {
|
|
22
|
+
return `On donne ci-dessous les premiers points d'un nuage de points représentant une suite géométrique $u$..
|
|
23
|
+
|
|
24
|
+
Parmi les formes explicites suivantes, laquelle peut être celle de $u$ ?`;
|
|
25
|
+
};
|
|
26
|
+
const getHint = () => {
|
|
27
|
+
return `Le sens de variation de la suite peut t'aider. Si on note $q$ sa raison, alors :
|
|
28
|
+
|
|
29
|
+
- si $q>1$, la suite est strictement croissante;
|
|
30
|
+
- si $0<q<1$, la suite est strictement décroissante.
|
|
31
|
+
|
|
32
|
+
D'autre part, tu peux lire la valeur du premier terme de la suite.`;
|
|
33
|
+
};
|
|
34
|
+
const getCorrection = (identifiers) => {
|
|
35
|
+
const { q, start } = identifiers;
|
|
36
|
+
const sens = q < 1 ? "décroissante" : "croissante";
|
|
37
|
+
return `On sait que la forme explicite de la suite $u$ est de la forme :
|
|
38
|
+
|
|
39
|
+
$$
|
|
40
|
+
u_n = u_0\\times q^n
|
|
41
|
+
$$
|
|
42
|
+
|
|
43
|
+
D'après le graphique, la suite $u$ est ${sens}. On en déduit donc que $q ${q < 1 ? "<1" : ">1"}$. Cela permet donc d'exclure deux des propositions.
|
|
44
|
+
|
|
45
|
+
Ensuite, on lit le premier terme de la suite : on trouve $u_0 \\approx ${round(start, 1).frenchify()}$.
|
|
46
|
+
|
|
47
|
+
On en conclut donc que la seule forme explicite possible pour $u$ est :
|
|
48
|
+
|
|
49
|
+
$$
|
|
50
|
+
u_n = ${getAnswer(identifiers)}
|
|
51
|
+
$$`;
|
|
52
|
+
};
|
|
53
|
+
const getGGBOptions = (identifiers) => {
|
|
54
|
+
const { q, start } = identifiers;
|
|
55
|
+
const ggb = new GeogebraConstructor({
|
|
56
|
+
commands: [`Sequence((n, ${start}*${q}^n), n, 0, 50)`],
|
|
57
|
+
lockedAxesRatio: false,
|
|
58
|
+
});
|
|
59
|
+
const f2 = multiply(start, power(q, 2)).evaluate();
|
|
60
|
+
return ggb.getOptions({
|
|
61
|
+
coords: [-1, 5, -1, Math.max(start, f2) + 1],
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
const getPlausibleExponentialFunctionExpressionFromGraphQuestion = () => {
|
|
65
|
+
const start = randfloat(0.5, 4, 2);
|
|
66
|
+
const q = coinFlip() ? randfloat(0.1, 1, 2, [1]) : randfloat(1.1, 5, 2);
|
|
67
|
+
let fakeParams = [];
|
|
68
|
+
if (q > 1) {
|
|
69
|
+
const firstDescQ = randfloat(0.1, 1, 2, [1]);
|
|
70
|
+
const secondDescQ = randfloat(0.1, 1, 2, [firstDescQ]);
|
|
71
|
+
const thirdQ = randfloat(1.1, 5, 2, [q]);
|
|
72
|
+
const firstStart = start;
|
|
73
|
+
const secondStart = randfloat(0.1, 4, 2);
|
|
74
|
+
const delta = randfloat(1, 3, 2);
|
|
75
|
+
const thirdStart = round(start - delta > 0 ? start - delta : start + delta, 2);
|
|
76
|
+
fakeParams = [
|
|
77
|
+
{ q: firstDescQ, start: firstStart },
|
|
78
|
+
{ q: secondDescQ, start: secondStart },
|
|
79
|
+
{ q: thirdQ, start: thirdStart },
|
|
80
|
+
];
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
const firstAscQ = randfloat(1.1, 5, 2);
|
|
84
|
+
const secondAscQ = randfloat(1.1, 5, 2, [firstAscQ]);
|
|
85
|
+
const thirdQ = randfloat(0.1, 1, 2, [1, q]);
|
|
86
|
+
const firstStart = start;
|
|
87
|
+
const secondStart = randfloat(0.1, 4, 2);
|
|
88
|
+
const delta = randfloat(1, 3, 2);
|
|
89
|
+
const thirdStart = round(start - delta > 0 ? start - delta : start + delta, 2);
|
|
90
|
+
fakeParams = [
|
|
91
|
+
{ q: firstAscQ, start: firstStart },
|
|
92
|
+
{ q: secondAscQ, start: secondStart },
|
|
93
|
+
{ q: thirdQ, start: thirdStart },
|
|
94
|
+
];
|
|
95
|
+
}
|
|
96
|
+
const identifiers = {
|
|
97
|
+
start,
|
|
98
|
+
q,
|
|
99
|
+
fakeParams,
|
|
100
|
+
};
|
|
101
|
+
return getQuestionFromIdentifiers(identifiers);
|
|
102
|
+
};
|
|
103
|
+
const getQuestionFromIdentifiers = (identifiers) => {
|
|
104
|
+
return {
|
|
105
|
+
answer: getAnswer(identifiers),
|
|
106
|
+
instruction: getInstruction(identifiers),
|
|
107
|
+
keys: [],
|
|
108
|
+
answerFormat: "tex",
|
|
109
|
+
identifiers,
|
|
110
|
+
hint: getHint(identifiers),
|
|
111
|
+
correction: getCorrection(identifiers),
|
|
112
|
+
ggbOptions: getGGBOptions(identifiers),
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
export const plausibleGeometricSequenceExpressionFromGraph = {
|
|
116
|
+
id: "plausibleGeometricSequenceExpressionFromGraph",
|
|
117
|
+
label: "Donner la forme explicite possible d'une suite géométrique à partir de son nuage de points",
|
|
118
|
+
isSingleStep: true,
|
|
119
|
+
generator: (nb, opts) => getDistinctQuestions(() => getPlausibleExponentialFunctionExpressionFromGraphQuestion(opts), nb),
|
|
120
|
+
qcmTimer: 60,
|
|
121
|
+
freeTimer: 60,
|
|
122
|
+
getPropositions,
|
|
123
|
+
answerType: "QCU",
|
|
124
|
+
subject: "Mathématiques",
|
|
125
|
+
getHint,
|
|
126
|
+
getCorrection,
|
|
127
|
+
getInstruction,
|
|
128
|
+
getAnswer,
|
|
129
|
+
getGGBOptions,
|
|
130
|
+
hasGeogebra: true,
|
|
131
|
+
getQuestionFromIdentifiers,
|
|
132
|
+
hasHintAndCorrection: true,
|
|
133
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Exercise } from "../../../../../exercises/exercise.js";
|
|
2
|
+
type Identifiers = {
|
|
3
|
+
start: number;
|
|
4
|
+
q: number;
|
|
5
|
+
};
|
|
6
|
+
export declare const readGeometricExpressionFromGraph: Exercise<Identifiers>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=readGeometricExpressionFromGraph.d.ts.map
|
package/lib/exercises/math/sequences/geometric/graph/readGeometricExpressionFromGraph.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readGeometricExpressionFromGraph.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/sequences/geometric/graph/readGeometricExpressionFromGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAqHF,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,WAAW,CA0BlE,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { addValidProp, shuffleProps, tryToAddWrongProp, propWhile, } from "../../../../../exercises/exercise.js";
|
|
2
|
+
import { getDistinctQuestions } from "../../../../../exercises/utils/getDistinctQuestions.js";
|
|
3
|
+
import { GeogebraConstructor } from "../../../../../geogebra/geogebraConstructor.js";
|
|
4
|
+
import { randint } from "../../../../../math/utils/random/randint.js";
|
|
5
|
+
import { round } from "../../../../../math/utils/round.js";
|
|
6
|
+
import { multiply } from "../../../../../tree/nodes/operators/multiplyNode.js";
|
|
7
|
+
import { power } from "../../../../../tree/nodes/operators/powerNode.js";
|
|
8
|
+
import { parseAlgebraic } from "../../../../../tree/parsers/latexParser.js";
|
|
9
|
+
import { random } from "../../../../../utils/alea/random.js";
|
|
10
|
+
import { handleVEAError } from "../../../../../utils/errors/handleVEAError.js";
|
|
11
|
+
const getPropositions = (n, { answer }) => {
|
|
12
|
+
const propositions = [];
|
|
13
|
+
addValidProp(propositions, answer);
|
|
14
|
+
propWhile(propositions, n, () => {
|
|
15
|
+
const fakeStart = randint(2, 10);
|
|
16
|
+
const fakeQ = random([0.2, 0.5, 2, 3, 4, 5]);
|
|
17
|
+
tryToAddWrongProp(propositions, multiply(fakeStart, power(fakeQ, "n")).toTex());
|
|
18
|
+
});
|
|
19
|
+
return shuffleProps(propositions, n);
|
|
20
|
+
};
|
|
21
|
+
const getAnswer = (identifiers) => {
|
|
22
|
+
const { q, start } = identifiers;
|
|
23
|
+
return multiply(start, power(q, "n")).simplify().toTex();
|
|
24
|
+
};
|
|
25
|
+
const getInstruction = () => {
|
|
26
|
+
return `On donne ci-dessous le nuage de points d'une suite géométrique $u$.
|
|
27
|
+
|
|
28
|
+
Déterminer la forme explicite de $u$.`;
|
|
29
|
+
};
|
|
30
|
+
const getHint = () => {
|
|
31
|
+
return `La forme explicite d'une suite géométrique $u$ de premier terme $u_0$ et de raison $q$ est :
|
|
32
|
+
|
|
33
|
+
$$
|
|
34
|
+
u_n = u_0\\times q^n
|
|
35
|
+
$$
|
|
36
|
+
|
|
37
|
+
Commence par lire le premier terme de la suite $u_0$.
|
|
38
|
+
|
|
39
|
+
Puis, détermine la raison de la suite en observant comment on passe d'un terme au suivant. `;
|
|
40
|
+
};
|
|
41
|
+
const getCorrection = (identifiers) => {
|
|
42
|
+
const { q, start } = identifiers;
|
|
43
|
+
return `On lit le premier terme de la suite :
|
|
44
|
+
|
|
45
|
+
$$
|
|
46
|
+
u_0 = ${start.frenchify()}
|
|
47
|
+
$$
|
|
48
|
+
|
|
49
|
+
Puis, on détermine la raison de la suite. Pour cela, on remarque que :
|
|
50
|
+
|
|
51
|
+
$$
|
|
52
|
+
u_1 = ${round(start * q, 2).frenchify()}
|
|
53
|
+
$$
|
|
54
|
+
|
|
55
|
+
Pour passer de $u_0$ à $u_1$, on a donc multiplié par $${q.frenchify()}$ : c'est la raison de la suite.
|
|
56
|
+
|
|
57
|
+
La forme explicite de $u$ est donc :
|
|
58
|
+
|
|
59
|
+
$$
|
|
60
|
+
u_n = ${getAnswer(identifiers)}
|
|
61
|
+
$$
|
|
62
|
+
`;
|
|
63
|
+
};
|
|
64
|
+
const getGGBOptions = (identifiers) => {
|
|
65
|
+
const { q, start } = identifiers;
|
|
66
|
+
const ggb = new GeogebraConstructor({
|
|
67
|
+
commands: [`Sequence((n, ${start}*${q}^n), n, 0, 50)`],
|
|
68
|
+
lockedAxesRatio: false,
|
|
69
|
+
});
|
|
70
|
+
return ggb.getOptions({
|
|
71
|
+
coords: [-1, 5, -1, 1.2 * Math.max(start, q * start, q * q * start)],
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
const getKeys = () => {
|
|
75
|
+
return ["n"];
|
|
76
|
+
};
|
|
77
|
+
const isAnswerValid = (ans, { answer }) => {
|
|
78
|
+
try {
|
|
79
|
+
const parsed = parseAlgebraic(ans);
|
|
80
|
+
if (!parsed)
|
|
81
|
+
return false;
|
|
82
|
+
return parsed.simplify().toTex() === answer;
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
return handleVEAError(err);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const getReadExponentialFunctionParamsOnGraphQuestion = () => {
|
|
89
|
+
const [start, q] = random([
|
|
90
|
+
[random([2, 4, 6, 8]), 0.5],
|
|
91
|
+
[random([0.2, 1, 2, 3, 4, 5]), 2],
|
|
92
|
+
[random([0.5, 2]), 3],
|
|
93
|
+
]);
|
|
94
|
+
const identifiers = {
|
|
95
|
+
start,
|
|
96
|
+
q,
|
|
97
|
+
};
|
|
98
|
+
return getQuestionFromIdentifiers(identifiers);
|
|
99
|
+
};
|
|
100
|
+
const getQuestionFromIdentifiers = (identifiers) => {
|
|
101
|
+
return {
|
|
102
|
+
answer: getAnswer(identifiers),
|
|
103
|
+
instruction: getInstruction(identifiers),
|
|
104
|
+
keys: getKeys(identifiers),
|
|
105
|
+
answerFormat: "tex",
|
|
106
|
+
identifiers,
|
|
107
|
+
hint: getHint(identifiers),
|
|
108
|
+
correction: getCorrection(identifiers),
|
|
109
|
+
ggbOptions: getGGBOptions(identifiers),
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
export const readGeometricExpressionFromGraph = {
|
|
113
|
+
id: "readGeometricExpressionFromGraph",
|
|
114
|
+
connector: "=",
|
|
115
|
+
label: "Déterminer la forme explicite d'une suite géométrique à partir de son nuage de points",
|
|
116
|
+
isSingleStep: true,
|
|
117
|
+
generator: (nb, opts) => getDistinctQuestions(() => getReadExponentialFunctionParamsOnGraphQuestion(opts), nb, 10),
|
|
118
|
+
qcmTimer: 60,
|
|
119
|
+
freeTimer: 60,
|
|
120
|
+
getPropositions,
|
|
121
|
+
isAnswerValid,
|
|
122
|
+
subject: "Mathématiques",
|
|
123
|
+
getHint,
|
|
124
|
+
getCorrection,
|
|
125
|
+
getInstruction,
|
|
126
|
+
getAnswer,
|
|
127
|
+
getGGBOptions,
|
|
128
|
+
hasGeogebra: true,
|
|
129
|
+
getQuestionFromIdentifiers,
|
|
130
|
+
hasHintAndCorrection: true,
|
|
131
|
+
maxAllowedQuestions: 10,
|
|
132
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Exercise } from "../../../../../exercises/exercise.js";
|
|
2
|
+
type Identifiers = {
|
|
3
|
+
isGeo: boolean;
|
|
4
|
+
sequence: number[];
|
|
5
|
+
};
|
|
6
|
+
type Options = {
|
|
7
|
+
firstTermRankOne?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const recognizeGeometricFromGraph: Exercise<Identifiers, Options>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=recognizeGeometricFromGraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recognizeGeometricFromGraph.d.ts","sourceRoot":"","sources":["../../../../../../src/exercises/math/sequences/geometric/graph/recognizeGeometricFromGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AA8IF,KAAK,OAAO,GAAG;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AASF,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAkBtE,CAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { GeneratorOptionTarget, GeneratorOptionType, addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../../exercises/exercise.js";
|
|
2
|
+
import { getDistinctQuestions } from "../../../../../exercises/utils/getDistinctQuestions.js";
|
|
3
|
+
import { GeogebraConstructor } from "../../../../../geogebra/geogebraConstructor.js";
|
|
4
|
+
import { Point } from "../../../../../math/geometry/point.js";
|
|
5
|
+
import { randint } from "../../../../../math/utils/random/randint.js";
|
|
6
|
+
import { round } from "../../../../../math/utils/round.js";
|
|
7
|
+
import { coinFlip } from "../../../../../utils/alea/coinFlip.js";
|
|
8
|
+
import { random } from "../../../../../utils/alea/random.js";
|
|
9
|
+
const getInstruction = () => {
|
|
10
|
+
return `La suite $u$ représentée ci-dessous semble-t-elle géométrique ?`;
|
|
11
|
+
};
|
|
12
|
+
const getAnswer = (identifiers) => {
|
|
13
|
+
const { isGeo } = identifiers;
|
|
14
|
+
return isGeo ? "Oui" : "Non";
|
|
15
|
+
};
|
|
16
|
+
const getGGBOptions = (identifiers, opts) => {
|
|
17
|
+
const { sequence } = identifiers;
|
|
18
|
+
const rankOne = opts?.firstTermRankOne ? 1 : 0;
|
|
19
|
+
const commands = sequence.flatMap((nb, index) => new Point(`A_{${index + rankOne}}`, (index + rankOne).toTree(), nb.toTree()).toGGBCommand({
|
|
20
|
+
showLabel: false,
|
|
21
|
+
}));
|
|
22
|
+
const ggb = new GeogebraConstructor({
|
|
23
|
+
commands,
|
|
24
|
+
lockedAxesRatio: false,
|
|
25
|
+
xAxis: { natural: true },
|
|
26
|
+
});
|
|
27
|
+
const yMin = Math.min(...sequence.slice(0, 5));
|
|
28
|
+
const yMax = Math.max(...sequence.slice(0, 5));
|
|
29
|
+
return ggb.getOptions({
|
|
30
|
+
coords: [-1, 7, Math.min(-1, yMin - 2), Math.max(1, yMax + 2)],
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
const getHint = () => {
|
|
34
|
+
return `Une suite est géométrique si, pour passer d'un terme au suivant, on multiplie toujours par le même nombre (appelé la raison de la suite).
|
|
35
|
+
|
|
36
|
+
Sur le graphique, retrouve-t-on ce comportement ?`;
|
|
37
|
+
};
|
|
38
|
+
const getCorrection = (identifiers, opts) => {
|
|
39
|
+
const rankOne = opts?.firstTermRankOne ? 1 : 0;
|
|
40
|
+
const { isGeo, sequence } = identifiers;
|
|
41
|
+
const reason = round(sequence[1] / sequence[0], 2);
|
|
42
|
+
return `On peut lire graphiquement les premiers termes de la suite :
|
|
43
|
+
|
|
44
|
+
${sequence
|
|
45
|
+
.slice(0, 5)
|
|
46
|
+
.map((e, i) => `$$
|
|
47
|
+
u_{${i + rankOne}} = ${e.frenchify()}
|
|
48
|
+
$$`)
|
|
49
|
+
.join("\n \n")}
|
|
50
|
+
|
|
51
|
+
${isGeo
|
|
52
|
+
? `Sur ces premiers termes, on multiple donc par $${reason.frenchify()}$ pour passer d'un terme à l'autre. La suite semble donc bien géométrique.`
|
|
53
|
+
: "Puisqu'on ne multiplie pas toujours par le même nombre pour passer d'un terme à l'autre, la suite n'est donc pas géométrique."}`;
|
|
54
|
+
};
|
|
55
|
+
const getQuestionFromIdentifiers = (identifiers, opts) => {
|
|
56
|
+
return {
|
|
57
|
+
answer: getAnswer(identifiers),
|
|
58
|
+
instruction: getInstruction(identifiers),
|
|
59
|
+
keys: [],
|
|
60
|
+
ggbOptions: getGGBOptions(identifiers, opts),
|
|
61
|
+
answerFormat: "raw",
|
|
62
|
+
identifiers,
|
|
63
|
+
hint: getHint(identifiers),
|
|
64
|
+
correction: getCorrection(identifiers, opts),
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
const getRandomFirstNonGeoTerms = () => {
|
|
68
|
+
const type = randint(0, 3);
|
|
69
|
+
switch (type) {
|
|
70
|
+
case 0: {
|
|
71
|
+
const firstAriTerm = randint(-5, 10);
|
|
72
|
+
const ariReason = randint(-4, 6, [0]);
|
|
73
|
+
return new Array(10)
|
|
74
|
+
.fill(0)
|
|
75
|
+
.map((_el, index) => firstAriTerm + ariReason * index);
|
|
76
|
+
}
|
|
77
|
+
case 1: {
|
|
78
|
+
const firstBernoulliTerm = randint(1, 10);
|
|
79
|
+
const secondBernoulliTerm = randint(1, 10, [firstBernoulliTerm]);
|
|
80
|
+
return new Array(10)
|
|
81
|
+
.fill(0)
|
|
82
|
+
.map((_el, index) => index % 2 ? firstBernoulliTerm : secondBernoulliTerm);
|
|
83
|
+
}
|
|
84
|
+
case 2:
|
|
85
|
+
default: {
|
|
86
|
+
const firstFakeAriTerm = randint(1, 20);
|
|
87
|
+
const res = new Array(10)
|
|
88
|
+
.fill(0)
|
|
89
|
+
.map(() => firstFakeAriTerm + randint(1, 4));
|
|
90
|
+
const disruptionIndex = randint(0, 5);
|
|
91
|
+
res[disruptionIndex] = res[disruptionIndex] + random([-1, 1]);
|
|
92
|
+
return res;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
const getRecognizeArithmeticFromGraphQuestion = (opts) => {
|
|
97
|
+
const isGeo = coinFlip();
|
|
98
|
+
const firstGeoTerm = randint(1, 4);
|
|
99
|
+
const geoReason = random([0.5, 2, 3]);
|
|
100
|
+
const sequence = isGeo
|
|
101
|
+
? new Array(10)
|
|
102
|
+
.fill(0)
|
|
103
|
+
.map((_el, index) => firstGeoTerm * geoReason ** index)
|
|
104
|
+
: getRandomFirstNonGeoTerms();
|
|
105
|
+
const identifiers = { sequence, isGeo };
|
|
106
|
+
return getQuestionFromIdentifiers(identifiers, opts);
|
|
107
|
+
};
|
|
108
|
+
const getPropositions = (n, { answer }) => {
|
|
109
|
+
const propositions = [];
|
|
110
|
+
addValidProp(propositions, answer, "raw");
|
|
111
|
+
tryToAddWrongProp(propositions, "Oui", "raw");
|
|
112
|
+
tryToAddWrongProp(propositions, "Non", "raw");
|
|
113
|
+
return shuffleProps(propositions, n);
|
|
114
|
+
};
|
|
115
|
+
const options = [
|
|
116
|
+
{
|
|
117
|
+
id: "firstTermRankOne",
|
|
118
|
+
label: "Utiliser $u_1$ comme premier terme",
|
|
119
|
+
target: GeneratorOptionTarget.generation,
|
|
120
|
+
type: GeneratorOptionType.checkbox,
|
|
121
|
+
},
|
|
122
|
+
];
|
|
123
|
+
export const recognizeGeometricFromGraph = {
|
|
124
|
+
id: "recognizeGeometricFromGraph",
|
|
125
|
+
label: "Reconnaître graphiquement si une suite est géométrique",
|
|
126
|
+
isSingleStep: true,
|
|
127
|
+
generator: (nb, opts) => getDistinctQuestions(() => getRecognizeArithmeticFromGraphQuestion(opts), nb),
|
|
128
|
+
qcmTimer: 60,
|
|
129
|
+
freeTimer: 60,
|
|
130
|
+
getPropositions,
|
|
131
|
+
answerType: "QCU",
|
|
132
|
+
hasGeogebra: true,
|
|
133
|
+
subject: "Mathématiques",
|
|
134
|
+
getQuestionFromIdentifiers,
|
|
135
|
+
hasHintAndCorrection: true,
|
|
136
|
+
options,
|
|
137
|
+
};
|
|
@@ -15,4 +15,5 @@ export * from "./situations/index.js";
|
|
|
15
15
|
export * from "./geometricFindExplicitFormulaFromTwoTerms.js";
|
|
16
16
|
export * from "./geometricFindExplicitFormulaFromTwoConsecutiveTerms.js";
|
|
17
17
|
export * from "./geometricFindRandomTermFromTwoConsecutiveTerms.js";
|
|
18
|
+
export * from "./graph/index.js";
|
|
18
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/sequences/geometric/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+CAA+C,CAAC;AAE9D,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC;AACjE,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AAEnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,0BAA0B,CAAC;AAEzC,cAAc,0CAA0C,CAAC;AAEzD,cAAc,gBAAgB,CAAC;AAE/B,cAAc,uBAAuB,CAAC;AAEtC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0DAA0D,CAAC;AACzE,cAAc,qDAAqD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/sequences/geometric/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+CAA+C,CAAC;AAE9D,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC;AACjE,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AAEnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,0BAA0B,CAAC;AAEzC,cAAc,0CAA0C,CAAC;AAEzD,cAAc,gBAAgB,CAAC;AAE/B,cAAc,uBAAuB,CAAC;AAEtC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0DAA0D,CAAC;AACzE,cAAc,qDAAqD,CAAC;AACpE,cAAc,kBAAkB,CAAC"}
|
|
@@ -15,3 +15,4 @@ export * from "./situations/index.js";
|
|
|
15
15
|
export * from "./geometricFindExplicitFormulaFromTwoTerms.js";
|
|
16
16
|
export * from "./geometricFindExplicitFormulaFromTwoConsecutiveTerms.js";
|
|
17
17
|
export * from "./geometricFindRandomTermFromTwoConsecutiveTerms.js";
|
|
18
|
+
export * from "./graph/index.js";
|
package/lib/index.d.ts
CHANGED
|
@@ -1257,6 +1257,9 @@ declare const mathExercises: (Exercise<{
|
|
|
1257
1257
|
}, {
|
|
1258
1258
|
method: string;
|
|
1259
1259
|
}> | Exercise<{
|
|
1260
|
+
coeffs: number[];
|
|
1261
|
+
isAskingX: boolean;
|
|
1262
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
1260
1263
|
a: number;
|
|
1261
1264
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
1262
1265
|
a: number;
|
|
@@ -1968,6 +1971,21 @@ declare const mathExercises: (Exercise<{
|
|
|
1968
1971
|
yIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
|
|
1969
1972
|
zIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
|
|
1970
1973
|
tIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
|
|
1974
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
1975
|
+
situation: number;
|
|
1976
|
+
start: number;
|
|
1977
|
+
reason: number;
|
|
1978
|
+
x: number;
|
|
1979
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
1980
|
+
situation: number;
|
|
1981
|
+
start: number;
|
|
1982
|
+
rate: number;
|
|
1983
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
1984
|
+
situation: number;
|
|
1985
|
+
start: number;
|
|
1986
|
+
rate: number;
|
|
1987
|
+
x: number;
|
|
1988
|
+
displayedX: string;
|
|
1971
1989
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
1972
1990
|
affine1Ids: import("./math/polynomials/generalAffine.js").GeneralAffineIdentifiers;
|
|
1973
1991
|
affine2Ids: import("./math/polynomials/generalAffine.js").GeneralAffineIdentifiers;
|
|
@@ -3228,6 +3246,12 @@ declare const mathExercises: (Exercise<{
|
|
|
3228
3246
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3229
3247
|
isJustified: boolean;
|
|
3230
3248
|
cloudPointsIdentifiers: import("./math/geometry/CloudPoints.js").CloudPointsIdentifiers;
|
|
3249
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3250
|
+
xs: number[];
|
|
3251
|
+
ys: number[];
|
|
3252
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3253
|
+
xs: number[];
|
|
3254
|
+
ys: number[];
|
|
3231
3255
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3232
3256
|
pA: number;
|
|
3233
3257
|
pB: number;
|
|
@@ -3769,6 +3793,24 @@ declare const mathExercises: (Exercise<{
|
|
|
3769
3793
|
precisionReason: number;
|
|
3770
3794
|
rankAsked: number;
|
|
3771
3795
|
}, import("./exercises/options/optionFirstTermRankOne.js").OptionFirstTermRankOne> | Exercise<{
|
|
3796
|
+
isGeo: boolean;
|
|
3797
|
+
sequence: number[];
|
|
3798
|
+
}, {
|
|
3799
|
+
firstTermRankOne?: boolean;
|
|
3800
|
+
}> | Exercise<{
|
|
3801
|
+
q: number;
|
|
3802
|
+
start: number;
|
|
3803
|
+
fakeParams: {
|
|
3804
|
+
start: number;
|
|
3805
|
+
q: number;
|
|
3806
|
+
}[];
|
|
3807
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3808
|
+
start: number;
|
|
3809
|
+
q: number;
|
|
3810
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3811
|
+
q: number;
|
|
3812
|
+
start: number;
|
|
3813
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3772
3814
|
rank: number;
|
|
3773
3815
|
coeffs: number[];
|
|
3774
3816
|
}, {
|
|
@@ -4385,32 +4427,9 @@ declare const mathExercises: (Exercise<{
|
|
|
4385
4427
|
values: number[][];
|
|
4386
4428
|
caseAsked: number;
|
|
4387
4429
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4388
|
-
|
|
4389
|
-
data: number[];
|
|
4390
|
-
itemAsked: number;
|
|
4391
|
-
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4392
|
-
isAskingX: boolean;
|
|
4393
|
-
xValue?: number;
|
|
4394
|
-
yValue?: number;
|
|
4395
|
-
a: number;
|
|
4396
|
-
b: number;
|
|
4430
|
+
coeffs: (number | undefined)[][];
|
|
4397
4431
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4398
|
-
|
|
4399
|
-
labels: string[];
|
|
4400
|
-
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4401
|
-
quartiles: number[];
|
|
4402
|
-
arrQuartileIndex: (0 | 1 | 2 | 3 | 4)[];
|
|
4403
|
-
typeQ: "below" | "between" | "above";
|
|
4404
|
-
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4405
|
-
quartileIndex: 0 | 1 | 2 | 3 | 4;
|
|
4406
|
-
quartiles: number[];
|
|
4407
|
-
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4408
|
-
indexTopic: number;
|
|
4409
|
-
isLess: boolean;
|
|
4410
|
-
arrDistrib: {
|
|
4411
|
-
name: string;
|
|
4412
|
-
indicators: number[];
|
|
4413
|
-
}[];
|
|
4432
|
+
coeffs: (number | undefined)[][];
|
|
4414
4433
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4415
4434
|
barChart: {
|
|
4416
4435
|
description: string;
|
|
@@ -4450,6 +4469,19 @@ declare const mathExercises: (Exercise<{
|
|
|
4450
4469
|
}, {
|
|
4451
4470
|
displayType: string;
|
|
4452
4471
|
}> | Exercise<{
|
|
4472
|
+
labels: string[];
|
|
4473
|
+
data: number[];
|
|
4474
|
+
itemAsked: number;
|
|
4475
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4476
|
+
isAskingX: boolean;
|
|
4477
|
+
xValue?: number;
|
|
4478
|
+
yValue?: number;
|
|
4479
|
+
a: number;
|
|
4480
|
+
b: number;
|
|
4481
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4482
|
+
points: number[][];
|
|
4483
|
+
labels: string[];
|
|
4484
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4453
4485
|
indexSituation: number;
|
|
4454
4486
|
bigNumber: number;
|
|
4455
4487
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
@@ -4462,6 +4494,20 @@ declare const mathExercises: (Exercise<{
|
|
|
4462
4494
|
evolutionType: string;
|
|
4463
4495
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4464
4496
|
quartiles: number[];
|
|
4497
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4498
|
+
quartileIndex: 0 | 1 | 2 | 3 | 4;
|
|
4499
|
+
quartiles: number[];
|
|
4500
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4501
|
+
quartiles: number[];
|
|
4502
|
+
arrQuartileIndex: (0 | 1 | 2 | 3 | 4)[];
|
|
4503
|
+
typeQ: "below" | "between" | "above";
|
|
4504
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4505
|
+
indexTopic: number;
|
|
4506
|
+
isLess: boolean;
|
|
4507
|
+
arrDistrib: {
|
|
4508
|
+
name: string;
|
|
4509
|
+
indicators: number[];
|
|
4510
|
+
}[];
|
|
4465
4511
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
4466
4512
|
indexSituation: number;
|
|
4467
4513
|
maxOrScam: number;
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAE3D,OAAO,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,QAAA,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAE3D,OAAO,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAA+B,CAAC;AACnD,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAA6B,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
|