Fraction Addition by Mahendra Hargovindbhai Panchal

Fraction Addition by Mahendra Hargovindbhai Panchal
Loading the math board and drawing, please wait…
2020-05-15 10:37
This example demonstrates the process of adding fractions. It involves the core mathematical concept of fraction addition. Using GeoGebra commands such as Point, Segment, Vector, and FractionText, a geometric model of fraction addition is constructed. Suitable for high-grade elementary and junior high school students to learn fraction addition.

GeoGebra Commands & Parameters

  1. Point(yAxis) → C
  2. Point(Segment[C + (0, h), C + (0, (1.85 * h))]) → B
  3. If(t ≤ 0.5, 0, (2 * (t - 0.5))) → t2
  4. If(t ≤ 0.5, (2 * t), 1) → t1
  5. Point(Segment[B + (0, h), B + (0, (1.85 * h))]) → A
  6. Ray((0, 1.9), (0, 2.9)) → f
  7. Polygon({A, A + (l, 0), A + (l, h), A + (0, h)}) → poly1
  8. Polygon({B, B + (l, 0), B + (l, h), B + (0, h)}) → poly2
  9. Sequence(Segment[A + ((i * (l) / a1), 0), A + ((i * (l) / a1), h)], i, 1, a1 - 1) → list1
  10. Sequence(Segment[B + ((i * (l) / a2), 0), B + ((i * (l) / a2), h)], i, 1, a2 - 1) → list2
  11. Polygon({A, A + ((b1 * (l) / a1), 0), A + ((b1 * (l) / a1), h), A + (0, h)}) → poly3
  12. Polygon({B, B + ((b2 * (l) / a2), 0), B + ((b2 * (l) / a2), h), B + (0, h)}) → poly4
  13. Sequence(Sequence[Segment[A + ((i * (l) / a1) + (j * (l) / ((a1 * c1))), 0), A + ((i * (l) / a1) + (j * (l) / ((a1 * c1))), h)], j, 1, c1 - 1], i, 0, a1 - 1) → list3
  14. Sequence(Sequence[Segment[B + ((i * (l) / a2) + (j * (l) / ((a2 * c2))), 0), B + ((i * (l) / a2) + (j * (l) / ((a2 * c2))), h)], j, 1, c2 - 1], i, 0, a2 - 1) → list4
  15. If(a1 ≟ a2, true, false) → equald
  16. If(equald ∧ (Div[b1 + b2, a1] > 0 ∨ GCD[b1 + b2, a1] > 1), true, If[Div[(b1 * c1) + (b2 * c2), (a1 * c1)] > 0 ∨ GCD[(b1 * c1) + (b2 * c2), (a1 * c1)] > 1, true, false]) → simplify
  17. Textfield(a1) → InputBox1
  18. Textfield(b1) → InputBox2
  19. Textfield(a2) → InputBox3
  20. Textfield(b2) → InputBox4
  21. Polygon({A', A' + (l, 0), A' + (l, h), A' + (0, h)}) → poly5
  22. Polygon({B', B' + ((b2 / a2 * l), 0), B' + ((b2 / a2 * l), h), B' + (0, h)}) → poly6
  23. Polygon({A', A' + ((b1 * (l) / a1), 0), A' + ((b1 * (l) / a1), h), A' + (0, h)}) → poly7
  24. Polygon({B', B' + ((b2 * (l) / a2), 0), B' + ((b2 * (l) / a2), h), B' + (0, h)}) → poly8
  25. Sequence(Sequence[Segment[A' + ((i * (l) / a1) + (j * (l) / ((a1 * c1))), 0), A' + ((i * (l) / a1) + (j * (l) / ((a1 * c1))), h)], j, 1, c1 - 1], i, 0, b1 - 1) → list8
  26. Sequence(Sequence[Segment[B' + ((i * (l) / a2) + (j * (l) / ((a2 * c2))), 0), B' + ((i * (l) / a2) + (j * (l) / ((a2 * c2))), h)], j, 1, c2 - 1], i, 0, b2 - 1) → list9
  27. Segment(C - (0, 0.5), C - (0, 1)) → g
  28. Segment(C + ((b1 / a1 * l), -0.5), C + ((b1 / a1 * l), -1)) → i
  29. Segment(C + ((b1 / a1 * l) + (b2 / a2 * l), -0.5), C + ((b1 / a1 * l) + (b2 / a2 * l), -1)) → j
  30. Vector(Midpoint[g], Midpoint[i]) → u
  31. Vector(Midpoint[i], Midpoint[g]) → v
  32. Vector(Midpoint[i], Midpoint[j]) → w
  33. Vector(Midpoint[j], Midpoint[i]) → a
  34. Sequence(Segment[A' + ((i * (l) / a1), 0), A' + ((i * (l) / a1), h)], i, 0, b1) → list6
  35. Sequence(Segment[B' + ((i * (l) / a2), 0), B' + ((i * (l) / a2), h)], i, 0, b2) → list7
  36. Sequence(Polygon[{C + ((i * l), 0), C + ((i * l) + l, 0), C + ((i * l) + l, h), C + ((i * l), h)}], i, 1, floor(b1 / a1 + b2 / a2)) → list5
  37. Segment(B', B' + ((b2 / a2 * l), 0)) → k
  38. Segment(B' + ((b2 / a2 * l), h), B' + (0, h)) → m
  39. If(b1 / a1 + b2 / a2 ≥ 1, true, false) → improper
  40. FractionText(b1 / a1 + b2 / a2) → text19
  41. FractionText(b1 / a1 + b2 / a2 - 1) → text20
  42. Sequence(Sequence[Segment[C + ((i * (l) / ((a1 * c1))) + (j * l), 0), C + ((i * (l) / ((a1 * c1))) + (j * l), h)], i, 1, (a1 * c1) - 1], j, 0, If[b1 / a1 + b2 / a2 ≤ 1, 0, 1]) → list10