Integer Number-Sense Level 2: Fill in Numbers, Compare and Sort on a Number Line

Integer Number-Sense Level 2: Fill in Numbers, Compare and Sort on a Number Line
Loading the math board and drawing, please wait…
2024-05-23 18:25
This interactive GeoGebra lesson presents a “fill in the correct integers” challenge (Level 2) where students solve three tasks to unlock the next difficulty. It focuses on comparing and ordering whole (integers) using a number line, and interpreting integers in real-world or non-mathematical contexts. The construction combines a number-line visualization (Origin, Segment, PointsList/Point lists) with dynamic problem generation: random integer sets (randomNumbers, NumberList1–3, StartList1–3, StepCList1–3) are assembled using Join and Sequence, while If-based logic checks the user’s Textfield input and updates correctness counters (attemptCount, questionCount, correctCount) and feedback elements (rectangleFeedback, show0, correct flags). Translate is used to position elements consistently across steps, and Text objects render prompts/results. Best suited for grades ~5–6 and as classroom practice or individualized tutoring to strengthen integer sense.

GeoGebra Commands & Parameters

  1. Join({{2}, Sequence[RandomElement[{2, 3, 4, 5}], k, 1, 99]}) → StepCList1
  2. Sequence(RandomElement[{2, 3, 4, 5}], k, 1, 100) → StepCList2, {3, 5, 5, 5, 2, 5, 3, 5, 2, 2, 3, 2, 3, 5, 5, 2, 3, 3, 5, 4, 4, 3, 2, 4, 4, 3, 5, 2, 2, 5, 2, 3, 3, 3, 2, 3, 4, 2, 3, 4, 4, 5, 5, 5, 4, 5, 3, 2, 3, 2, 3, 5, 4, 3, 4, 5, 5, 2, 2, 3, 2, 2, 3, 2, 2, 5, 5, 2, 3, 5, 4, 3, 2, 4, 2, 3, 2, 5, 4, 5, 5, 5, 5, 4, 5, 2, 5, 4, 5, 5, 3, 5, 3, 5, 4, 2, 2, 2, 4, 2}
  3. Random(-20, -10, 100) → StartList2, {-20, -15, -12, -12, -20, -13, -16, -20, -19, -15, -17, -10, -12, -17, -11, -16, -17, -19, -12, -10, -15, -19, -12, -13, -19, -17, -10, -12, -12, -19, -19, -11, -20, -13, -10, -11, -15, -17, -15, -19, -19, -12, -11, -10, -13, -17, -18, -17, -13, -15, -10, -17, -10, -11, -17, -11, -11, -10, -10, -14, -18, -12, -11, -18, -20, -10, -17, -12, -12, -11, -11, -16, -14, -11, -19, -16, -11, -17, -20, -19, -12, -14, -16, -14, -19, -10, -16, -19, -11, -19, -13, -16, -15, -12, -11, -20, -10, -16, -12, -20}
  4. Sequence(RandomElement[Remove[(StartList2(k))…(StartList2(k) + 20), Sequence[(m * StepCList2(k)), m, -25, 25]]], k, 1, 100) → NumberList2, {-17, -6, -7, 7, -17, 2, -7, -12, -3, 5, -5, 7, -5, -17, 9, -15, 2, -2, -3, 1, -11, -13, -7, -13, 1, 1, 3, -7, -9, -2, -13, -2, -5, -7, 7, 7, 1, -9, 2, -1, -15, 3, 6, 9, -10, -16, -11, -17, -4, -13, -4, -11, -6, 8, -15, -11, -1, 9, -3, -8, -13, -11, 8, -9, -19, 6, 2, 3, -5, 6, 6, -11, -11, -2, -11, -8, -9, -16, -17, -1, -4, 3, 1, 5, -17, -7, -6, -9, 6, -12, -10, -11, 2, -9, -9, -9, 3, -13, 6, -15}
  5. Sequence(RandomElement[{2, 3, 4, 5}], k, 1, 100) → StepCList3, {2, 3, 3, 4, 3, 2, 3, 2, 3, 3, 5, 3, 2, 2, 4, 2, 4, 4, 2, 4, 5, 2, 4, 4, 2, 5, 3, 3, 4, 4, 2, 4, 2, 2, 3, 2, 2, 4, 5, 2, 3, 2, 2, 3, 2, 4, 2, 5, 3, 5, 4, 4, 4, 4, 2, 2, 5, 4, 2, 2, 2, 4, 2, 5, 4, 4, 3, 3, 3, 3, 5, 3, 5, 3, 2, 2, 3, 2, 5, 4, 3, 5, 3, 2, 4, 5, 5, 4, 4, 2, 5, 5, 2, 4, 3, 5, 4, 4, 2, 3}
  6. If(level ≟ 1, 21, level ≟ 2, 21, 21) → anzahl
  7. Sequence(-10, k, 1, 100) → StartList1
  8. Random(-50, 30, 100) → StartList3, {-24, 13, -49, 23, -15, 21, -39, 17, 28, -41, 12, -7, -26, 12, -45, 12, 26, -47, -2, -23, -13, 16, 11, -43, 27, 28, -33, 18, -13, 10, -13, 20, -4, 14, -38, -16, 15, 20, -47, 29, 28, -27, -34, -10, 5, -13, -37, 14, 20, -34, 21, 3, 30, -42, 1, 24, 19, -1, -3, 11, 23, -17, -6, -25, -11, -36, 13, -18, 29, 4, -11, -5, 8, -10, -4, 1, 13, 23, 22, -30, -39, -44, -8, 23, 20, 3, -2, 4, -48, 24, -4, -38, -42, -4, 15, 22, -48, 18, 21, -17}
  9. Element(If[level ≟ 1, StepCList1, level ≟ 2, StepCList2, StepCList3], counter) → stepC
  10. If(level ≟ 1, StartList1(counter), level ≟ 2, StartList2(counter), StartList3(counter)) → startNumber
  11. If(show0, Mod[(-startNumber), stepC], 0) → diff
  12. Sequence(RandomElement[Join[{Remove[-10…-1, Sequence[(m * StepCList1(k)), m, -100, 100]], Remove[-10…10, Sequence[(m * StepCList1(k)), m, -100, 100]]}]], k, 1, 100) → NumberList1, {1, -6, -2, -7, -9, -7, -10, -1, -1, -7, 3, -3, -3, -9, -5, -8, -7, -3, 5, 1, -3, 5, -5, 3, -1, -1, -1, -7, -9, -9, -9, -8, -1, 3, 10, 7, 3, 7, 1, -9, -1, -5, -2, -3, -7, -2, -1, 4, -10, 1, -10, -2, -6, -7, 1, -8, -7, 1, -8, -7, -9, 1, -10, 1, -4, -9, -7, -5, -9, -9, -10, -3, -4, -9, -1, -3, -3, -4, -3, 6, -3, -1, 3, 9, -1, 5, -2, 7, -9, 9, -10, -7, -7, -2, -10, 7, -2, -1, -7, -4}
  13. Sequence(RandomElement[Remove[(StartList3(k))…(StartList3(k) + 20), Sequence[(m * StepCList3(k)), m, -25, 25]]], k, 1, 100) → NumberList3, {-13, 31, -38, 29, -2, 37, -23, 25, 29, -23, 29, -5, -21, 27, -39, 17, 45, -37, 15, -14, 4, 35, 25, -43, 43, 48, -32, 23, -5, 21, 1, 35, 3, 17, -37, -3, 19, 23, -41, 43, 34, -27, -23, -5, 23, -2, -17, 28, 28, -22, 23, 21, 33, -39, 11, 39, 34, 13, 9, 31, 43, -9, 1, -7, 6, -19, 32, 1, 44, 10, -3, 13, 11, 10, -1, 9, 26, 41, 39, -17, -23, -32, 4, 37, 39, 19, 14, 9, -43, 27, 6, -33, -35, -2, 32, 37, -41, 38, 27, -10}
  14. Element(If[level ≟ 1, NumberList1, level ≟ 2, NumberList2, NumberList3], counter) → number
  15. Sequence(Origin + ((-lengthAxis), 0) + (((k * 2) * lengthAxis / (anzahl - 1)), 0), k, 0, anzahl - 1) → PointsList
  16. Sequence(RandomElement[Remove[-10…10, Join[{Sequence[(m * StepCList1(k)), m, -100, 100], {NumberList1(k)}}]]], k, 1, 100) → NumberList12, {-7, 3, 8, 7, -3, -10, -9, 2, -3, -1, -3, -4, -7, -7, -4, 4, -9, 2, -6, 9, 1, 9, -7, -3, 6, -10, -5, -3, -8, 9, -4, -4, -5, -7, 5, -2, -6, 6, 6, 2, 4, -2, -9, 2, 1, -4, -2, 2, 8, 2, 3, 9, 6, -5, 8, 5, 5, 3, 1, -9, 7, 8, 10, 5, 9, 7, 1, -3, -5, -6, 10, 4, 10, 8, 5, 7, -7, -8, -9, -1, -7, 8, 10, -10, -5, -1, 6, -7, -5, 5, 8, -8, -4, 3, 4, -1, -10, 7, -2, -8}
  17. Element(If[level ≟ 1, NumberList1, level ≟ 2, NumberList2, NumberList3], counter) → number1
  18. Sequence(RandomElement[Remove[(StartList2(k))…(StartList2(k) + 20), Join[{Sequence[(m * StepCList2(k)), m, -25, 25], {NumberList2(k)}}]]], k, 1, 100) → NumberList22, {-4, 3, 7, -3, -11, 1, -10, -16, -7, -7, -8, 1, -8, -6, 8, -13, -13, -1, -2, -5, 2, -4, -5, -9, -10, -8, 7, 5, -7, -16, 1, 1, -14, -2, -7, -2, -6, -5, 5, 1, -2, 2, 9, 1, -2, -13, -2, -11, -2, 1, -8, 2, -2, -4, -7, 3, -6, -1, 1, -14, -7, -9, 5, 1, -17, -1, -17, -5, 2, 8, -7, 2, -9, -7, 1, 2, -7, -8, -7, -9, -8, -12, -9, -2, -8, -9, 1, -13, -3, -16, -11, 2, -5, -2, -7, -3, -7, -1, 3, -11}
  19. Sequence(RandomElement[Remove[(StartList3(k))…(StartList3(k) + 20), Join[{Sequence[(m * StepCList3(k)), m, -25, 25], {NumberList3(k)}}]]], k, 1, 100) → NumberList32, {-9, 17, -44, 38, 4, 41, -35, 27, 28, -26, 21, 8, -25, 13, -31, 13, 42, -43, -1, -15, 2, 33, 17, -41, 41, 46, -26, 25, -11, 17, -3, 23, 9, 25, -20, -5, 29, 27, -43, 31, 35, -19, -33, 1, 19, -3, -23, 27, 25, -16, 35, 17, 30, -30, 19, 27, 28, 1, 15, 25, 25, -14, 5, -23, -3, -21, 29, -10, 31, 17, -7, 7, 21, -7, 13, 17, 19, 35, 42, -21, -22, -38, -1, 23, 35, 6, 13, 17, -46, 39, 13, -34, -37, 15, 29, 41, -37, 25, 35, -2}
  20. Element(If[level ≟ 1, NumberList12, level ≟ 2, NumberList22, NumberList32], counter) → number2
  21. Join({Sequence[Origin + ((-lengthAxis), 0.75) + (((k * 2) * lengthAxis / (anzahl - 1)), 0), k, 0, anzahl - 1], Sequence[Origin + ((-lengthAxis), 0) + (((k * 2) * lengthAxis / (anzahl - 1)), 0), k, 0, anzahl - 1]}) → PointsListP
  22. Point(PointsListP) → PointP1
  23. Point(PointsListP) → PointP2
  24. Sequence(Random[1, 10], i, 1, 10) → randomNumbers, {5, 7, 3, 2, 5, 4, 6, 10, 9, 7}
  25. Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumber
  26. Textfield(input) → inputBox
  27. Segment(Origin + ((-lengthAxis) - 0.5, 0), Origin + (lengthAxis + 0.5, 0)) → segAxis
  28. Sequence(Origin + ((-lengthAxis), 0) + (((k * 2) * lengthAxis / (anzahl - 1)), 0), k, 0, anzahl - 1, stepM) → SelectablePoints
  29. Sequence(Text[(("\textsf{\(" * k) * "\)}"), PointsList(k - startNumber + 1) + (If[k < 0, -0.166, 0], (-segLength2)), false, true, 0, -1], k, startNumber + diff, startNumber + anzahl - 1 + diff, stepC) → CapList
  30. Sequence(Segment[PointsList(k) + (0, If[Mod[NumbersOnAxis(k), stepC] ≟ 0, (-segLength2), (-segLength1)]), PointsList(k) + (0, If[Mod[NumbersOnAxis(k), stepC] ≟ 0, segLength2, segLength1])], k, 1, 21, stepM) → SegAxisList
  31. Sequence(Text[(("\textsf{\(" * k) * "\)}"), PointsList(k - startNumber + 1) + OriginSol - Origin + (If[k < 0, -0.166, 0], (-segLength2)), false, true, 0, -1], k, startNumber + diff, startNumber + anzahl - 1 + diff, stepC) → CapListSol
  32. Sequence(Segment[PointsList(k) + OriginSol - Origin + (0, If[Mod[NumbersOnAxis(k), stepC] ≟ 0, (-segLength2), (-segLength1)]), PointsList(k) + OriginSol - Origin + (0, If[Mod[NumbersOnAxis(k), stepC] ≟ 0, segLength2, segLength1])], k, 1, 21, stepM) → SegAxisListSol
  33. Segment(OriginSol + ((-lengthAxis) - 0.5, 0), OriginSol + (lengthAxis + 0.5, 0)) → segAxisSol
  34. Sequence(OriginSol + ((-lengthAxis), 0) + (((k * 2) * lengthAxis / (anzahl - 1)), 0), k, 0, anzahl - 1) → PointsListSol
  35. Text((("\textsf{\textcolor{#db6114}{\small{\(" * number2) * "\)}}}"), PointP2 + (If[number2 < 0, -0.12, 0], 0), false, true, 0, 1) → Cap2
  36. Text((("\textsf{\textcolor{#db6114}{\small{\(" * number1) * "\)}}}"), PointP1 + (If[number1 < 0, -0.12, 0], 0.05), false, true, 0, 1) → Cap1
  37. Defined(index1) → clickableBtnValidate
  38. Sequence(k, k, startNumber + diff, startNumber + anzahl - 1 + diff, stepC) → AxisNumbers
  39. Sequence(Text[(((("\textsf{" * If[AllNumbers(k) ∈ AxisNumbers, "{", "\scriptsize{"]) * "\(") * AllNumbers(k)) * "\)}}"), PointsListSol(k) + (If[AllNumbers(k) < 0, -0.166, 0], (-segLength2)) + If[AllNumbers(k) ∈ AxisNumbers, (0, 0), AllNumbers(k) < 0, (0.05, 0), (0, 0)], false, true, 0, -1], k, 1, 21, 1) → CapListSolNew
  40. Translate(imgChilliRot1, Vector[PosImgChilliRot1, PosImgChilliRot1 + ((0.8 * dimChilli), 0)]) → imgChilliRot2
  41. Translate(imgChilliRot1, Vector[(2 * Vector[PosImgChilliRot1, PosImgChilliRot1 + ((0.8 * dimChilli), 0)])]) → imgChilliRot3
  42. Translate(imgChilliGrau1, Vector[PosImgChilliRot1, PosImgChilliRot1 + ((0.8 * dimChilli), 0)]) → imgChilliGrau2

AI Drawing Prompt Reference

Draw a number line from -10 to 10 with points at each unit. Randomly mark some integer points with different colors. Users need to find and input the positions of two specified integers on the number line. There will also be some random integers on the number line for users to check if they are in the correct positions.
The prompt above was compiled from the original drawing commands and is for reference only.