math-exercises 3.0.85 → 3.0.87

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 (151) hide show
  1. package/lib/exercises/exercise.d.ts +7 -0
  2. package/lib/exercises/exercise.d.ts.map +1 -1
  3. package/lib/exercises/math/calcul/arithmetics/decimalBoundingOnLine.js +1 -1
  4. package/lib/exercises/math/calcul/arithmetics/divisorsList.js +1 -1
  5. package/lib/exercises/math/calcul/arithmetics/evalFractionExpression.js +1 -1
  6. package/lib/exercises/math/calcul/arithmetics/index.d.ts +0 -10
  7. package/lib/exercises/math/calcul/arithmetics/index.d.ts.map +1 -1
  8. package/lib/exercises/math/calcul/arithmetics/index.js +0 -10
  9. package/lib/exercises/math/calcul/arithmetics/primeNumbers.js +1 -1
  10. package/lib/exercises/math/calcul/fractions/evalFractionExpression.d.ts +9 -0
  11. package/lib/exercises/math/calcul/fractions/evalFractionExpression.d.ts.map +1 -0
  12. package/lib/exercises/math/calcul/fractions/evalFractionExpression.js +113 -0
  13. package/lib/exercises/math/calcul/fractions/fractionSquare.d.ts.map +1 -1
  14. package/lib/exercises/math/calcul/fractions/fractionSquare.js +1 -0
  15. package/lib/exercises/math/calcul/fractions/index.d.ts +2 -0
  16. package/lib/exercises/math/calcul/fractions/index.d.ts.map +1 -1
  17. package/lib/exercises/math/calcul/fractions/index.js +2 -0
  18. package/lib/exercises/math/calcul/fractions/powerNotation.d.ts.map +1 -1
  19. package/lib/exercises/math/calcul/fractions/powerNotation.js +1 -0
  20. package/lib/exercises/math/calcul/fractions/simplifyFraction.d.ts.map +1 -1
  21. package/lib/exercises/math/calcul/fractions/simplifyFraction.js +1 -0
  22. package/lib/exercises/math/calcul/fractions/simplifyFractionWithPrimeFactorization.d.ts.map +1 -1
  23. package/lib/exercises/math/calcul/fractions/simplifyFractionWithPrimeFactorization.js +1 -0
  24. package/lib/exercises/math/calcul/fractions/simplifyToFraction.d.ts +9 -0
  25. package/lib/exercises/math/calcul/fractions/simplifyToFraction.d.ts.map +1 -0
  26. package/lib/exercises/math/calcul/fractions/simplifyToFraction.js +168 -0
  27. package/lib/exercises/math/calcul/ordering/framing.js +3 -3
  28. package/lib/exercises/math/calcul/sign/absoluteNumber.d.ts.map +1 -1
  29. package/lib/exercises/math/calcul/sign/absoluteNumber.js +1 -0
  30. package/lib/exercises/math/calculLitteral/inequations/index.d.ts +2 -0
  31. package/lib/exercises/math/calculLitteral/inequations/index.d.ts.map +1 -1
  32. package/lib/exercises/math/calculLitteral/inequations/index.js +2 -0
  33. package/lib/exercises/math/calculLitteral/inequations/isInequalityTrue.d.ts +15 -0
  34. package/lib/exercises/math/calculLitteral/inequations/isInequalityTrue.d.ts.map +1 -0
  35. package/lib/exercises/math/calculLitteral/inequations/isInequalityTrue.js +143 -0
  36. package/lib/exercises/math/calculLitteral/inequations/minNumberInequality.d.ts +13 -0
  37. package/lib/exercises/math/calculLitteral/inequations/minNumberInequality.d.ts.map +1 -0
  38. package/lib/exercises/math/calculLitteral/inequations/minNumberInequality.js +192 -0
  39. package/lib/exercises/math/calculLitteral/systems/verifySystemSolution.js +1 -1
  40. package/lib/exercises/math/functions/absolute/calculateDistanceBetweenNumbers.d.ts +8 -0
  41. package/lib/exercises/math/functions/absolute/calculateDistanceBetweenNumbers.d.ts.map +1 -0
  42. package/lib/exercises/math/functions/absolute/calculateDistanceBetweenNumbers.js +102 -0
  43. package/lib/exercises/math/functions/absolute/calculateDistanceWithAbsoluteValue.d.ts +10 -0
  44. package/lib/exercises/math/functions/absolute/calculateDistanceWithAbsoluteValue.d.ts.map +1 -0
  45. package/lib/exercises/math/functions/absolute/calculateDistanceWithAbsoluteValue.js +112 -0
  46. package/lib/exercises/math/functions/absolute/calculateWithAbsoluteValue.d.ts +8 -0
  47. package/lib/exercises/math/functions/absolute/calculateWithAbsoluteValue.d.ts.map +1 -0
  48. package/lib/exercises/math/functions/absolute/calculateWithAbsoluteValue.js +124 -0
  49. package/lib/exercises/math/functions/absolute/index.d.ts +3 -0
  50. package/lib/exercises/math/functions/absolute/index.d.ts.map +1 -1
  51. package/lib/exercises/math/functions/absolute/index.js +3 -0
  52. package/lib/exercises/math/functions/basics/index.d.ts +1 -0
  53. package/lib/exercises/math/functions/basics/index.d.ts.map +1 -1
  54. package/lib/exercises/math/functions/basics/index.js +1 -1
  55. package/lib/exercises/math/functions/basics/valueTableCompletion.d.ts +2 -1
  56. package/lib/exercises/math/functions/basics/valueTableCompletion.d.ts.map +1 -1
  57. package/lib/exercises/math/functions/basics/valueTableCompletion.js +103 -31
  58. package/lib/exercises/math/functions/sqrt/index.d.ts +2 -0
  59. package/lib/exercises/math/functions/sqrt/index.d.ts.map +1 -1
  60. package/lib/exercises/math/functions/sqrt/index.js +2 -0
  61. package/lib/exercises/math/functions/sqrt/sqrtInequality.d.ts +10 -0
  62. package/lib/exercises/math/functions/sqrt/sqrtInequality.d.ts.map +1 -0
  63. package/lib/exercises/math/functions/sqrt/sqrtInequality.js +160 -0
  64. package/lib/exercises/math/functions/sqrt/squareRootCalculation.d.ts +8 -0
  65. package/lib/exercises/math/functions/sqrt/squareRootCalculation.d.ts.map +1 -0
  66. package/lib/exercises/math/functions/sqrt/squareRootCalculation.js +108 -0
  67. package/lib/exercises/math/geometry/angles/recognizeAngleType.d.ts.map +1 -1
  68. package/lib/exercises/math/geometry/angles/recognizeAngleType.js +0 -1
  69. package/lib/exercises/math/geometry/cartesian/cartesianEquationOfLine.d.ts.map +1 -1
  70. package/lib/exercises/math/geometry/cartesian/cartesianEquationOfLine.js +1 -1
  71. package/lib/exercises/math/geometry/cartesian/cartesianFromTwoPoints.js +1 -1
  72. package/lib/exercises/math/geometry/cartesian/cartesianFromVectorAndPoint.js +1 -1
  73. package/lib/exercises/math/geometry/index.d.ts +0 -1
  74. package/lib/exercises/math/geometry/index.d.ts.map +1 -1
  75. package/lib/exercises/math/geometry/index.js +0 -1
  76. package/lib/exercises/math/geometry/lines/cartesianEquationToReduced.js +1 -1
  77. package/lib/exercises/math/geometry/lines/cartesianEquationsIntersection.js +1 -1
  78. package/lib/exercises/math/geometry/lines/findParallelLineFromCartesianEquation.d.ts.map +1 -1
  79. package/lib/exercises/math/geometry/lines/findParallelLineFromCartesianEquation.js +1 -1
  80. package/lib/exercises/math/geometry/lines/findParallelLineFromReductEquation.d.ts.map +1 -1
  81. package/lib/exercises/math/geometry/lines/findParallelLineFromReductEquation.js +1 -1
  82. package/lib/exercises/math/geometry/vectors/lineFromDirectorVector.js +1 -1
  83. package/lib/exercises/math/powers/calculateNegativePower.d.ts.map +1 -1
  84. package/lib/exercises/math/powers/calculateNegativePower.js +1 -0
  85. package/lib/exercises/math/powers/powersDivision.d.ts.map +1 -1
  86. package/lib/exercises/math/powers/powersDivision.js +2 -0
  87. package/lib/exercises/math/powers/powersMixOperations.d.ts.map +1 -1
  88. package/lib/exercises/math/powers/powersMixOperations.js +1 -0
  89. package/lib/exercises/math/powers/powersPower.d.ts.map +1 -1
  90. package/lib/exercises/math/powers/powersPower.js +2 -0
  91. package/lib/exercises/math/powers/powersProduct.d.ts.map +1 -1
  92. package/lib/exercises/math/powers/powersProduct.js +2 -0
  93. package/lib/exercises/math/probaStat/basicStats/index.d.ts +0 -1
  94. package/lib/exercises/math/probaStat/basicStats/index.d.ts.map +1 -1
  95. package/lib/exercises/math/probaStat/basicStats/index.js +0 -1
  96. package/lib/exercises/math/probaStat/index.d.ts +0 -2
  97. package/lib/exercises/math/probaStat/index.d.ts.map +1 -1
  98. package/lib/exercises/math/probaStat/index.js +0 -2
  99. package/lib/exercises/math/probaStat/stats1var/choseReasoningForIndicator.js +2 -2
  100. package/lib/exercises/math/probaStat/stats1var/compareSeriesDispersion.js +2 -2
  101. package/lib/exercises/math/probaStat/stats1var/getQuartileProportionQuestion.d.ts +12 -0
  102. package/lib/exercises/math/probaStat/stats1var/getQuartileProportionQuestion.d.ts.map +1 -0
  103. package/lib/exercises/math/probaStat/stats1var/getQuartileProportionQuestion.js +178 -0
  104. package/lib/exercises/math/probaStat/stats1var/index.d.ts +1 -0
  105. package/lib/exercises/math/probaStat/stats1var/index.d.ts.map +1 -1
  106. package/lib/exercises/math/probaStat/stats1var/index.js +1 -0
  107. package/lib/exercises/math/sampling/getSampleCountAndSize.d.ts +12 -0
  108. package/lib/exercises/math/sampling/getSampleCountAndSize.d.ts.map +1 -0
  109. package/lib/exercises/math/sampling/getSampleCountAndSize.js +95 -0
  110. package/lib/exercises/math/sampling/index.d.ts +2 -0
  111. package/lib/exercises/math/sampling/index.d.ts.map +1 -1
  112. package/lib/exercises/math/sampling/index.js +2 -0
  113. package/lib/exercises/math/sampling/samplingFrequency.d.ts +7 -0
  114. package/lib/exercises/math/sampling/samplingFrequency.d.ts.map +1 -0
  115. package/lib/exercises/math/sampling/samplingFrequency.js +106 -0
  116. package/lib/exercises/math/sets/intervals/index.d.ts +2 -0
  117. package/lib/exercises/math/sets/intervals/index.d.ts.map +1 -1
  118. package/lib/exercises/math/sets/intervals/index.js +2 -0
  119. package/lib/exercises/math/sets/intervals/intervalOnGraph.d.ts +8 -0
  120. package/lib/exercises/math/sets/intervals/intervalOnGraph.d.ts.map +1 -0
  121. package/lib/exercises/math/sets/intervals/intervalOnGraph.js +156 -0
  122. package/lib/exercises/math/sets/intervals/isNumberInInterval.d.ts +9 -0
  123. package/lib/exercises/math/sets/intervals/isNumberInInterval.d.ts.map +1 -0
  124. package/lib/exercises/math/sets/intervals/isNumberInInterval.js +174 -0
  125. package/lib/exercises/math/squareRoots/simpifySquareRoot.d.ts.map +1 -1
  126. package/lib/exercises/math/squareRoots/simpifySquareRoot.js +1 -0
  127. package/lib/exercises/math/squareRoots/squareRootIdentities.d.ts.map +1 -1
  128. package/lib/exercises/math/squareRoots/squareRootIdentities.js +1 -0
  129. package/lib/exercises/math/squareRoots/squareRootsDistributivity.d.ts.map +1 -1
  130. package/lib/exercises/math/squareRoots/squareRootsDistributivity.js +1 -0
  131. package/lib/exercises/math/squareRoots/squareRootsFractions.d.ts.map +1 -1
  132. package/lib/exercises/math/squareRoots/squareRootsFractions.js +1 -0
  133. package/lib/exercises/math/squareRoots/squareRootsProducts.d.ts.map +1 -1
  134. package/lib/exercises/math/squareRoots/squareRootsProducts.js +1 -0
  135. package/lib/exercises/math/squareRoots/squareRootsSum.d.ts.map +1 -1
  136. package/lib/exercises/math/squareRoots/squareRootsSum.js +1 -0
  137. package/lib/index.d.ts +60 -55
  138. package/lib/index.d.ts.map +1 -1
  139. package/lib/math/geometry/line.d.ts.map +1 -1
  140. package/lib/math/geometry/line.js +0 -11
  141. package/lib/server.js +21 -0
  142. package/lib/tests/exoTest.d.ts.map +1 -1
  143. package/lib/tests/exoTest.js +9 -2
  144. package/lib/tests/questionTest.d.ts.map +1 -1
  145. package/lib/tests/questionTest.js +21 -2
  146. package/lib/tree/nodes/equations/equalNode.d.ts.map +1 -1
  147. package/lib/tree/nodes/equations/equalNode.js +0 -1
  148. package/lib/utils/markdown/mdTable.d.ts +1 -1
  149. package/lib/utils/markdown/mdTable.d.ts.map +1 -1
  150. package/lib/utils/markdown/mdTable.js +10 -5
  151. package/package.json +1 -1
