math-exercises 3.0.86 → 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 (149) 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/index.d.ts +0 -10
  6. package/lib/exercises/math/calcul/arithmetics/index.d.ts.map +1 -1
  7. package/lib/exercises/math/calcul/arithmetics/index.js +0 -10
  8. package/lib/exercises/math/calcul/arithmetics/primeNumbers.js +1 -1
  9. package/lib/exercises/math/calcul/fractions/evalFractionExpression.d.ts +9 -0
  10. package/lib/exercises/math/calcul/fractions/evalFractionExpression.d.ts.map +1 -0
  11. package/lib/exercises/math/calcul/fractions/evalFractionExpression.js +113 -0
  12. package/lib/exercises/math/calcul/fractions/fractionSquare.d.ts.map +1 -1
  13. package/lib/exercises/math/calcul/fractions/fractionSquare.js +1 -0
  14. package/lib/exercises/math/calcul/fractions/index.d.ts +2 -0
  15. package/lib/exercises/math/calcul/fractions/index.d.ts.map +1 -1
  16. package/lib/exercises/math/calcul/fractions/index.js +2 -0
  17. package/lib/exercises/math/calcul/fractions/powerNotation.d.ts.map +1 -1
  18. package/lib/exercises/math/calcul/fractions/powerNotation.js +1 -0
  19. package/lib/exercises/math/calcul/fractions/simplifyFraction.d.ts.map +1 -1
  20. package/lib/exercises/math/calcul/fractions/simplifyFraction.js +1 -0
  21. package/lib/exercises/math/calcul/fractions/simplifyFractionWithPrimeFactorization.d.ts.map +1 -1
  22. package/lib/exercises/math/calcul/fractions/simplifyFractionWithPrimeFactorization.js +1 -0
  23. package/lib/exercises/math/calcul/fractions/simplifyToFraction.d.ts +9 -0
  24. package/lib/exercises/math/calcul/fractions/simplifyToFraction.d.ts.map +1 -0
  25. package/lib/exercises/math/calcul/fractions/simplifyToFraction.js +168 -0
  26. package/lib/exercises/math/calcul/ordering/framing.js +3 -3
  27. package/lib/exercises/math/calcul/sign/absoluteNumber.d.ts.map +1 -1
  28. package/lib/exercises/math/calcul/sign/absoluteNumber.js +1 -0
  29. package/lib/exercises/math/calculLitteral/inequations/index.d.ts +2 -0
  30. package/lib/exercises/math/calculLitteral/inequations/index.d.ts.map +1 -1
  31. package/lib/exercises/math/calculLitteral/inequations/index.js +2 -0
  32. package/lib/exercises/math/calculLitteral/inequations/isInequalityTrue.d.ts +15 -0
  33. package/lib/exercises/math/calculLitteral/inequations/isInequalityTrue.d.ts.map +1 -0
  34. package/lib/exercises/math/calculLitteral/inequations/isInequalityTrue.js +143 -0
  35. package/lib/exercises/math/calculLitteral/inequations/minNumberInequality.d.ts +13 -0
  36. package/lib/exercises/math/calculLitteral/inequations/minNumberInequality.d.ts.map +1 -0
  37. package/lib/exercises/math/calculLitteral/inequations/minNumberInequality.js +192 -0
  38. package/lib/exercises/math/calculLitteral/systems/verifySystemSolution.js +1 -1
  39. package/lib/exercises/math/functions/absolute/calculateDistanceBetweenNumbers.d.ts +8 -0
  40. package/lib/exercises/math/functions/absolute/calculateDistanceBetweenNumbers.d.ts.map +1 -0
  41. package/lib/exercises/math/functions/absolute/calculateDistanceBetweenNumbers.js +102 -0
  42. package/lib/exercises/math/functions/absolute/calculateDistanceWithAbsoluteValue.d.ts +10 -0
  43. package/lib/exercises/math/functions/absolute/calculateDistanceWithAbsoluteValue.d.ts.map +1 -0
  44. package/lib/exercises/math/functions/absolute/calculateDistanceWithAbsoluteValue.js +112 -0
  45. package/lib/exercises/math/functions/absolute/calculateWithAbsoluteValue.d.ts +8 -0
  46. package/lib/exercises/math/functions/absolute/calculateWithAbsoluteValue.d.ts.map +1 -0
  47. package/lib/exercises/math/functions/absolute/calculateWithAbsoluteValue.js +124 -0
  48. package/lib/exercises/math/functions/absolute/index.d.ts +3 -0
  49. package/lib/exercises/math/functions/absolute/index.d.ts.map +1 -1
  50. package/lib/exercises/math/functions/absolute/index.js +3 -0
  51. package/lib/exercises/math/functions/basics/index.d.ts +1 -0
  52. package/lib/exercises/math/functions/basics/index.d.ts.map +1 -1
  53. package/lib/exercises/math/functions/basics/index.js +1 -1
  54. package/lib/exercises/math/functions/basics/valueTableCompletion.d.ts +2 -1
  55. package/lib/exercises/math/functions/basics/valueTableCompletion.d.ts.map +1 -1
  56. package/lib/exercises/math/functions/basics/valueTableCompletion.js +103 -31
  57. package/lib/exercises/math/functions/sqrt/index.d.ts +2 -0
  58. package/lib/exercises/math/functions/sqrt/index.d.ts.map +1 -1
  59. package/lib/exercises/math/functions/sqrt/index.js +2 -0
  60. package/lib/exercises/math/functions/sqrt/sqrtInequality.d.ts +10 -0
  61. package/lib/exercises/math/functions/sqrt/sqrtInequality.d.ts.map +1 -0
  62. package/lib/exercises/math/functions/sqrt/sqrtInequality.js +160 -0
  63. package/lib/exercises/math/functions/sqrt/squareRootCalculation.d.ts +8 -0
  64. package/lib/exercises/math/functions/sqrt/squareRootCalculation.d.ts.map +1 -0
  65. package/lib/exercises/math/functions/sqrt/squareRootCalculation.js +108 -0
  66. package/lib/exercises/math/geometry/angles/recognizeAngleType.d.ts.map +1 -1
  67. package/lib/exercises/math/geometry/angles/recognizeAngleType.js +0 -1
  68. package/lib/exercises/math/geometry/cartesian/cartesianEquationOfLine.d.ts.map +1 -1
  69. package/lib/exercises/math/geometry/cartesian/cartesianEquationOfLine.js +1 -1
  70. package/lib/exercises/math/geometry/cartesian/cartesianFromTwoPoints.js +1 -1
  71. package/lib/exercises/math/geometry/cartesian/cartesianFromVectorAndPoint.js +1 -1
  72. package/lib/exercises/math/geometry/index.d.ts +0 -1
  73. package/lib/exercises/math/geometry/index.d.ts.map +1 -1
  74. package/lib/exercises/math/geometry/index.js +0 -1
  75. package/lib/exercises/math/geometry/lines/cartesianEquationToReduced.js +1 -1
  76. package/lib/exercises/math/geometry/lines/cartesianEquationsIntersection.js +1 -1
  77. package/lib/exercises/math/geometry/lines/findParallelLineFromCartesianEquation.d.ts.map +1 -1
  78. package/lib/exercises/math/geometry/lines/findParallelLineFromCartesianEquation.js +1 -1
  79. package/lib/exercises/math/geometry/lines/findParallelLineFromReductEquation.d.ts.map +1 -1
  80. package/lib/exercises/math/geometry/lines/findParallelLineFromReductEquation.js +1 -1
  81. package/lib/exercises/math/geometry/vectors/lineFromDirectorVector.js +1 -1
  82. package/lib/exercises/math/powers/calculateNegativePower.d.ts.map +1 -1
  83. package/lib/exercises/math/powers/calculateNegativePower.js +1 -0
  84. package/lib/exercises/math/powers/powersDivision.d.ts.map +1 -1
  85. package/lib/exercises/math/powers/powersDivision.js +2 -0
  86. package/lib/exercises/math/powers/powersMixOperations.d.ts.map +1 -1
  87. package/lib/exercises/math/powers/powersMixOperations.js +1 -0
  88. package/lib/exercises/math/powers/powersPower.d.ts.map +1 -1
  89. package/lib/exercises/math/powers/powersPower.js +2 -0
  90. package/lib/exercises/math/powers/powersProduct.d.ts.map +1 -1
  91. package/lib/exercises/math/powers/powersProduct.js +2 -0
  92. package/lib/exercises/math/probaStat/basicStats/index.d.ts +0 -1
  93. package/lib/exercises/math/probaStat/basicStats/index.d.ts.map +1 -1
  94. package/lib/exercises/math/probaStat/basicStats/index.js +0 -1
  95. package/lib/exercises/math/probaStat/index.d.ts +0 -2
  96. package/lib/exercises/math/probaStat/index.d.ts.map +1 -1
  97. package/lib/exercises/math/probaStat/index.js +0 -2
  98. package/lib/exercises/math/probaStat/stats1var/choseReasoningForIndicator.js +2 -2
  99. package/lib/exercises/math/probaStat/stats1var/getQuartileProportionQuestion.d.ts +12 -0
  100. package/lib/exercises/math/probaStat/stats1var/getQuartileProportionQuestion.d.ts.map +1 -0
  101. package/lib/exercises/math/probaStat/stats1var/getQuartileProportionQuestion.js +178 -0
  102. package/lib/exercises/math/probaStat/stats1var/index.d.ts +1 -0
  103. package/lib/exercises/math/probaStat/stats1var/index.d.ts.map +1 -1
  104. package/lib/exercises/math/probaStat/stats1var/index.js +1 -0
  105. package/lib/exercises/math/sampling/getSampleCountAndSize.d.ts +12 -0
  106. package/lib/exercises/math/sampling/getSampleCountAndSize.d.ts.map +1 -0
  107. package/lib/exercises/math/sampling/getSampleCountAndSize.js +95 -0
  108. package/lib/exercises/math/sampling/index.d.ts +2 -0
  109. package/lib/exercises/math/sampling/index.d.ts.map +1 -1
  110. package/lib/exercises/math/sampling/index.js +2 -0
  111. package/lib/exercises/math/sampling/samplingFrequency.d.ts +7 -0
  112. package/lib/exercises/math/sampling/samplingFrequency.d.ts.map +1 -0
  113. package/lib/exercises/math/sampling/samplingFrequency.js +106 -0
  114. package/lib/exercises/math/sets/intervals/index.d.ts +2 -0
  115. package/lib/exercises/math/sets/intervals/index.d.ts.map +1 -1
  116. package/lib/exercises/math/sets/intervals/index.js +2 -0
  117. package/lib/exercises/math/sets/intervals/intervalOnGraph.d.ts +8 -0
  118. package/lib/exercises/math/sets/intervals/intervalOnGraph.d.ts.map +1 -0
  119. package/lib/exercises/math/sets/intervals/intervalOnGraph.js +156 -0
  120. package/lib/exercises/math/sets/intervals/isNumberInInterval.d.ts +9 -0
  121. package/lib/exercises/math/sets/intervals/isNumberInInterval.d.ts.map +1 -0
  122. package/lib/exercises/math/sets/intervals/isNumberInInterval.js +174 -0
  123. package/lib/exercises/math/squareRoots/simpifySquareRoot.d.ts.map +1 -1
  124. package/lib/exercises/math/squareRoots/simpifySquareRoot.js +1 -0
  125. package/lib/exercises/math/squareRoots/squareRootIdentities.d.ts.map +1 -1
  126. package/lib/exercises/math/squareRoots/squareRootIdentities.js +1 -0
  127. package/lib/exercises/math/squareRoots/squareRootsDistributivity.d.ts.map +1 -1
  128. package/lib/exercises/math/squareRoots/squareRootsDistributivity.js +1 -0
  129. package/lib/exercises/math/squareRoots/squareRootsFractions.d.ts.map +1 -1
  130. package/lib/exercises/math/squareRoots/squareRootsFractions.js +1 -0
  131. package/lib/exercises/math/squareRoots/squareRootsProducts.d.ts.map +1 -1
  132. package/lib/exercises/math/squareRoots/squareRootsProducts.js +1 -0
  133. package/lib/exercises/math/squareRoots/squareRootsSum.d.ts.map +1 -1
  134. package/lib/exercises/math/squareRoots/squareRootsSum.js +1 -0
  135. package/lib/index.d.ts +60 -55
  136. package/lib/index.d.ts.map +1 -1
  137. package/lib/math/geometry/line.d.ts.map +1 -1
  138. package/lib/math/geometry/line.js +0 -11
  139. package/lib/server.js +21 -0
  140. package/lib/tests/exoTest.d.ts.map +1 -1
  141. package/lib/tests/exoTest.js +9 -2
  142. package/lib/tests/questionTest.d.ts.map +1 -1
  143. package/lib/tests/questionTest.js +21 -2
  144. package/lib/tree/nodes/equations/equalNode.d.ts.map +1 -1
  145. package/lib/tree/nodes/equations/equalNode.js +0 -1
  146. package/lib/utils/markdown/mdTable.d.ts +1 -1
  147. package/lib/utils/markdown/mdTable.d.ts.map +1 -1
  148. package/lib/utils/markdown/mdTable.js +10 -5
  149. package/package.json +1 -1
