Two-Digit Subtraction with Borrowing Interactive Demo

Two-Digit Subtraction with Borrowing Interactive Demo
Loading the math board and drawing, please wait…
2018-09-02 12:21
This example demonstrates the process of two-digit subtraction with borrowing through an interactive visual interface. It uses buttons and text fields to let learners manipulate numbers and observe how the ones and tens places are decomposed and regrouped when the ones digit is insufficient. Core mathematical concepts include place value and subtraction algorithms, specifically the borrowing rule where 1 ten is exchanged for 10 ones. The construction employs GeoGebra commands such as Div and Mod for digit extraction, Segment and Corner for layout, If and Sequence for conditional logic and lists, and Textfield along with buttons for user interaction. Key objects like munits, ntens, nunits, diff, and atens track the digit values and differences, updating dynamically. This is suitable for early elementary math instruction or self-study, and can be used by teachers to create engaging interactive lessons on subtraction with borrowing.

GeoGebra Commands & Parameters

  1. Div(diff, 10) → atens
  2. Segment(A, B) → f
  3. If(nunits > munits, mtens - 1, mtens) → ntensmax
  4. If(ntens ≟ mtens, munits - 1, 9) → nunitsmax
  5. Sequence(Polygon[{C' + (0, i), C' + (1, i), C' + (1, i + 1), C' + (0, i + 1)}], i, 0, munits - 1) → L_1
  6. Sequence(Polygon[{D + (0, i), D + (1, i), D + (1, i + 1), D + (0, i + 1)}], i, 0, nunits - 1) → L_3
  7. Sequence(Sequence[Polygon[{D + (((-(1 + d)) * j), i), D + (1 - ((1 + d) * j), i), D + (1 - ((1 + d) * j), i + 1), D + (((-(1 + d)) * j), i + 1)}], i, 0, 9], j, 1, ntens) → L_4
  8. If(nunits > munits, C' + (-2, 10), C' + (0, munits)) → C0
  9. If((t2 * nunits) ≤ munits, (0, 0), (-2, 10 - munits)) → C1
  10. Segment(E, F) → g
  11. Sequence(Sequence[Polygon[{C' + (((-(1 + d)) * j), i), C' + (1 - ((1 + d) * j), i), C' + (1 - ((1 + d) * j), i + 1), C' + (((-(1 + d)) * j), i + 1)}], i, 0, 9], j, 2, mtens) → L_2
  12. Sequence(Polygon[{C' + ((-(1 + d)), i), C' + (1 - (1 + d), i), C' + (1 - (1 + d), i + 1), C' + ((-(1 + d)), i + 1)}], i, 0, 9) → L_7
  13. Sequence(Segment[D0 + (-0.2, (-j) - 0.2), D0 + (1.2, (-(j - 1)) + 0.2)], j, 1, (t2 * nunits)) → L_5
  14. Corner(text1, 1) → G
  15. Corner(text1, 3) → H
  16. Segment(G + (0, (y(H) - y(G)) / 4), H + (0, (y(G) - y(H)) / 6)) → h
  17. Segment(I - (0.02, 0.2), I + (1.02, 10.2)) → i
  18. Segment(J - (0.02, 0.2), J + (1.02, 10.2)) → j
  19. Mod(diff, 10) → aunits
  20. Sequence(Polygon[{C2 + (0, i), C2 + (1, i), C2 + (1, i + 1), C2 + (0, i + 1)}], i, 0, If[nunits > munits, 10 - nunits - 1, munits - nunits - 1]) → L_{10}
  21. Sequence(Sequence[Polygon[{C2' + (((-(1 + d)) * j), i), C2' + (1 - ((1 + d) * j), i), C2' + (1 - ((1 + d) * j), i + 1), C2' + (((-(1 + d)) * j), i + 1)}], i, 0, 9], j, 1, atens) → L_{12}
  22. Textfield(ansunits) → InputBox1
  23. Textfield(anstens) → InputBox2
  24. Corner(text2, 1) → L
  25. Corner(text2, 3) → M
  26. Segment(L + (0, (y(M) - y(L)) / 4), M + (0, (y(L) - y(M)) / 6)) → k
  27. If(ansunits ≟ "", true, false) → notinput1
  28. If(ansunits ≟ aunits', true, false) → correct1
  29. If(anstens ≟ "", true, false) → notinput2
  30. If(anstens ≟ atens', true, false) → correct2
  31. If(nunits > munits, 1, 0) → s1
  32. If(nunits > 0, 1, 0) → s2
  33. If(aunits > 0, 1, 0) → s3
  34. If(ntens > 0, 1, 0) → s4
  35. If(atens > 0, 1, 0) → s5
  36. If(t1 + t2 + t3 + t4 + t5 ≟ s1 + s2 + s3 + s4 + s5, true, false) → finished
  37. Sequence(Translate[j, Vector[(k * Vector[(-2, 0)])]], k, 0, (t4 * ntens) - 1) → L_9
  38. Sequence(Translate[i, Vector[(j * Vector[(-2, 0)])]], j, 0, (t4 * ntens) - 1) → L_8
  39. Sequence(Segment[C0 + (-0.2, (-j) - 0.2), C0 + (1.2, (-(j - 1)) + 0.2)], j, 1, (t2 * nunits)) → L_6
  40. Sequence(Polygon[{C3' + (0, i), C3' + (1, i), C3' + (1, i + 1), C3' + (0, i + 1)}], i, 0, munits - 1) → L_{14}

AI Drawing Prompt Reference

Create an interactive diagram for two-digit subtraction with borrowing. Display the minuend and subtrahend at the top, each represented by blocks for tens and ones places. When the ones digit is insufficient, show borrowing by crossing out one tens block and adding ten ones blocks. Below, show the result with blocks for tens and ones, along with input boxes for the user to enter answers. Use arrows or lines to indicate the borrowing process, and use different colors to distinguish minuend, subtrahend, and result. The layout should be clear and suitable for teaching.
The prompt above was compiled from the original drawing commands and is for reference only.