FLINK-Mobil 整数减法练习

FLINK-Mobil 整数减法练习
几何画板及绘图内容加载中,请稍等……
2025-04-29 01:31
这个范例演示了整数减法的图形化练习。涉及的核心数学概念是整数减法。作图要点——从下方『构造摘要』提炼用到了哪些 GeoGebra 命令/对象:Join, Point, Sequence, IndexOf, Shuffle, Zip, If, Textfield, Append, Remove, Element, Segment; 对象: questionCount, listTypes, showZiehMich, nummin, nummax, Start, End, listPointsMobil, PMobil, heightnum, height, type, randomNosForX1, randomNosForY1, numY1, numX1, randomNosForX2, randomNosForY2, numY2, numY, numX2, numX, sol, End

GeoGebra 命令及参数

  1. Join(Sequence[Shuffle[Sequence[1, 4]], m, 1, 40]) → listTypes
  2. Point(Line[Start, yAxis]) → End
  3. Sequence(Start + (3, 0.78) + (m * (0, Distance[Start, End] / (nummax - nummin))), m, 0, nummax - nummin) → listPointsMobil
  4. Point(listPointsMobil) → PMobil
  5. IndexOf(PMobil, listPointsMobil) → heightnum
  6. Shuffle(Sequence[Random[-20, -1], i, 1, 100]) → randomNosForX1, {-1, -14, -4, -14, -20, -5, -12, -19, -8, -10, -16, -10, -16, -12, -6, -10, -18, -12, -11, -3, -1, -17, -15, -19, -19, -11, -17, -1, -14, -13, -16, -7, -18, -9, -2, -5, -12, -13, -18, -16, -12, -7, -9, -9, -16, -8, -3, -1, -6, -17, -1, -3, -2, -13, -2, -15, -14, -9, -13, -5, -5, -8, -5, -17, -5, -10, -8, -1, -2, -14, -4, -13, -13, -16, -12, -11, -7, -9, -20, -12, -3, -4, -11, -8, -4, -14, -17, -3, -3, -8, -8, -7, -11, -4, -7, -7, -2, -8, -13, -16}
  7. Zip(Random[1, nummax - m], m, randomNosForX1) → randomNosForY1
  8. Shuffle(Sequence[Random[-19, 5], i, 1, 100]) → randomNosForX2, {-19, -4, -17, 3, 2, -4, -6, -11, -14, -19, -16, -6, -17, 2, -13, -12, -5, 3, 0, 2, -9, -10, -12, 5, -18, -10, -8, -10, -5, -10, -9, 5, 5, -15, -11, -16, -18, -12, -14, 4, 0, 4, -4, -11, -18, -12, -5, 5, 2, 4, 0, -18, 3, -13, -4, 2, 3, 2, -9, -9, -12, 3, 5, -5, -13, -12, -4, -3, 3, -15, -3, -10, -14, -3, -3, 4, -9, 5, -4, -5, -6, -14, 5, -12, -5, -1, 5, -11, 0, 2, 1, 1, -6, -3, 2, -4, 0, -8, 0, -4}
  9. Zip(If[m > 0, Random[nummin - m, (-m)], RandomElement[Sequence[nummin - m, -1] \ {0}]], m, randomNosForX2) → randomNosForY2
  10. If(type ∈ {1, 3}, numY1, numY2) → numY
  11. If(type ∈ {1, 3}, numX1, numX2) → numX
  12. Point(Line[Start, yAxis]) → End2
  13. Sequence(Start + (m * (0, (10 * Distance[Start, End] / (nummax - nummin)))), m, 0, 2) → listPointsBig
  14. Point(Line[Start + (0, -0.5), xAxis]) → UW1
  15. Textfield(input1) → Eingabefeld1
  16. Textfield(input2) → Eingabefeld2
  17. Shuffle(Sequence[Random[0, 10], i, 1, 100]) → randomNosForX, {10, 8, 5, 2, 9, 10, 7, 1, 0, 7, 9, 9, 2, 3, 10, 8, 2, 6, 0, 8, 0, 4, 6, 8, 9, 8, 5, 5, 10, 0, 9, 1, 9, 0, 0, 1, 3, 0, 0, 5, 0, 0, 0, 9, 8, 8, 2, 6, 9, 1, 6, 1, 4, 8, 6, 1, 5, 8, 7, 1, 1, 5, 8, 10, 4, 5, 10, 2, 2, 0, 1, 6, 7, 10, 0, 5, 10, 8, 0, 4, 6, 0, 0, 2, 0, 8, 0, 0, 8, 6, 9, 8, 3, 9, 1, 0, 3, 2, 0, 9}
  18. Shuffle(Sequence[Random[0, 10], i, 1, 100]) → randomNosForY, {10, 2, 6, 1, 3, 3, 8, 1, 0, 0, 0, 0, 7, 5, 10, 9, 0, 2, 6, 10, 6, 10, 9, 6, 6, 2, 7, 3, 0, 2, 9, 6, 0, 6, 7, 3, 9, 4, 3, 4, 6, 2, 3, 8, 8, 0, 9, 1, 4, 7, 4, 0, 1, 1, 3, 3, 7, 3, 2, 0, 3, 1, 2, 1, 10, 10, 7, 3, 0, 9, 4, 3, 7, 0, 4, 5, 3, 9, 0, 8, 6, 0, 9, 2, 2, 1, 0, 6, 1, 3, 8, 10, 7, 4, 1, 8, 10, 1, 8, 4}
  19. Append(true, Sequence[If[randomNosForX(i) ≟ randomNosForX(i - 1), false, true], i, 2, 100]) → stayX
  20. Append(true, Sequence[If[randomNosForY(i) ≟ randomNosForY(i - 1), false, true], i, 2, 100]) → stayY
  21. Remove(Sequence[If[stayX(i), randomNosForX(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForXwithoutRepeat
  22. Remove(Sequence[If[stayY(i), randomNosForY(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForYwithoutRepeat
  23. Element(randomNosForXwithoutRepeat, Mod[questionCount, Length[randomNosForXwithoutRepeat]] + 1) → numXwithoutRepeat
  24. Element(randomNosForYwithoutRepeat, Mod[questionCount, Length[randomNosForYwithoutRepeat]] + 1) → numYwithoutRepeat
  25. 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
  26. Segment(Dilate[Start, 1.1, Midpoint[Start, End]], End2) → line
  27. Zip(Segment[P + ((-linesizesmall), 0), P + (linesizesmall, 0)], P, listPointsSmall) → listLinesSmall
  28. Zip(Segment[P + ((-linesizebig), 0), P + (linesizebig, 0)], P, listPointsBig) → listLinesBig
  29. Zip(Text[(("\textsf{" * m) * " }"), P + (0, -0.4), true, true, -1], m, {"--20", "--15", "--10", "--5", "0", "5"}, P, Sort[Join[{listPointsBig, listPointsSmall}]]) → listText
  30. Sequence(Start + (m * (0, Distance[Start, End] / (nummax - nummin))), m, 0, nummax - nummin) → listPoints
  31. Point(Line[Lautsprecher1, xAxis]) → Lautsprecher2
  32. Join({Sequence[Segment[Corner[4] + (RasterPixMat * ((k * RasterStepXY), 0)), Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY))], k, RasterMaxX / RasterStepXY, RasterMaxX / RasterStepXY], Sequence[Segment[Corner[4] + (RasterPixMat * (0, (k * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], k, RasterMaxY / RasterStepXY, RasterMaxY / RasterStepXY]}) → RasterAussen
  33. Point(Line[Mobil1, xAxis]) → Mobil2