@@ -0,0 +1,108 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { randint } from "../../../../math/utils/random/randint.js";
4
+ import { sqrt } from "../../../../tree/nodes/functions/sqrtNode.js";
5
+ import { reifyAlgebraic, } from "../../../../tree/nodes/nodeConstructor.js";
6
+ import { isNumberNode } from "../../../../tree/nodes/numbers/numberNode.js";
7
+ import { square } from "../../../../tree/nodes/operators/powerNode.js";
8
+ import { parseAlgebraic } from "../../../../tree/parsers/latexParser.js";
9
+ import { coinFlip } from "../../../../utils/alea/coinFlip.js";
10
+ import { random } from "../../../../utils/alea/random.js";
11
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
12
+ const getPropositions = (n, { answer }) => {
13
+ const propositions = [];
14
+ addValidProp(propositions, answer);
15
+ const correctValue = parseAlgebraic(answer).evaluate();
16
+ const used = new Set([correctValue]);
17
+ while (propositions.length < n) {
18
+ const delta = randint(1, 5);
19
+ const sign = coinFlip() ? -1 : 1;
20
+ const candidate = correctValue + delta * sign;
21
+ if (candidate < 0 || used.has(candidate))
22
+ continue;
23
+ used.add(candidate);
24
+ const candidateTex = candidate.toTree().toTex();
25
+ tryToAddWrongProp(propositions, candidateTex);
26
+ }
27
+ return shuffleProps(propositions, n);
28
+ };
29
+ const getAnswer = (identifiers) => {
30
+ const { x } = identifiers;
31
+ const sqrtExpression = sqrt(reifyAlgebraic(x));
32
+ const answer = sqrtExpression.simplify().toTex();
33
+ return `${answer}`;
34
+ };
35
+ const getInstruction = (identifiers) => {
36
+ const { x } = identifiers;
37
+ const sqrtExpression = sqrt(reifyAlgebraic(x));
38
+ return `Calculer : $${sqrtExpression.toTex()}$`;
39
+ };
40
+ const getHint = (identifiers) => {
41
+ const { x } = identifiers;
42
+ return `Quel est le nombre qui, multiplié par lui-même, donne $${reifyAlgebraic(x).toTex()}$ ?`;
43
+ };
44
+ const getCorrection = (identifiers) => {
45
+ const { x } = identifiers;
46
+ const aNode = reifyAlgebraic(x);
47
+ const tex = aNode.toTex();
48
+ const answer = getAnswer(identifiers);
49
+ return `On remarque que $${tex} = ${square(answer.toTree()).toTex()}$.
50
+
51
+ On a donc $\\sqrt{${tex}} = ${answer}$.`;
52
+ };
53
+ const getKeys = (identifiers) => {
54
+ return [];
55
+ };
56
+ const isAnswerValid = (ans, { answer }) => {
57
+ try {
58
+ const ansNode = parseAlgebraic(ans).simplify();
59
+ const answerNode = parseAlgebraic(answer).simplify();
60
+ if (!isNumberNode(ansNode))
61
+ return false;
62
+ return ansNode.equals(answerNode);
63
+ }
64
+ catch (err) {
65
+ return handleVEAError(err);
66
+ }
67
+ };
68
+ const getSquareRootCalculationQuestion = (ops) => {
69
+ const x = randint(0, 13) ** 2;
70
+ const squareX = 100 * randint(1, 13) ** 2;
71
+ const xChoices = [
72
+ x.toTree().toIdentifiers(),
73
+ squareX.toTree().toIdentifiers(),
74
+ ];
75
+ const chosenX = random(xChoices);
76
+ const identifiers = { x: chosenX };
77
+ return getQuestionFromIdentifiers(identifiers);
78
+ };
79
+ const getQuestionFromIdentifiers = (identifiers) => {
80
+ return {
81
+ answer: getAnswer(identifiers),
82
+ instruction: getInstruction(identifiers),
83
+ keys: getKeys(identifiers),
84
+ answerFormat: "tex",
85
+ identifiers,
86
+ hint: getHint(identifiers),
87
+ correction: getCorrection(identifiers),
88
+ };
89
+ };
90
+ export const squareRootCalculation = {
91
+ id: "squareRootCalculation",
92
+ label: "Calculer une racine carrée",
93
+ isSingleStep: true,
94
+ generator: (nb, opts) => getDistinctQuestions(() => getSquareRootCalculationQuestion(opts), nb, 20),
95
+ qcmTimer: 60,
96
+ freeTimer: 60,
97
+ getPropositions,
98
+ isAnswerValid,
99
+ subject: "Mathématiques",
100
+ getInstruction,
101
+ getHint,
102
+ getCorrection,
103
+ getAnswer,
104
+ getQuestionFromIdentifiers,
105
+ hasHintAndCorrection: true,
106
+ maxAllowedQuestions: 20,
107
+ shouldHaveCalculator: false,
108
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"recognizeAngleType.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/angles/recognizeAngleType.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AASrC,OAAO,EAGL,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAWtC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAyVF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAcpD,CAAC"}
1
+ {"version":3,"file":"recognizeAngleType.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/angles/recognizeAngleType.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AASrC,OAAO,EAGL,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAWtC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAwVF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAcpD,CAAC"}
@@ -182,7 +182,6 @@ const isAnswerValid = (ans, { answer, angleIndex, angleType, apexIndex, points }
182
182
  break;
183
183
  }
