math-exercises 3.0.22 → 3.0.24

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 (79) hide show
  1. package/lib/exercises/exercise.d.ts +2 -0
  2. package/lib/exercises/exercise.d.ts.map +1 -1
  3. package/lib/exercises/math/calculLitteral/distributivity/secondIdentity.js +1 -1
  4. package/lib/exercises/math/calculLitteral/equation/multiplicationEquation.d.ts.map +1 -1
  5. package/lib/exercises/math/calculLitteral/equation/multiplicationEquation.js +60 -28
  6. package/lib/exercises/math/dataRepresentations/functionGraphReading.d.ts +104 -0
  7. package/lib/exercises/math/dataRepresentations/functionGraphReading.d.ts.map +1 -1
  8. package/lib/exercises/math/dataRepresentations/functionGraphReading.js +119 -94
  9. package/lib/exercises/math/dataRepresentations/index.d.ts +1 -0
  10. package/lib/exercises/math/dataRepresentations/index.d.ts.map +1 -1
  11. package/lib/exercises/math/dataRepresentations/index.js +1 -0
  12. package/lib/exercises/math/dataRepresentations/pieChartReading.d.ts +8 -0
  13. package/lib/exercises/math/dataRepresentations/pieChartReading.d.ts.map +1 -0
  14. package/lib/exercises/math/dataRepresentations/pieChartReading.js +171 -0
  15. package/lib/exercises/math/derivation/derivative/constanteDerivative.js +2 -2
  16. package/lib/exercises/math/derivation/derivative/secondDegreeDerivative.d.ts.map +1 -1
  17. package/lib/exercises/math/derivation/derivative/secondDegreeDerivative.js +5 -3
  18. package/lib/exercises/math/derivation/derivative/thirdDegreeDerivative.d.ts.map +1 -1
  19. package/lib/exercises/math/derivation/derivative/thirdDegreeDerivative.js +5 -3
  20. package/lib/exercises/math/functions/exponential/expFactorization.d.ts.map +1 -1
  21. package/lib/exercises/math/functions/exponential/expFactorization.js +5 -2
  22. package/lib/exercises/math/geometry/euclidian/pythagoreOrThales.d.ts.map +1 -1
  23. package/lib/exercises/math/geometry/euclidian/pythagoreOrThales.js +3 -0
  24. package/lib/exercises/math/geometry/quadrilaterals/quadrilateralRecognition.js +2 -1
  25. package/lib/exercises/math/primitive/polynomialPrimitive.d.ts.map +1 -1
  26. package/lib/exercises/math/primitive/polynomialPrimitive.js +47 -16
  27. package/lib/exercises/math/probaStat/probaFromTableWithContext.js +3 -3
  28. package/lib/exercises/math/probaStat/stats1var/averageList.js +1 -1
  29. package/lib/exercises/math/probaStat/stats1var/choseReasoningForIndicator.d.ts +8 -0
  30. package/lib/exercises/math/probaStat/stats1var/choseReasoningForIndicator.d.ts.map +1 -0
  31. package/lib/exercises/math/probaStat/stats1var/choseReasoningForIndicator.js +105 -0
  32. package/lib/exercises/math/probaStat/stats1var/index.d.ts +1 -0
  33. package/lib/exercises/math/probaStat/stats1var/index.d.ts.map +1 -1
  34. package/lib/exercises/math/probaStat/stats1var/index.js +1 -0
  35. package/lib/exercises/math/spaceGeometry/basis/index.d.ts +2 -0
  36. package/lib/exercises/math/spaceGeometry/basis/index.d.ts.map +1 -0
  37. package/lib/exercises/math/spaceGeometry/basis/index.js +1 -0
  38. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesInPrism.d.ts +11 -0
  39. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesInPrism.d.ts.map +1 -0
  40. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesInPrism.js +167 -0
  41. package/lib/exercises/math/spaceGeometry/index.d.ts +1 -0
  42. package/lib/exercises/math/spaceGeometry/index.d.ts.map +1 -1
  43. package/lib/exercises/math/spaceGeometry/index.js +1 -0
  44. package/lib/exercises/math/trigonometry/calculateCosSinAndTan.d.ts.map +1 -1
  45. package/lib/exercises/math/trigonometry/calculateCosSinAndTan.js +38 -26
  46. package/lib/geogebra/colors.d.ts +1 -0
  47. package/lib/geogebra/colors.d.ts.map +1 -1
  48. package/lib/geogebra/colors.js +3 -0
  49. package/lib/geogebra/geogebraConstructor.d.ts +2 -0
  50. package/lib/geogebra/geogebraConstructor.d.ts.map +1 -1
  51. package/lib/geogebra/geogebraConstructor.js +6 -0
  52. package/lib/index.d.ts +12 -0
  53. package/lib/index.d.ts.map +1 -1
  54. package/lib/latexTester.d.ts.map +1 -1
  55. package/lib/latexTester.js +7 -1
  56. package/lib/math/geometry/angle.d.ts +2 -0
  57. package/lib/math/geometry/angle.d.ts.map +1 -1
  58. package/lib/math/geometry/angle.js +11 -4
  59. package/lib/math/geometry/spacePoint.d.ts +3 -1
  60. package/lib/math/geometry/spacePoint.d.ts.map +1 -1
  61. package/lib/math/geometry/spacePoint.js +19 -2
  62. package/lib/math/spaceGeometry/prism.d.ts +4 -0
  63. package/lib/math/spaceGeometry/prism.d.ts.map +1 -0
  64. package/lib/math/spaceGeometry/prism.js +3 -0
  65. package/lib/tree/nodes/algebraicNode.d.ts +4 -1
  66. package/lib/tree/nodes/algebraicNode.d.ts.map +1 -1
  67. package/lib/tree/nodes/functions/cosNode.d.ts +2 -2
  68. package/lib/tree/nodes/functions/cosNode.d.ts.map +1 -1
  69. package/lib/tree/nodes/functions/cosNode.js +4 -1
  70. package/lib/tree/nodes/functions/sinNode.d.ts +2 -2
  71. package/lib/tree/nodes/functions/sinNode.d.ts.map +1 -1
  72. package/lib/tree/nodes/functions/sinNode.js +4 -1
  73. package/lib/tree/nodes/functions/tanNode.d.ts +2 -2
  74. package/lib/tree/nodes/functions/tanNode.d.ts.map +1 -1
  75. package/lib/tree/nodes/functions/tanNode.js +4 -1
  76. package/lib/utils/strings/getLetter.d.ts +2 -0
  77. package/lib/utils/strings/getLetter.d.ts.map +1 -0
  78. package/lib/utils/strings/getLetter.js +3 -0
  79. package/package.json +1 -1
