math-exercises 3.0.5 → 3.0.7
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 -1
- package/lib/exercises/exercise.d.ts.map +1 -1
- package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplicationsNoRelative.d.ts.map +1 -1
- package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplicationsNoRelative.js +30 -32
- package/lib/exercises/math/calcul/ordering/decimalOrdering.d.ts.map +1 -1
- package/lib/exercises/math/calcul/ordering/decimalOrdering.js +3 -1
- package/lib/exercises/math/calcul/ordering/decimalOrderingNoRelatives.d.ts.map +1 -1
- package/lib/exercises/math/calcul/ordering/decimalOrderingNoRelatives.js +3 -1
- package/lib/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.d.ts.map +1 -1
- package/lib/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.js +0 -2
- package/lib/exercises/math/calculLitteral/equation/equationType1Exercise.d.ts.map +1 -1
- package/lib/exercises/math/calculLitteral/equation/equationType1Exercise.js +2 -3
- package/lib/exercises/math/calculLitteral/equation/fractionEquation.d.ts.map +1 -1
- package/lib/exercises/math/calculLitteral/equation/fractionEquation.js +66 -26
- package/lib/exercises/math/calculLitteral/factorisation/factorizeCanonicalFormWithSqrt.d.ts.map +1 -1
- package/lib/exercises/math/calculLitteral/factorisation/factorizeCanonicalFormWithSqrt.js +60 -28
- package/lib/exercises/math/dataRepresentations/barChartReading.d.ts.map +1 -1
- package/lib/exercises/math/dataRepresentations/barChartReading.js +63 -7
- package/lib/exercises/math/derivation/derivative/lnDerivativeOne.d.ts.map +1 -1
- package/lib/exercises/math/derivation/derivative/lnDerivativeOne.js +7 -1
- package/lib/exercises/math/derivation/derivative/sinCompositionDerivation.d.ts.map +1 -1
- package/lib/exercises/math/derivation/derivative/sinCompositionDerivation.js +22 -7
- package/lib/exercises/math/derivation/derivative/sinSecondDegreeDerivative.d.ts.map +1 -1
- package/lib/exercises/math/derivation/derivative/sinSecondDegreeDerivative.js +23 -8
- package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.js +1 -1
- package/lib/exercises/math/functions/basics/imageFunction.d.ts.map +1 -1
- package/lib/exercises/math/functions/basics/imageFunction.js +20 -12
- package/lib/exercises/math/functions/basics/imageFunctionGeogebra.d.ts.map +1 -1
- package/lib/exercises/math/functions/basics/imageFunctionGeogebra.js +0 -1
- package/lib/exercises/math/functions/trinoms/solveSecondDegreeEquationFromCano.d.ts.map +1 -1
- package/lib/exercises/math/functions/trinoms/solveSecondDegreeEquationFromCano.js +22 -9
- package/lib/exercises/math/geometry/parametric/extractPointFromParametricLine.d.ts.map +1 -1
- package/lib/exercises/math/geometry/parametric/extractPointFromParametricLine.js +2 -1
- package/lib/exercises/math/geometry/vectors/vectorNormCalculation.js +1 -1
- package/lib/exercises/math/percent/applyPercent.d.ts.map +1 -1
- package/lib/exercises/math/percent/applyPercent.js +65 -52
- package/lib/exercises/math/percent/evolutionToCM.d.ts.map +1 -1
- package/lib/exercises/math/percent/evolutionToCM.js +0 -2
- package/lib/exercises/math/percent/findProportion.d.ts.map +1 -1
- package/lib/exercises/math/percent/findProportion.js +35 -17
- package/lib/exercises/math/percent/findStartValueAfterEvolution.d.ts.map +1 -1
- package/lib/exercises/math/percent/findStartValueAfterEvolution.js +1 -0
- package/lib/exercises/math/percent/findTVA.d.ts.map +1 -1
- package/lib/exercises/math/percent/findTVA.js +1 -0
- package/lib/exercises/math/percent/globalPercent.d.ts.map +1 -1
- package/lib/exercises/math/percent/globalPercent.js +50 -32
- package/lib/exercises/math/probaStat/diceBasicProbas.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/diceBasicProbas.js +1 -1
- package/lib/exercises/math/probaStat/probaFromTableNoContext.d.ts +1 -3
- package/lib/exercises/math/probaStat/probaFromTableNoContext.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/probaFromTableNoContext.js +15 -12
- package/lib/exercises/math/probaStat/probaFromTableWithContext.d.ts +1 -3
- package/lib/exercises/math/probaStat/probaFromTableWithContext.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/probaFromTableWithContext.js +13 -11
- package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts.map +1 -1
- package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormula.js +0 -6
- package/lib/exercises/math/squareRoots/simpifySquareRoot.d.ts.map +1 -1
- package/lib/exercises/math/squareRoots/simpifySquareRoot.js +26 -6
- package/lib/exercises/math/squareRoots/squareRootEquation.d.ts.map +1 -1
- package/lib/exercises/math/squareRoots/squareRootEquation.js +19 -4
- package/lib/exercises/math/trigonometry/mainRemarkableValues.d.ts.map +1 -1
- package/lib/exercises/math/trigonometry/mainRemarkableValues.js +48 -23
- package/lib/exercises/math/trigonometry/remarkableValues.d.ts +2 -0
- package/lib/exercises/math/trigonometry/remarkableValues.d.ts.map +1 -1
- package/lib/exercises/math/trigonometry/remarkableValues.js +54 -25
- package/lib/index.d.ts +3 -6
- package/lib/index.d.ts.map +1 -1
- package/lib/latexTester.d.ts.map +1 -1
- package/lib/latexTester.js +6 -0
- package/lib/math/polynomials/trinom.d.ts +2 -0
- package/lib/math/polynomials/trinom.d.ts.map +1 -1
- package/lib/math/polynomials/trinom.js +12 -0
- package/lib/pc/constants/molecularChemistry/molecule.js +0 -1
- package/lib/pc/constants/molecularChemistry/reaction.d.ts.map +1 -1
- package/lib/pc/constants/molecularChemistry/reaction.js +0 -3
- package/lib/pc/measure/measure.d.ts.map +1 -1
- package/lib/pc/measure/measure.js +0 -2
- package/lib/playground.d.ts.map +1 -1
- package/lib/tests/pdfExo.test.js +2 -2
- package/lib/tests/pdfs/buildPDFForExercise.d.ts.map +1 -1
- package/lib/tests/pdfs/buildPDFForExercise.js +7 -3
- package/lib/tests/questionTest.d.ts.map +1 -1
- package/lib/tests/questionTest.js +2 -2
- package/lib/tests/singleExo.test.js +2 -2
- package/lib/tree/nodes/algebraicNode.d.ts +1 -0
- package/lib/tree/nodes/algebraicNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/cosNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/cosNode.js +5 -2
- package/lib/tree/nodes/functions/sinNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/sinNode.js +5 -2
- package/lib/tree/nodes/sets/unionIntervalNode.d.ts.map +1 -1
- package/lib/tree/nodes/sets/unionIntervalNode.js +2 -2
- package/lib/tree/parsers/latexParser.d.ts.map +1 -1
- package/lib/tree/parsers/latexParser.js +10 -0
- package/package.json +3 -1
|
@@ -101,7 +101,7 @@ export type GetGGBAnswer<TIdentifiers, TOptions = {}> = (args: TIdentifiers, opt
|
|
|
101
101
|
export type GetGGBOptions<TIdentifiers, TOptions = {}> = (args: TIdentifiers, options?: TOptions) => GeogebraOptions;
|
|
102
102
|
export type GetStudentGGBOptions<TIdentifiers, TOptions = {}> = (args: TIdentifiers, options?: TOptions) => GeogebraOptions;
|
|
103
103
|
export type RebuildIdentifiers<TIdentifiers, TOptions = {}> = (oldIdentifiers: any, options?: TOptions) => TIdentifiers;
|
|
104
|
-
export type GetQuestionFromIdentifiers<TIdentifiers, TOptions = {}> = (identifiers: TIdentifiers, options?: TOptions) => Question<TIdentifiers>;
|
|
104
|
+
export type GetQuestionFromIdentifiers<TIdentifiers, TOptions = {}> = (identifiers: TIdentifiers, options?: TOptions) => Question<TIdentifiers, TOptions>;
|
|
105
105
|
export type QuestionHotFix<TIdentifiers, TOptions = {}> = (q: Question<TIdentifiers>, options?: TOptions) => Question<TIdentifiers>;
|
|
106
106
|
export type ValidateOptions<TOptions = {}> = (options: TOptions) => {
|
|
107
107
|
valid: boolean;
|
|
@@ -1 +1 @@
|
|
|
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,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,UAAW,WAAW,EAAE,KAAK,MAAM,kBAE3D,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;CAC7B,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,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,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"exercise.d.ts","sourceRoot":"","sources":["../../src/exercises/exercise.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mentalMultiplicationsNoRelative.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/mentalCaluls/mentalMultiplicationsNoRelative.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"mentalMultiplicationsNoRelative.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/mentalCaluls/mentalMultiplicationsNoRelative.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAkFF,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,WAAW,CAcjE,CAAC"}
|
|
@@ -1,16 +1,34 @@
|
|
|
1
1
|
import { addValidProp, 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 { randint } from "../../../../math/utils/random/randint.js";
|
|
4
5
|
import { round } from "../../../../math/utils/round.js";
|
|
5
|
-
import { NumberNode } from "../../../../tree/nodes/numbers/numberNode.js";
|
|
6
6
|
import { MultiplyNode } from "../../../../tree/nodes/operators/multiplyNode.js";
|
|
7
|
+
import { operatorComposition } from "../../../../tree/utilities/operatorComposition.js";
|
|
7
8
|
import { coinFlip } from "../../../../utils/alea/coinFlip.js";
|
|
8
9
|
import { shuffle } from "../../../../utils/alea/shuffle.js";
|
|
10
|
+
const getStatementNode = (identifiers) => {
|
|
11
|
+
const numbers = identifiers.numbers;
|
|
12
|
+
return operatorComposition(MultiplyNode, numbers.map((n) => n.toTree()));
|
|
13
|
+
};
|
|
14
|
+
const getStartStatement = (identifiers) => {
|
|
15
|
+
return getStatementNode(identifiers).toTex();
|
|
16
|
+
};
|
|
17
|
+
const getInstruction = (identifiers) => {
|
|
18
|
+
return `Calculer :
|
|
19
|
+
|
|
20
|
+
$$
|
|
21
|
+
${getStartStatement(identifiers)}
|
|
22
|
+
$$`;
|
|
23
|
+
};
|
|
24
|
+
const getAnswer = (identifiers) => {
|
|
25
|
+
const numbers = identifiers.numbers;
|
|
26
|
+
const answerTex = round(numbers.reduce((acc, curr) => acc * curr), 2).frenchify();
|
|
27
|
+
return answerTex;
|
|
28
|
+
};
|
|
9
29
|
const getMentalMultiplicationsNoRelative = () => {
|
|
10
30
|
const numbers = [];
|
|
11
31
|
const nbOfOperations = randint(2, 4);
|
|
12
|
-
let statementTree;
|
|
13
|
-
let answer;
|
|
14
32
|
if (nbOfOperations === 2) {
|
|
15
33
|
const a = randint(2, 10);
|
|
16
34
|
const b = coinFlip()
|
|
@@ -20,9 +38,6 @@ const getMentalMultiplicationsNoRelative = () => {
|
|
|
20
38
|
: randint(2, 10) + randint(-1, 2, [0]) / 10;
|
|
21
39
|
numbers.push(a);
|
|
22
40
|
numbers.push(b);
|
|
23
|
-
const allNumbersNodes = numbers.map((nb) => new NumberNode(nb));
|
|
24
|
-
statementTree = new MultiplyNode(allNumbersNodes[0], allNumbersNodes[1]);
|
|
25
|
-
answer = numbers[0] * numbers[1];
|
|
26
41
|
}
|
|
27
42
|
else {
|
|
28
43
|
//nbOfOperations = 3
|
|
@@ -32,20 +47,15 @@ const getMentalMultiplicationsNoRelative = () => {
|
|
|
32
47
|
numbers.push(c);
|
|
33
48
|
numbers.push(d);
|
|
34
49
|
numbers.push(f);
|
|
35
|
-
const allNumbersNodes = numbers.map((nb) => new NumberNode(nb));
|
|
36
|
-
statementTree = new MultiplyNode(allNumbersNodes[0], new MultiplyNode(allNumbersNodes[1], allNumbersNodes[2]));
|
|
37
|
-
answer = numbers[0] * numbers[1] * numbers[2];
|
|
38
50
|
}
|
|
39
|
-
|
|
40
|
-
const statementTex = statementTree.toTex();
|
|
41
|
-
const answerTex = round(answer, 2).frenchify();
|
|
51
|
+
const identifiers = { numbers: shuffle(numbers) };
|
|
42
52
|
const question = {
|
|
43
|
-
instruction:
|
|
44
|
-
startStatement:
|
|
45
|
-
answer:
|
|
53
|
+
instruction: getInstruction(identifiers),
|
|
54
|
+
startStatement: getStartStatement(identifiers),
|
|
55
|
+
answer: getAnswer(identifiers),
|
|
46
56
|
keys: [],
|
|
47
57
|
answerFormat: "tex",
|
|
48
|
-
identifiers
|
|
58
|
+
identifiers,
|
|
49
59
|
};
|
|
50
60
|
return question;
|
|
51
61
|
};
|
|
@@ -59,27 +69,13 @@ const getPropositions = (n, { answer }) => {
|
|
|
59
69
|
}
|
|
60
70
|
return shuffle(propositions);
|
|
61
71
|
};
|
|
62
|
-
const isAnswerValid = (
|
|
63
|
-
|
|
64
|
-
const texs = answerTree.toAllValidTexs();
|
|
65
|
-
return texs.includes(studentAns);
|
|
72
|
+
const isAnswerValid = (ans, { answer }) => {
|
|
73
|
+
return numberVEA(ans, answer);
|
|
66
74
|
};
|
|
67
75
|
export const mentalMultiplicationsNoRelative = {
|
|
68
76
|
id: "mentalMultiplicationsNoRelative",
|
|
69
77
|
connector: "=",
|
|
70
78
|
label: "Multiplications avec des décimaux (sans relatifs)",
|
|
71
|
-
levels: [
|
|
72
|
-
"6ème",
|
|
73
|
-
"5ème",
|
|
74
|
-
"4ème",
|
|
75
|
-
"3ème",
|
|
76
|
-
"2nde",
|
|
77
|
-
"1reESM",
|
|
78
|
-
"CAP",
|
|
79
|
-
"2ndPro",
|
|
80
|
-
"1rePro",
|
|
81
|
-
],
|
|
82
|
-
sections: ["Calculs"],
|
|
83
79
|
isSingleStep: true,
|
|
84
80
|
generator: (nb) => getDistinctQuestions(getMentalMultiplicationsNoRelative, nb),
|
|
85
81
|
qcmTimer: 60,
|
|
@@ -87,4 +83,6 @@ export const mentalMultiplicationsNoRelative = {
|
|
|
87
83
|
getPropositions,
|
|
88
84
|
isAnswerValid,
|
|
89
85
|
subject: "Mathématiques",
|
|
86
|
+
getAnswer,
|
|
87
|
+
getInstruction,
|
|
90
88
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decimalOrdering.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/ordering/decimalOrdering.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAMrC,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"decimalOrdering.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/ordering/decimalOrdering.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAMrC,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAgE1D,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAejD,CAAC"}
|
|
@@ -39,7 +39,9 @@ const getDecimalOrderingQuestion = () => {
|
|
|
39
39
|
answer,
|
|
40
40
|
instruction: `Compléter par le bon symbole :
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
$$
|
|
43
|
+
${a.frenchify()}\\ ...... \\ ${b.frenchify()}
|
|
44
|
+
$$`,
|
|
43
45
|
keys: [],
|
|
44
46
|
answerFormat: "tex",
|
|
45
47
|
identifiers: { type, a, b },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decimalOrderingNoRelatives.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/ordering/decimalOrderingNoRelatives.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAMrC,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"decimalOrderingNoRelatives.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/ordering/decimalOrderingNoRelatives.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAMrC,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAkE1D,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAe5D,CAAC"}
|
|
@@ -39,7 +39,9 @@ const getDecimalOrderingNoRelativesQuestion = () => {
|
|
|
39
39
|
answer,
|
|
40
40
|
instruction: `Compléter par le bon symbole :
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
$$
|
|
43
|
+
${a.frenchify()}\\ ...... \\ ${b.frenchify()}
|
|
44
|
+
$$`,
|
|
43
45
|
keys: [],
|
|
44
46
|
answerFormat: "tex",
|
|
45
47
|
identifiers: { type, a, b },
|
package/lib/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doubleDistributivityWithCoeff.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAyIF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"doubleDistributivityWithCoeff.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,6BAA6B,CAAC;AASrC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAyIF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,CAiB/D,CAAC"}
|
|
@@ -90,9 +90,7 @@ export const doubleDistributivityWithCoeff = {
|
|
|
90
90
|
id: "doubleDistributivityWithCoeff",
|
|
91
91
|
connector: "=",
|
|
92
92
|
label: "Développer une expression du type $a(bx+c)(dx+e)$",
|
|
93
|
-
levels: [],
|
|
94
93
|
isSingleStep: true,
|
|
95
|
-
sections: [],
|
|
96
94
|
generator: (nb) => getDistinctQuestions(getDoubleDistributivityWithCoeffQuestion, nb),
|
|
97
95
|
qcmTimer: 60,
|
|
98
96
|
freeTimer: 60,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"equationType1Exercise.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/equationType1Exercise.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAcrC;;GAEG;AACH,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;
|
|
1
|
+
{"version":3,"file":"equationType1Exercise.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/equationType1Exercise.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAcrC;;GAEG;AACH,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAkGF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAoBvD,CAAC"}
|
|
@@ -36,7 +36,7 @@ const getCorrection = (identifiers) => {
|
|
|
36
36
|
const tree = new EqualNode(affine, new NumberNode(b));
|
|
37
37
|
const statementTree = tree.toTex();
|
|
38
38
|
const answer = getAnswer(identifiers);
|
|
39
|
-
return `Pour isoler $x$ à gauche, on effectue l'opération $${a > 0 ?
|
|
39
|
+
return `Pour isoler $x$ à gauche, on effectue l'opération $${a > 0 ? `-${a}` : `+${Math.abs(a)}`}$ des deux côtés de l'équation :
|
|
40
40
|
|
|
41
41
|
${alignTex([
|
|
42
42
|
[
|
|
@@ -45,8 +45,7 @@ ${alignTex([
|
|
|
45
45
|
new EqualNode(new AddNode(affine, new NumberNode(-a)), new AddNode(b.toTree(), new NumberNode(-a))).toTex(),
|
|
46
46
|
],
|
|
47
47
|
["", "\\iff", answer],
|
|
48
|
-
])}
|
|
49
|
-
`;
|
|
48
|
+
])}`;
|
|
50
49
|
};
|
|
51
50
|
const getStartStatement = (identifiers) => {
|
|
52
51
|
const { a, b } = identifiers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fractionEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/fractionEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"fractionEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/fractionEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAqIF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAgBlD,CAAC"}
|
|
@@ -9,23 +9,72 @@ import { FractionNode } from "../../../../tree/nodes/operators/fractionNode.js";
|
|
|
9
9
|
import { DiscreteSetNode, EmptySet, } from "../../../../tree/nodes/sets/discreteSetNode.js";
|
|
10
10
|
import { alignTex } from "../../../../utils/latex/alignTex.js";
|
|
11
11
|
import { shuffle } from "../../../../utils/alea/shuffle.js";
|
|
12
|
+
const getStatementNode = (identifiers) => {
|
|
13
|
+
const { a, b, c, d } = identifiers;
|
|
14
|
+
const polynome1 = new Polynomial([b, a]);
|
|
15
|
+
const polynome2 = new Polynomial([d, c]);
|
|
16
|
+
const statement = new EqualNode(new FractionNode(polynome1.toTree(), polynome2.toTree()), (0).toTree());
|
|
17
|
+
return statement;
|
|
18
|
+
};
|
|
19
|
+
const getStartStatement = (identifiers) => {
|
|
20
|
+
return getStatementNode(identifiers).toTex();
|
|
21
|
+
};
|
|
22
|
+
const getHint = (identifiers) => {
|
|
23
|
+
return `Un quotient est nul si est seulement si le numérateur est nul et le dénominateur est non nul. Il faut donc déterminer la valeur de $x$ qui rend le numérateur nul, sans rendre le dénominateur nul.`;
|
|
24
|
+
};
|
|
25
|
+
const getInstruction = (identifiers) => {
|
|
26
|
+
return `Résoudre :
|
|
27
|
+
|
|
28
|
+
$$
|
|
29
|
+
${getStartStatement(identifiers)}
|
|
30
|
+
$$`;
|
|
31
|
+
};
|
|
32
|
+
const getAnswer = (identifiers) => {
|
|
33
|
+
const { a, b, c, d } = identifiers;
|
|
34
|
+
const root1 = new Rational(-b, a).simplify().toTree().toTex();
|
|
35
|
+
const answer = -d / c === -b / a ? `S=\\varnothing` : `S=\\left\\{${root1}\\right\\}`;
|
|
36
|
+
return answer;
|
|
37
|
+
};
|
|
38
|
+
const getCorrection = (identifiers) => {
|
|
39
|
+
const { a, b, c, d } = identifiers;
|
|
40
|
+
const polynome1 = new Polynomial([b, a]);
|
|
41
|
+
const polynome2 = new Polynomial([d, c]);
|
|
42
|
+
const root1 = new Rational(-b, a).simplify().toTree().toTex();
|
|
43
|
+
const root2 = new Rational(-d, c).simplify().toTree().toTex();
|
|
44
|
+
const hasSolution = -d / c !== -b / a;
|
|
45
|
+
const answer = getAnswer(identifiers);
|
|
46
|
+
return `Un quotient est nul si est seulement si le numérateur est nul et le dénominateur est non nul. Ainsi :
|
|
47
|
+
|
|
48
|
+
${alignTex([
|
|
49
|
+
["", getStartStatement(identifiers)],
|
|
50
|
+
["\\iff", `${polynome1.toTex()}=0 \\text{ et } ${polynome2.toTex()}\\neq 0`],
|
|
51
|
+
["\\iff", `x=${root1} \\text{ et } x\\neq ${root2}`],
|
|
52
|
+
])}
|
|
53
|
+
|
|
54
|
+
${!hasSolution
|
|
55
|
+
? `Il n'y a donc pas de solution pour cette équation. Ainsi,
|
|
56
|
+
|
|
57
|
+
$$
|
|
58
|
+
${answer}
|
|
59
|
+
$$`
|
|
60
|
+
: `Il y a donc bien une solution pour cette équation :
|
|
61
|
+
|
|
62
|
+
$$
|
|
63
|
+
${answer}
|
|
64
|
+
$$`}
|
|
65
|
+
`;
|
|
66
|
+
};
|
|
12
67
|
const getFractionEquation = () => {
|
|
13
68
|
// (ax + b)/(cx + d) = 0
|
|
14
69
|
const a = randint(-9, 10, [0]);
|
|
15
70
|
const b = randint(-9, 10, [0]);
|
|
16
71
|
const c = randint(-9, 10, [0]);
|
|
17
72
|
const d = randint(-9, 10, [0]);
|
|
18
|
-
const
|
|
19
|
-
const polynome2 = new Polynomial([d, c]);
|
|
20
|
-
const root1 = new Rational(-b, a).simplify().toTree().toTex();
|
|
21
|
-
const root2 = new Rational(-d, c).simplify().toTree().toTex();
|
|
22
|
-
const hasSolution = -d / c !== -b / a;
|
|
23
|
-
const answer = -d / c === -b / a ? `S=\\varnothing` : `S=\\left\\{${root1}\\right\\}`;
|
|
24
|
-
const statement = new EqualNode(new FractionNode(polynome1.toTree(), polynome2.toTree()), (0).toTree()).toTex();
|
|
73
|
+
const identifiers = { a, b, c, d };
|
|
25
74
|
const question = {
|
|
26
|
-
instruction:
|
|
27
|
-
startStatement:
|
|
28
|
-
answer,
|
|
75
|
+
instruction: getInstruction(identifiers),
|
|
76
|
+
startStatement: getStartStatement(identifiers),
|
|
77
|
+
answer: getAnswer(identifiers),
|
|
29
78
|
keys: [
|
|
30
79
|
"x",
|
|
31
80
|
"S",
|
|
@@ -37,20 +86,9 @@ const getFractionEquation = () => {
|
|
|
37
86
|
"varnothing",
|
|
38
87
|
],
|
|
39
88
|
answerFormat: "tex",
|
|
40
|
-
identifiers
|
|
41
|
-
hint:
|
|
42
|
-
correction:
|
|
43
|
-
|
|
44
|
-
${alignTex([
|
|
45
|
-
["", statement],
|
|
46
|
-
["\\iff", `${polynome1.toTex()}=0 \\text{ et } ${polynome2.toTex()}\\neq 0`],
|
|
47
|
-
["\\iff", `x=${root1} \\text{ et } x\\neq ${root2}`],
|
|
48
|
-
])}
|
|
49
|
-
|
|
50
|
-
${!hasSolution
|
|
51
|
-
? `Il n'y a donc pas de solution pour cette équation. Ainsi, $${answer}$.`
|
|
52
|
-
: `Il y a donc bien une solution pour cette équation : $${answer}$.`}
|
|
53
|
-
`,
|
|
89
|
+
identifiers,
|
|
90
|
+
hint: getHint(identifiers),
|
|
91
|
+
correction: getCorrection(identifiers),
|
|
54
92
|
};
|
|
55
93
|
return question;
|
|
56
94
|
};
|
|
@@ -83,8 +121,6 @@ export const fractionEquation = {
|
|
|
83
121
|
id: "fractionEquation",
|
|
84
122
|
connector: "\\iff",
|
|
85
123
|
label: "Résoudre une équation quotient nul",
|
|
86
|
-
levels: ["2nde", "1reESM", "1reSpé", "1reTech"],
|
|
87
|
-
sections: ["Équations"],
|
|
88
124
|
isSingleStep: false,
|
|
89
125
|
generator: (nb) => getDistinctQuestions(getFractionEquation, nb),
|
|
90
126
|
qcmTimer: 60,
|
|
@@ -93,4 +129,8 @@ export const fractionEquation = {
|
|
|
93
129
|
isAnswerValid,
|
|
94
130
|
subject: "Mathématiques",
|
|
95
131
|
hasHintAndCorrection: true,
|
|
132
|
+
getAnswer,
|
|
133
|
+
getInstruction,
|
|
134
|
+
getHint,
|
|
135
|
+
getCorrection,
|
|
96
136
|
};
|
package/lib/exercises/math/calculLitteral/factorisation/factorizeCanonicalFormWithSqrt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factorizeCanonicalFormWithSqrt.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/factorisation/factorizeCanonicalFormWithSqrt.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"factorizeCanonicalFormWithSqrt.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/factorisation/factorizeCanonicalFormWithSqrt.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAerC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AA+HF,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,WAAW,CAkBhE,CAAC"}
|
|
@@ -9,45 +9,75 @@ import { SquareNode } from "../../../../tree/nodes/operators/powerNode.js";
|
|
|
9
9
|
import { SubstractNode } from "../../../../tree/nodes/operators/substractNode.js";
|
|
10
10
|
import { alignTex } from "../../../../utils/latex/alignTex.js";
|
|
11
11
|
//(x-a)^2-b^2 avec b irrational
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const statement = new SubstractNode(new SquareNode(affine.toTree()),
|
|
12
|
+
const getStatementNode = (identifiers) => {
|
|
13
|
+
const { a, bOperand } = identifiers;
|
|
14
|
+
const affine = new Affine(1, a);
|
|
15
|
+
const statement = new SubstractNode(new SquareNode(affine.toTree()), bOperand.toTree());
|
|
16
|
+
return statement;
|
|
17
|
+
};
|
|
18
|
+
const getStartStatement = (identifiers) => {
|
|
19
|
+
return getStatementNode(identifiers).toTex();
|
|
20
|
+
};
|
|
21
|
+
const getInstruction = (identifiers) => {
|
|
22
|
+
return `Factoriser :
|
|
23
|
+
|
|
24
|
+
$$
|
|
25
|
+
${getStartStatement(identifiers)}
|
|
26
|
+
$$`;
|
|
27
|
+
};
|
|
28
|
+
const getAnswer = (identifiers) => {
|
|
29
|
+
const { a, bOperand } = identifiers;
|
|
30
|
+
const affine = new Affine(1, a);
|
|
31
|
+
const b = new SquareRoot(bOperand);
|
|
16
32
|
const answer = new MultiplyNode(new SubstractNode(affine.toTree(), b.toTree()), new AddNode(affine.toTree(), b.toTree()))
|
|
17
33
|
.simplify({ forbidFactorize: true })
|
|
18
34
|
.toTex();
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
keys: ["x"],
|
|
24
|
-
answerFormat: "tex",
|
|
25
|
-
identifiers: { a: affine.b, bOperand: b.operand },
|
|
26
|
-
hint: `Utilise l'identité remarquable
|
|
35
|
+
return answer;
|
|
36
|
+
};
|
|
37
|
+
const getHint = (identifiers) => {
|
|
38
|
+
return `Utilise l'identité remarquable
|
|
27
39
|
|
|
28
40
|
$$
|
|
29
41
|
a^2 - b^2 = (a-b)(a+b)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
42
|
+
$$`;
|
|
43
|
+
};
|
|
44
|
+
const getCorrection = (identifiers) => {
|
|
45
|
+
const { a, bOperand } = identifiers;
|
|
46
|
+
const affine = new Affine(1, a);
|
|
47
|
+
const b = new SquareRoot(bOperand);
|
|
48
|
+
const statementTex = getStartStatement(identifiers);
|
|
49
|
+
const answer = getAnswer(identifiers);
|
|
50
|
+
return `On utilise l'identité remarquable
|
|
51
|
+
|
|
34
52
|
$$
|
|
35
53
|
a^2 - b^2=(a-b)(a+b)
|
|
36
54
|
$$
|
|
37
|
-
|
|
55
|
+
|
|
38
56
|
en prenant $a=${affine.toTex()}$ et $b=${b.toTree().toTex()}$ :
|
|
39
57
|
|
|
40
58
|
|
|
41
59
|
${alignTex([
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
60
|
+
["", statementTex],
|
|
61
|
+
[
|
|
62
|
+
"=",
|
|
63
|
+
new SubstractNode(new SquareNode(affine.toTree()), new SquareNode(b.toTree())).toTex(),
|
|
64
|
+
],
|
|
65
|
+
["=", answer],
|
|
66
|
+
])}
|
|
67
|
+
`;
|
|
68
|
+
};
|
|
69
|
+
const getFactorizeCanonicalFormWithSqrtQuestion = () => {
|
|
70
|
+
const affine = new Affine(1, randint(-10, 10, [0]));
|
|
71
|
+
const b = SquareRootConstructor.randomIrreductible(10);
|
|
72
|
+
const identifiers = { a: affine.b, bOperand: b.operand };
|
|
73
|
+
const question = {
|
|
74
|
+
answer: getAnswer(identifiers),
|
|
75
|
+
instruction: getInstruction(identifiers),
|
|
76
|
+
keys: ["x"],
|
|
77
|
+
answerFormat: "tex",
|
|
78
|
+
identifiers,
|
|
79
|
+
hint: getHint(identifiers),
|
|
80
|
+
correction: getCorrection(identifiers),
|
|
51
81
|
};
|
|
52
82
|
return question;
|
|
53
83
|
};
|
|
@@ -72,9 +102,7 @@ export const factorizeCanonicalFormWithSqrt = {
|
|
|
72
102
|
id: "factorizeCanonicalFormWithSqrt",
|
|
73
103
|
connector: "=",
|
|
74
104
|
label: "Factoriser une expression du type $(x-a)^2-b^2$ avec $b$ irrationnel",
|
|
75
|
-
levels: [],
|
|
76
105
|
isSingleStep: true,
|
|
77
|
-
sections: [],
|
|
78
106
|
generator: (nb) => getDistinctQuestions(getFactorizeCanonicalFormWithSqrtQuestion, nb),
|
|
79
107
|
qcmTimer: 60,
|
|
80
108
|
freeTimer: 60,
|
|
@@ -83,4 +111,8 @@ export const factorizeCanonicalFormWithSqrt = {
|
|
|
83
111
|
subject: "Mathématiques",
|
|
84
112
|
hasHintAndCorrection: true,
|
|
85
113
|
pdfOptions: { shouldSpreadPropositions: true },
|
|
114
|
+
getAnswer,
|
|
115
|
+
getInstruction,
|
|
116
|
+
getHint,
|
|
117
|
+
getCorrection,
|
|
86
118
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barChartReading.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/barChartReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"barChartReading.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/dataRepresentations/barChartReading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAaT,MAAM,6BAA6B,CAAC;AAOrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAuIF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAejD,CAAC"}
|
|
@@ -15,16 +15,72 @@ const getAnswer = (identifiers) => {
|
|
|
15
15
|
return "";
|
|
16
16
|
};
|
|
17
17
|
const getInstruction = (identifiers) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
const newspapers = [
|
|
19
|
+
{ name: "Le Figaro", sales: 320000 },
|
|
20
|
+
{ name: "Les Échos", sales: 130000 },
|
|
21
|
+
{ name: "La Croix", sales: 90000 },
|
|
22
|
+
{ name: "L'Équipe", sales: 210000 },
|
|
23
|
+
{ name: "Le Monde", sales: 330000 },
|
|
24
|
+
{ name: "Le Parisien", sales: 270000 },
|
|
25
|
+
{ name: "Libération", sales: 70000 },
|
|
26
|
+
{ name: "L'Humanité", sales: 30000 },
|
|
27
|
+
];
|
|
28
|
+
const width = 600, height = 400, margin = { top: 20, right: 30, bottom: 100, left: 60 };
|
|
29
|
+
const d3n = new D3Node();
|
|
30
|
+
const d3 = d3n.d3;
|
|
31
|
+
const svg = d3n.createSVG(width, height);
|
|
32
|
+
const xScale = d3
|
|
33
|
+
.scaleBand()
|
|
34
|
+
.domain(newspapers.map((d) => d.name))
|
|
35
|
+
.range([margin.left, width - margin.right])
|
|
36
|
+
.padding(0.1);
|
|
37
|
+
const yScale = d3
|
|
38
|
+
.scaleLinear()
|
|
39
|
+
.domain([0, d3.max(newspapers, (d) => d.sales)])
|
|
40
|
+
.nice()
|
|
41
|
+
.range([height - margin.bottom, margin.top]);
|
|
42
|
+
svg
|
|
43
|
+
.append("g")
|
|
44
|
+
.attr("transform", `translate(0,${height - margin.bottom})`)
|
|
45
|
+
.call(d3.axisBottom(xScale).tickSize(0))
|
|
46
|
+
.selectAll("text")
|
|
47
|
+
.style("text-anchor", "end")
|
|
48
|
+
.attr("transform", "rotate(-30)");
|
|
49
|
+
svg
|
|
50
|
+
.append("g")
|
|
51
|
+
.attr("transform", `translate(${margin.left},0)`)
|
|
52
|
+
.call(d3
|
|
53
|
+
.axisLeft(yScale)
|
|
54
|
+
.ticks(5)
|
|
55
|
+
.tickFormat((d) => d.toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ")));
|
|
56
|
+
svg
|
|
57
|
+
.append("text")
|
|
58
|
+
.attr("x", margin.left)
|
|
59
|
+
.attr("y", margin.top)
|
|
60
|
+
.attr("text-anchor", "start")
|
|
61
|
+
.style("font-size", "14px")
|
|
62
|
+
.style("font-weight", "bold")
|
|
63
|
+
.text("Nombre d’exemplaires vendus");
|
|
64
|
+
svg
|
|
65
|
+
.selectAll(".bar")
|
|
66
|
+
.data(newspapers)
|
|
67
|
+
.enter()
|
|
68
|
+
.append("rect")
|
|
69
|
+
.attr("class", "bar")
|
|
70
|
+
.attr("x", (d) => xScale(d.name))
|
|
71
|
+
.attr("y", (d) => yScale(d.sales))
|
|
72
|
+
.attr("width", xScale.bandwidth())
|
|
73
|
+
.attr("height", (d) => height - margin.bottom - yScale(d.sales))
|
|
74
|
+
.attr("fill", "steelblue");
|
|
75
|
+
console.log(d3n.svgString());
|
|
76
|
+
const svgString = d3n.svgString();
|
|
23
77
|
return `BBteeeezfst :
|
|
24
78
|
|
|
25
79
|
ofzie
|
|
26
|
-
|
|
27
|
-
${
|
|
80
|
+
should read this
|
|
81
|
+
${svgString}
|
|
82
|
+
should read this
|
|
83
|
+
zef
|
|
28
84
|
`;
|
|
29
85
|
};
|
|
30
86
|
const getHint = (identifiers) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lnDerivativeOne.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/lnDerivativeOne.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;
|
|
1
|
+
{"version":3,"file":"lnDerivativeOne.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/lnDerivativeOne.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAqEF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAejD,CAAC"}
|
|
@@ -11,7 +11,11 @@ const getInstruction = (identifiers) => {
|
|
|
11
11
|
const { a, b } = identifiers;
|
|
12
12
|
const polynom = new Polynomial([b, a]);
|
|
13
13
|
const logTree = new LogNode(polynom.toTree());
|
|
14
|
-
return `Déterminer la dérivée de la fonction
|
|
14
|
+
return `Déterminer la dérivée de la fonction $f$ définie par :
|
|
15
|
+
|
|
16
|
+
$$
|
|
17
|
+
f(x) = ${logTree.toTex()}
|
|
18
|
+
$$`;
|
|
15
19
|
};
|
|
16
20
|
const getAnswer = (identifiers) => {
|
|
17
21
|
const { a, b } = identifiers;
|
|
@@ -72,4 +76,6 @@ export const lnDerivativeOne = {
|
|
|
72
76
|
getPropositions,
|
|
73
77
|
isAnswerValid,
|
|
74
78
|
subject: "Mathématiques",
|
|
79
|
+
getAnswer,
|
|
80
|
+
getInstruction,
|
|
75
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sinCompositionDerivation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/sinCompositionDerivation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"sinCompositionDerivation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/sinCompositionDerivation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,6BAA6B,CAAC;AAQrC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAkFF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAc1D,CAAC"}
|