Fraction Addition Demonstration by Nabin Kumar Kandel

Fraction Addition Demonstration by Nabin Kumar Kandel
Loading the math board and drawing, please wait…
2020-06-10 15:18
This example demonstrates the addition of fractions with visual representation. It involves core mathematical concepts like fraction operations, geometric representation, and coordinate geometry. Constructed using GeoGebra commands and objects such as Point, If, Ray, Polygon, Sequence, Textfield, Segment, Vector, FractionText. Suitable for middle school and above mathematics education, providing an intuitive understanding and teaching demonstration of 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