math-exercises 3.0.214 → 3.0.216

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 (371) hide show
  1. package/lib/exercises/math/arithmetic/findLeftInHugeNumberDivision.d.ts +9 -0
  2. package/lib/exercises/math/arithmetic/findLeftInHugeNumberDivision.d.ts.map +1 -0
  3. package/lib/exercises/math/arithmetic/findLeftInHugeNumberDivision.js +194 -0
  4. package/lib/exercises/math/arithmetic/findMissingNumberToMakeNumberDivisibleBy9.d.ts +8 -0
  5. package/lib/exercises/math/arithmetic/findMissingNumberToMakeNumberDivisibleBy9.d.ts.map +1 -0
  6. package/lib/exercises/math/arithmetic/findMissingNumberToMakeNumberDivisibleBy9.js +121 -0
  7. package/lib/exercises/math/arithmetic/index.d.ts +7 -0
  8. package/lib/exercises/math/arithmetic/index.d.ts.map +1 -1
  9. package/lib/exercises/math/arithmetic/index.js +7 -0
  10. package/lib/exercises/math/arithmetic/isBigNumberPrime.d.ts +7 -0
  11. package/lib/exercises/math/arithmetic/isBigNumberPrime.d.ts.map +1 -0
  12. package/lib/exercises/math/arithmetic/isBigNumberPrime.js +107 -0
  13. package/lib/exercises/math/arithmetic/numberOfEndingZerosOfBigProduct.d.ts +8 -0
  14. package/lib/exercises/math/arithmetic/numberOfEndingZerosOfBigProduct.d.ts.map +1 -0
  15. package/lib/exercises/math/arithmetic/numberOfEndingZerosOfBigProduct.js +139 -0
  16. package/lib/exercises/math/arithmetic/pgcdFromEuclid.d.ts +8 -0
  17. package/lib/exercises/math/arithmetic/pgcdFromEuclid.d.ts.map +1 -0
  18. package/lib/exercises/math/arithmetic/pgcdFromEuclid.js +123 -0
  19. package/lib/exercises/math/arithmetic/solveDiophantianEquationByUsingPrimality.d.ts +7 -0
  20. package/lib/exercises/math/arithmetic/solveDiophantianEquationByUsingPrimality.d.ts.map +1 -0
  21. package/lib/exercises/math/arithmetic/solveDiophantianEquationByUsingPrimality.js +117 -0
  22. package/lib/exercises/math/arithmetic/whichDayInXDays.d.ts +8 -0
  23. package/lib/exercises/math/arithmetic/whichDayInXDays.d.ts.map +1 -0
  24. package/lib/exercises/math/arithmetic/whichDayInXDays.js +82 -0
  25. package/lib/exercises/math/calcul/fractions/fractionsSumFillInTheBlank.d.ts +15 -0
  26. package/lib/exercises/math/calcul/fractions/fractionsSumFillInTheBlank.d.ts.map +1 -0
  27. package/lib/exercises/math/calcul/fractions/fractionsSumFillInTheBlank.js +256 -0
  28. package/lib/exercises/math/calcul/fractions/index.d.ts +1 -0
  29. package/lib/exercises/math/calcul/fractions/index.d.ts.map +1 -1
  30. package/lib/exercises/math/calcul/fractions/index.js +1 -0
  31. package/lib/exercises/math/calcul/index.d.ts +1 -0
  32. package/lib/exercises/math/calcul/index.d.ts.map +1 -1
  33. package/lib/exercises/math/calcul/index.js +1 -0
  34. package/lib/exercises/math/calcul/mentalCaluls/index.d.ts +3 -0
  35. package/lib/exercises/math/calcul/mentalCaluls/index.d.ts.map +1 -1
  36. package/lib/exercises/math/calcul/mentalCaluls/index.js +3 -0
  37. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplication101AndFriends.d.ts +10 -0
  38. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplication101AndFriends.d.ts.map +1 -0
  39. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplication101AndFriends.js +264 -0
  40. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplication11AndFriends.d.ts +10 -0
  41. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplication11AndFriends.d.ts.map +1 -0
  42. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplication11AndFriends.js +264 -0
  43. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplicationTable.d.ts +11 -0
  44. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplicationTable.d.ts.map +1 -0
  45. package/lib/exercises/math/calcul/mentalCaluls/mentalMultiplicationTable.js +141 -0
  46. package/lib/exercises/math/calcul/ratio/index.d.ts +1 -0
  47. package/lib/exercises/math/calcul/ratio/index.d.ts.map +1 -1
  48. package/lib/exercises/math/calcul/ratio/index.js +1 -0
  49. package/lib/exercises/math/calcul/ratio/partsUsingRatio.d.ts +13 -0
  50. package/lib/exercises/math/calcul/ratio/partsUsingRatio.d.ts.map +1 -0
  51. package/lib/exercises/math/calcul/ratio/partsUsingRatio.js +237 -0
  52. package/lib/exercises/math/calcul/relatives/index.d.ts +2 -0
  53. package/lib/exercises/math/calcul/relatives/index.d.ts.map +1 -0
  54. package/lib/exercises/math/calcul/relatives/index.js +1 -0
  55. package/lib/exercises/math/calcul/relatives/relativesAddAndSub.d.ts +17 -0
  56. package/lib/exercises/math/calcul/relatives/relativesAddAndSub.d.ts.map +1 -0
  57. package/lib/exercises/math/calcul/relatives/relativesAddAndSub.js +448 -0
  58. package/lib/exercises/math/calculLitteral/factorisation/factoByXK.d.ts +10 -0
  59. package/lib/exercises/math/calculLitteral/factorisation/factoByXK.d.ts.map +1 -0
  60. package/lib/exercises/math/calculLitteral/factorisation/factoByXK.js +190 -0
  61. package/lib/exercises/math/calculLitteral/factorisation/index.d.ts +1 -0
  62. package/lib/exercises/math/calculLitteral/factorisation/index.d.ts.map +1 -1
  63. package/lib/exercises/math/calculLitteral/factorisation/index.js +1 -0
  64. package/lib/exercises/math/complex/algebraic/addComplex.d.ts +10 -0
  65. package/lib/exercises/math/complex/algebraic/addComplex.d.ts.map +1 -0
  66. package/lib/exercises/math/complex/algebraic/addComplex.js +125 -0
  67. package/lib/exercises/math/complex/algebraic/conjugateComplex.d.ts +8 -0
  68. package/lib/exercises/math/complex/algebraic/conjugateComplex.d.ts.map +1 -0
  69. package/lib/exercises/math/complex/algebraic/conjugateComplex.js +105 -0
  70. package/lib/exercises/math/complex/algebraic/conjugateDivideComplex.d.ts +8 -0
  71. package/lib/exercises/math/complex/algebraic/conjugateDivideComplex.d.ts.map +1 -0
  72. package/lib/exercises/math/complex/algebraic/conjugateDivideComplex.js +137 -0
  73. package/lib/exercises/math/complex/algebraic/conjugateMultiplyComplex.d.ts +8 -0
  74. package/lib/exercises/math/complex/algebraic/conjugateMultiplyComplex.d.ts.map +1 -0
  75. package/lib/exercises/math/complex/algebraic/conjugateMultiplyComplex.js +116 -0
  76. package/lib/exercises/math/complex/algebraic/divideComplex.d.ts +8 -0
  77. package/lib/exercises/math/complex/algebraic/divideComplex.d.ts.map +1 -0
  78. package/lib/exercises/math/complex/algebraic/divideComplex.js +128 -0
  79. package/lib/exercises/math/complex/algebraic/index.d.ts +11 -0
  80. package/lib/exercises/math/complex/algebraic/index.d.ts.map +1 -0
  81. package/lib/exercises/math/complex/algebraic/index.js +10 -0
  82. package/lib/exercises/math/complex/algebraic/inverseComplex.d.ts +8 -0
  83. package/lib/exercises/math/complex/algebraic/inverseComplex.d.ts.map +1 -0
  84. package/lib/exercises/math/complex/algebraic/inverseComplex.js +95 -0
  85. package/lib/exercises/math/complex/algebraic/linearCombinaisonComplex.d.ts +10 -0
  86. package/lib/exercises/math/complex/algebraic/linearCombinaisonComplex.d.ts.map +1 -0
  87. package/lib/exercises/math/complex/algebraic/linearCombinaisonComplex.js +105 -0
  88. package/lib/exercises/math/complex/algebraic/moduloFromAlgebraicComplex.d.ts +8 -0
  89. package/lib/exercises/math/complex/algebraic/moduloFromAlgebraicComplex.d.ts.map +1 -0
  90. package/lib/exercises/math/complex/algebraic/moduloFromAlgebraicComplex.js +93 -0
  91. package/lib/exercises/math/complex/algebraic/mutiplyComplex.d.ts +8 -0
  92. package/lib/exercises/math/complex/algebraic/mutiplyComplex.d.ts.map +1 -0
  93. package/lib/exercises/math/complex/algebraic/mutiplyComplex.js +106 -0
  94. package/lib/exercises/math/complex/algebraic/reAndIm.d.ts +9 -0
  95. package/lib/exercises/math/complex/algebraic/reAndIm.d.ts.map +1 -0
  96. package/lib/exercises/math/complex/algebraic/reAndIm.js +92 -0
  97. package/lib/exercises/math/complex/geometric/complexAlgebraicFromModuloAndArg.d.ts +9 -0
  98. package/lib/exercises/math/complex/geometric/complexAlgebraicFromModuloAndArg.d.ts.map +1 -0
  99. package/lib/exercises/math/complex/geometric/complexAlgebraicFromModuloAndArg.js +151 -0
  100. package/lib/exercises/math/complex/geometric/complexDistance.d.ts +11 -0
  101. package/lib/exercises/math/complex/geometric/complexDistance.d.ts.map +1 -0
  102. package/lib/exercises/math/complex/geometric/complexDistance.js +125 -0
  103. package/lib/exercises/math/complex/geometric/complexGeomAffixAlgFromPoint.d.ts +9 -0
  104. package/lib/exercises/math/complex/geometric/complexGeomAffixAlgFromPoint.d.ts.map +1 -0
  105. package/lib/exercises/math/complex/geometric/complexGeomAffixAlgFromPoint.js +326 -0
  106. package/lib/exercises/math/complex/geometric/complexGeomAffixExpFromCenteredRegularPolygon.d.ts +10 -0
  107. package/lib/exercises/math/complex/geometric/complexGeomAffixExpFromCenteredRegularPolygon.d.ts.map +1 -0
  108. package/lib/exercises/math/complex/geometric/complexGeomAffixExpFromCenteredRegularPolygon.js +459 -0
  109. package/lib/exercises/math/complex/geometric/complexGeomAffixExpFromPoint.d.ts +14 -0
  110. package/lib/exercises/math/complex/geometric/complexGeomAffixExpFromPoint.d.ts.map +1 -0
  111. package/lib/exercises/math/complex/geometric/complexGeomAffixExpFromPoint.js +539 -0
  112. package/lib/exercises/math/complex/geometric/complexGeomAffixTrigFromPoint.d.ts +13 -0
  113. package/lib/exercises/math/complex/geometric/complexGeomAffixTrigFromPoint.d.ts.map +1 -0
  114. package/lib/exercises/math/complex/geometric/complexGeomAffixTrigFromPoint.js +485 -0
  115. package/lib/exercises/math/complex/geometric/complexGeomApproxOfCosArgOrSinArgFromPointAndAffixTrig.d.ts +12 -0
  116. package/lib/exercises/math/complex/geometric/complexGeomApproxOfCosArgOrSinArgFromPointAndAffixTrig.d.ts.map +1 -0
  117. package/lib/exercises/math/complex/geometric/complexGeomApproxOfCosArgOrSinArgFromPointAndAffixTrig.js +224 -0
  118. package/lib/exercises/math/complex/geometric/complexGeomArgumentOfFracCBABFromFigure.d.ts +11 -0
  119. package/lib/exercises/math/complex/geometric/complexGeomArgumentOfFracCBABFromFigure.d.ts.map +1 -0
  120. package/lib/exercises/math/complex/geometric/complexGeomArgumentOfFracCBABFromFigure.js +448 -0
  121. package/lib/exercises/math/complex/geometric/complexGeomFindPointFromAffixExp.d.ts +11 -0
  122. package/lib/exercises/math/complex/geometric/complexGeomFindPointFromAffixExp.d.ts.map +1 -0
  123. package/lib/exercises/math/complex/geometric/complexGeomFindPointFromAffixExp.js +223 -0
  124. package/lib/exercises/math/complex/geometric/complexGeomFindPointFromPowerOfUnitRootFromFigure.d.ts +11 -0
  125. package/lib/exercises/math/complex/geometric/complexGeomFindPointFromPowerOfUnitRootFromFigure.d.ts.map +1 -0
  126. package/lib/exercises/math/complex/geometric/complexGeomFindPointFromPowerOfUnitRootFromFigure.js +348 -0
  127. package/lib/exercises/math/complex/geometric/complexGeomPlaceAffixPoint.d.ts +8 -0
  128. package/lib/exercises/math/complex/geometric/complexGeomPlaceAffixPoint.d.ts.map +1 -0
  129. package/lib/exercises/math/complex/geometric/complexGeomPlaceAffixPoint.js +86 -0
  130. package/lib/exercises/math/complex/geometric/complexGeomPlacePointFromZAPlusZ.d.ts +11 -0
  131. package/lib/exercises/math/complex/geometric/complexGeomPlacePointFromZAPlusZ.d.ts.map +1 -0
  132. package/lib/exercises/math/complex/geometric/complexGeomPlacePointFromZAPlusZ.js +311 -0
  133. package/lib/exercises/math/complex/geometric/complexGeomPlacePointFromZATimesZ.d.ts +11 -0
  134. package/lib/exercises/math/complex/geometric/complexGeomPlacePointFromZATimesZ.d.ts.map +1 -0
  135. package/lib/exercises/math/complex/geometric/complexGeomPlacePointFromZATimesZ.js +345 -0
  136. package/lib/exercises/math/complex/geometric/complexGeomPlacePointFromZATransformed.d.ts +16 -0
  137. package/lib/exercises/math/complex/geometric/complexGeomPlacePointFromZATransformed.d.ts.map +1 -0
  138. package/lib/exercises/math/complex/geometric/complexGeomPlacePointFromZATransformed.js +729 -0
  139. package/lib/exercises/math/complex/geometric/complexGeomPlacePointWithAffixInU.d.ts +11 -0
  140. package/lib/exercises/math/complex/geometric/complexGeomPlacePointWithAffixInU.d.ts.map +1 -0
  141. package/lib/exercises/math/complex/geometric/complexGeomPlacePointWithAffixInU.js +253 -0
  142. package/lib/exercises/math/complex/geometric/index.d.ts +12 -0
  143. package/lib/exercises/math/complex/geometric/index.d.ts.map +1 -0
  144. package/lib/exercises/math/complex/geometric/index.js +19 -0
  145. package/lib/exercises/math/complex/index.d.ts +4 -10
  146. package/lib/exercises/math/complex/index.d.ts.map +1 -1
  147. package/lib/exercises/math/complex/index.js +4 -11
  148. package/lib/exercises/math/complex/polynomials/factorizePolynomialInC.d.ts +10 -0
  149. package/lib/exercises/math/complex/polynomials/factorizePolynomialInC.d.ts.map +1 -0
  150. package/lib/exercises/math/complex/polynomials/factorizePolynomialInC.js +176 -0
  151. package/lib/exercises/math/complex/polynomials/index.d.ts +4 -0
  152. package/lib/exercises/math/complex/polynomials/index.d.ts.map +1 -0
  153. package/lib/exercises/math/complex/polynomials/index.js +3 -0
  154. package/lib/exercises/math/complex/polynomials/solveSecondDegreeInComplex.d.ts +10 -0
  155. package/lib/exercises/math/complex/polynomials/solveSecondDegreeInComplex.d.ts.map +1 -0
  156. package/lib/exercises/math/complex/polynomials/solveSecondDegreeInComplex.js +190 -0
  157. package/lib/exercises/math/complex/polynomials/solveZSquareEqualsA.d.ts +11 -0
  158. package/lib/exercises/math/complex/polynomials/solveZSquareEqualsA.d.ts.map +1 -0
  159. package/lib/exercises/math/complex/polynomials/solveZSquareEqualsA.js +158 -0
  160. package/lib/exercises/math/complex/unitRoots/giveNUnitRoot.d.ts +7 -0
  161. package/lib/exercises/math/complex/unitRoots/giveNUnitRoot.d.ts.map +1 -0
  162. package/lib/exercises/math/complex/unitRoots/giveNUnitRoot.js +122 -0
  163. package/lib/exercises/math/complex/unitRoots/giveOneSolutionToComplexPowNEqualsOne.d.ts +8 -0
  164. package/lib/exercises/math/complex/unitRoots/giveOneSolutionToComplexPowNEqualsOne.d.ts.map +1 -0
  165. package/lib/exercises/math/complex/unitRoots/giveOneSolutionToComplexPowNEqualsOne.js +138 -0
  166. package/lib/exercises/math/complex/unitRoots/index.d.ts +3 -0
  167. package/lib/exercises/math/complex/unitRoots/index.d.ts.map +1 -0
  168. package/lib/exercises/math/complex/unitRoots/index.js +2 -0
  169. package/lib/exercises/math/conversion/clock/clockReading.d.ts +12 -0
  170. package/lib/exercises/math/conversion/clock/clockReading.d.ts.map +1 -0
  171. package/lib/exercises/math/conversion/clock/clockReading.js +385 -0
  172. package/lib/exercises/math/conversion/clock/clockReadingPlusTimeOperation.d.ts +2 -0
  173. package/lib/exercises/math/conversion/clock/clockReadingPlusTimeOperation.d.ts.map +1 -0
  174. package/lib/exercises/math/conversion/clock/clockReadingPlusTimeOperation.js +521 -0
  175. package/lib/exercises/math/conversion/clock/clockWritingByManipulatingNeedles.d.ts +2 -0
  176. package/lib/exercises/math/conversion/clock/clockWritingByManipulatingNeedles.d.ts.map +1 -0
  177. package/lib/exercises/math/conversion/clock/clockWritingByManipulatingNeedles.js +359 -0
  178. package/lib/exercises/math/conversion/clock/dateTimeOperationAdd.d.ts +16 -0
  179. package/lib/exercises/math/conversion/clock/dateTimeOperationAdd.d.ts.map +1 -0
  180. package/lib/exercises/math/conversion/clock/dateTimeOperationAdd.js +319 -0
  181. package/lib/exercises/math/conversion/clock/index.d.ts +2 -0
  182. package/lib/exercises/math/conversion/clock/index.d.ts.map +1 -0
  183. package/lib/exercises/math/conversion/clock/index.js +4 -0
  184. package/lib/exercises/math/conversion/index.d.ts +1 -0
  185. package/lib/exercises/math/conversion/index.d.ts.map +1 -1
  186. package/lib/exercises/math/conversion/index.js +1 -0
  187. package/lib/exercises/math/geometry/angles/angleNatureFromFigure.d.ts +11 -0
  188. package/lib/exercises/math/geometry/angles/angleNatureFromFigure.d.ts.map +1 -0
  189. package/lib/exercises/math/geometry/angles/angleNatureFromFigure.js +233 -0
  190. package/lib/exercises/math/geometry/angles/angleNatureFromMeasure.d.ts +10 -0
  191. package/lib/exercises/math/geometry/angles/angleNatureFromMeasure.d.ts.map +1 -0
  192. package/lib/exercises/math/geometry/angles/angleNatureFromMeasure.js +137 -0
  193. package/lib/exercises/math/geometry/angles/index.d.ts +2 -0
  194. package/lib/exercises/math/geometry/angles/index.d.ts.map +1 -1
  195. package/lib/exercises/math/geometry/angles/index.js +2 -0
  196. package/lib/exercises/math/geometry/circles/buildCircleFromRadius.d.ts +9 -0
  197. package/lib/exercises/math/geometry/circles/buildCircleFromRadius.d.ts.map +1 -0
  198. package/lib/exercises/math/geometry/circles/buildCircleFromRadius.js +187 -0
  199. package/lib/exercises/math/geometry/circles/index.d.ts +1 -0
  200. package/lib/exercises/math/geometry/circles/index.d.ts.map +1 -1
  201. package/lib/exercises/math/geometry/circles/index.js +1 -0
  202. package/lib/exercises/math/geometry/lines/buildParallelFromLineAndPoint.d.ts +11 -0
  203. package/lib/exercises/math/geometry/lines/buildParallelFromLineAndPoint.d.ts.map +1 -0
  204. package/lib/exercises/math/geometry/lines/buildParallelFromLineAndPoint.js +154 -0
  205. package/lib/exercises/math/geometry/lines/buildPerpendicularFromLineAndPoint.d.ts +11 -0
  206. package/lib/exercises/math/geometry/lines/buildPerpendicularFromLineAndPoint.d.ts.map +1 -0
  207. package/lib/exercises/math/geometry/lines/buildPerpendicularFromLineAndPoint.js +157 -0
  208. package/lib/exercises/math/geometry/lines/index.d.ts +2 -0
  209. package/lib/exercises/math/geometry/lines/index.d.ts.map +1 -1
  210. package/lib/exercises/math/geometry/lines/index.js +2 -0
  211. package/lib/exercises/math/geometry/triangles/index.d.ts +2 -0
  212. package/lib/exercises/math/geometry/triangles/index.d.ts.map +1 -1
  213. package/lib/exercises/math/geometry/triangles/index.js +2 -1
  214. package/lib/exercises/math/geometry/triangles/traceHeightInTriangle.d.ts +13 -0
  215. package/lib/exercises/math/geometry/triangles/traceHeightInTriangle.d.ts.map +1 -0
  216. package/lib/exercises/math/geometry/triangles/traceHeightInTriangle.js +271 -0
  217. package/lib/exercises/math/geometry/triangles/traceMedianInTriangle.d.ts +8 -0
  218. package/lib/exercises/math/geometry/triangles/traceMedianInTriangle.d.ts.map +1 -1
  219. package/lib/exercises/math/geometry/triangles/traceMedianInTriangle.js +284 -53
  220. package/lib/exercises/math/geometry/vectors/constructions/index.d.ts +1 -0
  221. package/lib/exercises/math/geometry/vectors/constructions/index.d.ts.map +1 -1
  222. package/lib/exercises/math/geometry/vectors/constructions/index.js +1 -0
  223. package/lib/exercises/math/geometry/vectors/constructions/traceVectorSumFromVecs.d.ts +8 -0
  224. package/lib/exercises/math/geometry/vectors/constructions/traceVectorSumFromVecs.d.ts.map +1 -0
  225. package/lib/exercises/math/geometry/vectors/constructions/traceVectorSumFromVecs.js +165 -0
  226. package/lib/exercises/math/geometry/volumes/index.d.ts +1 -0
  227. package/lib/exercises/math/geometry/volumes/index.d.ts.map +1 -1
  228. package/lib/exercises/math/geometry/volumes/index.js +1 -0
  229. package/lib/exercises/math/geometry/volumes/volumeOfCylinder.d.ts +8 -0
  230. package/lib/exercises/math/geometry/volumes/volumeOfCylinder.d.ts.map +1 -0
  231. package/lib/exercises/math/geometry/volumes/volumeOfCylinder.js +157 -0
  232. package/lib/exercises/math/graphs/adjacentMatrixPath.d.ts +10 -0
  233. package/lib/exercises/math/graphs/adjacentMatrixPath.d.ts.map +1 -0
  234. package/lib/exercises/math/graphs/adjacentMatrixPath.js +89 -0
  235. package/lib/exercises/math/graphs/edgesNumberFromSummitsDegrees.d.ts +7 -0
  236. package/lib/exercises/math/graphs/edgesNumberFromSummitsDegrees.d.ts.map +1 -0
  237. package/lib/exercises/math/graphs/edgesNumberFromSummitsDegrees.js +98 -0
  238. package/lib/exercises/math/graphs/eulerianChainFromAdjacentMatrix.d.ts +8 -0
  239. package/lib/exercises/math/graphs/eulerianChainFromAdjacentMatrix.d.ts.map +1 -0
  240. package/lib/exercises/math/graphs/eulerianChainFromAdjacentMatrix.js +96 -0
  241. package/lib/exercises/math/graphs/graphsChainOrPathOfLengthN.d.ts +15 -0
  242. package/lib/exercises/math/graphs/graphsChainOrPathOfLengthN.d.ts.map +1 -0
  243. package/lib/exercises/math/graphs/graphsChainOrPathOfLengthN.js +262 -0
  244. package/lib/exercises/math/graphs/graphsCheckIsConnectedUndirectedGraph.d.ts +11 -0
  245. package/lib/exercises/math/graphs/graphsCheckIsConnectedUndirectedGraph.d.ts.map +1 -0
  246. package/lib/exercises/math/graphs/graphsCheckIsConnectedUndirectedGraph.js +178 -0
  247. package/lib/exercises/math/graphs/graphsCheckIsSameGraph.d.ts +19 -0
  248. package/lib/exercises/math/graphs/graphsCheckIsSameGraph.d.ts.map +1 -0
  249. package/lib/exercises/math/graphs/graphsCheckIsSameGraph.js +301 -0
  250. package/lib/exercises/math/graphs/graphsCheckIsVerticesAdjacent.d.ts +16 -0
  251. package/lib/exercises/math/graphs/graphsCheckIsVerticesAdjacent.d.ts.map +1 -0
  252. package/lib/exercises/math/graphs/graphsCheckIsVerticesAdjacent.js +207 -0
  253. package/lib/exercises/math/graphs/graphsDegreeOfVertex.d.ts +15 -0
  254. package/lib/exercises/math/graphs/graphsDegreeOfVertex.d.ts.map +1 -0
  255. package/lib/exercises/math/graphs/graphsDegreeOfVertex.js +232 -0
  256. package/lib/exercises/math/graphs/graphsOrderOfGraph.d.ts +14 -0
  257. package/lib/exercises/math/graphs/graphsOrderOfGraph.d.ts.map +1 -0
  258. package/lib/exercises/math/graphs/graphsOrderOfGraph.js +222 -0
  259. package/lib/exercises/math/graphs/index.d.ts +10 -0
  260. package/lib/exercises/math/graphs/index.d.ts.map +1 -0
  261. package/lib/exercises/math/graphs/index.js +9 -0
  262. package/lib/exercises/math/index.d.ts +1 -0
  263. package/lib/exercises/math/index.d.ts.map +1 -1
  264. package/lib/exercises/math/index.js +1 -0
  265. package/lib/exercises/math/matrices/areMatricesInverse.d.ts +9 -0
  266. package/lib/exercises/math/matrices/areMatricesInverse.d.ts.map +1 -0
  267. package/lib/exercises/math/matrices/areMatricesInverse.js +106 -0
  268. package/lib/exercises/math/matrices/computeFixedMatrixInRecurrenceSequence.d.ts +9 -0
  269. package/lib/exercises/math/matrices/computeFixedMatrixInRecurrenceSequence.d.ts.map +1 -0
  270. package/lib/exercises/math/matrices/computeFixedMatrixInRecurrenceSequence.js +144 -0
  271. package/lib/exercises/math/matrices/findInversedMatrixFromSystem.d.ts +8 -0
  272. package/lib/exercises/math/matrices/findInversedMatrixFromSystem.d.ts.map +1 -0
  273. package/lib/exercises/math/matrices/findInversedMatrixFromSystem.js +148 -0
  274. package/lib/exercises/math/matrices/index.d.ts +12 -0
  275. package/lib/exercises/math/matrices/index.d.ts.map +1 -1
  276. package/lib/exercises/math/matrices/index.js +12 -0
  277. package/lib/exercises/math/matrices/isMatrixTransitionMatrix.d.ts +8 -0
  278. package/lib/exercises/math/matrices/isMatrixTransitionMatrix.d.ts.map +1 -0
  279. package/lib/exercises/math/matrices/isMatrixTransitionMatrix.js +132 -0
  280. package/lib/exercises/math/matrices/matrixBuildMatrixFromCoefficients.d.ts +8 -0
  281. package/lib/exercises/math/matrices/matrixBuildMatrixFromCoefficients.d.ts.map +1 -0
  282. package/lib/exercises/math/matrices/matrixBuildMatrixFromCoefficients.js +152 -0
  283. package/lib/exercises/math/matrices/matrixCheckIsSymmetrical.d.ts +8 -0
  284. package/lib/exercises/math/matrices/matrixCheckIsSymmetrical.d.ts.map +1 -0
  285. package/lib/exercises/math/matrices/matrixCheckIsSymmetrical.js +155 -0
  286. package/lib/exercises/math/matrices/matrixComputeDetOfMat2.d.ts +8 -0
  287. package/lib/exercises/math/matrices/matrixComputeDetOfMat2.d.ts.map +1 -0
  288. package/lib/exercises/math/matrices/matrixComputeDetOfMat2.js +142 -0
  289. package/lib/exercises/math/matrices/matrixComputeInverseOfMat2.d.ts +8 -0
  290. package/lib/exercises/math/matrices/matrixComputeInverseOfMat2.d.ts.map +1 -0
  291. package/lib/exercises/math/matrices/matrixComputeInverseOfMat2.js +237 -0
  292. package/lib/exercises/math/matrices/matrixComputeLinearCombination.d.ts +15 -0
  293. package/lib/exercises/math/matrices/matrixComputeLinearCombination.d.ts.map +1 -0
  294. package/lib/exercises/math/matrices/matrixComputeLinearCombination.js +232 -0
  295. package/lib/exercises/math/matrices/matrixComputePower.d.ts +12 -0
  296. package/lib/exercises/math/matrices/matrixComputePower.d.ts.map +1 -0
  297. package/lib/exercises/math/matrices/matrixComputePower.js +230 -0
  298. package/lib/exercises/math/matrices/matrixComputeProduct.d.ts +9 -0
  299. package/lib/exercises/math/matrices/matrixComputeProduct.d.ts.map +1 -0
  300. package/lib/exercises/math/matrices/matrixComputeProduct.js +178 -0
  301. package/lib/exercises/math/matrices/writeMatrixAssociatedToSystem.d.ts +8 -0
  302. package/lib/exercises/math/matrices/writeMatrixAssociatedToSystem.d.ts.map +1 -0
  303. package/lib/exercises/math/matrices/writeMatrixAssociatedToSystem.js +105 -0
  304. package/lib/exercises/math/spaceGeometry/basis/index.d.ts +1 -0
  305. package/lib/exercises/math/spaceGeometry/basis/index.d.ts.map +1 -1
  306. package/lib/exercises/math/spaceGeometry/basis/index.js +1 -0
  307. package/lib/exercises/math/spaceGeometry/basis/spaceSegmentLengthInRectangularPrism.d.ts +18 -0
  308. package/lib/exercises/math/spaceGeometry/basis/spaceSegmentLengthInRectangularPrism.d.ts.map +1 -0
  309. package/lib/exercises/math/spaceGeometry/basis/spaceSegmentLengthInRectangularPrism.js +538 -0
  310. package/lib/exercises/math/trigonometry/formulas/trigoAdditionFormulaUsage.d.ts.map +1 -1
  311. package/lib/exercises/math/trigonometry/formulas/trigoAdditionFormulaUsage.js +6 -5
  312. package/lib/exercises/math/trigonometry/triangle/trigonometrySohcahtoaCalcul.js +1 -1
  313. package/lib/exercises/utils/geogebra/toolBarConstructor.d.ts +1 -0
  314. package/lib/exercises/utils/geogebra/toolBarConstructor.d.ts.map +1 -1
  315. package/lib/exercises/utils/geogebra/toolBarConstructor.js +2 -0
  316. package/lib/exercises/vea/matrixVEA.d.ts +2 -0
  317. package/lib/exercises/vea/matrixVEA.d.ts.map +1 -0
  318. package/lib/exercises/vea/matrixVEA.js +1 -0
  319. package/lib/geogebra/parsers/geogebraParser.d.ts +3 -0
  320. package/lib/geogebra/parsers/geogebraParser.d.ts.map +1 -1
  321. package/lib/geogebra/parsers/geogebraParser.js +27 -0
  322. package/lib/index.d.ts +286 -23
  323. package/lib/index.d.ts.map +1 -1
  324. package/lib/latexTester.js +2 -0
  325. package/lib/math/geometry/angle.d.ts.map +1 -1
  326. package/lib/math/geometry/angle.js +3 -0
  327. package/lib/math/geometry/point.d.ts.map +1 -1
  328. package/lib/math/geometry/point.js +3 -1
  329. package/lib/math/geometry/segment.d.ts +1 -1
  330. package/lib/math/geometry/segment.d.ts.map +1 -1
  331. package/lib/math/geometry/segment.js +5 -2
  332. package/lib/math/graphs/graph.d.ts +43 -0
  333. package/lib/math/graphs/graph.d.ts.map +1 -0
  334. package/lib/math/graphs/graph.js +391 -0
  335. package/lib/math/matrices/matrix.d.ts +42 -3
  336. package/lib/math/matrices/matrix.d.ts.map +1 -1
  337. package/lib/math/matrices/matrix.js +173 -7
  338. package/lib/math/matrices/parseMatrix.d.ts +3 -0
  339. package/lib/math/matrices/parseMatrix.d.ts.map +1 -0
  340. package/lib/math/matrices/parseMatrix.js +22 -0
  341. package/lib/math/systems/generalSystem.d.ts +2 -0
  342. package/lib/math/systems/generalSystem.d.ts.map +1 -1
  343. package/lib/math/systems/generalSystem.js +5 -0
  344. package/lib/math/utils/geometry/angleBetweenPoints.d.ts +4 -0
  345. package/lib/math/utils/geometry/angleBetweenPoints.d.ts.map +1 -0
  346. package/lib/math/utils/geometry/angleBetweenPoints.js +58 -0
  347. package/lib/math/utils/geometry/angleNWSE.d.ts +3 -0
  348. package/lib/math/utils/geometry/angleNWSE.d.ts.map +1 -0
  349. package/lib/math/utils/geometry/angleNWSE.js +56 -0
  350. package/lib/math/utils/graphs/graphRenderer.d.ts +25 -0
  351. package/lib/math/utils/graphs/graphRenderer.d.ts.map +1 -0
  352. package/lib/math/utils/graphs/graphRenderer.js +123 -0
  353. package/lib/playground.d.ts +6 -1
  354. package/lib/playground.d.ts.map +1 -1
  355. package/lib/playground.js +6 -5
  356. package/lib/tests/singleExo.test.d.ts.map +1 -1
  357. package/lib/tests/singleExo.test.js +2 -2
  358. package/lib/tree/parsers/latexParser.d.ts +1 -1
  359. package/lib/tree/utilities/nodeSimplifier.d.ts +1 -1
  360. package/lib/types/keyIds.d.ts +2 -0
  361. package/lib/types/keyIds.d.ts.map +1 -1
  362. package/lib/utils/arrays/arrayChunks.d.ts +9 -0
  363. package/lib/utils/arrays/arrayChunks.d.ts.map +1 -0
  364. package/lib/utils/arrays/arrayChunks.js +34 -0
  365. package/lib/utils/strings/frenchDays.d.ts +2 -0
  366. package/lib/utils/strings/frenchDays.d.ts.map +1 -0
  367. package/lib/utils/strings/frenchDays.js +9 -0
  368. package/lib/utils/strings/ordinalSuffixed.d.ts +2 -0
  369. package/lib/utils/strings/ordinalSuffixed.d.ts.map +1 -0
  370. package/lib/utils/strings/ordinalSuffixed.js +5 -0
  371. package/package.json +7 -1
