Travel Around the World - Adding and Subtracting Rational Numbers
Loading the math board and drawing, please wait…
In collections
Addieren und Subtrahieren von ganzen und rationalen Zahlen
This example uses a travel around the world theme to demonstrate adding and subtracting rational numbers. Key mathematical concepts include operations with rational numbers. It utilizes GeoGebra commands such as Corner, Point, Vector, CountIf, Join, Textfield, Split, If, Element, Text, ParseToNumber, Sequence, and LCM. Suitable for middle school and above students to learn rational number operatio
GeoGebra Commands & Parameters
Corner(FahneBlue, 1) → controlBlueCorner(FahneGelb, 1) → controlGelbCorner(FahneRosa, 1) → controlRosaCorner(FahneGreen, 1) → controlGreenPoint(Kreis1) → Pfeil1APoint(Kreis2) → Pfeil1EPoint(Kreis2) → Pfeil2APoint(Kreis3) → Pfeil2EPoint(Kreis3) → Pfeil3APoint(Kreis4) → Pfeil3EPoint(Kreis4) → Pfeil4APoint(Kreis5) → Pfeil4EPoint(Kreis5) → Pfeil5APoint(Kreis6) → Pfeil5EPoint(Kreis6) → Pfeil6APoint(Kreis7) → Pfeil6EPoint(Kreis7) → Pfeil7APoint(Kreis8) → Pfeil7EPoint(Kreis8) → Pfeil8APoint(Kreis9) → Pfeil8EPoint(Kreis9) → Pfeil9APoint(Kreis10) → Pfeil9EVector(Pfeil1A, Pfeil1E) → Pfeil1Vector(Pfeil2A, Pfeil2E) → Pfeil2Vector(Pfeil3A, Pfeil3E) → Pfeil3Vector(Pfeil4A, Pfeil4E) → Pfeil4Vector(Pfeil5A, Pfeil5E) → Pfeil5Vector(Pfeil6A, Pfeil6E) → Pfeil6Vector(Pfeil7A, Pfeil7E) → Pfeil7Vector(Pfeil8A, Pfeil8E) → Pfeil8Vector(Pfeil9A, Pfeil9E) → Pfeil9CountIf(a ≟ true, a, allCorrects) → correctCountJoin({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]}) → RasterStreckenJoin({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]}) → RasterBeschriftungTextfield(input) → inputBoxJoin(Sequence[Shuffle[1…4], k, 1, 60]) → listVZSplit(Text[inputBox], {""}) → l1CountIf(x ≟ "/", l1) → nBruchJoin(Sequence[Shuffle[10…20], k, 1, 60]) → listZahlen2Join(Sequence[Shuffle[1…10], k, 1, 60]) → listZahlen1If(questionCount ∈ {1, 2, 4, 5, 8, 9}, listZahlen1, listZahlen2) → listZahlenJoin(Sequence[Shuffle[{4.9, 4.8, 4.7, 4.6, 4.5, 4.4, 4.3, 4.2, 4.1, 3.9, 3.8, 3.7, 3.6, 3.5, 3.4, 3.3, 3.2, 3.1, 2.9, 2.8, 2.7, 2.6, 2.5, 2.4, 2.3, 2.2, 2.1, 1.9, 1.8, 1.7, 1.6, 1.5, 1.4, 1.3, 1.2, 1.1, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1}], k, 1, 3]) → listDezisJoin(Sequence[Shuffle[{5, 4, 3, 2, 1}], k, 1, 50]) → listGanzisJoin(Sequence[Shuffle[{{1, 2}, {2, 1}}], k, 1, 40]) → listMusterZ11Join(Sequence[Shuffle[{{1, 1, 2, 2}, {1, 2, 1, 2}, {1, 2, 2, 1}, {2, 1, 1, 2}, {2, 1, 2, 1}, {2, 2, 1, 1}, {2, 2, 2, 1}, {2, 2, 1, 2}, {2, 1, 2, 2}, {1, 2, 2, 2}}], k, 1, 40]) → listMusterZ13Join(Sequence[Shuffle[{{1, 2, 1}, {2, 1, 1}, {1, 2, 2}, {2, 1, 2}}], k, 1, 40]) → listMusterZ12If(questionCount ≤ 3, listMusterZ11(actualQuestion), questionCount ≤ 7, listMusterZ12(actualQuestion), listMusterZ13(actualQuestion)) → listActualMusterIf(questionCount ≤ 3, listVZ(actualQuestion), listVZ((3 * actualQuestion))) → VZ2If(questionCount ≤ 3, listVZ(actualQuestion + 1), listVZ((3 * actualQuestion) + 1)) → VZ3If(questionCount ≤ 3, listVZ(actualQuestion + 2), listVZ((3 * actualQuestion) + 2)) → VZ4If(VZ1 ∈ {1, 2}, num1, (-num1)) → solution1If(VZ1 ∈ {1, 2}, num1, (-num1)) → actualNum1If(VZ2 ∈ {1, 4}, num2, (-num2)) → actualNum2If(VZ3 ∈ {1, 4}, num3, (-num3)) → actualNum3If(VZ4 ∈ {1, 4}, num4, (-num4)) → actualNum4If(Defined[input3], If[SelectedIndex[drop2] ≟ 2, input3, (-input3)], 0) → inputSet2If(Defined[input4], If[SelectedIndex[drop3] ≟ 2, input4, (-input4)], 0) → inputSet3If(Defined[input2], If[SelectedIndex[drop1] ≟ 2, input2, (-input2)], 0) → inputSet1CountIf(x ≟ "-", Split[Text[inputBox], {""}]) → nMinusTextfield(input1) → inputBox1Textfield(input4) → inputBox4Textfield(input3) → inputBox3Textfield(input2) → inputBox2If(pickedBlue, controlBlue, pickedGelb, controlGelb, pickedRosa, controlRosa, controlGreen) → controlMasterElement({Kreis1, Kreis2, Kreis3, Kreis4, Kreis5, Kreis6, Kreis7, Kreis8, Kreis9, Kreis10}, questionCount) → NextPositionText(inputBox) → txtInputBoxParseToNumber(ReplaceAll[txtInputBox, ",", "."]) → aIf(questionCount ≤ 3, 2, questionCount ≤ 7, 3, 4) → nNumbersJoin(Sequence[Shuffle[{2, 3, 4, 5, 6, 8}], k, 1, 50]) → listNennerJoin(Sequence[Shuffle[{1, 2, 3}], k, 1, 50]) → für4Join(Sequence[Shuffle[{1, 2}], k, 1, 50]) → für3Join(Sequence[Shuffle[{1, 2, 3, 4}], k, 1, 50]) → für5Join(Sequence[Shuffle[{1, 2, 3, 4, 5}], k, 1, 50]) → für6Join(Sequence[Shuffle[{1, 2, 3, 4, 5, 6, 7}], k, 1, 50]) → für8Sequence(If[listNenner(k) ≟ 2, 1, listNenner(k) ≟ 3, für3(k), listNenner(k) ≟ 4, für4(k), listNenner(k) ≟ 5, für5(k), listNenner(k) ≟ 6, für6(k), für8(k)], k, 1, 60) → l3Sequence(If[listNenner(k) ≟ 2, 1, listNenner(k) ≟ 3, für3(k), listNenner(k) ≟ 4, für4(k), listNenner(k) ≟ 5, für5(k), listNenner(k) ≟ 6, für6(k), für8(k)], k, 1, 60) → listZählerSequence(1, k, 1, 60) → für2If(nenn1 ≟ 2, 1, nenn1 ≟ 8, für8((4 * actualQuestion)), nenn1 ≟ 3, für3((4 * actualQuestion)), nenn1 ≟ 4, für4((4 * actualQuestion)), nenn1 ≟ 5, für5((4 * actualQuestion)), nenn1 ≟ 6, für6((4 * actualQuestion))) → zähl1If(nenn2 ≟ 2, 1, nenn2 ≟ 8, für8((4 * actualQuestion) + 1), nenn2 ≟ 3, für3((4 * actualQuestion) + 1), nenn2 ≟ 4, für4((4 * actualQuestion) + 1), nenn2 ≟ 5, für5((4 * actualQuestion) + 1), nenn2 ≟ 6, für6((4 * actualQuestion) + 1)) → zähl2If(nenn3 ≟ 2, 1, nenn3 ≟ 8, für8((4 * actualQuestion) + 2), nenn3 ≟ 3, für3((4 * actualQuestion) + 2), nenn3 ≟ 4, für4((4 * actualQuestion) + 2), nenn3 ≟ 5, für5((4 * actualQuestion) + 2), nenn3 ≟ 6, für6((4 * actualQuestion) + 2)) → zähl3If(nenn4 ≟ 2, 1, nenn4 ≟ 8, für8((4 * actualQuestion) + 3), nenn4 ≟ 3, für4((4 * actualQuestion) + 3), nenn4 ≟ 4, für4((4 * actualQuestion) + 3), nenn4 ≟ 5, für5((4 * actualQuestion) + 3), nenn4 ≟ 6, für6((4 * actualQuestion) + 3)) → zähl4If(questionCount ∈ {1, 2, 4, 5, 8, 9}, 1, 2) → questionTypeTextfield(inputNenn1) → inputBoxNenn1Textfield(inputNenn2) → inputBoxNenn2Textfield(inputNenn3) → inputBoxNenn3Textfield(inputNenn4) → inputBoxNenn4Textfield(inputNenn5) → inputBoxNenn5Textfield(inputZähl1) → inputBoxZähl1Textfield(inputZähl2) → inputBoxZähl2Textfield(inputZähl3) → inputBoxZähl3Textfield(inputZähl4) → inputBoxZähl4Textfield(inputZähl5) → inputBoxZähl5If(VZ1 ∈ {1, 2}, zähl1 / nenn1, ((-zähl1)) / nenn1) → val1If(VZ2 ∈ {1, 4}, zähl2 / nenn2, ((-zähl2)) / nenn2) → val2If(VZ3 ∈ {1, 4}, zähl3 / nenn3, ((-zähl3)) / nenn3) → val3If(VZ4 ∈ {1, 4}, zähl4 / nenn4, ((-zähl4)) / nenn4) → val4If(SelectedIndex[dropB0] ≟ 2, inputB1, SelectedIndex[dropB0] ≟ 3, (-inputB1)) → actualB1If(SelectedIndex[dropB1] ≟ 2, inputB2, SelectedIndex[dropB1] ≟ 3, (-inputB2)) → actualB2If(SelectedIndex[dropB2] ≟ 2, inputB3, SelectedIndex[dropB2] ≟ 3, (-inputB3)) → actualB3If(SelectedIndex[dropB3] ≟ 2, inputB4, SelectedIndex[dropB3] ≟ 3, (-inputB4)) → actualB4LCM(If[Defined[nenn4], {nenn1, nenn2, nenn3, nenn4}, Defined[nenn3], {nenn1, nenn2, nenn3}, {nenn1, nenn2}]) → kGVIf(SelectedIndex[dropB4] ≟ 2, inputB5, SelectedIndex[dropB4] ≟ 3, (-inputB5)) → actualB5If(Defined[actualB5] ∧ validate, If[correctB5, If[attemptCount ≤ 1 ∧ ((¬Defined[actualB1]) ∨ correctBSet0) ∧ ((¬Defined[actualB2]) ∨ correctBSet1) ∧ ((¬Defined[actualB3]) ∨ correctBSet2) ∧ ((¬Defined[actualB4]) ∨ correctBSet3) ∨ If[Defined[actualB1], correctBSet0, true] ∧ If[Defined[actualB2], correctBSet1, true] ∧ If[Defined[actualB3], correctBSet2, true] ∧ If[Defined[actualB4], correctBSet3, true], true, false], true], false) → showLastPoly