GeoGebra随机圆与正方形配对练习:几何作图与统计比例表示
几何画板及绘图内容加载中,请稍等……
该范例通过在画面中随机生成若干个圆与正方形,并以可控布局方式呈现,用于引导学习者统计“圆/正方形出现次数”的相对频数,并将其写成分数、小数和百分比。核心数学概念包括:相对频数的计算与三种表示法(分数、十进制、小数百分数),以及基础几何元素的作图组织(圆与多边形在指定位置的集合)。作图要点:使用 Shuffle 进行随机打乱以生成随机编号与位置(randomNosForX/Y 等)并配合 Sequence、Join 将若干对象集合合并;通过 Element 从序列中取出目标对象;用 If 与 Textfield 实现条件判断与动态文本反馈;用 Polygon 构造正方形轮廓,并用 Append/Remove/Length/Zip 管理对象列表与更新;对象层面包含 sizeQ1~sizeQ3、listQuadrateO/G、listKreiseO/G、listLayout1/2、以及绘图结果布局(layout1、fby)等。适合小学五六年级的统计与概率统计入门练习,也适合作为课堂互动作图与数据表示的延伸活动。
GeoGebra 命令及参数
Shuffle(Sequence[Random[6, 10], i, 1, 100]) → randomNosForY, {9, 6, 6, 6, 8, 10, 10, 6, 6, 10, 10, 9, 9, 6, 7, 6, 8, 9, 6, 7, 7, 8, 10, 10, 9, 6, 7, 7, 9, 6, 7, 10, 8, 6, 10, 9, 7, 9, 8, 10, 6, 10, 7, 8, 6, 7, 8, 10, 6, 6, 8, 8, 7, 7, 7, 10, 9, 9, 7, 6, 10, 8, 7, 7, 7, 9, 8, 10, 10, 8, 7, 8, 9, 6, 6, 10, 6, 8, 10, 7, 6, 9, 9, 10, 10, 8, 7, 10, 7, 9, 9, 10, 8, 9, 6, 9, 8, 6, 6, 9}Element(randomNosForY, Mod[questionCount, 100] + 1) → numYZip(Random[1, m - 4], m, randomNosForY) → randomNosForXElement(randomNosForX, Mod[questionCount, 100] + 1) → numXSequence(listPos(m), m, 1, numX) → listPosXZip(Random[1, m - n - 2], m, randomNosForY, n, randomNosForX) → randomNosForY1Element(randomNosForY1, Mod[questionCount, 100] + 1) → numY1Sequence(listPos(m), m, numX + 1, numX + numY1) → listPosY1Zip(Random[1, m - n - j - 1], m, randomNosForY, n, randomNosForX, j, randomNosForY1) → randomNosForY2Element(randomNosForY2, Mod[questionCount, 100] + 1) → numY2Sequence(listPos(m), m, numX + numY1 + 1, numX + numY1 + numY2) → listPosY2Zip(m - n - j - k, m, randomNosForY, n, randomNosForX, j, randomNosForY1, k, randomNosForY2) → randomNosForY3Element(randomNosForY3, Mod[questionCount, 100] + 1) → numY3Sequence(listPos(m), m, numY - numY3 + 1, numY) → listPosY3Join(Sequence[Shuffle[{1, 2, 3, 4}], i, 1, 15]) → listLayout1Zip(Translate[Dilate[Polygon[(-1, 1), (1, 1), (1, -1), (-1, -1)], RandomElement[{sizeQ1, sizeQ2, sizeQ3}]], P], P, If[layout1 ≟ 1, listPosY3, If[layout1 ≟ 2, listPosY2, If[layout1 ≟ 3, listPosY1, listPosX]]]) → listQuadrateOZip(Translate[Dilate[Polygon[(-1, 1), (1, 1), (1, -1), (-1, -1)], RandomElement[{sizeQ1, sizeQ2, sizeQ3}]], P], P, If[layout1 ≟ 1, listPosY2, If[layout1 ≟ 2, listPosY3, If[layout1 ≟ 3, listPosX, listPosY1]]]) → listQuadrateGZip(Circle[P, RandomElement[{sizeK1, sizeK2, sizeK3}]], P, If[layout1 ≟ 1, listPosY1, If[layout1 ≟ 2, listPosX, If[layout1 ≟ 3, listPosY3, listPosY2]]]) → listKreiseOZip(Circle[P, RandomElement[{sizeK1, sizeK2, sizeK3}]], P, If[layout1 ≟ 1, listPosX, If[layout1 ≟ 2, listPosY1, If[layout1 ≟ 3, listPosY2, listPosY3]]]) → listKreiseGZip(RandomElement[If[m ≟ 1, {1, 3, 5}, If[m ≟ 2, {1, 3, 4}, If[m ≟ 3, {2, 3, 5}, {2, 3, 4}]]]], m, listLayout1) → listLayout2Length(Join[{listKreiseG, listKreiseO, listQuadrateG, listQuadrateO}]) → z3If(layout1 ∈ {2, 4}, numY3 + numY1, If[layout1 ∈ {1, 3}, numY2 + numX]) → z5If(layout1 ∈ {1, 3}, numY3 + numY1, If[layout1 ∈ {2, 4}, numY2 + numX]) → z4If(layout1 ∈ {3, 4}, numX + numY1, If[layout1 ∈ {1, 2}, numY2 + numY3]) → z2If(layout1 ∈ {1, 2}, numX + numY1, If[layout1 ∈ {3, 4}, numY2 + numY3]) → z1Shuffle(Sequence[listPos(m), m, 1, numY]) → listPosY, {(1.932973916771916, 3.3793097467138247), (4.728560732469609, 7.471969859872191), (4.2535141187345085, 3.0870935731333464), (4.6316762257210025, 5.235741908283913), (6.505297573972283, 3.3449313733514154), (6.952216427683594, 8.261038764175922), (2.5861630106576814, 5.579525641908005), (7.038162361089617, 5.734228322038846), (0.9360010892620616, 7.17812000326004)}Textfield(input1) → InputBox1Textfield(input2) → InputBox2Polygon(PtopLeftCornerFeedback, PtopRightCornerFeedback, PbottomRightCornerFeedback, PbottomLeftCornerFeedback) → rectangleCorrect, rectangleCorrectS3, rectangleCorrectS4, rectangleCorrectS2, rectangleCorrectS1Append(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) → numYwithoutRepeatDefined((input1 * input2)) → fixed
AI 绘图提示语参考
在画面上随机绘制若干圆形和正方形,这些图形被分成四组,每组包含不同数量的圆形和正方形;圆形有三种不同的大小,正方形也有三种不同的大小;每组图形用不同的颜色或标记区分开来,形成若干个区域;在画面下方或侧边留出空白区域用于显示问题答案的输入框和结果反馈区域;整体布局要使四组图形清晰可辨,便于统计每组中圆形和正方形的数量。
以上提示语为根据原始绘图命令整理而来,仅供参考。