Integer Addition and Subtraction Practice

Integer Addition and Subtraction Practice
Loading the math board and drawing, please wait…
2025-09-22 19:37
An interactive practice application for integer operations. This example demonstrates the rules of addition and subtraction with whole numbers through randomly generated exercises. Core mathematical concepts include integer addition, subtraction, and operation laws. Construction highlights: Uses Shuffle command for randomizing questions, Sequence for generating problem sets, If for answer validati

GeoGebra Commands & Parameters

  1. Shuffle(Sequence[Random[1, 3], i, 1, 50]) → randomCorrectBox, {3, 1, 3, 2, 1, 2, 1, 2, 3, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 3, 1, 1, 2, 3, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 1, 3, 1, 3, 3, 2, 3, 1, 2, 2, 3, 2, 1}
  2. If(checkBox1, 1, checkBox2, 2, checkBox3, 3) → chosenBox
  3. Join(Sequence[Shuffle[1…4], k, 1, 60]) → VRAuswahl2
  4. Sequence(RandomElement[(1…4) \ {VRAuswahl2(k)}], k, 1, 60) → VRAuswahl3, {1, 4, 3, 4, 3, 1, 3, 4, 3, 4, 2, 3, 3, 1, 2, 1, 1, 3, 4, 2, 1, 2, 2, 1, 4, 1, 4, 4, 4, 2, 2, 3, 2, 1, 4, 3, 3, 1, 4, 2, 3, 2, 4, 2, 2, 1, 1, 3, 3, 2, 4, 4, 4, 1, 4, 4, 1, 2, 2, 4}
  5. Mod(questionCount, 28) → fakeIt
  6. If(FakeItTillYouMakeIt((fakeIt * 4) + 1) ∈ {1, 4}, 2, 3) → solutionDrop1
  7. If(FakeItTillYouMakeIt((fakeIt * 4) + 2) ∈ {1, 4}, 2, 3) → solutionDrop2
  8. Flatten(Sequence[Shuffle[1…4], k, 1, 60]) → VRAuswahl1
  9. Shuffle(Sequence[Random[1, 10], i, 1, 50]) → randomZahl11, {10, 5, 9, 8, 5, 7, 3, 4, 10, 7, 10, 1, 8, 5, 9, 7, 5, 9, 2, 3, 8, 8, 10, 7, 3, 3, 4, 9, 3, 4, 7, 9, 7, 10, 3, 3, 10, 4, 10, 4, 5, 3, 2, 1, 5, 6, 4, 7, 2, 9}
  10. Shuffle(Sequence[Random[1, 10], i, 1, 50]) → randomZahl12, {9, 8, 8, 8, 2, 7, 4, 6, 2, 7, 6, 3, 6, 10, 2, 3, 10, 3, 2, 7, 1, 4, 2, 9, 10, 8, 4, 4, 9, 7, 7, 6, 9, 9, 4, 7, 5, 3, 1, 7, 2, 4, 2, 9, 1, 1, 1, 4, 8, 6}
  11. Shuffle(Sequence[Random[1, 10], i, 1, 50]) → randomZahl13, {2, 7, 8, 9, 6, 9, 7, 6, 2, 10, 7, 5, 1, 5, 9, 8, 1, 3, 2, 10, 8, 10, 6, 2, 9, 8, 9, 4, 1, 7, 9, 7, 1, 4, 10, 7, 5, 1, 2, 9, 4, 5, 4, 2, 3, 3, 6, 8, 2, 6}
  12. Shuffle(Sequence[(1 / 10 * i), i, 1, 50]) → randomZahl21, {4.6000000000000005, 2.6, 1.5, 0.1, 4.5, 2.4000000000000004, 3.7, 1.7000000000000002, 2.5, 1, 4, 1.4000000000000001, 3.1, 3.2, 4.800000000000001, 2.9000000000000004, 3.8000000000000003, 4.9, 0.5, 0.4, 2.2, 4.2, 2.8000000000000003, 3, 4.1000000000000005, 1.6, 2.7, 4.3, 4.4, 1.2000000000000002, 4.7, 2, 0.7000000000000001, 3.6, 1.3, 0.8, 5, 3.4000000000000004, 1.9000000000000001, 0.2, 1.1, 1.8, 3.9000000000000004, 2.3000000000000003, 2.1, 3.5, 0.9, 3.3000000000000003, 0.6000000000000001, 0.30000000000000004}
  13. Shuffle(Sequence[(1 / 10 * i), i, 1, 50]) → randomZahl22, {2.7, 2, 0.7000000000000001, 2.8000000000000003, 3.2, 1.6, 3.8000000000000003, 4.800000000000001, 4.6000000000000005, 3.4000000000000004, 3.7, 5, 2.4000000000000004, 4.3, 0.9, 3.3000000000000003, 1.7000000000000002, 1.9000000000000001, 0.5, 0.8, 2.3000000000000003, 2.2, 4, 3.6, 3.5, 1.2000000000000002, 1.3, 0.1, 3.1, 4.9, 4.2, 2.5, 3.9000000000000004, 0.6000000000000001, 4.5, 3, 4.7, 2.9000000000000004, 1.5, 0.2, 1.4000000000000001, 0.4, 2.6, 1, 1.8, 0.30000000000000004, 4.4, 4.1000000000000005, 2.1, 1.1}
  14. Shuffle(Sequence[(1 / 10 * i), i, 1, 50]) → randomZahl23, {3.2, 0.2, 1.3, 4.2, 1.6, 2.1, 3, 3.5, 4.7, 2.5, 2.8000000000000003, 0.8, 1.5, 1.4000000000000001, 1.8, 1.9000000000000001, 0.4, 3.4000000000000004, 3.3000000000000003, 4.1000000000000005, 4.5, 0.9, 1.7000000000000002, 2.7, 2.2, 4.3, 1.2000000000000002, 0.1, 0.30000000000000004, 2.6, 3.1, 5, 2.9000000000000004, 4.4, 4, 0.6000000000000001, 3.7, 4.800000000000001, 1, 2.3000000000000003, 4.6000000000000005, 0.5, 3.8000000000000003, 2, 0.7000000000000001, 4.9, 2.4000000000000004, 3.6, 1.1, 3.9000000000000004}
  15. Flatten(Sequence[Shuffle[1…3], k, 1, 50]) → randomQuestionType
  16. Shuffle(Sequence[Random[1, 2], i, 1, 50]) → random5050, {1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1}
  17. Flatten(Sequence[Shuffle[1…2], k, 1, 50]) → randomQuestionType3
  18. Sequence(RandomElement[(1…4) \ {VRAuswahl2(k), VRAuswahl3(k)}], k, 1, 60) → VRAuswahl4, {4, 2, 2, 2, 4, 4, 1, 2, 2, 3, 1, 1, 2, 3, 1, 3, 4, 2, 1, 3, 4, 3, 3, 3, 3, 2, 2, 1, 1, 1, 3, 1, 3, 2, 3, 2, 1, 2, 3, 3, 2, 3, 1, 4, 1, 4, 4, 4, 1, 1, 2, 2, 2, 3, 1, 2, 3, 1, 4, 1}
  19. Shuffle(Sequence[Random[1, 10], i, 1, 50]) → randomZahl14, {10, 1, 2, 4, 10, 9, 8, 2, 2, 9, 9, 2, 4, 1, 1, 10, 7, 5, 4, 3, 7, 4, 10, 4, 8, 3, 7, 3, 1, 8, 4, 7, 2, 6, 9, 7, 6, 3, 5, 9, 5, 1, 5, 1, 6, 1, 3, 10, 5, 2}
  20. Shuffle(Sequence[(1 / 10 * i), i, 1, 50]) → randomZahl24, {2.4000000000000004, 4.9, 4.1000000000000005, 2.6, 4.4, 0.4, 0.1, 0.6000000000000001, 2.5, 4.5, 0.7000000000000001, 4.6000000000000005, 2.3000000000000003, 3.7, 0.5, 2, 1.7000000000000002, 0.30000000000000004, 2.7, 1.3, 1.1, 0.2, 1.6, 3.3000000000000003, 4.3, 3.8000000000000003, 3.6, 1.8, 2.8000000000000003, 1.9000000000000001, 3.5, 1, 3.4000000000000004, 3.2, 1.4000000000000001, 2.9000000000000004, 3.9000000000000004, 1.2000000000000002, 2.2, 5, 4.7, 0.9, 4.2, 3, 1.5, 4.800000000000001, 3.1, 0.8, 2.1, 4}
  21. ParseToNumber(ReplaceAll[input3Text, ",", "."]) → input3Zahl
  22. ReplaceAll(input3Text, ",", ".") → input3TextOhneKomma
  23. Split(input3TextOhneKomma, {"+", "–", " "}) → allInput3Zahlen
  24. Split(input3Text, {""}) → allInput3
  25. CountIf(x ≟ "+", allInput3) → numOfPlus
  26. CountIf(x ≟ "–", allInput3) → numOfMinus
  27. Sequence(Random[1, 10], i, 1, 10) → randomNumbers, {9, 1, 5, 1, 2, 6, 5, 7, 10, 5}
  28. Shuffle(Sequence[möglicheNenner(Random[1, 6]), i, 1, 50]) → randomZahl3Nenner, {4, 4, 3, 6, 4, 6, 3, 2, 5, 2, 8, 6, 2, 3, 5, 6, 4, 5, 3, 4, 8, 5, 2, 2, 2, 6, 4, 4, 8, 6, 2, 5, 3, 2, 3, 4, 8, 3, 8, 5, 4, 2, 6, 6, 2, 8, 5, 4, 4, 4}
  29. Sequence(If[randomZahl3Nenner(i) ≟ 2, Random[1, 2], randomZahl3Nenner(i) ≟ 3, Random[1, 4], randomZahl3Nenner(i) ≟ 4, Random[1, 5], randomZahl3Nenner(i) ≟ 5, Random[1, 7], randomZahl3Nenner(i) ≟ 6, Random[1, 8], randomZahl3Nenner(i) ≟ 8, Random[1, 11]], i, 1, 50) → randomZahl3Zähler1
  30. Sequence(If[randomZahl3Nenner(i) ≟ 2, Random[1, 2], randomZahl3Nenner(i) ≟ 3, Random[1, 4], randomZahl3Nenner(i) ≟ 4, Random[1, 5], randomZahl3Nenner(i) ≟ 5, Random[1, 7], randomZahl3Nenner(i) ≟ 6, Random[1, 8], randomZahl3Nenner(i) ≟ 8, Random[1, 11]], i, 1, 50) → randomZahl3Zähler3
  31. Sequence(If[randomZahl3Nenner(i) ≟ 2, Random[1, 2], randomZahl3Nenner(i) ≟ 3, Random[1, 4], randomZahl3Nenner(i) ≟ 4, Random[1, 5], randomZahl3Nenner(i) ≟ 5, Random[1, 7], randomZahl3Nenner(i) ≟ 6, Random[1, 8], randomZahl3Nenner(i) ≟ 8, Random[1, 11]], i, 1, 50) → randomZahl3Zähler2
  32. Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumber
  33. Join({Sequence[Segment[Corner[4] + (RasterPixMat * ((k * RasterStepXY), 0)), Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY))], k, 0, RasterMaxX / RasterStepXY], Sequence[Segment[Corner[4] + (RasterPixMat * (0, (k * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], k, 0, RasterMaxY / RasterStepXY]}) → RasterStrecken
  34. Join({Sequence[Text[UnicodeToLetter[65 + k], Midpoint[Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY)), Corner[4] + (RasterPixMat * (((k + 1) * RasterStepXY), RasterMaxY))], false, true, 0, -1], k, 0, RasterMaxX / RasterStepXY - 1], Sequence[Text[("" * k), Midpoint[Corner[4] + (RasterPixMat * (RasterMaxX, ((k - 1) * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], false, true, 1, 0], k, 1, RasterMaxY / RasterStepXY]}) → RasterBeschriftung
  35. Sequence(Sequence[Corner[4] + (RasterPixMat * ((k * RasterStepXY), (m * RasterStepXY))), k, 0, RasterMaxX / RasterStepXY], m, 0, RasterMaxY / RasterStepXY) → RasterPunkte
  36. Translate(imgChilliGrau1, Vector[(1 * Vector[((0.8 * dimChilli), 0)])]) → imgChilliGrau2
  37. Translate(imgChilliRot1, Vector[(1 * Vector[((0.8 * dimChilli), 0)])]) → imgChilliRot2
  38. Translate(imgChilliRot1, Vector[(2 * Vector[((0.8 * dimChilli), 0)])]) → imgChilliRot3
  39. If(questionType ≟ 3, (1.48, 6.76), (1.48, 6.6)) → posSol1LO
  40. If(questionType ≟ 3, (1.48, 5.37), (1.48, 5.21)) → posSol2LO
  41. If(questionType ≟ 3, (1.48, 3.96), (1.48, 3.82)) → posSol3LO
  42. If(correctBox ≟ 1, posSol1LO, correctBox ≟ 2, posSol2LO, posSol3LO) → solLO
  43. If(questionType ≟ 3, (4.6, 5.48), questionType ≟ 1, (4.46, 5.64), (4.8, 5.64)) → posSol1RU
  44. If(questionType ≟ 3, (4.6, 4.11), questionType ≟ 1, (4.46, 4.27), (4.8, 4.27)) → posSol2RU
  45. If(questionType ≟ 3, (4.6, 2.72), questionType ≟ 1, (4.46, 2.88), (4.8, 2.88)) → posSol3RU
  46. If(correctBox ≟ 1, posSol1RU, correctBox ≟ 2, posSol2RU, posSol3RU) → solRU
  47. Shuffle(Sequence[Random[1, 3], i, 1, 50]) → randomCorrectBox_{1}, {2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 3, 2, 3, 1, 2, 3, 2, 2, 1, 1, 1, 2, 1, 1, 1, 3, 2, 2, 1, 3, 3, 1, 2, 1, 2, 1, 3, 1, 2, 2, 2, 2, 2, 3, 2, 1}
  48. Length(allInput3Zahlen) → längeZahl3
  49. Textfield(input3Text) → inputBox3
  50. LaTeX(ReplaceAll[input3Text, "-", " – "]) → input3TextLayout
  51. LaTeX(ReplaceAll[input3TextLayout, "+", " + "]) → input3TextLayout2
  52. LaTeX(ReplaceAll[input3TextLayout2, " + ", " + "]) → input3TextLayout3
  53. Flatten(Sequence[Shuffle[(1…4) \ {3}], k, 1, 50]) → l2