正负数加减法记忆配对游戏
几何画板及绘图内容加载中,请稍等……
该范例是一个交互式记忆配对游戏,用于帮助学习者巩固正负数加减法的运算规则。核心数学概念是正负数的加法与减法,特别是符号规则(如减去负数等于加上正数)。作图要点:利用GeoGebra的Random、RandomElement、If、Shuffle、Cell、Text、Midpoint、Sequence、Sum等命令,生成随机题目与答案卡片,并通过网格布局(A1-A16、B1-B8等对象)实现配对逻辑。适合初中数学课堂或自学练习,通过游戏化方式提升运算熟练度与符号意识。
GeoGebra 命令及参数
Random(-9, 9) → B1Random(-9, 9) → B2Random(-9, 9) → B3Random(-9, 9) → B4Random(-9, 9) → B5Random(-9, 9) → B6Random(-9, 9) → B7Random(-9, 9) → B8RandomElement({"+", "-"}) → C1RandomElement({"+", "-"}) → C2RandomElement({"+", "-"}) → C3RandomElement({"+", "-"}) → C4RandomElement({"+", "-"}) → C5RandomElement({"+", "-"}) → C6RandomElement({"+", "-"}) → C7RandomElement({"+", "-"}) → C8Random(-9, 9) → D1Random(-9, 9) → D2Random(-9, 9) → D3Random(-9, 9) → D4Random(-9, 9) → D5Random(-9, 9) → D6Random(-9, 9) → D7Random(-9, 9) → D8If(C1 ≟ "+", B1 + D1, B1 - D1) → E1If(C2 ≟ "+", B2 + D2, B2 - D2) → E2If(C3 ≟ "+", B3 + D3, B3 - D3) → E3If(C4 ≟ "+", B4 + D4, B4 - D4) → E4If(C5 ≟ "+", B5 + D5, B5 - D5) → E5If(C6 ≟ "+", B6 + D6, B6 - D6) → E6If(C7 ≟ "+", B7 + D7, B7 - D7) → E7If(C8 ≟ "+", B8 + D8, B8 - D8) → E8Shuffle(Sequence[i, i, 1, 16]) → orderingCell(6, Element[ordering, A1 + 1]) → G1Cell(6, Element[ordering, A2 + 1]) → G2Cell(6, Element[ordering, A3 + 1]) → G3Cell(6, Element[ordering, A4 + 1]) → G4Cell(6, Element[ordering, A5 + 1]) → G5Cell(6, Element[ordering, A6 + 1]) → G6Cell(6, Element[ordering, A7 + 1]) → G7Cell(6, Element[ordering, A8 + 1]) → G8Cell(6, Element[ordering, A9 + 1]) → G9Cell(6, Element[ordering, A10 + 1]) → G10Cell(6, Element[ordering, A11 + 1]) → G11Cell(6, Element[ordering, A12 + 1]) → G12Cell(6, Element[ordering, A13 + 1]) → G13Cell(6, Element[ordering, A14 + 1]) → G14Cell(6, Element[ordering, A15 + 1]) → G15Cell(6, Element[ordering, A16 + 1]) → G16Cell(5, Element[ordering, A1 + 1]) → H1Cell(5, Element[ordering, A2 + 1]) → H2Cell(5, Element[ordering, A3 + 1]) → H3Cell(5, Element[ordering, A4 + 1]) → H4Cell(5, Element[ordering, A5 + 1]) → H5Cell(5, Element[ordering, A6 + 1]) → H6Cell(5, Element[ordering, A7 + 1]) → H7Cell(5, Element[ordering, A8 + 1]) → H8Cell(5, Element[ordering, A9 + 1]) → H9Cell(5, Element[ordering, A10 + 1]) → H10Cell(5, Element[ordering, A11 + 1]) → H11Cell(5, Element[ordering, A12 + 1]) → H12Cell(5, Element[ordering, A13 + 1]) → H13Cell(5, Element[ordering, A14 + 1]) → H14Cell(5, Element[ordering, A15 + 1]) → H15Cell(5, Element[ordering, A16 + 1]) → H16If(true, Polygon[((Mod[A1, 4] * 2), (Div[A1, 4] * 2)), ((Mod[A1, 4] * 2) + 2, (Div[A1, 4] * 2)), 4]) → I1If(true, Polygon[((Mod[A2, 4] * 2), (Div[A2, 4] * 2)), ((Mod[A2, 4] * 2) + 2, (Div[A2, 4] * 2)), 4]) → I2If(true, Polygon[((Mod[A3, 4] * 2), (Div[A3, 4] * 2)), ((Mod[A3, 4] * 2) + 2, (Div[A3, 4] * 2)), 4]) → I3If(true, Polygon[((Mod[A4, 4] * 2), (Div[A4, 4] * 2)), ((Mod[A4, 4] * 2) + 2, (Div[A4, 4] * 2)), 4]) → I4If(true, Polygon[((Mod[A5, 4] * 2), (Div[A5, 4] * 2)), ((Mod[A5, 4] * 2) + 2, (Div[A5, 4] * 2)), 4]) → I5If(true, Polygon[((Mod[A6, 4] * 2), (Div[A6, 4] * 2)), ((Mod[A6, 4] * 2) + 2, (Div[A6, 4] * 2)), 4]) → I6If(true, Polygon[((Mod[A7, 4] * 2), (Div[A7, 4] * 2)), ((Mod[A7, 4] * 2) + 2, (Div[A7, 4] * 2)), 4]) → I7If(true, Polygon[((Mod[A8, 4] * 2), (Div[A8, 4] * 2)), ((Mod[A8, 4] * 2) + 2, (Div[A8, 4] * 2)), 4]) → I8If(true, Polygon[((Mod[A9, 4] * 2), (Div[A9, 4] * 2)), ((Mod[A9, 4] * 2) + 2, (Div[A9, 4] * 2)), 4]) → I9If(true, Polygon[((Mod[A10, 4] * 2), (Div[A10, 4] * 2)), ((Mod[A10, 4] * 2) + 2, (Div[A10, 4] * 2)), 4]) → I10If(true, Polygon[((Mod[A11, 4] * 2), (Div[A11, 4] * 2)), ((Mod[A11, 4] * 2) + 2, (Div[A11, 4] * 2)), 4]) → I11If(true, Polygon[((Mod[A12, 4] * 2), (Div[A12, 4] * 2)), ((Mod[A12, 4] * 2) + 2, (Div[A12, 4] * 2)), 4]) → I12If(true, Polygon[((Mod[A13, 4] * 2), (Div[A13, 4] * 2)), ((Mod[A13, 4] * 2) + 2, (Div[A13, 4] * 2)), 4]) → I13If(true, Polygon[((Mod[A14, 4] * 2), (Div[A14, 4] * 2)), ((Mod[A14, 4] * 2) + 2, (Div[A14, 4] * 2)), 4]) → I14If(true, Polygon[((Mod[A15, 4] * 2), (Div[A15, 4] * 2)), ((Mod[A15, 4] * 2) + 2, (Div[A15, 4] * 2)), 4]) → I15If(true, Polygon[((Mod[A16, 4] * 2), (Div[A16, 4] * 2)), ((Mod[A16, 4] * 2) + 2, (Div[A16, 4] * 2)), 4]) → I16Text(G1, J1, true, true) → K1Text(G2, J2, true, true) → K2Text(G3, J3, true, true) → K3Text(G4, J4, true, true) → K4Text(G5, J5, true, true) → K5Text(G6, J6, true, true) → K6Text(G7, J7, true, true) → K7Text(G8, J8, true, true) → K8Text(G9, J9, true, true) → K9Text(G10, J10, true, true) → K10Text(G11, J11, true, true) → K11Text(G12, J12, true, true) → K12Text(G13, J13, true, true) → K13Text(G14, J14, true, true) → K14Text(G15, J15, true, true) → K15Text(G16, J16, true, true) → K16Midpoint(Corner[K1, 3], Corner[K1, 1]) → L1Midpoint(Corner[K2, 3], Corner[K2, 1]) → L2Midpoint(Corner[K3, 3], Corner[K3, 1]) → L3Midpoint(Corner[K4, 3], Corner[K4, 1]) → L4Midpoint(Corner[K5, 3], Corner[K5, 1]) → L5Midpoint(Corner[K6, 3], Corner[K6, 1]) → L6Midpoint(Corner[K7, 3], Corner[K7, 1]) → L7Midpoint(Corner[K8, 3], Corner[K8, 1]) → L8Midpoint(Corner[K9, 3], Corner[K9, 1]) → L9Midpoint(Corner[K10, 3], Corner[K10, 1]) → L10Midpoint(Corner[K11, 3], Corner[K11, 1]) → L11Midpoint(Corner[K12, 3], Corner[K12, 1]) → L12Midpoint(Corner[K13, 3], Corner[K13, 1]) → L13Midpoint(Corner[K14, 3], Corner[K14, 1]) → L14Midpoint(Corner[K15, 3], Corner[K15, 1]) → L15Midpoint(Corner[K16, 3], Corner[K16, 1]) → L16Text(G1, (2 * J1) - L1, true, true) → M1Text(G2, (2 * J2) - L2, true, true) → M2Text(G3, (2 * J3) - L3, true, true) → M3Text(G4, (2 * J4) - L4, true, true) → M4Text(G5, (2 * J5) - L5, true, true) → M5Text(G6, (2 * J6) - L6, true, true) → M6Text(G7, (2 * J7) - L7, true, true) → M7Text(G8, (2 * J8) - L8, true, true) → M8Text(G9, (2 * J9) - L9, true, true) → M9Text(G10, (2 * J10) - L10, true, true) → M10Text(G11, (2 * J11) - L11, true, true) → M11Text(G12, (2 * J12) - L12, true, true) → M12Text(G13, (2 * J13) - L13, true, true) → M13Text(G14, (2 * J14) - L14, true, true) → M14Text(G15, (2 * J15) - L15, true, true) → M15Text(G16, (2 * J16) - L16, true, true) → M16Sequence(Segment[(0, (2 * i)), (8, (2 * i))], i, 0, 4) → vGridSequence(Segment[((2 * i), 0), ((2 * i), 8)], i, 0, 4) → hGridSequence("SetConditionToShowObject[M" + (i) + ", N" + (i) + " || O" + (i) + "]", i, 1, 16) → command1Sequence("SetDynamicColor[I" + (i) + ", If[N" + (i) + " || O" + (i) + ", 0, 0.8], If[N" + (i) + "|| O" + (i) + ", N" + (i) + ", 0.8], If[N" + (i) + " || O" + (i) + ", O" + (i) + ", 0.8]]", i, 1, 16) → command2Sum(N1:N16) → N18