Bracket Operation Practice

Bracket Operation Practice
Loading the math board and drawing, please wait…
2024-02-26 23:50
This example provides interactive exercises to help students master bracket and order of operations rules. It involves core mathematical concepts such as bracket and priority rules, and how to apply the bracket-point-strich rule. Using GeoGebra commands like Polygon, Max, If, Textfield, etc., students can perform dynamic operations and observe the results. Suitable for 5-6 grade students for learning and practice.

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, {8, 10, 10, 10, 5, 4, 5, 4, 3, 9, 8, 8, 5, 3, 9, 8, 9, 10, 9, 3, 0, 7, 8, 8, 4, 5, 8, 4, 4, 3, 1, 7, 2, 4, 4, 1, 9, 6, 10, 0, 1, 6, 1, 5, 5, 8, 2, 5, 3, 7, 0, 1, 6, 0, 9, 6, 0, 2, 10, 8, 8, 4, 2, 7, 9, 1, 4, 10, 8, 5, 3, 6, 6, 10, 10, 7, 10, 9, 5, 10, 3, 6, 10, 6, 1, 8, 6, 6, 6, 5, 3, 7, 7, 0, 10, 1, 1, 10, 3, 8}
  12. Element(randomNosForX, Mod[questionCount, 100] + 1) → numX
  13. Shuffle(Sequence[Random[0, 10], i, 1, 100]) → randomNosForY, {7, 9, 5, 5, 0, 7, 10, 5, 7, 6, 8, 6, 5, 5, 9, 2, 6, 6, 10, 0, 9, 4, 6, 5, 0, 7, 9, 7, 3, 0, 8, 3, 8, 1, 10, 0, 0, 8, 0, 2, 1, 8, 5, 2, 4, 8, 3, 8, 3, 1, 2, 0, 0, 0, 6, 2, 0, 6, 8, 1, 10, 9, 0, 3, 2, 5, 0, 0, 9, 4, 5, 3, 0, 9, 10, 10, 4, 9, 1, 8, 4, 8, 0, 2, 8, 2, 10, 0, 3, 10, 2, 5, 2, 5, 1, 8, 2, 8, 9, 3}
  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. Polygon(E, F, G, H) → q2, e_1, f_2, g_2, h_2
  29. Polygon(I, J, K, L) → q3, i_2, j_2, k_1, l_1
  30. SpeechBubbleRight(O, 7, 2) → poly1
  31. SpeechBubbleRight(PBubble, 6, 2) → poly2
  32. Polygon(V, W, Z, A_1) → q4, v, w, z_1, k_2
  33. Text(optionsLActual(1), CenterOptionL1, true, true, 0, 0) → opL1
  34. Text(optionsLActual(2), CenterOptionL2, true, true, 0, 0) → opL2
  35. Text(optionsLActual(3), CenterOptionL3, true, true, 0, 0) → opL3
  36. Text(optionsLActual(4), CenterOptionL4, true, true, 0, 0) → opL4
  37. Text(optionsLActual(5), CenterOptionL5, true, true, 0, 0) → opL5
  38. PointIn(allowedRect) → CenterOptionR1
  39. Text(optionsRActual(1), CenterOptionR1, true, true, 0, 0) → opR1
  40. 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
  41. PointIn(allowedRect) → CenterOptionR2
  42. Text(optionsRActual(2), CenterOptionR2, true, true, 0, 0) → opR2
  43. 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
  44. PointIn(allowedRect) → CenterOptionR3
  45. Text(optionsRActual(3), CenterOptionR3, true, true, 0, 0) → opR3
  46. 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
  47. PointIn(allowedRect) → CenterOptionR4
  48. Text(optionsRActual(4), CenterOptionR4, true, true, 0, 0) → opR4
  49. 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
  50. PointIn(allowedRect) → CenterOptionR5
  51. Text(optionsRActual(5), CenterOptionR5, true, true, 0, 0) → opR5
  52. 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, m_1, n_1, b_1, c_1, d_1
  53. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR1] ≟ 4, 1, -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
  54. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR2] ≟ 4, 1, -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
  55. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR3] ≟ 4, 1, -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
  56. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR4] ≟ 4, 1, -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
  57. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR5] ≟ 4, 1, -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
  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

Draw a large rectangular frame with corners at (-10,-2), (10,-2), (10,10), and (-10,10). On the left side, place several text-based answer options. On the right, inside the big rectangle, randomly choose four center points for options; at each center, construct a small rectangle of matching width and height ratio. Each small rectangle is built by shifting from its center along the horizontal and vertical directions by half the chosen width and half the chosen height, keeping a consistent orientation, and place a text label near each center point. Add multiple speech-bubble style shapes aligned to the right side near the option area, including their associated text, and connect/prepare adjacent quadrilateral regions near the bubbles to visually support the exercise about brackets and operation order.
The prompt above was compiled from the original drawing commands and is for reference only.