Integer Number-Sense Level 2: Fill in Numbers, Compare and Sort on a Number Line
Loading the math board and drawing, please wait…
In collections
Ganze Zahlen & Arbeiten mit der Zahlengerade
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
Join({{2}, Sequence[RandomElement[{2, 3, 4, 5}], k, 1, 99]}) → StepCList1Sequence(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}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}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}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}If(level ≟ 1, 21, level ≟ 2, 21, 21) → anzahlSequence(-10, k, 1, 100) → StartList1Random(-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}Element(If[level ≟ 1, StepCList1, level ≟ 2, StepCList2, StepCList3], counter) → stepCIf(level ≟ 1, StartList1(counter), level ≟ 2, StartList2(counter), StartList3(counter)) → startNumberIf(show0, Mod[(-startNumber), stepC], 0) → diffSequence(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}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}Element(If[level ≟ 1, NumberList1, level ≟ 2, NumberList2, NumberList3], counter) → numberSequence(Origin + ((-lengthAxis), 0) + (((k * 2) * lengthAxis / (anzahl - 1)), 0), k, 0, anzahl - 1) → PointsListSequence(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}Element(If[level ≟ 1, NumberList1, level ≟ 2, NumberList2, NumberList3], counter) → number1Sequence(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}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}Element(If[level ≟ 1, NumberList12, level ≟ 2, NumberList22, NumberList32], counter) → number2Join({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]}) → PointsListPPoint(PointsListP) → PointP1Point(PointsListP) → PointP2Sequence(Random[1, 10], i, 1, 10) → randomNumbers, {5, 7, 3, 2, 5, 4, 6, 10, 9, 7}Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumberTextfield(input) → inputBoxSegment(Origin + ((-lengthAxis) - 0.5, 0), Origin + (lengthAxis + 0.5, 0)) → segAxisSequence(Origin + ((-lengthAxis), 0) + (((k * 2) * lengthAxis / (anzahl - 1)), 0), k, 0, anzahl - 1, stepM) → SelectablePointsSequence(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) → CapListSequence(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) → SegAxisListSequence(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) → CapListSolSequence(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) → SegAxisListSolSegment(OriginSol + ((-lengthAxis) - 0.5, 0), OriginSol + (lengthAxis + 0.5, 0)) → segAxisSolSequence(OriginSol + ((-lengthAxis), 0) + (((k * 2) * lengthAxis / (anzahl - 1)), 0), k, 0, anzahl - 1) → PointsListSolText((("\textsf{\textcolor{#db6114}{\small{\(" * number2) * "\)}}}"), PointP2 + (If[number2 < 0, -0.12, 0], 0), false, true, 0, 1) → Cap2Text((("\textsf{\textcolor{#db6114}{\small{\(" * number1) * "\)}}}"), PointP1 + (If[number1 < 0, -0.12, 0], 0.05), false, true, 0, 1) → Cap1Defined(index1) → clickableBtnValidateSequence(k, k, startNumber + diff, startNumber + anzahl - 1 + diff, stepC) → AxisNumbersSequence(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) → CapListSolNewTranslate(imgChilliRot1, Vector[PosImgChilliRot1, PosImgChilliRot1 + ((0.8 * dimChilli), 0)]) → imgChilliRot2Translate(imgChilliRot1, Vector[(2 * Vector[PosImgChilliRot1, PosImgChilliRot1 + ((0.8 * dimChilli), 0)])]) → imgChilliRot3Translate(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.