Illustrating Addition and Subtraction of Proper Fractions by ahlin87

Illustrating Addition and Subtraction of Proper Fractions by ahlin87
Loading the math board and drawing, please wait…
2020-04-14 07:38
This example demonstrates the addition and subtraction of proper fractions through geometric figures. Key mathematical concepts include proper fractions, least common multiple, and greatest common divisor. Using commands such as Circle, Vector, and Translate, a geometric model of proper fraction addition and subtraction is constructed. Suitable for high-grade elementary and junior high school students learning proper fraction operations.

GeoGebra Commands & Parameters

  1. Circle(A_1, r) → c
  2. Point(c) → B
  3. Circle(A_2, r) → d
  4. LCM(denominator_1, denominator_2) → equivalentdenominator
  5. Sequence(Segment[A_2, Rotate[C_2, r°, A_2]], r, 0, 360, 360 / denominator_2) → PIEALL_2
  6. Sequence(Segment[A_1, Rotate[C_1, r°, A_1]], r, 360 / denominator_1, 360, 360 / denominator_1) → PIEALL_1
  7. Sequence(CircleSector[A_1, Rotate[C_1, r°, A_1], Rotate[C_1, (r + 360 / denominator_1)°, A_1]], r, 0, (360 / denominator_1 * numerator_1) - 360 / denominator_1, 360 / denominator_1) → PIESECTION_1
  8. Sequence(CircleSector[A_2, Rotate[C_2, ((-r) - 360 / denominator_2)°, A_2], Rotate[C_2, ((-r))°, A_2]], r, 0, (360 / denominator_2 * numerator_2) - 360 / denominator_2, 360 / denominator_2) → PIESECTION_2
  9. Sequence(Segment[A_1, Rotate[C_1, r°, A_1]], r, 0, 360, 360 / equivalentdenominator) → PIEALL_{1E}
  10. Sequence(Segment[A_2, Rotate[C_2, r°, A_2]], r, 0, 360, 360 / equivalentdenominator) → PIEALL_{2E}
  11. Sequence(CircleSector[A_1, Rotate[C_1, r°, A_1], Rotate[C_1, (r + 360 / equivalentdenominator)°, A_1]], r, 0, (360 / equivalentdenominator * numerator_{1E}) - 360 / equivalentdenominator, 360 / equivalentdenominator) → PIESECTION_{1E}
  12. Sequence(CircleSector[A_2, Rotate[C_2, ((-r) - 360 / equivalentdenominator)°, A_2], Rotate[C_2, ((-r))°, A_2]], r, 0, (360 / equivalentdenominator * numerator_{2E}) - 360 / equivalentdenominator, 360 / equivalentdenominator) → PIESECTION_{2E}
  13. Midpoint(A_1, A_2) → A_{mid}
  14. Circle(A_1, r) → PIESECTION_{1whole}
  15. Circle(A_2, r) → PIESECTION_{2whole}
  16. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / denominator_2)°, A_2]], r, 0, (360 / denominator_2 * numerator_2) - 360 / denominator_2, 360 / denominator_2) → PIESECTION_{2subtract}
  17. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, 0, (360 / equivalentdenominator * numerator_{2E}) - 360 / equivalentdenominator, 360 / equivalentdenominator) → PIESECTION_{2Esubtract}
  18. If(ShiftCircleLeftRight ≟ (2.5 * r), 1, 0) → trigger
  19. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, (numerator_{2E} * 360 / equivalentdenominator), (360 / equivalentdenominator * (numerator_{1E} - 1)), 360 / equivalentdenominator) → PIESECTION_{finalsubtract1}
  20. Vector(A_2, A_{2end1}) → u
  21. Translate(PIESECTION_{finalsubtract1}, Vector[(DetachPie * u)]) → PIESECTION_{finalsubtract2}
  22. Vector(A_2, A_{2end2}) → v
  23. Circle(A_2, r) → PIESECTION_{whole1}
  24. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, ((equivalentdenominator - numerator_{2E}) * 360 / equivalentdenominator), (360 / equivalentdenominator * (mixednumerator + equivalentdenominator - numerator_{2E} - 1)), 360 / equivalentdenominator) → PIESECTION_{part1}
  25. Circle(A_2, r) → PIESECTION_{whole2}
  26. Translate(PIESECTION_{whole2}, Vector[(DetachPie * v)]) → PIESECTION_{whole2v}
  27. Translate(PIESECTION_{part1}, Vector[(DetachPie * v)]) → PIESECTION_{part2}
  28. Translate(PIESECTION_{whole1}, Vector[(DetachPie * u)]) → PIESECTION_{whole1u}
  29. If(subtractfractions, "Subtraction of Fractions", "Addition of Fractions") → textTitle
  30. GCD(equivalentnumerator, equivalentdenominator) → ResultGCD
  31. GCD(abs(equivalentnumerator_{subtract}), equivalentdenominator) → ResultGCD_{subtract}
  32. If(abs(equivalentnumerator) < equivalentdenominator, If[ResultGCD ≟ 1, (4.5 * r), (3.5 * r)], If[ResultGCD ≟ 1, 0, (-2 * r)]) → x_{textEquivalentsign3}
  33. If(ResultGCD ≟ 1, (-0.25 * r), If[equivalentnumerator < equivalentdenominator, (5 * r), (-0.25 * r)]) → x_{textposition2}
  34. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, (numerator_{1E} * 360 / equivalentdenominator), (360 / equivalentdenominator * (numerator_{2E} - 1)), 360 / equivalentdenominator) → PIESECTION_{negativefinalsubtract1}
  35. Vector(A_2, A_{2end3}) → w
  36. Translate(PIESECTION_{negativefinalsubtract1}, Vector[(DetachPie * v)]) → PIESECTION_{negativefinalsubtract2}
  37. Textfield(numerator_1) → InputBox1
  38. Textfield(denominator_1) → InputBox2
  39. Textfield(numerator_2) → InputBox3
  40. Textfield(denominator_2) → InputBox4
  41. If(¬subtractfractions, " + ", " − ") → addsign2