整数除以分数的可视化演示 by John Ulbright

整数除以分数的可视化演示 by John Ulbright
几何画板及绘图内容加载中,请稍等……
2016-12-19 06:03
该范例通过动态图形直观演示整数除以分数的过程,将抽象的除法运算转化为可视化的分组与移动。核心数学概念是分数除法,即“除以一个分数等于乘以它的倒数”,并通过图形分组展示这一等价关系。作图要点包括:使用GeoGebra的Sequence、Flatten、Sort等命令生成并排列圆点或扇形,通过Textfield和InputBox提供交互输入,利用Segment、Text、If、Point等构建动态图形,配合按钮(button1/2/3)控制步骤和透明度,实现逐步演示。适合小学高年级至初中学生理解分数除法,也可用于教师课堂演示或学生自主探索。

GeoGebra 命令及参数

  1. Sequence(Point[{(3 * i) - (1.5 * (dividend - 1)), 0}], i, 0, dividend - 1) → circleCenters
  2. Flatten(Sequence[Sequence[Element[circleCenters, j], i, 1, den], j, 1, dividend]) → repeatedCenters
  3. Sequence(Point[{(-1.5 * (dividend - 1)) + (3 * Mod[i, dWidth]), -3 - (3 * Div[i, dWidth])}], i, 0, (den * dividend) - 1) → destinationCenters
  4. Sort(Sequence[(x(Element[Reverse[destinationCenters], i]), i), i, 1, Length[destinationCenters]]) → dc_h
  5. Sequence(Element[Reverse[destinationCenters], y(Element[dc_h, i])], i, 1, Length[destinationCenters]) → dc_s
  6. First(destinationCenters, numberFinalGroups) → fgc2
  7. Flatten(Sequence[Sequence[Element[fgc2, i], j, 1, num], i, 1, Length[fgc2]]) → realFGC
  8. Textfield(dividendText) → InputBox1
  9. Textfield(numText) → InputBox2
  10. Textfield(denText) → InputBox3
  11. Sequence(Circle[Element[circleCenters, i], 1], i, 1, dividend) → circles
  12. Sequence((Element[repeatedCenters, i] * (1 - wedgeMover)) + (Element[dc_s, i] * wedgeMover), i, 1, (den * dividend)) → movingCenters
  13. Sequence(Sequence[Sector[Element[circles, i], ((2 * π / den) * j), ((2 * π / den) * (j + 1))], j, 1, den], i, 1, dividend) → wedges
  14. Sequence(Circle[Element[movingCenters, i], 1], i, 1, (den * dividend)) → movingCircles
  15. Sequence((Element[dc_s, i] * (1 - wedgemover2)) + (Element[realFGC, i] * wedgemover2), i, 1, (den * dividend)) → secondMovingCenters
  16. Sequence(Sector[Element[movingCircles, i], ((i * 2) * π / den), (((i + 1) * 2) * π / den)], i, 1, (den * dividend)) → movingWedges
  17. Sequence(Take[destinationCenters, i, i + num - 1], i, 1, (den * dividend), num) → finalGroupedCenters
  18. Sequence(Circle[Element[secondMovingCenters, i], 1], i, 1, (den * dividend)) → secondMovingCircles
  19. Sequence(Sector[Element[secondMovingCircles, i], ((i * 2) * π / den), (((i + 1) * 2) * π / den)], i, 1, (den * dividend)) → movingWedges2
  20. Segment(A, B) → f
  21. Text(floor((den * dividend / num))) → wholeNumber
  22. If(floor((den * dividend / num)) ≟ (den * dividend / num), "", FractionText[(den * dividend / num) - floor((den * dividend / num))]) → fraction
  23. Point({0, (top + bottom) / 2}) → center