Comparing Rational Numbers – Fractions on the Number Line

Comparing Rational Numbers – Fractions on the Number Line
Loading the math board and drawing, please wait…
2020-08-18 22:15
This GeoGebra example demonstrates how to compare rational numbers, particularly fractions, by locating them on a number line and visually judging their relative sizes. Core mathematical concepts include rational numbers, fractions, common denominators, inequality relationships (greater than, less than, equal to), and one-dimensional coordinate representation. The construction relies on GeoGebra commands such as Min, Max, If, Segment, Polygon, Text, and Point, together with objects including Point, Segment, Polygon, Text, and number-line fraction objects NumLnFrac1 and NumLnFrac2 to build fraction markers and a relationship choice interface. It is suitable for middle school rational-number instruction and upper-elementary fraction lessons, supporting classroom demonstration and student-led inquiry into ordering rational numbers.

GeoGebra Commands & Parameters

  1. Min(c_1, d) → c
  2. Max(Sequence[If[Mod[c, i] + Mod[d, i] ≟ 0, i, -1], i, 1, Min[{c, d}]]) → factor_2
  3. If(factor_2 > 0, factor_2, 1) → factor_4
  4. Min(a_1, b) → a
  5. Max(Sequence[If[Mod[a, i] + Mod[b, i] ≟ 0, i, -1], i, 1, Min[{a, b}]]) → factor_1
  6. If(factor_1 > 0, factor_1, b) → factor_3
  7. Max(Sequence[If[Mod[l, i] + Mod[n, i] ≟ 0, i, -1], i, 1, Min[{l, n}]]) → factor
  8. Segment(C, D) → e
  9. Segment((x(C) + (1 / 8 * (x(D) - x(C))), y(C) + 0.1), (x(C) + (1 / 8 * (x(D) - x(C))), y(C) - 0.1)) → g
  10. Segment((x(C) + (0 / 8 * (x(D) - x(C))), y(C) + 0.2), (x(C) + (0 / 8 * (x(D) - x(C))), y(C) - 0.2)) → f
  11. Segment((x(C) + (2 / 8 * (x(D) - x(C))), y(C) + 0.2), (x(C) + (2 / 8 * (x(D) - x(C))), y(C) - 0.2)) → h
  12. Segment((x(C) + (3 / 8 * (x(D) - x(C))), y(C) + 0.1), (x(C) + (3 / 8 * (x(D) - x(C))), y(C) - 0.1)) → i
  13. Segment((x(C) + (4 / 8 * (x(D) - x(C))), y(C) + 0.2), (x(C) + (4 / 8 * (x(D) - x(C))), y(C) - 0.2)) → j
  14. Segment((x(C) + (5 / 8 * (x(D) - x(C))), y(C) + 0.1), (x(C) + (5 / 8 * (x(D) - x(C))), y(C) - 0.1)) → p
  15. Segment((x(C) + (6 / 8 * (x(D) - x(C))), y(C) + 0.2), (x(C) + (6 / 8 * (x(D) - x(C))), y(C) - 0.2)) → q
  16. Segment((x(C) + (7 / 8 * (x(D) - x(C))), y(C) + 0.1), (x(C) + (7 / 8 * (x(D) - x(C))), y(C) - 0.1)) → r
  17. Segment((x(C) + (8 / 8 * (x(D) - x(C))), y(C) + 0.2), (x(C) + (8 / 8 * (x(D) - x(C))), y(C) - 0.2)) → s
  18. Polygon(G, H, I, J) → poly1, g_1, h_1, i_1, j_1
  19. Segment(H, I) → t
  20. Segment(G, H) → b_1
  21. Segment(I, J) → d_1
  22. Segment(J, G) → e_1
  23. Polygon(G, (x(G) + (a / b * (x(H) - x(G))), y(G)), (x(J) + (a / b * (x(H) - x(G))), y(J)), J) → poly2, g_2, f_1, k_1, j_2
  24. Segment((x(G) + (1 / b * (x(H) - x(G))), y(G)), (x(G) + (1 / b * (x(H) - x(G))), y(G) - 1)) → l_1
  25. Segment((x(G) + (2 / b * (x(H) - x(G))), y(G)), (x(G) + (2 / b * (x(H) - x(G))), y(G) - 1)) → m_1
  26. Segment((x(G) + (3 / b * (x(H) - x(G))), y(G)), (x(G) + (3 / b * (x(H) - x(G))), y(G) - 1)) → n_1
  27. Segment((x(G) + (4 / b * (x(H) - x(G))), y(G)), (x(G) + (4 / b * (x(H) - x(G))), y(G) - 1)) → p_1
  28. Segment((x(G) + (5 / b * (x(H) - x(G))), y(G)), (x(G) + (5 / b * (x(H) - x(G))), y(G) - 1)) → q_1
  29. Segment((x(G) + (6 / b * (x(H) - x(G))), y(G)), (x(G) + (6 / b * (x(H) - x(G))), y(G) - 1)) → r_1
  30. Segment((x(G) + (7 / b * (x(H) - x(G))), y(G)), (x(G) + (7 / b * (x(H) - x(G))), y(G) - 1)) → s_1
  31. Segment((x(G) + (8 / b * (x(H) - x(G))), y(G)), (x(G) + (8 / b * (x(H) - x(G))), y(G) - 1)) → t_1
  32. Segment((x(G) + (9 / b * (x(H) - x(G))), y(G)), (x(G) + (9 / b * (x(H) - x(G))), y(G) - 1)) → a_2
  33. Segment((x(G) + (10 / b * (x(H) - x(G))), y(G)), (x(G) + (10 / b * (x(H) - x(G))), y(G) - 1)) → b_2
  34. Segment((x(G) + (11 / b * (x(H) - x(G))), y(G)), (x(G) + (11 / b * (x(H) - x(G))), y(G) - 1)) → c_2
  35. Polygon(K, L, M, N) → poly3, k_2, l_2, m_2, n_2
  36. Polygon(K, (x(K) + (c / d * (x(L) - x(K))), y(K)), (x(K) + (c / d * (x(L) - x(K))), y(M)), N) → poly4, k_3, d_2, e_2, n_3
  37. Segment((x(K) + (1 / d * (x(L) - x(K))), y(K)), (x(K) + (1 / d * (x(L) - x(K))), y(K) - 1)) → f_2
  38. Segment((x(K) + (2 / d * (x(L) - x(K))), y(K)), (x(K) + (2 / d * (x(L) - x(K))), y(K) - 1)) → h_2
  39. Segment((x(K) + (3 / d * (x(L) - x(K))), y(K)), (x(K) + (3 / d * (x(L) - x(K))), y(K) - 1)) → i_2
  40. Segment((x(K) + (4 / d * (x(L) - x(K))), y(K)), (x(K) + (4 / d * (x(L) - x(K))), y(K) - 1)) → p_2
  41. Segment((x(K) + (5 / d * (x(L) - x(K))), y(K)), (x(K) + (5 / d * (x(L) - x(K))), y(K) - 1)) → q_2
  42. Segment((x(K) + (6 / d * (x(L) - x(K))), y(K)), (x(K) + (6 / d * (x(L) - x(K))), y(K) - 1)) → r_2
  43. Segment((x(K) + (7 / d * (x(L) - x(K))), y(K)), (x(K) + (7 / d * (x(L) - x(K))), y(K) - 1)) → s_2
  44. Segment((x(K) + (8 / d * (x(L) - x(K))), y(K)), (x(K) + (8 / d * (x(L) - x(K))), y(K) - 1)) → t_2
  45. Segment((x(K) + (9 / d * (x(L) - x(K))), y(K)), (x(K) + (9 / d * (x(L) - x(K))), y(K) - 1)) → a_3
  46. Segment((x(K) + (10 / d * (x(L) - x(K))), y(K)), (x(K) + (10 / d * (x(L) - x(K))), y(K) - 1)) → b_3
  47. Segment((x(K) + (11 / d * (x(L) - x(K))), y(K)), (x(K) + (11 / d * (x(L) - x(K))), y(K) - 1)) → c_3
  48. Polygon(BoxPt, BoxPt + (9, 0), BoxPt + (9, If[ans ∧ words, -4, -3]), BoxPt + (0, If[ans ∧ words, -4, -3])) → box, d_3, e_3, f_3, g_3
  49. If(c > 9 ∨ d > 9, "_______", "____") → frac2Vinculum
  50. If(a > 9 ∨ b > 9, "_______", "____") → frac1Vinculum
  51. Text(If[a / b > c / d, ">", If[a / b < c / d, "<", "="]]) → relationshipSymbol
  52. Text(common_1) → equivFrac1Num
  53. Text(common_2) → equivFrac2Num
  54. Text(common_3) → equivFrac1Denom
  55. Text(common_3) → equivFrac2Denom
  56. Segment(BoxPt + (0.25, -2.5), BoxPt + (8.75, -2.5)) → relationshipWordsDivider
  57. Polygon(Corner[equivFrac1Denom, 1] + (-0.1, 0.1), Corner[equivFrac1Denom, 2] + (0.1, 0.1), (x(Corner[equivFrac1Denom, 2]) + 0.1, y(Corner[equivFrac1Num, 3])), (x(Corner[equivFrac1Denom, 1]) - 0.1, y(Corner[equivFrac1Num, 4]))) → equivFrac1Box, h_3, i_3, j_3, l_3
  58. Polygon(Corner[equivFrac2Denom, 1] + (-0.1, 0.1), Corner[equivFrac2Denom, 2] + (0.1, 0.1), (x(Corner[equivFrac2Denom, 2]) + 0.1, y(Corner[equivFrac2Num, 3])), (x(Corner[equivFrac2Denom, 1]) - 0.1, y(Corner[equivFrac2Num, 4]))) → equivFrac2Box, m_3, p_3, q_3, r_3
  59. Text(If[common_1 > 99 ∨ common_3 > 99, "__________", If[common_1 > 9 ∨ common_3 > 9, "_______", "____"]]) → equivFrac1Vinculum
  60. Text(If[common_2 > 99 ∨ common_3 > 99, "__________", If[common_2 > 9 ∨ common_3 > 9, "_______", "____"]]) → equivFrac2Vinculum
  61. Text("or") → equivFrac1Or
  62. Text("or") → equivFrac2Or
  63. Segment(Midpoint[G, N], Midpoint[H, M]) → areaModelDragLimit
  64. Point(areaModelDragLimit) → areaModelDragPt
  65. Segment((x(areaModelDragPt), y(N)), (x(areaModelDragPt), y(G))) → areaModelDragLine

AI Drawing Prompt Reference

Draw a number line with fraction markers. Place two fraction points on the line to visually compare their sizes. Clearly label the fractions and use arrows or text to indicate greater than, less than, or equal relationships. Construct the number line first, then add fraction points, and finally add comparison notes.
The prompt above was compiled from the original drawing commands and is for reference only.