Bracket Operation Practice
Loading the math board and drawing, please wait…
In collections
Bruchzahlen - Verbindung der Grundrechnungsarten
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
Polygon(allowedRect4, allowedRect3, allowedRect2, allowedRect1) → allowedRect, a_1, b, c, dMax(widthsOptionsR) → widthRMax(heightsOptionsR) → heightRMax(heightR, Max[heightsOptionsL]) → heightLMax(widthsOptionsL) → widthLIf(isShuffleOptionsLechts, Shuffle[1…numOptionsR], 1…numOptionsR) → indizesOptionsRechtsIf(isShuffleOptionsLinks, Shuffle[1…numOptionsL], 1…numOptionsL) → indizesOptionsLinksTextfield(input1) → InputBox1Textfield(input2) → InputBox2Polygon(PtopLeftCornerFeedback, PtopRightCornerFeedback, PbottomRightCornerFeedback, PbottomLeftCornerFeedback) → rectangleCorrect, rectangleCorrectS3, rectangleCorrectS4, rectangleCorrectS2, rectangleCorrectS1Shuffle(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}Element(randomNosForX, Mod[questionCount, 100] + 1) → numXShuffle(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}Element(randomNosForY, Mod[questionCount, 100] + 1) → numYAppend(true, Sequence[If[randomNosForX(i) ≟ randomNosForX(i - 1), false, true], i, 2, 100]) → stayXAppend(true, Sequence[If[randomNosForY(i) ≟ randomNosForY(i - 1), false, true], i, 2, 100]) → stayYRemove(Sequence[If[stayX(i), randomNosForX(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForXwithoutRepeatRemove(Sequence[If[stayY(i), randomNosForY(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForYwithoutRepeatElement(randomNosForXwithoutRepeat, Mod[questionCount, Length[randomNosForXwithoutRepeat]] + 1) → numXwithoutRepeatElement(randomNosForYwithoutRepeat, Mod[questionCount, Length[randomNosForYwithoutRepeat]] + 1) → numYwithoutRepeatSequence(1) → positionsOptionsRechtsSequence(Element[optionsRAll, indizesOptionsRechts(i)], i, 1, numOptionsR) → optionsRActualLength(optionsRActual) → aSequence(Element[optionsLAll, indizesOptionsLinks(i)], i, 1, numOptionsL) → optionsLActualSequence(allOptionsL(indizesOptionsLinks(i)), i, 1, numOptionsL) → optionsLSequence(allOptionsR(indizesOptionsLinks(i)), i, 1, numOptionsL) → optionsRPolygon((-10, -2), (10, -2), (10, 10), (-10, 10)) → q1, q_1, r_1, s_1, t_1Polygon(E, F, G, H) → q2, e_1, f_2, g_2, h_2Polygon(I, J, K, L) → q3, i_2, j_2, k_1, l_1SpeechBubbleRight(O, 7, 2) → poly1SpeechBubbleRight(PBubble, 6, 2) → poly2Polygon(V, W, Z, A_1) → q4, v, w, z_1, k_2Text(optionsLActual(1), CenterOptionL1, true, true, 0, 0) → opL1Text(optionsLActual(2), CenterOptionL2, true, true, 0, 0) → opL2Text(optionsLActual(3), CenterOptionL3, true, true, 0, 0) → opL3Text(optionsLActual(4), CenterOptionL4, true, true, 0, 0) → opL4Text(optionsLActual(5), CenterOptionL5, true, true, 0, 0) → opL5PointIn(allowedRect) → CenterOptionR1Text(optionsRActual(1), CenterOptionR1, true, true, 0, 0) → opR1Polygon(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, jPointIn(allowedRect) → CenterOptionR2Text(optionsRActual(2), CenterOptionR2, true, true, 0, 0) → opR2Polygon(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, pPointIn(allowedRect) → CenterOptionR3Text(optionsRActual(3), CenterOptionR3, true, true, 0, 0) → opR3Polygon(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, ePointIn(allowedRect) → CenterOptionR4Text(optionsRActual(4), CenterOptionR4, true, true, 0, 0) → opR4Polygon(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_1PointIn(allowedRect) → CenterOptionR5Text(optionsRActual(5), CenterOptionR5, true, true, 0, 0) → opR5Polygon(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_1If(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) → indexAnswerR1If(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) → indexAnswerR2If(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) → indexAnswerR3If(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) → indexAnswerR4If(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) → indexAnswerR5CountIf(ind ≠ -1, ind, indizesAnswerR) → numAnswersDraggedToLeftIf(correct, "\vphantom{✘}✓ Richtig", If[correctpartially, "\vphantom{✓}✘ Teilweise richtig", "\vphantom{✓}✘ Falsch"]) → correctTextTempText((("\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.