math-exercises 2.2.18 → 2.2.20

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 (58) hide show
  1. package/lib/exercises/math/geometry/euclidianConstructions/buildMediatriceWithCompass.d.ts +8 -0
  2. package/lib/exercises/math/geometry/euclidianConstructions/buildMediatriceWithCompass.d.ts.map +1 -0
  3. package/lib/exercises/math/geometry/euclidianConstructions/buildMediatriceWithCompass.js +117 -0
  4. package/lib/exercises/math/geometry/euclidianConstructions/index.d.ts +2 -0
  5. package/lib/exercises/math/geometry/euclidianConstructions/index.d.ts.map +1 -0
  6. package/lib/exercises/math/geometry/euclidianConstructions/index.js +17 -0
  7. package/lib/exercises/math/geometry/index.d.ts +2 -0
  8. package/lib/exercises/math/geometry/index.d.ts.map +1 -1
  9. package/lib/exercises/math/geometry/index.js +3 -0
  10. package/lib/exercises/math/geometry/shapes/basicShapesNaming.d.ts +8 -0
  11. package/lib/exercises/math/geometry/shapes/basicShapesNaming.d.ts.map +1 -0
  12. package/lib/exercises/math/geometry/shapes/basicShapesNaming.js +118 -0
  13. package/lib/exercises/math/geometry/shapes/basicShapesRecognition.d.ts +8 -0
  14. package/lib/exercises/math/geometry/shapes/basicShapesRecognition.d.ts.map +1 -0
  15. package/lib/exercises/math/geometry/shapes/basicShapesRecognition.js +83 -0
  16. package/lib/exercises/math/geometry/shapes/index.d.ts +3 -0
  17. package/lib/exercises/math/geometry/shapes/index.d.ts.map +1 -0
  18. package/lib/exercises/math/geometry/shapes/index.js +18 -0
  19. package/lib/exercises/math/geometry/triangles/index.d.ts +1 -0
  20. package/lib/exercises/math/geometry/triangles/index.d.ts.map +1 -0
  21. package/lib/exercises/math/geometry/triangles/index.js +2 -0
  22. package/lib/exercises/math/geometry/triangles/traceMedianInTriangle.d.ts +1 -0
  23. package/lib/exercises/math/geometry/triangles/traceMedianInTriangle.d.ts.map +1 -0
  24. package/lib/exercises/math/geometry/triangles/traceMedianInTriangle.js +55 -0
  25. package/lib/exercises/math/probaStat/conditionalProbability.d.ts +5 -3
  26. package/lib/exercises/math/probaStat/conditionalProbability.d.ts.map +1 -1
  27. package/lib/exercises/math/probaStat/conditionalProbability.js +145 -19
  28. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.d.ts.map +1 -1
  29. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.js +3 -4
  30. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromGraph.d.ts.map +1 -1
  31. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromGraph.js +3 -4
  32. package/lib/exercises/utils/geogebra/toGGBCommandsProps.d.ts +6 -0
  33. package/lib/exercises/utils/geogebra/toGGBCommandsProps.d.ts.map +1 -0
  34. package/lib/exercises/utils/geogebra/toGGBCommandsProps.js +2 -0
  35. package/lib/exercises/utils/geogebra/toolBarConstructor.d.ts +1 -0
  36. package/lib/exercises/utils/geogebra/toolBarConstructor.d.ts.map +1 -1
  37. package/lib/exercises/utils/geogebra/toolBarConstructor.js +2 -0
  38. package/lib/exercises/utils/geometry/randomSegmentName.d.ts +2 -0
  39. package/lib/exercises/utils/geometry/randomSegmentName.d.ts.map +1 -0
  40. package/lib/exercises/utils/geometry/randomSegmentName.js +10 -0
  41. package/lib/index.d.ts +14 -3
  42. package/lib/index.d.ts.map +1 -1
  43. package/lib/math/geometry/line.d.ts +10 -2
  44. package/lib/math/geometry/line.d.ts.map +1 -1
  45. package/lib/math/geometry/line.js +47 -5
  46. package/lib/math/geometry/point.d.ts +3 -1
  47. package/lib/math/geometry/point.d.ts.map +1 -1
  48. package/lib/math/geometry/point.js +16 -2
  49. package/lib/math/geometry/ray.d.ts +15 -0
  50. package/lib/math/geometry/ray.d.ts.map +1 -0
  51. package/lib/math/geometry/ray.js +44 -0
  52. package/lib/math/geometry/segment.d.ts +16 -0
  53. package/lib/math/geometry/segment.d.ts.map +1 -0
  54. package/lib/math/geometry/segment.js +47 -0
  55. package/lib/tree/parsers/isSegmentName.d.ts +2 -0
  56. package/lib/tree/parsers/isSegmentName.d.ts.map +1 -0
  57. package/lib/tree/parsers/isSegmentName.js +15 -0
  58. package/package.json +1 -1
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Segment = exports.SegmentConstructor = void 0;
4
+ const randomSegmentName_1 = require("../../exercises/utils/geometry/randomSegmentName");
5
+ const point_1 = require("./point");
6
+ class SegmentConstructor {
7
+ static random() {
8
+ const name = (0, randomSegmentName_1.randomSegmentName)();
9
+ const points = point_1.PointConstructor.randomDifferent(name.split(""));
10
+ return new Segment(points[0], points[1]);
11
+ }
12
+ }
13
+ exports.SegmentConstructor = SegmentConstructor;
14
+ class Segment {
15
+ constructor(pointA, pointB) {
16
+ this.pointA = pointA;
17
+ this.pointB = pointB;
18
+ this.name = `[${pointA.name}${pointB.name}]`;
19
+ this.ggbName = `segment_{${pointA.name}${pointB.name}}`;
20
+ }
21
+ getLength() {
22
+ return this.pointA.distanceTo(this.pointB);
23
+ }
24
+ toTex() {
25
+ return this.name;
26
+ }
27
+ toGGBCommands(shouldBuildPoints, { isFixed = true, showLabel = false, showUnderlyingPointsLabel = true, } = {}) {
28
+ const commands = [
29
+ `${this.ggbName}=Segment(${this.pointA.name},${this.pointB.name})`,
30
+ `SetFixed(${this.ggbName},${isFixed ? "true" : "false"})`,
31
+ `ShowLabel(${this.ggbName},${showLabel ? "true" : "false"})`,
32
+ ];
33
+ if (shouldBuildPoints) {
34
+ const ACommands = this.pointA.toGGBCommand({
35
+ isFixed,
36
+ showLabel: showUnderlyingPointsLabel,
37
+ });
38
+ const BCommands = this.pointB.toGGBCommand({
39
+ isFixed,
40
+ showLabel: showUnderlyingPointsLabel,
41
+ });
42
+ commands.unshift(...ACommands, ...BCommands);
43
+ }
44
+ return commands;
45
+ }
46
+ }
47
+ exports.Segment = Segment;
@@ -0,0 +1,2 @@
1
+ export declare const isSegmentName: (ans: string) => boolean;
2
+ //# sourceMappingURL=isSegmentName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isSegmentName.d.ts","sourceRoot":"","sources":["../../../src/tree/parsers/isSegmentName.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,QAAS,MAAM,YAUxC,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSegmentName = void 0;
4
+ const isLetter_1 = require("../../utils/strings/isLetter");
5
+ //to use when the answer is a segment type [AB]
6
+ const isSegmentName = (ans) => {
7
+ if (ans.length === 4 &&
8
+ ans[0] === "[" &&
9
+ ans[ans.length - 1] === "]" &&
10
+ (0, isLetter_1.isLetter)(ans[1]) &&
11
+ (0, isLetter_1.isLetter)(ans[2]))
12
+ return true;
13
+ return false;
14
+ };
15
+ exports.isSegmentName = isSegmentName;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "math-exercises",
3
- "version": "2.2.18",
3
+ "version": "2.2.20",
4
4
  "description": "Math exercises generator for middle school and high school",
5
5
  "main": "lib/index.js",
6
6
  "files": [