math-exercises 3.0.52 → 3.0.53

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 (141) hide show
  1. package/lib/exercises/math/calcul/fractions/fractionAndIntegerDivision.d.ts.map +1 -1
  2. package/lib/exercises/math/calcul/fractions/fractionAndIntegerDivision.js +0 -2
  3. package/lib/exercises/math/calcul/fractions/fractionAndIntegerProduct.d.ts.map +1 -1
  4. package/lib/exercises/math/calcul/fractions/fractionAndIntegerProduct.js +0 -2
  5. package/lib/exercises/math/calcul/fractions/fractionsDivision.d.ts.map +1 -1
  6. package/lib/exercises/math/calcul/fractions/fractionsDivision.js +0 -2
  7. package/lib/exercises/math/calcul/fractions/fractionsSum.d.ts.map +1 -1
  8. package/lib/exercises/math/calcul/fractions/fractionsSum.js +0 -2
  9. package/lib/exercises/math/calcul/mentalCaluls/mentalAddAndSub.d.ts.map +1 -1
  10. package/lib/exercises/math/calcul/mentalCaluls/mentalAddAndSub.js +0 -12
  11. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplications.d.ts.map +1 -1
  12. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplications.js +0 -12
  13. package/lib/exercises/math/calcul/mentalCaluls/mentalPercentage.d.ts.map +1 -1
  14. package/lib/exercises/math/calcul/mentalCaluls/mentalPercentage.js +0 -13
  15. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesis.d.ts.map +1 -1
  16. package/lib/exercises/math/calcul/operations/operationsPrioritiesParenthesis.js +0 -2
  17. package/lib/exercises/math/calculLitteral/equation/binomialsTrinomialsProposedSolutions.d.ts.map +1 -1
  18. package/lib/exercises/math/calculLitteral/equation/binomialsTrinomialsProposedSolutions.js +0 -2
  19. package/lib/exercises/math/calculLitteral/equation/equa4.d.ts.map +1 -1
  20. package/lib/exercises/math/calculLitteral/equation/equa4.js +0 -2
  21. package/lib/exercises/math/calculLitteral/factorisation/factoIdRmq2.d.ts.map +1 -1
  22. package/lib/exercises/math/calculLitteral/factorisation/factoIdRmq2.js +4 -4
  23. package/lib/exercises/math/calculLitteral/factorisation/factoType1Exercise.d.ts.map +1 -1
  24. package/lib/exercises/math/calculLitteral/factorisation/factoType1Exercise.js +0 -2
  25. package/lib/exercises/math/calculLitteral/simplifying/evaluateExpression.d.ts.map +1 -1
  26. package/lib/exercises/math/calculLitteral/simplifying/evaluateExpression.js +0 -2
  27. package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.d.ts.map +1 -1
  28. package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.js +0 -2
  29. package/lib/exercises/math/functions/affines/affineExpressionReading.d.ts.map +1 -1
  30. package/lib/exercises/math/functions/affines/affineExpressionReading.js +3 -2
  31. package/lib/exercises/math/functions/affines/interceptReading.d.ts.map +1 -1
  32. package/lib/exercises/math/functions/affines/interceptReading.js +47 -18
  33. package/lib/exercises/math/functions/affines/leadingCoefficientCalculV2.d.ts.map +1 -1
  34. package/lib/exercises/math/functions/affines/leadingCoefficientCalculV2.js +46 -13
  35. package/lib/exercises/math/geometry/cartesian/cartesianFromTwoPoints.d.ts +9 -0
  36. package/lib/exercises/math/geometry/cartesian/cartesianFromTwoPoints.d.ts.map +1 -0
  37. package/lib/exercises/math/geometry/cartesian/cartesianFromTwoPoints.js +162 -0
  38. package/lib/exercises/math/geometry/cartesian/cartesianFromVectorAndPoint.d.ts +10 -0
  39. package/lib/exercises/math/geometry/cartesian/cartesianFromVectorAndPoint.d.ts.map +1 -0
  40. package/lib/exercises/math/geometry/cartesian/cartesianFromVectorAndPoint.js +161 -0
  41. package/lib/exercises/math/geometry/cartesian/directionVector.d.ts +4 -2
  42. package/lib/exercises/math/geometry/cartesian/directionVector.d.ts.map +1 -1
  43. package/lib/exercises/math/geometry/cartesian/directionVector.js +110 -79
  44. package/lib/exercises/math/geometry/cartesian/directionVectorEquation.d.ts.map +1 -1
  45. package/lib/exercises/math/geometry/cartesian/drawAlineInGGB.d.ts.map +1 -1
  46. package/lib/exercises/math/geometry/cartesian/drawAlineInGGB.js +18 -2
  47. package/lib/exercises/math/geometry/cartesian/index.d.ts +2 -0
  48. package/lib/exercises/math/geometry/cartesian/index.d.ts.map +1 -1
  49. package/lib/exercises/math/geometry/cartesian/index.js +2 -0
  50. package/lib/exercises/math/geometry/cartesian/pointCoordinates.d.ts.map +1 -1
  51. package/lib/exercises/math/geometry/cartesian/pointCoordinates.js +0 -2
  52. package/lib/exercises/math/geometry/cartesian/pointCoordinatesNoAxisNumbers.d.ts.map +1 -1
  53. package/lib/exercises/math/geometry/cartesian/pointCoordinatesNoAxisNumbers.js +0 -2
  54. package/lib/exercises/math/geometry/cartesian/pointCoordinatesNoOrthonorm.d.ts.map +1 -1
  55. package/lib/exercises/math/geometry/cartesian/pointCoordinatesNoOrthonorm.js +0 -2
  56. package/lib/exercises/math/geometry/lines/aAndBFromReductEquation.d.ts +9 -0
  57. package/lib/exercises/math/geometry/lines/aAndBFromReductEquation.d.ts.map +1 -0
  58. package/lib/exercises/math/geometry/lines/aAndBFromReductEquation.js +108 -0
  59. package/lib/exercises/math/geometry/lines/directorVectorFromAnother.d.ts +9 -0
  60. package/lib/exercises/math/geometry/lines/directorVectorFromAnother.d.ts.map +1 -0
  61. package/lib/exercises/math/geometry/lines/directorVectorFromAnother.js +122 -0
  62. package/lib/exercises/math/geometry/lines/directorVectorFromReductEquation.d.ts +9 -0
  63. package/lib/exercises/math/geometry/lines/directorVectorFromReductEquation.d.ts.map +1 -0
  64. package/lib/exercises/math/geometry/lines/directorVectorFromReductEquation.js +121 -0
  65. package/lib/exercises/math/geometry/lines/drawLineFromCartesianEquation.d.ts +9 -0
  66. package/lib/exercises/math/geometry/lines/drawLineFromCartesianEquation.d.ts.map +1 -0
  67. package/lib/exercises/math/geometry/lines/drawLineFromCartesianEquation.js +115 -0
  68. package/lib/exercises/math/geometry/lines/index.d.ts +5 -0
  69. package/lib/exercises/math/geometry/lines/index.d.ts.map +1 -1
  70. package/lib/exercises/math/geometry/lines/index.js +6 -0
  71. package/lib/exercises/math/geometry/lines/reductEquationFindY.d.ts +10 -0
  72. package/lib/exercises/math/geometry/lines/reductEquationFindY.d.ts.map +1 -0
  73. package/lib/exercises/math/geometry/lines/reductEquationFindY.js +105 -0
  74. package/lib/exercises/math/geometry/lines/reductEquationFromTwoPoints.d.ts +10 -0
  75. package/lib/exercises/math/geometry/lines/reductEquationFromTwoPoints.d.ts.map +1 -0
  76. package/lib/exercises/math/geometry/lines/reductEquationFromTwoPoints.js +149 -0
  77. package/lib/exercises/math/geometry/lines/reductEquationReading.d.ts +8 -0
  78. package/lib/exercises/math/geometry/lines/reductEquationReading.d.ts.map +1 -0
  79. package/lib/exercises/math/geometry/lines/reductEquationReading.js +142 -0
  80. package/lib/exercises/math/geometry/perimeters/squarePerimeter.d.ts.map +1 -1
  81. package/lib/exercises/math/geometry/perimeters/squarePerimeter.js +0 -2
  82. package/lib/exercises/math/geometry/vectors/alignementViaColinearity.d.ts.map +1 -1
  83. package/lib/exercises/math/geometry/vectors/alignementViaColinearity.js +78 -15
  84. package/lib/exercises/math/geometry/vectors/determinant.js +1 -1
  85. package/lib/exercises/math/geometry/vectors/lineFromDirectorVector.d.ts.map +1 -1
  86. package/lib/exercises/math/geometry/vectors/lineFromDirectorVector.js +117 -76
  87. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductViaCos.js +1 -1
  88. package/lib/exercises/math/powers/calculateNegativePower.d.ts.map +1 -1
  89. package/lib/exercises/math/powers/calculateNegativePower.js +0 -2
  90. package/lib/exercises/math/powers/calculatePower.d.ts.map +1 -1
  91. package/lib/exercises/math/powers/calculatePower.js +0 -2
  92. package/lib/exercises/math/powers/decimalToScientific.d.ts.map +1 -1
  93. package/lib/exercises/math/powers/decimalToScientific.js +0 -15
  94. package/lib/exercises/math/powers/scientificToDecimal.d.ts.map +1 -1
  95. package/lib/exercises/math/powers/scientificToDecimal.js +0 -15
  96. package/lib/exercises/math/primitive/logarithmePrimitive.js +1 -1
  97. package/lib/exercises/math/probaStat/index.d.ts +1 -0
  98. package/lib/exercises/math/probaStat/index.d.ts.map +1 -1
  99. package/lib/exercises/math/probaStat/index.js +1 -0
  100. package/lib/exercises/math/probaStat/randomVariable/index.d.ts +5 -0
  101. package/lib/exercises/math/probaStat/randomVariable/index.d.ts.map +1 -0
  102. package/lib/exercises/math/probaStat/randomVariable/index.js +4 -0
  103. package/lib/exercises/math/probaStat/randomVariable/isTableProbabilityLaw.d.ts +10 -0
  104. package/lib/exercises/math/probaStat/randomVariable/isTableProbabilityLaw.d.ts.map +1 -0
  105. package/lib/exercises/math/probaStat/randomVariable/isTableProbabilityLaw.js +81 -0
  106. package/lib/exercises/math/probaStat/randomVariable/randomVariableAverage.d.ts +9 -0
  107. package/lib/exercises/math/probaStat/randomVariable/randomVariableAverage.d.ts.map +1 -0
  108. package/lib/exercises/math/probaStat/randomVariable/randomVariableAverage.js +95 -0
  109. package/lib/exercises/math/probaStat/randomVariable/randomVariableStandardDeviation.d.ts +9 -0
  110. package/lib/exercises/math/probaStat/randomVariable/randomVariableStandardDeviation.d.ts.map +1 -0
  111. package/lib/exercises/math/probaStat/randomVariable/randomVariableStandardDeviation.js +106 -0
  112. package/lib/exercises/math/probaStat/randomVariable/randomVariableVariance.d.ts +9 -0
  113. package/lib/exercises/math/probaStat/randomVariable/randomVariableVariance.d.ts.map +1 -0
  114. package/lib/exercises/math/probaStat/randomVariable/randomVariableVariance.js +105 -0
  115. package/lib/index.d.ts +42 -2
  116. package/lib/index.d.ts.map +1 -1
  117. package/lib/math/geometry/angle.js +5 -5
  118. package/lib/math/geometry/line.d.ts +3 -2
  119. package/lib/math/geometry/line.d.ts.map +1 -1
  120. package/lib/math/geometry/line.js +32 -20
  121. package/lib/math/geometry/vector.d.ts +5 -0
  122. package/lib/math/geometry/vector.d.ts.map +1 -1
  123. package/lib/math/geometry/vector.js +18 -1
  124. package/lib/math/probability/randomVariable.d.ts +15 -0
  125. package/lib/math/probability/randomVariable.d.ts.map +1 -0
  126. package/lib/math/probability/randomVariable.js +56 -0
  127. package/lib/playground.d.ts.map +1 -1
  128. package/lib/playground.js +7 -0
  129. package/lib/tree/nodes/equations/equalNode.d.ts +2 -2
  130. package/lib/tree/nodes/equations/equalNode.d.ts.map +1 -1
  131. package/lib/tree/nodes/equations/equalNode.js +2 -2
  132. package/lib/tree/nodes/node.d.ts +1 -0
  133. package/lib/tree/nodes/node.d.ts.map +1 -1
  134. package/lib/tree/nodes/numbers/numberNode.d.ts.map +1 -1
  135. package/lib/tree/nodes/numbers/numberNode.js +6 -2
  136. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts +2 -1
  137. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts.map +1 -1
  138. package/lib/tree/nodes/operators/binomialCoefficientNode.js +7 -2
  139. package/lib/tree/parsers/latexParser.d.ts.map +1 -1
  140. package/lib/tree/parsers/latexParser.js +6 -0
  141. package/package.json +1 -1
