Seeing Division: Interactive Partitive and Quotative Models

Seeing Division: Interactive Partitive and Quotative Models
Loading the math board and drawing, please wait…
2020-11-08 02:00
This GeoGebra example provides a dynamic visual demonstration of division through two complementary models: partitive (sharing into equal groups) and quotative (grouping by a fixed size). It uses animated dot arrays and bar charts to show how a dividend is split by a divisor, making the abstract operation tangible. Core mathematical concepts include division semantics, the relationship between division and multiplication, and the interpretation of remainders. The construction leverages GeoGebra commands such as If, First, Sequence, Flatten, Textfield, Max, Min, and Last, along with interactive input boxes, sliders, and timers to animate the grouping process. It is suitable for upper elementary and middle school students, as well as teachers seeking a visual aid for introducing division concepts, fostering conceptual understanding before procedural fluency.

GeoGebra Commands & Parameters

  1. If(a1 / a2 < 6, 1, If[a1 / a2 < 11, 2, 3]) → groupLayoutSizes2
  2. First(Flatten[Sequence[Sequence[Point[{i, j}], i, (0.5 * a1 / quotativeGPR), a1, a1 / quotativeGPR], j, ((-0.5 * a1)) / quotativeGPR - 1, ((-0.5 * a1)) / quotativeGPR - 1 - (a1 / quotativeGPR * (groupLayoutSizes2 - 1)), ((-a1)) / quotativeGPR]], q) → quotativeGroupCenters
  3. If(a2 > 2 ∧ q > 2, 0.5, 0.4) → polySize
  4. Sequence(Point[{i, 0}], i, 0, a1 - 1) → arrayPoints
  5. If(a2 < 6, 1, If[a2 < 11, 2, 3]) → groupLayoutSizes1
  6. Flatten(Sequence[Sequence[Point[{i, j}], i, (0.5 * a1 / partitiveGPR), a1, a1 / partitiveGPR], j, ((-0.5 * a1)) / partitiveGPR - 1, ((-0.5 * a1)) / partitiveGPR - 1 - (a1 / partitiveGPR * (groupLayoutSizes1 - 1)), ((-a1)) / partitiveGPR]) → partitiveGroupCenters
  7. Textfield(a1text) → InputBox0
  8. Textfield(a2text) → InputBox1
  9. Max(a1, a2) → arraySize
  10. Flatten(Sequence[Sequence[Element[partitiveGroupCenters, i] - (polySize / 2, polySize / 2) + (((1 - q) / q * (0.4 * a1 / partitiveGPR)) * (cos(((2 * π / q) * j)), sin(((2 * π / q) * j)))), j, 0, q - 1], i, 1, Length[partitiveGroupCenters]]) → partitiveGroupDots
  11. Min((-0.1 * a1), -2) → left
  12. If(c, (((-a1)) / partitiveGPR * groupLayoutSizes1) - 1, If[a, (((-a1)) / quotativeGPR * groupLayoutSizes2) - 1, 0]) → bottom
  13. Flatten(Sequence[Sequence[Element[quotativeGroupCenters, i] - (polySize / 2, polySize / 2) + (quotativeDistance * (cos(((2 * π / a2) * j) + π), sin(((2 * π / a2) * j) + π))), j, 0, a2 - 1], i, 1, Length[quotativeGroupCenters]]) → quotativeGroupDots
  14. Max((1.1 * a1), 2) → right
  15. Sequence((Element[arrayPoints, i] * (1 - timer2)) + (Element[quotativeGroupDots, i] * timer2), i, ((test - 1) * a2) + 1, (test * a2)) → movingQuotativeDots
  16. Sequence(Polygon[Element[arrayPoints, i], Element[arrayPoints, i] + (polySize, 0), 4], i, 1, a1) → fixedArrayPolys
  17. Last(fixedArrayPolys, a1 - (test * a2)) → quotativeRemainingPolys
  18. Last(fixedArrayPolys, a1 - (ms * a2)) → partitiveRemainingPolys
  19. If(a, quotativeDistance + 1 / 2, (0.5 * a1 / partitiveGPR) - 1 / 5) → PCS
  20. If(ms > 0, Sequence[Polygon[Element[movingPartitiveDots, i], Element[movingPartitiveDots, i] + (polySize, 0), 4], i, 1, Length[movingPartitiveDots]], {}) → movingPartitiveArrays
  21. Sequence(Sequence[Polygon[Element[partitiveGroupDots, i], Element[partitiveGroupDots, i] + (polySize, 0), 4], i, k, a1, q], k, 1, ms - 1) → partitiveGroupedPolys
  22. First(Sequence[Circle[Element[partitiveGroupCenters, i], PCS], i, 1, Length[partitiveGroupCenters]], circleTimer) → partitiveGroupCircles
  23. First(Sequence[Polygon[Element[quotativeGroupDots, i], Element[quotativeGroupDots, i] + (polySize, 0), 4], i, 1, (a2 * q)], (a2 * circleTimer)) → quotativeGroupedPolys
  24. If(ms > 0, Sequence[Polygon[Element[movingQuotativeDots, i], Element[movingQuotativeDots, i] + (polySize, 0), 4], i, 1, Length[movingQuotativeDots]], {}) → movingQuotativeArrays
  25. First(Sequence[Circle[Element[quotativeGroupCenters, i], PCS], i, 1, Length[quotativeGroupCenters]], circleTimer) → quotativeGroupCircles

AI Drawing Prompt Reference

Create a dynamic division visualization with two models: sharing into equal groups (partitive model) and grouping by a fixed size (quotative model). Use dot arrays and bar charts to show how the dividend is divided by the divisor. Set two input boxes for the dividend and divisor, and dynamically adjust the positions and sizes of the dot arrays and bar charts. Use animation to demonstrate the grouping process, including the display of remainders.
The prompt above was compiled from the original drawing commands and is for reference only.