FLINKe Abfahrt:整数减法运算的动态演示
几何画板及绘图内容加载中,请稍等……
本范例通过GeoGebra动态演示整数减法运算过程,展示减法运算的直观性。核心数学概念为整数减法运算,涉及减法运算规则、负数处理及数轴表示。作图要点包括使用Shuffle、Join、Midpoint等GeoGebra命令构建减法模型,通过动画展示减法过程。适合小学7-8年级学生用于理解减法运算,适用于课堂教学和自主学习。
GeoGebra 命令及参数
Shuffle(Sequence[Random[-20, 5], i, 1, 100]) → randomNosForX, {-3, 1, 4, -17, -7, -19, -7, -14, 1, -10, -4, -18, -11, -6, -3, 1, -18, -12, -17, -13, -17, -6, -12, -5, -1, 3, 2, -10, -20, 3, 1, -8, -14, -18, -8, 5, -1, -1, -4, -6, -16, -19, -5, -18, 5, -8, 0, -3, 0, -19, -20, -19, -5, -18, -1, -7, -18, -20, -11, -17, -6, -19, -4, -5, -4, -17, -17, -4, -14, 5, -11, 4, -10, 4, -6, -1, 4, -9, 2, -4, -3, -9, 3, -1, -20, -14, -12, -14, -20, -7, -15, -19, 4, 5, -1, -5, -13, 3, -2, 3}Shuffle(Sequence[Random[1, 20], i, 1, 100]) → randomNosForY, {2, 5, 6, 12, 14, 1, 11, 5, 3, 20, 2, 11, 4, 8, 10, 2, 10, 9, 4, 12, 5, 8, 17, 5, 7, 20, 9, 3, 9, 16, 18, 7, 10, 16, 17, 12, 11, 16, 7, 3, 18, 4, 18, 19, 3, 8, 13, 17, 16, 11, 18, 19, 14, 15, 20, 11, 11, 11, 11, 13, 12, 1, 16, 9, 16, 3, 4, 19, 16, 5, 2, 18, 14, 4, 7, 20, 16, 3, 11, 12, 19, 4, 17, 2, 11, 6, 13, 20, 11, 10, 17, 12, 3, 1, 8, 6, 12, 20, 10, 19}Join(Sequence[Shuffle[Sequence[0, 1]], m, 1, 100]) → listMinusZip(If[m ≟ 0, a - b, a + b], m, listMinus, a, randomNosForX, b, randomNosForY) → listRandomFalseOption1Join(Sequence[Shuffle[{-1, 1, 2, -2}], m, 1, 100]) → listRandomFalseOption2DifferenceZip(m + (If[minus ≟ 1, -1, 1] * n) + a, m, randomNosForX, n, randomNosForY, a, listRandomFalseOption2Difference) → listRandomFalseOption2Midpoint(PLeftOriginal, PRightOriginal) → PMitteOriginalDistance(PMitteOriginal, PLeftOriginal) → absMitteIf(part < 3, Max[absMinFaktor, animR], animR) → animRtrueIf(part < 3, Max[absMinFaktor, animL], animL) → animLtrueShuffle(Join[{Sequence[1, m, 1, 60], Sequence[2, m, 1, 60]}]) → listCorrect, {1, 2, 1, 2, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 1, 1, 2, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 1, 2, 2, 1, 2, 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2}If(part ≟ 1, PMitteOriginal, PMitteOriginal + ((animMR * (maxR - absMinFaktor)), 0)) → PMitteRightAnimIf(part ≟ 3, inputCorrectBefore, inputCorrect) → inputCorrectCurrentIf(part ≟ 1, PMitteOriginal, PMitteOriginal + ((animML * (maxL - absMinFaktor)), 0)) → PMitteLeftAnimPoint(listOptions) → PIndexOf(P, listOptions) → input1If(part ≟ 1, P1, P2 + (0, (-height))) → B2aTextfield(input1) → Eingabefeld1Textfield(input2) → Eingabefeld2Element(randomNosForX, Mod[taskCount, 100] + 1) → numXElement(randomNosForY, Mod[taskCount, 100] + 1) → numYAppend(true, Sequence[If[randomNosForX(i) ≟ randomNosForX(i - 1), false, true], i, 2, 100]) → stayXAppend(true, Sequence[If[randomNosForY(i) ≟ randomNosForY(i - 1), false, true], i, 2, 100]) → stayYRemove(Sequence[If[stayX(i), randomNosForX(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForXwithoutRepeatRemove(Sequence[If[stayY(i), randomNosForY(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForYwithoutRepeatElement(randomNosForXwithoutRepeat, Mod[questionCount, Length[randomNosForXwithoutRepeat]] + 1) → numXwithoutRepeatElement(randomNosForYwithoutRepeat, Mod[questionCount, Length[randomNosForYwithoutRepeat]] + 1) → numYwithoutRepeatDefined((input1 * input2)) → fixedIf(part ≟ 3, P3, P1 + (0, (-height))) → B1aIf(part ≟ 2, P2, P3 + (0, (-height))) → B3aIf(part ≟ 1, PMitteOriginal, Element[{PMitteRightAnim, PMitteLeftAnim}, inputCorrectCurrent]) → PMitteAnimIf(part ≟ 1, PLeftOriginal, PMitteOriginal + ((animLtrue * maxL), 0)) → PLeftAnimIf(part ≟ 1, PRightOriginal, PMitteOriginal + ((animRtrue * maxR), 0)) → PRightAnimIf(minus ≟ 1, numX - numY, numX + numY) → solJoin(Sequence[Shuffle[{1, 2, 3, 3}], m, 1, 80]) → listRandomFalseOptionsElement({POpt1, POpt2}, inputCorrect) → PCorrectIf(inputCorrect ≟ 1, POpt2, POpt1) → PFalseSequence(PCounter + ((m * sizemann), 0), m, 0, 2) → listPointsCounterPoint(Line[A, xAxis]) → BIf(inputCorrectCurrent ≟ 2, GO1left, GO1right) → GO1Spline({FlockeAnimStart, FlockeAnimMid, FlockeAnimEnd}, 3) → aPoint(a, anim4) → FlockeAnimPosCircleArc(KreisFix3, KreisFix1, KreisFix2) → c_{1}Point(c_{1}) → FCircle(KreisFix1, KreisFix2, F) → dAngle(KreisFix1, KreisFix3, KreisFix2) → αPoint(d) → KreisTachoStartRotate(KreisTachoStart, (-180° * speedrel), KreisFix3) → KreisDyn1Rotate(KreisDyn1, α, KreisFix3) → KreisDyn2Point(d) → KreisTachoEndCircle(FlockeAnimPos, sizeFlocke) → FlockeAnimBoxRotate(FlockeAnimPos + (0, (-sizeFlocke)), (-99.94°) / 2 + (360° * anim4), FlockeAnimPos) → FlockeAnimIMG1Rotate(FlockeAnimIMG1, 99.94°, FlockeAnimPos) → FlockeAnimIMG2Rotate(FlockeAnimEnd + (0, (-sizeFlocke)), (-99.94°) / 2, FlockeAnimEnd) → FlockeFixIMG1Rotate(FlockeFixIMG1, 99.94°, FlockeAnimEnd) → FlockeFixIMG2Text(textCountCorrect, PosCounterTxt, false, true, 0, 0) → CounterTxtRotate(FlockeHighscorePos + (0, (-sizeFlocke)), (-99.94°) / 2, FlockeHighscorePos) → FlockeHighscoreIMG1Rotate(FlockeHighscoreIMG1, 99.94°, FlockeHighscorePos) → FlockeHighscoreIMG2Circle(HighscoreAnimCenter, sizeHighscoreAnim1) → CircHighscoreAnim1Circle(HighscoreAnimCenter, sizeHighscoreAnim2) → CircHighscoreAnim2Rotate(HighscoreAnimCenter + (0, sizeHighscoreAnim1), (-360° * anim5), HighscoreAnimCenter) → HighscoreAnimAnchorSequence(Rotate[HighscoreAnimAnchor, (360° * i / 8), HighscoreAnimCenter], i, 0, 7) → HighscoreAnimPL1Rotate(HighscoreAnimCenter + (0, sizeHighscoreAnim2), (-360° * anim5), HighscoreAnimCenter) → HighscoreAnimAnchor2Sequence(Rotate[HighscoreAnimAnchor2, (360° * i / 8) + (360°) / 16, HighscoreAnimCenter], i, 0, 7) → HighscoreAnimPL2Sequence(If[Mod[i, 2] ≟ 0, HighscoreAnimPL1(floor(i / 2)), HighscoreAnimPL2(floor(i / 2))], i, 2, 17) → HighscoreAnimPLMasterPolygon(HighscoreAnimPLMaster) → Vieleck1SpeechBubbleRight(POSSpeechBubble1, 7.5, 1.8) → SpeechBubble1Text(correctText, POScorrectTextReal, false, true, 0, 0) → correctTextRealIf(end ∧ lap > 1 ∧ showButtonNochmal ∧ correctCount ≤ highscore, Text11, end ∧ lap > 1 ∧ showButtonNochmal ∧ correctCount > highscore, Text10, Text6) → TextMasterOutlineIf(left, PosSpeechEnd1 + (0, dfCone), PosSpeechEnd2 + (0, dfCone)) → PosSpeechEnd5If(left, PosSpeechEnd1 + (dfCone, 0), PosSpeechEnd2 + ((-dfCone), 0)) → PosSpeechEnd6If(left, {PolyLine[{POSSpeechBubbleEndL, PosSpeechEnd6, PosSpeechEnd2, PosSpeechEnd3, PosSpeechEnd4, PosSpeechEnd5, POSSpeechBubbleEndL}]}, {PolyLine[{POSSpeechBubbleEndR, PosSpeechEnd6, PosSpeechEnd1, PosSpeechEnd4, PosSpeechEnd3, PosSpeechEnd5, POSSpeechBubbleEndR}]}) → SpeechBubbleEndIf(left, {Polygon[{POSSpeechBubbleEndL, PosSpeechEnd6, PosSpeechEnd2, PosSpeechEnd3, PosSpeechEnd4, PosSpeechEnd5, POSSpeechBubbleEndL}]}, {Polygon[{POSSpeechBubbleEndR, PosSpeechEnd6, PosSpeechEnd1, PosSpeechEnd4, PosSpeechEnd3, PosSpeechEnd5, POSSpeechBubbleEndR}]}) → SpeechBubbleEndAreaCorner(TextEndAbstandFlocke1, 2) → HelperAbstandFlocke1Corner(TextEndAbstandFlocke2, 2) → HelperAbstandFlocke2If(left, EndTxtPosL, EndTxtPosR) → EndTxtMasterCorner(TextEndAbstandFlocke3, 2) → HelperAbstandFlocke3Corner(TextEndAbstandFlocke4, 2) → HelperAbstandFlocke4Text((("$\textsf{" * highscore) * "}$"), FlockeHighscorePos + (1, 0), false, true, 0, 0) → Text7Text("$\textsf{HIGHSCORE}$", FlockeHighscorePos + (1.4, 0), false, true, 1, 0) → Text8Text("$\textsf{SCORE}$", FlockeAnimEnd - (1.7, 0), false, true, -1, 0) → Text9