math-exercises 3.0.171 → 3.0.173

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/lib/exercises/math/derivation/variations/signVarTable3dDegree.js +38 -10
  2. package/lib/exercises/math/derivation/variations/signVarTableFromDerivativeGraph.d.ts.map +1 -1
  3. package/lib/exercises/math/derivation/variations/signVarTableFromDerivativeGraph.js +7 -4
  4. package/lib/exercises/math/derivation/variations/signVarTableFromGraph.d.ts.map +1 -1
  5. package/lib/exercises/math/derivation/variations/signVarTableFromGraph.js +2 -3
  6. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.d.ts.map +1 -1
  7. package/lib/exercises/math/functions/trinoms/devForm/variationsFromAlgebricForm.js +12 -0
  8. package/lib/exercises/math/functions/trinoms/parabole/index.d.ts +2 -0
  9. package/lib/exercises/math/functions/trinoms/parabole/index.d.ts.map +1 -1
  10. package/lib/exercises/math/functions/trinoms/parabole/index.js +2 -0
  11. package/lib/exercises/math/functions/trinoms/parabole/parabolaVarTable.d.ts +8 -0
  12. package/lib/exercises/math/functions/trinoms/parabole/parabolaVarTable.d.ts.map +1 -0
  13. package/lib/exercises/math/functions/trinoms/parabole/parabolaVarTable.js +106 -0
  14. package/lib/exercises/math/functions/trinoms/parabole/paraboleSolveGraphEquation.d.ts +14 -0
  15. package/lib/exercises/math/functions/trinoms/parabole/paraboleSolveGraphEquation.d.ts.map +1 -0
  16. package/lib/exercises/math/functions/trinoms/parabole/paraboleSolveGraphEquation.js +186 -0
  17. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.d.ts +6 -2
  18. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.d.ts.map +1 -1
  19. package/lib/exercises/math/functions/trinoms/summitAndCanonical/extremumTypeFromAlgebricForm.js +98 -13
  20. package/lib/exercises/math/functions/variations/partialVarTableFromGraph.d.ts.map +1 -1
  21. package/lib/exercises/math/functions/variations/partialVarTableFromGraph.js +2 -1
  22. package/lib/exercises/math/functions/variations/varTableFromGraph.d.ts.map +1 -1
  23. package/lib/exercises/math/functions/variations/varTableFromGraph.js +2 -1
  24. package/lib/exercises/math/functions/variations/varTableFromSentences.d.ts.map +1 -1
  25. package/lib/exercises/math/functions/variations/varTableFromSentences.js +2 -1
  26. package/lib/exercises/math/geometry/circles/circleCenterAndRadiusFromEquation.d.ts.map +1 -1
  27. package/lib/exercises/math/geometry/circles/circleCenterAndRadiusFromEquation.js +0 -2
  28. package/lib/exercises/math/geometry/lines/index.d.ts +1 -0
  29. package/lib/exercises/math/geometry/lines/index.d.ts.map +1 -1
  30. package/lib/exercises/math/geometry/lines/index.js +1 -0
  31. package/lib/exercises/math/geometry/lines/readLineNormalVectorOnGraph.d.ts +13 -0
  32. package/lib/exercises/math/geometry/lines/readLineNormalVectorOnGraph.d.ts.map +1 -0
  33. package/lib/exercises/math/geometry/lines/readLineNormalVectorOnGraph.js +195 -0
  34. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiAngle.d.ts.map +1 -1
  35. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiAngle.js +64 -60
  36. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.d.ts +1 -0
  37. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.d.ts.map +1 -1
  38. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.js +173 -47
  39. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiSideLength.d.ts.map +1 -1
  40. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiSideLength.js +112 -46
  41. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductInOrthonormalBasisIJ.d.ts.map +1 -1
  42. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductInOrthonormalBasisIJ.js +6 -0
  43. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductLamdbaULambdaV.d.ts.map +1 -1
  44. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductLamdbaULambdaV.js +60 -82
  45. package/lib/exercises/math/geometry/vectors/scalarProduct/angleFromScalarProduct.d.ts.map +1 -1
  46. package/lib/exercises/math/geometry/vectors/scalarProduct/angleFromScalarProduct.js +92 -6
  47. package/lib/exercises/math/geometry/vectors/scalarProduct/index.d.ts +6 -1
  48. package/lib/exercises/math/geometry/vectors/scalarProduct/index.d.ts.map +1 -1
  49. package/lib/exercises/math/geometry/vectors/scalarProduct/index.js +6 -1
  50. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsBasisIJ.d.ts.map +1 -1
  51. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsBasisIJ.js +6 -0
  52. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsUsingCoords.js +1 -1
  53. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnCircle.d.ts.map +1 -1
  54. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnCircle.js +15 -5
  55. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnPerpendicularBisector.d.ts.map +1 -1
  56. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnPerpendicularBisector.js +18 -14
  57. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsRightTriangleUsingPointCoords.d.ts.map +1 -1
  58. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsRightTriangleUsingPointCoords.js +15 -5
  59. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.d.ts.map +1 -1
  60. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.js +38 -4
  61. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOfVectsOnGrid1.d.ts.map +1 -1
  62. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOfVectsOnGrid1.js +77 -26
  63. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductParallelogramDiagonalPlus.d.ts.map +1 -1
  64. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductParallelogramDiagonalPlus.js +6 -7
  65. package/lib/exercises/math/probaStat/basicProbas/calculateProbaFromProbaLaw.js +1 -1
  66. package/lib/exercises/math/probaStat/probaFromTableWithContext.d.ts.map +1 -1
  67. package/lib/exercises/math/probaStat/probaFromTableWithContext.js +3 -16
  68. package/lib/exercises/math/probaStat/randomVariable/decideWhichGameIsLessRisky.d.ts +14 -0
  69. package/lib/exercises/math/probaStat/randomVariable/decideWhichGameIsLessRisky.d.ts.map +1 -0
  70. package/lib/exercises/math/probaStat/randomVariable/decideWhichGameIsLessRisky.js +167 -0
  71. package/lib/exercises/math/probaStat/randomVariable/findValueForFairRandomVariable.d.ts.map +1 -1
  72. package/lib/exercises/math/probaStat/randomVariable/findValueForFairRandomVariable.js +29 -56
  73. package/lib/exercises/math/probaStat/randomVariable/index.d.ts +8 -0
  74. package/lib/exercises/math/probaStat/randomVariable/index.d.ts.map +1 -1
  75. package/lib/exercises/math/probaStat/randomVariable/index.js +9 -0
  76. package/lib/exercises/math/probaStat/randomVariable/isTableProbabilityLaw.d.ts.map +1 -1
  77. package/lib/exercises/math/probaStat/randomVariable/isTableProbabilityLaw.js +6 -6
  78. package/lib/exercises/math/probaStat/randomVariable/missingValueInRandomVariableProbabilityLaw.d.ts +9 -0
  79. package/lib/exercises/math/probaStat/randomVariable/missingValueInRandomVariableProbabilityLaw.d.ts.map +1 -0
  80. package/lib/exercises/math/probaStat/randomVariable/missingValueInRandomVariableProbabilityLaw.js +119 -0
  81. package/lib/exercises/math/probaStat/randomVariable/randomVariableAverage.js +1 -1
  82. package/lib/exercises/math/probaStat/randomVariable/randomVariableFindMissingProbabilityInLaw.d.ts +9 -0
  83. package/lib/exercises/math/probaStat/randomVariable/randomVariableFindMissingProbabilityInLaw.d.ts.map +1 -0
  84. package/lib/exercises/math/probaStat/randomVariable/randomVariableFindMissingProbabilityInLaw.js +116 -0
  85. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationAverage.d.ts +11 -0
  86. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationAverage.d.ts.map +1 -0
  87. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationAverage.js +112 -0
  88. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationComputeProbability.d.ts +9 -0
  89. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationComputeProbability.d.ts.map +1 -0
  90. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationComputeProbability.js +176 -0
  91. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationIsGameFavorable.d.ts +8 -0
  92. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationIsGameFavorable.d.ts.map +1 -0
  93. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationIsGameFavorable.js +94 -0
  94. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationProbabilityLaw.d.ts +9 -0
  95. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationProbabilityLaw.d.ts.map +1 -0
  96. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationProbabilityLaw.js +162 -0
  97. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationStandardDeviation.d.ts +8 -0
  98. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationStandardDeviation.d.ts.map +1 -0
  99. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationStandardDeviation.js +133 -0
  100. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationValues.d.ts +8 -0
  101. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationValues.d.ts.map +1 -0
  102. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationValues.js +211 -0
  103. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationVariance.d.ts +8 -0
  104. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationVariance.d.ts.map +1 -0
  105. package/lib/exercises/math/probaStat/randomVariable/randomVariableSituationVariance.js +113 -0
  106. package/lib/exercises/math/probaStat/randomVariable/randomVariableStandardDeviation.js +1 -1
  107. package/lib/exercises/math/probaStat/randomVariable/randomVariableVariance.js +1 -1
  108. package/lib/exercises/math/probaStat/randomVariable/utils/buildVAOfGivenAverage.d.ts +31 -0
  109. package/lib/exercises/math/probaStat/randomVariable/utils/buildVAOfGivenAverage.d.ts.map +1 -0
  110. package/lib/exercises/math/probaStat/randomVariable/utils/buildVAOfGivenAverage.js +192 -0
  111. package/lib/exercises/math/probaStat/randomVariable/utils/randomVariableSituations.d.ts +40 -11
  112. package/lib/exercises/math/probaStat/randomVariable/utils/randomVariableSituations.d.ts.map +1 -1
  113. package/lib/exercises/math/probaStat/randomVariable/utils/randomVariableSituations.js +172 -30
  114. package/lib/exercises/math/probaStat/stats1var/medianWithList.d.ts.map +1 -1
  115. package/lib/exercises/math/probaStat/stats1var/medianWithList.js +16 -2
  116. package/lib/exercises/math/python/sequences/index.d.ts +8 -0
  117. package/lib/exercises/math/python/sequences/index.d.ts.map +1 -0
  118. package/lib/exercises/math/python/sequences/index.js +7 -0
  119. package/lib/exercises/math/python/sequences/pySequenceFactorialInstructionFalseOneOut.d.ts +11 -0
  120. package/lib/exercises/math/python/sequences/pySequenceFactorialInstructionFalseOneOut.d.ts.map +1 -0
  121. package/lib/exercises/math/python/sequences/pySequenceFactorialInstructionFalseOneOut.js +274 -0
  122. package/lib/exercises/math/python/sequences/pySequenceFirstTermsListInstructionCompletion.d.ts +12 -0
  123. package/lib/exercises/math/python/sequences/pySequenceFirstTermsListInstructionCompletion.d.ts.map +1 -0
  124. package/lib/exercises/math/python/sequences/pySequenceFirstTermsListInstructionCompletion.js +368 -0
  125. package/lib/exercises/math/python/sequences/pySequenceFirstTermsSumInstructionCompletion.d.ts +13 -0
  126. package/lib/exercises/math/python/sequences/pySequenceFirstTermsSumInstructionCompletion.d.ts.map +1 -0
  127. package/lib/exercises/math/python/sequences/pySequenceFirstTermsSumInstructionCompletion.js +254 -0
  128. package/lib/exercises/math/python/sequences/pySequenceProgramReading.d.ts +14 -0
  129. package/lib/exercises/math/python/sequences/pySequenceProgramReading.d.ts.map +1 -0
  130. package/lib/exercises/math/python/sequences/pySequenceProgramReading.js +365 -0
  131. package/lib/exercises/math/python/sequences/pySequenceTermForLoopInstructionCompletion.d.ts +11 -0
  132. package/lib/exercises/math/python/sequences/pySequenceTermForLoopInstructionCompletion.d.ts.map +1 -0
  133. package/lib/exercises/math/python/sequences/pySequenceTermForLoopInstructionCompletion.js +298 -0
  134. package/lib/exercises/math/python/sequences/pySequenceTermFromFunctionCallInstructionCompletion.d.ts +12 -0
  135. package/lib/exercises/math/python/sequences/pySequenceTermFromFunctionCallInstructionCompletion.d.ts.map +1 -0
  136. package/lib/exercises/math/python/sequences/pySequenceTermFromFunctionCallInstructionCompletion.js +408 -0
  137. package/lib/exercises/math/python/sequences/pySequenceThresholdInstructionCompletion.d.ts +17 -0
  138. package/lib/exercises/math/python/sequences/pySequenceThresholdInstructionCompletion.d.ts.map +1 -0
  139. package/lib/exercises/math/python/sequences/pySequenceThresholdInstructionCompletion.js +498 -0
  140. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormulaFromTwoTerms.d.ts +12 -0
  141. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormulaFromTwoTerms.d.ts.map +1 -0
  142. package/lib/exercises/math/sequences/arithmetic/arithmeticFindExplicitFormulaFromTwoTerms.js +191 -0
  143. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindExplicitFormulaFromSituation.d.ts +14 -0
  144. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindExplicitFormulaFromSituation.d.ts.map +1 -0
  145. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindExplicitFormulaFromSituation.js +153 -0
  146. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.d.ts +15 -0
  147. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.d.ts.map +1 -0
  148. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRankFromSituation.js +184 -0
  149. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRecurrenceFormulaFromSituation.d.ts +14 -0
  150. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRecurrenceFormulaFromSituation.d.ts.map +1 -0
  151. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRecurrenceFormulaFromSituation.js +210 -0
  152. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindTermFromSituation.d.ts +15 -0
  153. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindTermFromSituation.d.ts.map +1 -0
  154. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindTermFromSituation.js +161 -0
  155. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindThresholdFromSituation.d.ts +17 -0
  156. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindThresholdFromSituation.d.ts.map +1 -0
  157. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindThresholdFromSituation.js +188 -0
  158. package/lib/exercises/math/sequences/arithmetic/situations/index.d.ts +6 -0
  159. package/lib/exercises/math/sequences/arithmetic/situations/index.d.ts.map +1 -0
  160. package/lib/exercises/math/sequences/arithmetic/situations/index.js +5 -0
  161. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticComputeSumWithDots.d.ts +15 -0
  162. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticComputeSumWithDots.d.ts.map +1 -0
  163. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticComputeSumWithDots.js +233 -0
  164. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSum.d.ts +13 -0
  165. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSum.d.ts.map +1 -0
  166. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSum.js +111 -0
  167. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSumThreshold.d.ts +13 -0
  168. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSumThreshold.d.ts.map +1 -0
  169. package/lib/exercises/math/sequences/arithmetic/sum/arithmeticFirstTermsSumThreshold.js +216 -0
  170. package/lib/exercises/math/sequences/arithmetic/sum/firstIntegersSum.d.ts +7 -0
  171. package/lib/exercises/math/sequences/arithmetic/sum/firstIntegersSum.d.ts.map +1 -0
  172. package/lib/exercises/math/sequences/arithmetic/sum/firstIntegersSum.js +94 -0
  173. package/lib/exercises/math/sequences/arithmetic/sum/index.d.ts +5 -0
  174. package/lib/exercises/math/sequences/arithmetic/sum/index.d.ts.map +1 -0
  175. package/lib/exercises/math/sequences/arithmetic/sum/index.js +4 -0
  176. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFromTwoTerms.d.ts +14 -0
  177. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFromTwoTerms.d.ts.map +1 -0
  178. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFromTwoTerms.js +301 -0
  179. package/lib/exercises/math/sequences/geometric/geometricFindRandomTermFromTwoTerms.d.ts +15 -0
  180. package/lib/exercises/math/sequences/geometric/geometricFindRandomTermFromTwoTerms.d.ts.map +1 -0
  181. package/lib/exercises/math/sequences/geometric/geometricFindRandomTermFromTwoTerms.js +260 -0
  182. package/lib/exercises/math/sequences/geometric/situations/geometricFindExplicitFormulaFromSituation.d.ts +14 -0
  183. package/lib/exercises/math/sequences/geometric/situations/geometricFindExplicitFormulaFromSituation.d.ts.map +1 -0
  184. package/lib/exercises/math/sequences/geometric/situations/geometricFindExplicitFormulaFromSituation.js +186 -0
  185. package/lib/exercises/math/sequences/geometric/situations/geometricFindRankFromSituation.d.ts +15 -0
  186. package/lib/exercises/math/sequences/geometric/situations/geometricFindRankFromSituation.d.ts.map +1 -0
  187. package/lib/exercises/math/sequences/geometric/situations/geometricFindRankFromSituation.js +142 -0
  188. package/lib/exercises/math/sequences/geometric/situations/geometricFindRecurrenceFormulaFromSituation.d.ts +14 -0
  189. package/lib/exercises/math/sequences/geometric/situations/geometricFindRecurrenceFormulaFromSituation.d.ts.map +1 -0
  190. package/lib/exercises/math/sequences/geometric/situations/geometricFindRecurrenceFormulaFromSituation.js +205 -0
  191. package/lib/exercises/math/sequences/geometric/situations/geometricFindTermFromSituation.d.ts +15 -0
  192. package/lib/exercises/math/sequences/geometric/situations/geometricFindTermFromSituation.d.ts.map +1 -0
  193. package/lib/exercises/math/sequences/geometric/situations/geometricFindTermFromSituation.js +208 -0
  194. package/lib/exercises/math/sequences/geometric/situations/geometricFindThresholdFromSituation.d.ts +17 -0
  195. package/lib/exercises/math/sequences/geometric/situations/geometricFindThresholdFromSituation.d.ts.map +1 -0
  196. package/lib/exercises/math/sequences/geometric/situations/geometricFindThresholdFromSituation.js +152 -0
  197. package/lib/exercises/math/sequences/geometric/situations/index.d.ts +4 -0
  198. package/lib/exercises/math/sequences/geometric/situations/index.d.ts.map +1 -0
  199. package/lib/exercises/math/sequences/geometric/situations/index.js +5 -0
  200. package/lib/exercises/math/sequences/geometric/sum/geometricComputeSumWithDots.d.ts +15 -0
  201. package/lib/exercises/math/sequences/geometric/sum/geometricComputeSumWithDots.d.ts.map +1 -0
  202. package/lib/exercises/math/sequences/geometric/sum/geometricComputeSumWithDots.js +248 -0
  203. package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsGeneralSum.d.ts +14 -0
  204. package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsGeneralSum.d.ts.map +1 -0
  205. package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsGeneralSum.js +126 -0
  206. package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsSum.d.ts +8 -0
  207. package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsSum.d.ts.map +1 -0
  208. package/lib/exercises/math/sequences/geometric/sum/geometricFirstTermsSum.js +91 -0
  209. package/lib/exercises/math/sequences/geometric/sum/index.d.ts +4 -0
  210. package/lib/exercises/math/sequences/geometric/sum/index.d.ts.map +1 -0
  211. package/lib/exercises/math/sequences/geometric/sum/index.js +3 -0
  212. package/lib/exercises/math/sequences/seqArithmGeom/index.d.ts +2 -0
  213. package/lib/exercises/math/sequences/seqArithmGeom/index.d.ts.map +1 -0
  214. package/lib/exercises/math/sequences/seqArithmGeom/index.js +1 -0
  215. package/lib/exercises/math/sequences/seqArithmGeom/seqArithmGeomRecurrenceFormulaUsage.d.ts +14 -0
  216. package/lib/exercises/math/sequences/seqArithmGeom/seqArithmGeomRecurrenceFormulaUsage.d.ts.map +1 -0
  217. package/lib/exercises/math/sequences/seqArithmGeom/seqArithmGeomRecurrenceFormulaUsage.js +202 -0
  218. package/lib/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.d.ts.map +1 -1
  219. package/lib/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.js +0 -2
  220. package/lib/exercises/options/optionFirstTermRankOne.d.ts +16 -0
  221. package/lib/exercises/options/optionFirstTermRankOne.d.ts.map +1 -0
  222. package/lib/exercises/options/optionFirstTermRankOne.js +17 -0
  223. package/lib/exercises/options/optionIsUsePythonDef.d.ts +16 -0
  224. package/lib/exercises/options/optionIsUsePythonDef.d.ts.map +1 -0
  225. package/lib/exercises/options/optionIsUsePythonDef.js +17 -0
  226. package/lib/exercises/options/optionIsWithSuperfluousData.d.ts +16 -0
  227. package/lib/exercises/options/optionIsWithSuperfluousData.d.ts.map +1 -0
  228. package/lib/exercises/options/optionIsWithSuperfluousData.js +17 -0
  229. package/lib/exercises/utils/geogebra/toGGBCommandsProps.d.ts +1 -0
  230. package/lib/exercises/utils/geogebra/toGGBCommandsProps.d.ts.map +1 -1
  231. package/lib/exercises/vea/colinearVectorVEA.d.ts +2 -0
  232. package/lib/exercises/vea/colinearVectorVEA.d.ts.map +1 -0
  233. package/lib/exercises/vea/colinearVectorVEA.js +11 -0
  234. package/lib/exercises/vea/rationalVEA.d.ts.map +1 -1
  235. package/lib/exercises/vea/rationalVEA.js +7 -3
  236. package/lib/exercises/vea/varLineVEA.d.ts.map +1 -1
  237. package/lib/exercises/vea/varLineVEA.js +7 -3
  238. package/lib/exercises/vea/varSignTableVEA.d.ts +8 -0
  239. package/lib/exercises/vea/varSignTableVEA.d.ts.map +1 -1
  240. package/lib/exercises/vea/varSignTableVEA.js +8 -0
  241. package/lib/exercises/vea/xTableLineVEA.d.ts +1 -0
  242. package/lib/exercises/vea/xTableLineVEA.d.ts.map +1 -1
  243. package/lib/exercises/vea/xTableLineVEA.js +1 -0
  244. package/lib/index.d.ts +104 -5
  245. package/lib/index.d.ts.map +1 -1
  246. package/lib/latexTester.d.ts.map +1 -1
  247. package/lib/latexTester.js +3 -1
  248. package/lib/math/geometry/angle.d.ts +2 -0
  249. package/lib/math/geometry/angle.d.ts.map +1 -1
  250. package/lib/math/geometry/angle.js +17 -0
  251. package/lib/math/geometry/line.d.ts +1 -1
  252. package/lib/math/geometry/line.d.ts.map +1 -1
  253. package/lib/math/geometry/line.js +3 -3
  254. package/lib/math/geometry/point.d.ts +1 -1
  255. package/lib/math/geometry/point.d.ts.map +1 -1
  256. package/lib/math/geometry/point.js +4 -1
  257. package/lib/math/geometry/segment.js +1 -1
  258. package/lib/math/numbers/reals/real.d.ts.map +1 -1
  259. package/lib/math/numbers/reals/real.js +4 -0
  260. package/lib/math/probability/randomVariable.d.ts +2 -1
  261. package/lib/math/probability/randomVariable.d.ts.map +1 -1
  262. package/lib/math/probability/randomVariable.js +7 -1
  263. package/lib/math/utils/arithmetic/primeFactors.d.ts +1 -1
  264. package/lib/math/utils/arithmetic/primeFactors.d.ts.map +1 -1
  265. package/lib/math/utils/arithmetic/primeFactors.js +23 -9
  266. package/lib/math/utils/sequences/situations/seqArithmeticSituations.d.ts +53 -0
  267. package/lib/math/utils/sequences/situations/seqArithmeticSituations.d.ts.map +1 -0
  268. package/lib/math/utils/sequences/situations/seqArithmeticSituations.js +1928 -0
  269. package/lib/math/utils/sequences/situations/seqArithmeticUtils.d.ts +15 -0
  270. package/lib/math/utils/sequences/situations/seqArithmeticUtils.d.ts.map +1 -0
  271. package/lib/math/utils/sequences/situations/seqArithmeticUtils.js +136 -0
  272. package/lib/math/utils/sequences/situations/seqGeometricSituations.d.ts +42 -0
  273. package/lib/math/utils/sequences/situations/seqGeometricSituations.d.ts.map +1 -0
  274. package/lib/math/utils/sequences/situations/seqGeometricSituations.js +932 -0
  275. package/lib/math/utils/sequences/situations/seqGeometricUtils.d.ts +12 -0
  276. package/lib/math/utils/sequences/situations/seqGeometricUtils.d.ts.map +1 -0
  277. package/lib/math/utils/sequences/situations/seqGeometricUtils.js +90 -0
  278. package/lib/tests/pdfs/mdTableToLatexTabular.js +1 -1
  279. package/lib/tree/nodes/algebraicNode.d.ts +1 -0
  280. package/lib/tree/nodes/algebraicNode.d.ts.map +1 -1
  281. package/lib/tree/nodes/complex/complexNode.d.ts +1 -0
  282. package/lib/tree/nodes/complex/complexNode.d.ts.map +1 -1
  283. package/lib/tree/nodes/complex/complexNode.js +3 -0
  284. package/lib/tree/nodes/equations/equalNode.d.ts +1 -0
  285. package/lib/tree/nodes/equations/equalNode.d.ts.map +1 -1
  286. package/lib/tree/nodes/equations/equalNode.js +3 -0
  287. package/lib/tree/nodes/equations/equationSolutionNode.d.ts +1 -0
  288. package/lib/tree/nodes/equations/equationSolutionNode.d.ts.map +1 -1
  289. package/lib/tree/nodes/equations/equationSolutionNode.js +3 -0
  290. package/lib/tree/nodes/equations/multiEqualNode.d.ts +1 -0
  291. package/lib/tree/nodes/equations/multiEqualNode.d.ts.map +1 -1
  292. package/lib/tree/nodes/equations/multiEqualNode.js +3 -0
  293. package/lib/tree/nodes/equations/notEqualNode.d.ts +1 -0
  294. package/lib/tree/nodes/equations/notEqualNode.d.ts.map +1 -1
  295. package/lib/tree/nodes/equations/notEqualNode.js +3 -0
  296. package/lib/tree/nodes/functions/absNode.d.ts +1 -0
  297. package/lib/tree/nodes/functions/absNode.d.ts.map +1 -1
  298. package/lib/tree/nodes/functions/absNode.js +7 -0
  299. package/lib/tree/nodes/functions/arcSinNode.d.ts +1 -0
  300. package/lib/tree/nodes/functions/arcSinNode.d.ts.map +1 -1
  301. package/lib/tree/nodes/functions/arcSinNode.js +7 -0
  302. package/lib/tree/nodes/functions/arccosNode.d.ts +1 -0
  303. package/lib/tree/nodes/functions/arccosNode.d.ts.map +1 -1
  304. package/lib/tree/nodes/functions/arccosNode.js +7 -0
  305. package/lib/tree/nodes/functions/arctanNode.d.ts +1 -0
  306. package/lib/tree/nodes/functions/arctanNode.d.ts.map +1 -1
  307. package/lib/tree/nodes/functions/arctanNode.js +7 -0
  308. package/lib/tree/nodes/functions/cosNode.d.ts +1 -0
  309. package/lib/tree/nodes/functions/cosNode.d.ts.map +1 -1
  310. package/lib/tree/nodes/functions/cosNode.js +7 -0
  311. package/lib/tree/nodes/functions/expNode.d.ts +1 -0
  312. package/lib/tree/nodes/functions/expNode.d.ts.map +1 -1
  313. package/lib/tree/nodes/functions/expNode.js +7 -0
  314. package/lib/tree/nodes/functions/factorialNode.d.ts +30 -0
  315. package/lib/tree/nodes/functions/factorialNode.d.ts.map +1 -0
  316. package/lib/tree/nodes/functions/factorialNode.js +79 -0
  317. package/lib/tree/nodes/functions/functionNode.d.ts +2 -1
  318. package/lib/tree/nodes/functions/functionNode.d.ts.map +1 -1
  319. package/lib/tree/nodes/functions/functionNode.js +1 -0
  320. package/lib/tree/nodes/functions/integralNode.d.ts +1 -0
  321. package/lib/tree/nodes/functions/integralNode.d.ts.map +1 -1
  322. package/lib/tree/nodes/functions/integralNode.js +7 -0
  323. package/lib/tree/nodes/functions/log10Node.d.ts +1 -0
  324. package/lib/tree/nodes/functions/log10Node.d.ts.map +1 -1
  325. package/lib/tree/nodes/functions/log10Node.js +7 -0
  326. package/lib/tree/nodes/functions/logNode.d.ts +1 -0
  327. package/lib/tree/nodes/functions/logNode.d.ts.map +1 -1
  328. package/lib/tree/nodes/functions/logNode.js +9 -0
  329. package/lib/tree/nodes/functions/oppositeNode.d.ts +1 -0
  330. package/lib/tree/nodes/functions/oppositeNode.d.ts.map +1 -1
  331. package/lib/tree/nodes/functions/oppositeNode.js +7 -0
  332. package/lib/tree/nodes/functions/sinNode.d.ts +1 -0
  333. package/lib/tree/nodes/functions/sinNode.d.ts.map +1 -1
  334. package/lib/tree/nodes/functions/sinNode.js +7 -0
  335. package/lib/tree/nodes/functions/sqrtNode.d.ts +1 -0
  336. package/lib/tree/nodes/functions/sqrtNode.d.ts.map +1 -1
  337. package/lib/tree/nodes/functions/sqrtNode.js +7 -0
  338. package/lib/tree/nodes/functions/tanNode.d.ts +1 -0
  339. package/lib/tree/nodes/functions/tanNode.d.ts.map +1 -1
  340. package/lib/tree/nodes/functions/tanNode.js +7 -0
  341. package/lib/tree/nodes/geometry/degree.d.ts +1 -0
  342. package/lib/tree/nodes/geometry/degree.d.ts.map +1 -1
  343. package/lib/tree/nodes/geometry/degree.js +7 -0
  344. package/lib/tree/nodes/geometry/lengthNode.d.ts +1 -0
  345. package/lib/tree/nodes/geometry/lengthNode.d.ts.map +1 -1
  346. package/lib/tree/nodes/geometry/lengthNode.js +7 -0
  347. package/lib/tree/nodes/geometry/pointNode.d.ts +1 -0
  348. package/lib/tree/nodes/geometry/pointNode.d.ts.map +1 -1
  349. package/lib/tree/nodes/geometry/pointNode.js +7 -0
  350. package/lib/tree/nodes/geometry/vectorNode.d.ts +1 -0
  351. package/lib/tree/nodes/geometry/vectorNode.d.ts.map +1 -1
  352. package/lib/tree/nodes/geometry/vectorNode.js +7 -0
  353. package/lib/tree/nodes/inequations/inequationNode.d.ts +1 -0
  354. package/lib/tree/nodes/inequations/inequationNode.d.ts.map +1 -1
  355. package/lib/tree/nodes/inequations/inequationNode.js +7 -0
  356. package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts +1 -0
  357. package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts.map +1 -1
  358. package/lib/tree/nodes/inequations/inequationSolutionNode.js +7 -0
  359. package/lib/tree/nodes/node.d.ts +2 -1
  360. package/lib/tree/nodes/node.d.ts.map +1 -1
  361. package/lib/tree/nodes/node.js +2 -0
  362. package/lib/tree/nodes/nodeConstructor.d.ts.map +1 -1
  363. package/lib/tree/nodes/nodeConstructor.js +4 -0
  364. package/lib/tree/nodes/numbers/percentNode.d.ts +1 -0
  365. package/lib/tree/nodes/numbers/percentNode.d.ts.map +1 -1
  366. package/lib/tree/nodes/numbers/percentNode.js +7 -0
  367. package/lib/tree/nodes/operators/addNode.d.ts +1 -0
  368. package/lib/tree/nodes/operators/addNode.d.ts.map +1 -1
  369. package/lib/tree/nodes/operators/addNode.js +7 -0
  370. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts +4 -3
  371. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts.map +1 -1
  372. package/lib/tree/nodes/operators/binomialCoefficientNode.js +24 -5
  373. package/lib/tree/nodes/operators/divideNode.d.ts +1 -0
  374. package/lib/tree/nodes/operators/divideNode.d.ts.map +1 -1
  375. package/lib/tree/nodes/operators/divideNode.js +7 -0
  376. package/lib/tree/nodes/operators/fractionNode.d.ts +1 -0
  377. package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
  378. package/lib/tree/nodes/operators/fractionNode.js +7 -0
  379. package/lib/tree/nodes/operators/limitNode.d.ts +1 -0
  380. package/lib/tree/nodes/operators/limitNode.d.ts.map +1 -1
  381. package/lib/tree/nodes/operators/limitNode.js +7 -0
  382. package/lib/tree/nodes/operators/multiplyNode.d.ts +1 -0
  383. package/lib/tree/nodes/operators/multiplyNode.d.ts.map +1 -1
  384. package/lib/tree/nodes/operators/multiplyNode.js +7 -0
  385. package/lib/tree/nodes/operators/powerNode.d.ts +1 -0
  386. package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
  387. package/lib/tree/nodes/operators/powerNode.js +7 -0
  388. package/lib/tree/nodes/operators/substractNode.d.ts +1 -0
  389. package/lib/tree/nodes/operators/substractNode.d.ts.map +1 -1
  390. package/lib/tree/nodes/operators/substractNode.js +7 -0
  391. package/lib/tree/nodes/polynomials/monomNode.d.ts +1 -0
  392. package/lib/tree/nodes/polynomials/monomNode.d.ts.map +1 -1
  393. package/lib/tree/nodes/polynomials/monomNode.js +7 -0
  394. package/lib/tree/nodes/polynomials/trinomNode.d.ts +1 -0
  395. package/lib/tree/nodes/polynomials/trinomNode.d.ts.map +1 -1
  396. package/lib/tree/nodes/polynomials/trinomNode.js +7 -0
  397. package/lib/tree/nodes/sets/belongsNode.d.ts +1 -0
  398. package/lib/tree/nodes/sets/belongsNode.d.ts.map +1 -1
  399. package/lib/tree/nodes/sets/belongsNode.js +7 -0
  400. package/lib/tree/nodes/sets/discreteSetNode.d.ts +1 -0
  401. package/lib/tree/nodes/sets/discreteSetNode.d.ts.map +1 -1
  402. package/lib/tree/nodes/sets/discreteSetNode.js +7 -0
  403. package/lib/tree/nodes/sets/intervalNode.d.ts +1 -0
  404. package/lib/tree/nodes/sets/intervalNode.d.ts.map +1 -1
  405. package/lib/tree/nodes/sets/intervalNode.js +7 -0
  406. package/lib/tree/nodes/sets/unionIntervalNode.d.ts +1 -0
  407. package/lib/tree/nodes/sets/unionIntervalNode.d.ts.map +1 -1
  408. package/lib/tree/nodes/sets/unionIntervalNode.js +7 -0
  409. package/lib/tree/nodes/variables/variableNode.d.ts +1 -0
  410. package/lib/tree/nodes/variables/variableNode.d.ts.map +1 -1
  411. package/lib/tree/nodes/variables/variableNode.js +7 -0
  412. package/lib/tree/parsers/vectorParser.d.ts.map +1 -1
  413. package/lib/tree/parsers/vectorParser.js +8 -0
  414. package/lib/tree/utilities/nodeShuffler.d.ts.map +1 -1
  415. package/lib/tree/utilities/nodeShuffler.js +3 -0
  416. package/lib/tree/utilities/nodeSimplifier.d.ts.map +1 -1
  417. package/lib/tree/utilities/nodeSimplifier.js +3 -0
  418. package/package.json +1 -1