@@ -1,109 +1,150 @@
1
1
  import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
2
  import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
- import { Line } from "../../../../math/geometry/line.js";
3
+ import { Line, LineConstructor } from "../../../../math/geometry/line.js";
4
4
  import { Point, PointConstructor } from "../../../../math/geometry/point.js";
5
5
  import { Vector } from "../../../../math/geometry/vector.js";
6
6
  import { randint } from "../../../../math/utils/random/randint.js";
7
- import { EqualNode } from "../../../../tree/nodes/equations/equalNode.js";
8
7
  import { NumberNode } from "../../../../tree/nodes/numbers/numberNode.js";
9
- import { AddNode } from "../../../../tree/nodes/operators/addNode.js";
10
- import { FractionNode } from "../../../../tree/nodes/operators/fractionNode.js";
11
- import { MultiplyNode } from "../../../../tree/nodes/operators/multiplyNode.js";
12
- import { SubstractNode } from "../../../../tree/nodes/operators/substractNode.js";
13
- import { VariableNode } from "../../../../tree/nodes/variables/variableNode.js";
8
+ import { add } from "../../../../tree/nodes/operators/addNode.js";
9
+ import { multiply } from "../../../../tree/nodes/operators/multiplyNode.js";
10
+ import { substract } from "../../../../tree/nodes/operators/substractNode.js";
11
+ import { parseAlgebraic } from "../../../../tree/parsers/latexParser.js";
12
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
13
+ import { alignTex } from "../../../../utils/latex/alignTex.js";
14
+ const getInstruction = (identifiers) => {
15
+ const { aX, aY, uX, uY } = identifiers;
16
+ const u = new Vector("u", uX.toTree(), uY.toTree());
17
+ const A = new Point("A", aX, aY);
18
+ const instruction = `Soit $d$ une droite de vecteur directeur $${u.toTexWithCoords()}$ passant par le point $${A.toTexWithCoords()}$.
19
+
20
+ Déterminer l'équation réduite de la droite $d$.`;
21
+ return instruction;
22
+ };
23
+ const getAnswer = (identifiers) => {
24
+ const { aX, aY, uX, uY } = identifiers;
25
+ const A = new Point("A", aX, aY);
26
+ const B = new Point("B", add(aX, uX).simplify(), add(aY, uY).simplify());
27
+ const line = new Line(A, B);
28
+ const correctAnswer = line.getReductEquation().simplify({
29
+ decimalToFractions: true,
30
+ forbidFactorize: true,
31
+ towardsDistribute: true,
32
+ forceDistributeFractions: true,
33
+ });
34
+ return correctAnswer.toTex();
35
+ };
36
+ const getHint = (identifiers) => {
37
+ return `On cherche d'abord le coefficient directeur $a$ : pour cela, on cherche un vecteur colinéaire à $\\overrightarrow{u}$ d'abscisse $1$. L'ordonnée de ce vecteur est alors le coefficient directeur de $d$.
38
+
39
+ Puis, on détermine l'ordonnée à l'origine $b$ en utilisant le fait que le point $A$ appartient à $d$.`;
40
+ };
41
+ const getCorrection = (identifiers) => {
42
+ const { aX, aY, uX, uY } = identifiers;
43
+ const u = new Vector("u", uX.toTree(), uY.toTree());
44
+ const A = new Point("A", aX, aY);
45
+ const unit = u.toUnited();
46
+ const xMonom = multiply(unit.y, A.x);
47
+ const xMonomSimp = xMonom.simplify({ forceDistributeFractions: true });
48
+ return `Puisque $${u.toTexWithCoords()}$ est un vecteur directeur de $d$, tout vecteur colinéaire à $${u.toTex()}$ est également un vecteur directeur de $d$.
49
+
50
+ Le vecteur de coordonnées $${unit
51
+ .toBinomCoords()
52
+ .toTex()}$ est donc un vecteur directeur de $d$. On en déduit que le coefficient directeur de $d$ est $${unit.y.toTex()}$.
53
+
54
+ L'équation réduite de la droite $d$ est donc de la forme :
55
+
56
+ $$
57
+ y = ${multiply(unit.y, "x")
58
+ .simplify({ forceDistributeFractions: true })
59
+ .toTex()}+b
60
+ $$
61
+
62
+ On utilise alors les coordonnées de $${A.toTexWithCoords()}$ pour déterminer $b$ :
63
+
64
+ ${alignTex([
65
+ [A.y.toTex(), "=", `${xMonom.toTex()} + b`],
66
+ [A.y.toTex(), "=", `${xMonomSimp.toTex()} + b`],
67
+ ["b", "=", substract(A.y, xMonomSimp).toTex()],
68
+ ["b", "=", substract(A.y, xMonomSimp).simplify({}).toTex()],
69
+ ])}
70
+
71
+ L'équation réduite de la droite $d$ est donc :
72
+
73
+ $$
74
+ ${getAnswer(identifiers)}
75
+ $$
76
+ `;
77
+ };
14
78
  const getLineFromDirectorVectorQuestion = () => {
15
79
  const a = PointConstructor.random("A");
16
- const u = new Vector("u", new NumberNode(randint(-10, 11, [0])), new NumberNode(randint(-10, 11, [0])));
17
- const b = new Point("b", new NumberNode(a.getXnumber() - u.getXAsNumber()), new NumberNode(a.getYnumber() - u.getYAsNumber()));
18
- const line = new Line(b, a);
19
- const correctAnswer = line.getEquation(u, a);
20
- const instruction = `Soit $d$ une droite de vecteur directeur $${u.toTexWithCoords()}$ passant par le point $${a.toTexWithCoords()}$. Déterminer l'équation réduite de la droite $d$.`;
80
+ const u = new Vector("u", new NumberNode(randint(-10, 11, [0, 1])), new NumberNode(randint(-10, 11)));
81
+ const identifiers = {
82
+ uX: u.getXAsNumber(),
83
+ uY: u.getYAsNumber(),
84
+ aX: a.getXnumber(),
85
+ aY: a.getYnumber(),
86
+ };
87
+ return getQuestionFromIdentifiers(identifiers);
88
+ };
89
+ const getQuestionFromIdentifiers = (identifiers) => {
21
90
  const question = {
22
- answer: correctAnswer.toTex(),
23
- instruction: instruction,
91
+ answer: getAnswer(identifiers),
92
+ instruction: getInstruction(identifiers),
24
93
  keys: ["x", "y", "equal"],
25
94
  answerFormat: "tex",
26
- identifiers: {
27
- uX: u.getXAsNumber(),
28
- uY: u.getYAsNumber(),
29
- aX: a.getXnumber(),
30
- aY: a.getYnumber(),
31
- },
95
+ identifiers,
96
+ hint: getHint(identifiers),
97
+ correction: getCorrection(identifiers),
32
98
  };
33
99
  return question;
34
100
  };
