math-exercises 2.2.3 → 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 (352) 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/index.d.ts +188 -11
  238. package/lib/index.d.ts.map +1 -1
  239. package/lib/math/numbers/reals/extendedRingElement.d.ts +1 -2
  240. package/lib/math/numbers/reals/extendedRingElement.d.ts.map +1 -1
  241. package/lib/math/polynomials/affine.d.ts +4 -0
  242. package/lib/math/polynomials/affine.d.ts.map +1 -1
  243. package/lib/math/polynomials/affine.js +10 -0
  244. package/lib/math/polynomials/trinom.d.ts +2 -1
  245. package/lib/math/polynomials/trinom.d.ts.map +1 -1
  246. package/lib/math/polynomials/trinom.js +3 -0
  247. package/lib/pc/constants/atoms.d.ts +0 -1
  248. package/lib/pc/constants/atoms.d.ts.map +1 -1
  249. package/lib/pc/constants/atoms.js +2 -2
  250. package/lib/pc/constants/coulomb.d.ts +3 -0
  251. package/lib/pc/constants/coulomb.d.ts.map +1 -0
  252. package/lib/pc/constants/coulomb.js +13 -0
  253. package/lib/pc/constants/earth.d.ts +0 -1
  254. package/lib/pc/constants/earth.d.ts.map +1 -1
  255. package/lib/pc/constants/earth.js +4 -4
  256. package/lib/pc/constants/gravity.d.ts +1 -1
  257. package/lib/pc/constants/gravity.d.ts.map +1 -1
  258. package/lib/pc/constants/gravity.js +16 -7
  259. package/lib/pc/constants/mechanics/gravitational.d.ts +14 -0
  260. package/lib/pc/constants/mechanics/gravitational.d.ts.map +1 -0
  261. package/lib/pc/constants/mechanics/gravitational.js +37 -0
  262. package/lib/pc/constants/mechanics/planets.d.ts +15 -0
  263. package/lib/pc/constants/mechanics/planets.d.ts.map +1 -0
  264. package/lib/pc/constants/mechanics/planets.js +35 -0
  265. package/lib/pc/constants/mechanics/waves.d.ts +8 -0
  266. package/lib/pc/constants/mechanics/waves.d.ts.map +1 -0
  267. package/lib/pc/constants/mechanics/waves.js +8 -0
  268. package/lib/pc/constants/molecularChemistry/atomSymbols.d.ts +2 -0
  269. package/lib/pc/constants/molecularChemistry/atomSymbols.d.ts.map +1 -0
  270. package/lib/pc/constants/molecularChemistry/atomSymbols.js +2 -0
  271. package/lib/pc/constants/molecularChemistry/atome.d.ts +18 -0
  272. package/lib/pc/constants/molecularChemistry/atome.d.ts.map +1 -0
  273. package/lib/pc/constants/molecularChemistry/atome.js +174 -0
  274. package/lib/pc/constants/molecularChemistry/atoms.d.ts +9 -0
  275. package/lib/pc/constants/molecularChemistry/atoms.d.ts.map +1 -0
  276. package/lib/pc/constants/molecularChemistry/atoms.js +15 -0
  277. package/lib/pc/constants/molecularChemistry/molecule.d.ts +25 -0
  278. package/lib/pc/constants/molecularChemistry/molecule.d.ts.map +1 -0
  279. package/lib/pc/constants/molecularChemistry/molecule.js +579 -0
  280. package/lib/pc/constants/molecularChemistry/reaction.d.ts +27 -0
  281. package/lib/pc/constants/molecularChemistry/reaction.d.ts.map +1 -0
  282. package/lib/pc/constants/molecularChemistry/reaction.js +471 -0
  283. package/lib/pc/measure/measure.d.ts +16 -6
  284. package/lib/pc/measure/measure.d.ts.map +1 -1
  285. package/lib/pc/measure/measure.js +112 -16
  286. package/lib/pc/units/AmountOfSubstance.d.ts +17 -0
  287. package/lib/pc/units/AmountOfSubstance.d.ts.map +1 -0
  288. package/lib/pc/units/AmountOfSubstance.js +40 -0
  289. package/lib/pc/units/PressionUnit.d.ts +17 -0
  290. package/lib/pc/units/PressionUnit.d.ts.map +1 -0
  291. package/lib/pc/units/PressionUnit.js +32 -0
  292. package/lib/pc/units/distanceUnits.d.ts +16 -0
  293. package/lib/pc/units/distanceUnits.d.ts.map +1 -0
  294. package/lib/pc/units/distanceUnits.js +32 -0
  295. package/lib/pc/units/divideUnit.d.ts +13 -0
  296. package/lib/pc/units/divideUnit.d.ts.map +1 -0
  297. package/lib/pc/units/divideUnit.js +32 -0
  298. package/lib/pc/units/electricalChargeUnit.d.ts +17 -0
  299. package/lib/pc/units/electricalChargeUnit.d.ts.map +1 -0
  300. package/lib/pc/units/electricalChargeUnit.js +40 -0
  301. package/lib/pc/units/electricalResistanceUnit.d.ts +18 -0
  302. package/lib/pc/units/electricalResistanceUnit.d.ts.map +1 -0
  303. package/lib/pc/units/electricalResistanceUnit.js +32 -0
  304. package/lib/pc/units/electricalUnit.d.ts +18 -0
  305. package/lib/pc/units/electricalUnit.d.ts.map +1 -0
  306. package/lib/pc/units/electricalUnit.js +32 -0
  307. package/lib/pc/units/energyUnit.d.ts +16 -0
  308. package/lib/pc/units/energyUnit.d.ts.map +1 -0
  309. package/lib/pc/units/energyUnit.js +32 -0
  310. package/lib/pc/units/forceUnits.d.ts +16 -0
  311. package/lib/pc/units/forceUnits.d.ts.map +1 -0
  312. package/lib/pc/units/forceUnits.js +32 -0
  313. package/lib/pc/units/frequenceUnit.d.ts +17 -0
  314. package/lib/pc/units/frequenceUnit.d.ts.map +1 -0
  315. package/lib/pc/units/frequenceUnit.js +40 -0
  316. package/lib/pc/units/interfaces/baseTenUnit.d.ts +10 -0
  317. package/lib/pc/units/interfaces/baseTenUnit.d.ts.map +1 -0
  318. package/lib/pc/units/interfaces/baseTenUnit.js +16 -0
  319. package/lib/pc/units/interfaces/basicUnit.d.ts +13 -0
  320. package/lib/pc/units/interfaces/basicUnit.d.ts.map +1 -0
  321. package/lib/pc/units/interfaces/basicUnit.js +19 -0
  322. package/lib/pc/units/interfaces/unit.d.ts +13 -0
  323. package/lib/pc/units/interfaces/unit.d.ts.map +1 -0
  324. package/lib/pc/units/interfaces/unit.js +2 -0
  325. package/lib/pc/units/massUnits.d.ts +17 -0
  326. package/lib/pc/units/massUnits.d.ts.map +1 -0
  327. package/lib/pc/units/massUnits.js +32 -0
  328. package/lib/pc/units/mulitplyUnits.d.ts +13 -0
  329. package/lib/pc/units/mulitplyUnits.d.ts.map +1 -0
  330. package/lib/pc/units/mulitplyUnits.js +26 -0
  331. package/lib/pc/units/powerUnits.d.ts +14 -0
  332. package/lib/pc/units/powerUnits.d.ts.map +1 -0
  333. package/lib/pc/units/powerUnits.js +26 -0
  334. package/lib/pc/units/timeUnits.d.ts +13 -0
  335. package/lib/pc/units/timeUnits.d.ts.map +1 -0
  336. package/lib/pc/units/timeUnits.js +42 -0
  337. package/lib/pc/units/volumeUnit.d.ts +17 -0
  338. package/lib/pc/units/volumeUnit.d.ts.map +1 -0
  339. package/lib/pc/units/volumeUnit.js +32 -0
  340. package/lib/pc/units/wattUnit.d.ts +17 -0
  341. package/lib/pc/units/wattUnit.d.ts.map +1 -0
  342. package/lib/pc/units/wattUnit.js +32 -0
  343. package/lib/server.d.ts.map +1 -1
  344. package/lib/server.js +6 -6
  345. package/lib/tree/nodes/node.d.ts +3 -0
  346. package/lib/tree/nodes/node.d.ts.map +1 -1
  347. package/lib/tree/nodes/operators/addNode.js +2 -2
  348. package/lib/tree/nodes/operators/multiplyNode.d.ts.map +1 -1
  349. package/lib/tree/nodes/operators/multiplyNode.js +32 -10
  350. package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
  351. package/lib/tree/nodes/operators/powerNode.js +12 -0
  352. package/package.json +1 -1
