math-exercises 3.0.171 → 3.0.173
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/math/derivation/variations/signVarTable3dDegree.js +38 -10
- package/lib/exercises/math/derivation/variations/signVarTableFromDerivativeGraph.d.ts.map +1 -1
- package/lib/exercises/math/derivation/variations/signVarTableFromDerivativeGraph.js +7 -4
- package/lib/exercises/math/derivation/variations/signVarTableFromGraph.d.ts.map +1 -1
- package/lib/exercises/math/derivation/variations/signVarTableFromGraph.js +2 -3
- package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.d.ts.map +1 -1
- package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.js +12 -0
- package/lib/exercises/math/functions/trinoms/parabole/index.d.ts +2 -0
- package/lib/exercises/math/functions/trinoms/parabole/index.d.ts.map +1 -1
- package/lib/exercises/math/functions/trinoms/parabole/index.js +2 -0
- package/lib/exercises/math/functions/trinoms/parabole/parabolaVarTable.d.ts +8 -0
- package/lib/exercises/math/functions/trinoms/parabole/parabolaVarTable.d.ts.map +1 -0
- package/lib/exercises/math/functions/trinoms/parabole/parabolaVarTable.js +106 -0
- package/lib/exercises/math/functions/trinoms/parabole/paraboleSolveGraphEquation.d.ts +14 -0
- package/lib/exercises/math/functions/trinoms/parabole/paraboleSolveGraphEquation.d.ts.map +1 -0
- package/lib/exercises/math/functions/trinoms/parabole/paraboleSolveGraphEquation.js +186 -0
- package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.d.ts +6 -2
- package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.d.ts.map +1 -1
- package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.js +98 -13
- package/lib/exercises/math/functions/variations/partialVarTableFromGraph.d.ts.map +1 -1
- package/lib/exercises/math/functions/variations/partialVarTableFromGraph.js +2 -1
- package/lib/exercises/math/functions/variations/varTableFromGraph.d.ts.map +1 -1
- package/lib/exercises/math/functions/variations/varTableFromGraph.js +2 -1
- package/lib/exercises/math/functions/variations/varTableFromSentences.d.ts.map +1 -1
- package/lib/exercises/math/functions/variations/varTableFromSentences.js +2 -1
- package/lib/exercises/math/geometry/circles/circleCenterAndRadiusFromEquation.d.ts.map +1 -1
- package/lib/exercises/math/geometry/circles/circleCenterAndRadiusFromEquation.js +0 -2
- package/lib/exercises/math/geometry/lines/index.d.ts +1 -0
- package/lib/exercises/math/geometry/lines/index.d.ts.map +1 -1
- package/lib/exercises/math/geometry/lines/index.js +1 -0
- package/lib/exercises/math/geometry/lines/readLineNormalVectorOnGraph.d.ts +13 -0
- package/lib/exercises/math/geometry/lines/readLineNormalVectorOnGraph.d.ts.map +1 -0
- package/lib/exercises/math/geometry/lines/readLineNormalVectorOnGraph.js +195 -0
- package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiAngle.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiAngle.js +64 -60
- package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.d.ts +1 -0
- package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.js +173 -47
- package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiSideLength.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiSideLength.js +112 -46
- package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductInOrthonormalBasisIJ.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductInOrthonormalBasisIJ.js +6 -0
- package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductLamdbaULambdaV.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductLamdbaULambdaV.js +60 -82
- package/lib/exercises/math/geometry/vectors/scalarProduct/angleFromScalarProduct.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/angleFromScalarProduct.js +92 -6
- package/lib/exercises/math/geometry/vectors/scalarProduct/index.d.ts +6 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/index.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/index.js +6 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsBasisIJ.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsBasisIJ.js +6 -0
- package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsUsingCoords.js +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnCircle.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnCircle.js +15 -5
- package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnPerpendicularBisector.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnPerpendicularBisector.js +18 -14
- package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsRightTriangleUsingPointCoords.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsRightTriangleUsingPointCoords.js +15 -5
- package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.js +38 -4
- package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOfVectsOnGrid1.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOfVectsOnGrid1.js +77 -26
- package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductParallelogramDiagonalPlus.d.ts.map +1 -1
- package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductParallelogramDiagonalPlus.js +6 -7
- package/lib/exercises/math/probaStat/basicProbas/calculateProbaFromProbaLaw.js +1 -1
- package/lib/exercises/math/probaStat/probaFromTableWithContext.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/probaFromTableWithContext.js +3 -16
- package/lib/exercises/math/probaStat/randomVariable/decideWhichGameIsLessRisky.d.ts +14 -0
- package/lib/exercises/math/probaStat/randomVariable/decideWhichGameIsLessRisky.d.ts.map +1 -0
- package/lib/exercises/math/probaStat/randomVariable/decideWhichGameIsLessRisky.js +167 -0
- package/lib/exercises/math/probaStat/randomVariable/findValueForFairRandomVariable.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/randomVariable/findValueForFairRandomVariable.js +29 -56
- package/lib/exercises/math/probaStat/randomVariable/index.d.ts +8 -0
- package/lib/exercises/math/probaStat/randomVariable/index.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/randomVariable/index.js +9 -0
- package/lib/exercises/math/probaStat/randomVariable/isTableProbabilityLaw.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/randomVariable/isTableProbabilityLaw.js +6 -6
- package/lib/exercises/math/probaStat/randomVariable/missingValueInRandomVariableProbabilityLaw.d.ts +9 -0
- package/lib/exercises/math/probaStat/randomVariable/missingValueInRandomVariableProbabilityLaw.d.ts.map +1 -0
- package/lib/exercises/math/probaStat/randomVariable/missingValueInRandomVariableProbabilityLaw.js +119 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableAverage.js +1 -1
- package/lib/exercises/math/probaStat/randomVariable/randomVariableFindMissingProbabilityInLaw.d.ts +9 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableFindMissingProbabilityInLaw.d.ts.map +1 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableFindMissingProbabilityInLaw.js +116 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationAverage.d.ts +11 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationAverage.d.ts.map +1 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationAverage.js +112 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationComputeProbability.d.ts +9 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationComputeProbability.d.ts.map +1 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationComputeProbability.js +176 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationIsGameFavorable.d.ts +8 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationIsGameFavorable.d.ts.map +1 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationIsGameFavorable.js +94 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationProbabilityLaw.d.ts +9 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationProbabilityLaw.d.ts.map +1 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationProbabilityLaw.js +162 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationStandardDeviation.d.ts +8 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationStandardDeviation.d.ts.map +1 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationStandardDeviation.js +133 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationValues.d.ts +8 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationValues.d.ts.map +1 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationValues.js +211 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationVariance.d.ts +8 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationVariance.d.ts.map +1 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationVariance.js +113 -0
- package/lib/exercises/math/probaStat/randomVariable/randomVariableStandardDeviation.js +1 -1
- package/lib/exercises/math/probaStat/randomVariable/randomVariableVariance.js +1 -1
- package/lib/exercises/math/probaStat/randomVariable/utils/buildVAOfGivenAverage.d.ts +31 -0
- package/lib/exercises/math/probaStat/randomVariable/utils/buildVAOfGivenAverage.d.ts.map +1 -0
- package/lib/exercises/math/probaStat/randomVariable/utils/buildVAOfGivenAverage.js +192 -0
- package/lib/exercises/math/probaStat/randomVariable/utils/randomVariableSituations.d.ts +40 -11
- package/lib/exercises/math/probaStat/randomVariable/utils/randomVariableSituations.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js +172 -30
- package/lib/exercises/math/probaStat/stats1var/medianWithList.d.ts.map +1 -1
- package/lib/exercises/math/probaStat/stats1var/medianWithList.js +16 -2
- package/lib/exercises/math/python/sequences/index.d.ts +8 -0
- package/lib/exercises/math/python/sequences/index.d.ts.map +1 -0
- package/lib/exercises/math/python/sequences/index.js +7 -0
- package/lib/exercises/math/python/sequences/pySequenceFactorialInstructionFalseOneOut.d.ts +11 -0
- package/lib/exercises/math/python/sequences/pySequenceFactorialInstructionFalseOneOut.d.ts.map +1 -0
- package/lib/exercises/math/python/sequences/pySequenceFactorialInstructionFalseOneOut.js +274 -0
- package/lib/exercises/math/python/sequences/pySequenceFirstTermsListInstructionCompletion.d.ts +12 -0
- package/lib/exercises/math/python/sequences/pySequenceFirstTermsListInstructionCompletion.d.ts.map +1 -0
- package/lib/exercises/math/python/sequences/pySequenceFirstTermsListInstructionCompletion.js +368 -0
- package/lib/exercises/math/python/sequences/pySequenceFirstTermsSumInstructionCompletion.d.ts +13 -0
- package/lib/exercises/math/python/sequences/pySequenceFirstTermsSumInstructionCompletion.d.ts.map +1 -0
- package/lib/exercises/math/python/sequences/pySequenceFirstTermsSumInstructionCompletion.js +254 -0
- package/lib/exercises/math/python/sequences/pySequenceProgramReading.d.ts +14 -0
- package/lib/exercises/math/python/sequences/pySequenceProgramReading.d.ts.map +1 -0
- package/lib/exercises/math/python/sequences/pySequenceProgramReading.js +365 -0
- package/lib/exercises/math/python/sequences/pySequenceTermForLoopInstructionCompletion.d.ts +11 -0
- package/lib/exercises/math/python/sequences/pySequenceTermForLoopInstructionCompletion.d.ts.map +1 -0
- package/lib/exercises/math/python/sequences/pySequenceTermForLoopInstructionCompletion.js +298 -0
- package/lib/exercises/math/python/sequences/pySequenceTermFromFunctionCallInstructionCompletion.d.ts +12 -0
- package/lib/exercises/math/python/sequences/pySequenceTermFromFunctionCallInstructionCompletion.d.ts.map +1 -0
- package/lib/exercises/math/python/sequences/pySequenceTermFromFunctionCallInstructionCompletion.js +408 -0
- package/lib/exercises/math/python/sequences/pySequenceThresholdInstructionCompletion.d.ts +17 -0
- package/lib/exercises/math/python/sequences/pySequenceThresholdInstructionCompletion.d.ts.map +1 -0
- package/lib/exercises/math/python/sequences/pySequenceThresholdInstructionCompletion.js +498 -0
- package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormulaFromTwoTerms.d.ts +12 -0
- package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormulaFromTwoTerms.d.ts.map +1 -0
- package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormulaFromTwoTerms.js +191 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindExplicitFormulaFromSituation.d.ts +14 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindExplicitFormulaFromSituation.d.ts.map +1 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindExplicitFormulaFromSituation.js +153 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.d.ts +15 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.d.ts.map +1 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.js +184 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRecurrenceFormulaFromSituation.d.ts +14 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRecurrenceFormulaFromSituation.d.ts.map +1 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRecurrenceFormulaFromSituation.js +210 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindTermFromSituation.d.ts +15 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindTermFromSituation.d.ts.map +1 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindTermFromSituation.js +161 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindThresholdFromSituation.d.ts +17 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindThresholdFromSituation.d.ts.map +1 -0
- package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindThresholdFromSituation.js +188 -0
- package/lib/exercises/math/sequences/arithmetic/situations/index.d.ts +6 -0
- package/lib/exercises/math/sequences/arithmetic/situations/index.d.ts.map +1 -0
- package/lib/exercises/math/sequences/arithmetic/situations/index.js +5 -0
- package/lib/exercises/math/sequences/arithmetic/sum/arithmeticComputeSumWithDots.d.ts +15 -0
- package/lib/exercises/math/sequences/arithmetic/sum/arithmeticComputeSumWithDots.d.ts.map +1 -0
- package/lib/exercises/math/sequences/arithmetic/sum/arithmeticComputeSumWithDots.js +233 -0
- package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSum.d.ts +13 -0
- package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSum.d.ts.map +1 -0
- package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSum.js +111 -0
- package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSumThreshold.d.ts +13 -0
- package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSumThreshold.d.ts.map +1 -0
- package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSumThreshold.js +216 -0
- package/lib/exercises/math/sequences/arithmetic/sum/firstIntegersSum.d.ts +7 -0
- package/lib/exercises/math/sequences/arithmetic/sum/firstIntegersSum.d.ts.map +1 -0
- package/lib/exercises/math/sequences/arithmetic/sum/firstIntegersSum.js +94 -0
- package/lib/exercises/math/sequences/arithmetic/sum/index.d.ts +5 -0
- package/lib/exercises/math/sequences/arithmetic/sum/index.d.ts.map +1 -0
- package/lib/exercises/math/sequences/arithmetic/sum/index.js +4 -0
- package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFromTwoTerms.d.ts +14 -0
- package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFromTwoTerms.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFromTwoTerms.js +301 -0
- package/lib/exercises/math/sequences/geometric/geometricFindRandomTermFromTwoTerms.d.ts +15 -0
- package/lib/exercises/math/sequences/geometric/geometricFindRandomTermFromTwoTerms.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/geometricFindRandomTermFromTwoTerms.js +260 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindExplicitFormulaFromSituation.d.ts +14 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindExplicitFormulaFromSituation.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindExplicitFormulaFromSituation.js +186 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindRankFromSituation.d.ts +15 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindRankFromSituation.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindRankFromSituation.js +142 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindRecurrenceFormulaFromSituation.d.ts +14 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindRecurrenceFormulaFromSituation.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindRecurrenceFormulaFromSituation.js +205 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindTermFromSituation.d.ts +15 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindTermFromSituation.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindTermFromSituation.js +208 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindThresholdFromSituation.d.ts +17 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindThresholdFromSituation.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/situations/geometricFindThresholdFromSituation.js +152 -0
- package/lib/exercises/math/sequences/geometric/situations/index.d.ts +4 -0
- package/lib/exercises/math/sequences/geometric/situations/index.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/situations/index.js +5 -0
- package/lib/exercises/math/sequences/geometric/sum/geometricComputeSumWithDots.d.ts +15 -0
- package/lib/exercises/math/sequences/geometric/sum/geometricComputeSumWithDots.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/sum/geometricComputeSumWithDots.js +248 -0
- package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsGeneralSum.d.ts +14 -0
- package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsGeneralSum.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsGeneralSum.js +126 -0
- package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsSum.d.ts +8 -0
- package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsSum.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsSum.js +91 -0
- package/lib/exercises/math/sequences/geometric/sum/index.d.ts +4 -0
- package/lib/exercises/math/sequences/geometric/sum/index.d.ts.map +1 -0
- package/lib/exercises/math/sequences/geometric/sum/index.js +3 -0
- package/lib/exercises/math/sequences/seqArithmGeom/index.d.ts +2 -0
- package/lib/exercises/math/sequences/seqArithmGeom/index.d.ts.map +1 -0
- package/lib/exercises/math/sequences/seqArithmGeom/index.js +1 -0
- package/lib/exercises/math/sequences/seqArithmGeom/seqArithmGeomRecurrenceFormulaUsage.d.ts +14 -0
- package/lib/exercises/math/sequences/seqArithmGeom/seqArithmGeomRecurrenceFormulaUsage.d.ts.map +1 -0
- package/lib/exercises/math/sequences/seqArithmGeom/seqArithmGeomRecurrenceFormulaUsage.js +202 -0
- package/lib/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.d.ts.map +1 -1
- package/lib/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.js +0 -2
- package/lib/exercises/options/optionFirstTermRankOne.d.ts +16 -0
- package/lib/exercises/options/optionFirstTermRankOne.d.ts.map +1 -0
- package/lib/exercises/options/optionFirstTermRankOne.js +17 -0
- package/lib/exercises/options/optionIsUsePythonDef.d.ts +16 -0
- package/lib/exercises/options/optionIsUsePythonDef.d.ts.map +1 -0
- package/lib/exercises/options/optionIsUsePythonDef.js +17 -0
- package/lib/exercises/options/optionIsWithSuperfluousData.d.ts +16 -0
- package/lib/exercises/options/optionIsWithSuperfluousData.d.ts.map +1 -0
- package/lib/exercises/options/optionIsWithSuperfluousData.js +17 -0
- package/lib/exercises/utils/geogebra/toGGBCommandsProps.d.ts +1 -0
- package/lib/exercises/utils/geogebra/toGGBCommandsProps.d.ts.map +1 -1
- package/lib/exercises/vea/colinearVectorVEA.d.ts +2 -0
- package/lib/exercises/vea/colinearVectorVEA.d.ts.map +1 -0
- package/lib/exercises/vea/colinearVectorVEA.js +11 -0
- package/lib/exercises/vea/rationalVEA.d.ts.map +1 -1
- package/lib/exercises/vea/rationalVEA.js +7 -3
- package/lib/exercises/vea/varLineVEA.d.ts.map +1 -1
- package/lib/exercises/vea/varLineVEA.js +7 -3
- package/lib/exercises/vea/varSignTableVEA.d.ts +8 -0
- package/lib/exercises/vea/varSignTableVEA.d.ts.map +1 -1
- package/lib/exercises/vea/varSignTableVEA.js +8 -0
- package/lib/exercises/vea/xTableLineVEA.d.ts +1 -0
- package/lib/exercises/vea/xTableLineVEA.d.ts.map +1 -1
- package/lib/exercises/vea/xTableLineVEA.js +1 -0
- package/lib/index.d.ts +104 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/latexTester.d.ts.map +1 -1
- package/lib/latexTester.js +3 -1
- package/lib/math/geometry/angle.d.ts +2 -0
- package/lib/math/geometry/angle.d.ts.map +1 -1
- package/lib/math/geometry/angle.js +17 -0
- package/lib/math/geometry/line.d.ts +1 -1
- package/lib/math/geometry/line.d.ts.map +1 -1
- package/lib/math/geometry/line.js +3 -3
- package/lib/math/geometry/point.d.ts +1 -1
- package/lib/math/geometry/point.d.ts.map +1 -1
- package/lib/math/geometry/point.js +4 -1
- package/lib/math/geometry/segment.js +1 -1
- package/lib/math/numbers/reals/real.d.ts.map +1 -1
- package/lib/math/numbers/reals/real.js +4 -0
- package/lib/math/probability/randomVariable.d.ts +2 -1
- package/lib/math/probability/randomVariable.d.ts.map +1 -1
- package/lib/math/probability/randomVariable.js +7 -1
- package/lib/math/utils/arithmetic/primeFactors.d.ts +1 -1
- package/lib/math/utils/arithmetic/primeFactors.d.ts.map +1 -1
- package/lib/math/utils/arithmetic/primeFactors.js +23 -9
- package/lib/math/utils/sequences/situations/seqArithmeticSituations.d.ts +53 -0
- package/lib/math/utils/sequences/situations/seqArithmeticSituations.d.ts.map +1 -0
- package/lib/math/utils/sequences/situations/seqArithmeticSituations.js +1928 -0
- package/lib/math/utils/sequences/situations/seqArithmeticUtils.d.ts +15 -0
- package/lib/math/utils/sequences/situations/seqArithmeticUtils.d.ts.map +1 -0
- package/lib/math/utils/sequences/situations/seqArithmeticUtils.js +136 -0
- package/lib/math/utils/sequences/situations/seqGeometricSituations.d.ts +42 -0
- package/lib/math/utils/sequences/situations/seqGeometricSituations.d.ts.map +1 -0
- package/lib/math/utils/sequences/situations/seqGeometricSituations.js +932 -0
- package/lib/math/utils/sequences/situations/seqGeometricUtils.d.ts +12 -0
- package/lib/math/utils/sequences/situations/seqGeometricUtils.d.ts.map +1 -0
- package/lib/math/utils/sequences/situations/seqGeometricUtils.js +90 -0
- package/lib/tests/pdfs/mdTableToLatexTabular.js +1 -1
- package/lib/tree/nodes/algebraicNode.d.ts +1 -0
- package/lib/tree/nodes/algebraicNode.d.ts.map +1 -1
- package/lib/tree/nodes/complex/complexNode.d.ts +1 -0
- package/lib/tree/nodes/complex/complexNode.d.ts.map +1 -1
- package/lib/tree/nodes/complex/complexNode.js +3 -0
- package/lib/tree/nodes/equations/equalNode.d.ts +1 -0
- package/lib/tree/nodes/equations/equalNode.d.ts.map +1 -1
- package/lib/tree/nodes/equations/equalNode.js +3 -0
- package/lib/tree/nodes/equations/equationSolutionNode.d.ts +1 -0
- package/lib/tree/nodes/equations/equationSolutionNode.d.ts.map +1 -1
- package/lib/tree/nodes/equations/equationSolutionNode.js +3 -0
- package/lib/tree/nodes/equations/multiEqualNode.d.ts +1 -0
- package/lib/tree/nodes/equations/multiEqualNode.d.ts.map +1 -1
- package/lib/tree/nodes/equations/multiEqualNode.js +3 -0
- package/lib/tree/nodes/equations/notEqualNode.d.ts +1 -0
- package/lib/tree/nodes/equations/notEqualNode.d.ts.map +1 -1
- package/lib/tree/nodes/equations/notEqualNode.js +3 -0
- package/lib/tree/nodes/functions/absNode.d.ts +1 -0
- package/lib/tree/nodes/functions/absNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/absNode.js +7 -0
- package/lib/tree/nodes/functions/arcSinNode.d.ts +1 -0
- package/lib/tree/nodes/functions/arcSinNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/arcSinNode.js +7 -0
- package/lib/tree/nodes/functions/arccosNode.d.ts +1 -0
- package/lib/tree/nodes/functions/arccosNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/arccosNode.js +7 -0
- package/lib/tree/nodes/functions/arctanNode.d.ts +1 -0
- package/lib/tree/nodes/functions/arctanNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/arctanNode.js +7 -0
- package/lib/tree/nodes/functions/cosNode.d.ts +1 -0
- package/lib/tree/nodes/functions/cosNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/cosNode.js +7 -0
- package/lib/tree/nodes/functions/expNode.d.ts +1 -0
- package/lib/tree/nodes/functions/expNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/expNode.js +7 -0
- package/lib/tree/nodes/functions/factorialNode.d.ts +30 -0
- package/lib/tree/nodes/functions/factorialNode.d.ts.map +1 -0
- package/lib/tree/nodes/functions/factorialNode.js +79 -0
- package/lib/tree/nodes/functions/functionNode.d.ts +2 -1
- package/lib/tree/nodes/functions/functionNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/functionNode.js +1 -0
- package/lib/tree/nodes/functions/integralNode.d.ts +1 -0
- package/lib/tree/nodes/functions/integralNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/integralNode.js +7 -0
- package/lib/tree/nodes/functions/log10Node.d.ts +1 -0
- package/lib/tree/nodes/functions/log10Node.d.ts.map +1 -1
- package/lib/tree/nodes/functions/log10Node.js +7 -0
- package/lib/tree/nodes/functions/logNode.d.ts +1 -0
- package/lib/tree/nodes/functions/logNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/logNode.js +9 -0
- package/lib/tree/nodes/functions/oppositeNode.d.ts +1 -0
- package/lib/tree/nodes/functions/oppositeNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/oppositeNode.js +7 -0
- package/lib/tree/nodes/functions/sinNode.d.ts +1 -0
- package/lib/tree/nodes/functions/sinNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/sinNode.js +7 -0
- package/lib/tree/nodes/functions/sqrtNode.d.ts +1 -0
- package/lib/tree/nodes/functions/sqrtNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/sqrtNode.js +7 -0
- package/lib/tree/nodes/functions/tanNode.d.ts +1 -0
- package/lib/tree/nodes/functions/tanNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/tanNode.js +7 -0
- package/lib/tree/nodes/geometry/degree.d.ts +1 -0
- package/lib/tree/nodes/geometry/degree.d.ts.map +1 -1
- package/lib/tree/nodes/geometry/degree.js +7 -0
- package/lib/tree/nodes/geometry/lengthNode.d.ts +1 -0
- package/lib/tree/nodes/geometry/lengthNode.d.ts.map +1 -1
- package/lib/tree/nodes/geometry/lengthNode.js +7 -0
- package/lib/tree/nodes/geometry/pointNode.d.ts +1 -0
- package/lib/tree/nodes/geometry/pointNode.d.ts.map +1 -1
- package/lib/tree/nodes/geometry/pointNode.js +7 -0
- package/lib/tree/nodes/geometry/vectorNode.d.ts +1 -0
- package/lib/tree/nodes/geometry/vectorNode.d.ts.map +1 -1
- package/lib/tree/nodes/geometry/vectorNode.js +7 -0
- package/lib/tree/nodes/inequations/inequationNode.d.ts +1 -0
- package/lib/tree/nodes/inequations/inequationNode.d.ts.map +1 -1
- package/lib/tree/nodes/inequations/inequationNode.js +7 -0
- package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts +1 -0
- package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts.map +1 -1
- package/lib/tree/nodes/inequations/inequationSolutionNode.js +7 -0
- package/lib/tree/nodes/node.d.ts +2 -1
- package/lib/tree/nodes/node.d.ts.map +1 -1
- package/lib/tree/nodes/node.js +2 -0
- package/lib/tree/nodes/nodeConstructor.d.ts.map +1 -1
- package/lib/tree/nodes/nodeConstructor.js +4 -0
- package/lib/tree/nodes/numbers/percentNode.d.ts +1 -0
- package/lib/tree/nodes/numbers/percentNode.d.ts.map +1 -1
- package/lib/tree/nodes/numbers/percentNode.js +7 -0
- package/lib/tree/nodes/operators/addNode.d.ts +1 -0
- package/lib/tree/nodes/operators/addNode.d.ts.map +1 -1
- package/lib/tree/nodes/operators/addNode.js +7 -0
- package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts +4 -3
- package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts.map +1 -1
- package/lib/tree/nodes/operators/binomialCoefficientNode.js +24 -5
- package/lib/tree/nodes/operators/divideNode.d.ts +1 -0
- package/lib/tree/nodes/operators/divideNode.d.ts.map +1 -1
- package/lib/tree/nodes/operators/divideNode.js +7 -0
- package/lib/tree/nodes/operators/fractionNode.d.ts +1 -0
- package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
- package/lib/tree/nodes/operators/fractionNode.js +7 -0
- package/lib/tree/nodes/operators/limitNode.d.ts +1 -0
- package/lib/tree/nodes/operators/limitNode.d.ts.map +1 -1
- package/lib/tree/nodes/operators/limitNode.js +7 -0
- package/lib/tree/nodes/operators/multiplyNode.d.ts +1 -0
- package/lib/tree/nodes/operators/multiplyNode.d.ts.map +1 -1
- package/lib/tree/nodes/operators/multiplyNode.js +7 -0
- package/lib/tree/nodes/operators/powerNode.d.ts +1 -0
- package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
- package/lib/tree/nodes/operators/powerNode.js +7 -0
- package/lib/tree/nodes/operators/substractNode.d.ts +1 -0
- package/lib/tree/nodes/operators/substractNode.d.ts.map +1 -1
- package/lib/tree/nodes/operators/substractNode.js +7 -0
- package/lib/tree/nodes/polynomials/monomNode.d.ts +1 -0
- package/lib/tree/nodes/polynomials/monomNode.d.ts.map +1 -1
- package/lib/tree/nodes/polynomials/monomNode.js +7 -0
- package/lib/tree/nodes/polynomials/trinomNode.d.ts +1 -0
- package/lib/tree/nodes/polynomials/trinomNode.d.ts.map +1 -1
- package/lib/tree/nodes/polynomials/trinomNode.js +7 -0
- package/lib/tree/nodes/sets/belongsNode.d.ts +1 -0
- package/lib/tree/nodes/sets/belongsNode.d.ts.map +1 -1
- package/lib/tree/nodes/sets/belongsNode.js +7 -0
- package/lib/tree/nodes/sets/discreteSetNode.d.ts +1 -0
- package/lib/tree/nodes/sets/discreteSetNode.d.ts.map +1 -1
- package/lib/tree/nodes/sets/discreteSetNode.js +7 -0
- package/lib/tree/nodes/sets/intervalNode.d.ts +1 -0
- package/lib/tree/nodes/sets/intervalNode.d.ts.map +1 -1
- package/lib/tree/nodes/sets/intervalNode.js +7 -0
- package/lib/tree/nodes/sets/unionIntervalNode.d.ts +1 -0
- package/lib/tree/nodes/sets/unionIntervalNode.d.ts.map +1 -1
- package/lib/tree/nodes/sets/unionIntervalNode.js +7 -0
- package/lib/tree/nodes/variables/variableNode.d.ts +1 -0
- package/lib/tree/nodes/variables/variableNode.d.ts.map +1 -1
- package/lib/tree/nodes/variables/variableNode.js +7 -0
- package/lib/tree/parsers/vectorParser.d.ts.map +1 -1
- package/lib/tree/parsers/vectorParser.js +8 -0
- package/lib/tree/utilities/nodeShuffler.d.ts.map +1 -1
- package/lib/tree/utilities/nodeShuffler.js +3 -0
- package/lib/tree/utilities/nodeSimplifier.d.ts.map +1 -1
- package/lib/tree/utilities/nodeSimplifier.js +3 -0
- package/package.json +1 -1
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { addValidProp, tryToAddWrongProp, GeneratorOptionTarget, GeneratorOptionType, shuffleProps, } from "../../../../exercises/exercise.js";
|
|
2
|
+
import { getOptionFirstTermRankOneStuff, } from "../../../../exercises/options/optionFirstTermRankOne.js";
|
|
3
|
+
import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
|
|
4
|
+
import { nodeBySubstitutingVar } from "../../../../math/utils/functions/functionComposition.js";
|
|
5
|
+
import { unfrenchify } from "../../../../math/utils/latex/unfrenchify.js";
|
|
6
|
+
import { randint } from "../../../../math/utils/random/randint.js";
|
|
7
|
+
import { add } from "../../../../tree/nodes/operators/addNode.js";
|
|
8
|
+
import { multiply } from "../../../../tree/nodes/operators/multiplyNode.js";
|
|
9
|
+
import { coinFlip } from "../../../../utils/alea/coinFlip.js";
|
|
10
|
+
import { random } from "../../../../utils/alea/random.js";
|
|
11
|
+
import { alignTex } from "../../../../utils/latex/alignTex.js";
|
|
12
|
+
const getNodeUNext = (coeffs) => {
|
|
13
|
+
const [a, b] = coeffs;
|
|
14
|
+
const nodeUn = "u_{n}".toTree();
|
|
15
|
+
return add(multiply(a, nodeUn), b);
|
|
16
|
+
};
|
|
17
|
+
const computeNodeNext = (nodeUNext, nodeU) => {
|
|
18
|
+
return nodeBySubstitutingVar(nodeUNext, nodeU, "u_{n}".toTree());
|
|
19
|
+
};
|
|
20
|
+
const getDictSequenceSlice = (coeffs, rank1, value1, rankAsked) => {
|
|
21
|
+
const nodeUNext = getNodeUNext(coeffs);
|
|
22
|
+
return [...Array(rankAsked - rank1).keys()]
|
|
23
|
+
.map((i) => rank1 + 1 + i)
|
|
24
|
+
.reduce((acc, rank) => {
|
|
25
|
+
acc[rank] = computeNodeNext(nodeUNext, acc[rank - 1].simplify());
|
|
26
|
+
return acc;
|
|
27
|
+
}, { [rank1]: value1.toTree() });
|
|
28
|
+
};
|
|
29
|
+
const getInstruction = (identifiers) => {
|
|
30
|
+
const { rank1, value1, coeffs, rankAsked } = identifiers;
|
|
31
|
+
return `$(u_n)$ est une suite définie par, pour $n\\geq 1$ :
|
|
32
|
+
|
|
33
|
+
$$
|
|
34
|
+
u_{n+1} = ${getNodeUNext(coeffs).toTex()}
|
|
35
|
+
$$
|
|
36
|
+
|
|
37
|
+
et $u_{${rank1}} = ${value1}$.
|
|
38
|
+
|
|
39
|
+
Calculer le terme $u_{${rankAsked}}$.`;
|
|
40
|
+
};
|
|
41
|
+
const getStartStatement = (identifiers) => {
|
|
42
|
+
const { rank1 } = identifiers;
|
|
43
|
+
const askedRank = rank1 + 1;
|
|
44
|
+
return `u_{${askedRank}}`;
|
|
45
|
+
};
|
|
46
|
+
const getAnswerStuff = (identifiers) => {
|
|
47
|
+
const { rank1, value1, coeffs, rankAsked } = identifiers;
|
|
48
|
+
const dictSequenceSlice = getDictSequenceSlice(coeffs, rank1, value1, rankAsked);
|
|
49
|
+
return {
|
|
50
|
+
dictSequenceSlice,
|
|
51
|
+
answerNode: dictSequenceSlice[rankAsked],
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
const getAnswer = (identifiers) => {
|
|
55
|
+
return getAnswerStuff(identifiers).answerNode.simplify().toTex();
|
|
56
|
+
};
|
|
57
|
+
const getHint = (identifiers) => {
|
|
58
|
+
const { rank1, rankAsked } = identifiers;
|
|
59
|
+
const distanceRankAsked = rankAsked - rank1;
|
|
60
|
+
if (distanceRankAsked === 1) {
|
|
61
|
+
return `Il suffit de remplacer $n$ par $${rankAsked - 1}$ dans la formule de récurrence de la suite $u$.`;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
return `Remplace $n$ par $${rank1}$ dans la formule de récurrence de la suite $u$ pour calculer $u_{${rank1 + 1}}$.
|
|
65
|
+
Puis continue ainsi de suite jusqu'à trouver $u_{${rankAsked}}$`;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
const getCorrection = (identifiers) => {
|
|
69
|
+
const { rank1, rankAsked, coeffs } = identifiers;
|
|
70
|
+
const answerStuff = getAnswerStuff(identifiers);
|
|
71
|
+
const dictSequenceSlice = answerStuff.dictSequenceSlice;
|
|
72
|
+
delete dictSequenceSlice[rank1];
|
|
73
|
+
return `On utilise la formule de récurrence, jusqu'à trouver $u_{${rankAsked}}$ :
|
|
74
|
+
|
|
75
|
+
${Object.entries(dictSequenceSlice).map(([strRank, node]) => {
|
|
76
|
+
const nodeUPrev = `u_{${Number(strRank) - 1}}`.toTree();
|
|
77
|
+
return `${alignTex([
|
|
78
|
+
[
|
|
79
|
+
`u_{${strRank}}`,
|
|
80
|
+
"=",
|
|
81
|
+
computeNodeNext(getNodeUNext(coeffs), nodeUPrev).toTex(),
|
|
82
|
+
],
|
|
83
|
+
["", "=", node.toTex()],
|
|
84
|
+
["", "=", node.simplify().toTex()],
|
|
85
|
+
])}`;
|
|
86
|
+
}).join(`
|
|
87
|
+
|
|
88
|
+
`)}
|
|
89
|
+
|
|
90
|
+
`;
|
|
91
|
+
};
|
|
92
|
+
const getPropositions = (n, { answer, ...identifiers }, optsIn) => {
|
|
93
|
+
const opts = optsIn ?? optsDefault;
|
|
94
|
+
const firstRank = opts.firstTermRankOne ? 1 : 0;
|
|
95
|
+
const propositions = [];
|
|
96
|
+
addValidProp(propositions, answer);
|
|
97
|
+
const { rank1, rankAsked, coeffs } = identifiers;
|
|
98
|
+
const arrAnswerWrong = [];
|
|
99
|
+
//too short / too far
|
|
100
|
+
{
|
|
101
|
+
const arrRankBelow = [...Array(2).keys()]
|
|
102
|
+
.map((i) => i + 1)
|
|
103
|
+
.map((i) => rankAsked - i)
|
|
104
|
+
.filter((rank) => rank > rank1);
|
|
105
|
+
const arrRankAbove = [rankAsked + 1];
|
|
106
|
+
[...arrRankBelow, ...arrRankAbove].forEach((rankWrong) => {
|
|
107
|
+
const identifiersWrong = Object.assign({}, identifiers, {
|
|
108
|
+
rankAsked: rankWrong,
|
|
109
|
+
});
|
|
110
|
+
const texWrong = getAnswer(identifiersWrong);
|
|
111
|
+
tryToAddWrongProp(propositions, texWrong);
|
|
112
|
+
arrAnswerWrong.push(texWrong);
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
//student: u_n -> n
|
|
116
|
+
{
|
|
117
|
+
const nodeWrong = computeNodeNext(getNodeUNext(coeffs), (rankAsked - 1).toTree()).simplify();
|
|
118
|
+
const texWrong = nodeWrong.toTex();
|
|
119
|
+
tryToAddWrongProp(propositions, texWrong);
|
|
120
|
+
arrAnswerWrong.push(texWrong);
|
|
121
|
+
}
|
|
122
|
+
//student: u_{rank1} -> u_{firstRank}
|
|
123
|
+
{
|
|
124
|
+
const identifiersWrong = Object.assign({}, identifiers, {
|
|
125
|
+
rank1: firstRank,
|
|
126
|
+
});
|
|
127
|
+
const texWrong = getAnswer(identifiersWrong);
|
|
128
|
+
tryToAddWrongProp(propositions, texWrong);
|
|
129
|
+
arrAnswerWrong.push(texWrong);
|
|
130
|
+
}
|
|
131
|
+
//terror
|
|
132
|
+
if (coinFlip()) {
|
|
133
|
+
const answerRandom = random([answer, ...arrAnswerWrong]);
|
|
134
|
+
const answerTerror = unfrenchify(answerRandom) + randint(-25, 26, [0]).frenchify();
|
|
135
|
+
tryToAddWrongProp(propositions, answerTerror);
|
|
136
|
+
}
|
|
137
|
+
return shuffleProps(propositions, n);
|
|
138
|
+
};
|
|
139
|
+
const isAnswerValid = (ans, { answer, rank1 }) => {
|
|
140
|
+
return [
|
|
141
|
+
answer,
|
|
142
|
+
`u_${rank1 + 1}=${answer}`,
|
|
143
|
+
`u_{${rank1 + 1}}=${answer}`,
|
|
144
|
+
].includes(ans);
|
|
145
|
+
};
|
|
146
|
+
const getSeqArithmGeomRecurrenceFormulaUsageQuestion = (optsIn) => {
|
|
147
|
+
const opts = optsIn ?? optsDefault;
|
|
148
|
+
const firstRank = opts.firstTermRankOne ? 1 : 0;
|
|
149
|
+
const distanceOfRankAsked = Number(opts.distanceOfRankAsked);
|
|
150
|
+
const rank1 = randint(firstRank, 20);
|
|
151
|
+
const value1 = randint(-10, 10);
|
|
152
|
+
const a = randint(-10, 10, [0]);
|
|
153
|
+
const b = randint(-10, 10, [0]);
|
|
154
|
+
const coeffs = [a, b];
|
|
155
|
+
const rankAsked = rank1 + distanceOfRankAsked;
|
|
156
|
+
const identifiers = { rank1, value1, coeffs, rankAsked };
|
|
157
|
+
return getQuestionFromIdentifiers(identifiers);
|
|
158
|
+
};
|
|
159
|
+
const getQuestionFromIdentifiers = (identifiers, opts) => {
|
|
160
|
+
const question = {
|
|
161
|
+
instruction: getInstruction(identifiers, opts),
|
|
162
|
+
startStatement: getStartStatement(identifiers, opts),
|
|
163
|
+
answer: getAnswer(identifiers, opts),
|
|
164
|
+
keys: [],
|
|
165
|
+
answerFormat: "tex",
|
|
166
|
+
identifiers,
|
|
167
|
+
hint: getHint(identifiers, opts),
|
|
168
|
+
correction: getCorrection(identifiers, opts),
|
|
169
|
+
options: opts,
|
|
170
|
+
};
|
|
171
|
+
return question;
|
|
172
|
+
};
|
|
173
|
+
const { optsDefaultFirstTermRankOne, generatorOptionFirstTermRankOne } = getOptionFirstTermRankOneStuff(false);
|
|
174
|
+
const optsDefault = Object.assign({}, optsDefaultFirstTermRankOne, {
|
|
175
|
+
distanceOfRankAsked: "1",
|
|
176
|
+
});
|
|
177
|
+
const options = [
|
|
178
|
+
generatorOptionFirstTermRankOne,
|
|
179
|
+
{
|
|
180
|
+
id: "distanceOfRankAsked",
|
|
181
|
+
label: "nombre de rangs d'écart",
|
|
182
|
+
target: GeneratorOptionTarget.generation,
|
|
183
|
+
type: GeneratorOptionType.select,
|
|
184
|
+
values: ["1", "2", "3"],
|
|
185
|
+
defaultValue: optsDefault.distanceOfRankAsked,
|
|
186
|
+
},
|
|
187
|
+
];
|
|
188
|
+
export const seqArithmGeomRecurrenceFormulaUsage = {
|
|
189
|
+
id: "seqArithmGeomRecurrenceFormulaUsage",
|
|
190
|
+
connector: "=",
|
|
191
|
+
label: "Utiliser la formule de récurrence d'une suite arithmético-géométrique",
|
|
192
|
+
isSingleStep: false,
|
|
193
|
+
generator: (nb, opts) => getDistinctQuestions(() => getSeqArithmGeomRecurrenceFormulaUsageQuestion(opts), nb),
|
|
194
|
+
options,
|
|
195
|
+
qcmTimer: 60,
|
|
196
|
+
freeTimer: 60,
|
|
197
|
+
getPropositions,
|
|
198
|
+
isAnswerValid,
|
|
199
|
+
subject: "Mathématiques",
|
|
200
|
+
getQuestionFromIdentifiers,
|
|
201
|
+
hasHintAndCorrection: true,
|
|
202
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placeAssociateAngleOnCircle.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAerC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"placeAssociateAngleOnCircle.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAerC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AA0LF,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,WAAW,CAqB7D,CAAC"}
|
|
@@ -124,8 +124,6 @@ const isGGBAnswerValid = (ans, { ggbAnswer, ...identifiers }) => {
|
|
|
124
124
|
.map((p) => ggbPointToCoords(p))
|
|
125
125
|
.map((coords, i) => new Point(`K_${i}`, coords.x, coords.y));
|
|
126
126
|
const answerPoint = getAnswerPoint(identifiers);
|
|
127
|
-
console.log(points.map((e) => [e.x.toTex(), e.y.toTex()]));
|
|
128
|
-
console.log(answerPoint.x.toTex(), answerPoint.y.toTex());
|
|
129
127
|
return (points.length < 5 &&
|
|
130
128
|
points.some((point) => point.distanceTo(answerPoint) < 0.1));
|
|
131
129
|
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { GeneratorOptionTarget, GeneratorOptionType } from "../exercise.js";
|
|
2
|
+
export type OptionFirstTermRankOne = {
|
|
3
|
+
firstTermRankOne: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare const getOptionFirstTermRankOneStuff: (isFirstTermRankOneDefault?: boolean) => {
|
|
6
|
+
generatorOptionFirstTermRankOne: {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
type: GeneratorOptionType.checkbox;
|
|
10
|
+
target: GeneratorOptionTarget;
|
|
11
|
+
tooltipText?: string;
|
|
12
|
+
defaultValue?: boolean;
|
|
13
|
+
};
|
|
14
|
+
optsDefaultFirstTermRankOne: OptionFirstTermRankOne;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=optionFirstTermRankOne.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optionFirstTermRankOne.d.ts","sourceRoot":"","sources":["../../../src/exercises/options/optionFirstTermRankOne.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,4BAA2B,OAAe;;;;;;;;;;CAkB3C,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { GeneratorOptionTarget, GeneratorOptionType, } from "../exercise.js";
|
|
2
|
+
export const getOptionFirstTermRankOneStuff = (isFirstTermRankOneDefault = false) => {
|
|
3
|
+
const optsDefaultFirstTermRankOne = {
|
|
4
|
+
firstTermRankOne: isFirstTermRankOneDefault,
|
|
5
|
+
};
|
|
6
|
+
const generatorOptionFirstTermRankOne = {
|
|
7
|
+
id: "firstTermRankOne",
|
|
8
|
+
label: "Utiliser $u_1$ comme premier terme",
|
|
9
|
+
target: GeneratorOptionTarget.generation,
|
|
10
|
+
type: GeneratorOptionType.checkbox,
|
|
11
|
+
defaultValue: isFirstTermRankOneDefault,
|
|
12
|
+
};
|
|
13
|
+
return {
|
|
14
|
+
generatorOptionFirstTermRankOne,
|
|
15
|
+
optsDefaultFirstTermRankOne,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { GeneratorOptionTarget, GeneratorOptionType } from "../exercise.js";
|
|
2
|
+
export type OptionIsUsePythonDef = {
|
|
3
|
+
isUsePythonDef: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare const getOptionIsUsePythonDefStuff: (isUsePythonDefDefault?: boolean) => {
|
|
6
|
+
generatorOptionIsUsePythonDef: {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
type: GeneratorOptionType.checkbox;
|
|
10
|
+
target: GeneratorOptionTarget;
|
|
11
|
+
tooltipText?: string;
|
|
12
|
+
defaultValue?: boolean;
|
|
13
|
+
};
|
|
14
|
+
optsDefaultIsUsePythonDef: OptionIsUsePythonDef;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=optionIsUsePythonDef.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optionIsUsePythonDef.d.ts","sourceRoot":"","sources":["../../../src/exercises/options/optionIsUsePythonDef.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,wBAAuB,OAAe;;;;;;;;;;CAkBvC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { GeneratorOptionTarget, GeneratorOptionType, } from "../exercise.js";
|
|
2
|
+
export const getOptionIsUsePythonDefStuff = (isUsePythonDefDefault = false) => {
|
|
3
|
+
const optsDefaultIsUsePythonDef = {
|
|
4
|
+
isUsePythonDef: isUsePythonDefDefault,
|
|
5
|
+
};
|
|
6
|
+
const generatorOptionIsUsePythonDef = {
|
|
7
|
+
id: "isUsePythonDef",
|
|
8
|
+
label: "Utiliser def <fonction>:",
|
|
9
|
+
target: GeneratorOptionTarget.generation,
|
|
10
|
+
type: GeneratorOptionType.checkbox,
|
|
11
|
+
defaultValue: optsDefaultIsUsePythonDef.isUsePythonDef,
|
|
12
|
+
};
|
|
13
|
+
return {
|
|
14
|
+
generatorOptionIsUsePythonDef,
|
|
15
|
+
optsDefaultIsUsePythonDef,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { GeneratorOptionTarget, GeneratorOptionType } from "../exercise.js";
|
|
2
|
+
export type OptionIsWithSuperfluousData = {
|
|
3
|
+
isWithSuperfluousData: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare const getOptionIsWithSuperfluousData: (isWithSuperfluousData?: boolean) => {
|
|
6
|
+
generatorOptionIsWithSuperfluousData: {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
type: GeneratorOptionType.checkbox;
|
|
10
|
+
target: GeneratorOptionTarget;
|
|
11
|
+
tooltipText?: string;
|
|
12
|
+
defaultValue?: boolean;
|
|
13
|
+
};
|
|
14
|
+
optsDefaultIsWithSuperfluousData: OptionIsWithSuperfluousData;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=optionIsWithSuperfluousData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optionIsWithSuperfluousData.d.ts","sourceRoot":"","sources":["../../../src/exercises/options/optionIsWithSuperfluousData.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,2BAA2B,GAAG;IACxC,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,wBAAuB,OAAe;;;;;;;;;;CAkBvC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { GeneratorOptionTarget, GeneratorOptionType, } from "../exercise.js";
|
|
2
|
+
export const getOptionIsWithSuperfluousData = (isWithSuperfluousData = false) => {
|
|
3
|
+
const optsDefaultIsWithSuperfluousData = {
|
|
4
|
+
isWithSuperfluousData,
|
|
5
|
+
};
|
|
6
|
+
const generatorOptionIsWithSuperfluousData = {
|
|
7
|
+
id: "isWithSuperfluousData",
|
|
8
|
+
label: "Ajouter des données superflues",
|
|
9
|
+
target: GeneratorOptionTarget.generation,
|
|
10
|
+
type: GeneratorOptionType.checkbox,
|
|
11
|
+
defaultValue: optsDefaultIsWithSuperfluousData.isWithSuperfluousData,
|
|
12
|
+
};
|
|
13
|
+
return {
|
|
14
|
+
generatorOptionIsWithSuperfluousData,
|
|
15
|
+
optsDefaultIsWithSuperfluousData,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toGGBCommandsProps.d.ts","sourceRoot":"","sources":["../../../../src/exercises/utils/geogebra/toGGBCommandsProps.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"toGGBCommandsProps.d.ts","sourceRoot":"","sources":["../../../../src/exercises/utils/geogebra/toGGBCommandsProps.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colinearVectorVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/colinearVectorVEA.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,GAAI,YAAY,MAAM,EAAE,QAAQ,MAAM,YAQnE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { vectorParser } from "../../tree/parsers/vectorParser.js";
|
|
2
|
+
export const colinearVectorVEA = (studentAns, answer) => {
|
|
3
|
+
const vec = vectorParser(studentAns);
|
|
4
|
+
if (!vec) {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
const solVector = vectorParser(answer);
|
|
8
|
+
if (!solVector)
|
|
9
|
+
throw new Error("answer malformed in colinearVectorVEA");
|
|
10
|
+
return solVector.isColinear(vec);
|
|
11
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rationalVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/rationalVEA.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rationalVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/rationalVEA.ts"],"names":[],"mappings":"AAOA,KAAK,IAAI,GAAG;IACV,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AACF,eAAO,MAAM,WAAW,GACtB,YAAY,MAAM,EAClB,QAAQ,MAAM,EACd,2DAA0D,IAIzD,YAkCF,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { round } from "../../math/utils/round.js";
|
|
1
2
|
import { isNumberNode } from "../../tree/nodes/numbers/numberNode.js";
|
|
2
3
|
import { parseAlgebraic } from "../../tree/parsers/latexParser.js";
|
|
3
4
|
import { rationalParser } from "../../tree/parsers/rationalParser.js";
|
|
4
5
|
import { handleVEAError } from "../../utils/errors/handleVEAError.js";
|
|
5
6
|
export const rationalVEA = (studentAns, answer, { allowNonIrreductible, decimalPrecision, allowDecimal } = {
|
|
6
7
|
allowNonIrreductible: true,
|
|
7
|
-
decimalPrecision:
|
|
8
|
+
decimalPrecision: 2,
|
|
8
9
|
allowDecimal: true,
|
|
9
10
|
}) => {
|
|
10
11
|
allowDecimal = allowDecimal ?? true;
|
|
@@ -23,8 +24,11 @@ export const rationalVEA = (studentAns, answer, { allowNonIrreductible, decimalP
|
|
|
23
24
|
else {
|
|
24
25
|
//! accepte bien les arrondis au centième par ex, mais va aussi accepter les arrondis au millième
|
|
25
26
|
//! je juge ca ok
|
|
26
|
-
return (
|
|
27
|
-
|
|
27
|
+
return (round(parsed.evaluate(), decimalPrecision) ===
|
|
28
|
+
round(parsedAnswer.evaluate(), decimalPrecision)
|
|
29
|
+
// Math.abs(parsed.evaluate() - parsedAnswer.evaluate()) <
|
|
30
|
+
// Math.pow(10, -decimalPrecision)
|
|
31
|
+
);
|
|
28
32
|
}
|
|
29
33
|
}
|
|
30
34
|
else if (allowNonIrreductible) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"varLineVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/varLineVEA.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,EAAE,EAAE,aAAa,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"varLineVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/varLineVEA.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,EAAE,EAAE,aAAa,MAAM,EAAE,EAAE,YAmClE,CAAC"}
|
|
@@ -12,9 +12,12 @@ export const varLineVEA = (ans, answerTable) => {
|
|
|
12
12
|
for (let i = 1; i < table[0].length; i++) {
|
|
13
13
|
const value = [table[0][i], table[1][i], table[2][i]].filter(isValue);
|
|
14
14
|
//plusieurs valeurs dans une même colonne
|
|
15
|
-
if (value.
|
|
15
|
+
if (value.every((el) => el === "\\ "))
|
|
16
|
+
flattenedAns.push("\\ ");
|
|
17
|
+
else if (value.length !== 1)
|
|
16
18
|
return false;
|
|
17
|
-
|
|
19
|
+
else
|
|
20
|
+
flattenedAns.push(value[0]);
|
|
18
21
|
}
|
|
19
22
|
return flattenedAns;
|
|
20
23
|
};
|
|
@@ -37,7 +40,8 @@ export const varLineVEA = (ans, answerTable) => {
|
|
|
37
40
|
continue;
|
|
38
41
|
}
|
|
39
42
|
else {
|
|
40
|
-
return
|
|
43
|
+
return ((!isValue(value) && !isValue(flattenedAnswerTable[i])) ||
|
|
44
|
+
rationalVEA(value, flattenedAnswerTable[i]));
|
|
41
45
|
}
|
|
42
46
|
}
|
|
43
47
|
return true;
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param ans
|
|
4
|
+
* @param answerTable
|
|
5
|
+
* @returns
|
|
6
|
+
* gère les trois lignes de variation comme une seule
|
|
7
|
+
* par défaut rationalVEA un peu partout
|
|
8
|
+
*/
|
|
1
9
|
export declare const varSignTableVEA: (ans: string[][], answerTable: string[][]) => boolean;
|
|
2
10
|
//# sourceMappingURL=varSignTableVEA.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"varSignTableVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/varSignTableVEA.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,EAAE,EAAE,EAAE,aAAa,MAAM,EAAE,EAAE,YAMvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"varSignTableVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/varSignTableVEA.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,EAAE,EAAE,EAAE,aAAa,MAAM,EAAE,EAAE,YAMvE,CAAC"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { signLineVEA } from "./signLineVEA.js";
|
|
2
2
|
import { varLineVEA } from "./varLineVEA.js";
|
|
3
3
|
import { xTableLineVEA } from "./xTableLineVEA.js";
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* @param ans
|
|
7
|
+
* @param answerTable
|
|
8
|
+
* @returns
|
|
9
|
+
* gère les trois lignes de variation comme une seule
|
|
10
|
+
* par défaut rationalVEA un peu partout
|
|
11
|
+
*/
|
|
4
12
|
export const varSignTableVEA = (ans, answerTable) => {
|
|
5
13
|
return (xTableLineVEA(ans[0], answerTable[0]) &&
|
|
6
14
|
signLineVEA(ans[1], answerTable[1]) &&
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @param ans ligne des x du student
|
|
4
4
|
* @param answerTable ligne des x de la réponse
|
|
5
5
|
* cette fonction ne check que la ligne des x dans un tableau de variations / signes
|
|
6
|
+
* TODO passer en argument le VEA check qui est ajd fixé à rationalVEA
|
|
6
7
|
*/
|
|
7
8
|
export declare const xTableLineVEA: (ans: string[], answerTable: string[]) => boolean;
|
|
8
9
|
//# sourceMappingURL=xTableLineVEA.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xTableLineVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/xTableLineVEA.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"xTableLineVEA.d.ts","sourceRoot":"","sources":["../../../src/exercises/vea/xTableLineVEA.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,EAAE,aAAa,MAAM,EAAE,YAYjE,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @param ans ligne des x du student
|
|
4
4
|
* @param answerTable ligne des x de la réponse
|
|
5
5
|
* cette fonction ne check que la ligne des x dans un tableau de variations / signes
|
|
6
|
+
* TODO passer en argument le VEA check qui est ajd fixé à rationalVEA
|
|
6
7
|
*/
|
|
7
8
|
import { rationalVEA } from "./rationalVEA.js";
|
|
8
9
|
export const xTableLineVEA = (ans, answerTable) => {
|
package/lib/index.d.ts
CHANGED
|
@@ -1504,8 +1504,11 @@ declare const mathExercises: (Exercise<{
|
|
|
1504
1504
|
a: number;
|
|
1505
1505
|
b: number;
|
|
1506
1506
|
c: number;
|
|
1507
|
-
isDevForm
|
|
1508
|
-
|
|
1507
|
+
isDevForm?: boolean;
|
|
1508
|
+
form: "cano" | "dev" | "facto";
|
|
1509
|
+
}, {
|
|
1510
|
+
form: string[];
|
|
1511
|
+
}> | Exercise<{
|
|
1509
1512
|
a: number;
|
|
1510
1513
|
b: number;
|
|
1511
1514
|
c: number;
|
|
@@ -1537,6 +1540,17 @@ declare const mathExercises: (Exercise<{
|
|
|
1537
1540
|
x1: number;
|
|
1538
1541
|
x2: number;
|
|
1539
1542
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
1543
|
+
coeffs: number[];
|
|
1544
|
+
initTable: string[][];
|
|
1545
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
1546
|
+
a: number;
|
|
1547
|
+
b: number;
|
|
1548
|
+
c: number;
|
|
1549
|
+
k: number;
|
|
1550
|
+
}, {
|
|
1551
|
+
isAskingRoots: boolean;
|
|
1552
|
+
nbSols: string[];
|
|
1553
|
+
}> | Exercise<{
|
|
1540
1554
|
width: number;
|
|
1541
1555
|
height: number;
|
|
1542
1556
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
@@ -2103,17 +2117,75 @@ declare const mathExercises: (Exercise<{
|
|
|
2103
2117
|
rotationAngle: number;
|
|
2104
2118
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2105
2119
|
triangleIdentifiers: import("./math/geometry/triangles/triangle.js").TriangleIdentifiers;
|
|
2120
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2121
|
+
pointsIdentifiers: import("./math/geometry/point.js").PointIdentifiers[];
|
|
2122
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2123
|
+
uIds: import("./math/geometry/vector.js").VectorIdentifiers;
|
|
2124
|
+
vIds: import("./math/geometry/vector.js").VectorIdentifiers;
|
|
2125
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2126
|
+
vecIds1: import("./math/geometry/vector.js").VectorIdentifiers;
|
|
2127
|
+
vecIds2: import("./math/geometry/vector.js").VectorIdentifiers;
|
|
2128
|
+
pointIds1A: import("./math/geometry/point.js").PointIdentifiers;
|
|
2129
|
+
pointIds2A: import("./math/geometry/point.js").PointIdentifiers;
|
|
2130
|
+
isVec1OnAxis: boolean;
|
|
2131
|
+
isOnAxisX: boolean;
|
|
2132
|
+
}, {
|
|
2133
|
+
isSameStartPoint: boolean;
|
|
2134
|
+
}> | Exercise<{
|
|
2135
|
+
pointIds: import("./math/geometry/point.js").PointIdentifiers[];
|
|
2136
|
+
}, {
|
|
2137
|
+
sectorOfPointH: string;
|
|
2138
|
+
isPositiveCoordsOnly: boolean;
|
|
2139
|
+
}> | Exercise<{
|
|
2140
|
+
pointIds: import("./math/geometry/point.js").PointIdentifiers[];
|
|
2106
2141
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2107
2142
|
type: number;
|
|
2108
2143
|
normU: number;
|
|
2109
2144
|
normV: number;
|
|
2110
2145
|
udotv: number;
|
|
2111
2146
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2112
|
-
|
|
2147
|
+
nodeIdsUDotV: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
|
|
2148
|
+
nodeIdsA: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
|
|
2149
|
+
nodeIdsB: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
|
|
2150
|
+
}, {
|
|
2151
|
+
isSignOnly: boolean;
|
|
2152
|
+
}> | Exercise<{
|
|
2153
|
+
nodeIdsU: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
|
|
2154
|
+
nodeIdsV: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
|
|
2113
2155
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2114
|
-
|
|
2115
|
-
|
|
2156
|
+
nodeIdsU: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
|
|
2157
|
+
nodeIdsV: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
|
|
2158
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2159
|
+
vecIdsU: import("./math/geometry/vector.js").VectorIdentifiers;
|
|
2160
|
+
vecIdsV: import("./math/geometry/vector.js").VectorIdentifiers;
|
|
2161
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2162
|
+
vecIdsU: import("./math/geometry/vector.js").VectorIdentifiers;
|
|
2163
|
+
vecIdsV: import("./math/geometry/vector.js").VectorIdentifiers;
|
|
2164
|
+
pointIds: import("./math/geometry/point.js").PointIdentifiers;
|
|
2165
|
+
pointNames: string[];
|
|
2166
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2167
|
+
vecIdsU: import("./math/geometry/vector.js").VectorIdentifiers;
|
|
2168
|
+
vecIdsV: import("./math/geometry/vector.js").VectorIdentifiers;
|
|
2169
|
+
pointIds: import("./math/geometry/point.js").PointIdentifiers;
|
|
2170
|
+
pointNames: string[];
|
|
2171
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2172
|
+
vecIdsU: import("./math/geometry/vector.js").VectorIdentifiers;
|
|
2173
|
+
vecIdsV: import("./math/geometry/vector.js").VectorIdentifiers;
|
|
2174
|
+
pointIds: import("./math/geometry/point.js").PointIdentifiers;
|
|
2175
|
+
pointNames: string[];
|
|
2176
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2177
|
+
triangleIds: import("./math/geometry/triangles/triangle.js").TriangleIdentifiers;
|
|
2178
|
+
indexAngle: number;
|
|
2179
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2180
|
+
triangleIds: import("./math/geometry/triangles/triangle.js").TriangleIdentifiers;
|
|
2181
|
+
indexSide: number;
|
|
2116
2182
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2183
|
+
sectorOfPointH: string;
|
|
2184
|
+
triangleIds: import("./math/geometry/triangles/triangle.js").TriangleIdentifiers;
|
|
2185
|
+
pointIdsH: import("./math/geometry/point.js").PointIdentifiers;
|
|
2186
|
+
}, {
|
|
2187
|
+
sectorOfPointH: string;
|
|
2188
|
+
}> | Exercise<{
|
|
2117
2189
|
xA: number;
|
|
2118
2190
|
xB: number;
|
|
2119
2191
|
xC: number;
|
|
@@ -2503,6 +2575,12 @@ declare const mathExercises: (Exercise<{
|
|
|
2503
2575
|
BIds: import("./math/geometry/point.js").PointIdentifiers;
|
|
2504
2576
|
CIds: import("./math/geometry/point.js").PointIdentifiers;
|
|
2505
2577
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
2578
|
+
point1Ids: import("./math/geometry/point.js").PointIdentifiers;
|
|
2579
|
+
point2Ids: import("./math/geometry/point.js").PointIdentifiers;
|
|
2580
|
+
point3Ids?: import("./math/geometry/point.js").PointIdentifiers;
|
|
2581
|
+
}, {
|
|
2582
|
+
withoutPerp: boolean;
|
|
2583
|
+
}> | Exercise<{
|
|
2506
2584
|
triangleIdentifiers: import("./math/geometry/triangles/triangle.js").TriangleIdentifiers;
|
|
2507
2585
|
type: number;
|
|
2508
2586
|
useAngles: boolean;
|
|
@@ -3002,6 +3080,27 @@ declare const mathExercises: (Exercise<{
|
|
|
3002
3080
|
valuesIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
|
|
3003
3081
|
probasIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
|
|
3004
3082
|
intervalIds: import("./tree/nodes/sets/intervalNode.js").IntervalNodeIdentifiers;
|
|
3083
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3084
|
+
params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
|
|
3085
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3086
|
+
params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
|
|
3087
|
+
xi: number;
|
|
3088
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3089
|
+
params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
|
|
3090
|
+
}, {
|
|
3091
|
+
averageFormulation: string;
|
|
3092
|
+
}> | Exercise<{
|
|
3093
|
+
params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
|
|
3094
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3095
|
+
params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
|
|
3096
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3097
|
+
params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
|
|
3098
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3099
|
+
params: import("./exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js").SituationParams;
|
|
3100
|
+
initTable: string[][];
|
|
3101
|
+
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3102
|
+
xValues: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
|
|
3103
|
+
pValues: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers[];
|
|
3005
3104
|
}, Record<string, string | boolean | string[]>> | Exercise<{
|
|
3006
3105
|
pA: number;
|
|
3007
3106
|
pB: number;
|