Add and Subtract Integers: Visualizing Positive and Negative Numbers with Geomet
Loading the math board and drawing, please wait…
① This GeoGebra example demonstrates integer addition and subtraction using points, circles, and polygons on a 2D plane, making the merging and canceling of positive and negative numbers visually intuitive. ② Core math concepts include integer operations, opposite numbers, absolute value, and number line movement, along with random variables and sequences. ③ Construction highlights: commands such as Sequence, If, Flatten, and SelectedElement manage lists of positive and negative points; Textfield and InputBox provide interactive input; objects like positiveCircles, negativeCircles, and addStep1mover/subStep1mover illustrate step-by-step operations. ④ Suitable for upper elementary to middle school students, this interactive tool supports classroom demonstrations and self-paced exploration of integer arithmetic.
GeoGebra Commands & Parameters
Flatten(Sequence[Sequence[Point[{i, (-j)}], i, 1 / 2, 1 / 2 + floor(sqrt(If[n1 < 0, (-n1) + n1AddedNegative, n1AddedNegative])), 1], j, 1 / 2, 1 / 2 + floor(sqrt(If[n1 < 0, (-n1) + n1AddedNegative, n1AddedNegative])), 1]) → negativePointsSequence(Max[abs(x(Element[negativePoints, i])), abs(y(Element[negativePoints, i]))], i, 1, Length[negativePoints]) → negativeSorterIf(Length[negativePoints] > 0, First[Sort[negativePoints, negativeSorter], Max[(-n1) + n1AddedNegative, n1AddedNegative]], {}) → sortedNegativePointsTextfield(n1text) → InputBox1Textfield(n2text) → InputBox2Flatten(Sequence[Sequence[Point[{i, j}], i, 1 / 2, 1 / 2 + floor(sqrt(If[n1 > 0, n1 + n1AddedPositive, n1AddedPositive])), 1], j, 1 / 2, 1 / 2 + floor(sqrt(If[n1 > 0, n1 + n1AddedPositive, n1AddedPositive])), 1]) → positivePointsSequence(Max[abs(x(Element[positivePoints, i])), abs(y(Element[positivePoints, i]))], i, 1, Length[positivePoints]) → positiveSorterIf(Length[positivePoints] > 0, First[Sort[positivePoints, positiveSorter], Max[n1 + n1AddedPositive, n1AddedPositive]], {}) → sortedPositivePointsIf(Length[sortedNegativePoints] > 0, Sequence[Circle[Element[sortedNegativePoints, i], 0.4], i, 1, Length[sortedNegativePoints]], {}) → negativeCirclesIf(Length[sortedPositivePoints] > 0, Sequence[Circle[Element[sortedPositivePoints, i], 0.4], i, 1, Length[sortedPositivePoints]], {}) → positiveCirclesIf((n1 * n2) < 0, Min[abs(n1), abs(n2)], 0) → extraZerosSelectedElement(addOrSub) → operationTextfield(n1Text) → InputBox3If(operation ≟ "+", n1 + n2, n1 - n2) → answerIf(Max[{n1, n2, answer}] > 0, Max[{n1, n2, answer}], 0) → highestPositiveIf(Min[{n1, n2, answer}] > 0, 0, Min[{n1, n2, answer}]) → lowestNegativeIf(highestPositive ≟ lowestNegative, 10, ceil(sqrt(highestPositive))) → topSequence(Text["+", Element[sortedPositivePoints, i] - (right / 50, (top + bottom) / 40)], i, 1, Length[sortedPositivePoints]) → plusSignsSequence(Text["-", Element[sortedNegativePoints, i] - (right / 65, (top + bottom) / 40)], i, 1, Length[sortedNegativePoints]) → minusSigns