@@ -83,9 +83,10 @@ export interface Exercise<TIdentifiers = {}> {
83
83
  isAnswerValid?: VEA<TIdentifiers>;
84
84
  isGGBAnswerValid?: GGBVEA<TIdentifiers>;
85
85
  hasGeogebra?: boolean;
86
+ hasHintAndCorrection?: boolean;
86
87
  subject: "Mathématiques" | "Chimie" | "Physique";
87
88
  }
88
89
  export type MathLevel = "6ème" | "5ème" | "4ème" | "3ème" | "2nde" | "1reTech" | "1reESM" | "1reSpé" | "TermSpé" | "TermTech" | "MathExp" | "MathComp" | "CAP" | "2ndPro" | "1rePro" | "TermPro";
89
90
  export type MathSection = "Aires" | "Arithmétique" | "Calcul littéral" | "Calculs" | "Combinatoire et dénombrement" | "Conversions" | "Dérivation" | "Droites" | "Ensembles et intervalles" | "Équations" | "Équations différentielles" | "Exponentielle" | "Fonction cube" | "Fonction inverse" | "Fonctions" | "Fonctions affines" | "Fonctions de référence" | "Fractions" | "Géométrie cartésienne" | "Géométrie euclidienne" | "Inéquations" | "Intégration" | "Limites" | "Logarithme népérien" | "Logarithme décimal" | "Matrices" | "Nombres complexes" | "Périmètres" | "Pourcentages" | "Primitives" | "Probabilités" | "Produit scalaire" | "Proportionnalité" | "Python" | "Puissances" | "Python" | "Racines carrées" | "Second degré" | "Statistiques" | "Suites" | "Systèmes" | "Théorème de Pythagore" | "Théorème de Thalès" | "Trigonométrie" | "Valeur absolue" | "Vecteurs";
