两位数减法可视化演示(个位与十位分解)

两位数减法可视化演示(个位与十位分解)
几何画板及绘图内容加载中,请稍等……
2018-05-26 20:01
① 本范例通过动态图形和交互按钮,直观演示两位数减法的过程,将减法拆分为个位与十位的分别计算,并显示借位(退位)操作。② 核心数学概念是整数的位值制、减法运算、借位规则,以及差值的可视化表示。③ 作图要点:使用GeoGebra的Div、Mod命令分解十位和个位,通过Sequence生成数字序列,用Segment和Corner构建位值块(如十位条和个位块),利用Textfield和按钮(button1_1等)实现用户输入和交互,If条件判断控制借位逻辑,最终通过文本和图形同步显示结果。④ 适合小学低年级(1-3年级)数学教学,用于理解竖式减法和位值概念,也可作为教师演示工具或学生自主探索的互动课件。

GeoGebra 命令及参数

  1. Div(diff, 10) → atens
  2. Segment(A, B) → f
  3. If(nunits > munits, mtens - 1, mtens) → ntensmax
  4. If(ntens ≟ mtens, munits - 1, 9) → nunitsmax
  5. Sequence(Polygon[{C' + (0, i), C' + (1, i), C' + (1, i + 1), C' + (0, i + 1)}], i, 0, munits - 1) → L_1
  6. Sequence(Polygon[{D + (0, i), D + (1, i), D + (1, i + 1), D + (0, i + 1)}], i, 0, nunits - 1) → L_3
  7. Sequence(Sequence[Polygon[{D + (((-(1 + d)) * j), i), D + (1 - ((1 + d) * j), i), D + (1 - ((1 + d) * j), i + 1), D + (((-(1 + d)) * j), i + 1)}], i, 0, 9], j, 1, ntens) → L_4
  8. If(nunits > munits, C' + (-2, 10), C' + (0, munits)) → C0
  9. If((t2 * nunits) ≤ munits, (0, 0), (-2, 10 - munits)) → C1
  10. Segment(E, F) → g
  11. Sequence(Sequence[Polygon[{C' + (((-(1 + d)) * j), i), C' + (1 - ((1 + d) * j), i), C' + (1 - ((1 + d) * j), i + 1), C' + (((-(1 + d)) * j), i + 1)}], i, 0, 9], j, 2, mtens) → L_2
  12. Sequence(Polygon[{C' + ((-(1 + d)), i), C' + (1 - (1 + d), i), C' + (1 - (1 + d), i + 1), C' + ((-(1 + d)), i + 1)}], i, 0, 9) → L_7
  13. Sequence(Segment[D0 + (-0.2, (-j) - 0.2), D0 + (1.2, (-(j - 1)) + 0.2)], j, 1, (t2 * nunits)) → L_5
  14. Corner(text1, 1) → G
  15. Corner(text1, 3) → H
  16. Segment(G + (0, (y(H) - y(G)) / 4), H + (0, (y(G) - y(H)) / 6)) → h
  17. Segment(I - (0.02, 0.2), I + (1.02, 10.2)) → i
  18. Segment(J - (0.02, 0.2), J + (1.02, 10.2)) → j
  19. Mod(diff, 10) → aunits
  20. Sequence(Polygon[{C2 + (0, i), C2 + (1, i), C2 + (1, i + 1), C2 + (0, i + 1)}], i, 0, If[nunits > munits, 10 - nunits - 1, munits - nunits - 1]) → L_{10}
  21. Sequence(Sequence[Polygon[{C2' + (((-(1 + d)) * j), i), C2' + (1 - ((1 + d) * j), i), C2' + (1 - ((1 + d) * j), i + 1), C2' + (((-(1 + d)) * j), i + 1)}], i, 0, 9], j, 1, atens) → L_{12}
  22. Textfield(ansunits) → InputBox1
  23. Textfield(anstens) → InputBox2
  24. Corner(text2, 1) → L
  25. Corner(text2, 3) → M
  26. Segment(L + (0, (y(M) - y(L)) / 4), M + (0, (y(L) - y(M)) / 6)) → k
  27. If(ansunits ≟ "", true, false) → notinput1
  28. If(ansunits ≟ aunits', true, false) → correct1
  29. If(anstens ≟ "", true, false) → notinput2
  30. If(anstens ≟ atens', true, false) → correct2
  31. If(nunits > munits, 1, 0) → s1
  32. If(nunits > 0, 1, 0) → s2
  33. If(aunits > 0, 1, 0) → s3
  34. If(ntens > 0, 1, 0) → s4
  35. If(atens > 0, 1, 0) → s5
  36. If(t1 + t2 + t3 + t4 + t5 ≟ s1 + s2 + s3 + s4 + s5, true, false) → finished
  37. Sequence(Translate[j, Vector[(k * Vector[(-2, 0)])]], k, 0, (t4 * ntens) - 1) → L_9
  38. Sequence(Translate[i, Vector[(j * Vector[(-2, 0)])]], j, 0, (t4 * ntens) - 1) → L_8
  39. Sequence(Segment[C0 + (-0.2, (-j) - 0.2), C0 + (1.2, (-(j - 1)) + 0.2)], j, 1, (t2 * nunits)) → L_6
  40. Sequence(Polygon[{C3' + (0, i), C3' + (1, i), C3' + (1, i + 1), C3' + (0, i + 1)}], i, 0, munits - 1) → L_{14}

AI 绘图提示语参考

绘制一个两位数减法竖式教学图,展示借位分解过程。左侧用方块表示被减数的十位和个位,右侧用方块表示减数,下方显示差值。当个位不够减时,从十位借一,用斜线划掉被借的方块,并在个位上方添加十个方块。图中包含两个输入框,用于填写十位和个位的结果,并有按钮控制步骤。用不同颜色区分十位和个位,并用箭头或线段指示借位方向。整体布局清晰,适合小学生理解。
以上提示语为根据原始绘图命令整理而来,仅供参考。