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.
Files changed (355) hide show
  1. package/lib/exercises/exercise.d.ts +2 -1
  2. package/lib/exercises/exercise.d.ts.map +1 -1
  3. package/lib/exercises/math/calcul/proportionality/index.d.ts +2 -0
  4. package/lib/exercises/math/calcul/proportionality/index.d.ts.map +1 -1
  5. package/lib/exercises/math/calcul/proportionality/index.js +2 -0
  6. package/lib/exercises/math/calcul/proportionality/scaleCalculation.d.ts +9 -0
  7. package/lib/exercises/math/calcul/proportionality/scaleCalculation.d.ts.map +1 -0
  8. package/lib/exercises/math/calcul/proportionality/scaleCalculation.js +90 -0
  9. package/lib/exercises/math/calcul/proportionality/scaleUsage.d.ts +9 -0
  10. package/lib/exercises/math/calcul/proportionality/scaleUsage.d.ts.map +1 -0
  11. package/lib/exercises/math/calcul/proportionality/scaleUsage.js +95 -0
  12. package/lib/exercises/math/calculLitteral/distributivity/canonicalFormDevelopment.d.ts +7 -0
  13. package/lib/exercises/math/calculLitteral/distributivity/canonicalFormDevelopment.d.ts.map +1 -0
  14. package/lib/exercises/math/calculLitteral/distributivity/canonicalFormDevelopment.js +59 -0
  15. package/lib/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.d.ts +9 -0
  16. package/lib/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.d.ts.map +1 -0
  17. package/lib/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.js +77 -0
  18. package/lib/exercises/math/calculLitteral/distributivity/index.d.ts +2 -0
  19. package/lib/exercises/math/calculLitteral/distributivity/index.d.ts.map +1 -1
  20. package/lib/exercises/math/calculLitteral/distributivity/index.js +2 -0
  21. package/lib/exercises/math/conversion/lengthConversion.d.ts.map +1 -1
  22. package/lib/exercises/math/conversion/lengthConversion.js +18 -4
  23. package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.d.ts +10 -0
  24. package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.d.ts.map +1 -0
  25. package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.js +81 -0
  26. package/lib/exercises/math/functions/affines/index.d.ts +1 -0
  27. package/lib/exercises/math/functions/affines/index.d.ts.map +1 -1
  28. package/lib/exercises/math/functions/affines/index.js +1 -0
  29. package/lib/exercises/pc/calibrationCurveOfSolution.js +1 -1
  30. package/lib/exercises/pc/chemicalElements/atomicStructureOfNucleus.d.ts +1 -1
  31. package/lib/exercises/pc/chemicalElements/atomicStructureOfNucleus.d.ts.map +1 -1
  32. package/lib/exercises/pc/chemicalElements/atomicStructureOfNucleus.js +1 -1
  33. package/lib/exercises/pc/chemicalElements/calculateProtonsNumberFromMass.d.ts +1 -1
  34. package/lib/exercises/pc/chemicalElements/calculateProtonsNumberFromMass.d.ts.map +1 -1
  35. package/lib/exercises/pc/chemicalElements/calculateProtonsNumberFromMass.js +3 -3
  36. package/lib/exercises/pc/chemicalElements/calculateVolumetricMass.d.ts.map +1 -1
  37. package/lib/exercises/pc/chemicalElements/calculateVolumetricMass.js +29 -4
  38. package/lib/exercises/pc/chemicalElements/findAtomEntitiesNumberFromMass.d.ts +1 -1
  39. package/lib/exercises/pc/chemicalElements/findAtomEntitiesNumberFromMass.d.ts.map +1 -1
  40. package/lib/exercises/pc/chemicalElements/findAtomEntitiesNumberFromMass.js +6 -6
  41. package/lib/exercises/pc/chemicalElements/findAtomicStructureElement.d.ts +1 -1
  42. package/lib/exercises/pc/chemicalElements/findAtomicStructureElement.d.ts.map +1 -1
  43. package/lib/exercises/pc/chemicalElements/findAtomicStructureElement.js +1 -1
  44. package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromElectronicConfiguration.d.ts +1 -1
  45. package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromElectronicConfiguration.d.ts.map +1 -1
  46. package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromElectronicConfiguration.js +1 -1
  47. package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromTable.d.ts +1 -1
  48. package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromTable.d.ts.map +1 -1
  49. package/lib/exercises/pc/chemicalElements/findValenceElectronsNumberFromTable.js +1 -1
  50. package/lib/exercises/pc/chemicalElements/identifyRightElectronicConfiguration.d.ts +1 -1
  51. package/lib/exercises/pc/chemicalElements/identifyRightElectronicConfiguration.d.ts.map +1 -1
  52. package/lib/exercises/pc/chemicalElements/identifyRightElectronicConfiguration.js +1 -1
  53. package/lib/exercises/pc/chemicalElements/index.d.ts +1 -0
  54. package/lib/exercises/pc/chemicalElements/index.d.ts.map +1 -1
  55. package/lib/exercises/pc/chemicalElements/index.js +1 -0
  56. package/lib/exercises/pc/chemicalElements/massOrVolumeProportion.d.ts +11 -0
  57. package/lib/exercises/pc/chemicalElements/massOrVolumeProportion.d.ts.map +1 -0
  58. package/lib/exercises/pc/chemicalElements/massOrVolumeProportion.js +99 -0
  59. package/lib/exercises/pc/chemicalEquations.d.ts +1 -1
  60. package/lib/exercises/pc/chemicalEquations.d.ts.map +1 -1
  61. package/lib/exercises/pc/chemicalEquations.js +1 -1
  62. package/lib/exercises/pc/chemicalReactions/index.d.ts +2 -0
  63. package/lib/exercises/pc/chemicalReactions/index.d.ts.map +1 -1
  64. package/lib/exercises/pc/chemicalReactions/index.js +2 -0
  65. package/lib/exercises/pc/chemicalReactions/stoichiometricReaction.d.ts +5 -0
  66. package/lib/exercises/pc/chemicalReactions/stoichiometricReaction.d.ts.map +1 -0
  67. package/lib/exercises/pc/chemicalReactions/stoichiometricReaction.js +69 -0
  68. package/lib/exercises/pc/chemicalReactions/titrationEquivalenceRelation.d.ts +11 -0
  69. package/lib/exercises/pc/chemicalReactions/titrationEquivalenceRelation.d.ts.map +1 -0
  70. package/lib/exercises/pc/chemicalReactions/titrationEquivalenceRelation.js +180 -0
  71. package/lib/exercises/pc/chemicalReactionsProduct.d.ts +1 -1
  72. package/lib/exercises/pc/chemicalReactionsProduct.d.ts.map +1 -1
  73. package/lib/exercises/pc/chemicalReactionsProduct.js +1 -1
  74. package/lib/exercises/pc/dosage/beerLambertRandomValue.js +1 -1
  75. package/lib/exercises/pc/dosage/concentrationCalculation.d.ts +10 -0
  76. package/lib/exercises/pc/dosage/concentrationCalculation.d.ts.map +1 -0
  77. package/lib/exercises/pc/dosage/concentrationCalculation.js +118 -0
  78. package/lib/exercises/pc/dosage/concentrationFromMassCalculation.d.ts +10 -0
  79. package/lib/exercises/pc/dosage/concentrationFromMassCalculation.d.ts.map +1 -0
  80. package/lib/exercises/pc/dosage/concentrationFromMassCalculation.js +116 -0
  81. package/lib/exercises/pc/dosage/index.d.ts +2 -0
  82. package/lib/exercises/pc/dosage/index.d.ts.map +1 -1
  83. package/lib/exercises/pc/dosage/index.js +2 -0
  84. package/lib/exercises/pc/electricity/calculateIntensity.d.ts +8 -0
  85. package/lib/exercises/pc/electricity/calculateIntensity.d.ts.map +1 -0
  86. package/lib/exercises/pc/electricity/calculateIntensity.js +60 -0
  87. package/lib/exercises/pc/electricity/calculateIntensityInSerieOrParallel.d.ts +10 -0
  88. package/lib/exercises/pc/electricity/calculateIntensityInSerieOrParallel.d.ts.map +1 -0
  89. package/lib/exercises/pc/electricity/calculateIntensityInSerieOrParallel.js +105 -0
  90. package/lib/exercises/pc/electricity/calculateVoltage.d.ts +11 -0
  91. package/lib/exercises/pc/electricity/calculateVoltage.d.ts.map +1 -0
  92. package/lib/exercises/pc/electricity/calculateVoltage.js +143 -0
  93. package/lib/exercises/pc/electricity/electricPowerOrEnergyCalculation.d.ts +9 -0
  94. package/lib/exercises/pc/electricity/electricPowerOrEnergyCalculation.d.ts.map +1 -0
  95. package/lib/exercises/pc/electricity/electricPowerOrEnergyCalculation.js +80 -0
  96. package/lib/exercises/pc/electricity/index.d.ts +7 -0
  97. package/lib/exercises/pc/electricity/index.d.ts.map +1 -1
  98. package/lib/exercises/pc/electricity/index.js +7 -0
  99. package/lib/exercises/pc/electricity/kirchhoffVoltageLaw.d.ts +10 -0
  100. package/lib/exercises/pc/electricity/kirchhoffVoltageLaw.d.ts.map +1 -0
  101. package/lib/exercises/pc/electricity/kirchhoffVoltageLaw.js +110 -0
  102. package/lib/exercises/pc/electricity/ohmLaw.d.ts +11 -0
  103. package/lib/exercises/pc/electricity/ohmLaw.d.ts.map +1 -0
  104. package/lib/exercises/pc/electricity/ohmLaw.js +122 -0
  105. package/lib/exercises/pc/electricity/ohmicConductorOrGenerator.d.ts +5 -0
  106. package/lib/exercises/pc/electricity/ohmicConductorOrGenerator.d.ts.map +1 -0
  107. package/lib/exercises/pc/electricity/ohmicConductorOrGenerator.js +94 -0
  108. package/lib/exercises/pc/energy/calorificValue.d.ts +8 -0
  109. package/lib/exercises/pc/energy/calorificValue.d.ts.map +1 -0
  110. package/lib/exercises/pc/energy/calorificValue.js +77 -0
  111. package/lib/exercises/pc/energy/combustionTransferEnergy.d.ts +8 -0
  112. package/lib/exercises/pc/energy/combustionTransferEnergy.d.ts.map +1 -0
  113. package/lib/exercises/pc/energy/combustionTransferEnergy.js +77 -0
  114. package/lib/exercises/pc/energy/combustionTransferEnergy2.d.ts +11 -0
  115. package/lib/exercises/pc/energy/combustionTransferEnergy2.d.ts.map +1 -0
  116. package/lib/exercises/pc/energy/combustionTransferEnergy2.js +140 -0
  117. package/lib/exercises/pc/energy/efficencyOfConverter.d.ts +8 -0
  118. package/lib/exercises/pc/energy/efficencyOfConverter.d.ts.map +1 -0
  119. package/lib/exercises/pc/energy/efficencyOfConverter.js +83 -0
  120. package/lib/exercises/pc/energy/efficiencyCalculation.d.ts +10 -0
  121. package/lib/exercises/pc/energy/efficiencyCalculation.d.ts.map +1 -0
  122. package/lib/exercises/pc/energy/efficiencyCalculation.js +121 -0
  123. package/lib/exercises/pc/energy/energyTransfer.d.ts +10 -0
  124. package/lib/exercises/pc/energy/energyTransfer.d.ts.map +1 -0
  125. package/lib/exercises/pc/energy/energyTransfer.js +67 -0
  126. package/lib/exercises/pc/energy/index.d.ts +9 -0
  127. package/lib/exercises/pc/energy/index.d.ts.map +1 -0
  128. package/lib/exercises/pc/energy/index.js +24 -0
  129. package/lib/exercises/pc/energy/kineticEnergyOrMassOrSpeed.d.ts +10 -0
  130. package/lib/exercises/pc/energy/kineticEnergyOrMassOrSpeed.d.ts.map +1 -0
  131. package/lib/exercises/pc/energy/kineticEnergyOrMassOrSpeed.js +167 -0
  132. package/lib/exercises/pc/energy/thermalEnergyTransferCalculation.d.ts +11 -0
  133. package/lib/exercises/pc/energy/thermalEnergyTransferCalculation.d.ts.map +1 -0
  134. package/lib/exercises/pc/energy/thermalEnergyTransferCalculation.js +142 -0
  135. package/lib/exercises/pc/forces/calculateNormalOrFrictionForce.d.ts +8 -0
  136. package/lib/exercises/pc/forces/calculateNormalOrFrictionForce.d.ts.map +1 -0
  137. package/lib/exercises/pc/forces/calculateNormalOrFrictionForce.js +101 -0
  138. package/lib/exercises/pc/forces/electroStaticForce.d.ts +13 -0
  139. package/lib/exercises/pc/forces/electroStaticForce.d.ts.map +1 -0
  140. package/lib/exercises/pc/forces/electroStaticForce.js +116 -0
  141. package/lib/exercises/pc/forces/gravitationalAttractionObjectHeight.d.ts +9 -0
  142. package/lib/exercises/pc/forces/gravitationalAttractionObjectHeight.d.ts.map +1 -0
  143. package/lib/exercises/pc/forces/gravitationalAttractionObjectHeight.js +131 -0
  144. package/lib/exercises/pc/forces/gravitationalAttractionValue.d.ts +1 -0
  145. package/lib/exercises/pc/forces/gravitationalAttractionValue.d.ts.map +1 -1
  146. package/lib/exercises/pc/forces/gravitationalAttractionValue.js +31 -27
  147. package/lib/exercises/pc/forces/gravitationalForcePlanets.d.ts +10 -0
  148. package/lib/exercises/pc/forces/gravitationalForcePlanets.d.ts.map +1 -0
  149. package/lib/exercises/pc/forces/gravitationalForcePlanets.js +117 -0
  150. package/lib/exercises/pc/forces/index.d.ts +5 -0
  151. package/lib/exercises/pc/forces/index.d.ts.map +1 -1
  152. package/lib/exercises/pc/forces/index.js +6 -0
  153. package/lib/exercises/pc/forces/massWeight.d.ts +9 -0
  154. package/lib/exercises/pc/forces/massWeight.d.ts.map +1 -0
  155. package/lib/exercises/pc/forces/massWeight.js +67 -0
  156. package/lib/exercises/pc/forces/pressureDifferenceCalculation.d.ts +1 -0
  157. package/lib/exercises/pc/forces/pressureDifferenceCalculation.d.ts.map +1 -0
  158. package/lib/exercises/pc/forces/pressureDifferenceCalculation.js +106 -0
  159. package/lib/exercises/pc/formulaFromComposition.js +2 -2
  160. package/lib/exercises/pc/identifyAtomicMassOrAtomicNb.d.ts +8 -0
  161. package/lib/exercises/pc/identifyAtomicMassOrAtomicNb.d.ts.map +1 -0
  162. package/lib/exercises/pc/identifyAtomicMassOrAtomicNb.js +72 -0
  163. package/lib/exercises/pc/index.d.ts +6 -0
  164. package/lib/exercises/pc/index.d.ts.map +1 -1
  165. package/lib/exercises/pc/index.js +6 -0
  166. package/lib/exercises/pc/molarQuantity.js +2 -2
  167. package/lib/exercises/pc/mole/index.d.ts +2 -0
  168. package/lib/exercises/pc/mole/index.d.ts.map +1 -1
  169. package/lib/exercises/pc/mole/index.js +2 -0
  170. package/lib/exercises/pc/mole/molarMass.js +1 -1
  171. package/lib/exercises/pc/mole/moleculeCountFromMassAndAvogadro.d.ts +9 -0
  172. package/lib/exercises/pc/mole/moleculeCountFromMassAndAvogadro.d.ts.map +1 -0
  173. package/lib/exercises/pc/mole/moleculeCountFromMassAndAvogadro.js +75 -0
  174. package/lib/exercises/pc/mole/moleculeCountFromMol.d.ts +7 -0
  175. package/lib/exercises/pc/mole/moleculeCountFromMol.d.ts.map +1 -0
  176. package/lib/exercises/pc/mole/moleculeCountFromMol.js +66 -0
  177. package/lib/exercises/pc/moleculeFormula.js +1 -1
  178. package/lib/exercises/pc/moleculeNomenclature.js +1 -1
  179. package/lib/exercises/pc/motion/averageSpeed.d.ts +12 -0
  180. package/lib/exercises/pc/motion/averageSpeed.d.ts.map +1 -0
  181. package/lib/exercises/pc/motion/averageSpeed.js +121 -0
  182. package/lib/exercises/pc/motion/averageSpeedCalculation.d.ts +10 -0
  183. package/lib/exercises/pc/motion/averageSpeedCalculation.d.ts.map +1 -0
  184. package/lib/exercises/pc/motion/averageSpeedCalculation.js +145 -0
  185. package/lib/exercises/pc/motion/characteristicsOfVelocityVector.d.ts +7 -0
  186. package/lib/exercises/pc/motion/characteristicsOfVelocityVector.d.ts.map +1 -0
  187. package/lib/exercises/pc/motion/characteristicsOfVelocityVector.js +86 -0
  188. package/lib/exercises/pc/motion/index.d.ts +7 -0
  189. package/lib/exercises/pc/motion/index.d.ts.map +1 -0
  190. package/lib/exercises/pc/motion/index.js +22 -0
  191. package/lib/exercises/pc/motion/motionReference.d.ts +9 -0
  192. package/lib/exercises/pc/motion/motionReference.d.ts.map +1 -0
  193. package/lib/exercises/pc/motion/motionReference.js +167 -0
  194. package/lib/exercises/pc/motion/typeOfAcceleration.d.ts +5 -0
  195. package/lib/exercises/pc/motion/typeOfAcceleration.d.ts.map +1 -0
  196. package/lib/exercises/pc/motion/typeOfAcceleration.js +97 -0
  197. package/lib/exercises/pc/motion/typeOfMovement.d.ts +5 -0
  198. package/lib/exercises/pc/motion/typeOfMovement.d.ts.map +1 -0
  199. package/lib/exercises/pc/motion/typeOfMovement.js +111 -0
  200. package/lib/exercises/pc/orderOfMagnitude.d.ts +8 -0
  201. package/lib/exercises/pc/orderOfMagnitude.d.ts.map +1 -0
  202. package/lib/exercises/pc/orderOfMagnitude.js +68 -0
  203. package/lib/exercises/pc/potentialEnergy.d.ts.map +1 -1
  204. package/lib/exercises/pc/potentialEnergy.js +17 -5
  205. package/lib/exercises/pc/power/calculatePowerOfLight.d.ts +8 -0
  206. package/lib/exercises/pc/power/calculatePowerOfLight.d.ts.map +1 -0
  207. package/lib/exercises/pc/power/calculatePowerOfLight.js +85 -0
  208. package/lib/exercises/pc/power/index.d.ts +2 -0
  209. package/lib/exercises/pc/power/index.d.ts.map +1 -0
  210. package/lib/exercises/pc/power/index.js +17 -0
  211. package/lib/exercises/pc/recognizeRefractionOrReflectionAngles.d.ts +5 -0
  212. package/lib/exercises/pc/recognizeRefractionOrReflectionAngles.d.ts.map +1 -0
  213. package/lib/exercises/pc/recognizeRefractionOrReflectionAngles.js +117 -0
  214. package/lib/exercises/pc/sound/findPeriodOrFrequencyFromGraph.d.ts +9 -0
  215. package/lib/exercises/pc/sound/findPeriodOrFrequencyFromGraph.d.ts.map +1 -0
  216. package/lib/exercises/pc/sound/findPeriodOrFrequencyFromGraph.js +95 -0
  217. package/lib/exercises/pc/sound/index.d.ts +1 -0
  218. package/lib/exercises/pc/sound/index.d.ts.map +1 -1
  219. package/lib/exercises/pc/sound/index.js +1 -0
  220. package/lib/exercises/pc/waves/index.d.ts +1 -0
  221. package/lib/exercises/pc/waves/index.d.ts.map +1 -1
  222. package/lib/exercises/pc/waves/index.js +1 -0
  223. package/lib/exercises/pc/waves/lightDistanceConversion.d.ts +10 -0
  224. package/lib/exercises/pc/waves/lightDistanceConversion.d.ts.map +1 -0
  225. package/lib/exercises/pc/waves/lightDistanceConversion.js +160 -0
  226. package/lib/exercises/pc/weight/calculateWeight.d.ts +7 -0
  227. package/lib/exercises/pc/weight/calculateWeight.d.ts.map +1 -0
  228. package/lib/exercises/pc/weight/calculateWeight.js +72 -0
  229. package/lib/exercises/pc/weight/index.d.ts +1 -0
  230. package/lib/exercises/pc/weight/index.d.ts.map +1 -1
  231. package/lib/exercises/pc/weight/index.js +1 -0
  232. package/lib/exercises/pc/weight/weightOnTheMoon.d.ts.map +1 -1
  233. package/lib/exercises/pc/weight/weightOnTheMoon.js +6 -6
  234. package/lib/exercises/utils/getAtoms.d.ts +1 -1
  235. package/lib/exercises/utils/getAtoms.d.ts.map +1 -1
  236. package/lib/exercises/utils/getAtoms.js +1 -1
  237. package/lib/geogebra/deleteObjectNamesFromAnswer.d.ts +1 -1
  238. package/lib/geogebra/deleteObjectNamesFromAnswer.d.ts.map +1 -1
  239. package/lib/geogebra/deleteObjectNamesFromAnswer.js +2 -2
  240. package/lib/index.d.ts +188 -11
  241. package/lib/index.d.ts.map +1 -1
  242. package/lib/math/numbers/reals/extendedRingElement.d.ts +1 -2
  243. package/lib/math/numbers/reals/extendedRingElement.d.ts.map +1 -1
  244. package/lib/math/polynomials/affine.d.ts +4 -0
  245. package/lib/math/polynomials/affine.d.ts.map +1 -1
  246. package/lib/math/polynomials/affine.js +10 -0
  247. package/lib/math/polynomials/trinom.d.ts +2 -1
  248. package/lib/math/polynomials/trinom.d.ts.map +1 -1
  249. package/lib/math/polynomials/trinom.js +3 -0
  250. package/lib/pc/constants/atoms.d.ts +0 -1
  251. package/lib/pc/constants/atoms.d.ts.map +1 -1
  252. package/lib/pc/constants/atoms.js +2 -2
  253. package/lib/pc/constants/coulomb.d.ts +3 -0
  254. package/lib/pc/constants/coulomb.d.ts.map +1 -0
  255. package/lib/pc/constants/coulomb.js +13 -0
  256. package/lib/pc/constants/earth.d.ts +0 -1
  257. package/lib/pc/constants/earth.d.ts.map +1 -1
  258. package/lib/pc/constants/earth.js +4 -4
  259. package/lib/pc/constants/gravity.d.ts +1 -1
  260. package/lib/pc/constants/gravity.d.ts.map +1 -1
  261. package/lib/pc/constants/gravity.js +16 -7
  262. package/lib/pc/constants/mechanics/gravitational.d.ts +14 -0
  263. package/lib/pc/constants/mechanics/gravitational.d.ts.map +1 -0
  264. package/lib/pc/constants/mechanics/gravitational.js +37 -0
  265. package/lib/pc/constants/mechanics/planets.d.ts +15 -0
  266. package/lib/pc/constants/mechanics/planets.d.ts.map +1 -0
  267. package/lib/pc/constants/mechanics/planets.js +35 -0
  268. package/lib/pc/constants/mechanics/waves.d.ts +8 -0
  269. package/lib/pc/constants/mechanics/waves.d.ts.map +1 -0
  270. package/lib/pc/constants/mechanics/waves.js +8 -0
  271. package/lib/pc/constants/molecularChemistry/atomSymbols.d.ts +2 -0
  272. package/lib/pc/constants/molecularChemistry/atomSymbols.d.ts.map +1 -0
  273. package/lib/pc/constants/molecularChemistry/atomSymbols.js +2 -0
  274. package/lib/pc/constants/molecularChemistry/atome.d.ts +18 -0
  275. package/lib/pc/constants/molecularChemistry/atome.d.ts.map +1 -0
  276. package/lib/pc/constants/molecularChemistry/atome.js +174 -0
  277. package/lib/pc/constants/molecularChemistry/atoms.d.ts +9 -0
  278. package/lib/pc/constants/molecularChemistry/atoms.d.ts.map +1 -0
  279. package/lib/pc/constants/molecularChemistry/atoms.js +15 -0
  280. package/lib/pc/constants/molecularChemistry/molecule.d.ts +25 -0
  281. package/lib/pc/constants/molecularChemistry/molecule.d.ts.map +1 -0
  282. package/lib/pc/constants/molecularChemistry/molecule.js +579 -0
  283. package/lib/pc/constants/molecularChemistry/reaction.d.ts +27 -0
  284. package/lib/pc/constants/molecularChemistry/reaction.d.ts.map +1 -0
  285. package/lib/pc/constants/molecularChemistry/reaction.js +471 -0
  286. package/lib/pc/measure/measure.d.ts +16 -6
  287. package/lib/pc/measure/measure.d.ts.map +1 -1
  288. package/lib/pc/measure/measure.js +112 -16
  289. package/lib/pc/units/AmountOfSubstance.d.ts +17 -0
  290. package/lib/pc/units/AmountOfSubstance.d.ts.map +1 -0
  291. package/lib/pc/units/AmountOfSubstance.js +40 -0
  292. package/lib/pc/units/PressionUnit.d.ts +17 -0
  293. package/lib/pc/units/PressionUnit.d.ts.map +1 -0
  294. package/lib/pc/units/PressionUnit.js +32 -0
  295. package/lib/pc/units/distanceUnits.d.ts +16 -0
  296. package/lib/pc/units/distanceUnits.d.ts.map +1 -0
  297. package/lib/pc/units/distanceUnits.js +32 -0
  298. package/lib/pc/units/divideUnit.d.ts +13 -0
  299. package/lib/pc/units/divideUnit.d.ts.map +1 -0
  300. package/lib/pc/units/divideUnit.js +32 -0
  301. package/lib/pc/units/electricalChargeUnit.d.ts +17 -0
  302. package/lib/pc/units/electricalChargeUnit.d.ts.map +1 -0
  303. package/lib/pc/units/electricalChargeUnit.js +40 -0
  304. package/lib/pc/units/electricalResistanceUnit.d.ts +18 -0
  305. package/lib/pc/units/electricalResistanceUnit.d.ts.map +1 -0
  306. package/lib/pc/units/electricalResistanceUnit.js +32 -0
  307. package/lib/pc/units/electricalUnit.d.ts +18 -0
  308. package/lib/pc/units/electricalUnit.d.ts.map +1 -0
  309. package/lib/pc/units/electricalUnit.js +32 -0
  310. package/lib/pc/units/energyUnit.d.ts +16 -0
  311. package/lib/pc/units/energyUnit.d.ts.map +1 -0
  312. package/lib/pc/units/energyUnit.js +32 -0
  313. package/lib/pc/units/forceUnits.d.ts +16 -0
  314. package/lib/pc/units/forceUnits.d.ts.map +1 -0
  315. package/lib/pc/units/forceUnits.js +32 -0
  316. package/lib/pc/units/frequenceUnit.d.ts +17 -0
  317. package/lib/pc/units/frequenceUnit.d.ts.map +1 -0
  318. package/lib/pc/units/frequenceUnit.js +40 -0
  319. package/lib/pc/units/interfaces/baseTenUnit.d.ts +10 -0
  320. package/lib/pc/units/interfaces/baseTenUnit.d.ts.map +1 -0
  321. package/lib/pc/units/interfaces/baseTenUnit.js +16 -0
  322. package/lib/pc/units/interfaces/basicUnit.d.ts +13 -0
  323. package/lib/pc/units/interfaces/basicUnit.d.ts.map +1 -0
  324. package/lib/pc/units/interfaces/basicUnit.js +19 -0
  325. package/lib/pc/units/interfaces/unit.d.ts +13 -0
  326. package/lib/pc/units/interfaces/unit.d.ts.map +1 -0
  327. package/lib/pc/units/interfaces/unit.js +2 -0
  328. package/lib/pc/units/massUnits.d.ts +17 -0
  329. package/lib/pc/units/massUnits.d.ts.map +1 -0
  330. package/lib/pc/units/massUnits.js +32 -0
  331. package/lib/pc/units/mulitplyUnits.d.ts +13 -0
  332. package/lib/pc/units/mulitplyUnits.d.ts.map +1 -0
  333. package/lib/pc/units/mulitplyUnits.js +26 -0
  334. package/lib/pc/units/powerUnits.d.ts +14 -0
  335. package/lib/pc/units/powerUnits.d.ts.map +1 -0
  336. package/lib/pc/units/powerUnits.js +26 -0
  337. package/lib/pc/units/timeUnits.d.ts +13 -0
  338. package/lib/pc/units/timeUnits.d.ts.map +1 -0
  339. package/lib/pc/units/timeUnits.js +42 -0
  340. package/lib/pc/units/volumeUnit.d.ts +17 -0
  341. package/lib/pc/units/volumeUnit.d.ts.map +1 -0
  342. package/lib/pc/units/volumeUnit.js +32 -0
  343. package/lib/pc/units/wattUnit.d.ts +17 -0
  344. package/lib/pc/units/wattUnit.d.ts.map +1 -0
  345. package/lib/pc/units/wattUnit.js +32 -0
  346. package/lib/server.d.ts.map +1 -1
  347. package/lib/server.js +6 -6
  348. package/lib/tree/nodes/node.d.ts +3 -0
  349. package/lib/tree/nodes/node.d.ts.map +1 -1
  350. package/lib/tree/nodes/operators/addNode.js +2 -2
  351. package/lib/tree/nodes/operators/multiplyNode.d.ts.map +1 -1
  352. package/lib/tree/nodes/operators/multiplyNode.js +32 -10
  353. package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
  354. package/lib/tree/nodes/operators/powerNode.js +12 -0
  355. package/package.json +1 -1
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findPeriodOrFrequencyFromGraph = void 0;
4
+ const exercise_1 = require("../../../exercises/exercise");
5
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
6
+ const colors_1 = require("../../../geogebra/colors");
7
+ const geogebraConstructor_1 = require("../../../geogebra/geogebraConstructor");
8
+ const randfloat_1 = require("../../../math/utils/random/randfloat");
9
+ const randint_1 = require("../../../math/utils/random/randint");
10
+ const coinFlip_1 = require("../../../utils/coinFlip");
11
+ const isInt_1 = require("../../../utils/isInt");
12
+ const getFindPeriodOrFrequencyFromGraphQuestion = () => {
13
+ const period = (0, randint_1.randint)(2, 5);
14
+ const yStart = (0, randint_1.randint)(0, 4);
15
+ const splinePoints = [[0, yStart]];
16
+ const isFirstNegative = (0, coinFlip_1.coinFlip)();
17
+ const quarter = period / 4;
18
+ splinePoints.push([
19
+ quarter,
20
+ yStart + (isFirstNegative ? (0, randfloat_1.randfloat)(-2, -5) : (0, randfloat_1.randfloat)(2, 5)),
21
+ ]);
22
+ const half = period / 2;
23
+ splinePoints.push([half, yStart]);
24
+ const threeQuarter = (3 * period) / 4;
25
+ splinePoints.push([
26
+ threeQuarter,
27
+ yStart + (isFirstNegative ? (0, randfloat_1.randfloat)(2, 5) : (0, randfloat_1.randfloat)(-2, -5)),
28
+ ]);
29
+ splinePoints.push([period, yStart]);
30
+ const color = (0, colors_1.randomColor)();
31
+ const commands = [
32
+ `S =Spline(${splinePoints
33
+ .map((point) => `(${point[0]},${point[1]})`)
34
+ .join(",")})`,
35
+ "SetFixed(S, true)",
36
+ `SetColor(S, "${color}")`,
37
+ ];
38
+ for (let i = 1; i < 10; i++) {
39
+ commands.push(`S_{${i}} = Translate(S, (${i * period}, 0))`, `SetFixed(S_{${i}}, true)`, `SetColor(S_{${i}}, "${color}")`);
40
+ }
41
+ const ggb = new geogebraConstructor_1.GeogebraConstructor(commands, {
42
+ axisLabels: ["$\\tiny Temps (ms)$", "$\\tiny Tension (V)$"],
43
+ isGridSimple: true,
44
+ });
45
+ const isAsking = (0, coinFlip_1.coinFlip)() ? `période` : `fréquence`;
46
+ const frequency = (1 / period) * 1000;
47
+ const scientificFrequence = (0, isInt_1.isInt)(frequency)
48
+ ? (1 / (period * Math.pow(10, -3))).toScientific(0).toTex()
49
+ : (1 / (period * Math.pow(10, -3))).toScientific(2).toTex();
50
+ const answer = isAsking === "période" ? period + "" : scientificFrequence;
51
+ const question = {
52
+ answer: answer,
53
+ instruction: `L'enregistrement d'un signal sonore est donnée ci-dessous. Déterminer la ${isAsking} de ce signal.`,
54
+ keys: [],
55
+ answerFormat: "tex",
56
+ identifiers: { period, frequency, splinePoints },
57
+ commands: ggb.commands,
58
+ options: ggb.getOptions(),
59
+ coords: [0, 20, -8, 8],
60
+ };
61
+ return question;
62
+ };
63
+ const getPropositions = (n, { answer, period }) => {
64
+ const propositions = [];
65
+ const correctFrequency = 1 / (period * Math.pow(10, -3));
66
+ (0, exercise_1.addValidProp)(propositions, answer);
67
+ while (propositions.length < n) {
68
+ let random = answer === period + ""
69
+ ? (0, randint_1.randint)(-3, 6) + ""
70
+ : (0, randfloat_1.randfloat)(correctFrequency - 2, correctFrequency + 2, 2, [
71
+ correctFrequency,
72
+ ])
73
+ .toScientific(2)
74
+ .toTex();
75
+ (0, exercise_1.tryToAddWrongProp)(propositions, random);
76
+ }
77
+ return (0, exercise_1.shuffleProps)(propositions, n);
78
+ };
79
+ const isAnswerValid = (ans, { answer }) => {
80
+ return ans === answer;
81
+ };
82
+ exports.findPeriodOrFrequencyFromGraph = {
83
+ id: "findPeriodOrFrequencyFromGraph",
84
+ label: "Lire la période ou la fréquence d'un signal sonore",
85
+ levels: ["2nde"],
86
+ isSingleStep: true,
87
+ sections: ["Son"],
88
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getFindPeriodOrFrequencyFromGraphQuestion, nb),
89
+ qcmTimer: 60,
90
+ freeTimer: 60,
91
+ getPropositions,
92
+ isAnswerValid,
93
+ subject: "Physique",
94
+ hasGeogebra: true,
95
+ };
@@ -2,4 +2,5 @@ export * from "./frequencyComparison";
2
2
  export * from "./findSoundPeriodFromFrequency";