184
184
  return validAngles.includes(formated);
185
- // console.log(angleIndex, angleType, apexIndex);
186
185
  // let formated = ans;
187
186
  // if (ans.includes("widehat")) {
188
187
  // formated = formated.replaceAll("\\widehat{", "").replaceAll("}", "");
@@ -1 +1 @@
1
- {"version":3,"file":"cartesianEquationOfLine.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/cartesianEquationOfLine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAqBrC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAiOF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAczD,CAAC"}
1
+ {"version":3,"file":"cartesianEquationOfLine.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/cartesianEquationOfLine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAqBrC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAiOF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAezD,CAAC"}
@@ -177,7 +177,7 @@ const getFirstProposition = (x, y, aX, aY, bX, bY) => {
177
177
  };
178
178
  export const cartesianEquationOfLine = {
179
179
  id: "cartesianEquationOfLine",
180
- label: "Déterminer une équation cartesienne de droite par lecture graphique",
180
+ label: "Déterminer une équation cartésienne d'une droite par lecture graphique",
181
181
  isSingleStep: true,
182
182
  generator: (nb) => getDistinctQuestions(getCartesianEquationOfLineQuestion, nb),
183
183
  qcmTimer: 60,
@@ -149,7 +149,7 @@ const getQuestionFromIdentifiers = (identifiers) => {
149
149
  };
150
150
  export const cartesianFromTwoPoints = {
151
151
  id: "cartesianFromTwoPoints",
152
- label: "Déterminer l'équation cartésienne d'une droite en connaissant deux points",
152
+ label: "Déterminer une équation cartésienne d'une droite en connaissant deux points",
153
153
  isSingleStep: true,
154
154
  generator: (nb, opts) => getDistinctQuestions(() => getCartesianFromTwoPointsQuestion(opts), nb),
155
155
  qcmTimer: 60,
@@ -144,7 +144,7 @@ const getQuestionFromIdentifiers = (identifiers) => {
144
144
  };
145
145
  export const cartesianFromVectorAndPoint = {
146
146
  id: "cartesianFromVectorAndPoint",
147
- label: "Déterminer l'équation cartésienne d'une droite en connaissant un point et un vecteur directeur",
147
+ label: "Déterminer une équation cartésienne d'une droite en connaissant un point et un vecteur directeur",
148
148
  isSingleStep: true,
149
149
  generator: (nb, opts) => getDistinctQuestions(() => getCartesianFromVectorAndPointQuestion(opts), nb),
150
150
  qcmTimer: 60,
@@ -14,5 +14,4 @@ export * from "./quadrilaterals/index.js";
14
14
  export * from "./angles/index.js";
15
15
  export * from "./lines/index.js";
16
16
  export * from "./triangles/index.js";
17
- export * from "./intervals/index.js";
18
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/geometry/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/geometry/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
@@ -14,4 +14,3 @@ export * from "./quadrilaterals/index.js";
14
14
  export * from "./angles/index.js";
15
15
  export * from "./lines/index.js";
16
16
  export * from "./triangles/index.js";
17
- export * from "./intervals/index.js";
@@ -212,7 +212,7 @@ const getQuestionFromIdentifiers = (identifiers) => {
212
212
  };
213
213
  export const cartesianEquationToReduced = {
214
214
  id: "cartesianEquationToReduced",
215
- label: "Passer d'équation réduite d'une droite à équation cartésienne, et inversement",
215
+ label: "Passer de l'équation réduite d'une droite à une équation cartésienne, et inversement",
216
216
  isSingleStep: true,
217
217
  generator: (nb, opts) => getDistinctQuestions(() => getCartesianEquationToReducedQuestion(opts), nb),
218
218
  qcmTimer: 60,
@@ -150,7 +150,7 @@ const getQuestionFromIdentifiers = (identifiers) => {
150
150
  };
151
151
  export const cartesianEquationsIntersection = {
152
152
  id: "cartesianEquationsIntersection",
153
- label: "Déterminer l'intersection de deux droites à partir de leur équation cartésienne",
153
+ label: "Déterminer l'intersection de deux droites à partir de leurs équations cartésiennes",
154
154
  isSingleStep: true,
155
155
  generator: (nb, opts) => getDistinctQuestions(() => getCartesianEquationsIntersectionQuestion(opts), nb),
156
156
  qcmTimer: 60,
@@ -1 +1 @@
1
- {"version":3,"file":"findParallelLineFromCartesianEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/lines/findParallelLineFromCartesianEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAO7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,mBAAmB,EAAE,eAAe,CAAC;IACrC,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAgIF,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAAC,WAAW,CAmBvE,CAAC"}
1
+ {"version":3,"file":"findParallelLineFromCartesianEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/lines/findParallelLineFromCartesianEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAO7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,mBAAmB,EAAE,eAAe,CAAC;IACrC,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAgIF,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAAC,WAAW,CAoBvE,CAAC"}
@@ -114,7 +114,7 @@ const getQuestionFromIdentifiers = (identifiers) => {
114
114
  };
115
115
  export const findParallelLineFromCartesianEquation = {
116
116
  id: "findParallelLineFromCartesianEquation",
117
- label: "Droites parallèles via leurs équations cartésiennes",
117
+ label: "Étudier le parallélisme de deux droites à partir d'équations cartésiennes",
118
118
  isSingleStep: true,
119
119
  generator: (nb, opts) => getDistinctQuestions(() => getFindParallelLineFromCartesianEquationQuestion(opts), nb),
120
120
  qcmTimer: 60,
@@ -1 +1 @@
1
- {"version":3,"file":"findParallelLineFromReductEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/lines/findParallelLineFromReductEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAK7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAqGF,eAAO,MAAM,kCAAkC,EAAE,QAAQ,CAAC,WAAW,CAmBpE,CAAC"}
1
+ {"version":3,"file":"findParallelLineFromReductEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/lines/findParallelLineFromReductEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAK7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAqGF,eAAO,MAAM,kCAAkC,EAAE,QAAQ,CAAC,WAAW,CAoBpE,CAAC"}
@@ -93,7 +93,7 @@ const getQuestionFromIdentifiers = (identifiers) => {
93
93
  };
94
94
  export const findParallelLineFromReductEquation = {
95
95
  id: "findParallelLineFromReductEquation",
96
- label: "Droites parallèles via leur équation réduite",
96
+ label: "Étudier le parallélisme de deux droites à partir de leurs équations réduites",
97
97
  isSingleStep: true,
98
98
  generator: (nb, opts) => getDistinctQuestions(() => getFindParallelLineFromReductEquationQuestion(opts), nb),
99
99
  qcmTimer: 60,
@@ -137,7 +137,7 @@ const isAnswerValid = (ans, { answer, uX, uY, aX, aY }) => {
137
137
  };
138
138
  export const lineFromDirectorVector = {
139
139
  id: "lineFromDirectorVector",
140
- label: "Équation réduite d'une droite connaissant un point et un vecteur directeur",
140
+ label: "Déterminer l'équation réduite d'une droite en connaissant un point et un vecteur directeur",
141
141
  isSingleStep: true,
142
142
  generator: (nb) => getDistinctQuestions(getLineFromDirectorVectorQuestion, nb),
143
143
  qcmTimer: 60,
@@ -1 +1 @@
1
- {"version":3,"file":"calculateNegativePower.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/calculateNegativePower.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAmBrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAkHF,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,EAcT,MAAM,6BAA6B,CAAC;AAmBrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAkHF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAexD,CAAC"}
@@ -104,4 +104,5 @@ export const calculateNegativePower = {
104
104
  subject: "Mathématiques",
105
105
  getQuestionFromIdentifiers,
106
106
  hasHintAndCorrection: true,
107
+ shouldHaveCalculator: false,
107
108
  };
@@ -1 +1 @@
1
- {"version":3,"file":"powersDivision.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/powersDivision.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,EACL,QAAQ,EAcT,MAAM,mBAAmB,CAAC;AAK3B,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AA6HF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAiBzD,CAAC;AACF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAiB9D,CAAC"}
1
+ {"version":3,"file":"powersDivision.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/powersDivision.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,EACL,QAAQ,EAcT,MAAM,mBAAmB,CAAC;AAK3B,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AA6HF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAkBzD,CAAC;AACF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAkB9D,CAAC"}
@@ -125,6 +125,7 @@ export const powersDivision = {
125
125
  subject: "Mathématiques",
126
126
  hasHintAndCorrection: true,
127
127
  getQuestionFromIdentifiers,
128
+ shouldHaveCalculator: false,
128
129
  };
129
130
  export const powersOfTenDivision = {
130
131
  id: "powersOfTenDivision",
@@ -139,4 +140,5 @@ export const powersOfTenDivision = {
139
140
  subject: "Mathématiques",
140
141
  hasHintAndCorrection: true,
141
142
  getQuestionFromIdentifiers,
143
+ shouldHaveCalculator: false,
142
144
  };
@@ -1 +1 @@
1
- {"version":3,"file":"powersMixOperations.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/powersMixOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAwBrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvB,CAAC;AA0KF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAcrD,CAAC"}
1
+ {"version":3,"file":"powersMixOperations.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/powersMixOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAwBrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvB,CAAC;AA0KF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAerD,CAAC"}
@@ -160,4 +160,5 @@ export const powersMixOperations = {
160
160
  subject: "Mathématiques",
161
161
  hasHintAndCorrection: true,
162
162
  getQuestionFromIdentifiers,
163
+ shouldHaveCalculator: false,
163
164
  };
@@ -1 +1 @@
1
- {"version":3,"file":"powersPower.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/powersPower.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,EACL,QAAQ,EAeT,MAAM,mBAAmB,CAAC;AAG3B,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AA6GF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAiB3D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAiBtD,CAAC"}
1
+ {"version":3,"file":"powersPower.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/powersPower.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,EACL,QAAQ,EAeT,MAAM,mBAAmB,CAAC;AAG3B,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AA6GF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAkB3D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAkBtD,CAAC"}
@@ -114,6 +114,7 @@ export const powersOfTenPower = {
114
114
  subject: "Mathématiques",
115
115
  getQuestionFromIdentifiers,
116
116
  hasHintAndCorrection: true,
117
+ shouldHaveCalculator: false,
117
118
  };
118
119
  export const powersPower = {
119
120
  id: "powersPower",
@@ -128,4 +129,5 @@ export const powersPower = {
128
129
  subject: "Mathématiques",
129
130
  getQuestionFromIdentifiers,
130
131
  hasHintAndCorrection: true,
132
+ shouldHaveCalculator: false,
131
133
  };
@@ -1 +1 @@
1
- {"version":3,"file":"powersProduct.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/powersProduct.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,EACL,QAAQ,EAiBT,MAAM,mBAAmB,CAAC;AAM3B,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AA6IF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAuB7D,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAoBxD,CAAC"}
1
+ {"version":3,"file":"powersProduct.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/powers/powersProduct.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,EACL,QAAQ,EAiBT,MAAM,mBAAmB,CAAC;AAM3B,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AA6IF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAwB7D,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAqBxD,CAAC"}
@@ -134,6 +134,7 @@ export const powersOfTenProduct = {
134
134
  getHint,
135
135
  getCorrection,
136
136
  getStartStatement,
137
+ shouldHaveCalculator: false,
137
138
  };
138
139
  export const powersProduct = {
139
140
  id: "powersProduct",
@@ -151,4 +152,5 @@ export const powersProduct = {
151
152
  hasHintAndCorrection: true,
152
153
  options,
153
154
  getQuestionFromIdentifiers,
155
+ shouldHaveCalculator: false,
154
156
  };
@@ -1,4 +1,3 @@
1
1
  export * from "./calculateFrequency.js";
2
2
  export * from "./calculateFrequencyInList.js";
3
- export * from "./samplingFrequency.js";
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/basicStats/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/basicStats/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export * from "./calculateFrequency.js";
2
2
  export * from "./calculateFrequencyInList.js";
3
- export * from "./samplingFrequency.js";
@@ -11,8 +11,6 @@ export * from "./basicStats/index.js";
11
11
  export * from "./randomVariable/index.js";
12
12
  export * from "./unionIntersectionProba.js";
13
13
  export * from "./checkEquiprobability.js";
14
- export * from "./getSampleCountAndSize.js";
15
14
  export * from "./events/index.js";
16
15
  export * from "./basicProbas/index.js";
17
- export * from "./getQuartileProportionQuestion.js";
18
16
  //# 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,6BAA6B,CAAC;AAC5C,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;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/probaStat/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,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;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
@@ -11,7 +11,5 @@ export * from "./basicStats/index.js";
11
11
  export * from "./randomVariable/index.js";
12
12
  export * from "./unionIntersectionProba.js";
13
13
  export * from "./checkEquiprobability.js";
14
- export * from "./getSampleCountAndSize.js";
15
14
  export * from "./events/index.js";
16
15
  export * from "./basicProbas/index.js";
17
- export * from "./getQuartileProportionQuestion.js";
@@ -12,8 +12,8 @@ const options = [
12
12
  label: "Indicateurs",
13
13
  target: GeneratorOptionTarget.generation,
14
14
  type: GeneratorOptionType.multiselect,
15
- defaultValue: ["Moyenne", "Médiane"],
16
- values: ["Moyenne", "Médiane"],
15
+ defaultValue: ["moyenne", "médiane"],
16
+ values: ["moyenne", "médiane"],
17
17
  },
18
18
  ];
19
19
  const getPropositions = (n, { answer, ...identifiers }) => {
@@ -8,8 +8,8 @@ import { average } from "../../../../utils/average.js";
8
8
  const getPropositions = (n, { answer }) => {
9
9
  const propositions = [];
10
10
  addValidProp(propositions, answer, "raw");
11
- tryToAddWrongProp(propositions, "Série 1", "raw");
12
- tryToAddWrongProp(propositions, "Série 2", "raw");
11
+ tryToAddWrongProp(propositions, "Série A", "raw");
12
+ tryToAddWrongProp(propositions, "Série B", "raw");
13
13
  tryToAddWrongProp(propositions, "On ne peut pas savoir", "raw");
14
14
  return shuffleProps(propositions, n);
15
15
  };
@@ -0,0 +1,12 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ labels: string[];
4
+ serie1: number[];
5
+ serie2: number[];
6
+ a: number;
7
+ b: number;
8
+ isBetween: boolean;
9
+ };
10
+ export declare const getQuartileProportionQuestion: Exercise<Identifiers>;
11
+ export {};
12
+ //# sourceMappingURL=getQuartileProportionQuestion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getQuartileProportionQuestion.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/stats1var/getQuartileProportionQuestion.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAwMF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,CAqB/D,CAAC"}
@@ -0,0 +1,178 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { randint } from "../../../../math/utils/random/randint.js";
4
+ import { coinFlip } from "../../../../utils/alea/coinFlip.js";
5
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
6
+ import { dollarize } from "../../../../utils/latex/dollarize.js";
7
+ import { mdTable } from "../../../../utils/markdown/mdTable.js";
8
+ const getPropositions = (n, { answer }) => {
9
+ const propositions = [];
10
+ addValidProp(propositions, answer, "raw");
11
+ tryToAddWrongProp(propositions, "Série $1$", "raw");
12
+ tryToAddWrongProp(propositions, "Série $2$", "raw");
13
+ return shuffleProps(propositions, n);
14
+ };
15
+ const getAnswer = ({ serie1, serie2, a, b, isBetween, }) => {
16
+ const mainSeries = serie1.includes(b) ? serie1 : serie2;
17
+ const otherSeries = mainSeries === serie1 ? serie2 : serie1;
18
+ const indexOfB = mainSeries.indexOf(b);
19
+ const indexOfA = mainSeries.indexOf(a);
20
+ const diff = indexOfB - indexOfA + 1;
21
+ let count = 0;
22
+ for (let idx = 0; idx < otherSeries.length; idx++) {
23
+ const val = otherSeries[idx];
24
+ if (isBetween) {
25
+ if ((val >= a || otherSeries[idx + 1] > a) &&
26
+ (val <= b || otherSeries[idx - 1] < b)) {
27
+ count++;
28
+ }
29
+ }
30
+ else {
31
+ if (val < b) {
32
+ count++;
33
+ }
34
+ }
35
+ }
36
+ const mainSeriesText = mainSeries === serie1 ? "Série $1$" : "Série $2$";
37
+ const otherSeriesText = mainSeries === serie1 ? "Série $2$" : "Série $1$";
38
+ const condition = isBetween ? diff >= count : indexOfB < count;
39
+ return condition ? mainSeriesText : otherSeriesText;
40
+ };
41
+ const getInstruction = ({ labels, serie1, serie2, a, b, isBetween, }) => {
42
+ const question = isBetween
43
+ ? `Quelle série a la plus grande proportion de valeurs entre $${a}$ et $${b}$ ?`
44
+ : `Quelle série a la plus grande proportion de valeurs supérieures à $${b}$ ?`;
45
+ return (`${question}\n\n` +
46
+ mdTable([
47
+ ["", ...labels.map((l, i) => (i === 1 || i === 3 ? dollarize(l) : l))],
48
+ ["Série $1$", ...serie1.map((l) => dollarize(l))],
49
+ ["Série $2$", ...serie2.map((l) => dollarize(l))],
50
+ ]));
51
+ };
52
+ const getHint = (identifiers) => {
53
+ return `
54
+ Les quartiles permettent de découper une série en quatre parties égales :
55
+
56
+ - $Q_1$ (premier quartile) : au moins $25 \\%$ des valeurs sont inférieures ou égales à cette valeur.
57
+ - Médiane : au moins $50 \\%$ des valeurs sont inférieures ou égales à cette valeur.
58
+ - $Q_3$ (troisième quartile) : au moins $75 \\%$ des valeurs sont inférieures ou égales à cette valeur.
59
+ `;
60
+ };
61
+ const getCorrection = (identifiers) => {
62
+ const { labels, serie1, serie2, a, b, isBetween } = identifiers;
63
+ const isBInSerie1 = serie1.includes(b);
64
+ const mainSeries = isBInSerie1 ? serie1 : serie2;
65
+ const otherSeries = isBInSerie1 ? serie2 : serie1;
66
+ const mainSeriesLabel = isBInSerie1 ? "série $1$" : "série $2$";
67
+ const otherSeriesLabel = isBInSerie1 ? "série $2$" : "série $1$";
68
+ const indexOfA = mainSeries.indexOf(a);
69
+ const indexOfB = mainSeries.indexOf(b);
70
+ let i = 0;
71
+ for (let idx = 0; idx < otherSeries.length; idx++) {
72
+ const val = otherSeries[idx];
73
+ if (isBetween) {
74
+ if ((val >= a || otherSeries[idx + 1] > a) &&
75
+ (val <= b || otherSeries[idx - 1] < b)) {
76
+ i++;
77
+ }
78
+ }
79
+ else {
80
+ if (val < b) {
81
+ i++;
82
+ }
83
+ }
84
+ }
85
+ const quartilePercentages = [0, 25, 50, 75, 100];
86
+ const labelA = labels[indexOfA];
87
+ const labelB = labels[indexOfB];
88
+ const valueA = a;
89
+ const valueB = b;
90
+ const diff = indexOfB - indexOfA + 1;
91
+ const percentageBetween = quartilePercentages[diff - 1];
92
+ const percentageAbove = 100 - quartilePercentages[indexOfB];
93
+ const answer = getAnswer(identifiers);
94
+ const answerFormatted = answer === "Série $1$" ? "série $1$" : "série $2$";
95
+ const decideWord = answerFormatted === mainSeriesLabel ? "moins" : "plus";
96
+ const proportionB = isBetween
97
+ ? `$${percentageBetween}\\%$ des valeurs sont entre $${valueA}$ et $${valueB}$.\n\n`
98
+ : `$${percentageAbove}\\%$ des valeurs sont supérieures à $${valueB}$.\n\n`;
99
+ const proportionOther = i === 0
100
+ ? `Il n'y a aucune valeur dans l'intervalle $[${valueA}; ${valueB}]$.\n\n`
101
+ : isBetween
102
+ ? `${decideWord} $${percentageBetween}\\%$ des valeurs sont entre $${valueA}$ et $${valueB}$.\n\n`
103
+ : `${otherSeries[indexOfB] > valueB ? "plus" : "moins"} de $${100 - quartilePercentages[i - 1]}\\%$ des valeurs sont supérieures à $${valueB}$.\n\n`;
104
+ const comparison = isBetween
105
+ ? `La ${answer} a donc une proportion plus grande de valeurs dans l'intervalle.`
106
+ : `La ${answer} a donc une proportion plus grande de valeurs supérieures à $${valueB}$.`;
107
+ return isBetween
108
+ ? `On peut estimer cette proportion en observant la position des valeurs $${valueA}$ et $${valueB}$ dans chaque série :
109
+
110
+ - Dans la ${mainSeriesLabel}, on a $${labelA} = ${valueA}$ et $${labelB} = ${valueB}$, donc ${proportionB}
111
+ - Dans la ${otherSeriesLabel}, on a $${labelA} = ${otherSeries[indexOfA]}$ et $${labelB} = ${otherSeries[indexOfB]}$, donc ${proportionOther}
112
+
113
+ ${comparison}`
114
+ : `On peut estimer cette proportion en observant la position de la valeur $${valueB}$ dans chaque série :
115
+
116
+ - Dans la ${mainSeriesLabel}, on a $${labelB} = ${valueB}$, donc ${proportionB}
117
+ - Dans la ${otherSeriesLabel}, on a $${labelB} = ${otherSeries[indexOfB]}$, ${proportionOther}
118
+
119
+ ${comparison}`;
120
+ };
121
+ const getKeys = () => [];
122
+ const isAnswerValid = (ans, { answer }) => {
123
+ try {
124
+ throw Error("VEA not implemented");
125
+ }
126
+ catch (err) {
127
+ return handleVEAError(err);
128
+ }
129
+ };
130
+ const makeQuartileSeries = (min, exclude) => {
131
+ const serie = [min];
132
+ for (let i = 0; i < 4; i++) {
133
+ const prev = serie[serie.length - 1];
134
+ serie.push(randint(prev + 1, prev + 6, exclude));
135
+ }
136
+ return serie;
137
+ };
138
+ const getGetQuartileProportionQuestionQuestion = () => {
139
+ const labels = ["Min", "Q_1", "Méd", "Q_3", "Max"];
140
+ const min = randint(0, 10);
141
+ const serie1 = makeQuartileSeries(min);
142
+ const serie2 = makeQuartileSeries(min, serie1);
143
+ const isBetween = coinFlip();
144
+ const chosenSerie = coinFlip() ? serie1 : serie2;
145
+ const indexOfA = randint(0, serie1.length - (isBetween ? 1 : 2));
146
+ const a = chosenSerie[indexOfA];
147
+ const indexOfB = randint(indexOfA + 1, isBetween ? chosenSerie.length : chosenSerie.length - 1);
148
+ const b = chosenSerie[indexOfB];
149
+ const identifiers = { labels, serie1, serie2, a, b, isBetween };
150
+ return getQuestionFromIdentifiers(identifiers);
151
+ };
152
+ const getQuestionFromIdentifiers = (identifiers) => ({
153
+ answer: getAnswer(identifiers),
154
+ instruction: getInstruction(identifiers),
155
+ keys: getKeys(identifiers),
156
+ answerFormat: "raw",
157
+ identifiers,
158
+ hint: getHint(identifiers),
159
+ correction: getCorrection(identifiers),
160
+ });
161
+ export const getQuartileProportionQuestion = {
162
+ id: "getQuartileProportionQuestion",
163
+ label: "Comparer et interpréter les indicateurs de deux séries statistiques",
164
+ isSingleStep: true,
165
+ generator: (nb, opts) => getDistinctQuestions(() => getGetQuartileProportionQuestionQuestion(opts), nb),
166
+ qcmTimer: 60,
167
+ freeTimer: 60,
168
+ getPropositions,
169
+ isAnswerValid,
170
+ subject: "Mathématiques",
171
+ getInstruction,
172
+ getHint,
173
+ getCorrection,
174
+ getAnswer,
175
+ getQuestionFromIdentifiers,
176
+ hasHintAndCorrection: true,
177
+ answerType: "QCU",
178
+ };
@@ -17,4 +17,5 @@ export * from "./compareSeriesDispersion.js";
17
17
  export * from "./averageLinearity.js";
18
18
  export * from "./calculateMeanFromFrequencies.js";
19
19
  export * from "./cumulativeSum.js";
20
+ export * from "./getQuartileProportionQuestion.js";
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/stats1var/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/probaStat/stats1var/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,cAAc,oCAAoC,CAAC"}
@@ -17,3 +17,4 @@ export * from "./compareSeriesDispersion.js";
17
17
  export * from "./averageLinearity.js";
18
18
  export * from "./calculateMeanFromFrequencies.js";
19
19
  export * from "./cumulativeSum.js";
20
+ export * from "./getQuartileProportionQuestion.js";
@@ -0,0 +1,12 @@
1
+ import { Exercise } from "../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ expCount: number;
4
+ repCount: number;
5
+ isSize: boolean;
6
+ };
7
+ type Options = {
8
+ isSize?: boolean;
9
+ };
10
+ export declare const getSampleCountAndSize: Exercise<Identifiers, Options>;
11
+ export {};
12
+ //# sourceMappingURL=getSampleCountAndSize.d.ts.map