Math Labyrinth Level 2: Interactive Integer Subtraction
Loading the math board and drawing, please wait…
In collections
Erstes Rechnen mit ganzen Zahlen
This GeoGebra example demonstrates an “operations labyrinth/level” activity where learners practice integer subtraction through randomized problem variants and answer checking. The central math concept is subtracting integers (including negatives), focusing on correct computation of a − b across different task instances. Construction highlights: Textfield is used for valid input and student answer
GeoGebra Commands & Parameters
Textfield(studentAnswer8) → inputBox8Textfield(studentAnswer7) → inputBox7Textfield(studentAnswer6) → inputBox6Textfield(studentAnswer5) → inputBox5Textfield(studentAnswer4) → inputBox4Textfield(studentAnswer3) → inputBox3Textfield(studentAnswer2) → inputBox2Textfield(studentAnswer1) → inputBox1Shuffle(Zip[{x(a), y(a)}, a, Join[Sequence[Sequence[(i, j), j, 1, 9], i, 1, 3]]]) → randomVariant, {{1, 3}, {2, 9}, {3, 6}, {1, 2}, {2, 2}, {3, 8}, {1, 6}, {2, 7}, {1, 8}, {3, 2}, {2, 3}, {1, 1}, {2, 5}, {2, 8}, {1, 7}, {3, 9}, {3, 5}, {2, 4}, {3, 3}, {3, 1}, {2, 1}, {3, 4}, {1, 9}, {3, 7}, {1, 4}, {1, 5}, {2, 6}}Element(randomVariant, Mod[taskCount, Length[randomVariant]] + 1) → actualVariantElement(If[Element[actualVariant, 1] ≟ 1, valuesA, If[Element[actualVariant, 1] ≟ 2, valuesB, valuesC]], Element[actualVariant, 2]) → actualValuesElement(operators, Element[actualVariant, 1]) → actualOperatorsVector((2, 8.5), (5.5, 8.5)) → arrow1Vector((6.2, 7.8), (6.2, 6.4)) → arrow2Vector((5.4, 5.5), (3.2, 5.5)) → arrow3Vector((1.55, 4.9), (1.55, 3.1)) → arrow4Vector((3.2, 2.2), (7.9, 2.2)) → arrow5Vector((10.2, 8.5), (11.2, 8.5)) → arrow7Vector((11.45, 7.8), (11.45, 2.5)) → arrow8Vector((8.85, 3.1), (8.85, 7.8)) → arrow6Random(-24, -5, 100) → NumberList1, {-8, -13, -7, -15, -7, -6, -19, -10, -9, -16, -14, -22, -16, -6, -18, -11, -13, -24, -22, -16, -5, -5, -22, -5, -11, -5, -6, -23, -13, -23, -10, -7, -15, -5, -7, -6, -6, -10, -7, -14, -20, -10, -13, -24, -23, -24, -12, -24, -8, -6, -19, -12, -16, -23, -8, -20, -16, -8, -22, -8, -21, -23, -7, -22, -9, -12, -23, -17, -7, -24, -21, -22, -17, -18, -15, -8, -18, -19, -6, -8, -5, -17, -9, -5, -22, -13, -13, -16, -17, -12, -24, -6, -14, -17, -5, -18, -16, -19, -6, -16}Sequence(Random[abs(NumberList1(k)) + 1, 25], k, 1, 100) → OperationNumberList1, {21, 17, 13, 24, 10, 18, 20, 15, 25, 18, 21, 24, 22, 16, 25, 15, 15, 25, 23, 17, 23, 12, 23, 19, 17, 19, 10, 24, 17, 25, 18, 10, 24, 11, 19, 18, 23, 25, 20, 18, 23, 18, 21, 25, 24, 25, 14, 25, 16, 13, 23, 22, 22, 24, 24, 24, 25, 11, 23, 17, 24, 24, 14, 24, 23, 16, 24, 21, 21, 25, 23, 24, 22, 22, 20, 11, 19, 23, 22, 22, 6, 21, 18, 19, 23, 22, 24, 18, 23, 14, 25, 20, 25, 20, 12, 23, 24, 21, 20, 18}Random(1, 1, 100) → OperationList1, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}Sequence(If[OperationList1(k) ≟ 1, NumberList1(k) + OperationNumberList1(k), NumberList1(k) - OperationNumberList1(k)], k, 1, 100) → NumberList2Random(2, 2, 100) → OperationList2, {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}Random(1, 25, 100) → OperationNumberList2, {6, 16, 13, 2, 24, 18, 2, 14, 12, 18, 12, 12, 17, 11, 6, 5, 5, 21, 23, 5, 19, 22, 11, 1, 19, 17, 20, 8, 20, 8, 2, 9, 20, 24, 1, 20, 17, 14, 7, 10, 1, 20, 25, 4, 10, 10, 15, 6, 18, 17, 9, 13, 1, 20, 21, 1, 12, 18, 21, 10, 21, 1, 25, 4, 9, 22, 10, 13, 23, 14, 1, 16, 14, 12, 9, 19, 25, 10, 2, 12, 10, 14, 2, 21, 17, 9, 16, 12, 22, 4, 4, 11, 11, 12, 1, 11, 22, 11, 15, 17}Sequence(If[OperationList2(k) ≟ 1, NumberList2(k) + OperationNumberList2(k), NumberList2(k) - OperationNumberList2(k)], k, 1, 100) → NumberList3Sequence(RandomElement[If[OperationList1(k) + OperationList2(k) ≟ 2 ∨ NumberList3(k) > 0, {2}, OperationList1(k) + OperationList2(k) ≟ 4, {1}, {1, 2}]], k, 1, 100) → OperationList3, {2, 2, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 1, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2}Sequence(If[NumberList3(k) > 0, Random[NumberList3(k) + 1, 35], Random[1, 25]], k, 1, 100) → OperationNumberList3Sequence(If[OperationList3(k) ≟ 1, NumberList3(k) + OperationNumberList3(k), NumberList3(k) - OperationNumberList3(k)], k, 1, 100) → NumberList4Sequence(RandomElement[If[OperationList2(k) + OperationList3(k) ≟ 2 ∨ NumberList4(k) > 0, {2}, OperationList2(k) + OperationList3(k) ≟ 4, {1}, {1, 2}]], k, 1, 100) → OperationList4, {1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1}Sequence(If[NumberList4(k) > 0, Random[NumberList4(k) + 1, 35], Random[1, 25]], k, 1, 100) → OperationNumberList4Sequence(If[OperationList4(k) ≟ 1, NumberList4(k) + OperationNumberList4(k), NumberList4(k) - OperationNumberList4(k)], k, 1, 100) → NumberList5Sequence(If[NumberList5(k) > 0, Random[NumberList5(k) + 1, 35], Random[1, 25]], k, 1, 100) → OperationNumberList5Sequence(RandomElement[If[OperationList3(k) + OperationList4(k) ≟ 2 ∨ NumberList5(k) > 0, {2}, OperationList3(k) + OperationList4(k) ≟ 4, {1}, {1, 2}]], k, 1, 100) → OperationList5, {2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 1, 1, 1}Sequence(If[OperationList5(k) ≟ 1, NumberList5(k) + OperationNumberList5(k), NumberList5(k) - OperationNumberList5(k)], k, 1, 100) → NumberList6Sequence(RandomElement[If[OperationList4(k) + OperationList5(k) ≟ 2 ∨ NumberList6(k) > 0, {2}, OperationList4(k) + OperationList5(k) ≟ 4, {1}, {1, 2}]], k, 1, 100) → OperationList6, {2, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2}Sequence(If[NumberList6(k) > 0, Random[NumberList6(k) + 1, 35], Random[1, 25]], k, 1, 100) → OperationNumberList6Sequence(If[OperationList6(k) ≟ 1, NumberList6(k) + OperationNumberList6(k), NumberList6(k) - OperationNumberList6(k)], k, 1, 100) → NumberList7Sequence(If[NumberList7(k) > 0, Random[NumberList7(k) + 1, 35], Random[1, 25]], k, 1, 100) → OperationNumberList7Sequence(RandomElement[If[OperationList5(k) + OperationList6(k) ≟ 2 ∨ NumberList7(k) > 0, {2}, OperationList5(k) + OperationList6(k) ≟ 4, {1}, {1, 2}]], k, 1, 100) → OperationList7, {1, 1, 2, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 2}Sequence(If[OperationList7(k) ≟ 1, NumberList7(k) + OperationNumberList7(k), NumberList7(k) - OperationNumberList7(k)], k, 1, 100) → NumberList8Sequence(RandomElement[If[OperationList6(k) + OperationList7(k) ≟ 2 ∨ NumberList8(k) > 0, {2}, OperationList6(k) + OperationList7(k) ≟ 4, {1}, {1, 2}]], k, 1, 100) → OperationList8, {2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 2, 2, 1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 1, 1, 2, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1}Sequence(If[NumberList8(k) > 0, Random[NumberList8(k) + 1, 35], Random[1, 25]], k, 1, 100) → OperationNumberList8Sequence(If[OperationList8(k) ≟ 1, NumberList8(k) + OperationNumberList8(k), NumberList8(k) - OperationNumberList8(k)], k, 1, 100) → NumberList9Sequence(studentAnswers(k) ≟ SolutionList(k), k, 1, 8) → inputBoxCorrectPoint(Line[A, xAxis]) → BText((("\textsf{\(" * NumberList1(counter)) * "\)}"), Point[arrow1, 0] + (0, 0.05), false, true, -1, 0) → CapN1Text((((("\textsf{" * OperationSignList(OperationList1(counter))) * " ") * OperationNumberList1(counter)) * "}"), Midpoint[Point[arrow1, 0], Point[arrow1, 1]] + (0, 0), false, true, 0, 1) → CapON1Text((((("\textsf{" * OperationSignList(OperationList2(counter))) * " ") * OperationNumberList2(counter)) * "}"), Midpoint[Point[arrow2, 0], Point[arrow2, 1]] + (0, 0.15), false, true, 1, 0) → CapON2Text((((("\textsf{" * OperationSignList(OperationList3(counter))) * " ") * OperationNumberList3(counter)) * "}"), Midpoint[Point[arrow3, 0], Point[arrow3, 1]] + (0, 0), false, true, 0, 1) → CapON3Text((((("\textsf{" * OperationSignList(OperationList4(counter))) * " ") * OperationNumberList4(counter)) * "}"), Midpoint[Point[arrow4, 0], Point[arrow4, 1]] + (-0.15, 0.15), false, true, 1, 0) → CapON4Text((((("\textsf{" * OperationSignList(OperationList5(counter))) * " ") * OperationNumberList5(counter)) * "}"), Midpoint[Point[arrow5, 0], Point[arrow5, 1]] + (0, 0), false, true, 0, 1) → CapON5Text((((("\textsf{" * OperationSignList(OperationList6(counter))) * " ") * OperationNumberList6(counter)) * "}"), Midpoint[Point[arrow6, 0], Point[arrow6, 1]] + (-0.15, 0.15), false, true, 1, 0) → CapON6Text((((("\textsf{" * OperationSignList(OperationList7(counter))) * " ") * OperationNumberList7(counter)) * "}"), Midpoint[Point[arrow7, 0], Point[arrow7, 1]] + (-0.15, 0), false, true, 0, 1) → CapON7Text((((("\textsf{" * OperationSignList(OperationList8(counter))) * " ") * OperationNumberList8(counter)) * "}"), Midpoint[Point[arrow8, 0], Point[arrow8, 1]] + (-0.15, 0.15), false, true, 1, 0) → CapON8Join({{Number1}, SolutionList}) → FirstNumbersSequence((("\(" * FirstNumbers(k)) * "\)"), k, 1, Length[FirstNumbers]) → SolutionTxtList