3
3
  export * from "./findSoundFrequencyFromPeriod";
4
4
  export * from "./findPeriodFromGraph";
5
+ export * from "./findPeriodOrFrequencyFromGraph";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/sound/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/sound/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC"}
@@ -18,3 +18,4 @@ __exportStar(require("./frequencyComparison"), exports);
18
18
  __exportStar(require("./findSoundPeriodFromFrequency"), exports);
19
19
  __exportStar(require("./findSoundFrequencyFromPeriod"), exports);
20
20
  __exportStar(require("./findPeriodFromGraph"), exports);
21
+ __exportStar(require("./findPeriodOrFrequencyFromGraph"), exports);
@@ -1,3 +1,4 @@
1
1
  export * from "./findDistanceFromEarth";
2
2
  export * from "./periodicWaveCelerity";
3
+ export * from "./lightDistanceConversion";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/waves/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/waves/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC"}
@@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./findDistanceFromEarth"), exports);
18
18
  __exportStar(require("./periodicWaveCelerity"), exports);
19
+ __exportStar(require("./lightDistanceConversion"), exports);
@@ -0,0 +1,10 @@
1
+ import { Exercise } from "../../../exercises/exercise";
2
+ import { Measure } from "../../../pc/measure/measure";
3
+ type Identifiers = {
4
+ lightYear: number;
5
+ distanceMeters: Measure;
6
+ isLightYearToMeters: boolean;
7
+ };
8
+ export declare const lightDistanceConversion: Exercise<Identifiers>;
9
+ export {};
10
+ //# sourceMappingURL=lightDistanceConversion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightDistanceConversion.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/waves/lightDistanceConversion.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAGnD,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAqKF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAazD,CAAC"}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lightDistanceConversion = void 0;
4
+ const exercise_1 = require("../../../exercises/exercise");
5
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
6
+ const randfloat_1 = require("../../../math/utils/random/randfloat");
7
+ const randint_1 = require("../../../math/utils/random/randint");
8
+ const waves_1 = require("../../../pc/constants/mechanics/waves");
9
+ const measure_1 = require("../../../pc/measure/measure");
10
+ const coinFlip_1 = require("../../../utils/coinFlip");
11
+ const getLightDistanceConversionQuestion = () => {
12
+ const lightYear = (0, randfloat_1.randfloat)(10, 1000, 2);
13
+ const speed = waves_1.lightSpeed.measure;
14
+ const secondsInAYear = 365.25 * 24 * 3600;
15
+ const lightDistanceTravelled = speed.times(secondsInAYear);
16
+ const distanceFromEarthMeters = lightDistanceTravelled.times(lightYear);
17
+ const isLightYearToMeters = (0, coinFlip_1.coinFlip)();
18
+ const answer = isLightYearToMeters
19
+ ? distanceFromEarthMeters.toSignificant(2).toTex()
20
+ : lightYear.toScientific(2).toTex();
21
+ const hint = isLightYearToMeters
22
+ ? `Pour convertir des années-lumière en mètres, utilisez les relations suivantes :
23
+ - Une année-lumière est la distance parcourue par la lumière en une année.
24
+ - La vitesse de la lumière est $c = 3 \\times 10^8 \\text{ m/s}$.
25
+ - Il y a $365.25 \\text{ jours} \\times 24 \\text{ heures/jour} \\times 3600 \\text{ secondes/heure}$ secondes dans une année (Le 0.25 compte pour la moyenne sur quatres années dont une bissextile).
26
+
27
+ La distance parcourue par la lumière en une année est :
28
+ $$
29
+ c \\times \\text{secondes par année}
30
+ $$
31
+
32
+ Pour convertir des années-lumière en mètres, multipliez la distance en années-lumière par la distance parcourue par la lumière en une année.`
33
+ : `Pour convertir une distance en mètres en années-lumières, utilisez les relations suivantes :
34
+ - Une année-lumière est la distance parcourue par la lumière en une année.
35
+ - La vitesse de la lumière est $c = 3 \\times 10^8 \\text{ m/s}$.
36
+ - Il y a $365.25 \\text{ jours} \\times 24 \\text{ heures/jour} \\times 3600 \\text{ secondes/heure}$ secondes dans une année (Le 0.25 compte pour la moyenne sur quatres années dont une bissextile).
37
+
38
+ La distance parcourue par la lumière en une année est :
39
+ $$
40
+ c \\times \\text{secondes par année}
41
+ $$
42
+
43
+ Pour convertir des mètres en années-lumière, divisez la distance en mètres par la distance parcourue par la lumière en une année.`;
44
+ const correction = isLightYearToMeters
45
+ ? `La distance parcourue par la lumière en une année est donnée par :
46
+ $$
47
+ c \\times \\text{secondes par année} = 3 \\times 10^8 \\text{ m/s} \\times 365.25 \\times 24 \\times 3600 \\text{ s}
48
+ $$
49
+
50
+ En simplifiant, nous obtenons :
51
+ $$
52
+ 3 \\times 10^8 \\text{ m/s} \\times 31,557,600 \\text{ s} = 9.46728 \\times 10^{15} \\text{ m}
53
+ $$
54
+
55
+ Pour convertir des années-lumière en mètres, nous utilisons la relation suivante :
56
+ $$
57
+ \\text{distance en mètres} = \\text{distance en années-lumière} \\times 9.46728 \\times 10^{15} \\text{ m}
58
+ $$
59
+
60
+ En appliquant cette relation avec la valeur donnée de ${lightYear} années-lumière, nous obtenons :
61
+ $$
62
+ \\text{distance en mètres} = ${lightYear} \\times 9.46728 \\times 10^{15} = ${distanceFromEarthMeters
63
+ .toSignificant(2)
64
+ .toTex()} \\text{ m}
65
+ $$`
66
+ : `La distance parcourue par la lumière en une année est donnée par :
67
+ $$
68
+ c \\times \\text{secondes par année} = 3 \\times 10^8 \\text{ m/s} \\times 365.25 \\times 24 \\times 3600 \\text{ s}
69
+ $$
70
+
71
+ En simplifiant, nous obtenons :
72
+ $$
73
+ 3 \\times 10^8 \\text{ m/s} \\times 31,557,600 \\text{ s} = 9.46728 \\times 10^{15} \\text{ m}
74
+ $$
75
+
76
+ Pour convertir des mètres en années-lumière, nous utilisons la relation suivante :
77
+ $$
78
+ \\text{distance en années-lumière} = \\frac{\\text{distance en mètres}}{9.46728 \\times 10^{15} \\text{ m}}
79
+ $$
80
+
81
+ En appliquant cette relation avec la valeur donnée de $${distanceFromEarthMeters
82
+ .toSignificant(2)
83
+ .toTex()} \\text{m}$, nous obtenons :
84
+ $$
85
+ \\text{distance en années-lumière} = \\frac{${distanceFromEarthMeters
86
+ .toSignificant(2)
87
+ .toTex()}}{9.46728 \\times 10^{15}} = ${lightYear.toScientific(2).toTex()}
88
+ $$`;
89
+ const question = {
90
+ answer: answer,
91
+ instruction: isLightYearToMeters
92
+ ? `Une planète se trouve à $${lightYear.frenchify()}$ années-lumières de nous. Calculer à quelle distance de la Terre se trouve la planète en mètres (en écriture scientifique avec 2 chiffres significatifs).`
93
+ : `Une planète se trouve à $${distanceFromEarthMeters
94
+ .toSignificant(2)
95
+ .toTex()}\\ \\text{m}$ de nous. Calculer à quelle distance en années-lumières se trouve la planète de la Terre (en écriture scientifique avec 2 chiffres significatifs).`,
96
+ hint,
97
+ correction,
98
+ keys: ["timesTenPower"],
99
+ answerFormat: "tex",
100
+ identifiers: {
101
+ lightYear,
102
+ distanceMeters: distanceFromEarthMeters,
103
+ isLightYearToMeters,
104
+ },
105
+ };
106
+ return question;
107
+ };
108
+ const getPropositions = (n, { answer, lightYear, distanceMeters, isLightYearToMeters }) => {
109
+ const propositions = [];
110
+ (0, exercise_1.addValidProp)(propositions, answer);
111
+ const speed = waves_1.lightSpeed.measure;
112
+ const secondsInAYear = 365.25 * 24 * 3600;
113
+ const lightDistanceTravelled = speed.times(secondsInAYear);
114
+ const distanceFromEarthMeters = lightDistanceTravelled.times(lightYear);
115
+ const w1 = lightDistanceTravelled.divide(lightYear).toSignificant(2).toTex();
116
+ const w2 = distanceFromEarthMeters.toSignificant(2).toTex();
117
+ const w3 = lightYear.toScientific(2).toTex();
118
+ const w4 = lightDistanceTravelled.times(365.25).toSignificant(2).toTex();
119
+ (0, exercise_1.tryToAddWrongProp)(propositions, w1);
120
+ (0, exercise_1.tryToAddWrongProp)(propositions, w2);
121
+ (0, exercise_1.tryToAddWrongProp)(propositions, w3);
122
+ (0, exercise_1.tryToAddWrongProp)(propositions, w4);
123
+ while (propositions.length < n) {
124
+ (0, exercise_1.tryToAddWrongProp)(propositions, new measure_1.Measure((0, randfloat_1.randfloat)(1, 10, 2), (0, randint_1.randint)(1, 10)).toTex());
125
+ }
126
+ return (0, exercise_1.shuffleProps)(propositions, n);
127
+ };
128
+ const isAnswerValid = (ans, { answer, lightYear, distanceMeters, isLightYearToMeters }) => {
129
+ const speed = waves_1.lightSpeed.measure;
130
+ const secondsInAYear = 365.25 * 24 * 3600;
131
+ const lightDistanceTravelled = speed.times(secondsInAYear);
132
+ const distanceFromEarthMeters = lightDistanceTravelled.times(lightYear);
133
+ const validanswer1 = isLightYearToMeters
134
+ ? distanceFromEarthMeters.toSignificant(1).toTex()
135
+ : lightYear.toScientific(1).toTex();
136
+ const validanswer2 = isLightYearToMeters
137
+ ? distanceFromEarthMeters.toSignificant(2).toTex()
138
+ : lightYear.toScientific(2).toTex();
139
+ const validanswer3 = isLightYearToMeters
140
+ ? distanceFromEarthMeters.toSignificant(3).toTex()
141
+ : lightYear.toScientific(3).toTex();
142
+ const validanswer4 = isLightYearToMeters
143
+ ? distanceFromEarthMeters.evaluate()
144
+ : lightYear.toTree().toTex();
145
+ const latexs = [validanswer1, validanswer2, validanswer3, validanswer4];
146
+ return latexs.includes(ans);
147
+ };
148
+ exports.lightDistanceConversion = {
149
+ id: "lightDistanceConversion",
150
+ label: "Conversion entre années-lumière et distance en mètres",
151
+ levels: ["2nde"],
152
+ isSingleStep: true,
153
+ sections: ["Ondes"],
154
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getLightDistanceConversionQuestion, nb),
155
+ qcmTimer: 60,
156
+ freeTimer: 60,
157
+ getPropositions,
158
+ isAnswerValid,
159
+ subject: "Physique",
160
+ };
@@ -0,0 +1,7 @@
1
+ import { Exercise } from "../../../exercises/exercise";
2
+ type Identifiers = {
3
+ mass: number;
4
+ };
5
+ export declare const calculateWeight: Exercise<Identifiers>;
6
+ export {};
7
+ //# sourceMappingURL=calculateWeight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateWeight.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/weight/calculateWeight.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAQlC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AA8DF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAajD,CAAC"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateWeight = void 0;
4
+ const exercise_1 = require("../../../exercises/exercise");
5
+ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQuestions");
6
+ const randfloat_1 = require("../../../math/utils/random/randfloat");
7
+ const randint_1 = require("../../../math/utils/random/randint");
8
+ const gravity_1 = require("../../../pc/constants/gravity");
9
+ const g = +gravity_1.earthGravity.measure.significantPart.toFixed(2);
10
+ const getCalculateWeightQuestion = () => {
11
+ const exo = generateExercise();
12
+ const question = {
13
+ answer: exo.answer.toTex(),
14
+ instruction: exo.instruction,
15
+ keys: [],
16
+ hint: exo.hint,
17
+ correction: exo.correction,
18
+ answerFormat: "tex",
19
+ identifiers: { mass: exo.mass },
20
+ };
21
+ return question;
22
+ };
23
+ const getPropositions = (n, { answer, mass }) => {
24
+ const propositions = [];
25
+ const weight = mass * g;
26
+ (0, exercise_1.addValidProp)(propositions, answer);
27
+ generatePropositions(mass).forEach((value) => (0, exercise_1.tryToAddWrongProp)(propositions, value));
28
+ while (propositions.length < n) {
29
+ let random = (0, randfloat_1.randfloat)(weight - 50, weight + 50, 2, [weight]);
30
+ (0, exercise_1.tryToAddWrongProp)(propositions, random.toScientific(2).toTex());
31
+ }
32
+ return (0, exercise_1.shuffleProps)(propositions, n);
33
+ };
34
+ const isAnswerValid = (ans, { answer }) => {
35
+ return ans === answer;
36
+ };
37
+ const generatePropositions = (mass) => {
38
+ const weight = mass * g;
39
+ const first = (weight * 10).toScientific(2);
40
+ const second = ((0, randfloat_1.randfloat)(weight - 100, weight + 100, 2, [weight]) / 10).toScientific(2);
41
+ return [first.toTex(), second.toTex()];
42
+ };
43
+ const generateExercise = () => {
44
+ const mass = (0, randint_1.randint)(30, 151);
45
+ const instruction = `Soit un objet avec une masse de $${mass}$ $kg$. Calculer le poids de cet objet.`;
46
+ const answer = (mass * g).toScientific(2);
47
+ const hint = `Rappel : le poids $P$ se calcule en utilisant la formule $P=m \\cdot g$. \n \\
48
+ - m est la masse de l'objet (en kilogrammes, $kg$).\n \\
49
+ - g est l'accélération due à la gravité (en $m \\cdot s^${-1}$).`;
50
+ const correction = `Pour calculer le poids de l'objet, on utilise la formule : $P=m \\cdot g$. \n \\
51
+ $P = ${mass.frenchify()} \\times ${g.frenchify()}$ $\\Rightarrow$ $P=${answer.toTex()}$ $N$`;
52
+ return {
53
+ instruction,
54
+ answer,
55
+ hint,
56
+ correction,
57
+ mass,
58
+ };
59
+ };
60
+ exports.calculateWeight = {
61
+ id: "calculateWeight",
62
+ label: "Calculer le poids d'un objet",
63
+ levels: ["2nde"],
64
+ isSingleStep: true,
65
+ sections: ["Forces"],
66
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCalculateWeightQuestion, nb),
67
+ qcmTimer: 60,
68
+ freeTimer: 60,
69
+ getPropositions,
70
+ isAnswerValid,
71
+ subject: "Physique",
72
+ };
@@ -1,2 +1,3 @@
1
1
  export * from "./weightOnTheMoon";
