不规则分数的面积模型

不规则分数的面积模型
几何画板及绘图内容加载中,请稍等……
2013-06-28 04:46
本范例通过圆形和矩形展示了不规则分数的两种面积模型。用户可以通过滑块调整分数的分子和分母,观察相应的图形变化。该范例涉及的核心数学概念包括分数、几何作图和滑块动画。通过使用GeoGebra命令如Point、Rotate、CircleSector、Polygon等,用户可以直观地理解不规则分数的概念。适合小学高年级至初中学生使用,有助于加深对分数的理解。

GeoGebra 命令及参数

  1. Point(Circle[M, 1]) → Q
  2. Point(Circle[N, 1]) → R
  3. Point(Circle[L_1, 0.02]) → U_1
  4. Point(Circle[U_1, 0.5]) → V_1
  5. Rotate(C_2, angle, Center1) → D_2
  6. CircleSector(Center1, C_2, D_2) → circle1sector
  7. Rotate(C_2, (360 / denom1)°, Center1) → B_2
  8. Polygon((x(Center1) - 0.09, y(Center1) - 0.07), (x(Center1) - 0.09 + (0.18 * (val1 - floor(val1))), y(Center1) - 0.07), (x(Center1) - 0.09 + (0.18 * (val1 - floor(val1))), y(Center1) + 0.07), (x(Center1) - 0.09, y(Center1) + 0.07)) → rect1shadePartial, g, h, i, j
  9. Polygon((Element[Position, 1], 0) + (-0.09, yRow1 - 0.07), (Element[Position, 1], 0) + (0.09, yRow1 - 0.07), (Element[Position, 1], 0) + (0.09, yRow1 + 0.07), (Element[Position, 1], 0) + (-0.09, yRow1 + 0.07)) → rect1outline1, c, d, e, f
  10. Sequence(Sequence[Segment[Rotate[(k, 0.525), ((360 / denom1 * i))°, (k, 0.525)], Rotate[(k, 0.525) + (0, CircleDiameters), ((360 * i / denom1))°, (k, 0.525)]], i, 0, denom1], k, 0.1, If[val1 ≥ 5, 0.9, Element[Position, ceil(val1)]], 0.2) → circle1div1
  11. If(val1 ≤ 5, Sequence[Circle[(i, yRow1), CircleDiameters], i, 0.1, Element[Position, If[val1 ≠ round(val1), floor(val1), ceil(val1)]], 0.2], Sequence[Circle[(i, yRow1), CircleDiameters], i, 0.1, Element[Position, 5], 0.2]) → circle1fill1
  12. If(val1 ≤ 5, Sequence[Circle[(i, yRow1), CircleDiameters], i, 0.1, Element[Position, ceil(val1)], 0.2], Sequence[Circle[(i, yRow1), CircleDiameters], i, 0.1, Element[Position, 5], 0.2]) → circle1outline1
  13. If(val1 ≤ 10, Sequence[Circle[(i, yRow2), CircleDiameters], i, 0.1, Element[Position, floor(val1)], 0.2], Sequence[Circle[(i, yRow2), CircleDiameters], i, 0.1, Element[Position, 5], 0.2]) → circle1fill2
  14. Sequence(Sequence[Segment[Rotate[(k, yRow2), ((360 / denom1 * i))°, (k, yRow2)], Rotate[(k, yRow2) + (0, CircleDiameters), ((360 * i / denom1))°, (k, yRow2)]], i, 0, denom1], k, 0.1, Element[Position, ceil(val1)], 0.2) → circle1div2
  15. If(val1 ≤ 10, Sequence[Circle[(i, yRow2), CircleDiameters], i, 0.1, Element[Position, ceil(val1)], 0.2], Sequence[Circle[(i, yRow2), CircleDiameters], i, 0.1, Element[Position, 10], 0.2]) → circle1outline2
  16. If(val1 ≤ 15, Sequence[Circle[(i, yRow3), CircleDiameters], i, 0.1, Element[Position, If[val1 ≠ round(val1), floor(val1), ceil(val1)]], 0.2], Sequence[Circle[(i, yRow3), CircleDiameters], i, 0.1, Element[Position, 15], 0.2]) → circle1fill3
  17. If(val1 ≤ 15, Sequence[Circle[(i, yRow3), CircleDiameters], i, 0.1, Element[Position, ceil(val1)], 0.2], Sequence[Circle[(i, yRow3), CircleDiameters], i, 0.1, Element[Position, 15], 0.2]) → circle1outline3
  18. If(val1 ≤ 20, Sequence[Circle[(i, yRow4), CircleDiameters], i, 0.1, Element[Position, ceil(val1)], 0.2], Sequence[Circle[(i, yRow4), CircleDiameters], i, 0.1, Element[Position, 20], 0.2]) → circle1outline4
  19. If(val1 ≤ 20, Sequence[Circle[(i, yRow4), CircleDiameters], i, 0.1, Element[Position, If[val1 ≠ round(val1), floor(val1), ceil(val1)]], 0.2], Sequence[Circle[(i, yRow4), CircleDiameters], i, 0.1, Element[Position, 20], 0.2]) → circle1fill4
  20. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow1 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow1 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow1 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow1 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val1 ≤ 5, ceil(val1), 5]], 0.2) → rect1outline1Seq
  21. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow3 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow3 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow3 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow3 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val1 ≤ 15, ceil(val1), 15]], 0.2) → rect1outline3Seq
  22. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow4 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow4 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow4 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow4 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val1 ≤ 20, ceil(val1), 20]], 0.2) → rect1outline4Seq
  23. Sequence(Sequence[Segment[(k - 0.09 + (0.18 / denom1 * i), yRow1 - 0.07), (k - 0.09 + (0.18 / denom1 * i), yRow1 + 0.07)], i, 1, denom1 - 1], k, 0.1, If[val1 ≥ 5, 0.9, Element[Position, ceil(val1)]], 0.2) → rect1div1
  24. Sequence(Sequence[Segment[(k - 0.09 + (0.18 / denom1 * i), yRow2 - 0.07), (k - 0.09 + (0.18 / denom1 * i), yRow2 + 0.07)], i, 1, denom1 - 1], k, 0.1, If[val1 ≥ 10, 0.9, Element[Position, ceil(val1)]], 0.2) → rect1div2
  25. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow1 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow1 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow1 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow1 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val1 ≤ 5, floor(val1), 5]], 0.2) → rect1shade1Seq
  26. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow2 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow2 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow2 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow2 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val1 < 10, floor(val1), 10]], 0.2) → rect1shade2Seq
  27. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow2 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow2 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow2 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow2 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val1 < 10, ceil(val1), 10]], 0.2) → rect1outline2Seq
  28. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow3 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow3 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow3 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow3 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val1 ≤ 15, floor(val1), 15]], 0.2) → rect1shade3Seq
  29. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow4 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow4 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow4 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow4 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val1 ≤ 20, floor(val1), 20]], 0.2) → rect1shade4Seq
  30. FractionText(num1 / denom1 - floor(num1 / denom1)) → MixNumFrac
  31. FractionText(num1 / denom1) → FracSimplist