math-exercises 1.3.32 → 1.3.34
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/README.md +73 -73
- package/lib/exercises/calcul/addAndSub.d.ts +6 -6
- package/lib/exercises/calcul/addAndSub.js +41 -41
- package/lib/exercises/calcul/addAndSubWithoutRelatives.d.ts +6 -6
- package/lib/exercises/calcul/addAndSubWithoutRelatives.js +51 -51
- package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +37 -37
- package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +34 -34
- package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +34 -34
- package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.js +69 -69
- package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionsDivision.js +31 -31
- package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionsProduct.js +30 -30
- package/lib/exercises/calcul/fractions/fractionsSum.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionsSum.js +30 -30
- package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +3 -3
- package/lib/exercises/calcul/fractions/simplifyFraction.js +26 -26
- package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.d.ts +3 -3
- package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.js +46 -46
- package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.d.ts +3 -3
- package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.js +64 -64
- package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.d.ts +3 -3
- package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.js +51 -51
- package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.d.ts +3 -3
- package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.js +67 -67
- package/lib/exercises/calcul/operations/operationsPriorities.d.ts +10 -10
- package/lib/exercises/calcul/operations/operationsPriorities.js +100 -100
- package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts +10 -10
- package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +181 -181
- package/lib/exercises/calcul/rounding/rounding.d.ts +19 -19
- package/lib/exercises/calcul/rounding/rounding.js +87 -87
- package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
- package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +32 -32
- package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +33 -33
- package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +34 -34
- package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +34 -34
- package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +33 -33
- package/lib/exercises/calculLitteral/equation/equationSimpleSquare.d.ts +3 -3
- package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +47 -47
- package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +39 -39
- package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +42 -42
- package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +43 -43
- package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +45 -45
- package/lib/exercises/calculLitteral/equation/firstDegreeEquation.d.ts +3 -3
- package/lib/exercises/calculLitteral/equation/firstDegreeEquation.js +30 -30
- package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.d.ts +3 -3
- package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.js +32 -32
- package/lib/exercises/calculLitteral/equation/fractionEquation.d.ts +3 -3
- package/lib/exercises/calculLitteral/equation/fractionEquation.js +39 -39
- package/lib/exercises/calculLitteral/equation/multiplicationEquation.d.ts +3 -3
- package/lib/exercises/calculLitteral/equation/multiplicationEquation.js +39 -39
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts +3 -3
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +34 -34
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts +3 -3
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +35 -35
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts +3 -3
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +34 -34
- package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +40 -40
- package/lib/exercises/conversion/aeraConversion.d.ts +3 -3
- package/lib/exercises/conversion/aeraConversion.js +32 -32
- package/lib/exercises/conversion/capacityConversion.d.ts +3 -3
- package/lib/exercises/conversion/capacityConversion.js +30 -30
- package/lib/exercises/conversion/lengthConversion.d.ts +3 -3
- package/lib/exercises/conversion/lengthConversion.js +30 -30
- package/lib/exercises/conversion/massConversion.d.ts +3 -3
- package/lib/exercises/conversion/massConversion.js +30 -30
- package/lib/exercises/conversion/volumeCapacityConversion.d.ts +3 -3
- package/lib/exercises/conversion/volumeCapacityConversion.js +47 -47
- package/lib/exercises/conversion/volumeConversion.d.ts +3 -3
- package/lib/exercises/conversion/volumeConversion.js +32 -32
- package/lib/exercises/derivation/derivative/constanteDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/constanteDerivative.js +27 -27
- package/lib/exercises/derivation/derivative/firstDegreeDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/firstDegreeDerivative.js +29 -29
- package/lib/exercises/derivation/derivative/inverseFunctionDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/inverseFunctionDerivative.js +27 -27
- package/lib/exercises/derivation/derivative/powerFunctionDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/powerFunctionDerivative.js +35 -35
- package/lib/exercises/derivation/derivative/rootFunctionDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/rootFunctionDerivative.js +40 -40
- package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +30 -30
- package/lib/exercises/derivation/derivative/thirdDegreeDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/thirdDegreeDerivative.js +33 -33
- package/lib/exercises/derivation/derivative/usualderivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/usualderivative.js +36 -36
- package/lib/exercises/exercise.d.ts +21 -21
- package/lib/exercises/exercise.js +7 -7
- package/lib/exercises/exercises.d.ts +1 -1
- package/lib/exercises/exercises.js +224 -224
- package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts +3 -3
- package/lib/exercises/geometry/cartesian/derivativeNumberReading.js +51 -51
- package/lib/exercises/geometry/cartesian/derivativeNumberReading2.js +91 -91
- package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts +3 -3
- package/lib/exercises/geometry/cartesian/leadingCoefficient.js +60 -60
- package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts +3 -3
- package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.js +30 -30
- package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts +3 -3
- package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.js +29 -29
- package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
- package/lib/exercises/geometry/cartesian/midpoint.js +31 -31
- package/lib/exercises/geometry/euclidean/TriangleArea.d.ts +3 -3
- package/lib/exercises/geometry/euclidean/TriangleArea.js +53 -53
- package/lib/exercises/geometry/euclidean/pythagore.d.ts +3 -3
- package/lib/exercises/geometry/euclidean/pythagore.js +31 -31
- package/lib/exercises/geometry/euclidean/pythagoreCalcul.d.ts +3 -3
- package/lib/exercises/geometry/euclidean/pythagoreCalcul.js +60 -60
- package/lib/exercises/geometry/euclidean/rightTriangleArea.d.ts +3 -3
- package/lib/exercises/geometry/euclidean/rightTriangleArea.js +39 -39
- package/lib/exercises/geometry/euclidean/thales.d.ts +3 -3
- package/lib/exercises/geometry/euclidean/thales.js +67 -67
- package/lib/exercises/geometry/euclidean/thalesCalcul.d.ts +3 -3
- package/lib/exercises/geometry/euclidean/thalesCalcul.js +104 -104
- package/lib/exercises/geometry/euclidean/trigonometry.d.ts +3 -3
- package/lib/exercises/geometry/euclidean/trigonometry.js +55 -55
- package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.d.ts +3 -3
- package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.js +42 -42
- package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.d.ts +3 -3
- package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.js +52 -52
- package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
- package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +30 -30
- package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
- package/lib/exercises/percent/applyPercent.d.ts +3 -3
- package/lib/exercises/percent/applyPercent.js +41 -41
- package/lib/exercises/percent/averageEvolutionRate.d.ts +3 -3
- package/lib/exercises/percent/averageEvolutionRate.js +30 -30
- package/lib/exercises/percent/globalPercent.d.ts +3 -3
- package/lib/exercises/percent/globalPercent.js +44 -44
- package/lib/exercises/percent/reciprocalPercentage.d.ts +3 -3
- package/lib/exercises/percent/reciprocalPercentage.js +32 -32
- package/lib/exercises/powers/powersDivision.d.ts +7 -7
- package/lib/exercises/powers/powersDivision.js +46 -46
- package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
- package/lib/exercises/powers/powersOfTenToDecimal.js +34 -34
- package/lib/exercises/powers/powersPower.d.ts +7 -7
- package/lib/exercises/powers/powersPower.js +45 -45
- package/lib/exercises/powers/powersProduct.d.ts +7 -7
- package/lib/exercises/powers/powersProduct.js +46 -46
- package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
- package/lib/exercises/powers/scientificToDecimal.js +39 -39
- package/lib/exercises/proba/conditionalProbability.d.ts +3 -3
- package/lib/exercises/proba/conditionalProbability.js +74 -74
- package/lib/exercises/proba/marginalAndConditionalFrequency.d.ts +3 -3
- package/lib/exercises/proba/marginalAndConditionalFrequency.js +81 -81
- package/lib/exercises/proba/probabilityTree.d.ts +3 -3
- package/lib/exercises/proba/probabilityTree.js +105 -105
- package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts +3 -3
- package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +31 -31
- package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts +3 -3
- package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.js +31 -31
- package/lib/exercises/sequences/arithmetic/arithmeticFindReason.d.ts +3 -3
- package/lib/exercises/sequences/arithmetic/arithmeticFindReason.js +31 -31
- package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.d.ts +3 -3
- package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.js +30 -30
- package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts +3 -3
- package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +30 -30
- package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.d.ts +3 -3
- package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.js +40 -40
- package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
- package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +36 -36
- package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
- package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +35 -35
- package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
- package/lib/exercises/sequences/geometric/geometricFindReason.js +31 -31
- package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
- package/lib/exercises/sequences/geometric/geometricReasonUsage.js +30 -30
- package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
- package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +30 -30
- package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
- package/lib/exercises/squareRoots/simpifySquareRoot.js +29 -29
- package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
- package/lib/exercises/trigonometry/mainRemarkableValues.js +30 -30
- package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
- package/lib/exercises/trigonometry/remarkableValues.js +30 -30
- package/lib/exercises/utils/getDistinctQuestions.d.ts +3 -3
- package/lib/exercises/utils/getDistinctQuestions.js +28 -28
- package/lib/index.d.ts +2 -2
- package/lib/index.js +6 -6
- package/lib/math/geometry/droite.d.ts +19 -19
- package/lib/math/geometry/droite.js +62 -62
- package/lib/math/geometry/point.d.ts +29 -29
- package/lib/math/geometry/point.js +55 -55
- package/lib/math/geometry/triangles.d.ts +53 -53
- package/lib/math/geometry/triangles.js +183 -183
- package/lib/math/geometry/vector.d.ts +15 -15
- package/lib/math/geometry/vector.js +31 -31
- package/lib/math/numbers/decimals/decimal.d.ts +24 -24
- package/lib/math/numbers/decimals/decimal.js +140 -140
- package/lib/math/numbers/epsilon.d.ts +1 -1
- package/lib/math/numbers/epsilon.js +10 -10
- package/lib/math/numbers/integer/integer.d.ts +14 -14
- package/lib/math/numbers/integer/integer.js +68 -68
- package/lib/math/numbers/integer/power.d.ts +13 -13
- package/lib/math/numbers/integer/power.js +52 -52
- package/lib/math/numbers/nombre.d.ts +13 -13
- package/lib/math/numbers/nombre.js +10 -10
- package/lib/math/numbers/rationals/rational.d.ts +25 -25
- package/lib/math/numbers/rationals/rational.js +113 -113
- package/lib/math/numbers/reals/real.d.ts +9 -9
- package/lib/math/numbers/reals/real.js +16 -16
- package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
- package/lib/math/numbers/reals/squareRoot.js +63 -63
- package/lib/math/polynomials/affine.d.ts +15 -15
- package/lib/math/polynomials/affine.js +42 -42
- package/lib/math/polynomials/polynomial.d.ts +25 -25
- package/lib/math/polynomials/polynomial.js +131 -131
- package/lib/math/sequences/arithmeticSequence.js +1 -1
- package/lib/math/sequences/geometricSequence.d.ts +3 -3
- package/lib/math/sequences/geometricSequence.js +8 -8
- package/lib/math/sequences/sequence.d.ts +22 -22
- package/lib/math/sequences/sequence.js +21 -21
- package/lib/math/sets/discreteSet.d.ts +10 -10
- package/lib/math/sets/discreteSet.js +28 -28
- package/lib/math/sets/emptySet.js +6 -6
- package/lib/math/sets/intervals/intervals.d.ts +26 -26
- package/lib/math/sets/intervals/intervals.js +104 -104
- package/lib/math/sets/mathSet.d.ts +7 -7
- package/lib/math/sets/mathSet.js +10 -10
- package/lib/math/sets/mathSetInterface.d.ts +5 -5
- package/lib/math/sets/mathSetInterface.js +2 -2
- package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
- package/lib/math/trigonometry/remarkableValue.js +29 -29
- package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
- package/lib/math/trigonometry/remarkableValues.js +51 -51
- package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
- package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
- package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
- package/lib/math/utils/arithmetic/dividersOf.js +12 -12
- package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
- package/lib/math/utils/arithmetic/gcd.js +7 -7
- package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
- package/lib/math/utils/arithmetic/isSquare.js +7 -7
- package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
- package/lib/math/utils/arithmetic/lcd.js +12 -12
- package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
- package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
- package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
- package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
- package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
- package/lib/math/utils/arithmetic/primeFactors.js +22 -22
- package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
- package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
- package/lib/math/utils/random/randTupleInt.d.ts +13 -13
- package/lib/math/utils/random/randTupleInt.js +30 -30
- package/lib/math/utils/random/randint.d.ts +4 -4
- package/lib/math/utils/random/randint.js +18 -18
- package/lib/math/utils/round.d.ts +1 -1
- package/lib/math/utils/round.js +8 -8
- package/lib/server.d.ts +1 -1
- package/lib/server.js +53 -53
- package/lib/tree/nodes/functions/cosNode.d.ts +9 -9
- package/lib/tree/nodes/functions/cosNode.js +21 -21
- package/lib/tree/nodes/functions/functionNode.d.ts +14 -14
- package/lib/tree/nodes/functions/functionNode.js +20 -20
- package/lib/tree/nodes/functions/oppositeNode.d.ts +7 -7
- package/lib/tree/nodes/functions/oppositeNode.js +26 -26
- package/lib/tree/nodes/functions/sinNode.js +1 -1
- package/lib/tree/nodes/functions/sqrtNode.d.ts +8 -8
- package/lib/tree/nodes/functions/sqrtNode.js +18 -18
- package/lib/tree/nodes/node.d.ts +12 -12
- package/lib/tree/nodes/node.js +11 -11
- package/lib/tree/nodes/numbers/constantNode.d.ts +9 -9
- package/lib/tree/nodes/numbers/constantNode.js +18 -18
- package/lib/tree/nodes/numbers/numberNode.d.ts +10 -10
- package/lib/tree/nodes/numbers/numberNode.js +19 -19
- package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
- package/lib/tree/nodes/numbers/piNode.js +5 -5
- package/lib/tree/nodes/operators/addNode.d.ts +7 -7
- package/lib/tree/nodes/operators/addNode.js +19 -19
- package/lib/tree/nodes/operators/divideNode.d.ts +11 -11
- package/lib/tree/nodes/operators/divideNode.js +34 -34
- package/lib/tree/nodes/operators/equalNode.d.ts +7 -7
- package/lib/tree/nodes/operators/equalNode.js +16 -16
- package/lib/tree/nodes/operators/fractionNode.d.ts +11 -11
- package/lib/tree/nodes/operators/fractionNode.js +20 -20
- package/lib/tree/nodes/operators/multiplyNode.d.ts +7 -7
- package/lib/tree/nodes/operators/multiplyNode.js +43 -43
- package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
- package/lib/tree/nodes/operators/operatorNode.js +35 -35
- package/lib/tree/nodes/operators/powerNode.d.ts +7 -7
- package/lib/tree/nodes/operators/powerNode.js +33 -33
- package/lib/tree/nodes/operators/substractNode.d.ts +7 -7
- package/lib/tree/nodes/operators/substractNode.js +24 -24
- package/lib/tree/nodes/variables/variableNode.d.ts +8 -8
- package/lib/tree/nodes/variables/variableNode.js +19 -19
- package/lib/tree/parsers/derivateParser.js +62 -62
- package/lib/tree/parsers/simplify.d.ts +2 -2
- package/lib/tree/parsers/simplify.js +52 -52
- package/lib/utils/arrayEqual.d.ts +1 -1
- package/lib/utils/arrayEqual.js +13 -13
- package/lib/utils/coinFlip.d.ts +1 -1
- package/lib/utils/coinFlip.js +7 -7
- package/lib/utils/random.d.ts +1 -1
- package/lib/utils/random.js +7 -7
- package/lib/utils/shuffle.d.ts +1 -1
- package/lib/utils/shuffle.js +15 -15
- package/package.json +50 -50
- package/lib/exercises/calcul/operationsPriorities.js +0 -88
- package/lib/exercises/derivation/derivative/affineDerivative.d.ts +0 -4
- package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +0 -1
- package/lib/exercises/derivation/derivative/affineDerivative.js +0 -27
- package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +0 -1
- package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +0 -1
- package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +0 -1
- package/lib/geometry/point.js +0 -27
- package/lib/geometry/vector.js +0 -31
- package/lib/mathutils/arithmetic/coprimesOf.js +0 -13
- package/lib/mathutils/arithmetic/dividersOf.js +0 -12
- package/lib/mathutils/arithmetic/gcd.js +0 -7
- package/lib/mathutils/arithmetic/isSquare.js +0 -7
- package/lib/mathutils/arithmetic/lcd.js +0 -12
- package/lib/mathutils/arithmetic/nonCoprimesOf.js +0 -13
- package/lib/mathutils/arithmetic/nonDividersOf.js +0 -14
- package/lib/mathutils/arithmetic/primeFactors.js +0 -22
- package/lib/mathutils/decimals/decimalPartLengthOf.js +0 -14
- package/lib/mathutils/random/randTupleInt.js +0 -30
- package/lib/mathutils/random/randint.js +0 -18
- package/lib/mathutils/round.js +0 -8
- package/lib/numbers/decimals/decimal.js +0 -140
- package/lib/numbers/epsilon.js +0 -10
- package/lib/numbers/integer/integer.js +0 -68
- package/lib/numbers/integer/power.js +0 -52
- package/lib/numbers/nombre.js +0 -10
- package/lib/numbers/rationals/rational.js +0 -113
- package/lib/numbers/reals/real.js +0 -16
- package/lib/numbers/reals/squareRoot.js +0 -63
- package/lib/polynomials/affine.js +0 -42
- package/lib/polynomials/polynomial.js +0 -125
- package/lib/sets/discreteSet.js +0 -28
- package/lib/sets/emptySet.js +0 -6
- package/lib/sets/intervals/intervals.js +0 -108
- package/lib/sets/intervals/union.js +0 -1
- package/lib/sets/mathSet.js +0 -10
- package/lib/sets/mathSetInterface.js +0 -2
- package/lib/tree/parsers/latexParser.js +0 -110
- package/lib/utils/coin.js +0 -7
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getThales = exports.thalesCalcul = void 0;
|
|
4
|
-
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
-
const randint_1 = require("../../../math/utils/random/randint");
|
|
6
|
-
const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
7
|
-
const fractionNode_1 = require("../../../tree/nodes/operators/fractionNode");
|
|
8
|
-
const simplify_1 = require("../../../tree/parsers/simplify");
|
|
9
|
-
const coinFlip_1 = require("../../../utils/coinFlip");
|
|
10
|
-
exports.thalesCalcul = {
|
|
11
|
-
id: 'thalesCalcul',
|
|
12
|
-
connector: '=',
|
|
13
|
-
instruction: '',
|
|
14
|
-
label: 'Utiliser le théoreme de Thalès pour faire des calculs',
|
|
15
|
-
levels: ['5', '4', '3', '2'],
|
|
16
|
-
isSingleStep: false,
|
|
17
|
-
section: 'Géométrie euclidienne',
|
|
18
|
-
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getThales, nb),
|
|
19
|
-
};
|
|
20
|
-
function getThales() {
|
|
21
|
-
const vertices = [];
|
|
22
|
-
const code = 65 + (0, randint_1.randint)(0, 22); // Générer un code de caractère majuscule aléatoire (A-Z)
|
|
23
|
-
for (let i = 0; i < 5; i++)
|
|
24
|
-
vertices.push(String.fromCharCode(code + i));
|
|
25
|
-
const [xA, yA] = [(0, randint_1.randint)(-10, 11), (0, randint_1.randint)(-10, 11)];
|
|
26
|
-
let xB, yB, xC, yC;
|
|
27
|
-
let d1, d2, d3; // distance entre le point A et B
|
|
28
|
-
let theta = 0; // angle entre AB et AC
|
|
29
|
-
do {
|
|
30
|
-
[xB, yB, xC, yC] = [(0, randint_1.randint)(-10, 11), (0, randint_1.randint)(-10, 11), (0, randint_1.randint)(-10, 11), (0, randint_1.randint)(-10, 11)];
|
|
31
|
-
d1 = Math.hypot(xB - xA, yB - yA); // Calculer la distance entre A et B
|
|
32
|
-
d2 = Math.hypot(xC - xA, yC - yA); // Calculer la distance entre A et C
|
|
33
|
-
theta = Math.acos(((xB - xA) * (xC - xA) + (yB - yA) * (yC - yA)) / (d1 * d2));
|
|
34
|
-
} while (!theta || theta < 0.35 || theta > 2.1 || d1 / d2 > 1.3 || d1 / d2 < 0.7);
|
|
35
|
-
d3 = Math.sqrt(d1 ** 2 + d2 ** 2 - 2 * d1 * d2 * Math.cos(theta)); // Calculer la distance entre C et B
|
|
36
|
-
// CB² = AB² * AC² - 2*AB*AC*cos(theta) : pythagore généralisé
|
|
37
|
-
const factor = (0, randint_1.randint)(-5, 6, [-2, -1, 0, 1, 2]) / 10; // facteur = AB/AE, Pour que l'affichage soit acceptable, les valeurs de factor sont +- 0.5 0.4 0.3
|
|
38
|
-
const [xD, yD] = [xA + factor * (xB - xA), yA + factor * (yB - yA)];
|
|
39
|
-
const [xE, yE] = [xA + factor * (xC - xA), yA + factor * (yC - yA)];
|
|
40
|
-
const xMin = Math.min(xA, xB, xC, xD, xE);
|
|
41
|
-
const xMax = Math.max(xA, xB, xC, xD, xE);
|
|
42
|
-
const yMin = Math.min(yA, yB, yC, yD, yE);
|
|
43
|
-
const yMax = Math.max(yA, yB, yC, yD, yE);
|
|
44
|
-
// AB AC BC AD AE
|
|
45
|
-
const sides = [
|
|
46
|
-
`${vertices[0]}${vertices[1]}`,
|
|
47
|
-
`${vertices[0]}${vertices[3]}`,
|
|
48
|
-
`${vertices[0]}${vertices[2]}`,
|
|
49
|
-
`${vertices[0]}${vertices[4]}`,
|
|
50
|
-
`${vertices[1]}${vertices[2]}`,
|
|
51
|
-
`${vertices[3]}${vertices[4]}`,
|
|
52
|
-
];
|
|
53
|
-
// round pour avoir des valeurs dans N tout en gardant les proportions pour que ça soit cohérent. sides[i] a pour longueur sideLengths[i]
|
|
54
|
-
const sideLengths = [d1, factor * d1, d2, factor * d2, d3, factor * d3].map((el) => Math.round(Math.abs(el)));
|
|
55
|
-
const rand = (0, randint_1.randint)(0, 3);
|
|
56
|
-
let rand2 = (0, randint_1.randint)(0, 3, [rand]);
|
|
57
|
-
if (sideLengths[2 * rand] === sideLengths[2 * rand2])
|
|
58
|
-
rand2 = (0, randint_1.randint)(0, 3, [rand, rand2]); // condition pour pas prendre 2 longueurs identiques
|
|
59
|
-
let instruction = `Dans la figure ci-dessous, nous avons (${vertices[3]}${vertices[4]})//(${vertices[1]}${vertices[2]}), `;
|
|
60
|
-
let statement;
|
|
61
|
-
let startStatement;
|
|
62
|
-
if ((0, coinFlip_1.coinFlip)()) {
|
|
63
|
-
// a/b = c/d on cherche c
|
|
64
|
-
instruction += `${sides[2 * rand]} = $${sideLengths[2 * rand]}$, ${sides[2 * rand + 1]} = $${sideLengths[2 * rand + 1]}$, ${sides[2 * rand2]} = $${sideLengths[2 * rand2]}$.$\\\\$Déterminer ${sides[2 * rand2 + 1]}`;
|
|
65
|
-
startStatement = `${sides[2 * rand2 + 1]}`;
|
|
66
|
-
statement = (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(sideLengths[2 * rand2] * sideLengths[2 * rand + 1]), new numberNode_1.NumberNode(sideLengths[2 * rand])));
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
// a/b = c/d on cherche d
|
|
70
|
-
instruction += `${sides[2 * rand]} = $${sideLengths[2 * rand]}$, ${sides[2 * rand + 1]} = $${sideLengths[2 * rand + 1]}$, ${sides[2 * rand2 + 1]} = $${sideLengths[2 * rand2 + 1]}$.$\\\\$Déterminer ${sides[2 * rand2]}`;
|
|
71
|
-
startStatement = `${sides[2 * rand2]}`;
|
|
72
|
-
statement = (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(sideLengths[2 * rand2 + 1] * sideLengths[2 * rand]), new numberNode_1.NumberNode(sideLengths[2 * rand + 1])));
|
|
73
|
-
}
|
|
74
|
-
const commands = [
|
|
75
|
-
`${vertices[0]} = Point({${xA}, ${yA}})`,
|
|
76
|
-
`${vertices[1]} = Point({${xB}, ${yB}})`,
|
|
77
|
-
`${vertices[2]} = Point({${xC}, ${yC}})`,
|
|
78
|
-
`${vertices[3]} = Point(${vertices[0]}, Vector(${factor}Vector(${vertices[0]},${vertices[1]})))`,
|
|
79
|
-
`${vertices[4]} = Intersect(Line(${vertices[3]}, Line(${vertices[1]}, ${vertices[2]})) , Line(${vertices[0]}, ${vertices[2]}))`,
|
|
80
|
-
`l = Segment(${vertices[0]}, ${vertices[1]})`,
|
|
81
|
-
`i = Segment(${vertices[0]}, ${vertices[2]})`,
|
|
82
|
-
`j = Segment(${vertices[1]}, ${vertices[2]})`,
|
|
83
|
-
`k = Segment(${vertices[3]}, ${vertices[4]})`,
|
|
84
|
-
`If(${factor} < 0, Segment(${vertices[0]}, ${vertices[3]}))`,
|
|
85
|
-
`If(${factor} < 0, Segment(${vertices[0]}, ${vertices[4]}))`,
|
|
86
|
-
`ShowAxes(false)`,
|
|
87
|
-
`ShowGrid(false)`,
|
|
88
|
-
`ShowLabel(${vertices[0]}, true)`,
|
|
89
|
-
`ShowLabel(${vertices[1]}, true)`,
|
|
90
|
-
`ShowLabel(${vertices[2]}, true)`,
|
|
91
|
-
`ShowLabel(${vertices[3]}, true)`,
|
|
92
|
-
`ShowLabel(${vertices[4]}, true)`,
|
|
93
|
-
];
|
|
94
|
-
const question = {
|
|
95
|
-
instruction,
|
|
96
|
-
startStatement,
|
|
97
|
-
answer: statement.toTex(),
|
|
98
|
-
keys: [],
|
|
99
|
-
commands,
|
|
100
|
-
coords: [xMin - 1, xMax + 1, yMin - 1, yMax + 1],
|
|
101
|
-
};
|
|
102
|
-
return question;
|
|
103
|
-
}
|
|
104
|
-
exports.getThales = getThales;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getThales = exports.thalesCalcul = void 0;
|
|
4
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
6
|
+
const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
7
|
+
const fractionNode_1 = require("../../../tree/nodes/operators/fractionNode");
|
|
8
|
+
const simplify_1 = require("../../../tree/parsers/simplify");
|
|
9
|
+
const coinFlip_1 = require("../../../utils/coinFlip");
|
|
10
|
+
exports.thalesCalcul = {
|
|
11
|
+
id: 'thalesCalcul',
|
|
12
|
+
connector: '=',
|
|
13
|
+
instruction: '',
|
|
14
|
+
label: 'Utiliser le théoreme de Thalès pour faire des calculs',
|
|
15
|
+
levels: ['5', '4', '3', '2'],
|
|
16
|
+
isSingleStep: false,
|
|
17
|
+
section: 'Géométrie euclidienne',
|
|
18
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getThales, nb),
|
|
19
|
+
};
|
|
20
|
+
function getThales() {
|
|
21
|
+
const vertices = [];
|
|
22
|
+
const code = 65 + (0, randint_1.randint)(0, 22); // Générer un code de caractère majuscule aléatoire (A-Z)
|
|
23
|
+
for (let i = 0; i < 5; i++)
|
|
24
|
+
vertices.push(String.fromCharCode(code + i));
|
|
25
|
+
const [xA, yA] = [(0, randint_1.randint)(-10, 11), (0, randint_1.randint)(-10, 11)];
|
|
26
|
+
let xB, yB, xC, yC;
|
|
27
|
+
let d1, d2, d3; // distance entre le point A et B
|
|
28
|
+
let theta = 0; // angle entre AB et AC
|
|
29
|
+
do {
|
|
30
|
+
[xB, yB, xC, yC] = [(0, randint_1.randint)(-10, 11), (0, randint_1.randint)(-10, 11), (0, randint_1.randint)(-10, 11), (0, randint_1.randint)(-10, 11)];
|
|
31
|
+
d1 = Math.hypot(xB - xA, yB - yA); // Calculer la distance entre A et B
|
|
32
|
+
d2 = Math.hypot(xC - xA, yC - yA); // Calculer la distance entre A et C
|
|
33
|
+
theta = Math.acos(((xB - xA) * (xC - xA) + (yB - yA) * (yC - yA)) / (d1 * d2));
|
|
34
|
+
} while (!theta || theta < 0.35 || theta > 2.1 || d1 / d2 > 1.3 || d1 / d2 < 0.7);
|
|
35
|
+
d3 = Math.sqrt(d1 ** 2 + d2 ** 2 - 2 * d1 * d2 * Math.cos(theta)); // Calculer la distance entre C et B
|
|
36
|
+
// CB² = AB² * AC² - 2*AB*AC*cos(theta) : pythagore généralisé
|
|
37
|
+
const factor = (0, randint_1.randint)(-5, 6, [-2, -1, 0, 1, 2]) / 10; // facteur = AB/AE, Pour que l'affichage soit acceptable, les valeurs de factor sont +- 0.5 0.4 0.3
|
|
38
|
+
const [xD, yD] = [xA + factor * (xB - xA), yA + factor * (yB - yA)];
|
|
39
|
+
const [xE, yE] = [xA + factor * (xC - xA), yA + factor * (yC - yA)];
|
|
40
|
+
const xMin = Math.min(xA, xB, xC, xD, xE);
|
|
41
|
+
const xMax = Math.max(xA, xB, xC, xD, xE);
|
|
42
|
+
const yMin = Math.min(yA, yB, yC, yD, yE);
|
|
43
|
+
const yMax = Math.max(yA, yB, yC, yD, yE);
|
|
44
|
+
// AB AC BC AD AE
|
|
45
|
+
const sides = [
|
|
46
|
+
`${vertices[0]}${vertices[1]}`,
|
|
47
|
+
`${vertices[0]}${vertices[3]}`,
|
|
48
|
+
`${vertices[0]}${vertices[2]}`,
|
|
49
|
+
`${vertices[0]}${vertices[4]}`,
|
|
50
|
+
`${vertices[1]}${vertices[2]}`,
|
|
51
|
+
`${vertices[3]}${vertices[4]}`,
|
|
52
|
+
];
|
|
53
|
+
// round pour avoir des valeurs dans N tout en gardant les proportions pour que ça soit cohérent. sides[i] a pour longueur sideLengths[i]
|
|
54
|
+
const sideLengths = [d1, factor * d1, d2, factor * d2, d3, factor * d3].map((el) => Math.round(Math.abs(el)));
|
|
55
|
+
const rand = (0, randint_1.randint)(0, 3);
|
|
56
|
+
let rand2 = (0, randint_1.randint)(0, 3, [rand]);
|
|
57
|
+
if (sideLengths[2 * rand] === sideLengths[2 * rand2])
|
|
58
|
+
rand2 = (0, randint_1.randint)(0, 3, [rand, rand2]); // condition pour pas prendre 2 longueurs identiques
|
|
59
|
+
let instruction = `Dans la figure ci-dessous, nous avons (${vertices[3]}${vertices[4]})//(${vertices[1]}${vertices[2]}), `;
|
|
60
|
+
let statement;
|
|
61
|
+
let startStatement;
|
|
62
|
+
if ((0, coinFlip_1.coinFlip)()) {
|
|
63
|
+
// a/b = c/d on cherche c
|
|
64
|
+
instruction += `${sides[2 * rand]} = $${sideLengths[2 * rand]}$, ${sides[2 * rand + 1]} = $${sideLengths[2 * rand + 1]}$, ${sides[2 * rand2]} = $${sideLengths[2 * rand2]}$.$\\\\$Déterminer ${sides[2 * rand2 + 1]}`;
|
|
65
|
+
startStatement = `${sides[2 * rand2 + 1]}`;
|
|
66
|
+
statement = (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(sideLengths[2 * rand2] * sideLengths[2 * rand + 1]), new numberNode_1.NumberNode(sideLengths[2 * rand])));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// a/b = c/d on cherche d
|
|
70
|
+
instruction += `${sides[2 * rand]} = $${sideLengths[2 * rand]}$, ${sides[2 * rand + 1]} = $${sideLengths[2 * rand + 1]}$, ${sides[2 * rand2 + 1]} = $${sideLengths[2 * rand2 + 1]}$.$\\\\$Déterminer ${sides[2 * rand2]}`;
|
|
71
|
+
startStatement = `${sides[2 * rand2]}`;
|
|
72
|
+
statement = (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new numberNode_1.NumberNode(sideLengths[2 * rand2 + 1] * sideLengths[2 * rand]), new numberNode_1.NumberNode(sideLengths[2 * rand + 1])));
|
|
73
|
+
}
|
|
74
|
+
const commands = [
|
|
75
|
+
`${vertices[0]} = Point({${xA}, ${yA}})`,
|
|
76
|
+
`${vertices[1]} = Point({${xB}, ${yB}})`,
|
|
77
|
+
`${vertices[2]} = Point({${xC}, ${yC}})`,
|
|
78
|
+
`${vertices[3]} = Point(${vertices[0]}, Vector(${factor}Vector(${vertices[0]},${vertices[1]})))`,
|
|
79
|
+
`${vertices[4]} = Intersect(Line(${vertices[3]}, Line(${vertices[1]}, ${vertices[2]})) , Line(${vertices[0]}, ${vertices[2]}))`,
|
|
80
|
+
`l = Segment(${vertices[0]}, ${vertices[1]})`,
|
|
81
|
+
`i = Segment(${vertices[0]}, ${vertices[2]})`,
|
|
82
|
+
`j = Segment(${vertices[1]}, ${vertices[2]})`,
|
|
83
|
+
`k = Segment(${vertices[3]}, ${vertices[4]})`,
|
|
84
|
+
`If(${factor} < 0, Segment(${vertices[0]}, ${vertices[3]}))`,
|
|
85
|
+
`If(${factor} < 0, Segment(${vertices[0]}, ${vertices[4]}))`,
|
|
86
|
+
`ShowAxes(false)`,
|
|
87
|
+
`ShowGrid(false)`,
|
|
88
|
+
`ShowLabel(${vertices[0]}, true)`,
|
|
89
|
+
`ShowLabel(${vertices[1]}, true)`,
|
|
90
|
+
`ShowLabel(${vertices[2]}, true)`,
|
|
91
|
+
`ShowLabel(${vertices[3]}, true)`,
|
|
92
|
+
`ShowLabel(${vertices[4]}, true)`,
|
|
93
|
+
];
|
|
94
|
+
const question = {
|
|
95
|
+
instruction,
|
|
96
|
+
startStatement,
|
|
97
|
+
answer: statement.toTex(),
|
|
98
|
+
keys: [],
|
|
99
|
+
commands,
|
|
100
|
+
coords: [xMin - 1, xMax + 1, yMin - 1, yMax + 1],
|
|
101
|
+
};
|
|
102
|
+
return question;
|
|
103
|
+
}
|
|
104
|
+
exports.getThales = getThales;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Exercise, Question } from '../../../exercises/exercise';
|
|
2
|
-
export declare const trigonometry: Exercise;
|
|
3
|
-
export declare function getTrigonometry(): Question;
|
|
1
|
+
import { Exercise, Question } from '../../../exercises/exercise';
|
|
2
|
+
export declare const trigonometry: Exercise;
|
|
3
|
+
export declare function getTrigonometry(): Question;
|
|
4
4
|
//# sourceMappingURL=trigonometry.d.ts.map
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTrigonometry = exports.trigonometry = void 0;
|
|
4
|
-
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
-
const triangles_1 = require("../../../math/geometry/triangles");
|
|
6
|
-
const randint_1 = require("../../../math/utils/random/randint");
|
|
7
|
-
exports.trigonometry = {
|
|
8
|
-
id: 'trigonometry',
|
|
9
|
-
connector: '=',
|
|
10
|
-
instruction: '',
|
|
11
|
-
label: "Écrire le quotient égal au cosinus, au sinus ou à la tangente d'un angle dans un triangle rectangle",
|
|
12
|
-
levels: ['4', '3', '2'],
|
|
13
|
-
isSingleStep: false,
|
|
14
|
-
section: 'Géométrie euclidienne',
|
|
15
|
-
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getTrigonometry, nb),
|
|
16
|
-
};
|
|
17
|
-
function getTrigonometry() {
|
|
18
|
-
const vertices = [];
|
|
19
|
-
const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
|
|
20
|
-
for (let i = 0; i < 3; i++)
|
|
21
|
-
vertices.push(String.fromCharCode(code + i));
|
|
22
|
-
const triangle = triangles_1.TriangleConstructor.createRandomRightTriangle({ minRapport: 0.7, maxRapport: 1.3, names: vertices });
|
|
23
|
-
const trigo = ['le cosinus', 'le sinus', 'la tangente'];
|
|
24
|
-
const randTrigo = (0, randint_1.randint)(0, 3);
|
|
25
|
-
const angle = [triangle.vertexB.name, triangle.vertexC.name];
|
|
26
|
-
const randAngle = (0, randint_1.randint)(0, 2);
|
|
27
|
-
let quotient;
|
|
28
|
-
switch (randAngle) {
|
|
29
|
-
case 0:
|
|
30
|
-
quotient = [
|
|
31
|
-
`\\frac{${triangle.getSideCName()}}{${triangle.getSideAName()}}`,
|
|
32
|
-
`\\frac{${triangle.getSideBName()}}{${triangle.getSideAName()}}`,
|
|
33
|
-
`\\frac{${triangle.getSideBName()}}{${triangle.getSideCName()}}`,
|
|
34
|
-
];
|
|
35
|
-
break;
|
|
36
|
-
case 1:
|
|
37
|
-
quotient = [
|
|
38
|
-
`\\frac{${triangle.getSideBName()}}{${triangle.getSideAName()}}`,
|
|
39
|
-
`\\frac{${triangle.getSideCName()}}{${triangle.getSideAName()}}`,
|
|
40
|
-
`\\frac{${triangle.getSideCName()}}{${triangle.getSideBName()}}`,
|
|
41
|
-
];
|
|
42
|
-
break;
|
|
43
|
-
default:
|
|
44
|
-
quotient = [''];
|
|
45
|
-
}
|
|
46
|
-
const question = {
|
|
47
|
-
instruction: `À quel quotient est égal ${trigo[randTrigo]} de l'angle $\\widehat{${angle[randAngle]}}$?`,
|
|
48
|
-
answer: quotient[randTrigo],
|
|
49
|
-
keys: [...vertices, 'equal'],
|
|
50
|
-
commands: [...triangle.generateCommands({ highlightedAngle: angle[randAngle] })],
|
|
51
|
-
coords: triangle.generateCoords(),
|
|
52
|
-
};
|
|
53
|
-
return question;
|
|
54
|
-
}
|
|
55
|
-
exports.getTrigonometry = getTrigonometry;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTrigonometry = exports.trigonometry = void 0;
|
|
4
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
+
const triangles_1 = require("../../../math/geometry/triangles");
|
|
6
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
7
|
+
exports.trigonometry = {
|
|
8
|
+
id: 'trigonometry',
|
|
9
|
+
connector: '=',
|
|
10
|
+
instruction: '',
|
|
11
|
+
label: "Écrire le quotient égal au cosinus, au sinus ou à la tangente d'un angle dans un triangle rectangle",
|
|
12
|
+
levels: ['4', '3', '2'],
|
|
13
|
+
isSingleStep: false,
|
|
14
|
+
section: 'Géométrie euclidienne',
|
|
15
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getTrigonometry, nb),
|
|
16
|
+
};
|
|
17
|
+
function getTrigonometry() {
|
|
18
|
+
const vertices = [];
|
|
19
|
+
const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
|
|
20
|
+
for (let i = 0; i < 3; i++)
|
|
21
|
+
vertices.push(String.fromCharCode(code + i));
|
|
22
|
+
const triangle = triangles_1.TriangleConstructor.createRandomRightTriangle({ minRapport: 0.7, maxRapport: 1.3, names: vertices });
|
|
23
|
+
const trigo = ['le cosinus', 'le sinus', 'la tangente'];
|
|
24
|
+
const randTrigo = (0, randint_1.randint)(0, 3);
|
|
25
|
+
const angle = [triangle.vertexB.name, triangle.vertexC.name];
|
|
26
|
+
const randAngle = (0, randint_1.randint)(0, 2);
|
|
27
|
+
let quotient;
|
|
28
|
+
switch (randAngle) {
|
|
29
|
+
case 0:
|
|
30
|
+
quotient = [
|
|
31
|
+
`\\frac{${triangle.getSideCName()}}{${triangle.getSideAName()}}`,
|
|
32
|
+
`\\frac{${triangle.getSideBName()}}{${triangle.getSideAName()}}`,
|
|
33
|
+
`\\frac{${triangle.getSideBName()}}{${triangle.getSideCName()}}`,
|
|
34
|
+
];
|
|
35
|
+
break;
|
|
36
|
+
case 1:
|
|
37
|
+
quotient = [
|
|
38
|
+
`\\frac{${triangle.getSideBName()}}{${triangle.getSideAName()}}`,
|
|
39
|
+
`\\frac{${triangle.getSideCName()}}{${triangle.getSideAName()}}`,
|
|
40
|
+
`\\frac{${triangle.getSideCName()}}{${triangle.getSideBName()}}`,
|
|
41
|
+
];
|
|
42
|
+
break;
|
|
43
|
+
default:
|
|
44
|
+
quotient = [''];
|
|
45
|
+
}
|
|
46
|
+
const question = {
|
|
47
|
+
instruction: `À quel quotient est égal ${trigo[randTrigo]} de l'angle $\\widehat{${angle[randAngle]}}$?`,
|
|
48
|
+
answer: quotient[randTrigo],
|
|
49
|
+
keys: [...vertices, 'equal'],
|
|
50
|
+
commands: [...triangle.generateCommands({ highlightedAngle: angle[randAngle] })],
|
|
51
|
+
coords: triangle.generateCoords(),
|
|
52
|
+
};
|
|
53
|
+
return question;
|
|
54
|
+
}
|
|
55
|
+
exports.getTrigonometry = getTrigonometry;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Exercise, Question } from '../../../exercises/exercise';
|
|
2
|
-
export declare const trigonometryAngleCalcul: Exercise;
|
|
3
|
-
export declare function getTrigonometryAngleCalcul(): Question;
|
|
1
|
+
import { Exercise, Question } from '../../../exercises/exercise';
|
|
2
|
+
export declare const trigonometryAngleCalcul: Exercise;
|
|
3
|
+
export declare function getTrigonometryAngleCalcul(): Question;
|
|
4
4
|
//# sourceMappingURL=trigonometryAngleCalcul.d.ts.map
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTrigonometryAngleCalcul = exports.trigonometryAngleCalcul = void 0;
|
|
4
|
-
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
-
const triangles_1 = require("../../../math/geometry/triangles");
|
|
6
|
-
const randint_1 = require("../../../math/utils/random/randint");
|
|
7
|
-
const round_1 = require("../../../math/utils/round");
|
|
8
|
-
const shuffle_1 = require("../../../utils/shuffle");
|
|
9
|
-
exports.trigonometryAngleCalcul = {
|
|
10
|
-
id: 'trigonometryAngleCalcul',
|
|
11
|
-
connector: '=',
|
|
12
|
-
instruction: '',
|
|
13
|
-
label: 'Utiliser la trigonométrie pour calculer un angle',
|
|
14
|
-
levels: ['4', '3', '2'],
|
|
15
|
-
isSingleStep: false,
|
|
16
|
-
section: 'Géométrie euclidienne',
|
|
17
|
-
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getTrigonometryAngleCalcul, nb),
|
|
18
|
-
};
|
|
19
|
-
function getTrigonometryAngleCalcul() {
|
|
20
|
-
const vertices = [];
|
|
21
|
-
const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
|
|
22
|
-
for (let i = 0; i < 3; i++)
|
|
23
|
-
vertices.push(String.fromCharCode(code + i));
|
|
24
|
-
const triangle = triangles_1.TriangleConstructor.createRandomRightTriangle({ minRapport: 0.5, maxRapport: 1.5, names: vertices });
|
|
25
|
-
const sides = [triangle.getSideCName(), triangle.getSideBName(), triangle.getSideAName()];
|
|
26
|
-
const sideLengths = [triangle.getSideCnumber(), triangle.getSideBnumber(), triangle.getSideAnumber()].map((el) => (0, round_1.round)(el / 2, 2));
|
|
27
|
-
const angle = [triangle.vertexB.name, triangle.vertexC.name];
|
|
28
|
-
const randAngle = (0, randint_1.randint)(0, 2);
|
|
29
|
-
const randSides = (0, shuffle_1.shuffle)([0, 1, 2]);
|
|
30
|
-
const answer = randAngle === 0
|
|
31
|
-
? Math.round((Math.acos(sideLengths[0] / sideLengths[2]) * 180) / Math.PI)
|
|
32
|
-
: Math.round((Math.acos(sideLengths[1] / sideLengths[2]) * 180) / Math.PI);
|
|
33
|
-
const question = {
|
|
34
|
-
instruction: `Le triangle ${triangle.getTriangleName()} rectangle en ${triangle.getRightAngle()} est tel que ${sides[randSides[0]]} = $${sideLengths[randSides[0]]}$ cm et ${sides[randSides[1]]} = $${sideLengths[randSides[1]]}$ cm.$\\\\$ Calculer $\\widehat{${angle[randAngle]}}$ à 1° près.`,
|
|
35
|
-
answer: answer + '°',
|
|
36
|
-
keys: [...vertices, 'equal', '°', 'cos', 'sin', 'tan', 'arccos', 'arcsin', 'arctan'],
|
|
37
|
-
commands: [...triangle.generateCommands({ highlightedAngle: angle[randAngle] })],
|
|
38
|
-
coords: triangle.generateCoords(),
|
|
39
|
-
};
|
|
40
|
-
return question;
|
|
41
|
-
}
|
|
42
|
-
exports.getTrigonometryAngleCalcul = getTrigonometryAngleCalcul;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTrigonometryAngleCalcul = exports.trigonometryAngleCalcul = void 0;
|
|
4
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
+
const triangles_1 = require("../../../math/geometry/triangles");
|
|
6
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
7
|
+
const round_1 = require("../../../math/utils/round");
|
|
8
|
+
const shuffle_1 = require("../../../utils/shuffle");
|
|
9
|
+
exports.trigonometryAngleCalcul = {
|
|
10
|
+
id: 'trigonometryAngleCalcul',
|
|
11
|
+
connector: '=',
|
|
12
|
+
instruction: '',
|
|
13
|
+
label: 'Utiliser la trigonométrie pour calculer un angle',
|
|
14
|
+
levels: ['4', '3', '2'],
|
|
15
|
+
isSingleStep: false,
|
|
16
|
+
section: 'Géométrie euclidienne',
|
|
17
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getTrigonometryAngleCalcul, nb),
|
|
18
|
+
};
|
|
19
|
+
function getTrigonometryAngleCalcul() {
|
|
20
|
+
const vertices = [];
|
|
21
|
+
const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
|
|
22
|
+
for (let i = 0; i < 3; i++)
|
|
23
|
+
vertices.push(String.fromCharCode(code + i));
|
|
24
|
+
const triangle = triangles_1.TriangleConstructor.createRandomRightTriangle({ minRapport: 0.5, maxRapport: 1.5, names: vertices });
|
|
25
|
+
const sides = [triangle.getSideCName(), triangle.getSideBName(), triangle.getSideAName()];
|
|
26
|
+
const sideLengths = [triangle.getSideCnumber(), triangle.getSideBnumber(), triangle.getSideAnumber()].map((el) => (0, round_1.round)(el / 2, 2));
|
|
27
|
+
const angle = [triangle.vertexB.name, triangle.vertexC.name];
|
|
28
|
+
const randAngle = (0, randint_1.randint)(0, 2);
|
|
29
|
+
const randSides = (0, shuffle_1.shuffle)([0, 1, 2]);
|
|
30
|
+
const answer = randAngle === 0
|
|
31
|
+
? Math.round((Math.acos(sideLengths[0] / sideLengths[2]) * 180) / Math.PI)
|
|
32
|
+
: Math.round((Math.acos(sideLengths[1] / sideLengths[2]) * 180) / Math.PI);
|
|
33
|
+
const question = {
|
|
34
|
+
instruction: `Le triangle ${triangle.getTriangleName()} rectangle en ${triangle.getRightAngle()} est tel que ${sides[randSides[0]]} = $${sideLengths[randSides[0]]}$ cm et ${sides[randSides[1]]} = $${sideLengths[randSides[1]]}$ cm.$\\\\$ Calculer $\\widehat{${angle[randAngle]}}$ à 1° près.`,
|
|
35
|
+
answer: answer + '°',
|
|
36
|
+
keys: [...vertices, 'equal', '°', 'cos', 'sin', 'tan', 'arccos', 'arcsin', 'arctan'],
|
|
37
|
+
commands: [...triangle.generateCommands({ highlightedAngle: angle[randAngle] })],
|
|
38
|
+
coords: triangle.generateCoords(),
|
|
39
|
+
};
|
|
40
|
+
return question;
|
|
41
|
+
}
|
|
42
|
+
exports.getTrigonometryAngleCalcul = getTrigonometryAngleCalcul;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Exercise, Question } from '../../../exercises/exercise';
|
|
2
|
-
export declare const trigonometrySideCalcul: Exercise;
|
|
3
|
-
export declare function getTrigonometrySideCalcul(): Question;
|
|
1
|
+
import { Exercise, Question } from '../../../exercises/exercise';
|
|
2
|
+
export declare const trigonometrySideCalcul: Exercise;
|
|
3
|
+
export declare function getTrigonometrySideCalcul(): Question;
|
|
4
4
|
//# sourceMappingURL=trigonometrySideCalcul.d.ts.map
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTrigonometrySideCalcul = exports.trigonometrySideCalcul = void 0;
|
|
4
|
-
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
-
const triangles_1 = require("../../../math/geometry/triangles");
|
|
6
|
-
const randint_1 = require("../../../math/utils/random/randint");
|
|
7
|
-
const round_1 = require("../../../math/utils/round");
|
|
8
|
-
exports.trigonometrySideCalcul = {
|
|
9
|
-
id: 'trigonometrySideCalcul',
|
|
10
|
-
connector: '=',
|
|
11
|
-
instruction: '',
|
|
12
|
-
label: 'Utiliser la trigonométrie pour calculer un côté',
|
|
13
|
-
levels: ['4', '3', '2'],
|
|
14
|
-
isSingleStep: false,
|
|
15
|
-
section: 'Géométrie euclidienne',
|
|
16
|
-
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getTrigonometrySideCalcul, nb),
|
|
17
|
-
};
|
|
18
|
-
function getTrigonometrySideCalcul() {
|
|
19
|
-
const vertices = [];
|
|
20
|
-
const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
|
|
21
|
-
for (let i = 0; i < 3; i++)
|
|
22
|
-
vertices.push(String.fromCharCode(code + i));
|
|
23
|
-
const triangle = triangles_1.TriangleConstructor.createRandomRightTriangle({ minRapport: 0.5, maxRapport: 1.5, names: vertices });
|
|
24
|
-
const sides = [triangle.getSideCName(), triangle.getSideBName(), triangle.getSideAName()];
|
|
25
|
-
const sideLengths = [triangle.getSideCnumber(), triangle.getSideBnumber(), triangle.getSideAnumber()].map((el) => (0, round_1.round)(el / 2, 2));
|
|
26
|
-
const angle = [triangle.vertexB.name, triangle.vertexC.name];
|
|
27
|
-
const randAngle = (0, randint_1.randint)(0, 2);
|
|
28
|
-
const randside = (0, randint_1.randint)(0, 3); // valeurs possible : 0 1 2
|
|
29
|
-
const randsideQuestion = (0, randint_1.randint)(0, 3, [randside]); // si rand = 0, valeurs possible 1 2
|
|
30
|
-
const angleValue = [
|
|
31
|
-
(0, round_1.round)((Math.acos(sideLengths[0] / sideLengths[2]) * 180) / Math.PI, 1),
|
|
32
|
-
(0, round_1.round)((Math.acos(sideLengths[1] / sideLengths[2]) * 180) / Math.PI, 1),
|
|
33
|
-
];
|
|
34
|
-
const commands = [
|
|
35
|
-
...triangle.generateCommands({
|
|
36
|
-
highlightedAngle: angle[randAngle],
|
|
37
|
-
colorHighlightedAngle: 'Black',
|
|
38
|
-
showLabels: [sides[randsideQuestion]],
|
|
39
|
-
setCaptions: ['?'],
|
|
40
|
-
highlightedSide: sides[randsideQuestion],
|
|
41
|
-
}),
|
|
42
|
-
];
|
|
43
|
-
const question = {
|
|
44
|
-
instruction: `Le triangle ${triangle.getTriangleName()} rectangle en ${triangle.getRightAngle()} tel que ${sides[randside]} = $${sideLengths[randside]}$ cm et $\\widehat{${angle[randAngle]}}$ = $${angleValue[randAngle]}$°.$\\\\$ Calculer ${sides[randsideQuestion]} à $0,1$ cm près.`,
|
|
45
|
-
answer: `${(0, round_1.round)(sideLengths[randsideQuestion], 1)}`,
|
|
46
|
-
keys: [...vertices, 'equal', '°', 'cos', 'sin', 'tan', 'arccos', 'arcsin', 'arctan'],
|
|
47
|
-
commands,
|
|
48
|
-
coords: triangle.generateCoords(),
|
|
49
|
-
};
|
|
50
|
-
return question;
|
|
51
|
-
}
|
|
52
|
-
exports.getTrigonometrySideCalcul = getTrigonometrySideCalcul;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTrigonometrySideCalcul = exports.trigonometrySideCalcul = void 0;
|
|
4
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
+
const triangles_1 = require("../../../math/geometry/triangles");
|
|
6
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
7
|
+
const round_1 = require("../../../math/utils/round");
|
|
8
|
+
exports.trigonometrySideCalcul = {
|
|
9
|
+
id: 'trigonometrySideCalcul',
|
|
10
|
+
connector: '=',
|
|
11
|
+
instruction: '',
|
|
12
|
+
label: 'Utiliser la trigonométrie pour calculer un côté',
|
|
13
|
+
levels: ['4', '3', '2'],
|
|
14
|
+
isSingleStep: false,
|
|
15
|
+
section: 'Géométrie euclidienne',
|
|
16
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getTrigonometrySideCalcul, nb),
|
|
17
|
+
};
|
|
18
|
+
function getTrigonometrySideCalcul() {
|
|
19
|
+
const vertices = [];
|
|
20
|
+
const code = 65 + (0, randint_1.randint)(0, 24); // Générer un code de caractère majuscule aléatoire (A-Z)
|
|
21
|
+
for (let i = 0; i < 3; i++)
|
|
22
|
+
vertices.push(String.fromCharCode(code + i));
|
|
23
|
+
const triangle = triangles_1.TriangleConstructor.createRandomRightTriangle({ minRapport: 0.5, maxRapport: 1.5, names: vertices });
|
|
24
|
+
const sides = [triangle.getSideCName(), triangle.getSideBName(), triangle.getSideAName()];
|
|
25
|
+
const sideLengths = [triangle.getSideCnumber(), triangle.getSideBnumber(), triangle.getSideAnumber()].map((el) => (0, round_1.round)(el / 2, 2));
|
|
26
|
+
const angle = [triangle.vertexB.name, triangle.vertexC.name];
|
|
27
|
+
const randAngle = (0, randint_1.randint)(0, 2);
|
|
28
|
+
const randside = (0, randint_1.randint)(0, 3); // valeurs possible : 0 1 2
|
|
29
|
+
const randsideQuestion = (0, randint_1.randint)(0, 3, [randside]); // si rand = 0, valeurs possible 1 2
|
|
30
|
+
const angleValue = [
|
|
31
|
+
(0, round_1.round)((Math.acos(sideLengths[0] / sideLengths[2]) * 180) / Math.PI, 1),
|
|
32
|
+
(0, round_1.round)((Math.acos(sideLengths[1] / sideLengths[2]) * 180) / Math.PI, 1),
|
|
33
|
+
];
|
|
34
|
+
const commands = [
|
|
35
|
+
...triangle.generateCommands({
|
|
36
|
+
highlightedAngle: angle[randAngle],
|
|
37
|
+
colorHighlightedAngle: 'Black',
|
|
38
|
+
showLabels: [sides[randsideQuestion]],
|
|
39
|
+
setCaptions: ['?'],
|
|
40
|
+
highlightedSide: sides[randsideQuestion],
|
|
41
|
+
}),
|
|
42
|
+
];
|
|
43
|
+
const question = {
|
|
44
|
+
instruction: `Le triangle ${triangle.getTriangleName()} rectangle en ${triangle.getRightAngle()} tel que ${sides[randside]} = $${sideLengths[randside]}$ cm et $\\widehat{${angle[randAngle]}}$ = $${angleValue[randAngle]}$°.$\\\\$ Calculer ${sides[randsideQuestion]} à $0,1$ cm près.`,
|
|
45
|
+
answer: `${(0, round_1.round)(sideLengths[randsideQuestion], 1)}`,
|
|
46
|
+
keys: [...vertices, 'equal', '°', 'cos', 'sin', 'tan', 'arccos', 'arcsin', 'arctan'],
|
|
47
|
+
commands,
|
|
48
|
+
coords: triangle.generateCoords(),
|
|
49
|
+
};
|
|
50
|
+
return question;
|
|
51
|
+
}
|
|
52
|
+
exports.getTrigonometrySideCalcul = getTrigonometrySideCalcul;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Exercise, Question } from '../../../exercises/exercise';
|
|
2
|
-
export declare const scalarProductViaCoords: Exercise;
|
|
3
|
-
export declare function getScalarProductViaCoordsQuestion(): Question;
|
|
1
|
+
import { Exercise, Question } from '../../../exercises/exercise';
|
|
2
|
+
export declare const scalarProductViaCoords: Exercise;
|
|
3
|
+
export declare function getScalarProductViaCoordsQuestion(): Question;
|
|
4
4
|
//# sourceMappingURL=scalarProductViaCoords.d.ts.map
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getScalarProductViaCoordsQuestion = exports.scalarProductViaCoords = void 0;
|
|
4
|
-
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
-
const vector_1 = require("../../../math/geometry/vector");
|
|
6
|
-
const randTupleInt_1 = require("../../../math/utils/random/randTupleInt");
|
|
7
|
-
const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
8
|
-
exports.scalarProductViaCoords = {
|
|
9
|
-
id: 'scalarProductViaCoords',
|
|
10
|
-
connector: '=',
|
|
11
|
-
instruction: '',
|
|
12
|
-
isSingleStep: false,
|
|
13
|
-
label: "Calculer un produit scalaire à l'aide des coordonnées",
|
|
14
|
-
levels: ['1, 0'],
|
|
15
|
-
section: 'Vecteurs',
|
|
16
|
-
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getScalarProductViaCoordsQuestion, nb),
|
|
17
|
-
keys: [],
|
|
18
|
-
};
|
|
19
|
-
function getScalarProductViaCoordsQuestion() {
|
|
20
|
-
const [coords1, coords2] = (0, randTupleInt_1.distinctRandTupleInt)(2, 2, { from: -9, to: 10 });
|
|
21
|
-
const u = new vector_1.Vector('u', new numberNode_1.NumberNode(coords1[0]), new numberNode_1.NumberNode(coords1[1]));
|
|
22
|
-
const v = new vector_1.Vector('v', new numberNode_1.NumberNode(coords2[0]), new numberNode_1.NumberNode(coords2[1]));
|
|
23
|
-
return {
|
|
24
|
-
instruction: `Soit $${u.toTexWithCoords()}$ et $${v.toTexWithCoords()}$. Calculer $${u.toTex()}\\cdot ${v.toTex()}$.`,
|
|
25
|
-
startStatement: `${u.toTex()}\\cdot ${v.toTex()}`,
|
|
26
|
-
answer: u.scalarProduct(v).toTex(),
|
|
27
|
-
keys: [],
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
exports.getScalarProductViaCoordsQuestion = getScalarProductViaCoordsQuestion;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getScalarProductViaCoordsQuestion = exports.scalarProductViaCoords = void 0;
|
|
4
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
5
|
+
const vector_1 = require("../../../math/geometry/vector");
|
|
6
|
+
const randTupleInt_1 = require("../../../math/utils/random/randTupleInt");
|
|
7
|
+
const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
8
|
+
exports.scalarProductViaCoords = {
|
|
9
|
+
id: 'scalarProductViaCoords',
|
|
10
|
+
connector: '=',
|
|
11
|
+
instruction: '',
|
|
12
|
+
isSingleStep: false,
|
|
13
|
+
label: "Calculer un produit scalaire à l'aide des coordonnées",
|
|
14
|
+
levels: ['1, 0'],
|
|
15
|
+
section: 'Vecteurs',
|
|
16
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getScalarProductViaCoordsQuestion, nb),
|
|
17
|
+
keys: [],
|
|
18
|
+
};
|
|
19
|
+
function getScalarProductViaCoordsQuestion() {
|
|
20
|
+
const [coords1, coords2] = (0, randTupleInt_1.distinctRandTupleInt)(2, 2, { from: -9, to: 10 });
|
|
21
|
+
const u = new vector_1.Vector('u', new numberNode_1.NumberNode(coords1[0]), new numberNode_1.NumberNode(coords1[1]));
|
|
22
|
+
const v = new vector_1.Vector('v', new numberNode_1.NumberNode(coords2[0]), new numberNode_1.NumberNode(coords2[1]));
|
|
23
|
+
return {
|
|
24
|
+
instruction: `Soit $${u.toTexWithCoords()}$ et $${v.toTexWithCoords()}$. Calculer $${u.toTex()}\\cdot ${v.toTex()}$.`,
|
|
25
|
+
startStatement: `${u.toTex()}\\cdot ${v.toTex()}`,
|
|
26
|
+
answer: u.scalarProduct(v).toTex(),
|
|
27
|
+
keys: [],
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.getScalarProductViaCoordsQuestion = getScalarProductViaCoordsQuestion;
|