math-exercises 3.0.131 → 3.0.132

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 (82) hide show
  1. package/lib/exercises/exercise.d.ts +37 -30
  2. package/lib/exercises/exercise.d.ts.map +1 -1
  3. package/lib/exercises/math/calcul/mentalCaluls/mentalProgramSolve.d.ts +3 -3
  4. package/lib/exercises/math/calcul/mentalCaluls/mentalProgramSolve.d.ts.map +1 -1
  5. package/lib/exercises/math/calcul/mentalCaluls/mentalProgramSolve.js +48 -44
  6. package/lib/exercises/math/calcul/ordering/compareA10N.d.ts +1 -1
  7. package/lib/exercises/math/calcul/ordering/compareA10N.js +3 -3
  8. package/lib/exercises/math/calcul/ordering/compareFracABWithFracAPlusCBPlusC.d.ts.map +1 -1
  9. package/lib/exercises/math/calcul/ordering/compareFracABWithFracAPlusCBPlusC.js +0 -1
  10. package/lib/exercises/math/calcul/ordering/compareFracAndDec.d.ts +1 -1
  11. package/lib/exercises/math/calcul/ordering/compareFracAndDec.js +1 -1
  12. package/lib/exercises/math/calcul/proportionality/findCoeffInProportionalTableNonIntegers.js +1 -1
  13. package/lib/exercises/math/calcul/proportionality/isTableProportionalNonInteger.d.ts.map +1 -1
  14. package/lib/exercises/math/calcul/proportionality/isTableProportionalNonInteger.js +2 -0
  15. package/lib/exercises/math/calcul/rounding/rounding.d.ts +1 -1
  16. package/lib/exercises/math/calcul/rounding/rounding.d.ts.map +1 -1
  17. package/lib/exercises/math/calcul/rounding/rounding.js +7 -6
  18. package/lib/exercises/math/calculLitteral/writing/writeLitExpFromFrenchExp.d.ts.map +1 -1
  19. package/lib/exercises/math/calculLitteral/writing/writeLitExpFromFrenchExp.js +15 -60
  20. package/lib/exercises/math/conversion/kmPerMinToKmPerHourConversion.js +14 -10
  21. package/lib/exercises/math/conversion/lengthConversion.d.ts.map +1 -1
  22. package/lib/exercises/math/conversion/lengthConversion.js +1 -0
  23. package/lib/exercises/math/conversion/prefixToNumber.d.ts.map +1 -1
  24. package/lib/exercises/math/conversion/prefixToNumber.js +10 -8
  25. package/lib/exercises/math/conversion/secondsToHours.js +1 -1
  26. package/lib/exercises/math/functions/affines/drawAffineFromPointAndLeadingCoeff.d.ts.map +1 -1
  27. package/lib/exercises/math/functions/affines/drawAffineFromPointAndLeadingCoeff.js +2 -1
  28. package/lib/exercises/math/functions/affines/drawAffineFromProgCalc.d.ts +1 -1
  29. package/lib/exercises/math/functions/affines/drawAffineFromProgCalc.d.ts.map +1 -1
  30. package/lib/exercises/math/functions/affines/drawAffineFromProgCalc.js +4 -5
  31. package/lib/exercises/math/functions/affines/leadingCoefficient.js +1 -1
  32. package/lib/exercises/math/geometry/angles/anglesUsingIsParallel.d.ts +1 -1
  33. package/lib/exercises/math/geometry/angles/anglesUsingIsParallel.d.ts.map +1 -1
  34. package/lib/exercises/math/geometry/angles/anglesUsingIsParallel.js +10 -11
  35. package/lib/exercises/math/geometry/angles/isParallelUsingAngles.d.ts +1 -1
  36. package/lib/exercises/math/geometry/angles/isParallelUsingAngles.d.ts.map +1 -1
  37. package/lib/exercises/math/geometry/angles/isParallelUsingAngles.js +8 -8
  38. package/lib/exercises/math/percent/evolutions/globalPercent.d.ts +4 -1
  39. package/lib/exercises/math/percent/evolutions/globalPercent.d.ts.map +1 -1
  40. package/lib/exercises/math/percent/evolutions/globalPercent.js +37 -21
  41. package/lib/exercises/math/percent/findProportion.d.ts.map +1 -1
  42. package/lib/exercises/math/percent/findProportion.js +24 -26
  43. package/lib/exercises/math/percent/percentToDecimal.d.ts +4 -1
  44. package/lib/exercises/math/percent/percentToDecimal.d.ts.map +1 -1
  45. package/lib/exercises/math/percent/percentToDecimal.js +55 -35
  46. package/lib/exercises/math/powers/calculateNegativePower.d.ts +1 -1
  47. package/lib/exercises/math/powers/calculateNegativePower.d.ts.map +1 -1
  48. package/lib/exercises/math/powers/calculateNegativePower.js +17 -10
  49. package/lib/exercises/math/probaStat/basicStats/calculateFrequencyInList.d.ts +5 -1
  50. package/lib/exercises/math/probaStat/basicStats/calculateFrequencyInList.d.ts.map +1 -1
  51. package/lib/exercises/math/probaStat/basicStats/calculateFrequencyInList.js +76 -12
  52. package/lib/exercises/math/probaStat/conditionalProbaWriteFromFrench.js +1 -1
  53. package/lib/exercises/math/probaStat/probaAsSumOfProbas.d.ts +3 -3
  54. package/lib/exercises/math/probaStat/probaAsSumOfProbas.d.ts.map +1 -1
  55. package/lib/exercises/math/probaStat/probaAsSumOfProbas.js +17 -45
  56. package/lib/exercises/math/probaStat/probaFromTableWithContext.d.ts +12 -5
  57. package/lib/exercises/math/probaStat/probaFromTableWithContext.d.ts.map +1 -1
  58. package/lib/exercises/math/probaStat/probaFromTableWithContext.js +354 -94
  59. package/lib/exercises/math/probaStat/stats1var/medianWithList.d.ts +4 -1
  60. package/lib/exercises/math/probaStat/stats1var/medianWithList.d.ts.map +1 -1
  61. package/lib/exercises/math/probaStat/stats1var/medianWithList.js +43 -23
  62. package/lib/exercises/math/probaStat/stats1var/quartilesList.d.ts +1 -1
  63. package/lib/exercises/math/probaStat/stats1var/quartilesList.d.ts.map +1 -1
  64. package/lib/exercises/math/probaStat/stats1var/quartilesList.js +4 -4
  65. package/lib/exercises/pc/motion/averageSpeed.d.ts.map +1 -1
  66. package/lib/exercises/pc/motion/averageSpeed.js +13 -10
  67. package/lib/exercises/pc/optics/lensFormula.d.ts +1 -2
  68. package/lib/exercises/pc/optics/lensFormula.d.ts.map +1 -1
  69. package/lib/exercises/pc/optics/lensFormula.js +7 -10
  70. package/lib/exercises/pc/weight/calculateWeight.d.ts +1 -2
  71. package/lib/exercises/pc/weight/calculateWeight.d.ts.map +1 -1
  72. package/lib/exercises/pc/weight/calculateWeight.js +15 -14
  73. package/lib/index.d.ts +932 -919
  74. package/lib/index.d.ts.map +1 -1
  75. package/lib/math/progCalc/progCalc.d.ts +2 -2
  76. package/lib/math/progCalc/progCalc.d.ts.map +1 -1
  77. package/lib/math/progCalc/progCalc.js +4 -11
  78. package/lib/tests/exoTest.d.ts.map +1 -1
  79. package/lib/tests/exoTest.js +13 -0
  80. package/lib/types/keyIds.d.ts +1 -1
  81. package/lib/types/keyIds.d.ts.map +1 -1
  82. package/package.json +1 -1
