两位数减法(借位)互动演示

两位数减法(借位)互动演示
几何画板及绘图内容加载中,请稍等……
2018-09-02 12:21
该范例演示了两位数减法(含借位)的直观操作过程,通过可交互的按钮和文本框,帮助学习者理解个位与十位的分解与借位逻辑。核心数学概念是整数的位值制与减法运算,特别是当个位不够减时需要从十位借1当10的规则。作图要点:使用GeoGebra的Div、Mod命令进行数字分解,Segment、Corner构建数位显示区域,If和Sequence控制条件与序列,Textfield和按钮实现用户输入与交互,对象如munits、ntens、nunits等分别表示个位和十位的数值,通过diff、atens等变量计算差值并动态更新显示。适合小学低年级数学教学或自学,也可用于教师制作互动课件,帮助学生直观掌握借位减法的步骤。

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 绘图提示语参考

绘制一个两位数减法借位演示图。上方显示被减数和减数,分别用十位和个位的方块表示,每个方块代表一个单位。当个位不够减时,从十位借一,用斜线划去一个十位方块,并在个位区域增加十个单位方块。下方显示结果,十位和个位分别用方块表示,并配有输入框供用户填写答案。图中用箭头或线段指示借位过程,并用不同颜色区分被减数、减数和结果。整体布局清晰,适合教学演示。
以上提示语为根据原始绘图命令整理而来,仅供参考。