90
- export type PCSection = "Réaction chimique" | "Chimie des solutions" | "Forces" | "Chimie organique" | "Mécanique" | "Lumière" | "Acide / Base" | "Constitution et transformations de la matière" | "Ondes" | "Son" | "Corps purs et mélanges" | "Fluides" | "Mol" | "Électricité" | "Spectrophotométrie" | "Quantique";
91
+ export type PCSection = "Réaction chimique" | "Chimie des solutions" | "Forces" | "Chimie organique" | "Mécanique" | "Lumière" | "Acide / Base" | "Constitution et transformations de la matière" | "Ondes" | "Son" | "Corps purs et mélanges" | "Fluides" | "Mol" | "Électricité" | "Mécanique gravitationnelle" | "Spectrophotométrie" | "Quantique" | "Thermodynamique" | "Énergie";
91
92
  //# sourceMappingURL=exercise.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exercise.d.ts","sourceRoot":"","sources":["../../src/exercises/exercise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exercise.d.ts","sourceRoot":"","sources":["../../src/exercises/exercise.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  export * from "./proportionalityTable";
2
2
  export * from "./proportionalityTableCoefficient";
3
+ export * from "./scaleCalculation";
4
+ export * from "./scaleUsage";
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/proportionality/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/proportionality/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
@@ -16,3 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./proportionalityTable"), exports);
18
18
  __exportStar(require("./proportionalityTableCoefficient"), exports);
