math-exercises 3.0.158 → 3.0.160

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 (268) hide show
  1. package/lib/exercises/math/calculLitteral/equation/exp/expOfFEqualsExpOfGEquation.js +7 -6
  2. package/lib/exercises/math/calculLitteral/equation/exp/expOfTrinomEquals1Equation.d.ts.map +1 -1
  3. package/lib/exercises/math/calculLitteral/equation/exp/expOfTrinomEquals1Equation.js +88 -9
  4. package/lib/exercises/math/calculLitteral/equation/factorizeEquation.d.ts.map +1 -1
  5. package/lib/exercises/math/calculLitteral/equation/factorizeEquation.js +8 -2
  6. package/lib/exercises/math/calculLitteral/equation/index.d.ts +1 -0
  7. package/lib/exercises/math/calculLitteral/equation/index.d.ts.map +1 -1
  8. package/lib/exercises/math/calculLitteral/equation/index.js +1 -0
  9. package/lib/exercises/math/calculLitteral/equation/multiplicationEquation.d.ts.map +1 -1
  10. package/lib/exercises/math/calculLitteral/equation/multiplicationEquation.js +27 -2
  11. package/lib/exercises/math/calculLitteral/equation/solveByFactorizingWithIdRmq3.d.ts.map +1 -1
  12. package/lib/exercises/math/calculLitteral/equation/solveByFactorizingWithIdRmq3.js +1 -3
  13. package/lib/exercises/math/calculLitteral/equation/square/equationSquareWithSteps.d.ts.map +1 -1
  14. package/lib/exercises/math/calculLitteral/equation/square/equationSquareWithSteps.js +0 -1
  15. package/lib/exercises/math/calculLitteral/inequations/exp/expOfFEqualsExpOfGInequation.d.ts.map +1 -1
  16. package/lib/exercises/math/calculLitteral/inequations/exp/expOfFEqualsExpOfGInequation.js +11 -4
  17. package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType3.d.ts.map +1 -1
  18. package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType3.js +11 -5
  19. package/lib/exercises/math/calculLitteral/inequations/index.d.ts +1 -0
  20. package/lib/exercises/math/calculLitteral/inequations/index.d.ts.map +1 -1
  21. package/lib/exercises/math/calculLitteral/inequations/index.js +1 -0
  22. package/lib/exercises/math/derivation/derivative/exp/expDerivativeFour.d.ts.map +1 -1
  23. package/lib/exercises/math/derivation/derivative/exp/expDerivativeFour.js +91 -21
  24. package/lib/exercises/math/derivation/derivative/exp/expDerivativeOne.d.ts.map +1 -1
  25. package/lib/exercises/math/derivation/derivative/exp/expDerivativeOne.js +63 -43
  26. package/lib/exercises/math/derivation/derivative/exp/expDerivativeThree.d.ts.map +1 -1
  27. package/lib/exercises/math/derivation/derivative/exp/expDerivativeThree.js +72 -49
  28. package/lib/exercises/math/derivation/derivative/exp/expDerivativeTwo.d.ts.map +1 -1
  29. package/lib/exercises/math/derivation/derivative/exp/expDerivativeTwo.js +19 -19
  30. package/lib/exercises/math/derivation/derivative/exp/expOverExpDerivative.d.ts.map +1 -1
  31. package/lib/exercises/math/derivation/derivative/exp/expOverExpDerivative.js +26 -14
  32. package/lib/exercises/math/derivation/derivative/exp/index.d.ts +1 -0
  33. package/lib/exercises/math/derivation/derivative/exp/index.d.ts.map +1 -1
  34. package/lib/exercises/math/derivation/derivative/exp/index.js +1 -0
  35. package/lib/exercises/math/derivation/variations/index.d.ts +1 -0
  36. package/lib/exercises/math/derivation/variations/index.d.ts.map +1 -1
  37. package/lib/exercises/math/derivation/variations/index.js +1 -0
  38. package/lib/exercises/math/derivation/variations/readExtremaAbscissFromDerivativeCurve.d.ts +7 -0
  39. package/lib/exercises/math/derivation/variations/readExtremaAbscissFromDerivativeCurve.d.ts.map +1 -0
  40. package/lib/exercises/math/derivation/variations/readExtremaAbscissFromDerivativeCurve.js +174 -0
  41. package/lib/exercises/math/functions/exponential/algebraic/approxExpAPlusB.d.ts.map +1 -1
  42. package/lib/exercises/math/functions/exponential/algebraic/approxExpAPlusB.js +30 -3
  43. package/lib/exercises/math/functions/exponential/algebraic/approxExpKa.d.ts.map +1 -1
  44. package/lib/exercises/math/functions/exponential/algebraic/approxExpKa.js +12 -7
  45. package/lib/exercises/math/functions/exponential/algebraic/approxExpN.js +1 -1
  46. package/lib/exercises/math/functions/exponential/algebraic/rewriteExpUsingExpA.js +2 -2
  47. package/lib/exercises/math/functions/exponential/definition/approxExpAPlusH.d.ts.map +1 -1
  48. package/lib/exercises/math/functions/exponential/definition/approxExpAPlusH.js +33 -44
  49. package/lib/exercises/math/functions/exponential/definition/expAntecedentFromGraph.d.ts.map +1 -1
  50. package/lib/exercises/math/functions/exponential/definition/expAntecedentFromGraph.js +80 -8
  51. package/lib/exercises/math/functions/exponential/definition/expImageFromGraph.d.ts.map +1 -1
  52. package/lib/exercises/math/functions/exponential/definition/expImageFromGraph.js +80 -25
  53. package/lib/exercises/math/functions/exponential/definition/isPlausibleExpFromGraph.d.ts.map +1 -1
  54. package/lib/exercises/math/functions/exponential/definition/isPlausibleExpFromGraph.js +6 -15
  55. package/lib/exercises/math/functions/exponential/expFactorization.d.ts.map +1 -1
  56. package/lib/exercises/math/functions/exponential/expFactorization.js +54 -42
  57. package/lib/exercises/math/functions/exponential/index.d.ts +2 -0
  58. package/lib/exercises/math/functions/exponential/index.d.ts.map +1 -1
  59. package/lib/exercises/math/functions/exponential/index.js +2 -0
  60. package/lib/exercises/math/functions/trinoms/equation/secondDegreeInequation.js +3 -0
  61. package/lib/exercises/math/functions/trinoms/factoForm/index.d.ts +1 -0
  62. package/lib/exercises/math/functions/trinoms/factoForm/index.d.ts.map +1 -1
  63. package/lib/exercises/math/functions/trinoms/factoForm/index.js +1 -0
  64. package/lib/exercises/math/functions/trinoms/factoForm/trinomDevelopFactorizedForm.d.ts +13 -0
  65. package/lib/exercises/math/functions/trinoms/factoForm/trinomDevelopFactorizedForm.d.ts.map +1 -0
  66. package/lib/exercises/math/functions/trinoms/factoForm/trinomDevelopFactorizedForm.js +147 -0
  67. package/lib/exercises/math/functions/trinoms/roots/niceRootsFromDevForm.d.ts.map +1 -1
  68. package/lib/exercises/math/functions/trinoms/roots/niceRootsFromDevForm.js +96 -0
  69. package/lib/exercises/math/functions/trinoms/roots/rootsFromDevForm.d.ts.map +1 -1
  70. package/lib/exercises/math/functions/trinoms/roots/rootsFromDevForm.js +95 -1
  71. package/lib/exercises/math/functions/trinoms/summitAndCanonical/devFormFromSummitAndPoint.d.ts +9 -0
  72. package/lib/exercises/math/functions/trinoms/summitAndCanonical/devFormFromSummitAndPoint.d.ts.map +1 -0
  73. package/lib/exercises/math/functions/trinoms/summitAndCanonical/devFormFromSummitAndPoint.js +173 -0
  74. package/lib/exercises/math/functions/trinoms/summitAndCanonical/index.d.ts +2 -0
  75. package/lib/exercises/math/functions/trinoms/summitAndCanonical/index.d.ts.map +1 -1
  76. package/lib/exercises/math/functions/trinoms/summitAndCanonical/index.js +2 -0
  77. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitAbscissFromRoots.js +1 -1
  78. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitAbscissFromSymetricPoints.d.ts +9 -0
  79. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitAbscissFromSymetricPoints.d.ts.map +1 -0
  80. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitAbscissFromSymetricPoints.js +97 -0
  81. package/lib/exercises/math/functions/variations/exp/varOfAEXPlusB.d.ts.map +1 -1
  82. package/lib/exercises/math/functions/variations/exp/varOfAEXPlusB.js +18 -23
  83. package/lib/exercises/math/functions/variations/exp/varOfAEXPlusBOverCEXPlusD.d.ts.map +1 -1
  84. package/lib/exercises/math/functions/variations/exp/varOfAEXPlusBOverCEXPlusD.js +24 -26
  85. package/lib/exercises/math/functions/variations/index.d.ts +1 -0
  86. package/lib/exercises/math/functions/variations/index.d.ts.map +1 -1
  87. package/lib/exercises/math/functions/variations/index.js +1 -0
  88. package/lib/exercises/math/geometry/cartesian/cartesianEquationOfLineFromPerpendicularLine.d.ts +12 -0
  89. package/lib/exercises/math/geometry/cartesian/cartesianEquationOfLineFromPerpendicularLine.d.ts.map +1 -0
  90. package/lib/exercises/math/geometry/cartesian/cartesianEquationOfLineFromPerpendicularLine.js +230 -0
  91. package/lib/exercises/math/geometry/cartesian/cartesianEquationOfLineFromPointAndNormalVector.d.ts +10 -0
  92. package/lib/exercises/math/geometry/cartesian/cartesianEquationOfLineFromPointAndNormalVector.d.ts.map +1 -0
  93. package/lib/exercises/math/geometry/cartesian/cartesianEquationOfLineFromPointAndNormalVector.js +167 -0
  94. package/lib/exercises/math/geometry/cartesian/index.d.ts +3 -0
  95. package/lib/exercises/math/geometry/cartesian/index.d.ts.map +1 -1
  96. package/lib/exercises/math/geometry/cartesian/index.js +3 -0
  97. package/lib/exercises/math/geometry/cartesian/normalVectorFromCartesianLineEquation.d.ts +10 -0
  98. package/lib/exercises/math/geometry/cartesian/normalVectorFromCartesianLineEquation.d.ts.map +1 -0
  99. package/lib/exercises/math/geometry/cartesian/normalVectorFromCartesianLineEquation.js +131 -0
  100. package/lib/exercises/math/geometry/circles/circleCanonicalEquationFromDevEquation.d.ts +10 -0
  101. package/lib/exercises/math/geometry/circles/circleCanonicalEquationFromDevEquation.d.ts.map +1 -0
  102. package/lib/exercises/math/geometry/circles/circleCanonicalEquationFromDevEquation.js +174 -0
  103. package/lib/exercises/math/geometry/circles/circleCenterAndRadiusFromEquation.d.ts +12 -0
  104. package/lib/exercises/math/geometry/circles/circleCenterAndRadiusFromEquation.d.ts.map +1 -0
  105. package/lib/exercises/math/geometry/circles/circleCenterAndRadiusFromEquation.js +161 -0
  106. package/lib/exercises/math/geometry/circles/circleEquationFromDiameter.d.ts +9 -0
  107. package/lib/exercises/math/geometry/circles/circleEquationFromDiameter.d.ts.map +1 -0
  108. package/lib/exercises/math/geometry/circles/circleEquationFromDiameter.js +145 -0
  109. package/lib/exercises/math/geometry/circles/circleEquationFromPointAndRadius.d.ts +13 -0
  110. package/lib/exercises/math/geometry/circles/circleEquationFromPointAndRadius.d.ts.map +1 -0
  111. package/lib/exercises/math/geometry/circles/circleEquationFromPointAndRadius.js +181 -0
  112. package/lib/exercises/math/geometry/circles/circleRadiusOrCenterFromDevEquation.d.ts +11 -0
  113. package/lib/exercises/math/geometry/circles/circleRadiusOrCenterFromDevEquation.d.ts.map +1 -0
  114. package/lib/exercises/math/geometry/circles/circleRadiusOrCenterFromDevEquation.js +191 -0
  115. package/lib/exercises/math/geometry/circles/index.d.ts +7 -0
  116. package/lib/exercises/math/geometry/circles/index.d.ts.map +1 -0
  117. package/lib/exercises/math/geometry/circles/index.js +6 -0
  118. package/lib/exercises/math/geometry/circles/isPointOnCircleFromCartesianEquation.d.ts +11 -0
  119. package/lib/exercises/math/geometry/circles/isPointOnCircleFromCartesianEquation.d.ts.map +1 -0
  120. package/lib/exercises/math/geometry/circles/isPointOnCircleFromCartesianEquation.js +131 -0
  121. package/lib/exercises/math/geometry/euclidian/pinSegmentFromRotation.d.ts.map +1 -1
  122. package/lib/exercises/math/geometry/euclidian/pinSegmentFromRotation.js +0 -2
  123. package/lib/exercises/math/geometry/index.d.ts +1 -0
  124. package/lib/exercises/math/geometry/index.d.ts.map +1 -1
  125. package/lib/exercises/math/geometry/index.js +1 -0
  126. package/lib/exercises/math/geometry/lines/cartesianEquationOfTriangleHeight.d.ts +10 -0
  127. package/lib/exercises/math/geometry/lines/cartesianEquationOfTriangleHeight.d.ts.map +1 -0
  128. package/lib/exercises/math/geometry/lines/cartesianEquationOfTriangleHeight.js +181 -0
  129. package/lib/exercises/math/geometry/lines/cartesianEquationToReduced.d.ts +4 -1
  130. package/lib/exercises/math/geometry/lines/cartesianEquationToReduced.d.ts.map +1 -1
  131. package/lib/exercises/math/geometry/lines/cartesianEquationToReduced.js +23 -3
  132. package/lib/exercises/math/geometry/lines/index.d.ts +1 -0
  133. package/lib/exercises/math/geometry/lines/index.d.ts.map +1 -1
  134. package/lib/exercises/math/geometry/lines/index.js +1 -0
  135. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/index.d.ts +4 -0
  136. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/index.d.ts.map +1 -0
  137. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/index.js +3 -0
  138. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiAngle.d.ts +9 -0
  139. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiAngle.d.ts.map +1 -0
  140. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiAngle.js +247 -0
  141. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.d.ts +13 -0
  142. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.d.ts.map +1 -0
  143. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiBH.js +452 -0
  144. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiSideLength.d.ts +9 -0
  145. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiSideLength.d.ts.map +1 -0
  146. package/lib/exercises/math/geometry/vectors/scalarProduct/alKashi/scalarProductAlKashiSideLength.js +253 -0
  147. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/index.d.ts +4 -0
  148. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/index.d.ts.map +1 -0
  149. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/index.js +3 -0
  150. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductIdentities.d.ts +10 -0
  151. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductIdentities.d.ts.map +1 -0
  152. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductIdentities.js +174 -0
  153. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductInOrthonormalBasisIJ.d.ts +9 -0
  154. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductInOrthonormalBasisIJ.d.ts.map +1 -0
  155. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductInOrthonormalBasisIJ.js +231 -0
  156. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductLamdbaULambdaV.d.ts +14 -0
  157. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductLamdbaULambdaV.d.ts.map +1 -0
  158. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductLamdbaULambdaV.js +292 -0
  159. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/index.d.ts +6 -0
  160. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/index.d.ts.map +1 -0
  161. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/index.js +5 -0
  162. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsBasisIJ.d.ts +9 -0
  163. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsBasisIJ.d.ts.map +1 -0
  164. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsBasisIJ.js +202 -0
  165. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsUsingCoords.d.ts +9 -0
  166. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsUsingCoords.d.ts.map +1 -0
  167. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsOrthogonalVecsUsingCoords.js +127 -0
  168. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnCircle.d.ts +12 -0
  169. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnCircle.d.ts.map +1 -0
  170. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnCircle.js +167 -0
  171. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnPerpendicularBisector.d.ts +12 -0
  172. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnPerpendicularBisector.d.ts.map +1 -0
  173. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsPointOnPerpendicularBisector.js +180 -0
  174. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsRightTriangleUsingPointCoords.d.ts +12 -0
  175. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsRightTriangleUsingPointCoords.d.ts.map +1 -0
  176. package/lib/exercises/math/geometry/vectors/scalarProduct/orth/scalarProductIsRightTriangleUsingPointCoords.js +235 -0
  177. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.d.ts +12 -0
  178. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.d.ts.map +1 -0
  179. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductComputeBH.js +423 -0
  180. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOfVectsOnGrid1.d.ts +17 -0
  181. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOfVectsOnGrid1.d.ts.map +1 -0
  182. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductOfVectsOnGrid1.js +347 -0
  183. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductParallelogramDiagonalPlus.d.ts +8 -0
  184. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductParallelogramDiagonalPlus.d.ts.map +1 -0
  185. package/lib/exercises/math/geometry/vectors/scalarProduct/scalarProductParallelogramDiagonalPlus.js +301 -0
  186. package/lib/exercises/math/probaStat/randomVariable/findValueForFairRandomVariable.d.ts +9 -0
  187. package/lib/exercises/math/probaStat/randomVariable/findValueForFairRandomVariable.d.ts.map +1 -0
  188. package/lib/exercises/math/probaStat/randomVariable/findValueForFairRandomVariable.js +141 -0
  189. package/lib/exercises/math/probaStat/randomVariable/findValueToMatchRandomVariableAverage.d.ts +10 -0
  190. package/lib/exercises/math/probaStat/randomVariable/findValueToMatchRandomVariableAverage.d.ts.map +1 -0
  191. package/lib/exercises/math/probaStat/randomVariable/findValueToMatchRandomVariableAverage.js +174 -0
  192. package/lib/exercises/math/probaStat/randomVariable/index.d.ts +1 -0
  193. package/lib/exercises/math/probaStat/randomVariable/index.d.ts.map +1 -1
  194. package/lib/exercises/math/probaStat/randomVariable/index.js +2 -0
  195. package/lib/exercises/math/sequences/generation/index.d.ts +2 -0
  196. package/lib/exercises/math/sequences/generation/index.d.ts.map +1 -0
  197. package/lib/exercises/math/sequences/generation/index.js +1 -0
  198. package/lib/exercises/math/sequences/generation/recognizeRecurrenceOrExplicit.d.ts +8 -0
  199. package/lib/exercises/math/sequences/generation/recognizeRecurrenceOrExplicit.d.ts.map +1 -0
  200. package/lib/exercises/math/sequences/generation/recognizeRecurrenceOrExplicit.js +63 -0
  201. package/lib/exercises/math/sequences/graph/index.d.ts +2 -0
  202. package/lib/exercises/math/sequences/graph/index.d.ts.map +1 -0
  203. package/lib/exercises/math/sequences/graph/index.js +1 -0
  204. package/lib/exercises/math/sequences/graph/placeFirstSequencePoints.d.ts +11 -0
  205. package/lib/exercises/math/sequences/graph/placeFirstSequencePoints.d.ts.map +1 -0
  206. package/lib/exercises/math/sequences/graph/placeFirstSequencePoints.js +113 -0
  207. package/lib/exercises/math/sequences/index.d.ts +2 -0
  208. package/lib/exercises/math/sequences/index.d.ts.map +1 -1
  209. package/lib/exercises/math/sequences/index.js +2 -0
  210. package/lib/exercises/math/sequences/notation/identifyRankInSequenceTermsList.d.ts +12 -0
  211. package/lib/exercises/math/sequences/notation/identifyRankInSequenceTermsList.d.ts.map +1 -0
  212. package/lib/exercises/math/sequences/notation/identifyRankInSequenceTermsList.js +114 -0
  213. package/lib/exercises/math/sequences/notation/identifySequenceTermInList.d.ts +12 -0
  214. package/lib/exercises/math/sequences/notation/identifySequenceTermInList.d.ts.map +1 -0
  215. package/lib/exercises/math/sequences/notation/identifySequenceTermInList.js +111 -0
  216. package/lib/exercises/math/sequences/notation/index.d.ts +3 -0
  217. package/lib/exercises/math/sequences/notation/index.d.ts.map +1 -0
  218. package/lib/exercises/math/sequences/notation/index.js +2 -0
  219. package/lib/exercises/math/spaceGeometry/basis/findSpacePointOnRectangularPrism.d.ts.map +1 -1
  220. package/lib/exercises/math/spaceGeometry/basis/findSpacePointOnRectangularPrism.js +0 -1
  221. package/lib/exercises/math/spaceGeometry/sphere/sphereLatLonReading.2d.d.ts.map +1 -1
  222. package/lib/exercises/math/spaceGeometry/sphere/sphereLatLonReading.2d.js +0 -2
  223. package/lib/exercises/vea/cartesianLineVEA.d.ts +2 -0
  224. package/lib/exercises/vea/cartesianLineVEA.d.ts.map +1 -0
  225. package/lib/exercises/vea/cartesianLineVEA.js +1 -0
  226. package/lib/exercises/vea/pointVEA.d.ts +2 -0
  227. package/lib/exercises/vea/pointVEA.d.ts.map +1 -0
  228. package/lib/exercises/vea/pointVEA.js +7 -0
  229. package/lib/index.d.ts +164 -1
  230. package/lib/index.d.ts.map +1 -1
  231. package/lib/math/geometry/circle.d.ts +6 -0
  232. package/lib/math/geometry/circle.d.ts.map +1 -1
  233. package/lib/math/geometry/circle.js +16 -0
  234. package/lib/math/geometry/line.d.ts +2 -0
  235. package/lib/math/geometry/line.d.ts.map +1 -1
  236. package/lib/math/geometry/line.js +7 -0
  237. package/lib/math/geometry/point.d.ts +1 -0
  238. package/lib/math/geometry/point.d.ts.map +1 -1
  239. package/lib/math/geometry/point.js +5 -0
  240. package/lib/math/geometry/polygons/relationPP.d.ts +8 -0
  241. package/lib/math/geometry/polygons/relationPP.d.ts.map +1 -0
  242. package/lib/math/geometry/polygons/relationPP.js +41 -0
  243. package/lib/math/polynomials/trinom.d.ts +1 -1
  244. package/lib/math/polynomials/trinom.d.ts.map +1 -1
  245. package/lib/math/polynomials/trinom.js +15 -6
  246. package/lib/math/utils/arithmetic/primeFactors.js +1 -1
  247. package/lib/math/utils/geometry/randomVecs2.d.ts +6 -0
  248. package/lib/math/utils/geometry/randomVecs2.d.ts.map +1 -0
  249. package/lib/math/utils/geometry/randomVecs2.js +34 -0
  250. package/lib/tests/questionTest.d.ts.map +1 -1
  251. package/lib/tests/questionTest.js +2 -2
  252. package/lib/tree/nodes/equations/equationSolutionNode.d.ts +1 -0
  253. package/lib/tree/nodes/equations/equationSolutionNode.d.ts.map +1 -1
  254. package/lib/tree/nodes/equations/equationSolutionNode.js +3 -0
  255. package/lib/tree/nodes/functions/expNode.d.ts +1 -1
  256. package/lib/tree/nodes/functions/expNode.d.ts.map +1 -1
  257. package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts +1 -0
  258. package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts.map +1 -1
  259. package/lib/tree/nodes/inequations/inequationSolutionNode.js +3 -0
  260. package/lib/tree/nodes/operators/fractionNode.d.ts +1 -1
  261. package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
  262. package/lib/tree/nodes/operators/fractionNode.js +6 -4
  263. package/lib/tree/nodes/sets/intervalNode.d.ts +6 -0
  264. package/lib/tree/nodes/sets/intervalNode.d.ts.map +1 -1
  265. package/lib/tree/nodes/sets/namedIntervalNode.d.ts +31 -0
  266. package/lib/tree/nodes/sets/namedIntervalNode.d.ts.map +1 -0
  267. package/lib/tree/nodes/sets/namedIntervalNode.js +77 -0
  268. package/package.json +1 -1
