Moving Place Value

Moving Place Value
Loading the math board and drawing, please wait…
2019-08-16 22:12
This example demonstrates the process of moving place values. Key mathematical concepts include place value and number representation. Using GeoGebra commands such as Take, Sequence, and Zip, the example dynamically shows the changes in place values. Suitable for high-grade elementary or junior high school students to learn about number representation and place value concepts.

GeoGebra Commands & Parameters

  1. Take({millions, hundredThousands, tenThousands, thousands, hundreds, tens, ones, tenths, hundredths, thousandths}, firstNonZero, lastNonZero) → centralText
  2. Sequence(Max[Sequence[If[floor(Element[newList, i] / 10^(j)) ≟ Element[newList, i] / 10^(j), j, 0], j, 0, ceil(log(10, Element[newList, i]))]], i, 1, Length[newList]) → neededZerosLeftHelper
  3. Zip(If[Defined[AAA], AAA, 0], AAA, neededZerosLeftHelper) → neededZerosLeft
  4. Zip(If[BBB < 1, abs(BBB), 0], BBB, Zip[ceil(log(10, AAA)), AAA, newList]) → neededZerosRight
  5. Sequence(Polygon[(i, 0), (i + 1, 0), 4], i, -7, 2) → boxes
  6. Sequence(Text[Element[{millions, hundredThousands, tenThousands, thousands, hundreds, tens, ones, tenths, hundredths, thousandths}, i], Centroid[Element[boxes, i]] + adjuster], i, 1, 10) → startingSet
  7. Sequence(Sequence[Text[0, Element[locations, i, Length[centralText]] + (j, 0)], j, 1, Element[neededZerosLeft, i]], i, 1, Length[newList] - (mover < 1)) → zerosLeft
  8. Sequence(Sequence[Text[0, Element[locations, i, 1] - (j, 0)], j, 1, Element[neededZerosRight, i]], i, 1, Length[newList] - (mover < 1)) → zerosRight
  9. If(Length[locations] > 0, Last[locations], {(999, 999)}) → targetPoints
  10. Zip(Centroid[AAA] + adjuster, AAA, boxes) → boxCentroids
  11. Zip((AAA * (1 - mover)) + (BBB * mover), AAA, Element[locations, Length[locations] - 1], BBB, Element[locations, Length[locations]]) → movingPoints
  12. Zip(Text[AAA, BBB], AAA, centralText, BBB, movingPoints) → movingText
  13. First(zerosLeft, Length[zerosLeft]) → showZerosLeft
  14. Sequence(Point[{0, ((-vertSpacing) * i) + 0.15}], i, 0, If[(¬started) ∨ fakeStart, 0, Length[locations] - 1]) → decimalPoints