Number Sense - Level 2: Comparing and Locating Rational Numbers

Number Sense - Level 2: Comparing and Locating Rational Numbers
Loading the math board and drawing, please wait…
2025-01-21 20:19
① This interactive GeoGebra example is a number-sense training tool for middle school students, generating random rational numbers (including integers, decimals, fractions, and signed numbers) and asking learners to compare them or place them on a number line. ② The core mathematical concepts are comparing and ordering rational numbers, and representing rational numbers on the number line, covering positive/negative values, decimals, and fractions. ③ Construction highlights: The applet uses GeoGebra commands such as RandomElement, Vector, Segment, Join, Remove, Unique, Element, Polygon, If, and Text to build a dynamic question system. Sliders (maxNums, minNums) control difficulty, while random number generators (randomNos, numbersGanze, numbers3Dezimal1Neg, etc.) produce varied rational number types. A button (button1) triggers new questions, and interactive elements (showrect, showsolution) provide feedback, with a counter (countCorrect) tracking performance. ④ It is designed for grades 7-8 to reinforce rational number concepts and develop number sense, suitable for classroom use or self-paced practice.

GeoGebra Commands & Parameters

  1. RandomElement(minNums) → minNum
  2. RandomElement(maxNums) → maxNum
  3. Vector(A + (0.5, 0), B) → u
  4. Segment((10, b), (10, (-b))) → g
  5. Join({{100}, Shuffle[Sequence[Random[5, 95], i, 1, 100]]}) → randomNos
  6. Remove((((minNum * 10) + 1)…0) / 10, numbersGanze) → numbers3Dezimal1Neg
  7. Remove((0…((maxNum * 10) - 1)) / 10, numbersGanze) → numbers4Dezimal1Pos
  8. Remove((((minNum * 100) + 1)…0) / 100, Flatten[{numbersGanze, numbers3Dezimal1Neg}]) → numbers5Dezimal2Neg
  9. Remove((0…((maxNum * 100) - 1)) / 100, Flatten[{numbersGanze, numbers4Dezimal1Pos}]) → numbers6Dezimal2Pos
  10. Unique(Flatten[Zip[Sequence[Sequence[j - i / a, i, 1, a - 1], j, minNum + 1, 0], a, {2, 3, 4, 5, 6, 8, 10}]]) → numbers1BruecheNeg
  11. Unique(Flatten[Zip[Sequence[Sequence[j + i / a, i, 1, a - 1], j, 0, maxNum - 1], a, {2, 3, 4, 5, 6, 8, 10}]]) → numbers2BruechePos
  12. Join(Sequence[Shuffle[{1, 1, 1, 1, 2, 2, 3, 3, 4, 5, 5, 6}], i, 1, 10]) → numbersToTakeWSK
  13. Element(numbersToTakeWSK, Mod[count, Length[numbersToTakeWSK]] + 1) → actualNumberToTakeWSK
  14. Element(numbersAll, actualNumberToTakeWSK) → numbers
  15. RandomElement(numbers) → num
  16. Polygon((Max[0, If[numPos ≥ numZero > numPos - 0.5, numZero, numPos - 0.5]], -0.3), (Min[10, If[numPos < numZero ≤ numPos + 0.5, numZero, numPos + 0.5]], -0.3), (Min[10, If[numPos < numZero ≤ numPos + 0.5, numZero, numPos + 0.5]], 0.3), (Max[0, If[numPos ≥ numZero > numPos - 0.5, numZero, numPos - 0.5]], 0.3)) → q1, h, i, j, k
  17. Segment((0, 0), (0.1, 0)) → P0
  18. Segment((0.1, 0), (0.2, 0)) → P1
  19. Segment((0.2, 0), (0.3, 0)) → P2
  20. Segment((0.3, 0), (0.4, 0)) → P3
  21. Segment((0.4, 0), (0.5, 0)) → P4
  22. Segment((0.5, 0), (0.6, 0)) → P5
  23. Segment((0.6, 0), (0.7, 0)) → P6
  24. Segment((0.7, 0), (0.8, 0)) → P7
  25. Segment((0.8, 0), (0.9, 0)) → P8
  26. Segment((0.9, 0), (1, 0)) → P9
  27. Segment((1, 0), (1.1, 0)) → P10
  28. Segment((1.1, 0), (1.2, 0)) → P11
  29. Segment((1.2, 0), (1.3, 0)) → P12
  30. Segment((1.3, 0), (1.4, 0)) → P13
  31. Segment((1.4, 0), (1.5, 0)) → P14
  32. Segment((1.5, 0), (1.6, 0)) → P15
  33. Segment((1.6, 0), (1.7, 0)) → P16
  34. Segment((1.7, 0), (1.8, 0)) → P17
  35. Segment((1.8, 0), (1.9, 0)) → P18
  36. Segment((1.9, 0), (2, 0)) → P19
  37. Segment((2, 0), (2.1, 0)) → P20
  38. Segment((2.1, 0), (2.2, 0)) → P21
  39. Segment((2.2, 0), (2.3, 0)) → P22
  40. Segment((2.3, 0), (2.4, 0)) → P23
  41. Segment((2.4, 0), (2.5, 0)) → P24
  42. Segment((2.5, 0), (2.6, 0)) → P25
  43. Segment((2.6, 0), (2.7, 0)) → P26
  44. Segment((2.7, 0), (2.8, 0)) → P27
  45. Segment((2.8, 0), (2.9, 0)) → P28
  46. Segment((2.9, 0), (3, 0)) → P29
  47. Segment((3, 0), (3.1, 0)) → P30
  48. Segment((3.1, 0), (3.2, 0)) → P31
  49. Segment((3.2, 0), (3.3, 0)) → P32
  50. Segment((3.3, 0), (3.4, 0)) → P33
  51. Segment((3.4, 0), (3.5, 0)) → P34
  52. Segment((3.5, 0), (3.6, 0)) → P35
  53. Segment((3.6, 0), (3.7, 0)) → P36
  54. Segment((3.7, 0), (3.8, 0)) → P37
  55. Segment((3.8, 0), (3.9, 0)) → P38
  56. Segment((3.9, 0), (4, 0)) → P39
  57. Segment((4, 0), (4.1, 0)) → P40
  58. Segment((4.1, 0), (4.2, 0)) → P41
  59. Segment((4.2, 0), (4.3, 0)) → P42
  60. Segment((4.3, 0), (4.4, 0)) → P43
  61. Segment((4.4, 0), (4.5, 0)) → P44
  62. Segment((4.5, 0), (4.6, 0)) → P45
  63. Segment((4.6, 0), (4.7, 0)) → P46
  64. Segment((4.7, 0), (4.8, 0)) → P47
  65. Segment((4.9, 0), (5, 0)) → P49
  66. Segment((5, 0), (5.1, 0)) → P50
  67. Segment((5.1, 0), (5.2, 0)) → P51
  68. Segment((5.2, 0), (5.3, 0)) → P52
  69. Segment((5.3, 0), (5.4, 0)) → P53
  70. Segment((5.4, 0), (5.5, 0)) → P54
  71. Segment((5.5, 0), (5.6, 0)) → P55
  72. Segment((5.6, 0), (5.7, 0)) → P56
  73. Segment((5.7, 0), (5.8, 0)) → P57
  74. Segment((5.8, 0), (5.9, 0)) → P58
  75. Segment((5.9, 0), (6, 0)) → P59
  76. Segment((6, 0), (6.1, 0)) → P60
  77. Segment((6.1, 0), (6.2, 0)) → P61
  78. Segment((6.2, 0), (6.3, 0)) → P62
  79. Segment((6.3, 0), (6.4, 0)) → P63
  80. Segment((6.4, 0), (6.5, 0)) → P64
  81. Segment((6.5, 0), (6.6, 0)) → P65
  82. Segment((6.6, 0), (6.7, 0)) → P66
  83. Segment((6.7, 0), (6.8, 0)) → P67
  84. Segment((6.8, 0), (6.9, 0)) → P68
  85. Segment((6.9, 0), (7, 0)) → P69
  86. Segment((7, 0), (7.1, 0)) → P70
  87. Segment((7.1, 0), (7.2, 0)) → P71
  88. Segment((7.2, 0), (7.3, 0)) → P72
  89. Segment((7.3, 0), (7.4, 0)) → P73
  90. Segment((7.4, 0), (7.5, 0)) → P74
  91. Segment((7.5, 0), (7.6, 0)) → P75
  92. Segment((7.6, 0), (7.7, 0)) → P76
  93. Segment((7.7, 0), (7.8, 0)) → P77
  94. Segment((7.8, 0), (7.9, 0)) → P78
  95. Segment((7.9, 0), (8, 0)) → P79
  96. Segment((8, 0), (8.1, 0)) → P80
  97. Segment((8.1, 0), (8.2, 0)) → P81
  98. Segment((8.2, 0), (8.3, 0)) → P82
  99. Segment((8.3, 0), (8.4, 0)) → P83
  100. Segment((8.4, 0), (8.5, 0)) → P84
  101. Segment((8.5, 0), (8.6, 0)) → P85
  102. Segment((8.6, 0), (8.7, 0)) → P86
  103. Segment((8.7, 0), (8.8, 0)) → P87
  104. Segment((8.8, 0), (8.9, 0)) → P88
  105. Segment((8.9, 0), (9, 0)) → P89
  106. Segment((9, 0), (9.1, 0)) → P90
  107. Segment((9.1, 0), (9.2, 0)) → P91
  108. Segment((9.2, 0), (9.3, 0)) → P92
  109. Segment((9.3, 0), (9.4, 0)) → P93
  110. Segment((9.4, 0), (9.5, 0)) → P94
  111. Segment((9.5, 0), (9.6, 0)) → P95
  112. Segment((9.6, 0), (9.7, 0)) → P96
  113. Segment((9.7, 0), (9.8, 0)) → P97
  114. Segment((9.8, 0), (9.9, 0)) → P98
  115. Segment((9.9, 0), (10, 0)) → P99
  116. Segment((10, 0), (10.1, 0)) → P100
  117. Segment((4.8, 0), (4.9, 0)) → P48
  118. If(floor(barometer / 2) + 1 ≥ 10, 10, floor(barometer / 2) + 1) → colorIndex
  119. Polygon((-1, -7), (17, -7), (17, 4), (-1, 4)) → canvas, l, m, n, p
  120. Vector(B - (0.5, 0), A) → u1
  121. Segment((0, b), (0, (-b))) → g1
  122. Segment((numZero, a), (numZero, (-a))) → f
  123. Vector((numPos, -0.4), (numPos, 0)) → v
  124. Element(randomNos, Mod[count, Length[randomNos]] + 1) → randomNumUnused
  125. Text("\textsf{" + numText + "}", (numPos - 0.02, -1.0), true, true, 0, 0) → text6

AI Drawing Prompt Reference

This is a number line graphic for training rational number concepts. The number line will randomly generate rational number points representing integers, decimals, fractions, and signed numbers that learners need to compare or locate. The graphic includes a counter to track correct answers and interactive elements like prompts and feedback buttons to help students understand comparing and ordering rational numbers. The construction order is: first draw the number line, then generate random rational numbers based on the slider settings, mark these points, display comparison questions, and finally update the counter.
The prompt above was compiled from the original drawing commands and is for reference only.