Inverse Operations: Addition and Subtraction
Loading the math board and drawing, please wait…
In collections
Gleichungen lösen mit Umkehroperationen
This example uses the story of Kletter-Max to demonstrate the inverse relationship between addition and subtraction. It covers core math concepts of solving unknowns through inverse operations, emphasizing that addition is the inverse of subtraction and vice versa. The construction leverages GeoGebra commands like Sequence, Element, Textfield, SelectedIndex, Corner, Curve, Cartesian, PolyLine, Segment, If, Invert, Text, CircleArc, Vector along with objects to create interactive questions and feedback. Suitable for 5th-6th grade students to practice solving linear equations via inverse operations.
GeoGebra Commands & Parameters
Sequence(Random[1, 10], i, 1, 10) → randomNumbers, {1, 2, 3, 9, 5, 9, 8, 3, 8, 8}Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumberTextfield(input) → inputBoxSelectedIndex(dropdown031) → index031SelectedIndex(dropdown041) → index041SelectedIndex(dropdown071) → index071SelectedIndex(dropdown081) → index081Textfield(input031) → InputBox031Textfield(input041) → InputBox041Textfield(input071) → InputBox071Textfield(input081) → InputBox081Corner(imgWand, 3) → PosImgWand3Sequence(PosImgWand1 + (0.105 * (PosImgWand2 - PosImgWand1)) + (0.105 * (PosImgWand3 - PosImgWand2)) + ((k * 0.07065) * (PosImgWand3 - PosImgWand2)), k, 0, 12) → PointListSprosseSequence(Polygon[PointListSprosse(k) + {(0, 0), (0.775 * (PosImgWand2 - PosImgWand1)), (0.775 * (PosImgWand2 - PosImgWand1)) - (0.025 * (PosImgWand3 - PosImgWand2)), (-0.025 * (PosImgWand3 - PosImgWand2))}], k, 1, Length[PointListSprosse]) → SprosseListSequence(PointListSprosse(k) + (0.25 * (PosImgWand2 - PosImgWand1)) - (0.035 * (PosImgWand3 - PosImgWand2)), k, 1, Length[PointListSprosse]) → PosListKMSequence(PointListSprosse(k) + (0.9 * (dimWand, 0)) - (0.007 * (0, dimWand)), k, 1, 13) → PointListRightSequence(Text[(((("\textsf{" * If[k ≟ actualSprosse, "\bold{\textcolor{#1565c0}{", "{{"]) * "") * k) * "}}}"), PointListRight(k), false, true, 0, 0], k, 1, 13) → CapListCurveCartesian(Midpoint[PointListRight(Min[Sprosse031, Sprosse041]), PointListRight(Max[Sprosse031, Sprosse041])] + (-0.25, -0.1) + (Distance[Midpoint[PointListRight(Min[Sprosse031, Sprosse041]), PointListRight(Max[Sprosse031, Sprosse041])], PointListRight(Min[Sprosse031, Sprosse041])] * (cos(t), sin(t))), t, -60°, 60°) → arc031Sequence(PointListRight(k) - (0.9 * (dimWand, 0)), k, 1, 13) → PointListLeftPolyLine(PosImgMax2 + (-0.5, 3.5), Corner[txt111, 1] + (0.6, 0), Corner[txt111, 2] + (0.1, 0), Corner[txt111, 3] + (0.1, 0.1), Corner[txt111, 4] + (-0.05, 0.1), Corner[txt111, 1] + (-0.05, 0.5), PosImgMax2 + (-0.5, 3.5)) → sbCurveCartesian(Midpoint[PointListLeft(Min[Sprosse031, Sprosse041]), PointListLeft(Max[Sprosse031, Sprosse041])] + (-0.25, -0.1) + (Distance[Midpoint[PointListLeft(Min[Sprosse031, Sprosse041]), PointListLeft(Max[Sprosse031, Sprosse041])], PointListLeft(Min[Sprosse031, Sprosse041])] * (cos(t), sin(t))), t, 120°, 240°) → arc041Segment(Point[arc031, 1], Point[arc031, 1] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListRight(Min[Sprosse031, Sprosse041]), PointListRight(Max[Sprosse031, Sprosse041])] + (-0.25, -0.1), Point[arc031, 1]]])) → seg031Segment(Point[arc031, 0], Point[arc031, 0] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListRight(Min[Sprosse031, Sprosse041]), PointListRight(Max[Sprosse031, Sprosse041])] + (-0.25, -0.1), Point[arc031, 0]]])) → seg032Segment(Point[arc041, 0], Point[arc041, 0] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListLeft(Min[Sprosse031, Sprosse041]), PointListLeft(Max[Sprosse031, Sprosse041])] + (-0.25, -0.1), Point[arc041, 0]]])) → seg042Segment(Point[arc041, 1], Point[arc041, 1] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListLeft(Min[Sprosse031, Sprosse041]), PointListLeft(Max[Sprosse031, Sprosse041])] + (-0.25, -0.1), Point[arc041, 1]]])) → seg041If(Sprosse041 > Sprosse031, 7, 2) → Sprosse071If(Sprosse041 > Sprosse031, 2, 7) → Sprosse081Invert(pixMat) → invPixMatText((((("\textsf{\colorbox{ebe7f8}{Operation:\\\bold{" * If[Sprosse031 < Sprosse041, "Addition", "Subtraktion"]) * "}\\") * If[Sprosse031 < Sprosse041, "+", "\(-\)"]) * " 3 Sprossen}}"), Pos031, false, true, 1, 0) → txt062CurveCartesian(Midpoint[PointListRight(Min[Sprosse071, Sprosse081]), PointListRight(Max[Sprosse071, Sprosse081])] + (-0.5, -0.1) + (Distance[Midpoint[PointListRight(Min[Sprosse071, Sprosse081]), PointListRight(Max[Sprosse071, Sprosse081])], PointListRight(Min[Sprosse071, Sprosse081])] * (cos(t), sin(t))), t, -60°, 60°) → arc071CurveCartesian(Midpoint[PointListLeft(Min[Sprosse071, Sprosse081]), PointListLeft(Max[Sprosse071, Sprosse081])] + (0, -0.1) + (Distance[Midpoint[PointListLeft(Min[Sprosse071, Sprosse081]), PointListLeft(Max[Sprosse071, Sprosse081])], PointListLeft(Min[Sprosse071, Sprosse081])] * (cos(t), sin(t))), t, 120°, 240°) → arc081Segment(Point[arc071, 1], Point[arc071, 1] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListRight(Min[Sprosse071, Sprosse081]), PointListRight(Max[Sprosse071, Sprosse081])] + (-0.5, -0.1), Point[arc071, 1]]])) → seg071Segment(Point[arc071, 0], Point[arc071, 0] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListRight(Min[Sprosse071, Sprosse081]), PointListRight(Max[Sprosse071, Sprosse081])] + (-0.5, -0.1), Point[arc071, 0]]])) → seg072Text((("\textsf{\bold{\textcolor{" * If[step ≟ 7, "006758", "black"]) * " }{") + Sprosse071 + " " + (If[Sprosse071 < Sprosse081, "+", "\(-\)"]) + " 5 = " + Sprosse081 + "}}}", Pos071 + (0, -0.5), false, true, 1, 0) → txt073Segment(Point[arc081, 1], Point[arc081, 1] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListLeft(Min[Sprosse071, Sprosse081]), PointListLeft(Max[Sprosse071, Sprosse081])] + (0, -0.1), Point[arc081, 1]]])) → seg081Segment(Point[arc081, 0], Point[arc081, 0] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListLeft(Min[Sprosse071, Sprosse081]), PointListLeft(Max[Sprosse071, Sprosse081])] + (0, -0.1), Point[arc081, 0]]])) → seg082Text((((("\textsf{\colorbox{ebe7f8}{Operation:\\\bold{" * If[Sprosse071 < Sprosse081, "Addition", "Subtraktion"]) * "}\\") * If[Sprosse071 < Sprosse081, "+", "\(-\)"]) * " 5 Sprossen}}"), Pos071, false, true, 1, 0) → txt102Text((((("\textsf{\colorbox{ebe7f8}{Umkehroperation:\\\bold{" * If[Sprosse031 > Sprosse041, "Addition", "Subtraktion"]) * "}\\") * If[Sprosse031 > Sprosse041, "+", "\(-\)"]) * " 3 Sprossen}}"), Pos041, false, true, -1, 0) → txt063Text((((("\textsf{\colorbox{ebe7f8}{Umkehroperation:\\\bold{" * If[Sprosse071 > Sprosse081, "Addition", "Subtraktion"]) * "}\\") * If[Sprosse071 > Sprosse081, "+", "\(-\)"]) * " 5 Sprossen}}"), Pos081, false, true, -1, 0) → txt103If(step ≟ 2, triesKM ≥ 1 ∧ animKM ∈ {0, 1}, step ≟ 8, anim081 ≟ 5 ∧ correct081 ∧ correctdd081, step ≟ 9, anim091 ≟ 5, true, step ≟ 3, correct031 ∧ correctdd031, step ≟ 4, anim041 ≟ 3 ∧ correct041 ∧ correctdd041, step ≟ 5, anim051 ≟ 3, step ≟ 7, correct071 ∧ correctdd071) → clickableBtnNextIf(step ≟ 2, animKM ∈ {0, 1}, true, step ≟ 4, anim041 ≟ 3, step ≟ 5, anim051 ≟ 3, step ≟ 8, anim081 ≟ 5, step ≟ 9, anim091 ≟ 5) → clickableBtnBackIf(step ≟ 3, Point[arc031, 0] + (0.5, -0.25), step ≟ 4, Point[arc041, 1] + (-4, -0.25), step ≟ 7, Point[arc071, 0] + (0.5, -0.25), Point[arc081, 1] + (-4, -0.25)) → PosBtnShowSolutionText((("\textsf{\bold{\textcolor{" * If[step ≟ 3, "006758", "black"]) * " }{") + Sprosse031 + " " + (If[Sprosse031 < Sprosse041, "+", "\(-\)"]) + " 3 = " + Sprosse041 + "}}}", Pos031 + (0, -0.5), false, true, 1, 0) → txt033Text((("\textsf{\bold{\textcolor{" * If[step ≟ 4, "006758", "black"]) * " }{") + Sprosse041 + " " + (If[Sprosse041 < Sprosse031, "+", "\(-\)"]) + " 3 = " + Sprosse031 + "}}}", Pos041 + (-1.9, -0.5), false, true, -1, 0) → txt043Text((("\textsf{\bold{\textcolor{" * If[step ≟ 8, "006758", "black"]) * " }{") + Sprosse081 + " " + (If[Sprosse081 < Sprosse071, "+", "\(-\)"]) + " 5 = " + Sprosse071 + "}}}", Pos081 + (-1.85, -0.5), false, true, -1, 0) → txt083CircleArc(Midpoint[PosZ1, PosZ2] + (0, -2), PosZ2 + (-0.25, 0.5), PosZ1 + (0.25, 0.5)) → arc111CircleArc(Midpoint[PosZ1, PosZ2] + (0, 2), PosZ1 + (0.25, -0.5), PosZ2 + (-0.25, -0.5)) → arc112Vector(Point[arc111, 0], Point[arc111, 0] + (0.1, -0.1)) → vec111Vector(Point[arc112, 0], Point[arc112, 0] + (-0.1, 0.1)) → vec112Text((("\textsf{\bold{" * If[Sprosse041 > Sprosse031, "+", "\(-\)"]) * " 3} Sprossen}"), Pos031 + (0, 0.25), false, true, 1, 0) → txt034Text((("\textsf{\bold{" * If[Sprosse031 > Sprosse041, "+", "\(-\)"]) * " 3} Sprossen}"), Pos041 + (0, 0.25), false, true, -1, 0) → txt044Text((("\textsf{\bold{" * If[Sprosse081 > Sprosse071, "+", "\(-\)"]) * " 5} Sprossen}"), Pos071 + (0, 0.25), false, true, 1, 0) → txt074Text((("\textsf{\bold{" * If[Sprosse071 > Sprosse081, "+", "\(-\)"]) * " 5} Sprossen}"), Pos081 + (0, 0.25), false, true, -1, 0) → txt084
AI Drawing Prompt Reference
This is an interactive mathematical teaching graphic with input boxes for entering numbers, dropdown menus to select operation types, and text boxes displaying problems and answers. The graphic includes a grid of points, curves, and line segments forming geometric shapes, with curves and segments connecting the points. Text boxes display information like "Operation: Addition or Subtraction 3 Sprossen". The overall layout resembles a teaching interface with buttons and feedback areas, used to illustrate the inverse relationship between addition and subtraction.
The prompt above was compiled from the original drawing commands and is for reference only.