Quadratzahlen: Visualizing and Checking Square Numbers

Quadratzahlen: Visualizing and Checking Square Numbers
Loading the math board and drawing, please wait…
2025-11-26 03:42
This example demonstrates how to visualize and verify relationships involving square numbers (Quadratzahlen), using interactive geometry and feedback to build intuition about how values like n² behave. The key math ideas include the definition and computation of square numbers, an intuitive link to roots (e.g., √n in related extensions), and (where applicable) answer checking with tolerance/interv

GeoGebra Commands & Parameters

  1. Sequence(Random[1, 10], i, 1, 10) → randomNumbers, {3, 8, 6, 7, 3, 10, 4, 5, 7, 9}
  2. Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumber
  3. Textfield(input) → inputBox
  4. Join({Sequence[Segment[Corner[4] + (RasterPixMat * ((k * RasterStepXY), 0)), Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY))], k, 0, RasterMaxX / RasterStepXY], Sequence[Segment[Corner[4] + (RasterPixMat * (0, (k * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], k, 0, RasterMaxY / RasterStepXY]}) → RasterStrecken
  5. Join({Sequence[Text[UnicodeToLetter[65 + k], Midpoint[Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY)), Corner[4] + (RasterPixMat * (((k + 1) * RasterStepXY), RasterMaxY))], false, true, 0, -1], k, 0, RasterMaxX / RasterStepXY - 1], Sequence[Text[("" * k), Midpoint[Corner[4] + (RasterPixMat * (RasterMaxX, ((k - 1) * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], false, true, 1, 0], k, 1, RasterMaxY / RasterStepXY]}) → RasterBeschriftung
  6. Sequence(Sequence[Corner[4] + (RasterPixMat * ((k * RasterStepXY), (m * RasterStepXY))), k, 0, RasterMaxX / RasterStepXY], m, 0, RasterMaxY / RasterStepXY) → RasterPunkte
  7. Textfield(input031) → InputBox031
  8. Textfield(input032) → InputBox032
  9. Textfield(input041) → InputBox041
  10. Textfield(input042) → InputBox042
  11. Textfield(input051) → InputBox051
  12. Textfield(input052) → InputBox052
  13. Textfield(input061) → InputBox061
  14. Textfield(input062) → InputBox062
  15. Textfield(input071) → InputBox071
  16. Textfield(input072) → InputBox072
  17. Textfield(input081) → InputBox081
  18. Textfield(input082) → InputBox082
  19. Textfield(input083) → InputBox083
  20. Textfield(input084) → InputBox084
  21. Textfield(input085) → InputBox085
  22. Textfield(input086) → InputBox086
  23. Textfield(input087) → InputBox087
  24. Sequence(Sequence[PosTable + (Sum[ListSpalte, k], (-Sum[ListZeile, m])), k, 0, anzahlSpalten], m, 0, anzahlZeilen) → TablePosMat
  25. Textfield(input033) → InputBox033
  26. Textfield(input034) → InputBox034
  27. Textfield(input043) → InputBox043
  28. Textfield(input044) → InputBox044
  29. Textfield(input053) → InputBox053
  30. Textfield(input054) → InputBox054
  31. Textfield(input063) → InputBox063
  32. Textfield(input064) → InputBox064
  33. Textfield(input073) → InputBox073
  34. Textfield(input074) → InputBox074
  35. Text("\textsf{1\vphantom{Sg}}", Midpoint[TablePosMat(1, 2), TablePosMat(2, 3)], false, true, 0, 0) → txtTable102
  36. Text("\textsf{1\vphantom{Sg}}", Midpoint[TablePosMat(2, 2), TablePosMat(3, 3)], false, true, 0, 0) → txtTable202
  37. Text("\textsf{4\vphantom{Sg}}", Midpoint[TablePosMat(2, 3), TablePosMat(3, 4)], false, true, 0, 0) → txtTable203
  38. Text("\textsf{2\vphantom{Sg}}", Midpoint[TablePosMat(1, 3), TablePosMat(2, 4)], false, true, 0, 0) → txtTable103
  39. Text("\textsf{3\vphantom{Sg}}", Midpoint[TablePosMat(1, 4), TablePosMat(2, 5)], false, true, 0, 0) → txtTable104
  40. Text("\textsf{9\vphantom{Sg}}", Midpoint[TablePosMat(2, 4), TablePosMat(3, 5)], false, true, 0, 0) → txtTable204
  41. Text("\textsf{4\vphantom{Sg}}", Midpoint[TablePosMat(1, 5), TablePosMat(2, 6)], false, true, 0, 0) → txtTable105
  42. Text("\textsf{16\vphantom{Sg}}", Midpoint[TablePosMat(2, 5), TablePosMat(3, 6)], false, true, 0, 0) → txtTable205
  43. Text("\textsf{5\vphantom{Sg}}", Midpoint[TablePosMat(1, 6), TablePosMat(2, 7)], false, true, 0, 0) → txtTable106
  44. Text("\textsf{25\vphantom{Sg}}", Midpoint[TablePosMat(2, 6), TablePosMat(3, 7)], false, true, 0, 0) → txtTable206
  45. Text("\textsf{6\vphantom{Sg}}", Midpoint[TablePosMat(1, 7), TablePosMat(2, 8)], false, true, 0, 0) → txtTable107
  46. Text("\textsf{36\vphantom{Sg}}", Midpoint[TablePosMat(2, 7), TablePosMat(3, 8)], false, true, 0, 0) → txtTable207
  47. Text("\textsf{7\vphantom{Sg}}", Midpoint[TablePosMat(1, 8), TablePosMat(2, 9)], false, true, 0, 0) → txtTable108
  48. Text("\textsf{49\vphantom{Sg}}", Midpoint[TablePosMat(2, 8), TablePosMat(3, 9)], false, true, 0, 0) → txtTable208
  49. Text("\textsf{8\vphantom{Sg}}", Midpoint[TablePosMat(1, 9), TablePosMat(2, 10)], false, true, 0, 0) → txtTable109
  50. Text("\textsf{64\vphantom{Sg}}", Midpoint[TablePosMat(2, 9), TablePosMat(3, 10)], false, true, 0, 0) → txtTable209
  51. Text("\textsf{9\vphantom{Sg}}", Midpoint[TablePosMat(1, 10), TablePosMat(2, 11)], false, true, 0, 0) → txtTable110
  52. Text("\textsf{81\vphantom{Sg}}", Midpoint[TablePosMat(2, 10), TablePosMat(3, 11)], false, true, 0, 0) → txtTable210
  53. Text("\textsf{10\vphantom{Sg}}", Midpoint[TablePosMat(1, 11), TablePosMat(2, 12)], false, true, 0, 0) → txtTable111
  54. Text("\textsf{100\vphantom{Sg}}", Midpoint[TablePosMat(2, 11), TablePosMat(3, 12)], false, true, 0, 0) → txtTable211
  55. Text("\textsf{11\vphantom{Sg}}", Midpoint[TablePosMat(1, 12), TablePosMat(2, 13)], false, true, 0, 0) → txtTable112
  56. Text("\textsf{121\vphantom{Sg}}", Midpoint[TablePosMat(2, 12), TablePosMat(3, 13)], false, true, 0, 0) → txtTable212
  57. Text("\textsf{12\vphantom{Sg}}", Midpoint[TablePosMat(1, 13), TablePosMat(2, 14)], false, true, 0, 0) → txtTable113
  58. Text("\textsf{144\vphantom{Sg}}", Midpoint[TablePosMat(2, 13), TablePosMat(3, 14)], false, true, 0, 0) → txtTable213
  59. Text("\textsf{...\vphantom{Sg}}", Midpoint[TablePosMat(1, 14), TablePosMat(2, 15)], false, true, 0, 0) → txtTable114
  60. Text("\textsf{...\vphantom{Sg}}", Midpoint[TablePosMat(2, 14), TablePosMat(3, 15)], false, true, 0, 0) → txtTable214
  61. If(step ≥ 8, (12.75, 6.9), (12.75, 2)) → PosImgMascha1
  62. PolyLine(PosSB, Corner[txt034, 2] + (-0.25, -0.1), Corner[txt034, 1] + (-0.1, -0.1), Corner[txt034, 4] + (-0.1, 0.1), Corner[txt034, 3] + (0.1, 0.1), Corner[txt034, 2] + (0.1, 0.25), PosSB) → sb03
  63. PolyLine(PosSB, Corner[txt091, 2] + (0.1, 4.25), Corner[txt091, 2] + (0.1, 0), Corner[txt091, 1] + (-0.1, 0), Corner[txt091, 4] + (-0.1, 0.1), Corner[txt091, 3] + (0.1, 0.1), Corner[txt091, 2] + (0.1, 4.75), PosSB) → sb09
  64. PolyLine(PosSB, Corner[txt101, 2] + (0.1, 4.25), Corner[txt101, 2] + (0.1, 0), Corner[txt101, 1] + (-0.1, 0), Corner[txt101, 4] + (-0.1, 0.1), Corner[txt101, 3] + (0.1, 0.1), Corner[txt101, 2] + (0.1, 4.75), PosSB) → sb10
  65. If(step < 8, (4.5, 5.75), (3.45, 5)) → PosZQ
  66. If(¬correct081, 6, correct081 ∧ correct082 ∧ correct083 ∧ correct084 ∧ correct085 ∧ (¬correct086), 11, correct081 ∧ correct082 ∧ correct083 ∧ correct084 ∧ correct085 ∧ correct086 ∧ (¬correct087), 12, 6, correct081 ∧ (¬correct082), 7, correct081 ∧ correct082 ∧ (¬correct083), 8, correct081 ∧ correct082 ∧ correct083 ∧ (¬correct084), 9, correct081 ∧ correct082 ∧ correct083 ∧ correct084 ∧ (¬correct085), 10) → dim08
  67. PolyLine(PosSB, Corner[txt081, 2] + (-0.25, -0.1), Corner[txt081, 1] + (-0.1, -0.1), Corner[txt081, 4] + (-0.1, 0.1), Corner[txt081, 3] + (0.1, 0.1), Corner[txt081, 2] + (0.1, 0.25), PosSB) → sb08
  68. Text("\textsf{1×1 Quadrat}", PosQ021 + (1 * (dimQ / 2, 0)) + (0 * (disQ / 2, 0)), false, true, 0, -1) → CapQ021
  69. Text("\textsf{2×2 Quadrat}", PosQ022 + (2 * (dimQ / 2, 0)) + (1 * (disQ / 2, 0)), false, true, 0, -1) → CapQ022
  70. Text("\textsf{3×3 Quadrat}", PosQ023 + (3 * (dimQ / 2, 0)) + (2 * (disQ / 2, 0)), false, true, 0, -1) → CapQ023
  71. Text("\textsf{4×4 Quadrat}", PosQ024 + (4 * (dimQ / 2, 0)) + (3 * (disQ / 2, 0)), false, true, 0, -1) → CapQ024
  72. Text("\textsf{5×5 Quadrat}", PosQ025 + (5 * (dimQ / 2, 0)) + (4 * (disQ / 2, 0)), false, true, 0, -1) → CapQ025
  73. Text("\textsf{2×2 Quadrat}", PosQ02E + (2 * (dimQ / 2, 0)) + (1 * (disQ / 2, 0)), false, true, 0, -1) → CapQ02E
  74. Element({1, 1, 1, 2, 3, 4, 5, dim08, 1, 1}, step) → dim
  75. CircleArc(Midpoint[Midpoint[Corner[txt082, 2], Corner[txt082, 3]], Midpoint[TablePosMat(1, 14), TablePosMat(1, 15)] + (0, 0.2)] + (0.5 * UnitOrthogonalVector[Segment[Midpoint[TablePosMat(1, 14), TablePosMat(1, 15)] + (0, 0.2), Midpoint[Corner[txt082, 2], Corner[txt082, 3]]]]), Midpoint[TablePosMat(1, 14), TablePosMat(1, 15)] + (0, 0.2), Midpoint[Corner[txt082, 2], Corner[txt082, 3]]) → arc081
  76. Segment(Point[arc081, 0], Point[arc081, 0] + (0.01 * UnitVector[Tangent[Point[arc081, 0], arc081]])) → arrow081
  77. If(Element[{false, false, correct031, correct041, correct051, correct061, correct071, true, false, false}, step] ∧ Element[{false, false, correct032, correct042, correct052, correct062, correct072, true, false, false}, step], TablePosMat(3, step - 1) + (0, -0.15), Pos03 + (2.25, -2.25)) → PosBtnShowSolution
  78. PointIn(Area02(1)) → Pos02P1
  79. PointIn(Area02(1)) → Pos02P2
  80. PointIn(Area02(1)) → Pos02P3
  81. PointIn(Area02(1)) → Pos02P4
  82. PointIn(Area02(1)) → Pos02P5
  83. PointIn(Area02(1)) → Pos02P6
  84. PointIn(Area02(1)) → Pos02P7
  85. PointIn(Area02(1)) → Pos02P8
  86. PointIn(Area02(1)) → Pos02P9
  87. PointIn(Area02(1)) → Pos02P10
  88. PointIn(Area02(1)) → Pos02P11
  89. PointIn(Area02(1)) → Pos02P12
  90. PointIn(Area02(1)) → Pos02P13
  91. PointIn(Area02(1)) → Pos02P14
  92. PointIn(Area02(1)) → Pos02P15
  93. PointIn(Area02(1)) → Pos02P16
  94. PointIn(Area02(1)) → Pos02P17
  95. PointIn(Area02(1)) → Pos02P18
  96. PointIn(Area02(1)) → Pos02P19
  97. PointIn(Area02(1)) → Pos02P20
  98. PointIn(Area02(1)) → Pos02P21
  99. PointIn(Area02(1)) → Pos02P22
  100. PointIn(Area02(1)) → Pos02P23
  101. PointIn(Area02(1)) → Pos02P24
  102. PointIn(Area02(1)) → Pos02P25
  103. PointIn(Area02(1)) → Pos02P26
  104. PointIn(Area02(1)) → Pos02P27
  105. PointIn(Area02(1)) → Pos02P28
  106. PointIn(Area02(1)) → Pos02P29
  107. PointIn(Area02(1)) → Pos02P30
  108. PointIn(Area02(1)) → Pos02P31
  109. PointIn(Area02(1)) → Pos02P32
  110. PointIn(Area02(1)) → Pos02P33
  111. PointIn(Area02(1)) → Pos02P34
  112. PointIn(Area02(1)) → Pos02P35
  113. PointIn(Area02(1)) → Pos02P36
  114. PointIn(Area02(1)) → Pos02P37
  115. PointIn(Area02(1)) → Pos02P38
  116. PointIn(Area02(1)) → Pos02P39
  117. PointIn(Area02(1)) → Pos02P40
  118. PointIn(Area02(1)) → Pos02P41
  119. PointIn(Area02(1)) → Pos02P42
  120. PointIn(Area02(1)) → Pos02P43
  121. PointIn(Area02(1)) → Pos02P44
  122. PointIn(Area02(1)) → Pos02P45
  123. PointIn(Area02(1)) → Pos02P46
  124. PointIn(Area02(1)) → Pos02P47
  125. PointIn(Area02(1)) → Pos02P48
  126. PointIn(Area02(1)) → Pos02P49
  127. PointIn(Area02(1)) → Pos02P50
  128. PointIn(Area02(1)) → Pos02P51
  129. PointIn(Area02(1)) → Pos02P52
  130. PointIn(Area02(1)) → Pos02P53
  131. PointIn(Area02(1)) → Pos02P54
  132. PointIn(Area02(1)) → Pos02P55
  133. PointIn(Area02(1)) → Pos02P56
  134. PointIn(Area02(1)) → Pos02P57
  135. PointIn(Area02(1)) → Pos02P58
  136. PointIn(Area02(1)) → Pos02P59
  137. PointIn(Area02(1)) → Pos02P60
  138. PointIn(Area02(1)) → Pos02P61
  139. PointIn(Area02(1)) → Pos02P62
  140. PointIn(Area02(1)) → Pos02P63
  141. PointIn(Area02(1)) → Pos02P64
  142. PointIn(Area02(1)) → Pos02P65
  143. PointIn(Area02(1)) → Pos02P66
  144. PointIn(Area02(1)) → Pos02P67
  145. PointIn(Area02(1)) → Pos02P68
  146. PointIn(Area02(1)) → Pos02P69
  147. PointIn(Area02(1)) → Pos02P70
  148. PointIn(Area02(1)) → Pos02P71
  149. PointIn(Area02(1)) → Pos02P72
  150. PointIn(Area02(1)) → Pos02P73
  151. PointIn(Area02(1)) → Pos02P74
  152. PointIn(Area02(1)) → Pos02P75
  153. PointIn(Area02(1)) → Pos02P76
  154. PointIn(Area02(1)) → Pos02P77
  155. PointIn(Area02(1)) → Pos02P78
  156. PointIn(Area02(1)) → Pos02P79
  157. PointIn(Area02(1)) → Pos02P80
  158. PointIn(Area02(1)) → Pos02P81
  159. PointIn(Area02(1)) → Pos02P82
  160. PointIn(Area02(1)) → Pos02P83
  161. PointIn(Area02(1)) → Pos02P84
  162. PointIn(Area02(1)) → Pos02P85
  163. PointIn(Area02(1)) → Pos02P86
  164. PointIn(Area02(1)) → Pos02P87
  165. PointIn(Area02(1)) → Pos02P88
  166. PointIn(Area02(1)) → Pos02P89
  167. PointIn(Area02(1)) → Pos02P90
  168. PointIn(Area02(1)) → Pos02P91
  169. PolyLine(PosSBStart, Corner[txt011, 2] + (-0.25, 0), Corner[txt011, 1] + (-0.1, 0), Corner[txt011, 4] + (-0.1, 0.1), Corner[txt011, 3] + (0.1, 0.1), Corner[txt011, 2] + (0.1, 0.35), PosSBStart) → sb01
  170. Text((("\textsf{" * If[step ≤ 8, "Seitenlänge a\vphantom{g}", "Zahl a \vphantom{g}"]) * "}"), Midpoint[TablePosMat(1, 1), TablePosMat(2, 1)], false, true, 1, 0) → txtTable101
  171. Join({Sequence[Text[(("\textsf{" * k^(2)) * "\vphantom{Sg}}"), Midpoint[TablePosMat(2, k + 1), TablePosMat(3, k + 2)], false, true, 0, 0], k, 1, 12], {Text["\textsf{...\vphantom{Sg}}", Midpoint[TablePosMat(2, 14), TablePosMat(3, 15)], false, true, 0, 0]}}) → txtTable09
  172. Text((("\textsf{" * If[step ≤ 8, "Flächeninhalt a²", "\bold{\textcolor{db6114}{Quadratzahl}} a^\bold{\textcolor{#1565c0}{2}}"]) * "}"), Midpoint[TablePosMat(2, 1), TablePosMat(3, 1)], false, true, 1, 0) → txtTable201
  173. If(step < 8, (0, 8.5), (0, 9.25)) → PosLegende
  174. Segment(PosLegende + (dimQ + 0.2, 0), PosLegende + (dimQ + 0.2, dimQ)) → segLegende
  175. Text("\textsf{1 cm\vphantom{g}}", Midpoint[segLegende], false, true, 1, 0) → CapLegende