@@ -97,6 +97,9 @@ export type QCMGenerator<TIdentifiers, TOptions = {}> = (n: number, args: {
97
97
  export type VEA<TIdentifiers, TOptions = {}> = (studentAnswer: string, args: {
98
98
  answer: string;
99
99
  } & TIdentifiers, options?: TOptions) => boolean;
100
+ export type TableVEA<TIdentifiers, TOptions = {}> = (studentAnswer: string[][], args: {
101
+ answerTable: string[][];
102
+ } & TIdentifiers, options?: TOptions) => boolean;
100
103
  export type GGBVEA<TIdentifiers, TOptions = {}> = (studentAnswer: string[], args: {
101
104
  ggbAnswer: string[];
102
105
  } & TIdentifiers, options?: TOptions) => boolean;
@@ -106,6 +109,7 @@ export type GetCorrection<TIdentifiers, TOptions = {}> = (args: TIdentifiers, op
106
109
  export type GetInstruction<TIdentifiers, TOptions = {}> = (args: TIdentifiers, options?: TOptions) => string;
107
110
  export type GetStartStatement<TIdentifiers, TOptions = {}> = (args: TIdentifiers, options?: TOptions) => string;
108
111
  export type GetAnswer<TIdentifiers, TOptions = {}> = (args: TIdentifiers, options?: TOptions) => string;
112
+ export type GetAnswerTable<TIdentifiers, TOptions = {}> = (args: TIdentifiers, options?: TOptions) => string[][];
109
113
  export type GetKeys<TIdentifiers, TOptions = {}> = (args: TIdentifiers, options?: TOptions) => (KeyId | KeyProps)[];
110
114
  export type GetGGBAnswer<TIdentifiers, TOptions = {}> = (args: TIdentifiers, options?: TOptions) => string[];
111
115
  export type GetGGBOptions<TIdentifiers, TOptions = {}> = (args: TIdentifiers, options?: TOptions) => GeogebraOptions;
@@ -144,10 +148,12 @@ export interface Exercise<TIdentifiers = {}, TOptions = {}> {
144
148
  qcmTimer?: number;
145
149
  freeTimer?: number;
146
150
  ggbTimer?: number;
151
+ valueTableTimer?: number;
147
152
  getPropositions?: QCMGenerator<{
148
153
  answer: string;
149
154
  } & TIdentifiers, TOptions>;
150
155
  isAnswerValid?: VEA<TIdentifiers, TOptions>;
156
+ isAnswerTableValid?: TableVEA<TIdentifiers, TOptions>;
151
157
  isGGBAnswerValid?: GGBVEA<TIdentifiers, TOptions>;
152
158
  hasGeogebra?: boolean;
153
159
  subject: "Mathématiques" | "Chimie" | "Physique";
@@ -158,6 +164,7 @@ export interface Exercise<TIdentifiers = {}, TOptions = {}> {
158
164
  getCorrection?: GetCorrection<TIdentifiers, TOptions>;
159
165
  getKeys?: GetKeys<TIdentifiers, TOptions>;
160
166
  getAnswer?: GetAnswer<TIdentifiers, TOptions>;
167
+ getAnswerTable?: GetAnswerTable<TIdentifiers, TOptions>;
161
168
  getGGBAnswer?: GetGGBAnswer<TIdentifiers, TOptions>;
162
169
  getGGBOptions?: GetGGBOptions<TIdentifiers, TOptions>;
163
170
  getStudentGGBOptions?: GetStudentGGBOptions<TIdentifiers, TOptions>;
@@ -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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"}
@@ -152,7 +152,7 @@ const getQuestionFromIdentifiers = (identifiers) => {
152
152
  };
153
153
  export const decimalBoundingOnLine = {
154
154
  id: "decimalBoundingOnLine",
155
- label: "Donner un encadrement dun nombre placé sur une droite graduée",
155
+ label: "Donner un encadrement d'un nombre placé sur une droite graduée",
156
156
  isSingleStep: true,
157
157
  generator: (nb) => getDistinctQuestions(() => getDecimalBoundingOnLineQuestion(), nb),
158
158
  qcmTimer: 60,
@@ -16,7 +16,7 @@ const getAnswer = (identifiers) => {
16
16
  };
17
17
  const getInstruction = (identifiers) => {
18
18
  const { a } = identifiers;
19
- return `Donner la liste des diviseurs positifs de $${a}$ (séparer les valeurs par des point-virgules).`;
19
+ return `Donner la liste des diviseurs positifs de $${a}$ (séparer les valeurs par des points-virgules).`;
20
20
  };
21
21
  const getDivisorsListQuestion = () => {
22
22
  let a = 0;
@@ -10,22 +10,12 @@ export * from "./getParityBetweenTwoNumbers.js";
10
10
  export * from "./primeNumberIdentification.js";
11
11
  export * from "./imageOfSquareFunction.js";
12
12
  export * from "./isNumberDecimal.js";
13
- export * from "./isInequalityTrue.js";
14
- export * from "./minNumberInequality.js";
15
- export * from "./squareRootCalculation.js";
16
13
  export * from "./isPointOnCubicFunction.js";
17
14
  export * from "./isPointOnReciprocalFunction.js";
18
15
  export * from "./isPointOnFunction.js";
19
16
  export * from "./whichMultipleAmI.js";
20
17
  export * from "./isMultipleOrDivisor.js";
21
18
  export * from "./compareInverseValues.js";
22
- export * from "./calculateDistanceBetweenNumbers.js";
23
19
  export * from "./compareSquaredValues.js";
24
- export * from "./calculateWithAbsoluteValue.js";
25
- export * from "./sqrtInequality.js";
26
- export * from "./calculateDistanceWithAbsoluteValue.js";
27
- export * from "./isNumberInInterval.js";
28
- export * from "./evalFractionExpression.js";
29
- export * from "./simplifyToFraction.js";
30
20
  export * from "./decimalBoundingOnLine.js";
31
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/arithmetics/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,yCAAyC,CAAC;AACxD,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/arithmetics/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC"}
@@ -10,21 +10,11 @@ export * from "./getParityBetweenTwoNumbers.js";
10
10
  export * from "./primeNumberIdentification.js";
11
11
  export * from "./imageOfSquareFunction.js";
12
12
  export * from "./isNumberDecimal.js";
13
- export * from "./isInequalityTrue.js";
14
- export * from "./minNumberInequality.js";
15
- export * from "./squareRootCalculation.js";
16
13
  export * from "./isPointOnCubicFunction.js";
17
14
  export * from "./isPointOnReciprocalFunction.js";
18
15
  export * from "./isPointOnFunction.js";
19
16
  export * from "./whichMultipleAmI.js";
20
17
  export * from "./isMultipleOrDivisor.js";
21
18
  export * from "./compareInverseValues.js";
22
- export * from "./calculateDistanceBetweenNumbers.js";
23
19
  export * from "./compareSquaredValues.js";
24
- export * from "./calculateWithAbsoluteValue.js";
25
- export * from "./sqrtInequality.js";
26
- export * from "./calculateDistanceWithAbsoluteValue.js";
27
- export * from "./isNumberInInterval.js";
28
- export * from "./evalFractionExpression.js";
29
- export * from "./simplifyToFraction.js";
30
20
  export * from "./decimalBoundingOnLine.js";
@@ -200,7 +200,7 @@ const options = [
200
200
  export const primeNumbers = {
201
201
  id: "primeNumbers",
202
202
  connector: "=",
203
- label: "Décomposition en produit de facteurs premiers",
203
+ label: "Décomposer un nombre en produit de facteurs premiers",
204
204
  isSingleStep: false,
205
205
  generator: (nb, opts) => getDistinctQuestions(() => getPrimeNumbers(opts), nb, 30),
206
206
  qcmTimer: 60,
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ import { NodeIdentifiers } from "../../../../tree/nodes/nodeConstructor.js";
3
+ type Identifiers = {
4
+ expr: NodeIdentifiers;
5
+ x: number;
6
+ };
7
+ export declare const evalFractionExpression: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=evalFractionExpression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evalFractionExpression.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/evalFractionExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAQ7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAqGF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAiBxD,CAAC"}
@@ -0,0 +1,113 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { RationalConstructor } from "../../../../math/numbers/rationals/rational.js";
4
+ import { AffineConstructor } from "../../../../math/polynomials/affine.js";
5
+ import { randint } from "../../../../math/utils/random/randint.js";
6
+ import { reifyAlgebraic, } from "../../../../tree/nodes/nodeConstructor.js";
7
+ import { frac } from "../../../../tree/nodes/operators/fractionNode.js";
8
+ import { parseAlgebraic } from "../../../../tree/parsers/latexParser.js";
9
+ import { coinFlip } from "../../../../utils/alea/coinFlip.js";
10
+ import { doWhile } from "../../../../utils/doWhile.js";
11
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
12
+ import { alignTex } from "../../../../utils/latex/alignTex.js";
13
+ const getPropositions = (n, { answer }) => {
14
+ const propositions = [];
15
+ addValidProp(propositions, answer);
16
+ while (propositions.length < n) {
17
+ const a = randint(-10, 11).frenchify();
18
+ const newValue = coinFlip()
19
+ ? RationalConstructor.randomIrreductible().toTree().toTex()
20
+ : a;
21
+ tryToAddWrongProp(propositions, newValue);
22
+ }
23
+ return shuffleProps(propositions, n);
24
+ };
25
+ const getAnswer = (identifiers) => {
26
+ const { expr, x } = identifiers;
27
+ const exprNode = reifyAlgebraic(expr);
28
+ const fractionTex = exprNode
29
+ .toDetailedEvaluation({ x: x.toTree() })
30
+ .simplify()
31
+ .toTex();
32
+ return fractionTex;
33
+ };
34
+ const getInstruction = (identifiers) => {
35
+ const { expr, x } = identifiers;
36
+ const exprTex = reifyAlgebraic(expr).toTex();
37
+ return `On note :
38
+
39
+ $$
40
+ A = ${exprTex}
41
+ $$
42
+
43
+ Calculer, si possible, la valeur de $A$ pour $x = ${x}$.`;
44
+ };
45
+ const getHint = (identifiers) => {
46
+ return `Remplace $x$ par $${identifiers.x}$ dans l'expression, puis simplifie.`;
47
+ };
48
+ const getCorrection = ({ expr, x }) => {
49
+ const exprNode = reifyAlgebraic(expr);
50
+ const replaced = exprNode.toDetailedEvaluation({ x: x.toTree() });
51
+ const simplified = replaced.simplify();
52
+ const exprTex = exprNode.toTex();
53
+ const replacedTex = replaced.toTex();
54
+ const simplifiedTex = simplified.toTex();
55
+ return `On peut bien calculer la valeur de $A$ pour $x = ${x}$, car le dénominateur ne s'annule pas en remplaçant $x$ par $${x}$.
56
+
57
+ On remplace donc $x$ par $${x}$ dans l'expression :
58
+
59
+ ${alignTex([
60
+ [exprTex, "=", replacedTex],
61
+ ["", "=", simplifiedTex],
62
+ ])}
63
+ `;
64
+ };
65
+ const getKeys = (identifiers) => {
66
+ return [];
67
+ };
68
+ const isAnswerValid = (ans, { answer }) => {
69
+ try {
70
+ const ansNode = parseAlgebraic(ans);
71
+ const answerNode = parseAlgebraic(answer);
72
+ return ansNode.simplify().equals(answerNode.simplify());
73
+ }
74
+ catch (err) {
75
+ return handleVEAError(err);
76
+ }
77
+ };
78
+ const getEvalFractionExpressionQuestion = (ops) => {
79
+ const nominator = AffineConstructor.random().toTree();
80
+ const denominator = AffineConstructor.random().toTree();
81
+ const expr = frac(nominator, denominator);
82
+ const x = doWhile(() => randint(-10, 11), (a) => denominator.evaluate({ x: a }) === 0);
83
+ const identifiers = { expr: expr.toIdentifiers(), x };
84
+ return getQuestionFromIdentifiers(identifiers);
85
+ };
86
+ const getQuestionFromIdentifiers = (identifiers) => {
87
+ return {
88
+ answer: getAnswer(identifiers),
89
+ instruction: getInstruction(identifiers),
90
+ keys: getKeys(identifiers),
91
+ answerFormat: "tex",
92
+ identifiers,
93
+ hint: getHint(identifiers),
94
+ correction: getCorrection(identifiers),
95
+ };
96
+ };
97
+ export const evalFractionExpression = {
98
+ id: "evalFractionExpression",
99
+ label: "Calculer une expression fractionnaire pour une valeur de $x$ donnée",
100
+ isSingleStep: true,
101
+ generator: (nb, opts) => getDistinctQuestions(() => getEvalFractionExpressionQuestion(opts), nb),
102
+ qcmTimer: 60,
103
+ freeTimer: 60,
104
+ getPropositions,
105
+ isAnswerValid,
106
+ subject: "Mathématiques",
107
+ getInstruction,
108
+ getHint,
109
+ getCorrection,
110
+ getAnswer,
111
+ getQuestionFromIdentifiers,
112
+ hasHintAndCorrection: true,
113
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"fractionSquare.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionSquare.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAiGF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAchD,CAAC"}
1
+ {"version":3,"file":"fractionSquare.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionSquare.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAiGF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAehD,CAAC"}
@@ -101,4 +101,5 @@ export const fractionSquare = {
101
101
  subject: "Mathématiques",
102
102
  hasHintAndCorrection: true,
103
103
  getQuestionFromIdentifiers,
104
+ shouldHaveCalculator: false,
104
105
  };
@@ -16,4 +16,6 @@ export * from "./fractionSquare.js";
16
16
  export * from "./fractionsSubstraction.js";
17
17
  export * from "./powerNotation.js";
18
18
  export * from "./fractionForbiddenValue.js";
19
+ export * from "./simplifyToFraction.js";
20
+ export * from "./evalFractionExpression.js";
19
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC"}
@@ -16,3 +16,5 @@ export * from "./fractionSquare.js";
16
16
  export * from "./fractionsSubstraction.js";
17
17
  export * from "./powerNotation.js";
18
18
  export * from "./fractionForbiddenValue.js";
19
+ export * from "./simplifyToFraction.js";
20
+ export * from "./evalFractionExpression.js";
@@ -1 +1 @@
1
- {"version":3,"file":"powerNotation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/powerNotation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAmIF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAiB/C,CAAC"}
1
+ {"version":3,"file":"powerNotation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/powerNotation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAmIF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,WAAW,CAkB/C,CAAC"}
@@ -122,4 +122,5 @@ export const powerNotation = {
122
122
  getAnswer,
123
123
  getQuestionFromIdentifiers,
124
124
  hasHintAndCorrection: true,
125
+ shouldHaveCalculator: false,
125
126
  };
@@ -1 +1 @@
1
- {"version":3,"file":"simplifyFraction.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/simplifyFraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAsGF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAalD,CAAC"}
1
+ {"version":3,"file":"simplifyFraction.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/simplifyFraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAYrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAsGF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAclD,CAAC"}
@@ -102,4 +102,5 @@ export const simplifyFraction = {
102
102
  subject: "Mathématiques",
103
103
  getQuestionFromIdentifiers,
104
104
  hasHintAndCorrection: true,
105
+ shouldHaveCalculator: false,
105
106
  };
@@ -1 +1 @@
1
- {"version":3,"file":"simplifyFractionWithPrimeFactorization.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/simplifyFractionWithPrimeFactorization.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAcrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA2GF,eAAO,MAAM,sCAAsC,EAAE,QAAQ,CAAC,WAAW,CAqBxE,CAAC"}
1
+ {"version":3,"file":"simplifyFractionWithPrimeFactorization.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/simplifyFractionWithPrimeFactorization.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAcrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA2GF,eAAO,MAAM,sCAAsC,EAAE,QAAQ,CAAC,WAAW,CAsBxE,CAAC"}
@@ -101,4 +101,5 @@ export const simplifyFractionWithPrimeFactorization = {
101
101
  getAnswer,
102
102
  getQuestionFromIdentifiers,
103
103
  hasHintAndCorrection: true,
104
+ shouldHaveCalculator: false,
104
105
  };
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ import { NodeIdentifiers } from "../../../../tree/nodes/nodeConstructor.js";
3
+ type Identifiers = {
4
+ type: number;
5
+ expr: NodeIdentifiers;
6
+ };
7
+ export declare const simplifyToFraction: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=simplifyToFraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplifyToFraction.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/simplifyToFraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAoB7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAqKF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAiBpD,CAAC"}
@@ -0,0 +1,168 @@
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 { reifyAlgebraic, } from "../../../../tree/nodes/nodeConstructor.js";
5
+ import { add, isAddNode } from "../../../../tree/nodes/operators/addNode.js";
6
+ import { frac, } from "../../../../tree/nodes/operators/fractionNode.js";
7
+ import { isMultiplyNode, multiply, } from "../../../../tree/nodes/operators/multiplyNode.js";
8
+ import { power } from "../../../../tree/nodes/operators/powerNode.js";
9
+ import { VariableNode } from "../../../../tree/nodes/variables/variableNode.js";
10
+ import { parseAlgebraic } from "../../../../tree/parsers/latexParser.js";
11
+ import { random } from "../../../../utils/alea/random.js";
12
+ import { shuffle } from "../../../../utils/alea/shuffle.js";
13
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
14
+ import { alignTex } from "../../../../utils/latex/alignTex.js";
15
+ const getPropositions = (n, { answer }) => {
16
+ const propositions = [];
17
+ addValidProp(propositions, answer);
18
+ while (propositions.length < n) {
19
+ const a = randint(-10, 11, [0]);
20
+ const b = randint(-10, 11, [0]);
21
+ const powerExpr = power("x", randint(2, 5));
22
+ const expressions = [
23
+ add(a, frac(b, "x")),
24
+ multiply(frac(a, powerExpr), frac(b, powerExpr)),
25
+ multiply(frac(powerExpr, a), frac(powerExpr, b)),
26
+ ];
27
+ const chosenExpr = random(expressions).simplify({
28
+ calculatePowers: true,
29
+ keepPowers: true,
30
+ });
31
+ tryToAddWrongProp(propositions, chosenExpr.toTex());
32
+ }
33
+ return shuffleProps(propositions, n);
34
+ };
35
+ const getAnswer = (identifiers) => {
36
+ const { expr } = identifiers;
37
+ const exprNode = reifyAlgebraic(expr);
38
+ const simplified = exprNode.simplify({ forbidFactorize: true });
39
+ return `${simplified.toTex()}`;
40
+ };
41
+ const getInstruction = (identifiers) => {
42
+ const { expr } = identifiers;
43
+ const exprNode = reifyAlgebraic(expr);
44
+ return `Écrire l'expression suivante sous forme d'une fraction :
45
+
46
+ $$
47
+ ${exprNode.toTex()}
48
+ $$`;
49
+ };
50
+ const getHint = ({ expr }) => {
51
+ const exprNode = reifyAlgebraic(expr);
52
+ if (isAddNode(exprNode)) {
53
+ return `Écris le nombre entier sous la forme d'un fraction, en le mettant au même dénominateur que la fraction. Puis, additionne les deux fractions obtenues.`;
54
+ }
55
+ return `Multiplie les deux fractions entre elles (en multipliant les numérateurs entre eux et les dénominateurs entre eux). Puis, simplifie la fraction obtenue.`;
56
+ };
57
+ const getCorrection = ({ expr }) => {
58
+ const exprNode = reifyAlgebraic(expr);
59
+ const simplified = exprNode.simplify({ forbidFactorize: true });
60
+ let explanation = ``;
61
+ if (isAddNode(exprNode)) {
62
+ const entier = exprNode.leftChild;
63
+ const fraction = exprNode.rightChild;
64
+ explanation += `On met les deux termes au même dénominateur pour les additionner :
65
+
66
+ ${alignTex([
67
+ [
68
+ exprNode.toTex(),
69
+ "=",
70
+ add(frac(multiply(entier, fraction.rightChild), fraction.rightChild), fraction).toTex(),
71
+ ],
72
+ ["", "=", simplified.toTex()],
73
+ ])}`;
74
+ }
75
+ else if (isMultiplyNode(exprNode)) {
76
+ const frac1 = exprNode.leftChild;
77
+ const frac2 = exprNode.rightChild;
78
+ explanation += `
79
+ On multiplie les fractions, puis on simplifie :
80
+
81
+ ${alignTex([
82
+ [
83
+ exprNode.toTex(),
84
+ "=",
85
+ frac(multiply(frac1.leftChild, frac2.leftChild), multiply(frac1.rightChild, frac2.rightChild)).toTex(),
86
+ ],
87
+ ["", "=", simplified.toTex()],
88
+ ])}`;
89
+ }
90
+ else {
91
+ const num = exprNode.leftChild;
92
+ const denum = exprNode.rightChild;
93
+ explanation += `Diviser par une fraction revient à multiplier par son inverse. On a donc :
94
+
95
+ ${alignTex([
96
+ [exprNode.toTex(), "=", multiply(num, denum.toInversed()).toTex()],
97
+ ["", "=", simplified.toTex()],
98
+ ])}`;
99
+ }
100
+ return explanation;
101
+ };
102
+ const getKeys = (identifiers) => {
103
+ return [];
104
+ };
105
+ const isAnswerValid = (ans, { answer }) => {
106
+ try {
107
+ const ansNode = parseAlgebraic(ans);
108
+ return ansNode.simplify({ forbidFactorize: true }).toTex() === answer;
109
+ }
110
+ catch (err) {
111
+ return handleVEAError(err);
112
+ }
113
+ };
114
+ const getSimplifyToFractionQuestion = (ops) => {
115
+ const type = randint(1, 4);
116
+ const a = randint(-10, 11, [-1, 0, 1]);
117
+ const b = randint(-10, 11, [-1, 0, 1]);
118
+ const powerA = randint(1, 5);
119
+ const powerB = randint(1, 5, type === 3 ? [powerA] : []);
120
+ const powerANode = powerA === 1 ? new VariableNode("x") : power("x", powerA);
121
+ const powerBNode = powerB === 1 ? new VariableNode("x") : power("x", powerB);
122
+ let expr;
123
+ let order = [];
124
+ switch (type) {
125
+ case 1:
126
+ expr = add(a, frac(b, "x")).toIdentifiers();
127
+ break;
128
+ case 2:
129
+ order = shuffle([a.toTree(), b.toTree(), powerANode, powerBNode]);
130
+ expr = multiply(frac(order[0], order[1]), frac(order[2], order[3])).toIdentifiers();
131
+ break;
132
+ case 3:
133
+ default:
134
+ order = shuffle([a.toTree(), powerANode, powerBNode]);
135
+ expr = frac(order[0], frac(order[1], order[2])).toIdentifiers();
136
+ break;
137
+ }
138
+ const identifiers = { type, expr };
139
+ return getQuestionFromIdentifiers(identifiers);
140
+ };
141
+ const getQuestionFromIdentifiers = (identifiers) => {
142
+ return {
143
+ answer: getAnswer(identifiers),
144
+ instruction: getInstruction(identifiers),
145
+ keys: getKeys(identifiers),
146
+ answerFormat: "tex",
147
+ identifiers,
148
+ hint: getHint(identifiers),
149
+ correction: getCorrection(identifiers),
150
+ };
151
+ };
152
+ export const simplifyToFraction = {
153
+ id: "simplifyToFraction",
154
+ label: "Écrire sous la forme d'une expression fractionnaire",
155
+ isSingleStep: true,
156
+ generator: (nb, opts) => getDistinctQuestions(() => getSimplifyToFractionQuestion(opts), nb),
157
+ qcmTimer: 60,
158
+ freeTimer: 60,
159
+ getPropositions,
160
+ isAnswerValid,
161
+ subject: "Mathématiques",
162
+ getInstruction,
163
+ getHint,
164
+ getCorrection,
165
+ getAnswer,
166
+ getQuestionFromIdentifiers,
167
+ hasHintAndCorrection: true,
168
+ };
@@ -105,8 +105,8 @@ const getQuestionFromIdentifiers = (identifiers) => {
105
105
  keys: getKeys(identifiers),
106
106
  answerFormat: "tex",
107
107
  identifiers,
108
- hint: getHint(identifiers),
109
- correction: getCorrection(identifiers),
108
+ // hint: getHint(identifiers),
109
+ // correction: getCorrection(identifiers),
110
110
  };
111
111
  return question;
112
112
  };
@@ -184,5 +184,5 @@ export const framing = {
184
184
  subject: "Mathématiques",
185
185
  pdfOptions: { shouldSpreadPropositions: true },
186
186
  getQuestionFromIdentifiers,
187
- hasHintAndCorrection: true,
187
+ // hasHintAndCorrection: true,
188
188
  };
@@ -1 +1 @@
1
- {"version":3,"file":"absoluteNumber.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/sign/absoluteNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAsEF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAiBhD,CAAC"}
1
+ {"version":3,"file":"absoluteNumber.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/sign/absoluteNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAsEF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAkBhD,CAAC"}
@@ -77,4 +77,5 @@ export const absoluteNumber = {
77
77
  getAnswer,
78
78
  getQuestionFromIdentifiers,
79
79
  hasHintAndCorrection: true,
80
+ shouldHaveCalculator: false,
80
81
  };
@@ -4,4 +4,6 @@ export * from "./firstDegreeInequationsType2.js";
4
4
  export * from "./firstDegreeInequationsType3.js";
5
5
  export * from "./squareFunctionInequation.js";
6
6
  export * from "./inequationsSign.js";
7
+ export * from "./minNumberInequality.js";
8
+ export * from "./isInequalityTrue.js";
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/inequations/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/inequations/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
@@ -4,3 +4,5 @@ export * from "./firstDegreeInequationsType2.js";
4
4
  export * from "./firstDegreeInequationsType3.js";
5
5
  export * from "./squareFunctionInequation.js";
6
6
  export * from "./inequationsSign.js";
7
+ export * from "./minNumberInequality.js";
8
+ export * from "./isInequalityTrue.js";
@@ -0,0 +1,15 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ import { NodeIdentifiers } from "../../../../tree/nodes/nodeConstructor.js";
3
+ type Identifiers = {
4
+ a: number;
5
+ b: number;
6
+ c: number;
7
+ d: number;
8
+ x: number;
9
+ left: NodeIdentifiers;
10
+ right: NodeIdentifiers;
11
+ inequalitySign: boolean;
12
+ };
13
+ export declare const isInequalityTrue: Exercise<Identifiers>;
14
+ export {};
15
+ //# sourceMappingURL=isInequalityTrue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isInequalityTrue.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/inequations/isInequalityTrue.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAE7C,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,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,eAAe,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAyIF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAkBlD,CAAC"}