@@ -0,0 +1,521 @@
1
+ // import {
2
+ // Exercise,
3
+ // Proposition,
4
+ // QCMGenerator,
5
+ // Question,
6
+ // QuestionGenerator,
7
+ // VEA,
8
+ // addValidProp,
9
+ // shuffleProps,
10
+ // tryToAddWrongProp,
11
+ // GetAnswer,
12
+ // GetHint,
13
+ // GetCorrection,
14
+ // GetInstruction,
15
+ // GetKeys,
16
+ // GetGGBOptions,
17
+ // GetQuestionFromIdentifiers,
18
+ // propWhile,
19
+ // GeneratorOption,
20
+ // GeneratorOptionTarget,
21
+ // GeneratorOptionType,
22
+ // } from "../../../../exercises/exercise.js";
23
+ // import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
24
+ // import { defaultArrayedOptsWhereNeeded } from "../../../../exercises/utils/options/arrayedOptions.js";
25
+ // import { GeogebraConstructor } from "../../../../geogebra/geogebraConstructor.js";
26
+ // import { Point, PointConstructor } from "../../../../math/geometry/point.js";
27
+ // import { Vector } from "../../../../math/geometry/vector.js";
28
+ // import { randint } from "../../../../math/utils/random/randint.js";
29
+ // import { round } from "../../../../math/utils/round.js";
30
+ // import { PiNode } from "../../../../tree/nodes/numbers/piNode.js";
31
+ // import { add } from "../../../../tree/nodes/operators/addNode.js";
32
+ // import { multiply } from "../../../../tree/nodes/operators/multiplyNode.js";
33
+ // import { substract } from "../../../../tree/nodes/operators/substractNode.js";
34
+ // import { probaLawFlip } from "../../../../utils/alea/probaLawFlip.js";
35
+ // import { random } from "../../../../utils/alea/random.js";
36
+ // import { zip } from "../../../../utils/arrays/arrayZip.js";
37
+ // import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
38
+ export {};
39
+ // const _degreesToRadians = (angleInDegrees: number, precision: number) => {
40
+ // const oneOver180 = 0.00555555555555555;
41
+ // return round(
42
+ // multiply(multiply(angleInDegrees, PiNode), oneOver180).evaluate(),
43
+ // precision,
44
+ // );
45
+ // };
46
+ // const rotateVector = (vec: Vector, angle: number, name: string) => {
47
+ // //x' = cos(t)*x -sin(t)*y
48
+ // //y' = sin(t)*x + cos(t)*y
49
+ // const cos = Math.cos(angle);
50
+ // const sin = Math.sin(angle);
51
+ // return new Vector(
52
+ // name,
53
+ // substract(multiply(cos, vec.x), multiply(sin, vec.y)).evaluate().toTree(),
54
+ // add(multiply(sin, vec.x), multiply(cos, vec.y)).evaluate().toTree(),
55
+ // );
56
+ // };
57
+ // const rotatePoint = (
58
+ // target: Point,
59
+ // angle: number,
60
+ // center: Point,
61
+ // name: string,
62
+ // precision: number | undefined = 2,
63
+ // ) => {
64
+ // const vSrc = createVector(center, target, "vSrc", precision);
65
+ // const vRotated = rotateVector(vSrc, angle, "vRotated");
66
+ // return createPoint(
67
+ // add(center.x, vRotated.x).evaluate(),
68
+ // add(center.y, vRotated.y).evaluate(),
69
+ // name,
70
+ // precision,
71
+ // );
72
+ // };
73
+ // const createVector = (
74
+ // from: Point,
75
+ // to: Point,
76
+ // name: string,
77
+ // precision: number | undefined = 5,
78
+ // ) => {
79
+ // return new Vector(
80
+ // name,
81
+ // round(substract(to.x, from.x).evaluate(), precision).toTree(),
82
+ // round(substract(to.y, from.y).evaluate(), precision).toTree(),
83
+ // );
84
+ // };
85
+ // const createPoint = (
86
+ // x: number,
87
+ // y: number,
88
+ // name: string,
89
+ // precision: number | undefined = 5,
90
+ // ) => {
91
+ // return new Point(name, round(x, precision), round(y, precision));
92
+ // };
93
+ // /************/
94
+ // type Time = {
95
+ // hours: number;
96
+ // minutes: number;
97
+ // };
98
+ // type Identifiers = {
99
+ // time1: Time;
100
+ // time2?: Time;
101
+ // duration?: Time;
102
+ // qType: string;
103
+ // opType: string;
104
+ // timeDisplayType1: string;
105
+ // timeDisplayType2: string;
106
+ // };
107
+ // const getHydrated = (identifiers: Identifiers) => {
108
+ // const { time1, time2, duration, qType, opType } = identifiers;
109
+ // const dictHydratedClock = (() => {
110
+ // const {hours, minutes} = timeOnClock;
111
+ // const isExactlyNoon = hours === 12 && minutes === 0;
112
+ // const strAMPM = (() => {
113
+ // if (minutes !== 0) {
114
+ // if (hours < 12) {
115
+ // return "Nous sommes avant midi";
116
+ // } else {
117
+ // return "Nous sommes après midi";
118
+ // }
119
+ // } else {
120
+ // if (hours === 0) {
121
+ // return "Nous sommes avant midi (il n'est pas midi).";
122
+ // } else if (hours === 24) {
123
+ // return "Nous sommes après midi (il n'est pas midi).";
124
+ // } else {
125
+ // return "Nous sommes en pleine journée.";
126
+ // }
127
+ // }
128
+ // })();
129
+ // const duodecHours = hours > 12 ? hours - 12 : hours;
130
+ // const duodecMinutes = minutes / 5;
131
+ // const angleMinutes = (Math.PI / 6.0) * duodecMinutes;
132
+ // const angleHours = 2 * Math.PI * (((hours + minutes / 60) / 12.0) % 1);
133
+ // return {
134
+ // strAMPM,
135
+ // isExactlyNoon,
136
+ // duodecHours,
137
+ // duodecMinutes,
138
+ // angleHours,
139
+ // angleMinutes,
140
+ // };
141
+ // })();
142
+ // function createStrTime(time: Time) {
143
+ // const {hours, minutes} = time;
144
+ // const strHour = hours === 24 ? `0` : `${hours}`;
145
+ // const strMinutes = (() => {
146
+ // if (minutes < 10) {
147
+ // return `0${minutes}`;
148
+ // } else {
149
+ // return `${minutes}`;
150
+ // }
151
+ // })();
152
+ // return `${strHour}h${strMinutes}`;
153
+ // }
154
+ // const [strTimeOnClock, strTime2] = [timeOnClock, time2].map(createStrTime);
155
+ // return {
156
+ // dictHydratedClock,
157
+ // strTimeOnClock,
158
+ // strTime2,
159
+ // };
160
+ // };
161
+ // const getInstruction: GetInstruction<Identifiers> = (identifiers) => {
162
+ // const { opType } = identifiers;
163
+ // const { strTime2 } = getHydrated(identifiers);
164
+ // switch (opType) {
165
+ // case "addition": {
166
+ // return `Quand je suis parti dehors, il était ${strTime2}`
167
+ // }
168
+ // case "soustraction": {
169
+ // }
170
+ // default:
171
+ // throw new Error("Unsupported qType: " + qType);
172
+ // }
173
+ // return `Quelle est l'heure affichée sur l'horloge ? ${(() => {
174
+ // };
175
+ // const getAnswer: GetAnswer<Identifiers> = (identifiers) => {
176
+ // const { hours, minutes } = identifiers;
177
+ // const strMinutes = (() => {
178
+ // if (minutes < 10) {
179
+ // return `0${minutes}`;
180
+ // } else {
181
+ // return `${minutes}`;
182
+ // }
183
+ // })();
184
+ // return `${hours === 24 ? "0" : hours}h${strMinutes}`;
185
+ // };
186
+ // const getHint: GetHint<Identifiers> = () => {
187
+ // return `L'aiguille des heures est l'aiguille la plus courte.
188
+ // Avant midi, les heures vont de $0$ à $11$. Après midi, les heures vont de $12$ à $23$.
189
+ // Les graduations des minutes vont de $0$ à $55$ (de $5$ en $5$).`;
190
+ // };
191
+ // const getCorrection: GetCorrection<Identifiers> = (identifiers) => {
192
+ // const { hours, minutes } = identifiers;
193
+ // const { duodecHours, duodecMinutes } = getHydrated(identifiers);
194
+ // const strMinutes = (() => {
195
+ // if (minutes < 10) {
196
+ // return `0${minutes}`;
197
+ // } else {
198
+ // return `${minutes}`;
199
+ // }
200
+ // })();
201
+ // if (minutes !== 0) {
202
+ // if (hours < 12) {
203
+ // return `Nous sommes avant midi.
204
+ // L'aiguille des heures est entre $${duodecHours}$ et $${duodecHours + 1}$.
205
+ // Il est donc $${hours}h...$
206
+ // L'aiguille des minutes est sur la graduation $${duodecMinutes}$.
207
+ // $$
208
+ // ${duodecMinutes} \\times 5 = ${minutes}
209
+ // $$
210
+ // Il est donc $${hours}h${strMinutes}$.
211
+ // `;
212
+ // } else if (hours > 12) {
213
+ // return `Nous sommes après midi.
214
+ // L'aiguille des heures est entre $${duodecHours}$ et $${duodecHours + 1}$.
215
+ // $$
216
+ // 12 + ${duodecHours} = ${hours}
217
+ // $$
218
+ // Il est donc $${hours}h...$
219
+ // L'aiguille des minutes est sur la graduation $${duodecMinutes}$.
220
+ // $$
221
+ // ${duodecMinutes} \\times 5 = ${minutes}
222
+ // $$
223
+ // Il est donc $${hours}h${strMinutes}$.
224
+ // `;
225
+ // } else {
226
+ // return "Il est exactement midi ($12h00$).";
227
+ // }
228
+ // } else {
229
+ // if (hours === 0) {
230
+ // return `Il est exactement minuit ($0h00$).`;
231
+ // } else if (hours === 24) {
232
+ // return `Il est exactement minuit ($0h00$) (on passe dans le jour suivant donc on n'écrit pas "$24h00$").`;
233
+ // } else {
234
+ // return `Il est exactement $${hours}h00$.`;
235
+ // }
236
+ // }
237
+ // };
238
+ // const getGGBOptions: GetGGBOptions<Identifiers> = (identifiers) => {
239
+ // const { angleHours, angleMinutes } = getHydrated(identifiers);
240
+ // const pointOrigin = new Point("O", 0, 0);
241
+ // //ticks
242
+ // const arrPointTickTop = [
243
+ // PointConstructor.fromCoords([0, 0.8], "tickTopA"),
244
+ // PointConstructor.fromCoords([0, 1], "tickTopB"),
245
+ // ];
246
+ // const arrArrPointTick = [...Array(12).keys()].map((i) => {
247
+ // const angle = (i * Math.PI) / 6;
248
+ // return arrPointTickTop.map((point, j) =>
249
+ // rotatePoint(point, angle, pointOrigin, `tick${i}${j === 0 ? "A" : "B"}`),
250
+ // );
251
+ // });
252
+ // //needles
253
+ // const arrPointNeedleHours = [
254
+ // PointConstructor.fromCoords([0, 0], "needleHoursTopA"),
255
+ // PointConstructor.fromCoords([0, 0.5], "needleHoursTopB"),
256
+ // ].map((point, j) =>
257
+ // rotatePoint(
258
+ // point,
259
+ // -angleHours,
260
+ // pointOrigin,
261
+ // `needleHours${j === 0 ? "A" : "B"}`,
262
+ // ),
263
+ // );
264
+ // const arrPointNeedleMinutes = [
265
+ // PointConstructor.fromCoords([0, 0], "needleMinutesTopA"),
266
+ // PointConstructor.fromCoords([0, 0.75], "needleMinutesTopB"),
267
+ // ].map((point, j) =>
268
+ // rotatePoint(
269
+ // point,
270
+ // -angleMinutes,
271
+ // pointOrigin,
272
+ // `needleHours${j === 0 ? "A" : "B"}`,
273
+ // ),
274
+ // );
275
+ // const ggb = new GeogebraConstructor({
276
+ // commands: [
277
+ // `C = Circle((0,0), 1)`,
278
+ // `SetFixed(C, true, false)`,
279
+ // `SetLineThickness(C, 1)`,
280
+ // //ticks
281
+ // ...arrArrPointTick.flatMap(([pointA, pointB], i) => [
282
+ // `segTick${i} = Segment(${pointA.toMathString()}, ${pointB.toMathString()})`,
283
+ // `SetLineThickness(segTick${i}, ${i === 0 ? "6" : "2"})`,
284
+ // `SetFixed(segTick${i}, true, false)`,
285
+ // ]),
286
+ // //needles
287
+ // ...(() => {
288
+ // const [pointA, pointB] = arrPointNeedleHours;
289
+ // return [
290
+ // `segNeedleHours = Segment(${pointA.toMathString()}, ${pointB.toMathString()})`,
291
+ // `SetLineThickness(segNeedleHours, 20)`,
292
+ // ];
293
+ // })(),
294
+ // ...(() => {
295
+ // const [pointA, pointB] = arrPointNeedleMinutes;
296
+ // return [
297
+ // `segNeedleMinutes = Segment(${pointA.toMathString()}, ${pointB.toMathString()})`,
298
+ // `SetLineThickness(segNeedleMinutes, 10)`,
299
+ // ];
300
+ // })(),
301
+ // ],
302
+ // hideAxes: true,
303
+ // hideGrid: true,
304
+ // forbidShiftDragZoom: true,
305
+ // });
306
+ // return ggb.getOptions({
307
+ // coords: [-1.4, 1.4, -1.4, 1.4],
308
+ // });
309
+ // };
310
+ // const getPropositions: QCMGenerator<Identifiers> = (
311
+ // n,
312
+ // { answer, ...identifiers },
313
+ // ) => {
314
+ // const propositions: Proposition[] = [];
315
+ // addValidProp(propositions, answer);
316
+ // //student: one hour more
317
+ // {
318
+ // if (identifiers.minutes >= 30) {
319
+ // const identifiersWrong: Identifiers = {
320
+ // hours: identifiers.hours + 1,
321
+ // minutes: identifiers.minutes,
322
+ // };
323
+ // tryToAddWrongProp(propositions, getAnswer(identifiersWrong));
324
+ // }
325
+ // }
326
+ // //student: hours<->minutes
327
+ // {
328
+ // const identifiersWrong: Identifiers = {
329
+ // hours: identifiers.minutes / 5,
330
+ // minutes: (identifiers.hours % 12) * 5,
331
+ // };
332
+ // tryToAddWrongProp(propositions, getAnswer(identifiersWrong));
333
+ // }
334
+ // //student: am<->pm
335
+ // {
336
+ // const identifiersWrong: Identifiers = {
337
+ // hours:
338
+ // identifiers.hours < 12
339
+ // ? identifiers.hours + 12
340
+ // : identifiers.hours - 12,
341
+ // minutes: identifiers.minutes,
342
+ // };
343
+ // tryToAddWrongProp(propositions, getAnswer(identifiersWrong));
344
+ // }
345
+ // propWhile(propositions, n, () => {
346
+ // const amPmType = random(["AM", "midi", "PM", "minuit"]);
347
+ // const identifiersWrong = createRandomIdentifiers(amPmType);
348
+ // tryToAddWrongProp(propositions, getAnswer(identifiersWrong));
349
+ // });
350
+ // return shuffleProps(propositions, n);
351
+ // };
352
+ // const getKeys: GetKeys<Identifiers> = () => {
353
+ // return ["h"];
354
+ // };
355
+ // const isAnswerValid: VEA<Identifiers> = (ans, { answer, ...identifiers }) => {
356
+ // try {
357
+ // if (!ans.includes("h")) {
358
+ // return false;
359
+ // }
360
+ // const [hoursAns, minutesAns] = ans.split("h").map((str) => parseInt(str));
361
+ // const { hours, minutes } = identifiers;
362
+ // return zip(
363
+ // [hoursAns, minutesAns],
364
+ // [hours === 24 ? 0 : hours, minutes],
365
+ // ).every(([ans, answer]) => ans === answer);
366
+ // } catch (err) {
367
+ // return handleVEAError(err);
368
+ // }
369
+ // };
370
+ // const createRandomIdentifiers = (amPmType: string) => {
371
+ // const [hours, minutes] = (() => {
372
+ // switch (amPmType) {
373
+ // case "AM": {
374
+ // const hours = randint(0, 12);
375
+ // const minutes = randint(1, 12) * 5;
376
+ // return [hours, minutes];
377
+ // }
378
+ // case "midi": {
379
+ // return [12, 0];
380
+ // }
381
+ // case "PM": {
382
+ // const hours = randint(12, 23);
383
+ // const minutes = randint(1, 12) * 5;
384
+ // return [hours, minutes];
385
+ // }
386
+ // case "minuit": {
387
+ // return random([
388
+ // [0, 0],
389
+ // [24, 0],
390
+ // ]);
391
+ // }
392
+ // default:
393
+ // throw new Error("Unsupported typeAMPM: " + amPmType);
394
+ // }
395
+ // })();
396
+ // const identifiers: Identifiers = {
397
+ // hours,
398
+ // minutes,
399
+ // };
400
+ // return identifiers;
401
+ // };
402
+ // const getClockReadingPlusTimeOperationQuestion: QuestionGenerator<
403
+ // Identifiers,
404
+ // Options
405
+ // > = (optsIn) => {
406
+ // const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
407
+ // const arrAMPMType = arrayedOpts.amPmType;
408
+ // function drawAMPMType(arrAMPMType: string[]) {
409
+ // if (arrAMPMType.length === 1) {
410
+ // const [amPmType] = arrAMPMType;
411
+ // return amPmType;
412
+ // } else {
413
+ // let amPmType: string | undefined;
414
+ // do {
415
+ // const amPmTypeDrawn = probaLawFlip([
416
+ // ["AM", 0.4],
417
+ // ["midi", 0.1],
418
+ // ["PM", 0.4],
419
+ // ["minuit", 0.1],
420
+ // ]);
421
+ // if (arrAMPMType.includes(amPmTypeDrawn)) {
422
+ // amPmType = amPmTypeDrawn;
423
+ // }
424
+ // } while (!amPmType);
425
+ // return amPmType;
426
+ // }
427
+ // }
428
+ // const amPmType = drawAMPMType(arrAMPMType);
429
+ // const identifiers = createRandomIdentifiers(amPmType);
430
+ // return getQuestionFromIdentifiers(identifiers);
431
+ // };
432
+ // const getQuestionFromIdentifiers: GetQuestionFromIdentifiers<
433
+ // Identifiers,
434
+ // Options
435
+ // > = (identifiers) => {
436
+ // const question: Question<Identifiers, Options> = {
437
+ // answer: getAnswer(identifiers),
438
+ // instruction: getInstruction(identifiers),
439
+ // keys: getKeys(identifiers),
440
+ // answerFormat: "tex",
441
+ // identifiers,
442
+ // hint: getHint(identifiers),
443
+ // correction: getCorrection(identifiers),
444
+ // ggbOptions: getGGBOptions(identifiers),
445
+ // };
446
+ // return question;
447
+ // };
448
+ // type Options = {
449
+ // amPmType: string;
450
+ // qType: string;
451
+ // opType: string;
452
+ // };
453
+ // type ArrayedOptions = {
454
+ // readonly [K in keyof Options]: Options[K] extends unknown[]
455
+ // ? Options[K]
456
+ // : Options[K][];
457
+ // };
458
+ // const arrayedOptsDefault: ArrayedOptions = {
459
+ // amPmType: ["AM", "midi"],
460
+ // opType: ["addition", "soustraction"],
461
+ // time1Type: ["horloge", "texte"],
462
+ // time2Type: ["horloge", "texte"],
463
+ // };
464
+ // const options: GeneratorOption[] = [
465
+ // {
466
+ // id: "amPmType1",
467
+ // label: "Type de plage horaire pour l'horloge",
468
+ // target: GeneratorOptionTarget.generation,
469
+ // type: GeneratorOptionType.multiselect,
470
+ // values: ["AM", "midi", "PM", "minuit"],
471
+ // defaultValue: arrayedOptsDefault.amPmType,
472
+ // },
473
+ // {
474
+ // id: "amPmType2",
475
+ // label: "Type de plage horaire pour l'autre heure",
476
+ // target: GeneratorOptionTarget.generation,
477
+ // type: GeneratorOptionType.multiselect,
478
+ // values: ["AM", "midi", "PM", "minuit"],
479
+ // defaultValue: arrayedOptsDefault.amPmType,
480
+ // },
481
+ // {
482
+ // id: "opType",
483
+ // label: "opération",
484
+ // target: GeneratorOptionTarget.generation,
485
+ // type: GeneratorOptionType.multiselect,
486
+ // values: ["addition", "soustraction"],
487
+ // defaultValue: arrayedOptsDefault.opType,
488
+ // },
489
+ // {
490
+ // id: "opType",
491
+ // label: "opération",
492
+ // target: GeneratorOptionTarget.generation,
493
+ // type: GeneratorOptionType.multiselect,
494
+ // values: ["addition", "soustraction"],
495
+ // defaultValue: arrayedOptsDefault.opType,
496
+ // },
497
+ // ];
498
+ // export const clockReadingPlusTimeOperation: Exercise<Identifiers, Options> = {
499
+ // id: "clockReadingPlusTimeOperation",
500
+ // label: "Lire l'heure sur une horloge et effectuer une opération",
501
+ // isSingleStep: true,
502
+ // generator: (nb, opts) =>
503
+ // getDistinctQuestions(
504
+ // () => getClockReadingPlusTimeOperationQuestion(opts),
505
+ // nb,
506
+ // ),
507
+ // options,
508
+ // qcmTimer: 60,
509
+ // freeTimer: 60,
510
+ // getPropositions,
511
+ // isAnswerValid,
512
+ // subject: "Mathématiques",
513
+ // getHint,
514
+ // getCorrection,
515
+ // hasHintAndCorrection: true,
516
+ // getInstruction,
517
+ // getAnswer,
518
+ // getGGBOptions,
519
+ // hasGeogebra: true,
520
+ // getQuestionFromIdentifiers,
521
+ // };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=clockWritingByManipulatingNeedles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clockWritingByManipulatingNeedles.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/conversion/clock/clockWritingByManipulatingNeedles.ts"],"names":[],"mappings":""}