35
101
  const getPropositions = (n, { answer, uX, uY, aX, aY }) => {
36
102
  const propositions = [];
37
103
  addValidProp(propositions, answer);
38
- generatePropositions(uX, uY, aX, aY).forEach((value) => tryToAddWrongProp(propositions, value.toTex()));
39
- let uXRand;
40
- let uYRand;
41
104
  while (propositions.length < n) {
42
- uXRand = randint(-10, 11, [0, uX]);
43
- uYRand = randint(-10, 11, [0, uY]);
44
- tryToAddWrongProp(propositions, getCorrecAnswer(uXRand, uYRand, aX, aY).toTex());
105
+ const line = LineConstructor.random();
106
+ tryToAddWrongProp(propositions, line
107
+ .getReductEquation()
108
+ .simplify({
109
+ decimalToFractions: true,
110
+ forbidFactorize: true,
111
+ towardsDistribute: true,
112
+ forceDistributeFractions: true,
113
+ })
114
+ .toTex());
45
115
  }
46
116
  return shuffleProps(propositions, n);
47
117
  };
48
- const isAnswerValid = (ans, { uX, uY, aX, aY }) => {
49
- const correctAnswer = getCorrecAnswer(uX, uY, aX, aY);
50
- return correctAnswer
51
- .toAllValidTexs({
52
- allowRawRightChildAsSolution: true,
53
- allowFractionToDecimal: true,
54
- })
55
- .includes(ans);
56
- };
57
- const generatePropositions = (uX, uY, aX, aY) => {
58
- const y = new VariableNode("y");
59
- const x = new VariableNode("x");
60
- const uXNode = new NumberNode(uX);
61
- const uYNode = new NumberNode(uY);
62
- const aYNode = new NumberNode(aY);
63
- const aXNode = new NumberNode(aX);
64
- const firstProposition = getFirstProposition(y, x, uXNode, uYNode, aYNode, aXNode);
65
- const secondProposition = getSecondProposition(y, x, uXNode, uYNode, aXNode, aYNode);
66
- return [firstProposition, secondProposition];
67
- };
68
- const getFirstProposition = (y, x, uX, uY, aX, aY) => {
69
- const uYDivuX = new FractionNode(uY, uX).simplify();
70
- const natural = uY.value % uX.value === 0;
71
- const aYuX = new MultiplyNode(aY, uX).simplify();
72
- const aXuY = new MultiplyNode(aX, uY).simplify();
73
- const rightSide = new AddNode(natural
74
- ? new MultiplyNode(uYDivuX, x).simplify()
75
- : new MultiplyNode(uYDivuX, x), new FractionNode(new SubstractNode(aXuY, aYuX).simplify(), uX).simplify());
76
- const equation = new EqualNode(y, rightSide);
77
- return equation;
78
- };
79
- const getSecondProposition = (y, x, uX, uY, aX, aY) => {
80
- const uYDivuX = new FractionNode(uX, uY).simplify();
81
- const natural = uX.value % uY.value === 0;
82
- const aYuX = new MultiplyNode(aY, aX).simplify();
83
- const aXuY = new MultiplyNode(uX, uY).simplify();
84
- const rightSide = new AddNode(natural
85
- ? new MultiplyNode(uYDivuX, x).simplify()
86
- : new MultiplyNode(uYDivuX, x), new SubstractNode(aYuX, aXuY).simplify());
87
- const equation = new EqualNode(y, rightSide);
88
- return equation;
89
- };
90
- const getCorrecAnswer = (uX, uY, aX, aY) => {
91
- const a = new Point("A", new NumberNode(aX), new NumberNode(aY));
92
- const u = new Vector("u", new NumberNode(uX), new NumberNode(uY));
93
- const b = new Point("b", new NumberNode(a.getXnumber() - u.getXAsNumber()), new NumberNode(a.getYnumber() - u.getYAsNumber()));
94
- const line = new Line(a, b);
95
- return line.getEquation(u, a);
118
+ const isAnswerValid = (ans, { answer, uX, uY, aX, aY }) => {
119
+ try {
120
+ const formated = ans.replaceAll("y", "").replaceAll("=", "");
121
+ const parsed = parseAlgebraic(formated);
122
+ if (!parsed)
123
+ return false;
124
+ return ("y=" +
125
+ parsed
126
+ .simplify({
127
+ forbidFactorize: true,
128
+ decimalToFractions: true,
129
+ forceDistributeFractions: true,
130
+ })
131
+ .toTex() ===
132
+ answer);
133
+ }
134
+ catch (err) {
135
+ return handleVEAError(err);
136
+ }
96
137
  };
97
138
  export const lineFromDirectorVector = {
98
139
  id: "lineFromDirectorVector",
99
140
  label: "Équation réduite d'une droite connaissant un point et un vecteur directeur",
100
- levels: ["2nde"],
101
141
  isSingleStep: true,
102
- sections: ["Droites"],
103
142
  generator: (nb) => getDistinctQuestions(getLineFromDirectorVectorQuestion, nb),
104
143
  qcmTimer: 60,
105
144
  freeTimer: 60,
106
145
  getPropositions,
107
146
  isAnswerValid,
108
147
  subject: "Mathématiques",
148
+ getQuestionFromIdentifiers,
149
+ hasHintAndCorrection: true,
109
150
  };
@@ -60,7 +60,7 @@ const getPropositions = (n, { answer, AB, AC, trigoPoint }) => {
60
60
  const isAnswerValid = (ans, { answer, AB, AC, trigoPoint }) => {
61
61
  try {
62
62
  const parsed = parseAlgebraic(ans);
63
- return parsed.simplify().toTex() === answer;
63
+ return parsed.simplify({ decimalToFractions: true }).toTex() === answer;
64
64
  }
65
65
  catch (err) {
66
66
  return handleVEAError(err);
@@ -1 +1 @@
1
- {"version":3,"file":"calculateNegativePower.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/calculateNegativePower.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAmEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAcxD,CAAC"}
1
+ {"version":3,"file":"calculateNegativePower.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/calculateNegativePower.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAmEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAYxD,CAAC"}
@@ -58,9 +58,7 @@ export const calculateNegativePower = {
58
58
  id: "calculateNegativePower",
59
59
  connector: "=",
60
60
  label: "Calculer une puissance négative",
61
- levels: ["4ème", "3ème", "2ndPro", "2nde", "CAP"],
62
61
  isSingleStep: true,
63
- sections: ["Puissances"],
64
62
  generator: (nb) => getDistinctQuestions(getCalculatePowerQuestion, nb),
65
63
  qcmTimer: 60,
66
64
  freeTimer: 60,
@@ -1 +1 @@
1
- {"version":3,"file":"calculatePower.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/calculatePower.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAMrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAuDF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAchD,CAAC"}
1
+ {"version":3,"file":"calculatePower.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/calculatePower.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAMrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAuDF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAYhD,CAAC"}
@@ -51,9 +51,7 @@ export const calculatePower = {
51
51
  id: "calculatePower",
52
52
  connector: "=",
53
53
  label: "Calculer une puissance",
54
- levels: ["4ème", "3ème", "2ndPro", "2nde", "CAP"],
55
54
  isSingleStep: true,
56
- sections: ["Puissances"],
57
55
  generator: (nb) => getDistinctQuestions(getCalculatePowerQuestion, nb),
58
56
  qcmTimer: 60,
59
57
  freeTimer: 60,
@@ -1 +1 @@
1
- {"version":3,"file":"decimalToScientific.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/decimalToScientific.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,QAAQ,EAST,MAAM,mBAAmB,CAAC;AAG3B,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAoDF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CA2BrD,CAAC"}
1
+ {"version":3,"file":"decimalToScientific.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/decimalToScientific.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,QAAQ,EAST,MAAM,mBAAmB,CAAC;AAG3B,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAoDF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAYrD,CAAC"}
@@ -48,21 +48,6 @@ export const decimalToScientific = {
48
48
  id: "decimalToScientific",
49
49
  connector: "=",
50
50
  label: "Passer d'écriture décimale à écriture scientifique",
51
- levels: [
52
- "5ème",
53
- "4ème",
54
- "3ème",
55
- "2nde",
56
- "CAP",
57
- "2ndPro",
58
- "1reESM",
59
- "1rePro",
60
- "1reSpé",
61
- "1reTech",
62
- "TermPro",
63
- "TermTech",
64
- ],
65
- sections: ["Puissances"],
66
51
  isSingleStep: true,
67
52
  generator: (nb) => getDistinctQuestions(getDecimalToScientificQuestion, nb),
68
53
  qcmTimer: 60,
@@ -1 +1 @@
1
- {"version":3,"file":"scientificToDecimal.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/scientificToDecimal.ts"],"names":[],"mappings":"AAAA;;MAEM;AAYN,OAAO,EACL,QAAQ,EAST,MAAM,mBAAmB,CAAC;AAE3B,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAiDF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CA2BrD,CAAC"}
1
+ {"version":3,"file":"scientificToDecimal.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/scientificToDecimal.ts"],"names":[],"mappings":"AAAA;;MAEM;AAYN,OAAO,EACL,QAAQ,EAST,MAAM,mBAAmB,CAAC;AAE3B,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAiDF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAYrD,CAAC"}
@@ -45,21 +45,6 @@ export const scientificToDecimal = {
45
45
  id: "scientificToDecimal",
46
46
  connector: "=",
47
47
  label: "Passer d'écriture scientifique à écriture décimale",
48
- levels: [
49
- "5ème",
50
- "4ème",
51
- "3ème",
52
- "2nde",
53
- "CAP",
54
- "2ndPro",
55
- "1reESM",
56
- "1rePro",
57
- "1reSpé",
58
- "1reTech",
59
- "TermPro",
60
- "TermTech",
61
- ],
62
- sections: ["Puissances"],
63
48
  isSingleStep: true,
64
49
  generator: (nb) => getDistinctQuestions(getScientificToDecimalQuestion, nb),
65
50
  qcmTimer: 60,
@@ -11,7 +11,7 @@ import { PowerNode } from "../../../tree/nodes/operators/powerNode.js";
11
11
  import { VariableNode } from "../../../tree/nodes/variables/variableNode.js";
12
12
  import { shuffle } from "../../../utils/alea/shuffle.js";
13
13
  const getKeys = () => {
14
- return ["x", "C", "lnBrackets", "abs", "epower"];
14
+ return ["x", "C", "ln", "abs", "epower"];
15
15
  };
16
16
  const getAnswer = (identifiers) => {
17
17
  const { coeffs } = identifiers;
@@ -11,4 +11,5 @@ export * from "./probaFromTableNoContext.js";
11
11
  export * from "./probaFromTableWithContext.js";
12
12
  export * from "./binomial/index.js";
13
13
  export * from "./basicStats/index.js";
14
+ export * from "./randomVariable/index.js";
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/probaStat/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/probaStat/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC"}
@@ -11,3 +11,4 @@ export * from "./probaFromTableNoContext.js";
11
11
  export * from "./probaFromTableWithContext.js";
12
12
  export * from "./binomial/index.js";
13
13
  export * from "./basicStats/index.js";
14
+ export * from "./randomVariable/index.js";
@@ -0,0 +1,5 @@
1
+ export * from "./randomVariableAverage.js";
2
+ export * from "./randomVariableVariance.js";
3
+ export * from "./isTableProbabilityLaw.js";
4
+ export * from "./randomVariableStandardDeviation.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/randomVariable/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./randomVariableAverage.js";
2
+ export * from "./randomVariableVariance.js";
3
+ export * from "./isTableProbabilityLaw.js";
4
+ export * from "./randomVariableStandardDeviation.js";
@@ -0,0 +1,10 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ import { NodeIdentifiers } from "../../../../tree/nodes/nodeConstructor.js";
3
+ type Identifiers = {
4
+ xValuesIds: NodeIdentifiers[];
5
+ yValuesIds: NodeIdentifiers[];
6
+ isLaw: boolean;
7
+ };
8
+ export declare const isTableProbabilityLaw: Exercise<Identifiers>;
9
+ export {};
10
+ //# sourceMappingURL=isTableProbabilityLaw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isTableProbabilityLaw.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/randomVariable/isTableProbabilityLaw.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAM7C,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AA4EF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAgBvD,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { RandomVariable, RandomVariableConstructor, } from "../../../../math/probability/randomVariable.js";
4
+ import { randint } from "../../../../math/utils/random/randint.js";
5
+ import { reifyAlgebraic, } from "../../../../tree/nodes/nodeConstructor.js";
6
+ import { add, AddNode } from "../../../../tree/nodes/operators/addNode.js";
7
+ import { operatorComposition } from "../../../../tree/utilities/operatorComposition.js";
8
+ import { coinFlip } from "../../../../utils/alea/coinFlip.js";
9
+ const getPropositions = (n, { isLaw }) => {
10
+ const propositions = [];
11
+ addValidProp(propositions, isLaw ? "Oui" : "Non", "raw");
12
+ tryToAddWrongProp(propositions, "Oui", "raw");
13
+ tryToAddWrongProp(propositions, "Non", "raw");
14
+ tryToAddWrongProp(propositions, "On ne peut pas savoir", "raw");
15
+ return shuffleProps(propositions, n);
16
+ };
17
+ const getInstruction = (identifiers) => {
18
+ const { xValuesIds, yValuesIds } = identifiers;
19
+ const va = new RandomVariable(xValuesIds.map((e) => reifyAlgebraic(e)), yValuesIds.map((e) => reifyAlgebraic(e)));
20
+ return `Le tableau suivant décrit-il une loi de probabilité ?
21
+
22
+ ${va.getLawTable()}
23
+ `;
24
+ };
25
+ const getHint = (identifiers) => {
26
+ return `Pour qu'un tableau décrive une loi de probabilités, il faut que la somme des probabilités soit égale à $1$.`;
27
+ };
28
+ const getCorrection = (identifiers) => {
29
+ const { xValuesIds, yValuesIds, isLaw } = identifiers;
30
+ const probas = yValuesIds.map((e) => reifyAlgebraic(e));
31
+ const sum = operatorComposition(AddNode, probas);
32
+ const value = sum.evaluate().frenchify();
33
+ return `On additionne les probabilités :
34
+
35
+ $$
36
+ ${sum.toTex()}=${value}
37
+ $$
38
+
39
+ ${isLaw
40
+ ? `Puisque la somme est égale à $1$, ce tableau décrit bien une loi de probabilités.`
41
+ : `Puisque la somme n'est pas égale à $1$, ce tableau ne décrit pas une loi de probailités. `}`;
42
+ };
43
+ const getIsTableProbabilityLawQuestion = (ops) => {
44
+ const va = RandomVariableConstructor.random();
45
+ const isLaw = coinFlip();
46
+ if (!isLaw) {
47
+ const index = randint(0, va.xValues.length);
48
+ va.yValues[index] = add(va.yValues[index], randint(-3, 4, [0]) * 0.05).simplify();
49
+ }
50
+ const identifiers = {
51
+ xValuesIds: va.xValues.map((x) => x.toIdentifiers()),
52
+ yValuesIds: va.yValues.map((x) => x.toIdentifiers()),
53
+ isLaw,
54
+ };
55
+ return getQuestionFromIdentifiers(identifiers);
56
+ };
57
+ const getQuestionFromIdentifiers = (identifiers) => {
58
+ return {
59
+ instruction: getInstruction(identifiers),
60
+ answerFormat: "raw",
61
+ identifiers,
62
+ hint: getHint(identifiers),
63
+ correction: getCorrection(identifiers),
64
+ };
65
+ };
66
+ export const isTableProbabilityLaw = {
67
+ id: "isTableProbabilityLaw",
68
+ label: "Déterminer si un tableau décrit une loi de probabilité",
69
+ isSingleStep: true,
70
+ generator: (nb, opts) => getDistinctQuestions(() => getIsTableProbabilityLawQuestion(opts), nb),
71
+ qcmTimer: 60,
72
+ freeTimer: 60,
73
+ getPropositions,
74
+ subject: "Mathématiques",
75
+ getInstruction,
76
+ getHint,
77
+ getCorrection,
78
+ getQuestionFromIdentifiers,
79
+ answerType: "QCU",
80
+ hasHintAndCorrection: true,
81
+ };
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ import { NodeIdentifiers } from "../../../../tree/nodes/nodeConstructor.js";
3
+ type Identifiers = {
4
+ xValuesIds: NodeIdentifiers[];
5
+ yValuesIds: NodeIdentifiers[];
6
+ };
7
+ export declare const randomVariableAverage: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=randomVariableAverage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"randomVariableAverage.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/randomVariable/randomVariableAverage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAO7C,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B,CAAC;AA0FF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAmBvD,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { RandomVariable, RandomVariableConstructor, } from "../../../../math/probability/randomVariable.js";
4
+ import { randfloat } from "../../../../math/utils/random/randfloat.js";
5
+ import { reifyAlgebraic, } from "../../../../tree/nodes/nodeConstructor.js";
6
+ import { parseAlgebraic } from "../../../../tree/parsers/latexParser.js";
7
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
8
+ import { alignTex } from "../../../../utils/latex/alignTex.js";
9
+ const getPropositions = (n, { answer }) => {
10
+ const propositions = [];
11
+ addValidProp(propositions, answer);
12
+ while (propositions.length < n) {
13
+ tryToAddWrongProp(propositions, randfloat(2, 10, 2).frenchify());
14
+ }
15
+ return shuffleProps(propositions, n);
16
+ };
17
+ const getAnswer = (identifiers) => {
18
+ const { xValuesIds, yValuesIds } = identifiers;
19
+ const va = new RandomVariable(xValuesIds.map((e) => reifyAlgebraic(e)), yValuesIds.map((e) => reifyAlgebraic(e)));
20
+ return va.getAverage().simplify().toTex();
21
+ };
22
+ const getInstruction = (identifiers) => {
23
+ const { xValuesIds, yValuesIds } = identifiers;
24
+ const va = new RandomVariable(xValuesIds.map((e) => reifyAlgebraic(e)), yValuesIds.map((e) => reifyAlgebraic(e)));
25
+ return `Soit $X$ une variable aléatoire dont la loi de probabilités est donnée ci-dessous.
26
+
27
+ ${va.getLawTable()}
28
+
29
+ Que vaut l'espérance $E(X)$ de $X$ ?
30
+ `;
31
+ };
32
+ const getHint = (identifiers) => {
33
+ return `$V(X)$ est la somme des produits des valeurs de $X$ par leur probabilité. `;
34
+ };
35
+ const getCorrection = (identifiers) => {
36
+ const { xValuesIds, yValuesIds } = identifiers;
37
+ const va = new RandomVariable(xValuesIds.map((e) => reifyAlgebraic(e)), yValuesIds.map((e) => reifyAlgebraic(e)));
38
+ const esp = va.getAverage();
39
+ return `On additionne les produits des valeurs de $X$ par leur probabilité :
40
+
41
+ ${alignTex([
42
+ ["", "E(X)"],
43
+ ["=", esp.toTex()],
44
+ ["=", esp.simplify().toTex()],
45
+ ])}`;
46
+ };
47
+ const getKeys = (identifiers) => {
48
+ return [];
49
+ };
50
+ const isAnswerValid = (ans, { answer }) => {
51
+ try {
52
+ const parsed = parseAlgebraic(ans);
53
+ return parsed.simplify().toTex() === answer;
54
+ }
55
+ catch (err) {
56
+ return handleVEAError(err);
57
+ }
58
+ };
59
+ const getRandomVariableAverageQuestion = (ops) => {
60
+ const va = RandomVariableConstructor.random();
61
+ const identifiers = {
62
+ xValuesIds: va.xValues.map((e) => e.toIdentifiers()),
63
+ yValuesIds: va.yValues.map((e) => e.toIdentifiers()),
64
+ };
65
+ return getQuestionFromIdentifiers(identifiers);
66
+ };
67
+ const getQuestionFromIdentifiers = (identifiers) => {
68
+ return {
69
+ answer: getAnswer(identifiers),
70
+ instruction: getInstruction(identifiers),
71
+ keys: getKeys(identifiers),
72
+ answerFormat: "tex",
73
+ identifiers,
74
+ hint: getHint(identifiers),
75
+ correction: getCorrection(identifiers),
76
+ };
77
+ };
78
+ export const randomVariableAverage = {
79
+ id: "randomVariableAverage",
80
+ connector: "=",
81
+ label: "Calculer l'espérance d'une variable aléatoire à partir de sa loi de probabilité",
82
+ isSingleStep: true,
83
+ generator: (nb, opts) => getDistinctQuestions(() => getRandomVariableAverageQuestion(opts), nb),
84
+ qcmTimer: 60,
85
+ freeTimer: 60,
86
+ getPropositions,
87
+ isAnswerValid,
88
+ subject: "Mathématiques",
89
+ getInstruction,
90
+ getHint,
91
+ getCorrection,
92
+ getAnswer,
93
+ getQuestionFromIdentifiers,
94
+ hasHintAndCorrection: true,
95
+ };
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ import { NodeIdentifiers } from "../../../../tree/nodes/nodeConstructor.js";
3
+ type Identifiers = {
4
+ xValuesIds: NodeIdentifiers[];
5
+ yValuesIds: NodeIdentifiers[];
6
+ };
7
+ export declare const randomVariableStandardDeviation: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=randomVariableStandardDeviation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"randomVariableStandardDeviation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/randomVariable/randomVariableStandardDeviation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAUrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAQ7C,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B,CAAC;AAoGF,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,WAAW,CAsBjE,CAAC"}