分组计数:如何分组?——可视化除法与乘法

分组计数:如何分组?——可视化除法与乘法
几何画板及绘图内容加载中,请稍等……
2017-01-26 22:06
该范例通过动态分组的方式,直观演示了“总数一定时,按每组数量分组”的数学过程,即除法与乘法的互逆关系。核心概念包括除法、乘法、因数、倍数以及分组计数。作图要点:利用GeoGebra的Random、Sequence、Sort等命令生成随机点集,通过Div、If、Zip等命令计算分组数并分配元素,使用Textfield和InputBox1让用户输入每组数量,通过按钮和滑块控制显示答案与分组动画,最终以多边形和点阵形式呈现分组结果。适合小学中高年级或初中低年级学生理解除法意义,也可用于教师课堂演示分组策略和因数概念。

GeoGebra 命令及参数

  1. Element({11, 17, 25}, max) → boundary
  2. Random(Element[{2, 20, 50}, max] + 1, Element[{20, 50, 120}, max]) → number
  3. First(Shuffle[Flatten[Sequence[Sequence[Point[{i, j}], i, 0, boundary, 2], j, 0, boundary, 2]]], number) → origPoints
  4. Sequence(Distance[(0, 0), Element[origPoints, i]], i, 1, number) → origPointsDist
  5. Sort(origPoints, origPointsDist) → sortedOrig
  6. If(groupSize > 0, Div[number, groupSize], 0) → groupsNeeded
  7. If(groupSize ≟ 0 ∨ (¬Defined[groupSize]), {}, If[groupSize ≟ 5, {(0, 0), (1, 0), (2, 0), (3, 0), (4, 0)}, If[groupSize ≟ 10, {(0, 0), (1, 0), (2, 0), (3, 0), (4, 0), (0, 1), (1, 1), (2, 1), (3, 1), (4, 1)}, First[Flatten[Sequence[Sequence[Point[{i, j}], i, 0, ceil(groupSize^(0.5)) - 1], j, 0, ceil(groupSize^(0.5)) - 1]], groupSize]]]) → groupedSet
  8. If(Defined[groupSize] ∧ groupSize > 0, Max[Zip[x(AAA), AAA, groupedSet]] + 1, 0) → groupX
  9. If(groupSize > 0 ∧ Defined[groupSize], Max[Zip[y(AAA), AAA, groupedSet]] + 1, 0) → groupY
  10. Div(boundary, groupX + 1) → horizontalGroups
  11. Div(boundary, groupY + 1) → verticalGroups
  12. If(groupSize ≥ 1, First[Flatten[Sequence[Sequence[groupedSet + ((i * (groupX + 1)), (j * (groupY + 1))), i, 0, horizontalGroups - 1], j, 0, verticalGroups]], (groupSize * groupsNeeded)], {}) → groupedAnchors
  13. Zip(Distance[AAA, (0, 0)], AAA, groupedAnchors) → groupedDist
  14. If(groupSize > 0 ∧ groupSize ≤ number, Max[Zip[y(AAA), AAA, groupedAnchors]] + 2, 0) → singlesStarter
  15. Zip(Polygon[AAA, AAA + (1, 0), 4], AAA, movingPoints) → movingPolygons
  16. Textfield(groupSize) → InputBox1
  17. If(groupSize ≟ 0 ∨ groupSize ≟ 1 ∨ (¬Defined[groupSize]), {}, First[Flatten[Sequence[Sequence[Point[{i, j}], i, 0, boundary - 1, 2], j, singlesStarter, boundary - 1, 2]], number - (groupsNeeded * groupSize)]) → singles
  18. If(¬Defined[groupSize], sortedOrig, If[groupSize > 0 ∧ groupSize ≤ number, Sort[groupedAnchors, groupedDist], {}]) → sortedGroup

AI 绘图提示语参考

画一个由随机点组成的图形,用户可以设置每组点的数量。首先随机生成一定数量的点,然后根据用户设置的组数将这些点分成若干组,每组点的数量相等。如果用户设置的组数为0或1,则直接显示所有点。如果组数大于0且小于等于总点数,则将点分成组,并用多边形表示每组点。最后,根据组数调整点的位置,显示分组后的图形。
以上提示语为根据原始绘图命令整理而来,仅供参考。