整数乘除法卡片排序:理解正负数运算规则
几何画板及绘图内容加载中,请稍等……
这个范例通过卡片排序活动,帮助学生理解整数乘除法的运算规则。核心数学概念包括正负数相乘除的规则、符号判断以及运算顺序。作图要点涉及使用GeoGebra命令如Sample、Shuffle、Polygon等来创建和排列卡片。适合6-8年级学生用于课堂练习和作业,帮助巩固整数运算技能。
GeoGebra 命令及参数
Sample(Sequence[26, 34], 3) → indices4, {27, 32, 31}Sample(Sequence[17, 25], 3) → indices3, {24, 17, 18}Sample(Sequence[9, 16], 3) → indices2, {15, 16, 11}Sample(Sequence[8], 3) → indices1, {4, 1, 2}Shuffle(Join[{indices1, indices2, indices3, indices4}]) → indicesAll, {2, 11, 27, 4, 15, 16, 1, 31, 18, 32, 17, 24}Take(indicesAll, 1, 8) → indicesRemoveUndefined(Zip[IndexOf[kk, indices], kk, indices4]) → indices4codedRemoveUndefined(Zip[IndexOf[kk, indices], kk, indices3]) → indices3codedRemoveUndefined(Zip[IndexOf[kk, indices], kk, indices2]) → indices2codedRemoveUndefined(Zip[IndexOf[kk, indices], kk, indices1]) → indices1codedRemoveUndefined(Zip[Sort[ll], ll, {indices1coded, indices2coded, indices3coded, indices4coded}]) → expectedPolygon({(-2.5, -2.68), (-2.5, -2.68) + (wid2, 0), (-2.5, -2.68) + (wid2, (6 * hei2) + 0.1), (-2.5, -2.68) + (0, (6 * hei2) + 0.1)}) → DropArea1Sequence(Vertex[DropArea1, 4] - ((0, hei2) * ii) + (0.1, 0), ii, 1, 6) → target1Translate(target1, vec) → target2Translate(target2, vec) → target3Translate(target3, vec) → target4IndexOf(true, Zip[Defined[IndexOf[C8, ll]], ll, {target1, target2, target3, target4}]) → box8InIndexOf(true, Zip[Defined[IndexOf[C7, ll]], ll, {target1, target2, target3, target4}]) → box7InIndexOf(true, Zip[Defined[IndexOf[C6, ll]], ll, {target1, target2, target3, target4}]) → box6InIndexOf(true, Zip[Defined[IndexOf[C5, ll]], ll, {target1, target2, target3, target4}]) → box5InIndexOf(true, Zip[Defined[IndexOf[C4, ll]], ll, {target1, target2, target3, target4}]) → box4InIndexOf(true, Zip[Defined[IndexOf[C3, ll]], ll, {target1, target2, target3, target4}]) → box3InIndexOf(true, Zip[Defined[IndexOf[C2, ll]], ll, {target1, target2, target3, target4}]) → box2InIndexOf(true, Zip[Defined[IndexOf[C1, ll]], ll, {target1, target2, target3, target4}]) → box1InRemoveUndefined(Sequence[If[Element[{box1In, box2In, box3In, box4In, box5In, box6In, box7In, box8In}, kk] ≟ 4, kk], kk, 1, 8]) → boxesInT4If(Length[boxesInT4] ≥ 1, Zip[Element[indicesAll, kk], kk, boxesInT4], {}) → indicesInT4RemoveUndefined(Sequence[If[Element[{box1In, box2In, box3In, box4In, box5In, box6In, box7In, box8In}, kk] ≟ 3, kk], kk, 1, 8]) → boxesInT3If(Length[boxesInT3] ≥ 1, Zip[Element[indicesAll, kk], kk, boxesInT3], {}) → indicesInT3RemoveUndefined(Sequence[If[Element[{box1In, box2In, box3In, box4In, box5In, box6In, box7In, box8In}, kk] ≟ 2, kk], kk, 1, 8]) → boxesInT2If(Length[boxesInT2] ≥ 1, Zip[Element[indicesAll, kk], kk, boxesInT2], {}) → indicesInT2RemoveUndefined(Sequence[If[Element[{box1In, box2In, box3In, box4In, box5In, box6In, box7In, box8In}, kk] ≟ 1, kk], kk, 1, 8]) → boxesInT1If(Length[boxesInT1] ≥ 1, Zip[Element[indicesAll, kk], kk, boxesInT1], {}) → indicesInT1Zip(Sort[ll], ll, KeepIf[Length[ll] ≥ 1, ll, inputCurrent]) → inputCurrentNoEmptyZip(Defined[IndexOf[ll, inputCurrentNoEmpty]], ll, expected) → comparingZip(indicesInT1 \ ll, ll, {indices1, indices2, indices3, indices4}) → setDiff1Defined(IndexOf[0, Zip[Length[LL], LL, setDiff1]]) → correct1Zip(indicesInT2 \ ll, ll, {indices1, indices2, indices3, indices4}) → setDiff2Defined(IndexOf[0, Zip[Length[LL], LL, setDiff2]]) → correct2Zip(indicesInT3 \ ll, ll, {indices1, indices2, indices3, indices4}) → setDiff3Defined(IndexOf[0, Zip[Length[LL], LL, setDiff3]]) → correct3Zip(indicesInT4 \ ll, ll, {indices1, indices2, indices3, indices4}) → setDiff4Defined(IndexOf[0, Zip[Length[LL], LL, setDiff4]]) → correct4Sequence(Random[0, 99] / 100, A, 1, 200) → allRandomSeeds, {0.08, 0.85, 0.14, 0.23, 0.81, 0.05, 0.71, 0.24, 0.87, 0.07, 0.95, 0.94, 0.13, 0.82, 0.46, 0.62, 0.51, 0.89, 0.21, 0.11, 0.62, 0.56, 0.17, 0.84, 0.14, 0.94, 0.58, 0.54, 0.13, 0.63, 0.3, 0.07, 0.2, 0.92, 0.52, 0.53, 0.9, 0.88, 0.89, 0.18, 0.81, 0.18, 0.98, 0.46, 0.22, 0.25, 0.28, 0.07, 0.01, 0.97, 0.12, 0.61, 0.53, 0.03, 0.83, 0.59, 0.26, 0.21, 0.7, 0.36, 0.04, 0.35, 0.76, 0.91, 0.13, 0.7, 0.13, 0.15, 0.92, 0.63, 0, 0.35, 0.13, 0.77, 0.41, 0.91, 0.65, 0.56, 0.68, 0.31, 0.5, 0.45, 0.57, 0.88, 0.96, 0.88, 0.2, 0.46, 0.74, 0.4, 0.65, 0.18, 0.72, 0.03, 0.74, 0.37, 0.31, 0.3, 0.22, 0.97, 0.44, 0.43, 0.95, 0.66, 0.58, 0.62, 0.73, 0.82, 0.58, 0.77, 0.96, 0.55, 0.41, 0.53, 0.67, 0.42, 0.89, 0.35, 0.74, 0.54, 0.7, 0.68, 0.83, 0.66, 0.08, 0.18, 0.31, 0.08, 0.37, 0.79, 0.56, 0.83, 0.88, 0.67, 0.58, 0.96, 0.73, 0.3, 0.01, 0.57, 0.73, 0.67, 0.38, 0.43, 0.59, 0.73, 0.8, 0.62, 0.05, 0.37, 0.95, 0.99, 0.85, 0.17, 0.8, 0.78, 0.99, 0.48, 0.79, 0.86, 0.16, 0.71, 0.04, 0.78, 0.13, 0.56, 0.06, 0.61, 0.42, 0.93, 0.31, 0.7, 0.94, 0.63, 0.18, 0.39, 0.6, 0.77, 0.42, 0.44, 0.49, 0.09, 0.71, 0.97, 0.84, 0.67, 0.19, 0.52, 0.83, 0.5, 0.27, 0.44, 0.07, 0.96, 0.77, 0.36, 0.88, 0.73, 0.98, 0.72}Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeedsCorner(5) → layoutAppSizePolygon(inputPoint, TriA, TriB) → tri, b, inputpoint, aonboardingTextOffset(Corner[onboardingText, 1], Corner[onboardingText, 3], onboardingCase, Corner[1], Corner[3], Corner[5]) → OnboardingTextOffsetKeepIf(GCD[kk, numA] ≟ 1, kk, Sequence[1, 3]) → nums2Element(nums2, numB) → num2Join({groupAB, groupBA, groupABMin, groupBAMin}) → groupsAllPolygon(C1, C1 + (wid, 0), C1 + (wid, hei), C1 + (0, hei)) → q1, c1, f, g, hPolygon(C2, C2 + (wid, 0), C2 + (wid, hei), C2 + (0, hei)) → q2, c2, i, j, kPolygon(C3, C3 + (wid, 0), C3 + (wid, hei), C3 + (0, hei)) → q3, c3, l, m, nPolygon(C4, C4 + (wid, 0), C4 + (wid, hei), C4 + (0, hei)) → q4, c4, p, q, rPolygon(C5, C5 + (wid, 0), C5 + (wid, hei), C5 + (0, hei)) → q5, c5, s, t, cPolygon(C6, C6 + (wid, 0), C6 + (wid, hei), C6 + (0, hei)) → q6, c6, d, e, f_1Polygon(C7, C7 + (wid, 0), C7 + (wid, hei), C7 + (0, hei)) → q7, c7, g_1, h_1, i_1Polygon(C8, C8 + (wid, 0), C8 + (wid, hei), C8 + (0, hei)) → q8, c8, j_1, k_1, l_1Translate(DropArea1, vec) → DropArea2Translate(DropArea2, vec) → DropArea3Translate(DropArea3, vec) → DropArea4Translate(p_1, ((Corner[4] - Corner[1]) / 500 * 16)) → m_1Sequence((-4.85, 1) + ((ii * 0.05), ((-ii) * 0.1)), ii, 0, 8) → homeJoin({target1, target2, target3, target4, home}) → FixedPointsZip(¬Defined[IndexOf[PP, FixedPoints]], PP, {C1, C2, C3, C4, C5, C6, C7, C8}) → boxesInMovementZip(If[kk, 180, 226] / 255, kk, boxesInMovement) → redZip(If[kk, 170, 223] / 255, kk, boxesInMovement) → greenZip(If[kk, 248, 252] / 255, kk, boxesInMovement) → blueZip(Area[IntersectPath[q2, pp]], pp, {DropArea1, DropArea2, DropArea3, DropArea4}) → intersectionsBox2Zip(Area[IntersectPath[q1, pp]], pp, {DropArea1, DropArea2, DropArea3, DropArea4}) → intersectionsBox1Zip(Area[IntersectPath[q3, pp]], pp, {DropArea1, DropArea2, DropArea3, DropArea4}) → intersectionsBox3Zip(Area[IntersectPath[q4, pp]], pp, {DropArea1, DropArea2, DropArea3, DropArea4}) → intersectionsBox4Zip(Area[IntersectPath[q5, pp]], pp, {DropArea1, DropArea2, DropArea3, DropArea4}) → intersectionsBox5Zip(Area[IntersectPath[q6, pp]], pp, {DropArea1, DropArea2, DropArea3, DropArea4}) → intersectionsBox6Zip(Area[IntersectPath[q7, pp]], pp, {DropArea1, DropArea2, DropArea3, DropArea4}) → intersectionsBox7Zip(Area[IntersectPath[q8, pp]], pp, {DropArea1, DropArea2, DropArea3, DropArea4}) → intersectionsBox8IndexOf(Max[RemoveUndefined[intersectionsBox1]], intersectionsBox1) → box1ToIndexOf(Max[RemoveUndefined[intersectionsBox2]], intersectionsBox2) → box2ToIndexOf(Max[RemoveUndefined[intersectionsBox3]], intersectionsBox3) → box3ToIndexOf(Max[RemoveUndefined[intersectionsBox4]], intersectionsBox4) → box4ToIndexOf(Max[RemoveUndefined[intersectionsBox5]], intersectionsBox5) → box5ToIndexOf(Max[RemoveUndefined[intersectionsBox6]], intersectionsBox6) → box6ToIndexOf(Max[RemoveUndefined[intersectionsBox7]], intersectionsBox7) → box7ToIndexOf(Max[RemoveUndefined[intersectionsBox8]], intersectionsBox8) → box8ToCountIf(x ≟ 1, locationOfEachBox) → inTarget1CountIf(x ≟ 2, locationOfEachBox) → inTarget2CountIf(x ≟ 3, locationOfEachBox) → inTarget3CountIf(x ≟ 4, locationOfEachBox) → inTarget4Element({box1To, box2To, box3To, box4To, box5To, box6To, box7To, box8To}, IndexOf[true, boxesInMovement]) → numActiveDropAreaElement({DropArea1, DropArea2, DropArea3, DropArea4}, numActiveDropArea) → ActiveDropAreaWTranslate(ec1, ((x(Corner[2] - Corner[1]) / 800 * 16), 0)) → ec1'Sequence(IndexOf[true, Zip[Defined[IndexOf[kk, LL]], LL, {indices1coded, indices2coded, indices3coded, indices4coded}]], kk, 1, 8) → shouldbeZip(Element[{groupAB(1), groupBA(1), groupABMin(1), ("-" * groupBA(1))}, kk], kk, shouldbe) → complementTextText(Element[groupsAll, indices(1)] + (If[showsolution, ("=" * complementText(1)), ""]), Centroid[q1], true, true, 0, 0) → text1Text(Element[groupsAll, indices(2)] + (If[showsolution, ("=" * complementText(2)), ""]), Centroid[q2], true, true, 0, 0) → text2Text(Element[groupsAll, indices(3)] + (If[showsolution, ("=" * complementText(3)), ""]), Centroid[q3], true, true, 0, 0) → text3Text(Element[groupsAll, indices(4)] + (If[showsolution, ("=" * complementText(4)), ""]), Centroid[q4], true, true, 0, 0) → text4Text(Element[groupsAll, indices(5)] + (If[showsolution, ("=" * complementText(5)), ""]), Centroid[q5], true, true, 0, 0) → text5Text(Element[groupsAll, indices(6)] + (If[showsolution, ("=" * complementText(6)), ""]), Centroid[q6], true, true, 0, 0) → text6Text(Element[groupsAll, indices(7)] + (If[showsolution, ("=" * complementText(7)), ""]), Centroid[q7], true, true, 0, 0) → text7Text(Element[groupsAll, indices(8)] + (If[showsolution, ("=" * complementText(8)), ""]), Centroid[q8], true, true, 0, 0) → text8expandQuad(home(8), home(8) + (wid, 0), home(8) + (wid, hei), home(8) + (0, hei), (7 * pulsing), Corner[1], Corner[3], Corner[5]) → pulsingObjectReverse(Sort[Zip[Element[corners, kk], kk, boxesInT1]]) → cornersInT1Zip("C" + (IndexOf[PP, corners]), PP, cornersInT1) → cornersInT1namesReverse(Sort[Zip[Element[corners, kk], kk, boxesInT2]]) → cornersInT2Reverse(Sort[Zip[Element[corners, kk], kk, boxesInT3]]) → cornersInT3Reverse(Sort[Zip[Element[corners, kk], kk, boxesInT4]]) → cornersInT4Zip("C" + (IndexOf[PP, corners]), PP, cornersInT2) → cornersInT2namesZip("C" + (IndexOf[PP, corners]), PP, cornersInT3) → cornersInT3namesZip("C" + (IndexOf[PP, corners]), PP, cornersInT4) → cornersInT4namesIf(Length[boxesInT1] ≠ 0, Zip[(((("SetValue(" * ii) * ",") * PP) * ")"), ii, cornersInT1names, PP, target1], {}) → organizet1If(Length[boxesInT2] ≠ 0, Zip[(((("SetValue(" * ii) * ",") * PP) * ")"), ii, cornersInT2names, PP, target2], {}) → organizet2If(Length[boxesInT3] ≠ 0, Zip[(((("SetValue(" * ii) * ",") * PP) * ")"), ii, cornersInT3names, PP, target3], {}) → organizet3If(Length[boxesInT4] ≠ 0, Zip[(((("SetValue(" * ii) * ",") * PP) * ")"), ii, cornersInT4names, PP, target4], {}) → organizet4Zip(LL ∈ expected, LL, inputCurrent) → correctGroupsSequence((((((((("SetDynamicColor(DropAreaBG" * kk) * ",If(correctGroups(") * kk) * "),210,241)/255,If(correctGroups(") * kk) * "),228,210)/255,If(correctGroups(") * kk) * "),226,216)/255)"), kk, 1, 4) → colorDropAreasBgIf(correctSol, 5, -5) → speedAnimText(If[correctSol, "$\textsf{YOUR SOLUTION}$", "$\textsf{SHOW SOLUTION}$"], (0, 0), true, true) → labelBtnAnimSolSequence((((((((((((((("SetDynamicColor(DropArea" * kk) * ",If((showhint∨showsolution)&&(anim==0∨anim==1)&&Length(inputCurrent(") * kk) * ")) ≥ 1,If(correctGroups(") * kk) * "),0,176),101)/255,If((showhint∨showsolution)&&(anim==0∨anim==1)&&Length(inputCurrent(") * kk) * ")) ≥ 1,If(correctGroups(") * kk) * "),103,0),87)/255,If((showhint∨showsolution)&&(anim==0∨anim==1)&&Length(inputCurrent(") * kk) * ")) ≥ 1,If(correctGroups(") * kk) * "),88,32),210)/255)"), kk, 1, 4) → colorDropAreas
AI 绘图提示语参考
创建一个卡片分类活动,展示整数乘除法的规则。随机生成四组数字卡片,每组三张,分别包含26-34、17-25、9-16和8范围内的数字。将所有卡片混合排序,并选取前八张。根据卡片上的数字,将它们分配到四个不同的区域中,每个区域代表一个分类。最终图形应清晰展示卡片分类的过程和结果,体现整数乘除法的符号规则和运算顺序。
以上提示语为根据原始绘图命令整理而来,仅供参考。