19
+ __exportStar(require("./scaleCalculation"), exports);
20
+ __exportStar(require("./scaleUsage"), exports);
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../../exercises/exercise";
2
+ type Identifiers = {
3
+ scale: number;
4
+ isSmallScale: boolean;
5
+ fakeDistance: number;
6
+ };
7
+ export declare const scaleCalculation: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=scaleCalculation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaleCalculation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/proportionality/scaleCalculation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AASlC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IAEtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAmFF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAelD,CAAC"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.scaleCalculation = void 0;
4
+ const exercise_1 = require("../../../../exercises/exercise");
5
+ const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
6
+ const rational_1 = require("../../../../math/numbers/rationals/rational");
7
+ const randint_1 = require("../../../../math/utils/random/randint");
8
+ const measure_1 = require("../../../../pc/measure/measure");
9
+ const distanceUnits_1 = require("../../../../pc/units/distanceUnits");
10
+ const coinFlip_1 = require("../../../../utils/coinFlip");
11
+ const getScaleCalculationQuestion = () => {
12
+ const isSmallScale = (0, coinFlip_1.coinFlip)();
13
+ const scale = isSmallScale ? (0, randint_1.randint)(1, 5) * 10 : (0, randint_1.randint)(5, 100) * 1000;
14
+ const realUnit = isSmallScale ? distanceUnits_1.DistanceUnit.m : distanceUnits_1.DistanceUnit.km;
15
+ const cm = distanceUnits_1.DistanceUnit.cm;
16
+ const fakeDistanceNb = isSmallScale ? (0, randint_1.randint)(5, 100) : (0, randint_1.randint)(1, 100);
17
+ const fakeDistance = new measure_1.Measure(fakeDistanceNb, 0, cm);
18
+ const realDistanceNb = (scale * fakeDistance.evaluate()) / (isSmallScale ? 100 : 100000);
19
+ const realDistance = new measure_1.Measure(realDistanceNb, 0, realUnit);
20
+ const instruction = isSmallScale
21
+ ? `Un bateau de $${realDistance.toTex({
22
+ notScientific: true,
23
+ })}$ est représenté par un modèle réduit de $${fakeDistance.toTex({
24
+ notScientific: true,
25
+ })}$. Quelle est l'échelle du modèle réduit ?`
26
+ : `La distance entre deux villes est de $${realDistance.toTex({
27
+ notScientific: true,
28
+ })}$. Sur une carte, cette distance mesure $${fakeDistance.toTex({
29
+ notScientific: true,
30
+ })}$. Quelle est l'échelle de la carte ?`;
31
+ const answer = new rational_1.Rational(1, scale).toTex();
32
+ const question = {
33
+ answer,
34
+ instruction,
35
+ keys: [],
36
+ answerFormat: "tex",
37
+ hint: `Convertis les longueurs en $${cm.toTex()}$, puis fais un calcul de propotionnalité.`,
38
+ correction: `On convertit d'abord les longueurs en cm :
39
+
40
+ $${realDistance.toTex({ notScientific: true })} = ${realDistance
41
+ .convert("cm")
42
+ .toTex({ notScientific: true })}$
43
+
44
+ Puis, on fait un calcul de proportionnalité : puisque $${fakeDistance.toTex({
45
+ notScientific: true,
46
+ })}$ représentent $${realDistance.convert("cm").toTex({
47
+ notScientific: true,
48
+ })}$ réels, alors $1${cm.toTex()}$ représente $\\frac{${realDistance
49
+ .convert("cm")
50
+ .toTex({ notScientific: true, hideUnit: true })}}{${fakeDistance.toTex({
51
+ notScientific: true,
52
+ hideUnit: true,
53
+ })}}=${scale}${cm.toTex()}$ réels.
54
+
55
+ L'échelle est donc de $${answer}$.
56
+ `,
57
+ identifiers: {
58
+ scale,
59
+ fakeDistance: fakeDistanceNb,
60
+ isSmallScale,
61
+ },
62
+ };
63
+ return question;
64
+ };
65
+ const getPropositions = (n, { answer, scale, isSmallScale }) => {
66
+ const propositions = [];
67
+ (0, exercise_1.addValidProp)(propositions, answer);
68
+ while (propositions.length < n) {
69
+ (0, exercise_1.tryToAddWrongProp)(propositions, new rational_1.Rational(1, isSmallScale ? (0, randint_1.randint)(1, 5) * 10 : (0, randint_1.randint)(5, 100) * 1000).toTex());
70
+ }
71
+ return (0, exercise_1.shuffleProps)(propositions, n);
72
+ };
73
+ const isAnswerValid = (ans, { answer }) => {
74
+ return ans === answer;
75
+ };
76
+ exports.scaleCalculation = {
77
+ id: "scaleCalculation",
78
+ connector: "=",
79
+ label: "Calculer une échelle",
80
+ levels: [],
81
+ isSingleStep: true,
82
+ sections: [],
83
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getScaleCalculationQuestion, nb),
84
+ qcmTimer: 60,
85
+ freeTimer: 60,
86
+ getPropositions,
87
+ isAnswerValid,
88
+ subject: "Mathématiques",
89
+ hasHintAndCorrection: true,
90
+ };
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../../exercises/exercise";
2
+ type Identifiers = {
3
+ scale: number;
4
+ isSmallScale: boolean;
5
+ fakeDistance: number;
6
+ };
7
+ export declare const scaleUsage: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=scaleUsage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaleUsage.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calcul/proportionality/scaleUsage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IAEtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAiGF,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,WAAW,CAc5C,CAAC"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.scaleUsage = void 0;
4
+ const exercise_1 = require("../../../../exercises/exercise");
5
+ const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
6
+ const rational_1 = require("../../../../math/numbers/rationals/rational");
7
+ const randint_1 = require("../../../../math/utils/random/randint");
8
+ const measure_1 = require("../../../../pc/measure/measure");
9
+ const distanceUnits_1 = require("../../../../pc/units/distanceUnits");
10
+ const multiplyNode_1 = require("../../../../tree/nodes/operators/multiplyNode");
11
+ const coinFlip_1 = require("../../../../utils/coinFlip");
12
+ const getScaleUsageQuestion = () => {
13
+ const isSmallScale = (0, coinFlip_1.coinFlip)();
14
+ const isFakeAsked = (0, coinFlip_1.coinFlip)();
15
+ const scale = isSmallScale ? (0, randint_1.randint)(1, 5) * 10 : (0, randint_1.randint)(5, 100) * 1000;
16
+ const realUnit = isSmallScale ? distanceUnits_1.DistanceUnit.m : distanceUnits_1.DistanceUnit.km;
17
+ const cm = distanceUnits_1.DistanceUnit.cm;
18
+ const fakeDistanceNb = isSmallScale ? (0, randint_1.randint)(5, 100) : (0, randint_1.randint)(1, 100);
19
+ const fakeDistance = new measure_1.Measure(fakeDistanceNb, 0, cm);
20
+ const realDistanceNb = (scale * fakeDistance.evaluate()) / (isSmallScale ? 100 : 100000);
21
+ const realDistance = new measure_1.Measure(realDistanceNb, 0, realUnit);
22
+ const scaleFrac = new rational_1.Rational(1, scale).toTex();
23
+ const answer = (isFakeAsked ? fakeDistanceNb : realDistanceNb).frenchify();
24
+ const instruction = `Une carte est à l'échelle $${scaleFrac}$. ${!isFakeAsked
25
+ ? `Quelle est la distance réelle représentée par $${fakeDistance.toTex({
26
+ notScientific: true,
27
+ })}$ sur cette carte ? Donner la réponse en $${realUnit.toTex()}$.`
28
+ : `Quelle est la distance représentée sur la carte pour une distance réelle de $${realDistance.toTex({ notScientific: true })}$ ? Donner la distance en $${cm.toTex()}$.`}`;
29
+ const question = {
30
+ answer,
31
+ instruction,
32
+ keys: [],
33
+ answerFormat: "tex",
34
+ hint: `La carte est à l'échelle $${scaleFrac}$ : cela signifie que $1${cm.toTex()}$ sur cette carte représente $${scale}${cm.toTex()}$ dans la réalité. Il faut donc faire un calcul de proportionnalité.`,
35
+ correction: `La carte est à l'échelle $${scaleFrac}$ : cela signifie que $1${cm.toTex()}$ sur cette carte représente $${scale}${cm.toTex()}$ dans la réalité.
36
+
37
+ ${isFakeAsked
38
+ ? `
39
+ On convertit d'abord la distance réelle en $${cm.toTex()}$ :
40
+
41
+
42
+ $${realDistance.toTex({ notScientific: true })} = ${realDistance
43
+ .convert("cm")
44
+ .toTex({ notScientific: true })}$
45
+
46
+ Ainsi, $${realDistance.toTex({
47
+ notScientific: true,
48
+ })}$ dans la réalité représentent $\\frac{
49
+ ${realDistance.convert("cm").toTex({
50
+ notScientific: true,
51
+ })}}{${scale}} = ${fakeDistance.toTex({
52
+ notScientific: true,
53
+ })}$ sur la carte.`
54
+ : `
55
+ Donc, $${fakeDistance.toTex({
56
+ notScientific: true,
57
+ })}$ sur la carte représentent $${new multiplyNode_1.MultiplyNode(fakeDistanceNb.toTree(), scale.toTree()).toTex()} = ${realDistance.convert("cm").toTex({
58
+ notScientific: true,
59
+ })}$ dans la réalité. On convertit alors en $${realUnit.toTex()}$ : la distance réelle est donc $${answer}${realUnit.toTex()}$.`}
60
+
61
+ `,
62
+ identifiers: {
63
+ scale,
64
+ fakeDistance: fakeDistanceNb,
65
+ isSmallScale,
66
+ },
67
+ };
68
+ return question;
69
+ };
70
+ const getPropositions = (n, { answer, scale, isSmallScale }) => {
71
+ const propositions = [];
72
+ (0, exercise_1.addValidProp)(propositions, answer);
73
+ while (propositions.length < n) {
74
+ (0, exercise_1.tryToAddWrongProp)(propositions, new rational_1.Rational(1, isSmallScale ? (0, randint_1.randint)(1, 5) * 10 : (0, randint_1.randint)(5, 100) * 1000).toTex());
75
+ }
76
+ return (0, exercise_1.shuffleProps)(propositions, n);
77
+ };
78
+ const isAnswerValid = (ans, { answer }) => {
79
+ return ans === answer;
80
+ };
81
+ exports.scaleUsage = {
82
+ id: "scaleUsage",
83
+ connector: "=",
84
+ label: "Calculer une échelle",
85
+ levels: [],
86
+ isSingleStep: true,
87
+ sections: [],
88
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getScaleUsageQuestion, nb),
89
+ qcmTimer: 60,
90
+ freeTimer: 60,
91
+ getPropositions,
92
+ isAnswerValid,
93
+ subject: "Mathématiques",
94
+ hasHintAndCorrection: true,
95
+ };
@@ -0,0 +1,7 @@
1
+ import { Exercise } from "../../../../exercises/exercise";
2
+ type Identifiers = {
3
+ coeffs: number[];
4
+ };
5
+ export declare const canonicalFormDevelopment: Exercise<Identifiers>;
6
+ export {};
7
+ //# sourceMappingURL=canonicalFormDevelopment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonicalFormDevelopment.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/distributivity/canonicalFormDevelopment.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAsDF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAc1D,CAAC"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canonicalFormDevelopment = void 0;
4
+ const exercise_1 = require("../../../../exercises/exercise");
5
+ const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
6
+ const affine_1 = require("../../../../math/polynomials/affine");
7
+ const trinom_1 = require("../../../../math/polynomials/trinom");
8
+ const addNode_1 = require("../../../../tree/nodes/operators/addNode");
9
+ const multiplyNode_1 = require("../../../../tree/nodes/operators/multiplyNode");
10
+ const getCanonicalFormDevelopmentQuestion = () => {
11
+ const trinom = trinom_1.TrinomConstructor.randomCanonical();
12
+ const answer = trinom.toTree().toTex();
13
+ const cano = trinom.getCanonicalForm();
14
+ const a = trinom.a;
15
+ const alpha = trinom.getAlpha();
16
+ const beta = trinom.getBeta();
17
+ const question = {
18
+ answer,
19
+ instruction: `Développer et réduire : $${cano.toTex()}$`,
20
+ keys: ["x"],
21
+ answerFormat: "tex",
22
+ identifiers: { coeffs: trinom.coefficients },
23
+ hint: "Développe d'abord le terme qui est au carré en te servant d'une identité remarquable.",
24
+ correction: `
25
+ $${cano.toTex()}$
26
+
27
+ $= ${new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(a.toTree(), new affine_1.Affine(1, -alpha).square().toTree()), beta.toTree()).toTex()}$
28
+
29
+ $= ${answer}$
30
+ `,
31
+ };
32
+ return question;
33
+ };
34
+ const getPropositions = (n, { answer }) => {
35
+ const propositions = [];
36
+ (0, exercise_1.addValidProp)(propositions, answer);
37
+ while (propositions.length < n) {
38
+ (0, exercise_1.tryToAddWrongProp)(propositions, trinom_1.TrinomConstructor.random({ min: -100, max: 100 }, { min: -100, max: 100 }, { min: -100, max: 100 }).toTex());
39
+ }
40
+ return (0, exercise_1.shuffleProps)(propositions, n);
41
+ };
42
+ const isAnswerValid = (ans, { answer, coeffs }) => {
43
+ const trinom = trinom_1.TrinomConstructor.fromCoeffs(coeffs);
44
+ return trinom.toTree().toAllValidTexs().includes(ans);
45
+ };
46
+ exports.canonicalFormDevelopment = {
47
+ id: "canonicalFormDevelopment",
48
+ connector: "=",
49
+ label: "Développer une forme canonique $a(x-\\alpha)^2 + \\beta$",
50
+ levels: [],
51
+ isSingleStep: true,
52
+ sections: [],
53
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getCanonicalFormDevelopmentQuestion, nb),
54
+ qcmTimer: 60,
55
+ freeTimer: 60,
56
+ getPropositions,
57
+ isAnswerValid,
58
+ subject: "Mathématiques",
59
+ };
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../../exercises/exercise";
2
+ type Identifiers = {
3
+ coeff: number;
4
+ affine1: number[];
5
+ affine2: number[];
6
+ };
7
+ export declare const doubleDistributivityWithCoeff: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=doubleDistributivityWithCoeff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doubleDistributivityWithCoeff.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/distributivity/doubleDistributivityWithCoeff.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAQlC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAiGF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,CAe/D,CAAC"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.doubleDistributivityWithCoeff = void 0;
4
+ const exercise_1 = require("../../../../exercises/exercise");
5
+ const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
6
+ const affine_1 = require("../../../../math/polynomials/affine");
7
+ const trinom_1 = require("../../../../math/polynomials/trinom");
8
+ const randint_1 = require("../../../../math/utils/random/randint");
9
+ const addNode_1 = require("../../../../tree/nodes/operators/addNode");
10
+ const multiplyNode_1 = require("../../../../tree/nodes/operators/multiplyNode");
11
+ const getDoubleDistributivityWithCoeffQuestion = () => {
12
+ const coeff = (0, randint_1.randint)(-10, 11, [-1, 0, 1]);
13
+ const affine1 = affine_1.AffineConstructor.random(undefined, {
14
+ excludes: [0],
15
+ });
16
+ const affine2 = affine_1.AffineConstructor.random(undefined, {
17
+ excludes: [0],
18
+ });
19
+ const statement = new multiplyNode_1.MultiplyNode(new multiplyNode_1.MultiplyNode(coeff.toTree(), affine1.toTree()), affine2.toTree()).toTex();
20
+ const affine3 = affine1.times(coeff);
21
+ const answer = affine3.multiply(affine2).toTree().toTex();
22
+ const question = {
23
+ answer,
24
+ instruction: `Développer et réduire : $${statement}$`,
25
+ keys: ["x"],
26
+ answerFormat: "tex",
27
+ identifiers: {
28
+ coeff,
29
+ affine1: affine1.coefficients,
30
+ affine2: affine2.coefficients,
31
+ },
32
+ hint: `Choisis deux facteurs de ce produit et multiplie les entre eux. Puis, multiplier le résultat obtenu par le troisième terme.`,
33
+ correction: `On commence par multiplier les deux premiers termes entre eux :
34
+
35
+ $${statement} = ${new multiplyNode_1.MultiplyNode(affine1.times(coeff).toTree(), affine2.toTree()).toTex()}$
36
+
37
+ Puis, on utilise la double distributivité :
38
+
39
+ $${new multiplyNode_1.MultiplyNode(affine3.toTree(), affine2.toTree()).toTex()} = ${new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new affine_1.Affine(affine3.a, 0).toTree(), new affine_1.Affine(affine2.a, 0).toTree()), new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new affine_1.Affine(affine3.a, 0).toTree(), affine2.b.toTree()), new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(affine3.b.toTree(), new affine_1.Affine(affine2.a, 0).toTree()), new multiplyNode_1.MultiplyNode(affine3.b.toTree(), affine2.b.toTree())))).toTex()} = ${answer}$.
40
+ `,
41
+ };
42
+ return question;
43
+ };
44
+ const getPropositions = (n, { answer }) => {
45
+ const propositions = [];
46
+ (0, exercise_1.addValidProp)(propositions, answer);
47
+ while (propositions.length < n) {
48
+ (0, exercise_1.tryToAddWrongProp)(propositions, trinom_1.TrinomConstructor.random({ min: -100, max: 100 }, { min: -100, max: 100 }, { min: -100, max: 100 })
49
+ .toTree()
50
+ .toTex());
51
+ }
52
+ return (0, exercise_1.shuffleProps)(propositions, n);
53
+ };
54
+ const isAnswerValid = (ans, { answer, affine1, affine2, coeff }) => {
55
+ const affine1Obj = affine_1.AffineConstructor.fromCoeffs(affine1);
56
+ const affine2Obj = affine_1.AffineConstructor.fromCoeffs(affine2);
57
+ const answerTree = affine1Obj.times(coeff).multiply(affine2Obj).toTree();
58
+ return answerTree.toAllValidTexs().includes(ans);
59
+ };
60
+ const isGGBAnswerValid = (ans, { ggbAnswer }) => {
61
+ throw Error("GGBVea not implemented");
62
+ };
63
+ exports.doubleDistributivityWithCoeff = {
64
+ id: "doubleDistributivityWithCoeff",
65
+ connector: "=",
66
+ label: "Développer une expression du type $a(bx+c)(dx+e)$",
67
+ levels: [],
68
+ isSingleStep: true,
69
+ sections: [],
70
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getDoubleDistributivityWithCoeffQuestion, nb),
71
+ qcmTimer: 60,
72
+ freeTimer: 60,
73
+ getPropositions,
74
+ isAnswerValid,
75
+ isGGBAnswerValid,
76
+ subject: "Mathématiques",
77
+ };
@@ -4,4 +4,6 @@ export { firstIdentity } from "./firstIdentity";
4
4
  export { secondIdentity } from "./secondIdentity";
