Binomial Formulas Interactive Practice

Binomial Formulas Interactive Practice
Loading the math board and drawing, please wait…
2025-01-09 19:35
In collections Binomische Formeln
An interactive math exercise for practicing the three binomial formulas (square of sum, square of difference, product of sum and difference) through shuffled matching tasks. Students identify correct formula expansions and their geometric representations from mixed options, developing both algebraic manipulation skills and geometric intuition. Uses GeoGebra commands: Polygon (geometric drawing), Textfield (text input), Shuffle (randomize options), Sequence (generate sequences), Element (select elements), Text (display text), If (conditional logic), CountIf (conditional counting). Contains left and right option buttons (optionsR1-R7, optionsL1-L6) and rectangular areas (allowedRect), suitable for grade 7-8 students in classroom or homework settings.

GeoGebra Commands & Parameters

  1. Polygon(allowedRect4, allowedRect3, allowedRect2, allowedRect1) → allowedRect, a_1, b, c, d
  2. Max(widthsOptionsR) → widthR
  3. Max(heightsOptionsR) → heightR
  4. Max(heightR, Max[heightsOptionsL]) → heightL
  5. Max(widthsOptionsL) → widthL
  6. If(isShuffleOptionsLechts, Shuffle[1…numOptionsR], 1…numOptionsR) → indizesOptionsRechts
  7. If(isShuffleOptionsLinks, Shuffle[1…numOptionsL], 1…numOptionsL) → indizesOptionsLinks
  8. Textfield(input1) → InputBox1
  9. Textfield(input2) → InputBox2
  10. Polygon(PtopLeftCornerFeedback, PtopRightCornerFeedback, PbottomRightCornerFeedback, PbottomLeftCornerFeedback) → rectangleCorrect, rectangleCorrectS3, rectangleCorrectS4, rectangleCorrectS2, rectangleCorrectS1
  11. Shuffle(Sequence[Random[0, 10], i, 1, 100]) → randomNosForX, {6, 5, 1, 1, 5, 2, 6, 3, 5, 6, 2, 9, 4, 1, 1, 3, 4, 5, 1, 3, 1, 4, 2, 5, 7, 7, 2, 5, 10, 8, 8, 9, 6, 0, 1, 1, 9, 10, 9, 4, 5, 2, 1, 5, 4, 3, 1, 9, 9, 1, 2, 2, 8, 0, 2, 3, 10, 7, 1, 6, 10, 7, 3, 1, 7, 10, 4, 7, 10, 0, 1, 2, 6, 6, 1, 3, 8, 9, 4, 10, 3, 8, 3, 5, 3, 3, 10, 0, 0, 7, 1, 2, 7, 3, 1, 9, 4, 10, 1, 4}
  12. Element(randomNosForX, Mod[questionCount, 100] + 1) → numX
  13. Shuffle(Sequence[Random[0, 10], i, 1, 100]) → randomNosForY, {6, 4, 9, 2, 6, 3, 1, 7, 2, 2, 0, 7, 4, 9, 7, 10, 1, 5, 2, 9, 10, 10, 7, 8, 4, 3, 3, 5, 4, 6, 5, 0, 8, 2, 2, 4, 1, 10, 10, 3, 8, 3, 1, 6, 0, 10, 6, 2, 8, 4, 2, 2, 10, 8, 2, 4, 1, 2, 5, 4, 10, 6, 0, 9, 9, 0, 3, 10, 7, 8, 1, 9, 0, 7, 10, 3, 5, 3, 3, 3, 0, 1, 3, 7, 7, 9, 5, 3, 4, 3, 2, 7, 7, 5, 6, 5, 2, 9, 1, 2}
  14. Element(randomNosForY, Mod[questionCount, 100] + 1) → numY
  15. Append(true, Sequence[If[randomNosForX(i) ≟ randomNosForX(i - 1), false, true], i, 2, 100]) → stayX
  16. Append(true, Sequence[If[randomNosForY(i) ≟ randomNosForY(i - 1), false, true], i, 2, 100]) → stayY
  17. Remove(Sequence[If[stayX(i), randomNosForX(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForXwithoutRepeat
  18. Remove(Sequence[If[stayY(i), randomNosForY(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForYwithoutRepeat
  19. Element(randomNosForXwithoutRepeat, Mod[questionCount, Length[randomNosForXwithoutRepeat]] + 1) → numXwithoutRepeat
  20. Element(randomNosForYwithoutRepeat, Mod[questionCount, Length[randomNosForYwithoutRepeat]] + 1) → numYwithoutRepeat
  21. Sequence(1) → positionsOptionsRechts
  22. Sequence(Element[optionsRAll, indizesOptionsRechts(i)], i, 1, numOptionsR) → optionsRActual
  23. Length(optionsRActual) → a
  24. Sequence(Element[optionsLAll, indizesOptionsLinks(i)], i, 1, numOptionsL) → optionsLActual
  25. Sequence(allOptionsL(indizesOptionsLinks(i)), i, 1, numOptionsL) → optionsL
  26. Sequence(allOptionsR(indizesOptionsLinks(i)), i, 1, numOptionsL) → optionsR
  27. Polygon((-10, -2), (10, -2), (10, 10), (-10, 10)) → q1, q_1, r_1, s_1, t_1
  28. Text(optionsLActual(6), CenterOptionL6, true, true, 0, 0) → opL6
  29. Text(optionsLActual(1), CenterOptionL1, true, true, 0, 0) → opL1
  30. Text(optionsLActual(2), CenterOptionL2, true, true, 0, 0) → opL2
  31. Text(optionsLActual(3), CenterOptionL3, true, true, 0, 0) → opL3
  32. Text(optionsLActual(4), CenterOptionL4, true, true, 0, 0) → opL4
  33. Text(optionsLActual(5), CenterOptionL5, true, true, 0, 0) → opL5
  34. PointIn(allowedRect) → CenterOptionR1
  35. Text(optionsRActual(1), CenterOptionR1, true, true, 0, 0) → opR1
  36. Polygon(CenterOptionR1, CenterOptionR1 - (widthR / 2, heightR / 2), CenterOptionR1 + (widthR / 2, ((-heightR)) / 2), CenterOptionR1 + (widthR / 2, heightR / 2), CenterOptionR1 - (widthR / 2, ((-heightR)) / 2), CenterOptionR1 - (widthR / 2, heightR / 2)) → rectRMove1, centeroptionr1, f, g, h, i, j
  37. PointIn(allowedRect) → CenterOptionR2
  38. Text(optionsRActual(2), CenterOptionR2, true, true, 0, 0) → opR2
  39. Polygon(CenterOptionR2, CenterOptionR2 - (widthR / 2, heightR / 2), CenterOptionR2 + (widthR / 2, ((-heightR)) / 2), CenterOptionR2 + (widthR / 2, heightR / 2), CenterOptionR2 - (widthR / 2, ((-heightR)) / 2), CenterOptionR2 - (widthR / 2, heightR / 2)) → rectRMove2, centeroptionr2, k, l, m, n, p
  40. PointIn(allowedRect) → CenterOptionR3
  41. Text(optionsRActual(3), CenterOptionR3, true, true, 0, 0) → opR3
  42. Polygon(CenterOptionR3, CenterOptionR3 - (widthR / 2, heightR / 2), CenterOptionR3 + (widthR / 2, ((-heightR)) / 2), CenterOptionR3 + (widthR / 2, heightR / 2), CenterOptionR3 - (widthR / 2, ((-heightR)) / 2), CenterOptionR3 - (widthR / 2, heightR / 2)) → rectRMove3, centeroptionr3, q, r, s, t, e
  43. PointIn(allowedRect) → CenterOptionR4
  44. Text(optionsRActual(4), CenterOptionR4, true, true, 0, 0) → opR4
  45. Polygon(CenterOptionR4, CenterOptionR4 - (widthR / 2, heightR / 2), CenterOptionR4 + (widthR / 2, ((-heightR)) / 2), CenterOptionR4 + (widthR / 2, heightR / 2), CenterOptionR4 - (widthR / 2, ((-heightR)) / 2), CenterOptionR4 - (widthR / 2, heightR / 2)) → rectRMove4, centeroptionr4, f_1, g_1, h_1, i_1, j_1
  46. PointIn(allowedRect) → CenterOptionR5
  47. Text(optionsRActual(5), CenterOptionR5, true, true, 0, 0) → opR5
  48. Polygon(CenterOptionR5, CenterOptionR5 - (widthR / 2, heightR / 2), CenterOptionR5 + (widthR / 2, ((-heightR)) / 2), CenterOptionR5 + (widthR / 2, heightR / 2), CenterOptionR5 - (widthR / 2, ((-heightR)) / 2), CenterOptionR5 - (widthR / 2, heightR / 2)) → rectRMove5, centeroptionr5, k_1, l_1, m_1, n_1, p_1
  49. PointIn(allowedRect) → CenterOptionR6
  50. Text(optionsRActual(6), CenterOptionR6, true, true, 0, 0) → opR6
  51. Polygon(CenterOptionR6, CenterOptionR6 - (widthR / 2, heightR / 2), CenterOptionR6 + (widthR / 2, ((-heightR)) / 2), CenterOptionR6 + (widthR / 2, heightR / 2), CenterOptionR6 - (widthR / 2, ((-heightR)) / 2), CenterOptionR6 - (widthR / 2, heightR / 2)) → rectRMove6, centeroptionr6, b_1, c_1, d_1, e_1, f_2
  52. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR1] ≟ 4, 1, CountIf[P ∈ answerRectLarger6(1), P, verticesR1] ≟ 4, 6, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR1] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR1] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR1] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR1] ≟ 4, 5) → indexAnswerR1
  53. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR2] ≟ 4, 1, CountIf[P ∈ answerRectLarger6(1), P, verticesR2] ≟ 4, 6, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR2] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR2] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR2] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR2] ≟ 4, 5) → indexAnswerR2
  54. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR3] ≟ 4, 1, CountIf[P ∈ answerRectLarger6(1), P, verticesR3] ≟ 4, 6, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR3] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR3] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR3] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR3] ≟ 4, 5) → indexAnswerR3
  55. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR4] ≟ 4, 1, CountIf[P ∈ answerRectLarger6(1), P, verticesR4] ≟ 4, 6, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR4] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR4] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR4] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR4] ≟ 4, 5) → indexAnswerR4
  56. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR5] ≟ 4, 1, CountIf[P ∈ answerRectLarger6(1), P, verticesR5] ≟ 4, 6, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR5] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR5] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR5] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR5] ≟ 4, 5) → indexAnswerR5
  57. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR6] ≟ 4, 1, CountIf[P ∈ answerRectLarger6(1), P, verticesR6] ≟ 4, 6, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR6] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR6] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR6] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR6] ≟ 4, 5) → indexAnswerR6
  58. CountIf(ind ≠ -1, ind, indizesAnswerR) → numAnswersDraggedToLeft
  59. If(correct, "\vphantom{✘}✓ Richtig", If[correctpartially, "\vphantom{✓}✘ Teilweise richtig", "\vphantom{✓}✘ Falsch"]) → correctTextTemp
  60. Text((("\Large\textsf{" * correctTextTemp) * "}"), PStartCorrectText, true, true, 1, 0) → correctText

AI Drawing Prompt Reference

Create an interactive practice interface for binomial formula matching. The center contains a rectangular answer area. On the left and right sides, there are columns of clickable option buttons—six on the left and seven on the right—each displaying a formula or geometric expression. The buttons are randomly positioned within the allowed rectangular region. At the top or bottom, two text input fields are provided for entering answers. A feedback rectangle turns green when the answer is correct. All options and inputs are generated from random numbers, ensuring varied question order and content each time. The layout is clear, suitable for students to practice algebraic and geometric skills.
The prompt above was compiled from the original drawing commands and is for reference only.