@@ -0,0 +1,253 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, propWhile, } from "../../../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { GeogebraConstructor } from "../../../../../../geogebra/geogebraConstructor.js";
4
+ import { TriangleConstructor, } from "../../../../../../math/geometry/triangles/triangle.js";
5
+ import { randfloat } from "../../../../../../math/utils/random/randfloat.js";
6
+ import { randint } from "../../../../../../math/utils/random/randint.js";
7
+ import { round } from "../../../../../../math/utils/round.js";
8
+ import { cos } from "../../../../../../tree/nodes/functions/cosNode.js";
9
+ import { sqrt } from "../../../../../../tree/nodes/functions/sqrtNode.js";
10
+ import { PiNode } from "../../../../../../tree/nodes/numbers/piNode.js";
11
+ import { add } from "../../../../../../tree/nodes/operators/addNode.js";
12
+ import { frac } from "../../../../../../tree/nodes/operators/fractionNode.js";
13
+ import { multiply } from "../../../../../../tree/nodes/operators/multiplyNode.js";
14
+ import { power } from "../../../../../../tree/nodes/operators/powerNode.js";
15
+ import { substract } from "../../../../../../tree/nodes/operators/substractNode.js";
16
+ import { parseAlgebraic } from "../../../../../../tree/parsers/latexParser.js";
17
+ import { probaFlip } from "../../../../../../utils/alea/probaFlip.js";
18
+ import { random } from "../../../../../../utils/alea/random.js";
19
+ import { arrayRotation } from "../../../../../../utils/arrays/rotation.js";
20
+ import { handleVEAError } from "../../../../../../utils/errors/handleVEAError.js";
21
+ const precision = 2;
22
+ const getHydrated = (identifiers) => {
23
+ const { indexSide } = identifiers;
24
+ const indexAngle = indexSide;
25
+ const { triangleIds } = identifiers;
26
+ const triangle = TriangleConstructor.fromIdentifiers(triangleIds);
27
+ const sides = arrayRotation(triangle.sides, indexAngle);
28
+ return {
29
+ triangle,
30
+ sides,
31
+ };
32
+ };
33
+ const getInstruction = (identifiers) => {
34
+ const { indexSide } = identifiers;
35
+ const indexAngle = indexSide;
36
+ const { triangle } = getHydrated(identifiers);
37
+ return `Soit $${triangle.name}$ un triangle. On a :
38
+
39
+ ${triangle.sides
40
+ .filter((_, i) => i !== indexSide)
41
+ .map((segment) => `- $${segment.toInsideName()} = ${segment.getLength().frenchify()}$`).join(`
42
+
43
+ `)}
44
+
45
+ - $${triangle.angles[indexAngle].toTexMini()} \\approx ${triangle.angles[indexAngle]
46
+ .evaluate()
47
+ .frenchify()} {}^{\\circ} $
48
+
49
+ Combien le segment $${triangle.sides[indexSide].toTex()}$ mesure-t-il ?
50
+ Donner une valeur approchée en degrés avec $${precision}$ décimales.`;
51
+ };
52
+ const getAnswerStuff = (identifiers) => {
53
+ const { indexSide } = identifiers;
54
+ const indexAngle = indexSide;
55
+ const { triangle, sides } = getHydrated(identifiers);
56
+ const nodeAngleInDegrees = triangle.angles[indexAngle].evaluate().toTree();
57
+ const nodeAngleInRadians = multiply(nodeAngleInDegrees, frac(PiNode, 180));
58
+ const nodeLengthSquared = substract(add(power(sides[1].getLengthNode(), 2), power(sides[2].getLengthNode(), 2)), multiply(2, multiply(multiply(sides[1].getLengthNode(), sides[2].getLengthNode()), cos(nodeAngleInRadians))));
59
+ const nodeLength = sqrt(nodeLengthSquared);
60
+ return {
61
+ nodeLengthSquared,
62
+ nodeLength,
63
+ };
64
+ };
65
+ const getAnswerNode = (identifiers) => {
66
+ return getAnswerStuff(identifiers).nodeLength;
67
+ };
68
+ const getAnswer = (identifiers) => {
69
+ return round(getAnswerNode(identifiers).evaluate(), precision).frenchify();
70
+ };
71
+ const getHint = (identifiers) => {
72
+ const { triangle } = getHydrated(identifiers);
73
+ const { indexSide } = identifiers;
74
+ const indexAngle = indexSide;
75
+ return `Applique le théorème d'Al Kashi dans le triangle $ABC$ pour l'angle $${triangle.angles[indexAngle].toTexMini()}$.`;
76
+ };
77
+ const getCorrection = (identifiers) => {
78
+ const { indexSide } = identifiers;
79
+ const indexAngle = indexSide;
80
+ const { triangle } = getHydrated(identifiers);
81
+ const sideNames = arrayRotation(triangle.sides, indexAngle)
82
+ .map((segment) => segment.toInsideName())
83
+ .map((name) => {
84
+ return {
85
+ AB: "c",
86
+ AC: "b",
87
+ BC: "a",
88
+ }[name];
89
+ });
90
+ const angleNames = arrayRotation(triangle.angles, indexAngle).map((angle) => angle.toTexMini());
91
+ const { nodeLengthSquared, nodeLength } = getAnswerStuff(identifiers);
92
+ return `On applique le théorème d'Al Kashi dans le triangle $ABC$.
93
+
94
+ On utilise les notations suivantes :
95
+
96
+ $$
97
+ a \\ = \\ BC \\ ; \\ b \\ = \\ AC \\ ; \\ c \\ = \\ AB \\
98
+ $$
99
+
100
+ $$
101
+ ${sideNames[0]}^2 = ${sideNames[1]}^2 + ${sideNames[2]}^2 - 2 ${sideNames[1]} ${sideNames[2]} \\cos(${angleNames[0]})
102
+ $$
103
+
104
+ Avant de prendre le cosinus, il faut convertir l'angle en radians :
105
+
106
+ $$
107
+ ${angleNames[0]}_{rad} = ${angleNames[0]}_{deg} \\times \\frac{${PiNode.toTex()}}{180}
108
+ $$
109
+
110
+ $$
111
+ ${sideNames[0]}^2 = ${nodeLengthSquared.toTex()}
112
+ $$
113
+
114
+ $$
115
+ ${sideNames[0]} = ${nodeLength.toTex()}
116
+ $$
117
+
118
+ On arrondit à la toute fin :
119
+
120
+ $$
121
+ ${sideNames[0]} \\approx ${getAnswer(identifiers)}
122
+ $$
123
+
124
+ `;
125
+ };
126
+ //too helpful for student ?
127
+ const getGGBOptions = (identifiers) => {
128
+ const { triangle } = getHydrated(identifiers);
129
+ // const { indexAngle } = identifiers;
130
+ // const angle = arrayRotation(triangle.angles, indexAngle)[0];
131
+ const ggb = new GeogebraConstructor({
132
+ commands: [
133
+ //triangle
134
+ ...triangle.commands,
135
+ // //angle
136
+ // `Ang = Angle(${angle.points
137
+ // .reverse()
138
+ // .map((point) => point.name)
139
+ // .join(",")})`,
140
+ // `ShowLabel(Ang, false)`,
141
+ ],
142
+ hideAxes: true,
143
+ });
144
+ return ggb.getOptions({
145
+ coords: ggb.getCoordsForPoints(triangle.points),
146
+ });
147
+ };
148
+ const getPropositions = (n, { answer, ...identifiers }) => {
149
+ const propositions = [];
150
+ addValidProp(propositions, answer);
151
+ const { indexSide } = identifiers;
152
+ const indexAngle = indexSide;
153
+ const { triangle, sides } = getHydrated(identifiers);
154
+ const answerStuff = getAnswerStuff(identifiers);
155
+ const arrValueWrong = [];
156
+ //student: cos(angleInDegrees) instead of cos(angleInRadians)
157
+ {
158
+ const nodeAngleInDegrees = triangle.angles[indexAngle].evaluate().toTree();
159
+ const nodeLengthSquared = substract(add(power(sides[1].getLengthNode(), 2), power(sides[2].getLengthNode(), 2)), multiply(2, multiply(multiply(sides[1].getLengthNode(), sides[2].getLengthNode()), cos(nodeAngleInDegrees))));
160
+ const nodeLength = sqrt(nodeLengthSquared);
161
+ const vLength = nodeLength.evaluate();
162
+ if (vLength > 0) {
163
+ arrValueWrong.push(vLength);
164
+ tryToAddWrongProp(propositions, round(vLength, precision).frenchify());
165
+ }
166
+ }
167
+ //student: sign error
168
+ {
169
+ const nodeAngleInDegrees = triangle.angles[indexAngle].evaluate().toTree();
170
+ const nodeAngleInRadians = multiply(nodeAngleInDegrees, frac(PiNode, 180));
171
+ const nodeLengthSquared = substract(add(power(sides[1].getLengthNode(), 2), power(sides[2].getLengthNode(), 2)), multiply(-2, multiply(multiply(sides[1].getLengthNode(), sides[2].getLengthNode()), cos(nodeAngleInRadians))));
172
+ const nodeLength = sqrt(nodeLengthSquared);
173
+ const vLength = nodeLength.evaluate();
174
+ if (vLength > 0) {
175
+ arrValueWrong.push(vLength);
176
+ tryToAddWrongProp(propositions, round(vLength, precision).frenchify());
177
+ }
178
+ }
179
+ //terror: around answer, _most of the time_
180
+ {
181
+ const value = (() => {
182
+ const vAnswer = answerStuff.nodeLength.evaluate();
183
+ if (probaFlip(0.6)) {
184
+ return vAnswer;
185
+ }
186
+ else {
187
+ return random([...arrValueWrong, vAnswer]);
188
+ }
189
+ })();
190
+ [...Array(4).keys()].forEach(() => {
191
+ const valueAnswerOffsetted = value + randfloat(-2, 2, 2, [0]);
192
+ if (valueAnswerOffsetted > 0) {
193
+ tryToAddWrongProp(propositions, round(valueAnswerOffsetted, precision).frenchify());
194
+ }
195
+ });
196
+ }
197
+ propWhile(propositions, n, () => {
198
+ tryToAddWrongProp(propositions, randfloat(5, 15, 2).frenchify());
199
+ });
200
+ return shuffleProps(propositions, n);
201
+ };
202
+ const getKeys = () => {
203
+ return [];
204
+ };
205
+ const isAnswerValid = (ans, { answer }) => {
206
+ try {
207
+ const parsed = parseAlgebraic(ans);
208
+ return parsed.simplify().toTex() === answer;
209
+ }
210
+ catch (err) {
211
+ return handleVEAError(err);
212
+ }
213
+ };
214
+ const getScalarProductAlKashiSideLengthQuestion = () => {
215
+ const triangle = TriangleConstructor.randomNiceSides({});
216
+ const indexSide = randint(0, 3);
217
+ const identifiers = {
218
+ triangleIds: triangle.toIdentifiers(),
219
+ indexSide,
220
+ };
221
+ return getQuestionFromIdentifiers(identifiers);
222
+ };
223
+ const getQuestionFromIdentifiers = (identifiers) => {
224
+ return {
225
+ answer: getAnswer(identifiers),
226
+ instruction: getInstruction(identifiers),
227
+ keys: getKeys(identifiers),
228
+ answerFormat: "tex",
229
+ identifiers,
230
+ hint: getHint(identifiers),
231
+ correction: getCorrection(identifiers),
232
+ ggbOptions: getGGBOptions(identifiers),
233
+ };
234
+ };
235
+ export const scalarProductAlKashiSideLength = {
236
+ id: "scalarProductAlKashiSideLength",
237
+ connector: "=",
238
+ label: "Connaissant un angle entre deux longueurs, calculer le côté opposé",
239
+ isSingleStep: true,
240
+ generator: (nb, opts) => getDistinctQuestions(() => getScalarProductAlKashiSideLengthQuestion(opts), nb),
241
+ qcmTimer: 60,
242
+ freeTimer: 60,
243
+ getPropositions,
244
+ isAnswerValid,
245
+ subject: "Mathématiques",
246
+ getInstruction,
247
+ getHint,
248
+ getCorrection,
249
+ hasHintAndCorrection: true,
250
+ getAnswer,
251
+ getQuestionFromIdentifiers,
252
+ hasGeogebra: true,
253
+ };
@@ -0,0 +1,4 @@
1
+ export * from "./scalarProductIdentities.js";
2
+ export * from "./scalarProductLamdbaULambdaV.js";
3
+ export * from "./scalarProductInOrthonormalBasisIJ.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/exercises/math/geometry/vectors/scalarProduct/alg/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./scalarProductIdentities.js";
2
+ export * from "./scalarProductLamdbaULambdaV.js";
3
+ export * from "./scalarProductInOrthonormalBasisIJ.js";
@@ -0,0 +1,10 @@
1
+ import { Exercise } from "../../../../../../exercises/exercise.js";
2
+ type Identifiers = {
3
+ type: number;
4
+ normU: number;
5
+ normV: number;
6
+ udotv: number;
7
+ };
8
+ export declare const scalarProductIdentities: Exercise<Identifiers>;
9
+ export {};
10
+ //# sourceMappingURL=scalarProductIdentities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scalarProductIdentities.d.ts","sourceRoot":"","sources":["../../../../../../../src/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductIdentities.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAWrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAkKF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAkBzD,CAAC"}
@@ -0,0 +1,174 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, propWhile, } from "../../../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { randint } from "../../../../../../math/utils/random/randint.js";
4
+ import { add } from "../../../../../../tree/nodes/operators/addNode.js";
5
+ import { multiply } from "../../../../../../tree/nodes/operators/multiplyNode.js";
6
+ import { square } from "../../../../../../tree/nodes/operators/powerNode.js";
7
+ import { substract } from "../../../../../../tree/nodes/operators/substractNode.js";
8
+ import { parseAlgebraic } from "../../../../../../tree/parsers/latexParser.js";
9
+ import { handleVEAError } from "../../../../../../utils/errors/handleVEAError.js";
10
+ import { alignTex } from "../../../../../../utils/latex/alignTex.js";
11
+ const getPropositions = (n, { answer }) => {
12
+ const propositions = [];
13
+ addValidProp(propositions, answer);
14
+ propWhile(propositions, n, () => {
15
+ tryToAddWrongProp(propositions, randint(-30, 30) + "");
16
+ });
17
+ return shuffleProps(propositions, n);
18
+ };
19
+ const getAnswer = (identifiers) => {
20
+ const { type, normU, normV, udotv } = identifiers;
21
+ switch (type) {
22
+ case 0:
23
+ return add(square(normU), add(multiply(2, udotv), square(normV)))
24
+ .simplify()
25
+ .toTex();
26
+ case 1:
27
+ return add(square(normU), add(multiply(-2, udotv), square(normV)))
28
+ .simplify()
29
+ .toTex();
30
+ case 2:
31
+ default:
32
+ return substract(square(normU), square(normV)).simplify().toTex();
33
+ }
34
+ };
35
+ const getStatementNode = (identifiers) => {
36
+ const { type } = identifiers;
37
+ const u = "\\overrightarrow u";
38
+ const v = "\\overrightarrow v";
39
+ switch (type) {
40
+ case 0:
41
+ return square(add(u, v));
42
+ case 1:
43
+ return square(substract(u, v));
44
+ case 2:
45
+ default:
46
+ return multiply(add(u, v), substract(u, v));
47
+ }
48
+ };
49
+ const getInstruction = (identifiers) => {
50
+ const { normU, normV, udotv } = identifiers;
51
+ const u = "\\overrightarrow u";
52
+ const v = "\\overrightarrow v";
53
+ return `Soit $${u}$ et $${v}$ deux vecteurs tels que $\\lVert ${u}\\rVert = ${normU}$, $\\lVert ${v}\\rVert = ${normV}$ et $${u} \\cdot ${v} = ${udotv}$.
54
+
55
+ Calculer :
56
+
57
+ $$
58
+ ${getStatementNode(identifiers).toTex()}
59
+ $$`;
60
+ };
61
+ const getHint = () => {
62
+ return `Utilise une identité remarquable, puis utilise le fait que pour tout vecteur $\\overrightarrow{u}$ :
63
+
64
+ $$
65
+ \\overrightarrow{u}^2 = \\lVert \\overrightarrow{u} \\rVert^2
66
+ $$`;
67
+ };
68
+ const getCorrection = (identifiers) => {
69
+ const { type, normU, normV, udotv } = identifiers;
70
+ const u = "\\overrightarrow u";
71
+ const v = "\\overrightarrow v";
72
+ const vertU = `\\lVert \\overrightarrow{u} \\rVert`;
73
+ const vertV = `\\lVert \\overrightarrow{v} \\rVert`;
74
+ const ps = `${u}\\cdot ${v}`;
75
+ const statement = getStatementNode(identifiers);
76
+ const steps = type === 0
77
+ ? [
78
+ ["", statement.toTex()],
79
+ ["=", add(square(u), add(multiply(2, ps), square(v))).toTex()],
80
+ [
81
+ "=",
82
+ add(square(vertU), add(multiply(2, ps), square(vertV))).toTex(),
83
+ ],
84
+ [
85
+ "=",
86
+ add(square(normU), add(multiply(2, udotv), square(normV))).toTex(),
87
+ ],
88
+ ["=", getAnswer(identifiers)],
89
+ ]
90
+ : type === 1
91
+ ? [
92
+ ["", statement.toTex()],
93
+ ["=", add(square(u), add(multiply(-2, ps), square(v))).toTex()],
94
+ [
95
+ "=",
96
+ add(square(vertU), add(multiply(-2, ps), square(vertV))).toTex(),
97
+ ],
98
+ [
99
+ "=",
100
+ add(square(normU), add(multiply(-2, udotv), square(normV))).toTex(),
101
+ ],
102
+ ["=", getAnswer(identifiers)],
103
+ ]
104
+ : [
105
+ ["", statement.toTex()],
106
+ ["=", substract(square(u), square(v)).toTex()],
107
+ ["=", substract(square(vertU), square(vertV)).toTex()],
108
+ ["=", substract(square(normU), square(normV)).toTex()],
109
+ ["=", getAnswer(identifiers)],
110
+ ];
111
+ return `On utilies une identité remarquable, ainsi que le fait que pour tout vecteur $\\overrightarrow{u}$ :
112
+
113
+ $$
114
+ \\overrightarrow{u}^2 = \\lVert \\overrightarrow{u} \\rVert^2
115
+ $$
116
+
117
+ Cela donne :
118
+
119
+ ${alignTex(steps)}`;
120
+ };
121
+ const getKeys = () => {
122
+ return [];
123
+ };
124
+ const isAnswerValid = (ans, { answer }) => {
125
+ try {
126
+ const parsed = parseAlgebraic(ans);
127
+ return parsed.simplify().toTex() === answer;
128
+ }
129
+ catch (err) {
130
+ return handleVEAError(err);
131
+ }
132
+ };
133
+ const getScalarProductIdentitiesQuestion = () => {
134
+ const type = randint(0, 3);
135
+ const normU = randint(1, 10);
136
+ const normV = randint(1, 10);
137
+ const udotv = randint(-9, 10);
138
+ const identifiers = {
139
+ normU,
140
+ normV,
141
+ type,
142
+ udotv,
143
+ };
144
+ return getQuestionFromIdentifiers(identifiers);
145
+ };
146
+ const getQuestionFromIdentifiers = (identifiers) => {
147
+ return {
148
+ answer: getAnswer(identifiers),
149
+ instruction: getInstruction(identifiers),
150
+ keys: getKeys(identifiers),
151
+ answerFormat: "tex",
152
+ identifiers,
153
+ hint: getHint(identifiers),
154
+ correction: getCorrection(identifiers),
155
+ };
156
+ };
157
+ export const scalarProductIdentities = {
158
+ id: "scalarProductIdentities",
159
+ connector: "=",
160
+ label: "Identités remarquables avec des vecteurs (produit scalaire)",
161
+ isSingleStep: true,
162
+ generator: (nb, opts) => getDistinctQuestions(() => getScalarProductIdentitiesQuestion(opts), nb),
163
+ qcmTimer: 60,
164
+ freeTimer: 60,
165
+ getPropositions,
166
+ isAnswerValid,
167
+ subject: "Mathématiques",
168
+ getInstruction,
169
+ getHint,
170
+ getCorrection,
171
+ getAnswer,
172
+ getQuestionFromIdentifiers,
173
+ hasHintAndCorrection: true,
174
+ };
@@ -0,0 +1,9 @@
1
+ import { Exercise } from "../../../../../../exercises/exercise.js";
2
+ import { NodeIdentifiers } from "../../../../../../tree/nodes/nodeConstructor.js";
3
+ type Identifiers = {
4
+ nodeIdsU: NodeIdentifiers[];
5
+ nodeIdsV: NodeIdentifiers[];
6
+ };
7
+ export declare const scalarProductInOrthonormalBasisIJ: Exercise<Identifiers>;
8
+ export {};
9
+ //# sourceMappingURL=scalarProductInOrthonormalBasisIJ.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scalarProductInOrthonormalBasisIJ.d.ts","sourceRoot":"","sources":["../../../../../../../src/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductInOrthonormalBasisIJ.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAQ7C,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AA+PF,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CAAC,WAAW,CAsBnE,CAAC"}