2
+ export * from "./calculateWeight";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/weight/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/weight/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./weightOnTheMoon"), exports);
18
+ __exportStar(require("./calculateWeight"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"weightOnTheMoon.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/weight/weightOnTheMoon.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AASlC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AA+FF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAcjD,CAAC"}
1
+ {"version":3,"file":"weightOnTheMoon.d.ts","sourceRoot":"","sources":["../../../../src/exercises/pc/weight/weightOnTheMoon.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAYlC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AA6FF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAcjD,CAAC"}
@@ -6,15 +6,15 @@ const getDistinctQuestions_1 = require("../../../exercises/utils/getDistinctQues
6
6
  const frenchify_1 = require("../../../math/utils/latex/frenchify");
7
7
  const randfloat_1 = require("../../../math/utils/random/randfloat");
8
8
  const round_1 = require("../../../math/utils/round");
9
- const gravity_1 = require("../../../pc/constants/gravity");
9
+ const gravitational_1 = require("../../../pc/constants/mechanics/gravitational");
10
10
  const coinFlip_1 = require("../../../utils/coinFlip");
11
11
  const getWeightOnTheMoonQuestion = () => {
12
12
  const originIsMoon = (0, coinFlip_1.coinFlip)();
13
13
  const origin = originIsMoon ? "Lune" : "Terre";
14
14
  const destination = originIsMoon ? "Terre" : "Lune";
15
15
  const weight = (0, round_1.round)((0, randfloat_1.randfloat)(2, 30), 1);
16
- const gl = gravity_1.moonGravity.measure.toSignificant(1);
17
- const gt = gravity_1.earthGravity.measure.toSignificant(1);
16
+ const gl = gravitational_1.moonGravity.measure.toSignificant(1);
17
+ const gt = gravitational_1.earthGravity.measure.toSignificant(1);
18
18
  //Pt = m gt = Pl/gl gt
19
19
  //Pl = m gl = Pt/gt gl
20
20
  const answer = (0, round_1.round)(originIsMoon
@@ -24,7 +24,7 @@ const getWeightOnTheMoonQuestion = () => {
24
24
  answer: (0, frenchify_1.frenchify)(answer),
25
25
  instruction: `Un objet a un poids de $${weight.frenchify()}\\ \\text{N}$ sur la ${origin}. Quel est son poids sur la ${destination} ?
26
26
 
27
- Données : $g_T = ${gt.toTex()}\\ ${gravity_1.earthGravity.unit}$ , $g_L = ${gl.toTex()}\\ ${gravity_1.moonGravity.unit}$
27
+ Données : $g_T = ${gt.toTex()}$, $g_L = ${gl.toTex()}$
28
28
  `,
29
29
  //hint: ` Pour calculer la masse de l'objet sur Terre, utiliser la formule : $m=\\frac{p_T}{g_T}$`,
30
30
  hint: "On rappelle que : $m=\\frac{p_T}{g_T}$ et $m=\\frac{p_L}{g_L}$",
@@ -38,8 +38,8 @@ Données : $g_T = ${gt.toTex()}\\ ${gravity_1.earthGravity.unit}$ , $g_L = ${gl.
38
38
  const getPropositions = (n, { answer, originIsMoon, weight }) => {
39
39
  const propositions = [];
40
40
  (0, exercise_1.addValidProp)(propositions, answer);
41
- const gl = gravity_1.moonGravity.measure.toSignificant(1);
42
- const gt = gravity_1.earthGravity.measure.toSignificant(1);
41
+ const gl = gravitational_1.moonGravity.measure.toSignificant(1);
42
+ const gt = gravitational_1.earthGravity.measure.toSignificant(1);
43
43
  (0, exercise_1.tryToAddWrongProp)(propositions, (0, round_1.round)(!originIsMoon
44
44
  ? (weight / gl.evaluate()) * gt.evaluate()
45
45
  : (weight / gt.evaluate()) * gl.evaluate(), 1).frenchify() + "N");
@@ -1,2 +1,2 @@
1
- export declare const getAtoms: (numberOfPeriodicTableLines?: number) => import("../../pc/molecularChemistry/atome").Atome[];
1
+ export declare const getAtoms: (numberOfPeriodicTableLines?: number) => import("../../pc/constants/molecularChemistry/atome").Atome[];
2
2
  //# sourceMappingURL=getAtoms.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAtoms.d.ts","sourceRoot":"","sources":["../../../src/exercises/utils/getAtoms.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,gCAAiC,MAAM,wDAQ3D,CAAC"}
1
+ {"version":3,"file":"getAtoms.d.ts","sourceRoot":"","sources":["../../../src/exercises/utils/getAtoms.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,gCAAiC,MAAM,kEAQ3D,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAtoms = void 0;
4
- const atome_1 = require("../../pc/molecularChemistry/atome");
4
+ const atome_1 = require("../../pc/constants/molecularChemistry/atome");
5
5
  const lineLastElements = ["He", "Ne", "Ar", "Kr", "Xe", "Rn", "Og"];
6
6
  const getAtoms = (numberOfPeriodicTableLines) => {
7
7
  if (!numberOfPeriodicTableLines)
@@ -1,2 +1,2 @@
1
- export declare const deleteObjectNamesFromAnswer: (answer: string[]) => string[];
1
+ export declare const deleteObjectNamesFromAnswer: (answers: string[]) => string[];
2
2
  //# sourceMappingURL=deleteObjectNamesFromAnswer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deleteObjectNamesFromAnswer.d.ts","sourceRoot":"","sources":["../../src/geogebra/deleteObjectNamesFromAnswer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,WAAY,MAAM,EAAE,aAE3D,CAAC"}
1
+ {"version":3,"file":"deleteObjectNamesFromAnswer.d.ts","sourceRoot":"","sources":["../../src/geogebra/deleteObjectNamesFromAnswer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,YAAa,MAAM,EAAE,aAE5D,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deleteObjectNamesFromAnswer = void 0;
4
- const deleteObjectNamesFromAnswer = (answer) => {
5
- return answer.map((s) => s.replace(/[^=]+= * /, ""));
4
+ const deleteObjectNamesFromAnswer = (answers) => {
5
+ return answers.map((s) => s.replace(/^[^=]*=\s*/, ""));
6
6
  };
7
7
  exports.deleteObjectNamesFromAnswer = deleteObjectNamesFromAnswer;