@@ -57,6 +57,8 @@ export type GeogebraOptions = {
57
57
  lockedAxesRatio?: number | false;
58
58
  xAxis?: GeogebraAxisOptions;
59
59
  yAxis?: GeogebraAxisOptions;
60
+ zAxis?: GeogebraAxisOptions;
61
+ viewDirectionVector?: number[];
60
62
  };
61
63
  export type KeyboardOptions = {
62
64
  parenthesisShouldNotProduceLeftRight?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"exercise.d.ts","sourceRoot":"","sources":["../../src/exercises/exercise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exercise.d.ts","sourceRoot":"","sources":["../../src/exercises/exercise.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,7 @@ const getHint = (identifiers) => {
39
39
 
40
40
  $$
41
41
  (a-b)^2 = a^2 - 2ab+b^2
42
- $$
42
+ $$
43
43
 
44
44
  en prenant $a=${aMonom.toTex()}$ et $b=${bPositive}$`;
45
45
  };
@@ -1 +1 @@
1
- {"version":3,"file":"multiplicationEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/multiplicationEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,6BAA6B,CAAC;AAarC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA0FF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAexD,CAAC"}
1
+ {"version":3,"file":"multiplicationEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/multiplicationEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAarC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAwHF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAiBxD,CAAC"}
@@ -8,6 +8,55 @@ import { MultiplyNode } from "../../../../tree/nodes/operators/multiplyNode.js";
8
8
  import { DiscreteSetNode } from "../../../../tree/nodes/sets/discreteSetNode.js";
9
9
  import { alignTex } from "../../../../utils/latex/alignTex.js";
10
10
  import { shuffle } from "../../../../utils/alea/shuffle.js";
11
+ const getStatementNode = (identifiers) => {
12
+ const { a, b, c, d } = identifiers;
13
+ const polynome1 = new Polynomial([b, a]);
14
+ const polynome2 = new Polynomial([d, c]);
15
+ const statement = new MultiplyNode(polynome1.toTree(), polynome2.toTree());
16
+ return statement;
17
+ };
18
+ const getStartStatement = (identifiers) => {
19
+ return `${getStatementNode(identifiers).toTex()} = 0`;
20
+ };
21
+ const getInstruction = (identifiers) => {
22
+ return `Résoudre :
23
+
24
+ $$
25
+ ${getStartStatement(identifiers)}
26
+ $$`;
27
+ };
28
+ const getAnswer = (identifiers) => {
29
+ const { a, b, c, d } = identifiers;
30
+ const sol1 = new Rational(-b, a).simplify().toTree();
31
+ const sol2 = new Rational(-d, c).simplify().toTree();
32
+ const sortedSols = -b / a < -d / c ? [sol1, sol2] : [sol2, sol1];
33
+ const answer = new EquationSolutionNode(new DiscreteSetNode(sortedSols)).toTex();
34
+ return answer;
35
+ };
36
+ const getHint = (identifiers) => {
37
+ return "Un produit est nul si et seulement si un des deux facteurs est nul. Donc, il faut trouver les valeurs de $x$ qui rendent un des deux facteurs nuls.";
38
+ };
39
+ const getCorrection = (identifiers) => {
40
+ const { a, b, c, d } = identifiers;
41
+ const polynome1 = new Polynomial([b, a]);
42
+ const polynome2 = new Polynomial([d, c]);
43
+ const sol1 = new Rational(-b, a).simplify().toTree();
44
+ const sol2 = new Rational(-d, c).simplify().toTree();
45
+ return `Un produit est nul si et seulement si un des deux facteurs est nul. On résout donc deux équations :
46
+
47
+ ${alignTex([
48
+ ["", getStartStatement(identifiers)],
49
+ [
50
+ "\\iff",
51
+ `${polynome1.toTree().toTex()} = 0 \\text{ ou } ${polynome2
52
+ .toTree()
53
+ .toTex()} = 0`,
54
+ ],
55
+ ["\\iff", `x=${sol1.toTex()} \\text{ ou } x=${sol2.toTex()}`],
56
+ ])}
57
+
58
+ Ainsi, $${getAnswer(identifiers)}$`;
59
+ };
11
60
  const getMultiplicationEquation = () => {
12
61
  // (ax + b)(cx + d) = 0
13
62
  let a, b, c, d;
@@ -17,35 +66,16 @@ const getMultiplicationEquation = () => {
17
66
  c = randint(-9, 10, [0]);
18
67
  d = randint(-9, 10, [0]);
19
68
  } while (a / c === b / d);
20
- const polynome1 = new Polynomial([b, a]);
21
- const polynome2 = new Polynomial([d, c]);
22
- const sol1 = new Rational(-b, a).simplify().toTree();
23
- const sol2 = new Rational(-d, c).simplify().toTree();
24
- const sortedSols = -b / a < -d / c ? [sol1, sol2] : [sol2, sol1];
25
- const answer = new EquationSolutionNode(new DiscreteSetNode(sortedSols)).toTex();
26
- const statementTex = new MultiplyNode(polynome1.toTree(), polynome2.toTree()).toTex();
69
+ const identifiers = { a, b, c, d };
27
70
  const question = {
28
- instruction: `Résoudre : $${statementTex} = 0$`,
29
- startStatement: `${statementTex} = 0`,
30
- answer,
71
+ instruction: getInstruction(identifiers),
72
+ startStatement: getStartStatement(identifiers),
73
+ answer: getAnswer(identifiers),
31
74
  keys: ["x", "S", "equal", "lbrace", "rbrace", "semicolon", "ou"],
32
75
  answerFormat: "tex",
33
- identifiers: { a, b, c, d },
34
- hint: "Un produit est nul si et seulement si un des deux facteurs est nul. Donc, il faut trouver les valeurs de $x$ qui rendent un des deux facteurs nuls.",
35
- correction: `Un produit est nul si et seulement si un des deux facteurs est nul. On résout donc deux équations :
36
-
37
- ${alignTex([
38
- ["", `${statementTex} = 0`],
39
- [
40
- "\\iff",
41
- `${polynome1.toTree().toTex()} = 0 \\text{ ou } ${polynome2
42
- .toTree()
43
- .toTex()} = 0`,
44
- ],
45
- ["\\iff", `x=${sol1.toTex()} \\text{ ou } x=${sol2.toTex()}`],
46
- ])}
47
-
48
- Ainsi, $${answer}$`,
76
+ identifiers,
77
+ hint: getHint(identifiers),
78
+ correction: getCorrection(identifiers),
49
79
  };
50
80
  return question;
51
81
  };
@@ -82,8 +112,6 @@ export const multiplicationEquation = {
82
112
  id: "multiplicationEquation",
83
113
  connector: "\\iff",
84
114
  label: "Résoudre une équation produit nul",
85
- levels: ["2nde", "1reESM", "1reSpé", "1reTech"],
86
- sections: ["Équations"],
87
115
  isSingleStep: false,
88
116
  generator: (nb) => getDistinctQuestions(getMultiplicationEquation, nb),
89
117
  qcmTimer: 60,
@@ -92,4 +120,8 @@ export const multiplicationEquation = {
92
120
  isAnswerValid,
93
121
  subject: "Mathématiques",
94
122
  hasHintAndCorrection: true,
123
+ getInstruction,
124
+ getAnswer,
125
+ getCorrection,
126
+ getHint,
95
127
  };
@@ -6,4 +6,108 @@ type Identifiers = {
6
6
  };
7
7
  export declare const functionGraphReading: Exercise<Identifiers>;
8
8
  export {};
9
+ /***SVG */
10
+ /**
11
+
12
+ const width = 600;
13
+ const height = 300;
14
+ const margin = { top: 20, right: 20, bottom: 40, left: 50 };
15
+ const d3n = new D3Node();
16
+ const d3 = d3n.d3;
17
+
18
+ const svg = d3n.createSVG(width, height);
19
+
20
+ const xScale = d3
21
+ .scaleLinear()
22
+ .domain([0, 60])
23
+ .range([margin.left, width - margin.right]);
24
+
25
+ const yScale = d3
26
+ .scaleLinear()
27
+ .domain([0, 8000])
28
+ .range([height - margin.bottom, margin.top]);
29
+
30
+ const xAxis = d3.axisBottom(xScale).ticks(30).tickValues(d3.range(0, 61, 2));
31
+ const yAxis = d3
32
+ .axisLeft(yScale)
33
+ .ticks(16)
34
+ .tickValues(d3.range(0, 8500, 500));
35
+
36
+ svg
37
+ .append("g")
38
+ .attr("transform", `translate(0,${height - margin.bottom})`)
39
+ .call(xAxis);
40
+
41
+ svg.append("g").attr("transform", `translate(${margin.left},0)`).call(yAxis);
42
+
43
+ // Gridlines
44
+ const gridlinesX = d3
45
+ .axisBottom(xScale)
46
+ .tickSize(-height + margin.top + margin.bottom)
47
+ .tickFormat(() => "")
48
+ .tickValues(d3.range(0, 61, 2));
49
+ const gridlinesY = d3
50
+ .axisLeft(yScale)
51
+ .tickSize(-width + margin.left + margin.right)
52
+ .tickFormat(() => "")
53
+ .tickValues(d3.range(0, 8500, 500));
54
+
55
+ svg
56
+ .append("g")
57
+ .attr("class", "grid")
58
+ .attr("transform", `translate(0,${height - margin.bottom})`)
59
+ .call(gridlinesX);
60
+
61
+ svg
62
+ .append("g")
63
+ .attr("class", "grid")
64
+ .attr("transform", `translate(${margin.left},0)`)
65
+ .call(gridlinesY);
66
+
67
+ // Line
68
+ const line = d3
69
+ .line()
70
+ .x((d: any) => xScale(d))
71
+ .y((d: any) => yScale(d * a + b));
72
+
73
+ svg
74
+ .append("path")
75
+ .datum(d3.range(0, 61))
76
+ .attr("fill", "none")
77
+ .attr("stroke", "blue")
78
+ .attr("stroke-width", 1)
79
+ .attr("d", line);
80
+
81
+ // KaTeX math expression
82
+ const latexString = katex.renderToString("(d_1)", { throwOnError: false });
83
+
84
+ svg
85
+ .append("foreignObject")
86
+ .attr("x", xScale(18))
87
+ .attr("y", yScale(4500))
88
+ .attr("width", 50)
89
+ .attr("height", 30)
90
+ .html(
91
+ `<div style='font-size: 16px; font-weight: bold'>${latexString}</div>`,
92
+ );
93
+
94
+ // Labels
95
+ svg
96
+ .append("text")
97
+ .attr("x", width / 2)
98
+ .attr("y", height - 5)
99
+ .attr("text-anchor", "middle")
100
+ .attr("font-weight", "bold")
101
+ .text("Nombre de participants");
102
+
103
+ svg
104
+ .append("text")
105
+ .attr("x", margin.left)
106
+ .attr("y", margin.top - 5)
107
+ .attr("text-anchor", "middle")
108
+ .attr("font-weight", "bold")
109
+ .text("Coût en €");
110
+ ${d3n.svgString()}
111
+
112
+ */
9
113
  //# sourceMappingURL=functionGraphReading.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"functionGraphReading.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/functionGraphReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAoLF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAiBtD,CAAC"}
1
+ {"version":3,"file":"functionGraphReading.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/functionGraphReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAqFF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAiBtD,CAAC;;AAEF,UAAU;AACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsGE"}
@@ -4,8 +4,6 @@ import { GeogebraConstructor } from "../../../geogebra/geogebraConstructor.js";
4
4
  import { Affine } from "../../../math/polynomials/affine.js";
5
5
  import { randint } from "../../../math/utils/random/randint.js";
6
6
  import { round } from "../../../math/utils/round.js";
7
- import { D3Node } from "d3-node";
8
- import katex from "katex";
9
7
  const getPropositions = (n, { answer }) => {
10
8
  const propositions = [];
11
9
  addValidProp(propositions, answer);
@@ -20,116 +18,38 @@ const getAnswer = (identifiers) => {
20
18
  };
21
19
  const getInstruction = (identifiers) => {
22
20
  const { yValue, a, b } = identifiers;
23
- const width = 600;
24
- const height = 300;
25
- const margin = { top: 20, right: 20, bottom: 40, left: 50 };
26
- const d3n = new D3Node();
27
- const d3 = d3n.d3;
28
- const svg = d3n.createSVG(width, height);
29
- const xScale = d3
30
- .scaleLinear()
31
- .domain([0, 60])
32
- .range([margin.left, width - margin.right]);
33
- const yScale = d3
34
- .scaleLinear()
35
- .domain([0, 8000])
36
- .range([height - margin.bottom, margin.top]);
37
- const xAxis = d3.axisBottom(xScale).ticks(30).tickValues(d3.range(0, 61, 2));
38
- const yAxis = d3
39
- .axisLeft(yScale)
40
- .ticks(16)
41
- .tickValues(d3.range(0, 8500, 500));
42
- svg
43
- .append("g")
44
- .attr("transform", `translate(0,${height - margin.bottom})`)
45
- .call(xAxis);
46
- svg.append("g").attr("transform", `translate(${margin.left},0)`).call(yAxis);
47
- // Gridlines
48
- const gridlinesX = d3
49
- .axisBottom(xScale)
50
- .tickSize(-height + margin.top + margin.bottom)
51
- .tickFormat(() => "")
52
- .tickValues(d3.range(0, 61, 2));
53
- const gridlinesY = d3
54
- .axisLeft(yScale)
55
- .tickSize(-width + margin.left + margin.right)
56
- .tickFormat(() => "")
57
- .tickValues(d3.range(0, 8500, 500));
58
- svg
59
- .append("g")
60
- .attr("class", "grid")
61
- .attr("transform", `translate(0,${height - margin.bottom})`)
62
- .call(gridlinesX);
63
- svg
64
- .append("g")
65
- .attr("class", "grid")
66
- .attr("transform", `translate(${margin.left},0)`)
67
- .call(gridlinesY);
68
- // Line
69
- const line = d3
70
- .line()
71
- .x((d) => xScale(d))
72
- .y((d) => yScale(d * a + b));
73
- svg
74
- .append("path")
75
- .datum(d3.range(0, 61))
76
- .attr("fill", "none")
77
- .attr("stroke", "blue")
78
- .attr("stroke-width", 1)
79
- .attr("d", line);
80
- // KaTeX math expression
81
- const latexString = katex.renderToString("(d_1)", { throwOnError: false });
82
- svg
83
- .append("foreignObject")
84
- .attr("x", xScale(18))
85
- .attr("y", yScale(4500))
86
- .attr("width", 50)
87
- .attr("height", 30)
88
- .html(`<div style='font-size: 16px; font-weight: bold'>${latexString}</div>`);
89
- // Labels
90
- svg
91
- .append("text")
92
- .attr("x", width / 2)
93
- .attr("y", height - 5)
94
- .attr("text-anchor", "middle")
95
- .attr("font-weight", "bold")
96
- .text("Nombre de participants");
97
- svg
98
- .append("text")
99
- .attr("x", margin.left)
100
- .attr("y", margin.top - 5)
101
- .attr("text-anchor", "middle")
102
- .attr("font-weight", "bold")
103
- .text("Coût en €");
104
21
  return `La droite $(d_1)$ modélise l'évolution du coût total d'un voyage scolaire en fonction du nombre de participants.
105
22
 
106
- Si le coût total du voyage est de $${yValue}€$, quel est le nombre de participants ?
107
-
108
- ${d3n.svgString()}`;
23
+ Si le coût total du voyage est de $${yValue}€$, quel est le nombre de participants ?`;
109
24
  };
110
25
  // const getHint: GetHint<Identifiers> = (identifiers) => {};
111
26
  // const getCorrection: GetCorrection<Identifiers> = (identifiers) => {};
112
27
  const getGGBOptions = (identifiers) => {
113
28
  const { a, b, yValue } = identifiers;
114
29
  const affine = new Affine(a, b);
30
+ const xValue = (yValue - b) / a;
115
31
  const ggb = new GeogebraConstructor({
116
- commands: [`Function(${a}*x+${b}, 0, 10000)`],
117
- forbidShiftDragZoom: true,
32
+ commands: [
33
+ `Function(${a}*x+${b}, 0, 10000)`,
34
+ `Text("\\tiny Nombre \\ de \\ participants", (x(Corner(2)), -200), true, true, -1, -1)`,
35
+ `Text("\\tiny Coût \\ en \\ €", (-5, y(Corner(4))), true, true)`,
36
+ ],
37
+ forbidShiftDragZoom: false,
118
38
  gridDistance: [2, 500],
119
39
  lockedAxesRatio: 2 / 500,
120
40
  xAxis: {
121
- label: "Nombre de participants",
41
+ // label: "$\\math{\\tiny \\text{Nb. de \\\\ participants}}$",
122
42
  steps: 2,
123
43
  showPositive: true,
124
44
  },
125
45
  yAxis: {
126
- label: "Coût en €",
46
+ // label: "y",
127
47
  steps: 500,
128
48
  showPositive: true,
129
49
  },
130
50
  });
131
51
  return ggb.getOptions({
132
- coords: [-5, 65, -5, 8500],
52
+ coords: [-5, xValue + 10, -500, yValue + 500],
133
53
  });
134
54
  };
135
55
  const getKeys = (identifiers) => {
@@ -139,9 +59,10 @@ const isAnswerValid = (ans, { answer }) => {
139
59
  throw Error("VEA not implemented");
140
60
  };
141
61
  const getFunctionGraphReadingQuestion = (opts) => {
142
- const a = randint(50, 300);
143
- const b = randint(0, 300);
144
- const yValue = 500 * randint(1, 16);
62
+ const b = randint(0, 2000);
63
+ const randPoint = [2 * randint(5, 20), 3000 + 500 * randint(1, 7)];
64
+ const yValue = randPoint[1];
65
+ const a = (yValue - b) / randPoint[0];
145
66
  const identifiers = { a, b, yValue };
146
67
  const question = {
147
68
  answer: getAnswer(identifiers),
@@ -172,3 +93,107 @@ export const functionGraphReading = {
172
93
  getGGBOptions,
173
94
  hasGeogebra: true,
174
95
  };
96
+ /***SVG */
97
+ /**
98
+
99
+ const width = 600;
100
+ const height = 300;
101
+ const margin = { top: 20, right: 20, bottom: 40, left: 50 };
102
+ const d3n = new D3Node();
103
+ const d3 = d3n.d3;
104
+
105
+ const svg = d3n.createSVG(width, height);
106
+
107
+ const xScale = d3
108
+ .scaleLinear()
109
+ .domain([0, 60])
110
+ .range([margin.left, width - margin.right]);
111
+
112
+ const yScale = d3
113
+ .scaleLinear()
114
+ .domain([0, 8000])
115
+ .range([height - margin.bottom, margin.top]);
116
+
117
+ const xAxis = d3.axisBottom(xScale).ticks(30).tickValues(d3.range(0, 61, 2));
118
+ const yAxis = d3
119
+ .axisLeft(yScale)
120
+ .ticks(16)
121
+ .tickValues(d3.range(0, 8500, 500));
122
+
123
+ svg
124
+ .append("g")
125
+ .attr("transform", `translate(0,${height - margin.bottom})`)
126
+ .call(xAxis);
127
+
128
+ svg.append("g").attr("transform", `translate(${margin.left},0)`).call(yAxis);
129
+
130
+ // Gridlines
131
+ const gridlinesX = d3
132
+ .axisBottom(xScale)
133
+ .tickSize(-height + margin.top + margin.bottom)
134
+ .tickFormat(() => "")
135
+ .tickValues(d3.range(0, 61, 2));
136
+ const gridlinesY = d3
137
+ .axisLeft(yScale)
138
+ .tickSize(-width + margin.left + margin.right)
139
+ .tickFormat(() => "")
140
+ .tickValues(d3.range(0, 8500, 500));
141
+
142
+ svg
143
+ .append("g")
144
+ .attr("class", "grid")
145
+ .attr("transform", `translate(0,${height - margin.bottom})`)
146
+ .call(gridlinesX);
147
+
148
+ svg
149
+ .append("g")
150
+ .attr("class", "grid")
151
+ .attr("transform", `translate(${margin.left},0)`)
152
+ .call(gridlinesY);
153
+
154
+ // Line
155
+ const line = d3
156
+ .line()
157
+ .x((d: any) => xScale(d))
158
+ .y((d: any) => yScale(d * a + b));
159
+
160
+ svg
161
+ .append("path")
162
+ .datum(d3.range(0, 61))
163
+ .attr("fill", "none")
164
+ .attr("stroke", "blue")
165
+ .attr("stroke-width", 1)
166
+ .attr("d", line);
167
+
168
+ // KaTeX math expression
169
+ const latexString = katex.renderToString("(d_1)", { throwOnError: false });
170
+
171
+ svg
172
+ .append("foreignObject")
173
+ .attr("x", xScale(18))
174
+ .attr("y", yScale(4500))
175
+ .attr("width", 50)
176
+ .attr("height", 30)
177
+ .html(
178
+ `<div style='font-size: 16px; font-weight: bold'>${latexString}</div>`,
179
+ );
180
+
181
+ // Labels
182
+ svg
183
+ .append("text")
184
+ .attr("x", width / 2)
185
+ .attr("y", height - 5)
186
+ .attr("text-anchor", "middle")
187
+ .attr("font-weight", "bold")
188
+ .text("Nombre de participants");
189
+
190
+ svg
191
+ .append("text")
192
+ .attr("x", margin.left)
193
+ .attr("y", margin.top - 5)
194
+ .attr("text-anchor", "middle")
195
+ .attr("font-weight", "bold")
196
+ .text("Coût en €");
197
+ ${d3n.svgString()}
198
+
199
+ */
@@ -1,2 +1,3 @@
1
1
  export * from "./tableReading.js";
2
+ export * from "./pieChartReading.js";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from "./tableReading.js";
2
2
  // export * from "./barChartReading.js";
3
3
  // export * from "./functionGraphReading.js";
4
+ export * from "./pieChartReading.js";
@@ -0,0 +1,8 @@
1
+ import { Exercise } from "../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ points: number[][];
4
+ labels: string[];
5
+ };
6
+ export declare const pieChartReading: Exercise<Identifiers>;
7
+ export {};
8
+ //# sourceMappingURL=pieChartReading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pieChartReading.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/pieChartReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AAuBrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAoLF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAiBjD,CAAC"}