@@ -21,22 +21,29 @@ export declare enum GeneratorOptionType {
21
21
  select = "select",
22
22
  multiselect = "multiselect"
23
23
  }
24
- export type GeneratorOption<TValue = string | number | boolean | string[] | number[] | boolean[]> = {
24
+ export type GeneratorOption = {
25
25
  id: string;
26
26
  label: string;
27
- type: GeneratorOptionType.checkbox | GeneratorOptionType.select;
27
+ type: GeneratorOptionType.checkbox;
28
28
  target: GeneratorOptionTarget;
29
29
  tooltipText?: string;
30
- values?: TValue[];
31
- defaultValue?: TValue;
30
+ defaultValue?: boolean;
31
+ } | {
32
+ id: string;
33
+ label: string;
34
+ type: GeneratorOptionType.select;
35
+ target: GeneratorOptionTarget;
36
+ tooltipText?: string;
37
+ values: string[];
38
+ defaultValue: string;
32
39
  } | {
33
40
  id: string;
34
41
  label: string;
35
42
  type: GeneratorOptionType.multiselect;
36
43
  target: GeneratorOptionTarget;
37
44
  tooltipText?: string;
38
- values?: TValue;
39
- defaultValue?: TValue;
45
+ values: string[];
46
+ defaultValue: string[];
40
47
  };
41
48
  export type Proposition = {
42
49
  id: string;
@@ -76,7 +83,7 @@ export type GeogebraOptions = {
76
83
  export type KeyboardOptions = {
77
84
  parenthesisShouldNotProduceLeftRight?: boolean;
78
85
  };
79
- export interface Question<TIdentifiers, TOptions = object> {
86
+ export interface Question<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> {
80
87
  instruction: string;
81
88
  hint?: string;
82
89
  correction?: string;
@@ -99,52 +106,52 @@ export interface Question<TIdentifiers, TOptions = object> {
99
106
  answerTable?: string[][];
100
107
  initTable?: string[][];
101
108
  }
102
- export type QCMGenerator<TIdentifiers, TOptions = object> = (n: number, args: {
109
+ export type QCMGenerator<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (n: number, args: {
103
110
  answer: string;
104
111
  } & TIdentifiers, options?: TOptions) => Proposition[];
105
- export type VEA<TIdentifiers, TOptions = object> = (studentAnswer: string, args: {
112
+ export type VEA<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (studentAnswer: string, args: {
106
113
  answer: string;
107
114
  } & TIdentifiers, options?: TOptions) => boolean;
108
- export type TableVEA<TIdentifiers, TOptions = object> = (studentAnswer: string[][], args: {
115
+ export type TableVEA<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (studentAnswer: string[][], args: {
109
116
  answerTable: string[][];
110
117
  } & TIdentifiers, options?: TOptions) => boolean;
111
- export type GGBVEA<TIdentifiers, TOptions = object> = (studentAnswer: string[], args: {
118
+ export type GGBVEA<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (studentAnswer: string[], args: {
112
119
  ggbAnswer: string[];
113
120
  } & TIdentifiers, options?: TOptions) => boolean;
114
- export type QuestionGenerator<TIdentifiers, TOptions = object> = (opts?: TOptions) => Question<TIdentifiers, TOptions>;
115
- export type GetHint<TIdentifiers, TOptions = object> = (args: TIdentifiers, options?: TOptions) => string;
116
- export type GetCorrection<TIdentifiers, TOptions = object> = (args: TIdentifiers, options?: TOptions) => string;
117
- export type GetInstruction<TIdentifiers, TOptions = object> = (args: TIdentifiers, options?: TOptions) => string;
118
- export type GetStartStatement<TIdentifiers, TOptions = object> = (args: TIdentifiers, options?: TOptions) => string;
119
- export type GetAnswer<TIdentifiers, TOptions = object> = (args: TIdentifiers, options?: TOptions) => string;
120
- export type GetAnswerTable<TIdentifiers, TOptions = object> = (args: TIdentifiers, options?: TOptions) => string[][];
121
- export type GetKeys<TIdentifiers, TOptions = object> = (args: TIdentifiers, options?: TOptions) => (KeyId | KeyProps)[];
122
- export type GetGGBAnswer<TIdentifiers, TOptions = object> = (args: TIdentifiers, options?: TOptions) => string[];
123
- export type GetGGBOptions<TIdentifiers, TOptions = object> = (args: TIdentifiers, options?: TOptions) => GeogebraOptions;
124
- export type GetStudentGGBOptions<TIdentifiers, TOptions = object> = (args: TIdentifiers, options?: TOptions) => GeogebraOptions;
125
- export type RebuildIdentifiers<TIdentifiers, TOptions = object, TOldIdentifiers = object> = (oldIdentifiers: TOldIdentifiers, options?: TOptions) => TIdentifiers;
126
- export type GetQuestionFromIdentifiers<TIdentifiers, TOptions = object> = (identifiers: TIdentifiers, options?: TOptions) => Question<TIdentifiers, TOptions>;
127
- export type QuestionHotFix<TIdentifiers, TOptions = object> = (q: Question<TIdentifiers, TOptions>, options?: TOptions) => Question<TIdentifiers, TOptions>;
128
- export type ValidateOptions<TOptions = object> = (options: TOptions) => {
121
+ export type QuestionGenerator<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (opts?: TOptions) => Question<TIdentifiers, TOptions>;
122
+ export type GetHint<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (args: TIdentifiers, options?: TOptions) => string;
123
+ export type GetCorrection<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (args: TIdentifiers, options?: TOptions) => string;
124
+ export type GetInstruction<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (args: TIdentifiers, options?: TOptions) => string;
125
+ export type GetStartStatement<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (args: TIdentifiers, options?: TOptions) => string;
126
+ export type GetAnswer<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (args: TIdentifiers, options?: TOptions) => string;
127
+ export type GetAnswerTable<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (args: TIdentifiers, options?: TOptions) => string[][];
128
+ export type GetKeys<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (args: TIdentifiers, options?: TOptions) => (KeyId | KeyProps)[];
129
+ export type GetGGBAnswer<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (args: TIdentifiers, options?: TOptions) => string[];
130
+ export type GetGGBOptions<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (args: TIdentifiers, options?: TOptions) => GeogebraOptions;
131
+ export type GetStudentGGBOptions<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (args: TIdentifiers, options?: TOptions) => GeogebraOptions;
132
+ export type RebuildIdentifiers<TIdentifiers, TOptions = Record<string, string | string[] | boolean>, TOldIdentifiers = object> = (oldIdentifiers: TOldIdentifiers, options?: TOptions) => TIdentifiers;
133
+ export type GetQuestionFromIdentifiers<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (identifiers: TIdentifiers, options?: TOptions) => Question<TIdentifiers, TOptions>;
134
+ export type QuestionHotFix<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = (q: Question<TIdentifiers, TOptions>, options?: TOptions) => Question<TIdentifiers, TOptions>;
135
+ export type ValidateOptions<TOptions = Record<string, string | string[] | boolean>> = (options: TOptions) => {
129
136
  valid: boolean;
130
137
  message: string;
131
138
  };
132
- export type TestData<TIdentifiers, TOptions = object> = {
139
+ export type TestData<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = {
133
140
  identifiers: TIdentifiers;
134
141
  options?: TOptions;
135
142
  answer: string;
136
143
  valids?: string[];
137
144
  };
138
- export type GetTests<TIdentifiers, TOptions = object> = () => TestData<TIdentifiers, TOptions>[];
145
+ export type GetTests<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> = () => TestData<TIdentifiers, TOptions>[];
139
146
  type PDFOptions = {
140
147
  shouldSpreadPropositions?: boolean;
141
148
  };
142
- export interface Exercise<TIdentifiers, TOptions = object, TOptionValue = string | number | boolean | string[] | number[] | boolean[]> {
149
+ export interface Exercise<TIdentifiers, TOptions = Record<string, string | string[] | boolean>> {
143
150
  id: string;
144
151
  isSingleStep: boolean;
145
152
  label: string;
146
153
  pdfOptions?: PDFOptions;
147
- options?: GeneratorOption<TOptionValue>[];
154
+ options?: GeneratorOption[];
148
155
  connector?: "=" | "\\iff" | "\\approx";
149
156
  generator: (n: number, opts?: TOptions) => Question<TIdentifiers, TOptions>[];
150
157
  maxAllowedQuestions?: number;
@@ -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":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAInD,eAAO,MAAM,SAAS,GACpB,cAAc,WAAW,EAAE,EAC3B,GAAG,MAAM,EACT,SAAS,MAAM,IAAI,SAQpB,CAAC;AACF,eAAO,MAAM,YAAY,GACvB,OAAO,WAAW,EAAE,EACpB,WAAW,MAAM,EACjB,SAAQ,KAAK,GAAG,KAAa,SAQ9B,CAAC;AACF,eAAO,MAAM,YAAY,GACvB,OAAO,WAAW,EAAE,EACpB,WAAW,MAAM,EACjB,SAAQ,KAAK,GAAG,KAAa,SAQ9B,CAAC;AACF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,WAAW,EAAE,EACpB,WAAW,MAAM,EACjB,SAAQ,KAAK,GAAG,KAAa,SAU9B,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,OAAO,WAAW,EAAE,EACpB,GAAG,MAAM,EACT,oBAAoB,MAAM,kBAQ3B,CAAC;AAEF,oBAAY,qBAAqB;IAC/B,UAAU,eAAe;IACzB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AACD,oBAAY,mBAAmB;IAC7B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,WAAW,gBAAgB;CAC5B;AACD,MAAM,MAAM,eAAe,GACvB;IACE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC;IACnC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC;IACjC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC,WAAW,CAAC;IACtC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEN,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACjC,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,oCAAoC,CAAC,EAAE,OAAO,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,QAAQ,CACvB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IAEtD,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC;IAE5B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,oBAAoB,CAAC,EAAE,eAAe,CAAC;IACvC,KAAK,CAAC,EAAE;QACN,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,cAAc,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACvC,WAAW,EAAE,YAAY,CAAC;IAC1B,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,CACtB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CACF,CAAC,EAAE,MAAM,EACT,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,EACvC,OAAO,CAAC,EAAE,QAAQ,KACf,WAAW,EAAE,CAAC;AACnB,MAAM,MAAM,GAAG,CACb,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CACF,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,EACvC,OAAO,CAAC,EAAE,QAAQ,KACf,OAAO,CAAC;AACb,MAAM,MAAM,QAAQ,CAClB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CACF,aAAa,EAAE,MAAM,EAAE,EAAE,EACzB,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,GAAG,YAAY,EAChD,OAAO,CAAC,EAAE,QAAQ,KACf,OAAO,CAAC;AACb,MAAM,MAAM,MAAM,CAChB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CACF,aAAa,EAAE,MAAM,EAAE,EACvB,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,YAAY,EAC5C,OAAO,CAAC,EAAE,QAAQ,KACf,OAAO,CAAC;AACb,MAAM,MAAM,iBAAiB,CAC3B,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAC1D,MAAM,MAAM,OAAO,CACjB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC;AACvD,MAAM,MAAM,aAAa,CACvB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC;AACvD,MAAM,MAAM,cAAc,CACxB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC;AACvD,MAAM,MAAM,iBAAiB,CAC3B,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC;AACvD,MAAM,MAAM,SAAS,CACnB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC;AACvD,MAAM,MAAM,cAAc,CACxB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,MAAM,EAAE,EAAE,CAAC;AAC3D,MAAM,MAAM,OAAO,CACjB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC;AACrE,MAAM,MAAM,YAAY,CACtB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,MAAM,EAAE,CAAC;AACzD,MAAM,MAAM,aAAa,CACvB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,eAAe,CAAC;AAChE,MAAM,MAAM,oBAAoB,CAC9B,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,eAAe,CAAC;AAChE,MAAM,MAAM,kBAAkB,CAC5B,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,EACtD,eAAe,GAAG,MAAM,IACtB,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,YAAY,CAAC;AAC1E,MAAM,MAAM,0BAA0B,CACpC,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CACF,WAAW,EAAE,YAAY,EACzB,OAAO,CAAC,EAAE,QAAQ,KACf,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACtC,MAAM,MAAM,cAAc,CACxB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CACF,CAAC,EAAE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,EACnC,OAAO,CAAC,EAAE,QAAQ,KACf,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACtC,MAAM,MAAM,eAAe,CACzB,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,CAAC,OAAO,EAAE,QAAQ,KAAK;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,QAAQ,CAClB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD;IACF,WAAW,EAAE,YAAY,CAAC;IAC1B,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,QAAQ,CAClB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IACpD,MAAM,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;AAC7C,KAAK,UAAU,GAAG;IAEhB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AACF,MAAM,WAAW,QAAQ,CACvB,YAAY,EACZ,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IAEtD,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO,GAAG,UAAU,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,KAAK,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EACP,KAAK,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,YAAY,GACZ,UAAU,GACV,WAAW,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,YAAY,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC5E,aAAa,CAAC,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC5C,kBAAkB,CAAC,EAAE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,gBAAgB,CAAC;IACpE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACxD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC1C,aAAa,CAAC,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAExD,YAAY,CAAC,EAAE,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACpD,aAAa,CAAC,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtD,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACpE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAChE,0BAA0B,EAAE,0BAA0B,CACpD,YAAY,EACZ,QAAQ,CACT,CAAC;IACF,MAAM,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1E,QAAQ,CAAC,EAAE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;CAC7C"}
@@ -6,9 +6,9 @@ type Identifiers = {
6
6
  progCalcIds: ProgCalcIdentifiers;
7
7
  };
8
8
  type Options = {
9
- numberType: "Entier" | "Décimal";
10
- nbSteps: number;
11
- nbDigits: number;
9
+ numberType: "Integer" | "Decimal";
10
+ nbSteps: string;
11
+ nbDigits: string;
12
12
  };
13
13
  export declare const mentalProgramSolve: Exercise<Identifiers, Options>;
14
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"mentalProgramSolve.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/mentalCaluls/mentalProgramSolve.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAGL,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAgCzC,KAAK,WAAW,GAAG;IACjB,qBAAqB,EAAE,eAAe,CAAC;IACvC,WAAW,EAAE,mBAAmB,CAAC;CAClC,CAAC;AAkNF,KAAK,OAAO,GAAG;IACb,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAiCF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAyB7D,CAAC"}
1
+ {"version":3,"file":"mentalProgramSolve.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/mentalCaluls/mentalProgramSolve.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAI7C,OAAO,EAGL,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AA4BzC,KAAK,WAAW,GAAG;IACjB,qBAAqB,EAAE,eAAe,CAAC;IACvC,WAAW,EAAE,mBAAmB,CAAC;CAClC,CAAC;AAqOF,KAAK,OAAO,GAAG;IACb,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAiCF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAyB7D,CAAC"}
@@ -2,27 +2,23 @@ import { addValidProp, shuffleProps, GeneratorOptionTarget, GeneratorOptionType,
2
2
  import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
3
  import { randint } from "../../../../math/utils/random/randint.js";
4
4
  import { NodeConstructor, } from "../../../../tree/nodes/nodeConstructor.js";
5
+ import { randomMany } from "../../../../utils/alea/random.js";
5
6
  import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
6
7
  import { parseAlgebraic } from "../../../../tree/parsers/latexParser.js";
7
8
  import { ProgCalc, ProgCalcConstructor, } from "../../../../math/progCalc/progCalc.js";
8
- import { isAddNode } from "../../../../tree/nodes/operators/addNode.js";
9
+ import { add, AddNode } from "../../../../tree/nodes/operators/addNode.js";
9
10
  import { abs } from "../../../../tree/nodes/functions/absNode.js";
10
11
  import { shuffle } from "../../../../utils/alea/shuffle.js";
11
- import { isOppositeNode } from "../../../../tree/nodes/functions/oppositeNode.js";
12
- import { alignTex } from "../../../../utils/latex/alignTex.js";
13
12
  const getStrSolvingStep = (nodeStep) => {
14
13
  //write 10 + (-8) instead of 10 - 8
15
14
  function isNegative(node) {
16
15
  return !abs(node).simplify().equals(node.simplify());
17
16
  }
18
- if (isAddNode(nodeStep) && isNegative(nodeStep.rightChild)) {
17
+ if (nodeStep instanceof AddNode && isNegative(nodeStep.rightChild)) {
19
18
  return `${nodeStep.leftChild.toTex()} + (${nodeStep.rightChild.toTex()}) = ${nodeStep
20
19
  .simplify()
21
20
  .toTex()}`;
22
21
  }
23
- else if (isOppositeNode(nodeStep)) {
24
- return `-(${nodeStep.child.toTex()}) = ${nodeStep.simplify().toTex()}`;
25
- }
26
22
  else {
27
23
  const texL = nodeStep.toTex({
28
24
  allowDoubleMinus: true,
@@ -35,16 +31,16 @@ const getStrSolvingStep = (nodeStep) => {
35
31
  return `${texL} = ${texR}`;
36
32
  }
37
33
  };
38
- const getPropositions = (n, { answer, progCalcIds, nodeIdsStartingNumber }) => {
34
+ const getPropositions = (n, { answer, ...identifiers }) => {
39
35
  const propositions = [];
40
36
  addValidProp(propositions, answer);
41
- const nodeStartingNumber = NodeConstructor.fromIdentifiers(nodeIdsStartingNumber);
42
- const progCalc = ProgCalcConstructor.fromIdentifiers(progCalcIds);
43
- const nodeFinalNumber = progCalc.apply(nodeStartingNumber).simplify();
44
- //applies progCalc to finalNumber
45
- const node1 = progCalc.apply(nodeFinalNumber);
46
- if (node1) {
47
- tryToAddWrongProp(propositions, node1.simplify().toTex());
37
+ const progCalc = ProgCalcConstructor.fromIdentifiers(identifiers.progCalcIds);
38
+ const nodeFinalNumber = answer.toTree();
39
+ const nbWrong = n - 1;
40
+ const arrOffset = randomMany([-10, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 10], nbWrong);
41
+ for (let i = 0; i < arrOffset.length; i++) {
42
+ const offset = arrOffset[i];
43
+ tryToAddWrongProp(propositions, add(nodeFinalNumber, offset).simplify().toTex());
48
44
  }
49
45
  //applies progCalc operations in reverse to finalNumber
50
46
  const progCalcReversed = new ProgCalc(progCalc.operations.toReversed());
@@ -74,33 +70,40 @@ const getPropositions = (n, { answer, progCalcIds, nodeIdsStartingNumber }) => {
74
70
  });
75
71
  return shuffleProps(propositions, n);
76
72
  };
77
- const getAnswerNode = (identifiers) => {
78
- const { nodeIdsStartingNumber } = identifiers;
79
- return NodeConstructor.fromIdentifiers(nodeIdsStartingNumber);
80
- };
81
73
  const getAnswer = (identifiers) => {
82
- return getAnswerNode(identifiers).toTex();
74
+ const { nodeIdsStartingNumber } = identifiers;
75
+ const nodeStartingNumber = NodeConstructor.fromIdentifiers(nodeIdsStartingNumber);
76
+ return nodeStartingNumber.toTex();
83
77
  };
84
78
  const getInstruction = (identifiers, opts) => {
85
79
  const { nodeIdsStartingNumber, progCalcIds } = identifiers;
86
80
  const nodeStartingNumber = NodeConstructor.fromIdentifiers(nodeIdsStartingNumber);
87
81
  const progCalc = ProgCalcConstructor.fromIdentifiers(progCalcIds);
88
82
  const nodeFinalNumber = progCalc.apply(nodeStartingNumber).simplify();
89
- const strFinalNumber = opts?.numberType == "Entier"
83
+ const strOpening = `Voici un programme de calcul :`;
84
+ const strChooseANumber = `Choisir un nombre
85
+
86
+ `;
87
+ const arrStrProgCalc = progCalc.getArrOfFrenchStrings().map((str) => `
88
+
89
+ ${str}`);
90
+ const strProgCalc = arrStrProgCalc.reduce((acc, str) => acc + str);
91
+ const strFinalNumber = opts?.numberType == "Integer"
90
92
  ? nodeFinalNumber.evaluate().frenchify()
91
93
  : nodeFinalNumber
92
94
  .evaluate()
93
- .toFixed(opts?.nbDigits ?? 0)
95
+ .toFixed(Number(opts?.nbDigits))
94
96
  .replace(".", ",");
95
- return `Voici un programme de calcul :
97
+ const strQuestion = `Quel nombre faut-il choisir au départ pour obtenir $ ${strFinalNumber} $ à la fin ?`;
98
+ return `
99
+ ${strOpening}
96
100
 
97
- > Choisir un nombre
101
+ ${strChooseANumber}
98
102
 
99
- ${progCalc.getArrOfFrenchStrings().map((str) => `> ${str}`).join(`
100
-
101
- `)}
103
+ ${strProgCalc}
102
104
 
103
- Quel nombre faut-il choisir au départ pour obtenir $ ${strFinalNumber} $ à la fin ?`;
105
+ ${strQuestion}
106
+ `;
104
107
  };
105
108
  const getHint = () => {
106
109
  return `Pars du résultat obtenu à la fin et remonte à l'envers en inversant chaque étape.`;
@@ -131,10 +134,12 @@ const getCorrection = (identifiers) => {
131
134
  return `
132
135
  On part de la fin et on remonte à l'envers en inversant chaque étape.
133
136
 
134
- ${alignTex(arrStrSolvingSteps.map((str) => {
135
- const [lhs, rhs] = str.split("=");
136
- return [lhs, "=", rhs];
137
- }))}
137
+ ${arrStrSolvingSteps.map((str) => `
138
+
139
+ $$
140
+ ${str}
141
+ $$
142
+ `)}
138
143
 
139
144
  Le nombre choisi au départ était donc $ ${nodeStartingNumber.toTex()} $.`;
140
145
  };
@@ -154,19 +159,18 @@ const getMentalProgramSolveQuestion = (optsIn) => {
154
159
  const opts = optsIn ? Object.assign(optsDefault, optsIn) : optsDefault;
155
160
  let nbDigits = 0;
156
161
  switch (opts.numberType) {
157
- case "Décimal":
158
- nbDigits = opts.nbDigits ?? 2;
159
- break;
160
- default:
161
- case "Entier":
162
+ case "Integer":
162
163
  nbDigits = 0;
163
164
  break;
165
+ case "Decimal":
166
+ nbDigits = Number(opts.nbDigits);
167
+ break;
164
168
  }
165
169
  const powerOf10 = Math.pow(10, nbDigits);
166
170
  const valueStart = randint(0, 33 * powerOf10, []) / powerOf10;
167
171
  const nodeStartingNumber = valueStart.toTree();
168
172
  const isSingleUseOperators = false;
169
- const progCalc = ProgCalcConstructor.randomMental(opts.nbSteps, nodeStartingNumber, nbDigits, isSingleUseOperators);
173
+ const progCalc = ProgCalcConstructor.randomMental(Number(opts.nbSteps), nodeStartingNumber, nbDigits, isSingleUseOperators);
170
174
  const identifiers = {
171
175
  nodeIdsStartingNumber: valueStart.toTree().toIdentifiers(),
172
176
  progCalcIds: progCalc.toIdentifiers(),
@@ -185,16 +189,16 @@ const getQuestionFromIdentifiers = (identifiers, opts) => {
185
189
  };
186
190
  };
187
191
  const optsDefault = {
188
- numberType: "Entier",
189
- nbSteps: 4,
190
- nbDigits: 0,
192
+ numberType: "Integer",
193
+ nbSteps: "4",
194
+ nbDigits: "0",
191
195
  };
192
196
  const options = [
193
197
  {
194
198
  id: "numberType",
195
199
  label: "Type de nombres utilisés",
196
200
  defaultValue: optsDefault.numberType,
197
- values: ["Entier", "Décimal"],
201
+ values: ["Integer", "Decimal"],
198
202
  target: GeneratorOptionTarget.generation,
199
203
  type: GeneratorOptionType.select,
200
204
  },
@@ -202,7 +206,7 @@ const options = [
202
206
  id: "nbSteps",
203
207
  label: "Nombre d'étapes de transformation",
204
208
  defaultValue: optsDefault.nbSteps,
205
- values: [2, 3, 4, 5, 6],
209
+ values: ["2", "3", "4", "5", "6"],
206
210
  target: GeneratorOptionTarget.generation,
207
211
  type: GeneratorOptionType.select,
208
212
  },
@@ -210,7 +214,7 @@ const options = [
210
214
  id: "nbDigits",
211
215
  label: "Nombre de décimales",
212
216
  defaultValue: optsDefault.nbDigits,
213
- values: [0, 1, 2],
217
+ values: ["0", "1", "2"],
214
218
  target: GeneratorOptionTarget.generation,
215
219
  type: GeneratorOptionType.select,
216
220
  },
@@ -14,7 +14,7 @@ type Identifiers = {
14
14
  };
15
15
  type Options = {
16
16
  signTypes: string[];
17
- nbCollisions: number[];
17
+ nbCollisions: string[];
18
18
  };
19
19
  export declare const compareA10N: Exercise<Identifiers, Options>;
20
20
  export {};
@@ -207,7 +207,7 @@ const getKeys = (identifiers) => {
207
207
  const getCompareA10NQuestion = (optsIn) => {
208
208
  const opts = optsIn ? Object.assign(optsIn, optsDefault) : optsDefault;
209
209
  const signType = random(opts.signTypes);
210
- const nbCollisions = random(opts.nbCollisions);
210
+ const nbCollisions = Number(random(opts.nbCollisions));
211
211
  const nbItems = 4;
212
212
  let arrayOfA = [...Array(nbItems).keys()].map(() => {
213
213
  const pow10 = random([0, 1, 2]);
@@ -283,7 +283,7 @@ const getCompareA10NQuestion = (optsIn) => {
283
283
  };
284
284
  const optsDefault = {
285
285
  signTypes: ["positifs", "négatifs", "mélange"],
286
- nbCollisions: [0, 1, 2, 3],
286
+ nbCollisions: ["0", "1", "2", "3"],
287
287
  };
288
288
  const options = [
289
289
  {
@@ -299,7 +299,7 @@ const options = [
299
299
  label: "Nombre de collisions",
300
300
  type: GeneratorOptionType.multiselect,
301
301
  target: GeneratorOptionTarget.generation,
302
- values: [0, 1, 2, 3],
302
+ values: ["0", "1", "2", "3"],
303
303
  defaultValue: optsDefault.nbCollisions,
304
304
  },
305
305
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"compareFracABWithFracAPlusCBPlusC.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/ordering/compareFracABWithFracAPlusCBPlusC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAY7C,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AA0MF,KAAK,OAAO,GAAG;IACb,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAgBF,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAqB1E,CAAC"}
1
+ {"version":3,"file":"compareFracABWithFracAPlusCBPlusC.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/ordering/compareFracABWithFracAPlusCBPlusC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAY7C,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AA0MF,KAAK,OAAO,GAAG;IACb,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAeF,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAqB1E,CAAC"}
@@ -151,7 +151,6 @@ const options = [
151
151
  label: "Fraction de sommes ?",
152
152
  target: GeneratorOptionTarget.generation,
153
153
  type: GeneratorOptionType.checkbox,
154
- values: [true, false],
155
154
  defaultValue: optsDefault.isFracOfSums,
156
155
  },
157
156
  ];
@@ -17,7 +17,7 @@ type Identifiers = {
17
17
  };
18
18
  type Options = {
19
19
  isUseABC: boolean;
20
- nbDecimalFormat: number;
20
+ nbDecimalFormat: string;
21
21
  isAllowingNegativeNumbers: boolean;
22
22
  };
23
23
  export declare const compareFracAndDec: Exercise<Identifiers, Options>;
@@ -215,7 +215,7 @@ const getQuestionFromIdentifiers = (identifiers, opts) => {
215
215
  };
216
216
  const optsDefault = {
217
217
  isUseABC: false,
218
- nbDecimalFormat: 1,
218
+ nbDecimalFormat: "1",
219
219
  isAllowingNegativeNumbers: false,
220
220
  };
221
221
  const options = [
@@ -124,7 +124,7 @@ const options = [
124
124
  type: GeneratorOptionType.multiselect,
125
125
  target: GeneratorOptionTarget.generation,
126
126
  values: ["Entières", "Décimales", "Fractions"],
127
- defaultValue: ["Entier", "Décimal", "Fraction"],
127
+ defaultValue: ["Entières", "Décimales", "Fractions"],
128
128
  },
129
129
  ];
130
130
  export const findCoeffInProportionalTableNonIntegers = {
@@ -1 +1 @@
1
- {"version":3,"file":"isTableProportionalNonInteger.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/proportionality/isTableProportionalNonInteger.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAS7C,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAkCF,KAAK,OAAO,GAAG;IACb,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAmGF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAoBxE,CAAC"}
1
+ {"version":3,"file":"isTableProportionalNonInteger.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/proportionality/isTableProportionalNonInteger.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAS7C,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAkCF,KAAK,OAAO,GAAG;IACb,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAqGF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAoBxE,CAAC"}
@@ -107,6 +107,7 @@ const options = [
107
107
  type: GeneratorOptionType.multiselect,
108
108
  target: GeneratorOptionTarget.generation,
109
109
  values: ["Entier", "Décimal", "Fraction"],
110
+ defaultValue: ["Entier", "Décimal", "Fraction"],
110
111
  },
111
112
  {
112
113
  id: "valuesNumberTypes",
@@ -114,6 +115,7 @@ const options = [
114
115
  type: GeneratorOptionType.multiselect,
115
116
  target: GeneratorOptionTarget.generation,
116
117
  values: ["Entières", "Décimales", "Fractions"],
118
+ defaultValue: ["Entières", "Décimales", "Fractions"],
117
119
  },
118
120
  ];
119
121
  export const isTableProportionalNonInteger = {
@@ -1,6 +1,6 @@
1
1
  import { Exercise } from "../../../../exercises/exercise.js";
2
2
  type Options = {
3
- precisionAsked: number;
3
+ precisionAsked: string;
4
4
  };
5
5
  type Identifiers = {
6
6
  precisionAsked: number;
@@ -1 +1 @@
1
- {"version":3,"file":"rounding.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/rounding/rounding.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAwBrC,KAAK,OAAO,GAAG;IACb,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAgIF,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CActD,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAczD,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAc1D,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAc1D,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAiBvD,CAAC"}
1
+ {"version":3,"file":"rounding.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/rounding/rounding.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAyBrC,KAAK,OAAO,GAAG;IACb,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAgIF,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CActD,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAczD,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAc1D,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAc1D,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAiBvD,CAAC"}
@@ -4,6 +4,7 @@ import { Decimal, DecimalConstructor, } from "../../../../math/numbers/decimals/
4
4
  import { randint } from "../../../../math/utils/random/randint.js";
5
5
  import { round } from "../../../../math/utils/round.js";
6
6
  import { numberParser } from "../../../../tree/parsers/numberParser.js";
7
+ import { random } from "../../../../utils/alea/random.js";
7
8
  import { shuffle } from "../../../../utils/alea/shuffle.js";
8
9
  /**
9
10
  * arrondi à l'unité
@@ -57,7 +58,7 @@ ${decTex} \\approx ${answer}
57
58
  $$`}`;
58
59
  };
59
60
  const getRoundQuestions = (opts) => {
60
- const precisionAsked = opts?.precisionAsked || 0;
61
+ const precisionAsked = Number(opts?.precisionAsked) || 0;
61
62
  const precision = randint(precisionAsked + 1, precisionAsked + 5);
62
63
  const dec = DecimalConstructor.random(0, 1000, precision);
63
64
  const identifiers = {
@@ -111,7 +112,7 @@ export const roundToUnit = {
111
112
  connector: "\\approx",
112
113
  label: "Arrondir à l'unité",
113
114
  isSingleStep: true,
114
- generator: (nb) => getDistinctQuestions(() => getRoundQuestions({ precisionAsked: 0 }), nb),
115
+ generator: (nb) => getDistinctQuestions(() => getRoundQuestions({ precisionAsked: "0" }), nb),
115
116
  qcmTimer: 60,
116
117
  freeTimer: 60,
117
118
  getPropositions,
@@ -128,7 +129,7 @@ export const roundToDixieme = {
128
129
  connector: "\\approx",
129
130
  label: "Arrondir au dixième",
130
131
  isSingleStep: true,
131
- generator: (nb) => getDistinctQuestions(() => getRoundQuestions({ precisionAsked: 1 }), nb),
132
+ generator: (nb) => getDistinctQuestions(() => getRoundQuestions({ precisionAsked: "1" }), nb),
132
133
  qcmTimer: 60,
133
134
  freeTimer: 60,
134
135
  getPropositions,
@@ -145,7 +146,7 @@ export const roundToCentieme = {
145
146
  connector: "\\approx",
146
147
  label: "Arrondir au centième",
147
148
  isSingleStep: true,
148
- generator: (nb) => getDistinctQuestions(() => getRoundQuestions({ precisionAsked: 2 }), nb),
149
+ generator: (nb) => getDistinctQuestions(() => getRoundQuestions({ precisionAsked: "2" }), nb),
149
150
  qcmTimer: 60,
150
151
  freeTimer: 60,
151
152
  getPropositions,
@@ -162,7 +163,7 @@ export const roundToMillieme = {
162
163
  connector: "\\approx",
163
164
  label: "Arrondir au millième",
164
165
  isSingleStep: true,
165
- generator: (nb) => getDistinctQuestions(() => getRoundQuestions({ precisionAsked: 3 }), nb),
166
+ generator: (nb) => getDistinctQuestions(() => getRoundQuestions({ precisionAsked: "3" }), nb),
166
167
  qcmTimer: 60,
167
168
  freeTimer: 60,
168
169
  getPropositions,
@@ -176,7 +177,7 @@ export const allRoundings = {
176
177
  connector: "\\approx",
177
178
  label: "Arrondir un nombre décimal",
178
179
  isSingleStep: true,
179
- generator: (nb) => getDistinctQuestions(() => getRoundQuestions({ precisionAsked: randint(0, 4) }), nb),
180
+ generator: (nb) => getDistinctQuestions(() => getRoundQuestions({ precisionAsked: random(["0", "1", "2", "3"]) }), nb),
180
181
  qcmTimer: 60,
181
182
  freeTimer: 60,
182
183
  getPropositions,
@@ -1 +1 @@
1
- {"version":3,"file":"writeLitExpFromFrenchExp.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/writing/writeLitExpFromFrenchExp.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAmCrC,KAAK,QAAQ,GACT,UAAU,GACV,SAAS,GACT,KAAK,GACL,UAAU,GACV,UAAU,GACV,QAAQ,CAAC;AAoEb,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,QAAQ,CAAC;IACvB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/B,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAuRF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAkBxD,CAAC"}
1
+ {"version":3,"file":"writeLitExpFromFrenchExp.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/writing/writeLitExpFromFrenchExp.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAmCrC,KAAK,QAAQ,GACT,UAAU,GACV,SAAS,GACT,KAAK,GACL,UAAU,GACV,UAAU,GACV,QAAQ,CAAC;AAoEb,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,QAAQ,CAAC;IACvB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/B,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAyNF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAkBxD,CAAC"}