5
5
  export * from "./simpleDistributivity";
6
6
  export { thirdIdentity } from "./thirdIdentity";
7
+ export * from "./doubleDistributivityWithCoeff";
8
+ export * from "./canonicalFormDevelopment";
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/distributivity/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/distributivity/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC"}
@@ -24,3 +24,5 @@ Object.defineProperty(exports, "secondIdentity", { enumerable: true, get: functi
24
24
  __exportStar(require("./simpleDistributivity"), exports);
25
25
  var thirdIdentity_1 = require("./thirdIdentity");
26
26
  Object.defineProperty(exports, "thirdIdentity", { enumerable: true, get: function () { return thirdIdentity_1.thirdIdentity; } });
27
+ __exportStar(require("./doubleDistributivityWithCoeff"), exports);
28
+ __exportStar(require("./canonicalFormDevelopment"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"lengthConversion.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/conversion/lengthConversion.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,QAAQ,EAQT,MAAM,gBAAgB,CAAC;AAIxB,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,MAAM,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAyDF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAalD,CAAC"}
1
+ {"version":3,"file":"lengthConversion.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/conversion/lengthConversion.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,QAAQ,EAQT,MAAM,gBAAgB,CAAC;AAIxB,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,MAAM,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AA+DF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAalD,CAAC"}
@@ -3,20 +3,34 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.lengthConversion = void 0;
4
4
  const decimal_1 = require("../../../math/numbers/decimals/decimal");
5
5
  const randint_1 = require("../../../math/utils/random/randint");
6
+ const measure_1 = require("../../../pc/measure/measure");
7
+ const distanceUnits_1 = require("../../../pc/units/distanceUnits");
6
8
  const shuffle_1 = require("../../../utils/shuffle");
7
9
  const exercise_1 = require("../../exercise");
8
10
  const getDistinctQuestions_1 = require("../../utils/getDistinctQuestions");
9
11
  const units = ["mm", "cm", "dm", "m", "dam", "hm", "km"];
12
+ const unitsObj = [
13
+ distanceUnits_1.DistanceUnit.mm,
14
+ distanceUnits_1.DistanceUnit.cm,
15
+ distanceUnits_1.DistanceUnit.dm,
16
+ distanceUnits_1.DistanceUnit.m,
17
+ distanceUnits_1.DistanceUnit.dam,
18
+ distanceUnits_1.DistanceUnit.hm,
19
+ distanceUnits_1.DistanceUnit.km,
20
+ ];
10
21
  const getLengthConversion = () => {
11
22
  const randomUnitIndex = (0, randint_1.randint)(0, 7);
12
23
  const randomUnitInstructionIndex = (0, randint_1.randint)(0, 7, [randomUnitIndex]);
13
24
  const randomLength = decimal_1.DecimalConstructor.random(0, 1000, (0, randint_1.randint)(0, 4));
25
+ const measure = new measure_1.Measure(randomLength.value, 0, unitsObj[randomUnitIndex]);
14
26
  console.log("length conv q");
15
- const answer = (randomLength.multiplyByPowerOfTen(randomUnitIndex - randomUnitInstructionIndex).value + "").replace(".", ",");
27
+ const answer = measure
28
+ .convert(units[randomUnitInstructionIndex])
29
+ .toTex({ notScientific: true });
16
30
  const question = {
17
- instruction: `Compléter : $${randomLength.value
18
- .toString()
19
- .replace(".", ",")} \\textrm{${units[randomUnitIndex]}} = \\ldots \\textrm{${units[randomUnitInstructionIndex]}}$`,
31
+ instruction: `Compléter : $${measure.toTex({
32
+ notScientific: true,
33
+ })} = \\ldots ${unitsObj[randomUnitInstructionIndex].toTex()}$`,
20
34
  answer,
21
35
  keys: [],
22
36
  answerFormat: "tex",
@@ -0,0 +1,10 @@
1
+ import { Exercise } from "../../../../exercises/exercise";
2
+ type Identifiers = {
3
+ xA: number;
4
+ xB: number;
5
+ yA: number;
6
+ yB: number;
7
+ };
8
+ export declare const affineExpressionFromTwoImages: Exercise<Identifiers>;
9
+ export {};
10
+ //# sourceMappingURL=affineExpressionFromTwoImages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affineExpressionFromTwoImages.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/affines/affineExpressionFromTwoImages.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,0BAA0B,CAAC;AAWlC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AA8EF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,CAe/D,CAAC"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.affineExpressionFromTwoImages = void 0;
4
+ const exercise_1 = require("../../../../exercises/exercise");
5
+ const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
6
+ const rational_1 = require("../../../../math/numbers/rationals/rational");
7
+ const affine_1 = require("../../../../math/polynomials/affine");
8
+ const randint_1 = require("../../../../math/utils/random/randint");
9
+ const addNode_1 = require("../../../../tree/nodes/operators/addNode");
10
+ const multiplyNode_1 = require("../../../../tree/nodes/operators/multiplyNode");
11
+ const substractNode_1 = require("../../../../tree/nodes/operators/substractNode");
12
+ const variableNode_1 = require("../../../../tree/nodes/variables/variableNode");
13
+ const shuffle_1 = require("../../../../utils/shuffle");
14
+ const getAffineExpressionFromTwoImagesQuestion = () => {
15
+ const [xA, yA] = [1, 2].map((el) => (0, randint_1.randint)(-9, 10));
16
+ const xB = (0, randint_1.randint)(-9, 10, [xA]);
17
+ const yB = (0, randint_1.randint)(-9, 10);
18
+ const a = new rational_1.Rational(yB - yA, xB - xA).simplify().toTree();
19
+ //yA = axA+b donc b = yA-axA
20
+ const b = new substractNode_1.SubstractNode(yA.toTree(), new multiplyNode_1.MultiplyNode(a, xA.toTree())).simplify();
21
+ const answer = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(a, new variableNode_1.VariableNode("x")), b)
22
+ .simplify({ forceDistributeFractions: true })
23
+ .toTex();
24
+ console.log(a.toTex(), b.toTex());
25
+ const question = {
26
+ instruction: `Soit $f$ une fonction affine telle que $f(${xA}) = ${yA}$ et $f(${xB}) = ${yB}$.
27
+
28
+ Quelle est l'expression algébrique de $f$ ?`,
29
+ startStatement: "a",
30
+ answer,
31
+ hint: "Calcule d'abord le taux d'accroissement de $f$ en utilisant la formule $a = \\frac{y_2-y_1}{x_2-x_1}$. Ensuite, utilise les coordonnées d'un des deux points pour déterminer l'ordonnée à l'origine.",
32
+ correction: `On calcule d'abord le taux d'accroissement $a$ :
33
+
34
+ $a = \\frac{y_2-y_1}{x_2-x_1} = \\frac{${yB}-${yA}}{${xB}-${xA}} = ${a.toTex()}$
35
+
36
+ Il faut ensuite trouver l'ordonnée à l'origine $b$. On sait que $f(${xA}) = ${yA}$. Or pour tout $x$ réel, on a $f(x) = ax+b$.
37
+
38
+ Donc $${yA} = ${new multiplyNode_1.MultiplyNode(a, xA.toTree()).toTex()}+b$. On a donc $b = ${new substractNode_1.SubstractNode(yA.toTree(), new multiplyNode_1.MultiplyNode(a, xA.toTree())).toTex()} = ${b.toTex()}$.
39
+
40
+ Ainsi, $f(x) = ${answer}$.
41
+ `,
42
+ answerFormat: "tex",
43
+ keys: ["x"],
44
+ identifiers: { xA, xB, yA, yB },
45
+ };
46
+ return question;
47
+ };
48
+ const getPropositions = (n, { answer, xA, xB, yA, yB }) => {
49
+ const propositions = [];
50
+ (0, exercise_1.addValidProp)(propositions, answer);
51
+ while (propositions.length < n) {
52
+ const wrongAnswer = affine_1.AffineConstructor.random().toTex();
53
+ (0, exercise_1.tryToAddWrongProp)(propositions, wrongAnswer);
54
+ }
55
+ return (0, shuffle_1.shuffle)(propositions);
56
+ };
57
+ const isAnswerValid = (ans, { xA, xB, yA, yB }) => {
58
+ const a = new rational_1.Rational(yB - yA, xB - xA).simplify().toTree();
59
+ //yA = axA+b donc b = yA-axA
60
+ const b = new substractNode_1.SubstractNode(yA.toTree(), new multiplyNode_1.MultiplyNode(a, xA.toTree())).simplify();
61
+ const answer = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(a, new variableNode_1.VariableNode("x")), b, {
62
+ allowFractionToDecimal: true,
63
+ }).simplify({ forceDistributeFractions: true });
64
+ const texs = answer.toAllValidTexs();
65
+ return texs.includes(ans);
66
+ };
67
+ exports.affineExpressionFromTwoImages = {
68
+ id: "affineExpressionFromTwoImages",
69
+ connector: "=",
70
+ label: "Expression algébrique d'une fonction affine via deux images",
71
+ levels: ["3ème", "2nde", "2ndPro", "1rePro", "1reTech"],
72
+ isSingleStep: true,
73
+ sections: ["Fonctions affines", "Droites"],
74
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getAffineExpressionFromTwoImagesQuestion, nb),
75
+ qcmTimer: 60,
76
+ freeTimer: 60,
77
+ getPropositions,
78
+ isAnswerValid,
79
+ subject: "Mathématiques",
80
+ hasHintAndCorrection: true,
81
+ };
@@ -10,4 +10,5 @@ export * from "./affineAdjustment";
10
10
  export * from "./affineAdjustmentRsquared";
11
11
  export * from "./affineAdjustmentComplete";
12
12
  export * from "./affineMeanValue";
13
+ export * from "./affineExpressionFromTwoImages";
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/affines/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/affines/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC"}
@@ -26,3 +26,4 @@ __exportStar(require("./affineAdjustment"), exports);
26
26
  __exportStar(require("./affineAdjustmentRsquared"), exports);
27
27
  __exportStar(require("./affineAdjustmentComplete"), exports);
28
28
  __exportStar(require("./affineMeanValue"), exports);
29
+ __exportStar(require("./affineExpressionFromTwoImages"), exports);
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.calibrationCurveOfSolution = void 0;
4
4
  const getDistinctQuestions_1 = require("../../exercises/utils/getDistinctQuestions");
5
5
  const randint_1 = require("../../math/utils/random/randint");
6
- const molecule_1 = require("../../pc/molecularChemistry/molecule");
6
+ const molecule_1 = require("../../pc/constants/molecularChemistry/molecule");
7
7
  const arrayEqual_1 = require("../../utils/arrayEqual");
8
8
  const random_1 = require("../../utils/random");
9
9
  const requiresApostropheBefore_1 = require("../../utils/requiresApostropheBefore");