math-exercises 2.2.2 → 2.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/exercises/exercise.d.ts +2 -1
- package/lib/exercises/exercise.d.ts.map +1 -1
- package/lib/exercises/math/calcul/proportionality/index.d.ts +2 -0
- package/lib/exercises/math/calcul/proportionality/index.d.ts.map +1 -1
- package/lib/exercises/math/calcul/proportionality/index.js +2 -0
- package/lib/exercises/math/calcul/proportionality/scaleCalculation.d.ts +9 -0
- package/lib/exercises/math/calcul/proportionality/scaleCalculation.d.ts.map +1 -0
- package/lib/exercises/math/calcul/proportionality/scaleCalculation.js +90 -0
- package/lib/exercises/math/calcul/proportionality/scaleUsage.d.ts +9 -0
- package/lib/exercises/math/calcul/proportionality/scaleUsage.d.ts.map +1 -0
- package/lib/exercises/math/calcul/proportionality/scaleUsage.js +95 -0
- package/lib/exercises/math/calculLitteral/distributivity/canonicalFormDevelopment.d.ts +7 -0
- package/lib/exercises/math/calculLitteral/distributivity/canonicalFormDevelopment.d.ts.map +1 -0
- package/lib/exercises/math/calculLitteral/distributivity/canonicalFormDevelopment.js +59 -0
- package/lib/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.d.ts +9 -0
- package/lib/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.d.ts.map +1 -0
- package/lib/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.js +77 -0
- package/lib/exercises/math/calculLitteral/distributivity/index.d.ts +2 -0
- package/lib/exercises/math/calculLitteral/distributivity/index.d.ts.map +1 -1
- package/lib/exercises/math/calculLitteral/distributivity/index.js +2 -0
- package/lib/exercises/math/conversion/lengthConversion.d.ts.map +1 -1
- package/lib/exercises/math/conversion/lengthConversion.js +18 -4
- package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.d.ts +10 -0
- package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.d.ts.map +1 -0
- package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.js +81 -0
- package/lib/exercises/math/functions/affines/index.d.ts +1 -0
- package/lib/exercises/math/functions/affines/index.d.ts.map +1 -1
- package/lib/exercises/math/functions/affines/index.js +1 -0
- package/lib/exercises/pc/calibrationCurveOfSolution.js +1 -1
- package/lib/exercises/pc/chemicalElements/atomicStructureOfNucleus.d.ts +1 -1
- package/lib/exercises/pc/chemicalElements/atomicStructureOfNucleus.d.ts.map +1 -1
- package/lib/exercises/pc/chemicalElements/atomicStructureOfNucleus.js +1 -1
- package/lib/exercises/pc/chemicalElements/calculateProtonsNumberFromMass.d.ts +1 -1
- package/lib/exercises/pc/chemicalElements/calculateProtonsNumberFromMass.d.ts.map +1 -1
- package/lib/exercises/pc/chemicalElements/calculateProtonsNumberFromMass.js +3 -3
- package/lib/exercises/pc/chemicalElements/calculateVolumetricMass.d.ts.map +1 -1
- package/lib/exercises/pc/chemicalElements/calculateVolumetricMass.js +29 -4
- package/lib/exercises/pc/chemicalElements/findAtomEntitiesNumberFromMass.d.ts +1 -1
- package/lib/exercises/pc/chemicalElements/findAtomEntitiesNumberFromMass.d.ts.map +1 -1
- package/lib/exercises/pc/chemicalElements/findAtomEntitiesNumberFromMass.js +6 -6
- package/lib/exercises/pc/chemicalElements/findAtomicStructureElement.d.ts +1 -1
- package/lib/exercises/pc/chemicalElements/findAtomicStructureElement.d.ts.map +1 -1
- package/lib/exercises/pc/chemicalElements/findAtomicStructureElement.js +1 -1
- package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromElectronicConfiguration.d.ts +1 -1
- package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromElectronicConfiguration.d.ts.map +1 -1
- package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromElectronicConfiguration.js +1 -1
- package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromTable.d.ts +1 -1
- package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromTable.d.ts.map +1 -1
- package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromTable.js +1 -1
- package/lib/exercises/pc/chemicalElements/identifyRightElectronicConfiguration.d.ts +1 -1
- package/lib/exercises/pc/chemicalElements/identifyRightElectronicConfiguration.d.ts.map +1 -1
- package/lib/exercises/pc/chemicalElements/identifyRightElectronicConfiguration.js +1 -1
- package/lib/exercises/pc/chemicalElements/index.d.ts +1 -0
- package/lib/exercises/pc/chemicalElements/index.d.ts.map +1 -1
- package/lib/exercises/pc/chemicalElements/index.js +1 -0
- package/lib/exercises/pc/chemicalElements/massOrVolumeProportion.d.ts +11 -0
- package/lib/exercises/pc/chemicalElements/massOrVolumeProportion.d.ts.map +1 -0
- package/lib/exercises/pc/chemicalElements/massOrVolumeProportion.js +99 -0
- package/lib/exercises/pc/chemicalEquations.d.ts +1 -1
- package/lib/exercises/pc/chemicalEquations.d.ts.map +1 -1
- package/lib/exercises/pc/chemicalEquations.js +1 -1
- package/lib/exercises/pc/chemicalReactions/index.d.ts +2 -0
- package/lib/exercises/pc/chemicalReactions/index.d.ts.map +1 -1
- package/lib/exercises/pc/chemicalReactions/index.js +2 -0
- package/lib/exercises/pc/chemicalReactions/stoichiometricReaction.d.ts +5 -0
- package/lib/exercises/pc/chemicalReactions/stoichiometricReaction.d.ts.map +1 -0
- package/lib/exercises/pc/chemicalReactions/stoichiometricReaction.js +69 -0
- package/lib/exercises/pc/chemicalReactions/titrationEquivalenceRelation.d.ts +11 -0
- package/lib/exercises/pc/chemicalReactions/titrationEquivalenceRelation.d.ts.map +1 -0
- package/lib/exercises/pc/chemicalReactions/titrationEquivalenceRelation.js +180 -0
- package/lib/exercises/pc/chemicalReactionsProduct.d.ts +1 -1
- package/lib/exercises/pc/chemicalReactionsProduct.d.ts.map +1 -1
- package/lib/exercises/pc/chemicalReactionsProduct.js +1 -1
- package/lib/exercises/pc/dosage/beerLambertRandomValue.js +1 -1
- package/lib/exercises/pc/dosage/concentrationCalculation.d.ts +10 -0
- package/lib/exercises/pc/dosage/concentrationCalculation.d.ts.map +1 -0
- package/lib/exercises/pc/dosage/concentrationCalculation.js +118 -0
- package/lib/exercises/pc/dosage/concentrationFromMassCalculation.d.ts +10 -0
- package/lib/exercises/pc/dosage/concentrationFromMassCalculation.d.ts.map +1 -0
- package/lib/exercises/pc/dosage/concentrationFromMassCalculation.js +116 -0
- package/lib/exercises/pc/dosage/index.d.ts +2 -0
- package/lib/exercises/pc/dosage/index.d.ts.map +1 -1
- package/lib/exercises/pc/dosage/index.js +2 -0
- package/lib/exercises/pc/electricity/calculateIntensity.d.ts +8 -0
- package/lib/exercises/pc/electricity/calculateIntensity.d.ts.map +1 -0
- package/lib/exercises/pc/electricity/calculateIntensity.js +60 -0
- package/lib/exercises/pc/electricity/calculateIntensityInSerieOrParallel.d.ts +10 -0
- package/lib/exercises/pc/electricity/calculateIntensityInSerieOrParallel.d.ts.map +1 -0
- package/lib/exercises/pc/electricity/calculateIntensityInSerieOrParallel.js +105 -0
- package/lib/exercises/pc/electricity/calculateVoltage.d.ts +11 -0
- package/lib/exercises/pc/electricity/calculateVoltage.d.ts.map +1 -0
- package/lib/exercises/pc/electricity/calculateVoltage.js +143 -0
- package/lib/exercises/pc/electricity/electricPowerOrEnergyCalculation.d.ts +9 -0
- package/lib/exercises/pc/electricity/electricPowerOrEnergyCalculation.d.ts.map +1 -0
- package/lib/exercises/pc/electricity/electricPowerOrEnergyCalculation.js +80 -0
- package/lib/exercises/pc/electricity/index.d.ts +7 -0
- package/lib/exercises/pc/electricity/index.d.ts.map +1 -1
- package/lib/exercises/pc/electricity/index.js +7 -0
- package/lib/exercises/pc/electricity/kirchhoffVoltageLaw.d.ts +10 -0
- package/lib/exercises/pc/electricity/kirchhoffVoltageLaw.d.ts.map +1 -0
- package/lib/exercises/pc/electricity/kirchhoffVoltageLaw.js +110 -0
- package/lib/exercises/pc/electricity/ohmLaw.d.ts +11 -0
- package/lib/exercises/pc/electricity/ohmLaw.d.ts.map +1 -0
- package/lib/exercises/pc/electricity/ohmLaw.js +122 -0
- package/lib/exercises/pc/electricity/ohmicConductorOrGenerator.d.ts +5 -0
- package/lib/exercises/pc/electricity/ohmicConductorOrGenerator.d.ts.map +1 -0
- package/lib/exercises/pc/electricity/ohmicConductorOrGenerator.js +94 -0
- package/lib/exercises/pc/energy/calorificValue.d.ts +8 -0
- package/lib/exercises/pc/energy/calorificValue.d.ts.map +1 -0
- package/lib/exercises/pc/energy/calorificValue.js +77 -0
- package/lib/exercises/pc/energy/combustionTransferEnergy.d.ts +8 -0
- package/lib/exercises/pc/energy/combustionTransferEnergy.d.ts.map +1 -0
- package/lib/exercises/pc/energy/combustionTransferEnergy.js +77 -0
- package/lib/exercises/pc/energy/combustionTransferEnergy2.d.ts +11 -0
- package/lib/exercises/pc/energy/combustionTransferEnergy2.d.ts.map +1 -0
- package/lib/exercises/pc/energy/combustionTransferEnergy2.js +140 -0
- package/lib/exercises/pc/energy/efficencyOfConverter.d.ts +8 -0
- package/lib/exercises/pc/energy/efficencyOfConverter.d.ts.map +1 -0
- package/lib/exercises/pc/energy/efficencyOfConverter.js +83 -0
- package/lib/exercises/pc/energy/efficiencyCalculation.d.ts +10 -0
- package/lib/exercises/pc/energy/efficiencyCalculation.d.ts.map +1 -0
- package/lib/exercises/pc/energy/efficiencyCalculation.js +121 -0
- package/lib/exercises/pc/energy/energyTransfer.d.ts +10 -0
- package/lib/exercises/pc/energy/energyTransfer.d.ts.map +1 -0
- package/lib/exercises/pc/energy/energyTransfer.js +67 -0
- package/lib/exercises/pc/energy/index.d.ts +9 -0
- package/lib/exercises/pc/energy/index.d.ts.map +1 -0
- package/lib/exercises/pc/energy/index.js +24 -0
- package/lib/exercises/pc/energy/kineticEnergyOrMassOrSpeed.d.ts +10 -0
- package/lib/exercises/pc/energy/kineticEnergyOrMassOrSpeed.d.ts.map +1 -0
- package/lib/exercises/pc/energy/kineticEnergyOrMassOrSpeed.js +167 -0
- package/lib/exercises/pc/energy/thermalEnergyTransferCalculation.d.ts +11 -0
- package/lib/exercises/pc/energy/thermalEnergyTransferCalculation.d.ts.map +1 -0
- package/lib/exercises/pc/energy/thermalEnergyTransferCalculation.js +142 -0
- package/lib/exercises/pc/forces/calculateNormalOrFrictionForce.d.ts +8 -0
- package/lib/exercises/pc/forces/calculateNormalOrFrictionForce.d.ts.map +1 -0
- package/lib/exercises/pc/forces/calculateNormalOrFrictionForce.js +101 -0
- package/lib/exercises/pc/forces/electroStaticForce.d.ts +13 -0
- package/lib/exercises/pc/forces/electroStaticForce.d.ts.map +1 -0
- package/lib/exercises/pc/forces/electroStaticForce.js +116 -0
- package/lib/exercises/pc/forces/gravitationalAttractionObjectHeight.d.ts +9 -0
- package/lib/exercises/pc/forces/gravitationalAttractionObjectHeight.d.ts.map +1 -0
- package/lib/exercises/pc/forces/gravitationalAttractionObjectHeight.js +131 -0
- package/lib/exercises/pc/forces/gravitationalAttractionValue.d.ts +1 -0
- package/lib/exercises/pc/forces/gravitationalAttractionValue.d.ts.map +1 -1
- package/lib/exercises/pc/forces/gravitationalAttractionValue.js +31 -27
- package/lib/exercises/pc/forces/gravitationalForcePlanets.d.ts +10 -0
- package/lib/exercises/pc/forces/gravitationalForcePlanets.d.ts.map +1 -0
- package/lib/exercises/pc/forces/gravitationalForcePlanets.js +117 -0
- package/lib/exercises/pc/forces/index.d.ts +5 -0
- package/lib/exercises/pc/forces/index.d.ts.map +1 -1
- package/lib/exercises/pc/forces/index.js +6 -0
- package/lib/exercises/pc/forces/massWeight.d.ts +9 -0
- package/lib/exercises/pc/forces/massWeight.d.ts.map +1 -0
- package/lib/exercises/pc/forces/massWeight.js +67 -0
- package/lib/exercises/pc/forces/pressureDifferenceCalculation.d.ts +1 -0
- package/lib/exercises/pc/forces/pressureDifferenceCalculation.d.ts.map +1 -0
- package/lib/exercises/pc/forces/pressureDifferenceCalculation.js +106 -0
- package/lib/exercises/pc/formulaFromComposition.js +2 -2
- package/lib/exercises/pc/identifyAtomicMassOrAtomicNb.d.ts +8 -0
- package/lib/exercises/pc/identifyAtomicMassOrAtomicNb.d.ts.map +1 -0
- package/lib/exercises/pc/identifyAtomicMassOrAtomicNb.js +72 -0
- package/lib/exercises/pc/index.d.ts +6 -0
- package/lib/exercises/pc/index.d.ts.map +1 -1
- package/lib/exercises/pc/index.js +6 -0
- package/lib/exercises/pc/molarQuantity.js +2 -2
- package/lib/exercises/pc/mole/index.d.ts +2 -0
- package/lib/exercises/pc/mole/index.d.ts.map +1 -1
- package/lib/exercises/pc/mole/index.js +2 -0
- package/lib/exercises/pc/mole/molarMass.js +1 -1
- package/lib/exercises/pc/mole/moleculeCountFromMassAndAvogadro.d.ts +9 -0
- package/lib/exercises/pc/mole/moleculeCountFromMassAndAvogadro.d.ts.map +1 -0
- package/lib/exercises/pc/mole/moleculeCountFromMassAndAvogadro.js +75 -0
- package/lib/exercises/pc/mole/moleculeCountFromMol.d.ts +7 -0
- package/lib/exercises/pc/mole/moleculeCountFromMol.d.ts.map +1 -0
- package/lib/exercises/pc/mole/moleculeCountFromMol.js +66 -0
- package/lib/exercises/pc/moleculeFormula.js +1 -1
- package/lib/exercises/pc/moleculeNomenclature.js +1 -1
- package/lib/exercises/pc/motion/averageSpeed.d.ts +12 -0
- package/lib/exercises/pc/motion/averageSpeed.d.ts.map +1 -0
- package/lib/exercises/pc/motion/averageSpeed.js +121 -0
- package/lib/exercises/pc/motion/averageSpeedCalculation.d.ts +10 -0
- package/lib/exercises/pc/motion/averageSpeedCalculation.d.ts.map +1 -0
- package/lib/exercises/pc/motion/averageSpeedCalculation.js +145 -0
- package/lib/exercises/pc/motion/characteristicsOfVelocityVector.d.ts +7 -0
- package/lib/exercises/pc/motion/characteristicsOfVelocityVector.d.ts.map +1 -0
- package/lib/exercises/pc/motion/characteristicsOfVelocityVector.js +86 -0
- package/lib/exercises/pc/motion/index.d.ts +7 -0
- package/lib/exercises/pc/motion/index.d.ts.map +1 -0
- package/lib/exercises/pc/motion/index.js +22 -0
- package/lib/exercises/pc/motion/motionReference.d.ts +9 -0
- package/lib/exercises/pc/motion/motionReference.d.ts.map +1 -0
- package/lib/exercises/pc/motion/motionReference.js +167 -0
- package/lib/exercises/pc/motion/typeOfAcceleration.d.ts +5 -0
- package/lib/exercises/pc/motion/typeOfAcceleration.d.ts.map +1 -0
- package/lib/exercises/pc/motion/typeOfAcceleration.js +97 -0
- package/lib/exercises/pc/motion/typeOfMovement.d.ts +5 -0
- package/lib/exercises/pc/motion/typeOfMovement.d.ts.map +1 -0
- package/lib/exercises/pc/motion/typeOfMovement.js +111 -0
- package/lib/exercises/pc/orderOfMagnitude.d.ts +8 -0
- package/lib/exercises/pc/orderOfMagnitude.d.ts.map +1 -0
- package/lib/exercises/pc/orderOfMagnitude.js +68 -0
- package/lib/exercises/pc/potentialEnergy.d.ts.map +1 -1
- package/lib/exercises/pc/potentialEnergy.js +17 -5
- package/lib/exercises/pc/power/calculatePowerOfLight.d.ts +8 -0
- package/lib/exercises/pc/power/calculatePowerOfLight.d.ts.map +1 -0
- package/lib/exercises/pc/power/calculatePowerOfLight.js +85 -0
- package/lib/exercises/pc/power/index.d.ts +2 -0
- package/lib/exercises/pc/power/index.d.ts.map +1 -0
- package/lib/exercises/pc/power/index.js +17 -0
- package/lib/exercises/pc/recognizeRefractionOrReflectionAngles.d.ts +5 -0
- package/lib/exercises/pc/recognizeRefractionOrReflectionAngles.d.ts.map +1 -0
- package/lib/exercises/pc/recognizeRefractionOrReflectionAngles.js +117 -0
- package/lib/exercises/pc/sound/findPeriodOrFrequencyFromGraph.d.ts +9 -0
- package/lib/exercises/pc/sound/findPeriodOrFrequencyFromGraph.d.ts.map +1 -0
- package/lib/exercises/pc/sound/findPeriodOrFrequencyFromGraph.js +95 -0
- package/lib/exercises/pc/sound/index.d.ts +1 -0
- package/lib/exercises/pc/sound/index.d.ts.map +1 -1
- package/lib/exercises/pc/sound/index.js +1 -0
- package/lib/exercises/pc/waves/index.d.ts +1 -0
- package/lib/exercises/pc/waves/index.d.ts.map +1 -1
- package/lib/exercises/pc/waves/index.js +1 -0
- package/lib/exercises/pc/waves/lightDistanceConversion.d.ts +10 -0
- package/lib/exercises/pc/waves/lightDistanceConversion.d.ts.map +1 -0
- package/lib/exercises/pc/waves/lightDistanceConversion.js +160 -0
- package/lib/exercises/pc/weight/calculateWeight.d.ts +7 -0
- package/lib/exercises/pc/weight/calculateWeight.d.ts.map +1 -0
- package/lib/exercises/pc/weight/calculateWeight.js +72 -0
- package/lib/exercises/pc/weight/index.d.ts +1 -0
- package/lib/exercises/pc/weight/index.d.ts.map +1 -1
- package/lib/exercises/pc/weight/index.js +1 -0
- package/lib/exercises/pc/weight/weightOnTheMoon.d.ts.map +1 -1
- package/lib/exercises/pc/weight/weightOnTheMoon.js +6 -6
- package/lib/exercises/utils/getAtoms.d.ts +1 -1
- package/lib/exercises/utils/getAtoms.d.ts.map +1 -1
- package/lib/exercises/utils/getAtoms.js +1 -1
- package/lib/geogebra/deleteObjectNamesFromAnswer.d.ts +1 -1
- package/lib/geogebra/deleteObjectNamesFromAnswer.d.ts.map +1 -1
- package/lib/geogebra/deleteObjectNamesFromAnswer.js +2 -2
- package/lib/index.d.ts +188 -11
- package/lib/index.d.ts.map +1 -1
- package/lib/math/numbers/reals/extendedRingElement.d.ts +1 -2
- package/lib/math/numbers/reals/extendedRingElement.d.ts.map +1 -1
- package/lib/math/polynomials/affine.d.ts +4 -0
- package/lib/math/polynomials/affine.d.ts.map +1 -1
- package/lib/math/polynomials/affine.js +10 -0
- package/lib/math/polynomials/trinom.d.ts +2 -1
- package/lib/math/polynomials/trinom.d.ts.map +1 -1
- package/lib/math/polynomials/trinom.js +3 -0
- package/lib/pc/constants/atoms.d.ts +0 -1
- package/lib/pc/constants/atoms.d.ts.map +1 -1
- package/lib/pc/constants/atoms.js +2 -2
- package/lib/pc/constants/coulomb.d.ts +3 -0
- package/lib/pc/constants/coulomb.d.ts.map +1 -0
- package/lib/pc/constants/coulomb.js +13 -0
- package/lib/pc/constants/earth.d.ts +0 -1
- package/lib/pc/constants/earth.d.ts.map +1 -1
- package/lib/pc/constants/earth.js +4 -4
- package/lib/pc/constants/gravity.d.ts +1 -1
- package/lib/pc/constants/gravity.d.ts.map +1 -1
- package/lib/pc/constants/gravity.js +16 -7
- package/lib/pc/constants/mechanics/gravitational.d.ts +14 -0
- package/lib/pc/constants/mechanics/gravitational.d.ts.map +1 -0
- package/lib/pc/constants/mechanics/gravitational.js +37 -0
- package/lib/pc/constants/mechanics/planets.d.ts +15 -0
- package/lib/pc/constants/mechanics/planets.d.ts.map +1 -0
- package/lib/pc/constants/mechanics/planets.js +35 -0
- package/lib/pc/constants/mechanics/waves.d.ts +8 -0
- package/lib/pc/constants/mechanics/waves.d.ts.map +1 -0
- package/lib/pc/constants/mechanics/waves.js +8 -0
- package/lib/pc/constants/molecularChemistry/atomSymbols.d.ts +2 -0
- package/lib/pc/constants/molecularChemistry/atomSymbols.d.ts.map +1 -0
- package/lib/pc/constants/molecularChemistry/atomSymbols.js +2 -0
- package/lib/pc/constants/molecularChemistry/atome.d.ts +18 -0
- package/lib/pc/constants/molecularChemistry/atome.d.ts.map +1 -0
- package/lib/pc/constants/molecularChemistry/atome.js +174 -0
- package/lib/pc/constants/molecularChemistry/atoms.d.ts +9 -0
- package/lib/pc/constants/molecularChemistry/atoms.d.ts.map +1 -0
- package/lib/pc/constants/molecularChemistry/atoms.js +15 -0
- package/lib/pc/constants/molecularChemistry/molecule.d.ts +25 -0
- package/lib/pc/constants/molecularChemistry/molecule.d.ts.map +1 -0
- package/lib/pc/constants/molecularChemistry/molecule.js +579 -0
- package/lib/pc/constants/molecularChemistry/reaction.d.ts +27 -0
- package/lib/pc/constants/molecularChemistry/reaction.d.ts.map +1 -0
- package/lib/pc/constants/molecularChemistry/reaction.js +471 -0
- package/lib/pc/measure/measure.d.ts +16 -6
- package/lib/pc/measure/measure.d.ts.map +1 -1
- package/lib/pc/measure/measure.js +112 -16
- package/lib/pc/units/AmountOfSubstance.d.ts +17 -0
- package/lib/pc/units/AmountOfSubstance.d.ts.map +1 -0
- package/lib/pc/units/AmountOfSubstance.js +40 -0
- package/lib/pc/units/PressionUnit.d.ts +17 -0
- package/lib/pc/units/PressionUnit.d.ts.map +1 -0
- package/lib/pc/units/PressionUnit.js +32 -0
- package/lib/pc/units/distanceUnits.d.ts +16 -0
- package/lib/pc/units/distanceUnits.d.ts.map +1 -0
- package/lib/pc/units/distanceUnits.js +32 -0
- package/lib/pc/units/divideUnit.d.ts +13 -0
- package/lib/pc/units/divideUnit.d.ts.map +1 -0
- package/lib/pc/units/divideUnit.js +32 -0
- package/lib/pc/units/electricalChargeUnit.d.ts +17 -0
- package/lib/pc/units/electricalChargeUnit.d.ts.map +1 -0
- package/lib/pc/units/electricalChargeUnit.js +40 -0
- package/lib/pc/units/electricalResistanceUnit.d.ts +18 -0
- package/lib/pc/units/electricalResistanceUnit.d.ts.map +1 -0
- package/lib/pc/units/electricalResistanceUnit.js +32 -0
- package/lib/pc/units/electricalUnit.d.ts +18 -0
- package/lib/pc/units/electricalUnit.d.ts.map +1 -0
- package/lib/pc/units/electricalUnit.js +32 -0
- package/lib/pc/units/energyUnit.d.ts +16 -0
- package/lib/pc/units/energyUnit.d.ts.map +1 -0
- package/lib/pc/units/energyUnit.js +32 -0
- package/lib/pc/units/forceUnits.d.ts +16 -0
- package/lib/pc/units/forceUnits.d.ts.map +1 -0
- package/lib/pc/units/forceUnits.js +32 -0
- package/lib/pc/units/frequenceUnit.d.ts +17 -0
- package/lib/pc/units/frequenceUnit.d.ts.map +1 -0
- package/lib/pc/units/frequenceUnit.js +40 -0
- package/lib/pc/units/interfaces/baseTenUnit.d.ts +10 -0
- package/lib/pc/units/interfaces/baseTenUnit.d.ts.map +1 -0
- package/lib/pc/units/interfaces/baseTenUnit.js +16 -0
- package/lib/pc/units/interfaces/basicUnit.d.ts +13 -0
- package/lib/pc/units/interfaces/basicUnit.d.ts.map +1 -0
- package/lib/pc/units/interfaces/basicUnit.js +19 -0
- package/lib/pc/units/interfaces/unit.d.ts +13 -0
- package/lib/pc/units/interfaces/unit.d.ts.map +1 -0
- package/lib/pc/units/interfaces/unit.js +2 -0
- package/lib/pc/units/massUnits.d.ts +17 -0
- package/lib/pc/units/massUnits.d.ts.map +1 -0
- package/lib/pc/units/massUnits.js +32 -0
- package/lib/pc/units/mulitplyUnits.d.ts +13 -0
- package/lib/pc/units/mulitplyUnits.d.ts.map +1 -0
- package/lib/pc/units/mulitplyUnits.js +26 -0
- package/lib/pc/units/powerUnits.d.ts +14 -0
- package/lib/pc/units/powerUnits.d.ts.map +1 -0
- package/lib/pc/units/powerUnits.js +26 -0
- package/lib/pc/units/timeUnits.d.ts +13 -0
- package/lib/pc/units/timeUnits.d.ts.map +1 -0
- package/lib/pc/units/timeUnits.js +42 -0
- package/lib/pc/units/volumeUnit.d.ts +17 -0
- package/lib/pc/units/volumeUnit.d.ts.map +1 -0
- package/lib/pc/units/volumeUnit.js +32 -0
- package/lib/pc/units/wattUnit.d.ts +17 -0
- package/lib/pc/units/wattUnit.d.ts.map +1 -0
- package/lib/pc/units/wattUnit.js +32 -0
- package/lib/server.d.ts.map +1 -1
- package/lib/server.js +6 -6
- package/lib/tree/nodes/node.d.ts +3 -0
- package/lib/tree/nodes/node.d.ts.map +1 -1
- package/lib/tree/nodes/operators/addNode.js +2 -2
- package/lib/tree/nodes/operators/multiplyNode.d.ts.map +1 -1
- package/lib/tree/nodes/operators/multiplyNode.js +32 -10
- package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
- package/lib/tree/nodes/operators/powerNode.js +12 -0
- package/package.json +1 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ohmicConductorOrGenerator = void 0;
|
|
4
|
+
const exercise_1 = require("../../../exercises/exercise");
|
|
5
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
6
|
+
const geogebraConstructor_1 = require("../../../geogebra/geogebraConstructor");
|
|
7
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
8
|
+
const random_1 = require("../../../utils/random");
|
|
9
|
+
const getOhmicConductorOrGeneratorQuestion = () => {
|
|
10
|
+
const exo = generateExercise();
|
|
11
|
+
const question = {
|
|
12
|
+
answer: exo.answer,
|
|
13
|
+
instruction: exo.instruction,
|
|
14
|
+
commands: exo.ggb.commands,
|
|
15
|
+
coords: [8, 40, -5, 30],
|
|
16
|
+
options: exo.ggb.getOptions(),
|
|
17
|
+
keys: [],
|
|
18
|
+
hint: exo.hint,
|
|
19
|
+
correction: exo.correction,
|
|
20
|
+
answerFormat: "raw",
|
|
21
|
+
identifiers: {},
|
|
22
|
+
};
|
|
23
|
+
return question;
|
|
24
|
+
};
|
|
25
|
+
const getPropositions = (n, { answer }) => {
|
|
26
|
+
const propositions = [];
|
|
27
|
+
(0, exercise_1.addValidProp)(propositions, answer, "raw");
|
|
28
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, "Conducteur ohmique", "raw");
|
|
29
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, "Générateur", "raw");
|
|
30
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, "On ne peut pas savoir", "raw");
|
|
31
|
+
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
32
|
+
};
|
|
33
|
+
const isAnswerValid = (ans, { answer }) => {
|
|
34
|
+
return ans === answer;
|
|
35
|
+
};
|
|
36
|
+
const generateExercise = () => {
|
|
37
|
+
const type = (0, random_1.random)(["Conducteur ohmique", "Générateur"]);
|
|
38
|
+
const ggb = getGgb(type);
|
|
39
|
+
const instruction = `Après avoir relevé l'intensité du courant circulant dans un dipôle pour différentes tensions entre ses bornes, Nous avons obetnu le graphique ci-dessous.
|
|
40
|
+
|
|
41
|
+
La dipôle est-elle est un générateur ou un conducteur ohmique ?`;
|
|
42
|
+
const hint = getHint(type);
|
|
43
|
+
const correction = getCorrection(type);
|
|
44
|
+
return {
|
|
45
|
+
instruction,
|
|
46
|
+
ggb,
|
|
47
|
+
answer: type,
|
|
48
|
+
hint,
|
|
49
|
+
correction,
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
const getGgb = (type) => {
|
|
53
|
+
const points = [];
|
|
54
|
+
for (let x = 22; x < 33; x += 2) {
|
|
55
|
+
const y = type === "Générateur"
|
|
56
|
+
? Math.pow(10, 15) / Math.pow(x, 10)
|
|
57
|
+
: 0.00000001 * Math.pow(x, 6);
|
|
58
|
+
points.push(`Point({${x},${y}})`);
|
|
59
|
+
}
|
|
60
|
+
return type === "Générateur"
|
|
61
|
+
? new geogebraConstructor_1.GeogebraConstructor([`Function(${Math.pow(10, 15)}/x^10,1,${(0, randint_1.randint)(40, 51)})`].concat(points), { axisLabels: ["$\\tiny I(A)$", "$\\tiny U(V)$"] })
|
|
62
|
+
: new geogebraConstructor_1.GeogebraConstructor([`Function(0.00000001*x^6,1,${(0, randint_1.randint)(40, 51)})`].concat(points), { axisLabels: ["$\\tiny I(A)$", "$\\tiny U(V)$"] });
|
|
63
|
+
};
|
|
64
|
+
const getHint = (type) => {
|
|
65
|
+
return type === "Générateur"
|
|
66
|
+
? `Rappel : la tension $U$ aux bornes du générateur peut être exprimée par la relation $U=E-r \\cdot I$.`
|
|
67
|
+
: `Rappel de la loi d'ohm : $U=R \\cdot I$.`;
|
|
68
|
+
};
|
|
69
|
+
const getCorrection = (type) => {
|
|
70
|
+
switch (type) {
|
|
71
|
+
case "Générateur":
|
|
72
|
+
return `Selon la relation qui exprime la tension $U$ aux bornes du générateur, $U = E-r \\cdot I$,\n
|
|
73
|
+
on en déduit que plus l'intensité $I$ augmente, plus la tension $U$ aux bornes du générateur diminue, ce qui correspond bien au graphique montré.
|
|
74
|
+
`;
|
|
75
|
+
case "Conducteur ohmique":
|
|
76
|
+
return `Selon la loi d'ohm qui exprime la tension $U$ aux bornes du conducteur ohmique, $U = R \\cdot I$,\n
|
|
77
|
+
on en déduit que plus l'intensité $I$ augmente, plus la tension $U$ aux bornes du conducteur ohmique augmente, ce qui correspond bien au graphique montré.`;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
exports.ohmicConductorOrGenerator = {
|
|
81
|
+
id: "ohmicConductorOrGenerator",
|
|
82
|
+
label: "Comparaisons des graphiques de tension de dipôle",
|
|
83
|
+
levels: ["2nde"],
|
|
84
|
+
isSingleStep: true,
|
|
85
|
+
sections: ["Électricité"],
|
|
86
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getOhmicConductorOrGeneratorQuestion, nb, 10),
|
|
87
|
+
qcmTimer: 60,
|
|
88
|
+
freeTimer: 60,
|
|
89
|
+
getPropositions,
|
|
90
|
+
isAnswerValid,
|
|
91
|
+
answerType: "QCM",
|
|
92
|
+
maxAllowedQuestions: 10,
|
|
93
|
+
subject: "Physique",
|
|
94
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calorificValue.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/energy/calorificValue.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AASlC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAgGF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAchD,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calorificValue = void 0;
|
|
4
|
+
const exercise_1 = require("../../../exercises/exercise");
|
|
5
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
6
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
7
|
+
const measure_1 = require("../../../pc/measure/measure");
|
|
8
|
+
const divideUnit_1 = require("../../../pc/units/divideUnit");
|
|
9
|
+
const energyUnit_1 = require("../../../pc/units/energyUnit");
|
|
10
|
+
const massUnits_1 = require("../../../pc/units/massUnits");
|
|
11
|
+
const getCalorificValueQuestion = () => {
|
|
12
|
+
const exo = generateExercise();
|
|
13
|
+
const question = {
|
|
14
|
+
answer: exo.answer.toTex(),
|
|
15
|
+
instruction: exo.instruction,
|
|
16
|
+
hint: exo.hint,
|
|
17
|
+
correction: exo.correction,
|
|
18
|
+
keys: [],
|
|
19
|
+
answerFormat: "tex",
|
|
20
|
+
identifiers: { pc: exo.pc, mass: exo.mass },
|
|
21
|
+
};
|
|
22
|
+
return question;
|
|
23
|
+
};
|
|
24
|
+
const getPropositions = (n, { answer, pc, mass }) => {
|
|
25
|
+
const propositions = [];
|
|
26
|
+
(0, exercise_1.addValidProp)(propositions, answer);
|
|
27
|
+
generatePropositions(pc, mass).forEach((value) => (0, exercise_1.tryToAddWrongProp)(propositions, value.toTex()));
|
|
28
|
+
while (propositions.length < n) {
|
|
29
|
+
let random = new measure_1.Measure(-(0, randint_1.randint)(60, 91) * (0, randint_1.randint)(2, 9, [mass]) * 1000, (0, randint_1.randint)(-2, 3), energyUnit_1.EnergyUnit.J);
|
|
30
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, random.toTex());
|
|
31
|
+
}
|
|
32
|
+
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
33
|
+
};
|
|
34
|
+
const isAnswerValid = (ans, { answer, pc, mass }) => {
|
|
35
|
+
const q = -pc * mass * 1000;
|
|
36
|
+
const qMeasure = new measure_1.Measure(q, 0);
|
|
37
|
+
return [answer, q + "", qMeasure.toTex()].includes(ans);
|
|
38
|
+
};
|
|
39
|
+
const generatePropositions = (pc, mass) => {
|
|
40
|
+
const pcMeasure = new measure_1.Measure(pc, 0, new divideUnit_1.DivideUnit(energyUnit_1.EnergyUnit.J, massUnits_1.MassUnit.kg));
|
|
41
|
+
const massMeasure = new measure_1.Measure(mass, 0, massUnits_1.MassUnit.kg);
|
|
42
|
+
const first = pcMeasure.times(massMeasure).times(-1).toSignificant(6);
|
|
43
|
+
return [first];
|
|
44
|
+
};
|
|
45
|
+
const generateExercise = () => {
|
|
46
|
+
const pc = (0, randint_1.randint)(60, 91);
|
|
47
|
+
const mass = (0, randint_1.randint)(2, 11);
|
|
48
|
+
const massMeasure = new measure_1.Measure(mass, 0, massUnits_1.MassUnit.kg);
|
|
49
|
+
const pcMeasure = new measure_1.Measure(pc, 0, new divideUnit_1.DivideUnit(energyUnit_1.EnergyUnit.kJ, massUnits_1.MassUnit.kg));
|
|
50
|
+
const pcMeasureJ = new measure_1.Measure(pc * 1000, 0, new divideUnit_1.DivideUnit(energyUnit_1.EnergyUnit.J, massUnits_1.MassUnit.kg));
|
|
51
|
+
const instruction = `Un échantillon d'un combustible $X$ de masse $${massMeasure.toTex({ notScientific: true })}$ est brûlé complètement. Le pouvoir calorifique de ce combustible est $PC = ${pcMeasure.toTex({ notScientific: true })}$.
|
|
52
|
+
|
|
53
|
+
Calculez l'énergie totale $(Q)$ libérée lors de la combustion de cet échantillon en joules $(J)$.`;
|
|
54
|
+
const answer = massMeasure.times(pcMeasureJ).times(-1).toSignificant(6);
|
|
55
|
+
const hint = `Rappel de la formule pour calculer l'énergie totale $(Q)$ libérée lors de la combustion :
|
|
56
|
+
- $Q = -m \\times PC$`;
|
|
57
|
+
const correction = `Appliquer la formule $Q = -m \\times PC$ :
|
|
58
|
+
1. Convertir les $${energyUnit_1.EnergyUnit.kJ.toTex()}$ en $${energyUnit_1.EnergyUnit.J.toTex()}$, $${pcMeasure.toTex({ notScientific: true })} \\Rightarrow ${pcMeasureJ.toTex({ notScientific: true })}$
|
|
59
|
+
2. $Q = -${massMeasure.toTex({
|
|
60
|
+
notScientific: true,
|
|
61
|
+
})} \\times ${pcMeasureJ.toTex({ notScientific: true })}$
|
|
62
|
+
3. $Q=${answer.toTex()}$`;
|
|
63
|
+
return { instruction, answer, hint, correction, pc, mass };
|
|
64
|
+
};
|
|
65
|
+
exports.calorificValue = {
|
|
66
|
+
id: "calorificValue",
|
|
67
|
+
label: "Calcul de l'énergie de transfert de combustion à l'aide du pouvoir calorifique",
|
|
68
|
+
levels: ["1reSpé"],
|
|
69
|
+
isSingleStep: true,
|
|
70
|
+
sections: ["Réaction chimique"],
|
|
71
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCalorificValueQuestion, nb),
|
|
72
|
+
qcmTimer: 60,
|
|
73
|
+
freeTimer: 60,
|
|
74
|
+
getPropositions,
|
|
75
|
+
isAnswerValid,
|
|
76
|
+
subject: "Physique",
|
|
77
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combustionTransferEnergy.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/energy/combustionTransferEnergy.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAQlC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAgGF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAa1D,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.combustionTransferEnergy = void 0;
|
|
4
|
+
const exercise_1 = require("../../../exercises/exercise");
|
|
5
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
6
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
7
|
+
const measure_1 = require("../../../pc/measure/measure");
|
|
8
|
+
const AmountOfSubstance_1 = require("../../../pc/units/AmountOfSubstance");
|
|
9
|
+
const divideUnit_1 = require("../../../pc/units/divideUnit");
|
|
10
|
+
const energyUnit_1 = require("../../../pc/units/energyUnit");
|
|
11
|
+
const getCombustionTransferEnergyQuestion = () => {
|
|
12
|
+
const exo = generateExercise();
|
|
13
|
+
const question = {
|
|
14
|
+
answer: exo.answer.toTex(),
|
|
15
|
+
instruction: exo.instruction,
|
|
16
|
+
hint: exo.hint,
|
|
17
|
+
correction: exo.correction,
|
|
18
|
+
keys: [],
|
|
19
|
+
answerFormat: "tex",
|
|
20
|
+
identifiers: { eComb: exo.eComb, quantity: exo.quantity },
|
|
21
|
+
};
|
|
22
|
+
return question;
|
|
23
|
+
};
|
|
24
|
+
const getPropositions = (n, { answer, eComb, quantity }) => {
|
|
25
|
+
const propositions = [];
|
|
26
|
+
(0, exercise_1.addValidProp)(propositions, answer);
|
|
27
|
+
generatePropositions(eComb, quantity).forEach((value) => (0, exercise_1.tryToAddWrongProp)(propositions, value.toTex()));
|
|
28
|
+
while (propositions.length < n) {
|
|
29
|
+
let random = new measure_1.Measure(-(0, randint_1.randint)(60, 91) * (0, randint_1.randint)(2, 9, [quantity]) * 1000, (0, randint_1.randint)(-2, 3), energyUnit_1.EnergyUnit.J);
|
|
30
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, random.toTex());
|
|
31
|
+
}
|
|
32
|
+
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
33
|
+
};
|
|
34
|
+
const isAnswerValid = (ans, { answer, eComb, quantity }) => {
|
|
35
|
+
const q = eComb * quantity * 1000;
|
|
36
|
+
const qMeasure = new measure_1.Measure(q, 0);
|
|
37
|
+
return [answer, q + "", qMeasure.toTex()].includes(ans);
|
|
38
|
+
};
|
|
39
|
+
const generatePropositions = (eComb, quantity) => {
|
|
40
|
+
const eCombMeasure = new measure_1.Measure(eComb, 0, new divideUnit_1.DivideUnit(energyUnit_1.EnergyUnit.J, AmountOfSubstance_1.AmountOfSubstance.mol));
|
|
41
|
+
const quantityMeasure = new measure_1.Measure(quantity, 0, AmountOfSubstance_1.AmountOfSubstance.mol);
|
|
42
|
+
const first = eCombMeasure.times(quantityMeasure).toSignificant(6);
|
|
43
|
+
return [first];
|
|
44
|
+
};
|
|
45
|
+
const generateExercise = () => {
|
|
46
|
+
const eComb = -(0, randint_1.randint)(60, 91);
|
|
47
|
+
const quantity = (0, randint_1.randint)(2, 9);
|
|
48
|
+
const quantityMeasure = new measure_1.Measure(quantity, 0, AmountOfSubstance_1.AmountOfSubstance.mol);
|
|
49
|
+
const eCombMeasure = new measure_1.Measure(eComb, 0, new divideUnit_1.DivideUnit(energyUnit_1.EnergyUnit.kJ, AmountOfSubstance_1.AmountOfSubstance.mol));
|
|
50
|
+
const eCombMeasureJ = new measure_1.Measure(eComb * 1000, 0, new divideUnit_1.DivideUnit(energyUnit_1.EnergyUnit.J, AmountOfSubstance_1.AmountOfSubstance.mol));
|
|
51
|
+
const instruction = `Un échantillon d'un combustible $X$ de $${quantity}$ moles est brûlé complètement. L'énergie molaire de combustion de ce combustible est $E_{comb} = ${eCombMeasure.toTex({ notScientific: true })}$.
|
|
52
|
+
|
|
53
|
+
Calculez l'énergie totale $(Q)$ libérée lors de la combustion de cet échantillon en joules $(J)$.`;
|
|
54
|
+
const answer = quantityMeasure.times(eCombMeasureJ).toSignificant(6);
|
|
55
|
+
const hint = `Rappel de la formule pour calculer l'énergie totale $(Q)$ libérée lors de la combustion :
|
|
56
|
+
- $Q = n \\times E_{comb}$`;
|
|
57
|
+
const correction = `Appliquer la formule $Q = n \\times E_{comb}$ :
|
|
58
|
+
1. Convertir les $${energyUnit_1.EnergyUnit.kJ.toTex()}$ en $${energyUnit_1.EnergyUnit.J.toTex()}$, $${eCombMeasure.toTex({ notScientific: true })} \\Rightarrow ${eCombMeasureJ.toTex({ notScientific: true })}$
|
|
59
|
+
2. $Q = ${quantityMeasure.toTex({
|
|
60
|
+
notScientific: true,
|
|
61
|
+
})} \\times ${eCombMeasure.toTex({ notScientific: true })}$
|
|
62
|
+
3. $Q=${answer.toTex()}$`;
|
|
63
|
+
return { instruction, answer, hint, correction, eComb, quantity };
|
|
64
|
+
};
|
|
65
|
+
exports.combustionTransferEnergy = {
|
|
66
|
+
id: "combustionTransferEnergy",
|
|
67
|
+
label: "Calcul de l'énergie de transfert de combustion",
|
|
68
|
+
levels: ["1reSpé"],
|
|
69
|
+
isSingleStep: true,
|
|
70
|
+
sections: ["Réaction chimique"],
|
|
71
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCombustionTransferEnergyQuestion, nb),
|
|
72
|
+
qcmTimer: 60,
|
|
73
|
+
freeTimer: 60,
|
|
74
|
+
getPropositions,
|
|
75
|
+
isAnswerValid,
|
|
76
|
+
subject: "Physique",
|
|
77
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Exercise } from "../../../exercises/exercise";
|
|
2
|
+
type Identifiers = {
|
|
3
|
+
type: number;
|
|
4
|
+
pc?: number;
|
|
5
|
+
mass?: number;
|
|
6
|
+
eComb?: number;
|
|
7
|
+
quantity?: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const combustionTransferEnergy2: Exercise<Identifiers>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=combustionTransferEnergy2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combustionTransferEnergy2.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/energy/combustionTransferEnergy2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AASlC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AA2NF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAc3D,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.combustionTransferEnergy2 = void 0;
|
|
4
|
+
const exercise_1 = require("../../../exercises/exercise");
|
|
5
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
6
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
7
|
+
const measure_1 = require("../../../pc/measure/measure");
|
|
8
|
+
const AmountOfSubstance_1 = require("../../../pc/units/AmountOfSubstance");
|
|
9
|
+
const divideUnit_1 = require("../../../pc/units/divideUnit");
|
|
10
|
+
const energyUnit_1 = require("../../../pc/units/energyUnit");
|
|
11
|
+
const massUnits_1 = require("../../../pc/units/massUnits");
|
|
12
|
+
const getCombustionTransferEnergy2Question = () => {
|
|
13
|
+
const exo = generateExercise();
|
|
14
|
+
const identif = exo.type === 1
|
|
15
|
+
? { pc: exo.pc, mass: exo.mass }
|
|
16
|
+
: {
|
|
17
|
+
eComb: exo.eComb,
|
|
18
|
+
quantity: exo.quantity,
|
|
19
|
+
};
|
|
20
|
+
const question = {
|
|
21
|
+
answer: exo.answer.toTex(),
|
|
22
|
+
instruction: exo.instruction,
|
|
23
|
+
hint: exo.hint,
|
|
24
|
+
correction: exo.correction,
|
|
25
|
+
keys: [],
|
|
26
|
+
answerFormat: "tex",
|
|
27
|
+
identifiers: { type: exo.type, ...identif },
|
|
28
|
+
};
|
|
29
|
+
return question;
|
|
30
|
+
};
|
|
31
|
+
const getPropositions = (n, { answer, type, pc, mass, quantity, eComb }) => {
|
|
32
|
+
const propositions = [];
|
|
33
|
+
(0, exercise_1.addValidProp)(propositions, answer);
|
|
34
|
+
generatePropositions(type, pc, mass, eComb, quantity).forEach((value) => (0, exercise_1.tryToAddWrongProp)(propositions, value.toTex()));
|
|
35
|
+
while (propositions.length < n) {
|
|
36
|
+
let random = new measure_1.Measure(-(0, randint_1.randint)(60, 91) * (0, randint_1.randint)(2, 9) * 1000, (0, randint_1.randint)(-2, 3), energyUnit_1.EnergyUnit.J);
|
|
37
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, random.toTex());
|
|
38
|
+
}
|
|
39
|
+
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
40
|
+
};
|
|
41
|
+
const isAnswerValid = (ans, { answer, type, pc, mass, eComb, quantity }) => {
|
|
42
|
+
const validAns = getValidAnswers(type, pc, mass, eComb, quantity);
|
|
43
|
+
validAns.push(answer);
|
|
44
|
+
return validAns.includes(ans);
|
|
45
|
+
};
|
|
46
|
+
const getValidAnswers = (type, pc = 0, mass = 0, eComb = 0, quantity = 0) => {
|
|
47
|
+
let q;
|
|
48
|
+
let qMeasure;
|
|
49
|
+
if (type === 1) {
|
|
50
|
+
q = -pc * mass * 1000;
|
|
51
|
+
qMeasure = new measure_1.Measure(q, 0);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
q = eComb * quantity * 1000;
|
|
55
|
+
qMeasure = new measure_1.Measure(q, 0);
|
|
56
|
+
}
|
|
57
|
+
return [q + "", qMeasure.toTex()];
|
|
58
|
+
};
|
|
59
|
+
const generatePropositions = (type, pc, mass, eComb, quantity) => {
|
|
60
|
+
return type === 1
|
|
61
|
+
? generateType1Propositins(pc, mass)
|
|
62
|
+
: generateType2Propositins(eComb, quantity);
|
|
63
|
+
};
|
|
64
|
+
const generateType1Propositins = (pc, mass) => {
|
|
65
|
+
const pcMeasure = new measure_1.Measure(pc, 0, new divideUnit_1.DivideUnit(energyUnit_1.EnergyUnit.J, massUnits_1.MassUnit.kg));
|
|
66
|
+
const massMeasure = new measure_1.Measure(mass, 0, massUnits_1.MassUnit.kg);
|
|
67
|
+
const first = pcMeasure.times(massMeasure).times(-1).toSignificant(6);
|
|
68
|
+
return [first];
|
|
69
|
+
};
|
|
70
|
+
const generateType2Propositins = (eComb, quantity) => {
|
|
71
|
+
const eCombMeasure = new measure_1.Measure(eComb, 0, new divideUnit_1.DivideUnit(energyUnit_1.EnergyUnit.J, AmountOfSubstance_1.AmountOfSubstance.mol));
|
|
72
|
+
const quantityMeasure = new measure_1.Measure(quantity, 0, AmountOfSubstance_1.AmountOfSubstance.mol);
|
|
73
|
+
const first = eCombMeasure.times(quantityMeasure).toSignificant(6);
|
|
74
|
+
return [first];
|
|
75
|
+
};
|
|
76
|
+
const generateExercise = () => {
|
|
77
|
+
const type = (0, randint_1.randint)(1, 3);
|
|
78
|
+
const exo = type === 1 ? getExoType1() : getExoType2();
|
|
79
|
+
return { type, ...exo };
|
|
80
|
+
};
|
|
81
|
+
const getExoType1 = () => {
|
|
82
|
+
const pc = (0, randint_1.randint)(60, 91);
|
|
83
|
+
const mass = (0, randint_1.randint)(2, 11);
|
|
84
|
+
const massMeasure = new measure_1.Measure(mass, 0, massUnits_1.MassUnit.kg);
|
|
85
|
+
const pcMeasure = new measure_1.Measure(pc, 0, new divideUnit_1.DivideUnit(energyUnit_1.EnergyUnit.kJ, massUnits_1.MassUnit.kg));
|
|
86
|
+
const pcMeasureJ = new measure_1.Measure(pc * 1000, 0, new divideUnit_1.DivideUnit(energyUnit_1.EnergyUnit.J, massUnits_1.MassUnit.kg));
|
|
87
|
+
const instruction = `Un échantillon d'un combustible $X$ de masse $${massMeasure.toTex({ notScientific: true })}$ est brûlé complètement. Le pouvoir calorifique de ce combustible est $PC = ${pcMeasure.toTex({ notScientific: true })}$.
|
|
88
|
+
|
|
89
|
+
Calculez l'énergie totale $(Q)$ libérée lors de la combustion de cet échantillon en joules $(J)$.`;
|
|
90
|
+
const answer = massMeasure.times(pcMeasureJ).times(-1).toSignificant(6);
|
|
91
|
+
const hint = `Rappel de la formule pour calculer l'énergie totale $(Q)$ libérée lors de la combustion :
|
|
92
|
+
- $Q = -m \\times PC$`;
|
|
93
|
+
const correction = `Appliquer la formule $Q = -m \\times PC$ :
|
|
94
|
+
1. Convertir les $${energyUnit_1.EnergyUnit.kJ.toTex()}$ en $${energyUnit_1.EnergyUnit.J.toTex()}$, $${pcMeasure.toTex({ notScientific: true })} \\Rightarrow ${pcMeasureJ.toTex({ notScientific: true })}$
|
|
95
|
+
2. $Q = -${massMeasure.toTex({
|
|
96
|
+
notScientific: true,
|
|
97
|
+
})} \\times ${pcMeasureJ.toTex({ notScientific: true })}$
|
|
98
|
+
3. $Q=${answer.toTex()}$`;
|
|
99
|
+
return {
|
|
100
|
+
instruction,
|
|
101
|
+
answer,
|
|
102
|
+
hint,
|
|
103
|
+
correction,
|
|
104
|
+
pc,
|
|
105
|
+
mass,
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
const getExoType2 = () => {
|
|
109
|
+
const eComb = -(0, randint_1.randint)(60, 91);
|
|
110
|
+
const quantity = (0, randint_1.randint)(2, 9);
|
|
111
|
+
const quantityMeasure = new measure_1.Measure(quantity, 0, AmountOfSubstance_1.AmountOfSubstance.mol);
|
|
112
|
+
const eCombMeasure = new measure_1.Measure(eComb, 0, new divideUnit_1.DivideUnit(energyUnit_1.EnergyUnit.kJ, AmountOfSubstance_1.AmountOfSubstance.mol));
|
|
113
|
+
const eCombMeasureJ = new measure_1.Measure(eComb * 1000, 0, new divideUnit_1.DivideUnit(energyUnit_1.EnergyUnit.J, AmountOfSubstance_1.AmountOfSubstance.mol));
|
|
114
|
+
const instruction = `Un échantillon d'un combustible $X$ de $${quantity}$ moles est brûlé complètement. L'énergie molaire de combustion de ce combustible est $E_{comb} = ${eCombMeasure.toTex({ notScientific: true })}$.
|
|
115
|
+
|
|
116
|
+
Calculez l'énergie totale $(Q)$ libérée lors de la combustion de cet échantillon en joules $(J)$.`;
|
|
117
|
+
const answer = quantityMeasure.times(eCombMeasureJ).toSignificant(6);
|
|
118
|
+
const hint = `Rappel de la formule pour calculer l'énergie totale $(Q)$ libérée lors de la combustion :
|
|
119
|
+
- $Q = n \\times E_{comb}$`;
|
|
120
|
+
const correction = `Appliquer la formule $Q = n \\times E_{comb}$ :
|
|
121
|
+
1. Convertir les $${energyUnit_1.EnergyUnit.kJ.toTex()}$ en $${energyUnit_1.EnergyUnit.J.toTex()}$, $${eCombMeasure.toTex({ notScientific: true })} \\Rightarrow ${eCombMeasureJ.toTex({ notScientific: true })}$
|
|
122
|
+
2. $Q = ${quantityMeasure.toTex({
|
|
123
|
+
notScientific: true,
|
|
124
|
+
})} \\times ${eCombMeasure.toTex({ notScientific: true })}$
|
|
125
|
+
3. $Q=${answer.toTex()}$`;
|
|
126
|
+
return { instruction, answer, hint, correction, eComb, quantity };
|
|
127
|
+
};
|
|
128
|
+
exports.combustionTransferEnergy2 = {
|
|
129
|
+
id: "combustionTransferEnergy2",
|
|
130
|
+
label: "Caclul de l'énergie de transfert de combustion à l'aide du pouvoir calorifique ou de l'énergie de combustion. ",
|
|
131
|
+
levels: ["1reSpé"],
|
|
132
|
+
isSingleStep: true,
|
|
133
|
+
sections: ["Réaction chimique"],
|
|
134
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCombustionTransferEnergy2Question, nb),
|
|
135
|
+
qcmTimer: 60,
|
|
136
|
+
freeTimer: 60,
|
|
137
|
+
getPropositions,
|
|
138
|
+
isAnswerValid,
|
|
139
|
+
subject: "Physique",
|
|
140
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"efficencyOfConverter.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/energy/efficencyOfConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAMlC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAkFF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAatD,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.efficencyOfConverter = void 0;
|
|
4
|
+
const exercise_1 = require("../../../exercises/exercise");
|
|
5
|
+
const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
|
|
6
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
7
|
+
const measure_1 = require("../../../pc/measure/measure");
|
|
8
|
+
const wattUnit_1 = require("../../../pc/units/wattUnit");
|
|
9
|
+
const getEfficencyOfConverterQuestion = () => {
|
|
10
|
+
const exo = getExercise();
|
|
11
|
+
const question = {
|
|
12
|
+
answer: exo.answer,
|
|
13
|
+
instruction: exo.instruction,
|
|
14
|
+
hint: exo.hint,
|
|
15
|
+
correction: exo.correction,
|
|
16
|
+
keys: [],
|
|
17
|
+
answerFormat: "tex",
|
|
18
|
+
identifiers: { entry: exo.entry, out: exo.out },
|
|
19
|
+
};
|
|
20
|
+
return question;
|
|
21
|
+
};
|
|
22
|
+
const getPropositions = (n, { answer, entry, out }) => {
|
|
23
|
+
const propositions = [];
|
|
24
|
+
(0, exercise_1.addValidProp)(propositions, answer);
|
|
25
|
+
generatePropositions(entry, out).forEach((value) => (0, exercise_1.tryToAddWrongProp)(propositions, value + ""));
|
|
26
|
+
let random;
|
|
27
|
+
while (propositions.length < n) {
|
|
28
|
+
random = (0, randint_1.randint)(+answer - 10, +answer + 20, [+answer]);
|
|
29
|
+
(0, exercise_1.tryToAddWrongProp)(propositions, random + "");
|
|
30
|
+
}
|
|
31
|
+
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
32
|
+
};
|
|
33
|
+
const isAnswerValid = (ans, { answer }) => {
|
|
34
|
+
return ans === answer;
|
|
35
|
+
};
|
|
36
|
+
const generatePropositions = (entry, out) => {
|
|
37
|
+
const first = Math.floor((entry * 100) / out) * 100;
|
|
38
|
+
return [first];
|
|
39
|
+
};
|
|
40
|
+
const getExercise = () => {
|
|
41
|
+
const entry = (0, randint_1.randint)(2, 11);
|
|
42
|
+
const entryMeasure = new measure_1.Measure(entry * 100, 0, wattUnit_1.WattUnit.W);
|
|
43
|
+
const out = (0, randint_1.randint)(1, entry) * 100;
|
|
44
|
+
const outMeasure = new measure_1.Measure(out, 0, wattUnit_1.WattUnit.W);
|
|
45
|
+
const instruction = `Un convertisseur reçoit une puissance d'entrée de $${entryMeasure.toTex({ notScientific: true })}$ et fournit une puissance exploitable de $${outMeasure.toTex({
|
|
46
|
+
notScientific: true,
|
|
47
|
+
})}$.
|
|
48
|
+
|
|
49
|
+
Calculez le rendement du convertisseur arrondie au centiéme. Exprimez votre réponse en pourcentage.`;
|
|
50
|
+
const answer = `${Math.floor(out / entry)}`;
|
|
51
|
+
const hint = `Un convertisseur d'énergie a pour rendement, noté $\\eta$, une grandeur sans dimension qui mesure l'efficacité de sa conversion d'énergie.
|
|
52
|
+
|
|
53
|
+
Ce rendement est défini par la formule suivante :
|
|
54
|
+
- $\\eta = \\frac{P_{exploitable}}{P_{entrée}}$`;
|
|
55
|
+
const correction = `Appliquer la formule $\\eta = \\frac{P_{exploitable}}{P_{entrée}}$ :
|
|
56
|
+
|
|
57
|
+
- $\\eta = \\frac{${outMeasure.toTex({
|
|
58
|
+
notScientific: true,
|
|
59
|
+
})}}{${entryMeasure.toTex({
|
|
60
|
+
notScientific: true,
|
|
61
|
+
})}} \\times 100 \\Rightarrow \\eta=${answer}\\%$ `;
|
|
62
|
+
return {
|
|
63
|
+
instruction,
|
|
64
|
+
answer,
|
|
65
|
+
hint,
|
|
66
|
+
correction,
|
|
67
|
+
entry,
|
|
68
|
+
out,
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
exports.efficencyOfConverter = {
|
|
72
|
+
id: "efficencyOfConverter",
|
|
73
|
+
label: "Calcul du rendement d'un convertisseur",
|
|
74
|
+
levels: ["1reSpé"],
|
|
75
|
+
isSingleStep: true,
|
|
76
|
+
sections: ["Électricité"],
|
|
77
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getEfficencyOfConverterQuestion, nb),
|
|
78
|
+
qcmTimer: 60,
|
|
79
|
+
freeTimer: 60,
|
|
80
|
+
getPropositions,
|
|
81
|
+
isAnswerValid,
|
|
82
|
+
subject: "Physique",
|
|
83
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Exercise } from "../../../exercises/exercise";
|
|
2
|
+
type Identifiers = {
|
|
3
|
+
inputPower: number;
|
|
4
|
+
outputPower: number;
|
|
5
|
+
efficiency: number;
|
|
6
|
+
variable: "P_in" | "P_out" | "η";
|
|
7
|
+
};
|
|
8
|
+
export declare const efficiencyCalculation: Exercise<Identifiers>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=efficiencyCalculation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"efficiencyCalculation.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/energy/efficiencyCalculation.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAMlC,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC;CAClC,CAAC;AA8IF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAavD,CAAC"}
|