从位值构建数字

从位值构建数字
几何画板及绘图内容加载中,请稍等……
2019-04-23 20:33
这个范例演示如何根据位值构建数字。核心数学概念包括位值制和数字表示。通过使用GeoGebra命令如If, Sequence, Flatten等,可以动态展示数字的构建过程。适合小学高年级和初中学生学习数字概念和位值制。

GeoGebra 命令及参数

  1. If(IsInteger[FromBase[onesText, 10]], FromBase[onesText, 10], 0) → ones
  2. If(IsInteger[FromBase[tensText, 10]], FromBase[tensText, 10], 0) → tens
  3. If(IsInteger[FromBase[hundredsText, 10]], FromBase[hundredsText, 10], 0) → hundreds
  4. Sequence(Point[{(11 * hundreds) + (2 * tens) + (2 * Div[i, 5]), (2 * Mod[i, 5])}], i, 0, ones - 1) → origOnes
  5. Sequence(Sequence[Point[{(11 * hundreds) + (2 * k), j}], j, 0, 9], k, 0, tens - 1) → origTens
  6. Sequence(Sequence[Sequence[Point[{i + (11 * k), j}], j, 0, 9], i, 0, 9], k, 0, hundreds - 1) → origHundreds
  7. Flatten({origHundreds, origTens, origOnes}) → orig
  8. Sequence(Point[{(11 * Div[number, 100]) + (2 * Div[number - (100 * Div[number, 100]), 10]) + (2 * Div[i, 5]), (2 * Mod[i, 5])}], i, 0, Mod[number, 10] - 1) → properOnes
  9. Sequence(Sequence[Point[{(11 * Div[number, 100]) + (2 * k), j}], j, 0, 9], k, 0, Div[number - (100 * Div[number, 100]), 10] - 1) → properTens
  10. Sequence(Sequence[Sequence[Point[{i + (11 * k), j}], j, 0, 9], i, 0, 9], k, 0, Div[number, 100] - 1) → properHundreds
  11. Flatten({properHundreds, properTens, properOnes}) → proper
  12. If(number ≟ 0, 1, Max[{x(Element[orig, number]), x(Element[proper, number])}] + 1) → maxX
  13. Textfield(hundredsText) → InputBox1
  14. Textfield(tensText) → InputBox2
  15. Textfield(onesText) → InputBox3
  16. Zip((AAA * (1 - mover)) + (BBB * mover), AAA, old, BBB, new) → moving
  17. Zip(Polygon[AAA, AAA + (1, 0), 4], AAA, moving) → l1
  18. Polygon(A, B, C, D) → q1, a, b, c, d
  19. If(number ≟ 0, {(-1, -1)}, First[Flatten[Sequence[Sequence[Point[{i, j}], i, 0, maxX - 1, 2], j, 0, (3 * ceil((2 * number / maxX))) - 1, 2]], number]) → altOnes
  20. If(number ≟ 0, {}, Zip[x(AAAA), AAAA, altOnes]) → onesXs
  21. If(number ≟ 0, {}, Sort[altOnes, onesXs]) → altOnes2
  22. If(number ≟ 0, 1, Element[Zip[y(AAA), AAA, altOnes], Length[altOnes]]) → maxYFromOnes
  23. Max(maxX, (16 / 11 * maxY)) → scaledX
  24. Max(maxY, (11 / 16 * maxX)) → scaledY