@@ -1,15 +1,29 @@
1
- import { addValidProp, addWrongProp, tryToAddWrongProp, } from "../../../../../exercises/exercise.js";
1
+ import { GeneratorOptionTarget, GeneratorOptionType, addValidProp, addWrongProp, tryToAddWrongProp, } from "../../../../../exercises/exercise.js";
2
2
  import { getDistinctQuestions } from "../../../../../exercises/utils/getDistinctQuestions.js";
3
3
  import { Trinom, TrinomConstructor } from "../../../../../math/polynomials/trinom.js";
4
- import { coinFlip } from "../../../../../utils/alea/coinFlip.js";
4
+ import { random } from "../../../../../utils/alea/random.js";
5
5
  import { shuffle } from "../../../../../utils/alea/shuffle.js";
6
6
  const getInstruction = (identifiers) => {
7
- const { isDevForm, a, b, c } = identifiers;
7
+ const { form, isDevForm, a, b, c } = identifiers;
8
8
  const trinom = new Trinom(a, b, c);
9
- return `La fonction $f$ définie par
9
+ let trinomTex;
10
+ if (isDevForm !== undefined) {
11
+ trinomTex = isDevForm
12
+ ? trinom.toTree().toTex()
13
+ : trinom.getCanonicalForm().toTex();
14
+ }
15
+ else {
16
+ trinomTex =
17
+ form === "dev"
18
+ ? trinom.toTree().toTex()
19
+ : form === "cano"
20
+ ? trinom.getCanonicalForm().toTex()
21
+ : trinom.toFactorized().toTex();
22
+ }
23
+ return `La fonction $f$ définie sur $\\mathbb{R}$ par :
10
24
 
11
25
  $$
12
- f(x) = ${isDevForm ? trinom.toTree().toTex() : trinom.getCanonicalForm().toTex()}
26
+ f(x) = ${trinomTex}
13
27
  $$
14
28
 
15
29
  admet-elle un maximum ou un minimum ?`;
@@ -18,22 +32,69 @@ const getAnswer = (identifiers) => {
18
32
  const answer = identifiers.a > 0 ? "Un minimum" : "Un maximum";
19
33
  return answer;
20
34
  };
21
- const getQuestionFromIdentifiers = (identifiers) => {
35
+ const getQuestionFromIdentifiers = (identifiers, opts) => {
22
36
  const question = {
23
37
  answer: getAnswer(identifiers),
24
- instruction: getInstruction(identifiers),
38
+ instruction: getInstruction(identifiers, opts),
25
39
  answerFormat: "raw",
26
40
  keys: [],
27
41
  identifiers,
42
+ hint: getHint(identifiers),
43
+ correction: getCorrection(identifiers),
28
44
  };
29
45
  return question;
30
46
  };
31
- const getExtremumTypeFromAlgebricFormQuestion = () => {
32
- const isDevForm = coinFlip();
33
- const trinom = isDevForm
47
+ const getHint = () => {
48
+ return `La fonction $f$ est un polynôme du second degré. Sa courbe représentative est donc une parabole. Cette parabole est tournée vers le bas si le coefficient $a$ est positif. Dans ce cas, elle admet un minmum. Si $a$ est négatif, alors la parabole est tournée vers le haut, et elle admet donc un maximum.`;
49
+ };
50
+ const getCorrection = (identifiers) => {
51
+ const { form, a } = identifiers;
52
+ return `La fonction $f$ est un polynôme du second degré donnée sous sa forme ${form === "dev"
53
+ ? "développée"
54
+ : form === "facto"
55
+ ? "factorisée"
56
+ : "canonique"} :
57
+
58
+ $$
59
+ f(x) = ${form === "dev"
60
+ ? "ax^2+bx+c"
61
+ : form === "facto"
62
+ ? "a(x-x_1)(x-x_2)"
63
+ : "a(x-\\alpha)^2+\\beta)"}
64
+ $$
65
+
66
+ Son coefficient $a$ vaut donc $${a.frenchify()}$.
67
+
68
+ Puisque $${a
69
+ .toTree()
70
+ .toSignInequationTex()}$, la parabole représentative de $f$ est tournée vers ${a > 0 ? "le bas" : "le haut"} : cela signifie que $f$ est admet un ${a > 0 ? "minimum" : "maximum"} sur $\\mathbb{R}$.`;
71
+ };
72
+ const getExtremumTypeFromAlgebricFormQuestion = (opts) => {
73
+ const formalForm = opts?.form
74
+ ? random(opts.form)
75
+ : random(["Forme canonique", "Forme factorisée", "Forme développée"]);
76
+ const form = (() => {
77
+ switch (formalForm) {
78
+ case "Forme canonique":
79
+ return "cano";
80
+ case "Forme factorisée":
81
+ return "facto";
82
+ case "Forme développée":
83
+ default:
84
+ return "dev";
85
+ }
86
+ })();
87
+ const trinom = form === "dev"
34
88
  ? TrinomConstructor.random()
35
- : TrinomConstructor.randomCanonical();
36
- const identifiers = { isDevForm, a: trinom.a, b: trinom.b, c: trinom.c };
89
+ : form === "cano"
90
+ ? TrinomConstructor.randomCanonical()
91
+ : TrinomConstructor.randomNiceRoots(2);
92
+ const identifiers = {
93
+ form,
94
+ a: trinom.a,
95
+ b: trinom.b,
96
+ c: trinom.c,
97
+ };
37
98
  return getQuestionFromIdentifiers(identifiers);
38
99
  };
39
100
  const getPropositions = (_n, { answer, a }) => {
@@ -45,15 +106,39 @@ const getPropositions = (_n, { answer, a }) => {
45
106
  addWrongProp(propositions, "Ni l'un ni l'autre", "raw");
46
107
  return propositions;
47
108
  };
109
+ const options = [
110
+ {
111
+ id: "form",
112
+ label: "Forme donnée",
113
+ target: GeneratorOptionTarget.generation,
114
+ type: GeneratorOptionType.multiselect,
115
+ values: ["Forme canonique", "Forme factorisée", "Forme développée"],
116
+ defaultValue: ["Forme canonique", "Forme factorisée", "Forme développée"],
117
+ },
118
+ ];
119
+ const validateOptions = (opts) => {
120
+ if (!opts?.form?.length)
121
+ return {
122
+ valid: false,
123
+ message: "Veuillez choisir au moins un type de forme algébrique.",
124
+ };
125
+ return {
126
+ valid: true,
127
+ message: "",
128
+ };
129
+ };
48
130
  export const extremumTypeFromAlgebricForm = {
49
131
  id: "extremumTypeFromAlgebricForm",
50
132
  label: "Déterminer le type d'extremum d'une fonction du second degré via sa forme algébrique",
51
133
  isSingleStep: true,
52
- generator: (nb) => getDistinctQuestions(getExtremumTypeFromAlgebricFormQuestion, nb),
134
+ generator: (nb, opts) => getDistinctQuestions(() => getExtremumTypeFromAlgebricFormQuestion(opts), nb),
53
135
  answerType: "QCU",
54
136
  qcmTimer: 60,
55
137
  freeTimer: 60,
56
138
  getPropositions,
57
139
  subject: "Mathématiques",
58
140
  getQuestionFromIdentifiers,
141
+ validateOptions,
142
+ options,
143
+ hasHintAndCorrection: true,
59
144
  };
@@ -1 +1 @@
1
- {"version":3,"file":"partialVarTableFromGraph.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/variations/partialVarTableFromGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AA6LF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAmB1D,CAAC"}
1
+ {"version":3,"file":"partialVarTableFromGraph.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/variations/partialVarTableFromGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AA2LF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAmB1D,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
2
+ import { varTableVEA } from "../../../../exercises/vea/varTableVEA.js";
2
3
  import { GeogebraConstructor } from "../../../../geogebra/geogebraConstructor.js";
3
4
  import { Polynomial } from "../../../../math/polynomials/polynomial.js";
4
5
  import { randint } from "../../../../math/utils/random/randint.js";
@@ -111,7 +112,7 @@ const getKeys = () => {
111
112
  };
112
113
  const isAnswerTableValid = (ans, { answerTable }) => {
113
114
  try {
114
- return ans.every((row, i) => row.every((cell, j) => cell === answerTable[i][j]));
115
+ return varTableVEA(ans, answerTable);
115
116
  }
116
117
  catch (err) {
117
118
  return handleVEAError(err);
@@ -1 +1 @@
1
- {"version":3,"file":"varTableFromGraph.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/variations/varTableFromGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAUrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;CACvB,CAAC;AA0KF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAmBnD,CAAC"}
1
+ {"version":3,"file":"varTableFromGraph.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/variations/varTableFromGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;CACvB,CAAC;AAwKF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAmBnD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
2
+ import { varTableVEA } from "../../../../exercises/vea/varTableVEA.js";
2
3
  import { GeogebraConstructor } from "../../../../geogebra/geogebraConstructor.js";
3
4
  import { Polynomial } from "../../../../math/polynomials/polynomial.js";
4
5
  import { randint } from "../../../../math/utils/random/randint.js";
@@ -106,7 +107,7 @@ const getKeys = () => {
106
107
  };
107
108
  const isAnswerTableValid = (ans, { answerTable }) => {
108
109
  try {
109
- return ans.every((row, i) => row.every((cell, j) => cell === answerTable[i][j]));
110
+ return varTableVEA(ans, answerTable);
110
111
  }
111
112
  catch (err) {
112
113
  return handleVEAError(err);
@@ -1 +1 @@
1
- {"version":3,"file":"varTableFromSentences.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/variations/varTableFromSentences.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAI7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,EAAE,EAAE,eAAe,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;CACvB,CAAC;AAwLF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAkBvD,CAAC"}
1
+ {"version":3,"file":"varTableFromSentences.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/variations/varTableFromSentences.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EACL,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAI7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,EAAE,EAAE,eAAe,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;CACvB,CAAC;AAsLF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAkBvD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
2
+ import { varTableVEA } from "../../../../exercises/vea/varTableVEA.js";
2
3
  import { randint } from "../../../../math/utils/random/randint.js";
3
4
  import { randTupleInt } from "../../../../math/utils/random/randTupleInt.js";
4
5
  import { reifyAlgebraic, } from "../../../../tree/nodes/nodeConstructor.js";
@@ -98,7 +99,7 @@ const getKeys = () => {
98
99
  };
99
100
  const isAnswerTableValid = (ans, { answerTable }) => {
100
101
  try {
101
- return ans.every((row, i) => row.every((cell, j) => cell === answerTable[i][j]));
102
+ return varTableVEA(ans, answerTable);
102
103
  }
103
104
  catch (err) {
104
105
  return handleVEAError(err);
@@ -1 +1 @@
1
- {"version":3,"file":"circleCenterAndRadiusFromEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/circles/circleCenterAndRadiusFromEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EAEL,oBAAoB,EACrB,MAAM,yCAAyC,CAAC;AAWjD,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAqJF,KAAK,OAAO,GAAG;IACb,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAWF,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAwB1E,CAAC"}
1
+ {"version":3,"file":"circleCenterAndRadiusFromEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/circles/circleCenterAndRadiusFromEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAkBT,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EAEL,oBAAoB,EACrB,MAAM,yCAAyC,CAAC;AAWjD,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAmJF,KAAK,OAAO,GAAG;IACb,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAWF,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAwB1E,CAAC"}
@@ -29,7 +29,6 @@ const getPropositions = (n, { answer, isAskingRadius }) => {
29
29
  const getAnswer = (identifiers) => {
30
30
  const { equationIds, isAskingRadius } = identifiers;
31
31
  const equation = reifyAlgebraic(equationIds);
32
- console.log(equation.toTex());
33
32
  if (isAskingRadius)
34
33
  return sqrt(equation.rightChild).simplify().toTex();
35
34
  const left = equation.leftChild;
@@ -112,7 +111,6 @@ const getCircleCenterAndRadiusFromEquationQuestion = (opts) => {
112
111
  ? randint(1, 10).toTree()
113
112
  : SquareRootConstructor.randomIrreductible(20).toTree();
114
113
  const eq = CircleConstructor.cartesianEquation(center, radius);
115
- console.log("rad ", radius.toTex(), "eq ", eq.toTex());
116
114
  const identifiers = {
117
115
  isAskingRadius,
118
116
  equationIds: eq.toIdentifiers(),
@@ -16,4 +16,5 @@ export * from "./drawLineFromPointAndVector.js";
16
16
  export * from "./cartesianEquationsIntersection.js";
17
17
  export * from "./directorVectorFromAnother.js";
18
18
  export * from "./cartesianEquationOfTriangleHeight.js";
19
+ export * from "./readLineNormalVectorOnGraph.js";
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/lines/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/lines/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC"}
@@ -16,3 +16,4 @@ export * from "./drawLineFromPointAndVector.js";
16
16
  export * from "./cartesianEquationsIntersection.js";
17
17
  export * from "./directorVectorFromAnother.js";
18
18
  export * from "./cartesianEquationOfTriangleHeight.js";
19
+ export * from "./readLineNormalVectorOnGraph.js";
@@ -0,0 +1,13 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ import { PointIdentifiers } from "../../../../math/geometry/point.js";
3
+ type Identifiers = {
4
+ point1Ids: PointIdentifiers;
5
+ point2Ids: PointIdentifiers;
6
+ point3Ids?: PointIdentifiers;
7
+ };
8
+ type Options = {
9
+ withoutPerp: boolean;
10
+ };
11
+ export declare const readLineNormalVectorOnGraph: Exercise<Identifiers, Options>;
12
+ export {};
13
+ //# sourceMappingURL=readLineNormalVectorOnGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readLineNormalVectorOnGraph.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/lines/readLineNormalVectorOnGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAGL,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAQtC,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AA8KF,KAAK,OAAO,GAAG;IACb,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAaF,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAwBtE,CAAC"}
@@ -0,0 +1,195 @@
1
+ import { addValidProp, shuffleProps, GeneratorOptionType, GeneratorOptionTarget, propWhile, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { colinearVectorVEA } from "../../../../exercises/vea/colinearVectorVEA.js";
4
+ import { GeogebraConstructor } from "../../../../geogebra/geogebraConstructor.js";
5
+ import { Line } from "../../../../math/geometry/line.js";
6
+ import { PointConstructor, } from "../../../../math/geometry/point.js";
7
+ import { Vector, VectorConstructor } from "../../../../math/geometry/vector.js";
8
+ import { RationalConstructor } from "../../../../math/numbers/rationals/rational.js";
9
+ import { opposite } from "../../../../tree/nodes/functions/oppositeNode.js";
10
+ import { vectorParser } from "../../../../tree/parsers/vectorParser.js";
11
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
12
+ const getPropositions = (n, { answer }) => {
13
+ const propositions = [];
14
+ addValidProp(propositions, answer);
15
+ propWhile(propositions, n, () => {
16
+ const vec = VectorConstructor.random("v");
17
+ const sol = vectorParser(answer);
18
+ if (!sol)
19
+ throw new Error("answer malformed in readLineNormalVectorOnGraph");
20
+ if (vec.isColinear(sol))
21
+ return;
22
+ tryToAddWrongProp(propositions, vec.toBinomCoords().toTex());
23
+ });
24
+ return shuffleProps(propositions, n);
25
+ };
26
+ const getAnswer = (identifiers) => {
27
+ const { point1Ids, point2Ids, point3Ids } = identifiers;
28
+ const point1 = PointConstructor.fromIdentifiers(point1Ids);
29
+ const point2 = PointConstructor.fromIdentifiers(point2Ids);
30
+ if (point3Ids) {
31
+ //perp tracée
32
+ const point3 = PointConstructor.fromIdentifiers(point3Ids);
33
+ const vector = VectorConstructor.fromPoints(point2, point3);
34
+ return vector.simplify().toBinomCoords().toTex();
35
+ }
36
+ else {
37
+ const vector = VectorConstructor.fromPoints(point1, point2);
38
+ const normal = vector.getOrthogonal();
39
+ return normal.toBinomCoords().toTex();
40
+ }
41
+ };
42
+ const getInstruction = (_identifiers, opts) => {
43
+ if (opts?.withoutPerp) {
44
+ return `Ci-dessous est tracée une droite $d$.
45
+
46
+ Déterminer graphiquement les coordonnées d'un vecteur normal à $d$.`;
47
+ }
48
+ return `Ci-dessous sont tracées deux droites perpendiculaires $d$ et $d'$.
49
+
50
+ Déterminer graphiquement les coordonnées d'un vecteur normal à $d$.`;
51
+ };
52
+ const getHint = (_identifiers, opts) => {
53
+ if (opts?.withoutPerp) {
54
+ const u = new Vector("u", "a".toTree(), "b".toTree());
55
+ const v = new Vector("v", opposite("b"), "a".toTree());
56
+ return `Détermine un vecteur directeur de $d$. Puis, utilise la propriété suivante : si $${u.toTexWithBinomCoords()}$ est un vecteur directeur de $d$, alors $${v.toTexWithBinomCoords()}$ est un vecteur normal à $d$.`;
57
+ }
58
+ return `Un vecteur normal d'une droite est un vecteur qui est orthogonal à un vecteur directeur de cette droite.
59
+
60
+ Ici, un vecteur normal à $d$ est donc également un vecteur directeur de $d'$.`;
61
+ };
62
+ const getCorrection = (identifiers) => {
63
+ const { point1Ids, point2Ids, point3Ids } = identifiers;
64
+ const point1 = PointConstructor.fromIdentifiers(point1Ids);
65
+ const point2 = PointConstructor.fromIdentifiers(point2Ids);
66
+ if (point3Ids) {
67
+ const point3 = PointConstructor.fromIdentifiers(point3Ids);
68
+ return `Un vecteur normal à la droite $d$ est un vecteur directeur de la droite $d'$.
69
+
70
+ On lit donc graphiquement un vecteur directeur de $d'$.
71
+
72
+ Cette droite passe par les points de coordonnées $${point2.toCoords()}$ et $${point3.toCoords()}$. Un vecteur directeur de $d'$ est donc :
73
+
74
+ $$
75
+ ${VectorConstructor.fromPoints(point2, point3).toBinomCoords().toTex()}
76
+ $$
77
+
78
+ C'est un vecteur normal à $d$.`;
79
+ }
80
+ const u = new Vector("u", "a".toTree(), "b".toTree());
81
+ const v = new Vector("v", opposite("b"), "a".toTree());
82
+ return `La droite $d$ passe par les points de coordonnées $${point1.toCoords()}$ et $${point2.toCoords()}$. Un vecteur directeur de $d$ est donc :
83
+
84
+ $$
85
+ ${VectorConstructor.fromPoints(point1, point2).toBinomCoords().toTex()}
86
+ $$
87
+
88
+ On sait que si $${u.toTexWithBinomCoords()}$ est un vecteur directeur de $d$, alors $${v.toTexWithBinomCoords()}$ est un vecteur normal à $d$.
89
+
90
+ Ici, les coordonnées d'un vecteur normal à $d$ sont donc :
91
+
92
+ $$
93
+ ${getAnswer(identifiers)}
94
+ $$`;
95
+ };
96
+ const getGGBOptions = (identifiers) => {
97
+ const { point1Ids, point2Ids, point3Ids } = identifiers;
98
+ const point1 = PointConstructor.fromIdentifiers(point1Ids);
99
+ const point2 = PointConstructor.fromIdentifiers(point2Ids);
100
+ const line = new Line(point1, point2, "d");
101
+ const ggb = new GeogebraConstructor({
102
+ commands: line.toGGBCommands(true, {
103
+ isFixed: true,
104
+ isSelectionnable: false,
105
+ showLabel: true,
106
+ showUnderlyingPoints: false,
107
+ }),
108
+ });
109
+ if (point3Ids) {
110
+ const point3 = PointConstructor.fromIdentifiers(point3Ids);
111
+ ggb.commands?.push(`d' = PerpendicularLine(${point2.name}, d)`);
112
+ ggb.commands?.push(`alpha = Angle(d,d')`);
113
+ ggb.commands?.push(`ShowLabel(d', true)`);
114
+ ggb.commands?.push(`ShowLabel(alpha, false)`);
115
+ return ggb.getOptions({
116
+ coords: ggb.getCoordsForPoints([point1, point2, point3]),
117
+ });
118
+ }
119
+ else {
120
+ return ggb.getOptions({
121
+ coords: ggb.getCoordsForPoints([point1, point2]),
122
+ });
123
+ }
124
+ };
125
+ const getKeys = () => {
126
+ return ["binom", "semicolon"];
127
+ };
128
+ const isAnswerValid = (ans, { answer }) => {
129
+ try {
130
+ return colinearVectorVEA(ans, answer);
131
+ }
132
+ catch (err) {
133
+ return handleVEAError(err);
134
+ }
135
+ };
136
+ const getReadLineNormalVectorOnGraphQuestion = (opts) => {
137
+ const point1 = PointConstructor.random("A");
138
+ const ratio = RationalConstructor.randomIrreductibleWithSign(6);
139
+ const translation = new Vector("u", ratio.num.toTree(), ratio.denum.toTree());
140
+ const point2 = translation.getEndPoint(point1);
141
+ let point3;
142
+ if (!opts?.withoutPerp) {
143
+ const vector = VectorConstructor.fromPoints(point1, point2);
144
+ const normal = vector.getOrthogonal();
145
+ point3 = normal.getEndPoint(point2);
146
+ }
147
+ const identifiers = {
148
+ point1Ids: point1.toIdentifiers(),
149
+ point2Ids: point2.toIdentifiers(),
150
+ point3Ids: point3?.toIdentifiers(),
151
+ };
152
+ return getQuestionFromIdentifiers(identifiers, opts);
153
+ };
154
+ const getQuestionFromIdentifiers = (identifiers, opts) => {
155
+ return {
156
+ answer: getAnswer(identifiers, opts),
157
+ instruction: getInstruction(identifiers, opts),
158
+ keys: getKeys(identifiers, opts),
159
+ answerFormat: "tex",
160
+ identifiers,
161
+ hint: getHint(identifiers, opts),
162
+ correction: getCorrection(identifiers, opts),
163
+ ggbOptions: getGGBOptions(identifiers, opts),
164
+ };
165
+ };
166
+ const options = [
167
+ {
168
+ id: "withoutPerp",
169
+ label: "Ne pas tracer de droite perpendiculaire",
170
+ type: GeneratorOptionType.checkbox,
171
+ target: GeneratorOptionTarget.generation,
172
+ defaultValue: false,
173
+ tooltipText: "S'il n'y a pas de droite perpendiculaire tracée, l'élève devra utiliser le vecteur directeur de la droite puis la propriété qui donne un vecteur normal à partir d'un vecteur directeur.",
174
+ },
175
+ ];
176
+ export const readLineNormalVectorOnGraph = {
177
+ id: "readLineNormalVectorOnGraph",
178
+ label: "Déterminer graphiquement les coordonnées d'un vecteur normal à une droite",
179
+ isSingleStep: true,
180
+ generator: (nb, opts) => getDistinctQuestions(() => getReadLineNormalVectorOnGraphQuestion(opts), nb),
181
+ qcmTimer: 60,
182
+ freeTimer: 60,
183
+ getPropositions,
184
+ isAnswerValid,
185
+ subject: "Mathématiques",
186
+ getHint,
187
+ getCorrection,
188
+ getInstruction,
189
+ getAnswer,
190
+ getGGBOptions,
191
+ hasGeogebra: true,
192
+ getQuestionFromIdentifiers,
193
+ options,
194
+ hasHintAndCorrection: true,
195
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"scalarProductAlKashiAngle.d.ts","sourceRoot":"","sources":["../../../../../../../src/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiAngle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAgBT,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAEL,mBAAmB,EACpB,MAAM,2CAA2C,CAAC;AAkBnD,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAmSF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAoB3D,CAAC"}
1
+ {"version":3,"file":"scalarProductAlKashiAngle.d.ts","sourceRoot":"","sources":["../../../../../../../src/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiAngle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAEL,mBAAmB,EACpB,MAAM,2CAA2C,CAAC;AAyBnD,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AA8SF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAmB3D,CAAC"}