Fraction Bar - Subtraction

Fraction Bar - Subtraction
Loading the math board and drawing, please wait…
2020-11-03 03:10
This example demonstrates how to use fraction bars for subtraction. Key mathematical concepts include fractions and subtraction. Using GeoGebra commands such as Point, Ray, Polygon, Sequence, etc., a model including all the same information can be constructed. Suitable for high-grade elementary or junior high school students learning fraction operations.

GeoGebra Commands & Parameters

  1. Point(yAxis) → C
  2. Point(Segment[C + (0, h), C + (0, (1.85 * h))]) → B
  3. Point(Segment[B + (0, h), B + (0, (1.85 * h))]) → A
  4. If(t ≤ 0.5, 0, (2 * (t - 0.5))) → t2
  5. If(t ≤ 0.5, (2 * t), 1) → t1
  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(D + (0, -0.5), D + (0, 0.5)) → j
  29. Segment(C + ((b1 / a1 * l), -0.5), C + ((b1 / a1 * l), -1)) → i
  30. Vector(Midpoint[g], Midpoint[i]) → u
  31. Vector(Midpoint[i], Midpoint[g]) → v
  32. Sequence(Segment[A' + ((i * l / a1), 0), A' + ((i * l / a1), h)], i, 0, b1) → list6
  33. Sequence(Segment[B' + ((i * l / a2), 0), B' + ((i * l / a2), h)], i, 0, b2) → list7
  34. 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
  35. Segment(B', B' + ((b2 / a2 * l), 0)) → k
  36. Segment(B' + ((b2 / a2 * l), h), B' + (0, h)) → m
  37. If(b1 / a1 + b2 / a2 ≥ 1, true, false) → improper
  38. FractionText(b1 / a1 - b2 / a2) → text19
  39. FractionText(b1 / a1 - b2 / a2 + 1) → text20
  40. 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
  41. If(result ≟ 0, "0", abs(result - floor(result)) < 10^(-6), result, result > 0, If[floor(result) ≟ 0, "", "" + (floor(result))] + "" + (FractionText[result - floor(result)]), "-" + (If[floor(abs(result)) ≟ 0, "", "" + (floor(abs(result)))]) + "" + (FractionText[abs(result) - floor(abs(result))])) → resultText
  42. Segment(P + (0, -0.25), P + (0, 0.25)) → p
  43. Segment(Q + (0, -0.25), Q + (0, 0.25)) → q
  44. Segment(C + ((b1 / a1 * l), -0.5), C + ((b1 / a1 * l), -1)) → n
  45. Vector(Midpoint[p], Midpoint[q]) → b
  46. Vector(Midpoint[q], Midpoint[p]) → c
  47. Segment(D + (0, 0.25), D + (0, -0.25)) → r
  48. Segment(E + (0, 0.25), E + (0, -0.25)) → s
  49. Vector(Midpoint[r], Midpoint[s]) → w
  50. Vector(Midpoint[s], Midpoint[r]) → a
  51. Segment(F + (0, -0.25), F + (0, 0.25)) → d
  52. Vector(E, F) → e
  53. Vector(F, E) → u_1

AI Drawing Prompt Reference

Draw a fraction subtraction bar model. Place two rectangular bars side by side at the top, representing the minuend and subtrahend, each divided into equal parts with some parts shaded to indicate the numerator. Below, draw two corresponding bars to show the subtraction result, with one partially shaded and the other fully shaded. Add arrows and line segments below the bars to illustrate the subtraction process. Include fraction text and result text, along with input boxes for adjusting numerators and denominators. The layout should be clear and suitable for educational demonstration.
The prompt above was compiled from the original drawing commands and is for reference only.