math-exercises 3.0.58 → 3.0.60
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.
- package/lib/exercises/exercise.d.ts +1 -0
- package/lib/exercises/exercise.d.ts.map +1 -1
- package/lib/exercises/math/calcul/decimals/multiplyDecimalByNegativeTens.d.ts.map +1 -1
- package/lib/exercises/math/calcul/decimals/multiplyDecimalByNegativeTens.js +46 -17
- package/lib/exercises/math/calcul/decimals/multiplyDecimalByTens.d.ts.map +1 -1
- package/lib/exercises/math/calcul/decimals/multiplyDecimalByTens.js +8 -2
- package/lib/exercises/math/calcul/fractions/fractionAndIntegerDivision.d.ts.map +1 -1
- package/lib/exercises/math/calcul/fractions/fractionAndIntegerDivision.js +15 -11
- package/lib/exercises/math/calcul/fractions/fractionAndIntegerProduct.d.ts.map +1 -1
- package/lib/exercises/math/calcul/fractions/fractionAndIntegerProduct.js +4 -5
- package/lib/exercises/math/calcul/fractions/fractionAndIntegerSum.d.ts.map +1 -1
- package/lib/exercises/math/calcul/fractions/fractionAndIntegerSum.js +4 -2
- package/lib/exercises/math/calcul/fractions/fractionSquare.d.ts.map +1 -1
- package/lib/exercises/math/calcul/fractions/fractionSquare.js +0 -4
- package/lib/exercises/math/calcul/fractions/fractionsDivision.d.ts +6 -3
- package/lib/exercises/math/calcul/fractions/fractionsDivision.d.ts.map +1 -1
- package/lib/exercises/math/calcul/fractions/fractionsDivision.js +63 -28
- package/lib/exercises/math/calcul/fractions/fractionsOperations.d.ts.map +1 -1
- package/lib/exercises/math/calcul/fractions/fractionsOperations.js +0 -4
- package/lib/exercises/math/calcul/fractions/fractionsProduct.d.ts.map +1 -1
- package/lib/exercises/math/calcul/fractions/fractionsProduct.js +0 -4
- package/lib/exercises/math/calcul/fractions/fractionsSubstraction.d.ts.map +1 -1
- package/lib/exercises/math/calcul/fractions/fractionsSubstraction.js +0 -4
- package/lib/exercises/math/calcul/fractions/fractionsSum.d.ts.map +1 -1
- package/lib/exercises/math/calcul/fractions/fractionsSum.js +33 -12
- package/lib/exercises/math/geometry/areas/circleArea.js +1 -1
- package/lib/exercises/math/percent/findProportion.d.ts.map +1 -1
- package/lib/exercises/math/percent/findProportion.js +2 -1
- package/lib/exercises/math/percent/findTVA.js +1 -1
- package/lib/exercises/math/percent/htToTTC.js +1 -1
- package/lib/exercises/math/percent/reciprocalPercentage.js +1 -1
- package/lib/exercises/math/percent/ttcToHT.js +1 -1
- package/lib/exercises/math/percent/valuePercent.d.ts.map +1 -1
- package/lib/exercises/math/percent/valuePercent.js +1 -0
- package/lib/exercises/math/powers/powersOfTenToDecimal.d.ts.map +1 -1
- package/lib/exercises/math/powers/powersOfTenToDecimal.js +1 -0
- package/lib/exercises/math/squareRoots/simpifySquareRoot.d.ts.map +1 -1
- package/lib/exercises/math/squareRoots/simpifySquareRoot.js +4 -4
- package/lib/exercises/math/squareRoots/squareRootEquation.d.ts.map +1 -1
- package/lib/exercises/math/squareRoots/squareRootEquation.js +4 -4
- package/lib/exercises/math/squareRoots/squareRootIdentities.d.ts +1 -0
- package/lib/exercises/math/squareRoots/squareRootIdentities.d.ts.map +1 -1
- package/lib/exercises/math/squareRoots/squareRootIdentities.js +64 -40
- package/lib/exercises/math/squareRoots/squareRootsDistributivity.d.ts.map +1 -1
- package/lib/exercises/math/squareRoots/squareRootsDistributivity.js +36 -23
- package/lib/exercises/math/squareRoots/squareRootsFractions.d.ts.map +1 -1
- package/lib/exercises/math/squareRoots/squareRootsFractions.js +4 -1
- package/lib/exercises/math/squareRoots/squareRootsProducts.d.ts.map +1 -1
- package/lib/exercises/math/squareRoots/squareRootsProducts.js +4 -1
- package/lib/exercises/math/squareRoots/squareRootsSum.d.ts.map +1 -1
- package/lib/exercises/math/squareRoots/squareRootsSum.js +4 -2
- package/lib/exercises/math/squareRoots/squareRootsToSquare.d.ts.map +1 -1
- package/lib/exercises/math/squareRoots/squareRootsToSquare.js +4 -2
- package/lib/exercises/math/trigonometry/arcValue.d.ts.map +1 -1
- package/lib/exercises/math/trigonometry/arcValue.js +67 -31
- package/lib/exercises/math/trigonometry/associatePoint.d.ts.map +1 -1
- package/lib/exercises/math/trigonometry/associatePoint.js +33 -16
- package/lib/exercises/math/trigonometry/basicEquationSin.js +6 -6
- package/lib/exercises/math/trigonometry/equationSinOnRandomInterval.js +3 -3
- package/lib/exercises/math/trigonometry/trigonometry.d.ts.map +1 -1
- package/lib/exercises/math/trigonometry/trigonometry.js +0 -5
- package/lib/exercises/math/trigonometry/trigonometryAngleCalcul.d.ts.map +1 -1
- package/lib/exercises/math/trigonometry/trigonometryAngleCalcul.js +0 -5
- package/lib/exercises/math/trigonometry/trigonometrySideCalcul.d.ts.map +1 -1
- package/lib/exercises/math/trigonometry/trigonometrySideCalcul.js +0 -5
- package/lib/index.d.ts +6 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/playground.d.ts.map +1 -1
- package/lib/playground.js +1 -6
- package/package.json +1 -1
|
@@ -131,6 +131,7 @@ export interface Exercise<TIdentifiers = {}, TOptions = {}> {
|
|
|
131
131
|
maxAllowedQuestions?: number;
|
|
132
132
|
answerType?: "GGB" | "QCM" | "free" | "QCU";
|
|
133
133
|
isQCM?: boolean;
|
|
134
|
+
shouldHaveCalculator?: boolean;
|
|
134
135
|
qcmTimer?: number;
|
|
135
136
|
freeTimer?: number;
|
|
136
137
|
ggbTimer?: 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,iBACN,WAAW,EAAE,KACxB,MAAM,WACA,MAAM,IAAI,SAQpB,CAAC;AACF,eAAO,MAAM,YAAY,UAChB,WAAW,EAAE,aACT,MAAM,WACT,KAAK,GAAG,KAAK,SAQtB,CAAC;AACF,eAAO,MAAM,YAAY,UAChB,WAAW,EAAE,aACT,MAAM,WACT,KAAK,GAAG,KAAK,SAQtB,CAAC;AACF,eAAO,MAAM,iBAAiB,UACrB,WAAW,EAAE,aACT,MAAM,WACT,KAAK,GAAG,KAAK,SAUtB,CAAC;AAEF,eAAO,MAAM,YAAY,UAChB,WAAW,EAAE,KACjB,MAAM,sBACW,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,CAAC,MAAM,GAAG,GAAG,IAAI;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,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,CAAC,YAAY,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE;IACxD,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;CACpB;AAED,MAAM,MAAM,YAAY,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CACtD,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,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CAC7C,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,MAAM,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CAChD,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,CAAC,YAAY,GAAG,EAAE,EAAE,QAAQ,GAAG,GAAG,IAAI,CACjE,IAAI,CAAC,EAAE,QAAQ,KACZ,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACtC,MAAM,MAAM,OAAO,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CACjD,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,QAAQ,KACf,MAAM,CAAC;AACZ,MAAM,MAAM,aAAa,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CACvD,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,QAAQ,KACf,MAAM,CAAC;AACZ,MAAM,MAAM,cAAc,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CACxD,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,QAAQ,KACf,MAAM,CAAC;AACZ,MAAM,MAAM,iBAAiB,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CAC3D,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,QAAQ,KACf,MAAM,CAAC;AACZ,MAAM,MAAM,SAAS,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CACnD,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,QAAQ,KACf,MAAM,CAAC;AACZ,MAAM,MAAM,OAAO,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CACjD,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,QAAQ,KACf,CAAC,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC;AAC1B,MAAM,MAAM,YAAY,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CACtD,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,QAAQ,KACf,MAAM,EAAE,CAAC;AACd,MAAM,MAAM,aAAa,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CACvD,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,QAAQ,KACf,eAAe,CAAC;AACrB,MAAM,MAAM,oBAAoB,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CAC9D,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,QAAQ,KACf,eAAe,CAAC;AACrB,MAAM,MAAM,kBAAkB,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CAC5D,cAAc,EAAE,GAAG,EACnB,OAAO,CAAC,EAAE,QAAQ,KACf,YAAY,CAAC;AAClB,MAAM,MAAM,0BAA0B,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CACpE,WAAW,EAAE,YAAY,EACzB,OAAO,CAAC,EAAE,QAAQ,KACf,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACtC,MAAM,MAAM,cAAc,CAAC,YAAY,EAAE,QAAQ,GAAG,EAAE,IAAI,CACxD,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,EACzB,OAAO,CAAC,EAAE,QAAQ,KACf,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC5B,MAAM,MAAM,eAAe,CAAC,QAAQ,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,KAAK;IAClE,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,KAAK,UAAU,GAAG;IAEhB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AACF,MAAM,WAAW,QAAQ,CAAC,YAAY,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE;IACxD,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,QAAQ,CAAC,EAAE,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IACvC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,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,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAC5C,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,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,gBAAgB,CAAC,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,eAAe,GAAG,QAAQ,GAAG,UAAU,CAAC;IACjD,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,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,CAAC,EAAE,0BAA0B,CACrD,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;CAC3E;AAED,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,SAAS,GACT,UAAU,GACV,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,cAAc,GACd,iBAAiB,GACjB,SAAS,GACT,8BAA8B,GAC9B,aAAa,GACb,YAAY,GACZ,SAAS,GACT,0BAA0B,GAC1B,WAAW,GACX,2BAA2B,GAC3B,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,WAAW,GACX,mBAAmB,GACnB,wBAAwB,GACxB,WAAW,GACX,uBAAuB,GACvB,uBAAuB,GACvB,aAAa,GACb,aAAa,GACb,SAAS,GACT,qBAAqB,GACrB,oBAAoB,GACpB,UAAU,GACV,mBAAmB,GACnB,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,cAAc,GACd,kBAAkB,GAClB,kBAAkB,GAClB,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,iBAAiB,GACjB,cAAc,GACd,cAAc,GACd,QAAQ,GACR,UAAU,GACV,uBAAuB,GACvB,oBAAoB,GACpB,eAAe,GACf,gBAAgB,GAChB,UAAU,CAAC;AAEf,MAAM,MAAM,SAAS,GACjB,mBAAmB,GACnB,sBAAsB,GACtB,QAAQ,GACR,kBAAkB,GAClB,WAAW,GACX,SAAS,GACT,cAAc,GACd,+CAA+C,GAC/C,OAAO,GACP,KAAK,GACL,wBAAwB,GACxB,SAAS,GACT,KAAK,GACL,aAAa,GACb,4BAA4B,GAC5B,oBAAoB,GACpB,WAAW,GACX,iBAAiB,GACjB,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiplyDecimalByNegativeTens.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/decimals/multiplyDecimalByNegativeTens.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"multiplyDecimalByNegativeTens.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/decimals/multiplyDecimalByNegativeTens.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AA8FF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,CAe/D,CAAC"}
|
|
@@ -1,31 +1,60 @@
|
|
|
1
1
|
import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
|
|
2
2
|
import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
|
|
3
|
+
import { numberVEA } from "../../../../exercises/vea/numberVEA.js";
|
|
3
4
|
import { Decimal, DecimalConstructor, } from "../../../../math/numbers/decimals/decimal.js";
|
|
4
5
|
import { randint } from "../../../../math/utils/random/randint.js";
|
|
5
6
|
import { MultiplyNode } from "../../../../tree/nodes/operators/multiplyNode.js";
|
|
6
7
|
import { pluralize } from "../../../../utils/strings/pluralize.js";
|
|
7
|
-
const
|
|
8
|
-
const dec
|
|
9
|
-
const
|
|
8
|
+
const getInstruction = (identifiers) => {
|
|
9
|
+
const { dec, pow } = identifiers;
|
|
10
|
+
const factor = Math.pow(10, pow);
|
|
11
|
+
const statement = new MultiplyNode(dec.toTree(), factor.toTree());
|
|
12
|
+
return `Calculer :
|
|
13
|
+
|
|
14
|
+
$$
|
|
15
|
+
${statement.toTex()}
|
|
16
|
+
$$`;
|
|
17
|
+
};
|
|
18
|
+
const getAnswer = (identifiers) => {
|
|
19
|
+
const { dec, pow } = identifiers;
|
|
20
|
+
const decimal = new Decimal(dec);
|
|
21
|
+
const answer = decimal.multiplyByPowerOfTen(pow).toTree().toTex();
|
|
22
|
+
return answer;
|
|
23
|
+
};
|
|
24
|
+
const getHint = (identifiers) => {
|
|
25
|
+
const { dec, pow } = identifiers;
|
|
26
|
+
const factor = Math.pow(10, pow);
|
|
27
|
+
return `Multiplier par $${factor.frenchify()}$ revient à déplacer la virgule de $${-pow}$ ${pluralize("position", -pow)} vers la gauche.`;
|
|
28
|
+
};
|
|
29
|
+
const getCorrection = (identifiers) => {
|
|
30
|
+
const { dec, pow } = identifiers;
|
|
10
31
|
const factor = Math.pow(10, pow);
|
|
11
|
-
const answer = dec.multiplyByPowerOfTen(pow).toTree().toTex();
|
|
12
32
|
const statement = new MultiplyNode(dec.toTree(), factor.toTree());
|
|
33
|
+
return `On déplace la virgule de $${-pow}$ ${pluralize("position", -pow)} vers la gauche :
|
|
34
|
+
|
|
35
|
+
$$
|
|
36
|
+
${statement.toTex()} = ${getAnswer(identifiers)}
|
|
37
|
+
$$
|
|
38
|
+
`;
|
|
39
|
+
};
|
|
40
|
+
const getQuestionFromIdentifiers = (identifiers) => {
|
|
13
41
|
const question = {
|
|
14
|
-
answer,
|
|
15
|
-
instruction:
|
|
42
|
+
answer: getAnswer(identifiers),
|
|
43
|
+
instruction: getInstruction(identifiers),
|
|
16
44
|
keys: [],
|
|
17
45
|
answerFormat: "tex",
|
|
18
|
-
identifiers
|
|
19
|
-
hint:
|
|
20
|
-
correction:
|
|
21
|
-
|
|
22
|
-
$$
|
|
23
|
-
${statement.toTex()} = ${answer}
|
|
24
|
-
$$
|
|
25
|
-
`,
|
|
46
|
+
identifiers,
|
|
47
|
+
hint: getHint(identifiers),
|
|
48
|
+
correction: getCorrection(identifiers),
|
|
26
49
|
};
|
|
27
50
|
return question;
|
|
28
51
|
};
|
|
52
|
+
const getMultiplyDecimalByNegativeTensQuestion = () => {
|
|
53
|
+
const dec = DecimalConstructor.random(1, 200, randint(1, 5));
|
|
54
|
+
const pow = -randint(1, 4);
|
|
55
|
+
const identifiers = { dec: dec.value, pow };
|
|
56
|
+
return getQuestionFromIdentifiers(identifiers);
|
|
57
|
+
};
|
|
29
58
|
const getPropositions = (n, { answer, dec, pow }) => {
|
|
30
59
|
const propositions = [];
|
|
31
60
|
addValidProp(propositions, answer);
|
|
@@ -40,15 +69,13 @@ const getPropositions = (n, { answer, dec, pow }) => {
|
|
|
40
69
|
return shuffleProps(propositions, n);
|
|
41
70
|
};
|
|
42
71
|
const isAnswerValid = (ans, { answer }) => {
|
|
43
|
-
return ans
|
|
72
|
+
return numberVEA(ans, answer);
|
|
44
73
|
};
|
|
45
74
|
export const multiplyDecimalByNegativeTens = {
|
|
46
75
|
id: "multiplyDecimalByNegativeTens",
|
|
47
76
|
connector: "=",
|
|
48
77
|
label: "Multiplier un décimal par $0,1$, par $0,01$ ou par $0,001$",
|
|
49
|
-
levels: [],
|
|
50
78
|
isSingleStep: true,
|
|
51
|
-
sections: [],
|
|
52
79
|
generator: (nb) => getDistinctQuestions(getMultiplyDecimalByNegativeTensQuestion, nb),
|
|
53
80
|
qcmTimer: 60,
|
|
54
81
|
freeTimer: 60,
|
|
@@ -56,4 +83,6 @@ export const multiplyDecimalByNegativeTens = {
|
|
|
56
83
|
isAnswerValid,
|
|
57
84
|
subject: "Mathématiques",
|
|
58
85
|
hasHintAndCorrection: true,
|
|
86
|
+
getQuestionFromIdentifiers,
|
|
87
|
+
shouldHaveCalculator: false,
|
|
59
88
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiplyDecimalByTens.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/decimals/multiplyDecimalByTens.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"multiplyDecimalByTens.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/decimals/multiplyDecimalByTens.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAcrC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAuGF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAoBvD,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
|
|
2
2
|
import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
|
|
3
|
+
import { numberVEA } from "../../../../exercises/vea/numberVEA.js";
|
|
3
4
|
import { Decimal, DecimalConstructor, } from "../../../../math/numbers/decimals/decimal.js";
|
|
4
5
|
import { randint } from "../../../../math/utils/random/randint.js";
|
|
5
6
|
import { DivideNode } from "../../../../tree/nodes/operators/divideNode.js";
|
|
@@ -10,7 +11,11 @@ const getInstruction = (identifiers) => {
|
|
|
10
11
|
const { dec, pow, isDivide } = identifiers;
|
|
11
12
|
const factor = Math.pow(10, pow);
|
|
12
13
|
const statement = new (isDivide ? DivideNode : MultiplyNode)(dec.toTree(), factor.toTree());
|
|
13
|
-
return `Calculer :
|
|
14
|
+
return `Calculer :
|
|
15
|
+
|
|
16
|
+
$$
|
|
17
|
+
${statement.toTex()}
|
|
18
|
+
$$`;
|
|
14
19
|
};
|
|
15
20
|
const getHint = (identifiers) => {
|
|
16
21
|
const { dec, pow, isDivide } = identifiers;
|
|
@@ -71,7 +76,7 @@ const getPropositions = (n, { answer, dec, isDivide, pow }) => {
|
|
|
71
76
|
return shuffleProps(propositions, n);
|
|
72
77
|
};
|
|
73
78
|
const isAnswerValid = (ans, { answer }) => {
|
|
74
|
-
return ans
|
|
79
|
+
return numberVEA(ans, answer);
|
|
75
80
|
};
|
|
76
81
|
export const multiplyDecimalByTens = {
|
|
77
82
|
id: "multiplyDecimalByTens",
|
|
@@ -91,4 +96,5 @@ export const multiplyDecimalByTens = {
|
|
|
91
96
|
getCorrection,
|
|
92
97
|
getHint,
|
|
93
98
|
getAnswer,
|
|
99
|
+
shouldHaveCalculator: false,
|
|
94
100
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fractionAndIntegerDivision.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerDivision.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"fractionAndIntegerDivision.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerDivision.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAarC,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAyKF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAc5D,CAAC"}
|
|
@@ -3,7 +3,8 @@ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQue
|
|
|
3
3
|
import { Integer } from "../../../../math/numbers/integer/integer.js";
|
|
4
4
|
import { Rational, RationalConstructor, } from "../../../../math/numbers/rationals/rational.js";
|
|
5
5
|
import { randint } from "../../../../math/utils/random/randint.js";
|
|
6
|
-
import { DivideNode } from "../../../../tree/nodes/operators/divideNode.js";
|
|
6
|
+
import { divide, DivideNode } from "../../../../tree/nodes/operators/divideNode.js";
|
|
7
|
+
import { frac } from "../../../../tree/nodes/operators/fractionNode.js";
|
|
7
8
|
import { MultiplyNode } from "../../../../tree/nodes/operators/multiplyNode.js";
|
|
8
9
|
import { coinFlip } from "../../../../utils/alea/coinFlip.js";
|
|
9
10
|
const getAnswer = (identifiers) => {
|
|
@@ -38,8 +39,7 @@ const getCorrection = (identifiers) => {
|
|
|
38
39
|
? new Rational(integer * rationalObj.denum, rationalObj.num)
|
|
39
40
|
: new Rational(rationalObj.num, rationalObj.denum * integer);
|
|
40
41
|
const answerTex = getAnswer(identifiers);
|
|
41
|
-
return `
|
|
42
|
-
On écrit $${integer}$ sous forme de fraction :
|
|
42
|
+
return `On écrit $${integer}$ sous forme de fraction :
|
|
43
43
|
|
|
44
44
|
$$
|
|
45
45
|
${integer} = \\frac{${integer}}{1}
|
|
@@ -77,23 +77,30 @@ $$
|
|
|
77
77
|
Ainsi, le résultat attendu est $${answerTex}$.
|
|
78
78
|
`;
|
|
79
79
|
};
|
|
80
|
+
const getStartStatement = (identifiers) => {
|
|
81
|
+
const { integerFirst, integer, rational } = identifiers;
|
|
82
|
+
const statementTree = integerFirst
|
|
83
|
+
? divide(integer, frac(rational[0], rational[1]))
|
|
84
|
+
: divide(frac(rational[0], rational[1]), integer);
|
|
85
|
+
return statementTree.toTex();
|
|
86
|
+
};
|
|
80
87
|
const getFractionAndIntegerDivision = () => {
|
|
81
88
|
const rational = RationalConstructor.randomIrreductible();
|
|
82
89
|
const integerFirst = coinFlip();
|
|
83
90
|
const integer = integerFirst
|
|
84
91
|
? new Integer(randint(-10, 11, [0]))
|
|
85
92
|
: new Integer(randint(-10, 11, [0, 1]));
|
|
86
|
-
const statementTree = integerFirst
|
|
87
|
-
? new DivideNode(integer.toTree(), rational.toTree())
|
|
88
|
-
: new DivideNode(rational.toTree(), integer.toTree());
|
|
89
93
|
const identifiers = {
|
|
90
94
|
integerFirst,
|
|
91
95
|
integer: integer.value,
|
|
92
96
|
rational: [rational.num, rational.denum],
|
|
93
97
|
};
|
|
98
|
+
return getQuestionFromIdentifiers(identifiers);
|
|
99
|
+
};
|
|
100
|
+
const getQuestionFromIdentifiers = (identifiers) => {
|
|
94
101
|
const question = {
|
|
95
102
|
instruction: getInstruction(identifiers),
|
|
96
|
-
startStatement:
|
|
103
|
+
startStatement: getStartStatement(identifiers),
|
|
97
104
|
answer: getAnswer(identifiers),
|
|
98
105
|
keys: [],
|
|
99
106
|
hint: getHint(identifiers),
|
|
@@ -141,8 +148,5 @@ export const fractionAndIntegerDivision = {
|
|
|
141
148
|
isAnswerValid,
|
|
142
149
|
subject: "Mathématiques",
|
|
143
150
|
hasHintAndCorrection: true,
|
|
144
|
-
|
|
145
|
-
getInstruction,
|
|
146
|
-
getHint,
|
|
147
|
-
getCorrection,
|
|
151
|
+
getQuestionFromIdentifiers,
|
|
148
152
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fractionAndIntegerProduct.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerProduct.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"fractionAndIntegerProduct.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerProduct.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAkBrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAiJF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAepE,CAAC"}
|
|
@@ -71,6 +71,9 @@ const getFractionAndIntegerProduct = (opts) => {
|
|
|
71
71
|
rational: [rational.num, rational.denum],
|
|
72
72
|
integerFirst,
|
|
73
73
|
};
|
|
74
|
+
return getQuestionFromIdentifiers(identifiers, opts);
|
|
75
|
+
};
|
|
76
|
+
const getQuestionFromIdentifiers = (identifiers, opts) => {
|
|
74
77
|
const question = {
|
|
75
78
|
instruction: getInstruction(identifiers, opts),
|
|
76
79
|
startStatement: getStartStatement(identifiers),
|
|
@@ -123,10 +126,6 @@ export const fractionAndIntegerProduct = {
|
|
|
123
126
|
isAnswerValid,
|
|
124
127
|
hasHintAndCorrection: true,
|
|
125
128
|
subject: "Mathématiques",
|
|
126
|
-
|
|
127
|
-
getCorrection,
|
|
128
|
-
getInstruction,
|
|
129
|
-
getAnswer,
|
|
130
|
-
getStartStatement,
|
|
129
|
+
getQuestionFromIdentifiers,
|
|
131
130
|
options,
|
|
132
131
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fractionAndIntegerSum.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerSum.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"fractionAndIntegerSum.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionAndIntegerSum.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B,CAAC;AAqGF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAcF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAehE,CAAC"}
|
|
@@ -48,6 +48,9 @@ const getFractionAndIntegerSum = (opts) => {
|
|
|
48
48
|
rational: [rational.num, rational.denum],
|
|
49
49
|
isIntegerFirst,
|
|
50
50
|
};
|
|
51
|
+
return getQuestionFromIdentifiers(identifiers, opts);
|
|
52
|
+
};
|
|
53
|
+
const getQuestionFromIdentifiers = (identifiers, opts) => {
|
|
51
54
|
const question = {
|
|
52
55
|
instruction: getInstruction(identifiers, opts),
|
|
53
56
|
startStatement: getStatementNode(identifiers).toTex(),
|
|
@@ -91,7 +94,6 @@ export const fractionAndIntegerSum = {
|
|
|
91
94
|
isAnswerValid,
|
|
92
95
|
subject: "Mathématiques",
|
|
93
96
|
options,
|
|
94
|
-
getAnswer,
|
|
95
|
-
getInstruction,
|
|
96
97
|
rebuildIdentifiers,
|
|
98
|
+
getQuestionFromIdentifiers,
|
|
97
99
|
};
|
|
@@ -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,
|
|
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,8 +1,11 @@
|
|
|
1
1
|
import { Exercise } from "../../../../exercises/exercise.js";
|
|
2
2
|
type Identifiers = {
|
|
3
|
-
rationalNum: [
|
|
4
|
-
rationalDenum: [
|
|
3
|
+
rationalNum: number[];
|
|
4
|
+
rationalDenum: number[];
|
|
5
5
|
};
|
|
6
|
-
|
|
6
|
+
type Options = {
|
|
7
|
+
allowNonIrreductible?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const fractionsDivision: Exercise<Identifiers, Options>;
|
|
7
10
|
export {};
|
|
8
11
|
//# sourceMappingURL=fractionsDivision.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fractionsDivision.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsDivision.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"fractionsDivision.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsDivision.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAsKF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAe5D,CAAC"}
|
|
@@ -6,34 +6,45 @@ import { DivideNode } from "../../../../tree/nodes/operators/divideNode.js";
|
|
|
6
6
|
import { rationalParser } from "../../../../tree/parsers/rationalParser.js";
|
|
7
7
|
import { shuffle } from "../../../../utils/alea/shuffle.js";
|
|
8
8
|
const options = [allowNonIrreductibleOption];
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
9
|
+
const getInstruction = (identifiers, opts) => {
|
|
10
|
+
const { rationalNum, rationalDenum } = identifiers;
|
|
11
|
+
const rational = new Rational(rationalNum[0], rationalNum[1]);
|
|
12
|
+
const rational2 = new Rational(rationalDenum[0], rationalDenum[1]);
|
|
12
13
|
const statementTree = new DivideNode(rational.toTree(), rational2.toTree());
|
|
14
|
+
return `Calculer ${opts?.allowNonIrreductible
|
|
15
|
+
? ""
|
|
16
|
+
: "et donner le résultat sous la forme la plus simplifiée possible"} :
|
|
17
|
+
|
|
18
|
+
$$
|
|
19
|
+
${statementTree.toTex()}
|
|
20
|
+
$$`;
|
|
21
|
+
};
|
|
22
|
+
const getAnswer = (identifiers, opts) => {
|
|
23
|
+
const { rationalNum, rationalDenum } = identifiers;
|
|
24
|
+
const rational = new Rational(rationalNum[0], rationalNum[1]);
|
|
25
|
+
const rational2 = new Rational(rationalDenum[0], rationalDenum[1]);
|
|
13
26
|
const answerTree = rational.divide(rational2).toTree();
|
|
14
27
|
const answer = answerTree.toTex();
|
|
28
|
+
return answer;
|
|
29
|
+
};
|
|
30
|
+
const getHint = (identifiers, opts) => {
|
|
31
|
+
return "Pour diviser par une fraction, il faut multiplier la première fraction par l'inverse de la deuxième. Simplifie ensuite la fraction obtenue si nécessaire.";
|
|
32
|
+
};
|
|
33
|
+
const getCorrection = (identifiers, opts) => {
|
|
34
|
+
const { rationalNum, rationalDenum } = identifiers;
|
|
35
|
+
const rational = new Rational(rationalNum[0], rationalNum[1]);
|
|
36
|
+
const rational2 = new Rational(rationalDenum[0], rationalDenum[1]);
|
|
37
|
+
const statementTree = new DivideNode(rational.toTree(), rational2.toTree());
|
|
15
38
|
const beforeSimplification = new Rational(rational.num * rational2.denum, rational.denum * rational2.num);
|
|
16
39
|
const isSimplifiable = !beforeSimplification.isIrreductible();
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
? ""
|
|
20
|
-
: "et donner le résultat sous la forme la plus simplifiée possible"} :
|
|
21
|
-
|
|
22
|
-
$$
|
|
23
|
-
${statementTree.toTex()}
|
|
24
|
-
$$`,
|
|
25
|
-
startStatement: statementTree.toTex(),
|
|
26
|
-
answer,
|
|
27
|
-
keys: [],
|
|
28
|
-
answerFormat: "tex",
|
|
29
|
-
hint: "Pour diviser par une fraction, il faut multiplier la première fraction par l'inverse de la deuxième. Simplifie ensuite la fraction obtenue si nécessaire.",
|
|
30
|
-
correction: `On multiplie la première fraction par l'inverse de la deuxième :
|
|
40
|
+
const answer = getAnswer(identifiers);
|
|
41
|
+
return `On multiplie la première fraction par l'inverse de la deuxième :
|
|
31
42
|
|
|
32
43
|
$$
|
|
33
44
|
${statementTree.toTex()} = ${rational.toTree().toTex()}\\times ${rational2
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
45
|
+
.reverse(false)
|
|
46
|
+
.toTree()
|
|
47
|
+
.toTex()}
|
|
37
48
|
$$
|
|
38
49
|
|
|
39
50
|
Multiplions les fractions :
|
|
@@ -43,23 +54,46 @@ $$
|
|
|
43
54
|
$$
|
|
44
55
|
|
|
45
56
|
${isSimplifiable
|
|
46
|
-
|
|
57
|
+
? `On peut alors simplifier cette fraction :
|
|
47
58
|
|
|
48
59
|
$$
|
|
49
60
|
${beforeSimplification.toTree().toTex()} = ${answer}
|
|
50
61
|
$$`
|
|
51
|
-
|
|
62
|
+
: "Cette fraction est déjà simplifiée."}
|
|
52
63
|
|
|
53
64
|
Ainsi, le résultat attendu est $${answer}$.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
65
|
+
`;
|
|
66
|
+
};
|
|
67
|
+
const getStartStatement = (identifiers, opts) => {
|
|
68
|
+
const { rationalDenum, rationalNum } = identifiers;
|
|
69
|
+
const rational = new Rational(rationalNum[0], rationalNum[1]);
|
|
70
|
+
const rational2 = new Rational(rationalDenum[0], rationalDenum[1]);
|
|
71
|
+
const statementTree = new DivideNode(rational.toTree(), rational2.toTree());
|
|
72
|
+
return statementTree.toTex();
|
|
73
|
+
};
|
|
74
|
+
const getQuestionFromIdentifiers = (identifiers, opts) => {
|
|
75
|
+
const question = {
|
|
76
|
+
instruction: getInstruction(identifiers, opts),
|
|
77
|
+
startStatement: getStartStatement(identifiers, opts),
|
|
78
|
+
answer: getAnswer(identifiers, opts),
|
|
79
|
+
keys: [],
|
|
80
|
+
answerFormat: "tex",
|
|
81
|
+
hint: getHint(identifiers, opts),
|
|
82
|
+
correction: getCorrection(identifiers, opts),
|
|
83
|
+
identifiers,
|
|
59
84
|
};
|
|
60
85
|
return question;
|
|
61
86
|
};
|
|
62
|
-
const
|
|
87
|
+
const getFractionsDivision = (opts) => {
|
|
88
|
+
const rational = RationalConstructor.randomIrreductible();
|
|
89
|
+
const rational2 = RationalConstructor.randomIrreductible();
|
|
90
|
+
const identifiers = {
|
|
91
|
+
rationalNum: [rational.num, rational.denum],
|
|
92
|
+
rationalDenum: [rational2.num, rational2.denum],
|
|
93
|
+
};
|
|
94
|
+
return getQuestionFromIdentifiers(identifiers, opts);
|
|
95
|
+
};
|
|
96
|
+
const getPropositions = (n, { answer, rationalNum, rationalDenum }, opts) => {
|
|
63
97
|
const propositions = [];
|
|
64
98
|
addValidProp(propositions, answer);
|
|
65
99
|
const rational = new Rational(rationalNum[0], rationalNum[1]);
|
|
@@ -102,4 +136,5 @@ export const fractionsDivision = {
|
|
|
102
136
|
subject: "Mathématiques",
|
|
103
137
|
hasHintAndCorrection: true,
|
|
104
138
|
options,
|
|
139
|
+
getQuestionFromIdentifiers,
|
|
105
140
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fractionsOperations.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAM7C,KAAK,WAAW,GAAG;IACjB,oBAAoB,EAAE,eAAe,CAAC;CACvC,CAAC;AA2FF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"fractionsOperations.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAM7C,KAAK,WAAW,GAAG;IACjB,oBAAoB,EAAE,eAAe,CAAC;CACvC,CAAC;AA2FF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAarD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fractionsProduct.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsProduct.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAiBrC,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAiIF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"fractionsProduct.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsProduct.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AAiBrC,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAiIF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAe3D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fractionsSubstraction.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsSubstraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AA8GF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"fractionsSubstraction.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsSubstraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AA8GF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAchE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fractionsSum.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsSum.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"fractionsSum.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/fractions/fractionsSum.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAiBT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AA0IF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAcvD,CAAC"}
|
|
@@ -18,26 +18,47 @@ $$
|
|
|
18
18
|
${statementTree.toTex()}
|
|
19
19
|
$$`;
|
|
20
20
|
};
|
|
21
|
-
const
|
|
22
|
-
const rational =
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const answerTree =
|
|
21
|
+
const getAnswer = (identifiers, opts) => {
|
|
22
|
+
const { rational, rational2 } = identifiers;
|
|
23
|
+
const rationalObj = new Rational(rational[0], rational[1]);
|
|
24
|
+
const rationalObj2 = new Rational(rational2[0], rational2[1]);
|
|
25
|
+
const answerTree = rationalObj.add(rationalObj2).toTree();
|
|
26
26
|
const answer = answerTree.toTex();
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
return answer;
|
|
28
|
+
};
|
|
29
|
+
const getHint = (identifiers, opts) => {
|
|
30
|
+
return ``;
|
|
31
|
+
};
|
|
32
|
+
const getCorrection = (identifiers, opts) => {
|
|
33
|
+
return ``;
|
|
34
|
+
};
|
|
35
|
+
const getStartStatement = (identifiers) => {
|
|
36
|
+
const { rational, rational2 } = identifiers;
|
|
37
|
+
const rationalObj = new Rational(rational[0], rational[1]);
|
|
38
|
+
const rationalObj2 = new Rational(rational2[0], rational2[1]);
|
|
39
|
+
const statementTree = new AddNode(rationalObj.toTree(), rationalObj2.toTree());
|
|
40
|
+
return statementTree.toTex();
|
|
41
|
+
};
|
|
42
|
+
const getQuestionFromIdentifiers = (identifiers, opts) => {
|
|
31
43
|
const question = {
|
|
32
44
|
instruction: getInstruction(identifiers, opts),
|
|
33
|
-
startStatement:
|
|
34
|
-
answer,
|
|
45
|
+
startStatement: getStartStatement(identifiers, opts),
|
|
46
|
+
answer: getAnswer(identifiers),
|
|
35
47
|
keys: [],
|
|
36
48
|
answerFormat: "tex",
|
|
37
49
|
identifiers,
|
|
38
50
|
};
|
|
39
51
|
return question;
|
|
40
52
|
};
|
|
53
|
+
const getFractionsSum = (opts) => {
|
|
54
|
+
const rational = RationalConstructor.randomIrreductible();
|
|
55
|
+
const rational2 = RationalConstructor.randomIrreductible();
|
|
56
|
+
const identifiers = {
|
|
57
|
+
rational: [rational.num, rational.denum],
|
|
58
|
+
rational2: [rational2.num, rational2.denum],
|
|
59
|
+
};
|
|
60
|
+
return getQuestionFromIdentifiers(identifiers, opts);
|
|
61
|
+
};
|
|
41
62
|
const getPropositions = (n, { answer, rational, rational2 }) => {
|
|
42
63
|
const propositions = [];
|
|
43
64
|
addValidProp(propositions, answer);
|
|
@@ -90,5 +111,5 @@ export const fractionsSum = {
|
|
|
90
111
|
isAnswerValid,
|
|
91
112
|
subject: "Mathématiques",
|
|
92
113
|
options,
|
|
93
|
-
|
|
114
|
+
getQuestionFromIdentifiers,
|
|
94
115
|
};
|
|
@@ -13,7 +13,7 @@ const getAnswer = (identifiers) => {
|
|
|
13
13
|
const answerNb = coin
|
|
14
14
|
? round(Math.PI * radius ** 2, 2)
|
|
15
15
|
: round(Math.PI * (diametre / 2) ** 2, 2);
|
|
16
|
-
const answer =
|
|
16
|
+
const answer = answerNb.frenchify();
|
|
17
17
|
const answerTex = answer + "\\text{cm}^2";
|
|
18
18
|
return answerTex;
|
|
19
19
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findProportion.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/percent/findProportion.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA0EF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"findProportion.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/percent/findProportion.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA0EF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAoBhD,CAAC"}
|