APP下载

用Scratch画任意正多边形

2020-04-15

电脑报 2020年6期
关键词:赋值外角边长

小猫和小明一起玩游戏,小明对小猫说:“小猫你能根据我的指令在舞台上行走吗?”小猫说:“好啊,开始吧。”小明说:“走一个正三角形,走一个正方形,走一个正五边形……”“哎呀,正五边形我可不会走。”小猫说:“你教教我吧。”

编程是可以解决实际问题的,现在我们就用“分析问题一抽象建模一算法设计一编程执行”的步骤来解决怎样走出符合要求的形状这个实际的问题吧。

1.分析问题

根据问题场景,界定需要用Scratch解决的问题是:从键盘给出“边数”赋值,根据边数画出对应的正多边形。

分析角色:“小猫”,“要画出正几边形?”,需要输入框。如图1。

2.抽象建模

抽象是软件开发的基础,就是找到事物的重要特征,过滤或忽略非本质的细节。比如地图就是地形的抽象。根据抽象到的条件构造一个与之相似的问题,这个新问题称之为模型。相同的事物可以有不同的模型,解决问题也会因此有差异。抽象建模是实用但又非常高深的学问,我们这里有个简单的概念就可以了。

这里我们抽象出画正三角形的方法,发现主要特征有:边数、内角和外角。如图2。这就是抽象建模过程。通过表格继续总结更多正多边形的规律:正多边形内角公式(n-2)×180°/n,正多边形外角为360°/n。

3.算法设计

算法是解决问题的方法。根据刚才的总结,在确定边数n的情况下,图形的内角和的公式为(n-2)×180°,正多边形外角和恒定为360°。我们的抽象模型中要素除了边数n以外,选择内角或外角都是可以的,但是经过分析选择外角要素用于计算更简单。

下面用流程图描述算法。如图3。

4.编程执行

首先根据功能需求自定义“赋值”和“绘画”积木。通过模块区分可以分别执行需要的功能,便于调试和升级。比如1.0版只询问边数,根据边数画出固定边长的正多边形,在调试中发现边数过多时会画出舞台边缘。于是2.0版就新增变量“边长”,并相应升级赋值和绘画积木。在3.0版中还可以判断输入的数值,避免出现小数、负数的输入导致绘图错误。

赋值部分的编程,通过询问和回答为变量“边数”和“边长”赋值。询问时显示,绘图时小猫隐藏。如图4。

绘画部分的编程,在自制积木中制作新的积木并添加边数和边长两个输入项。重复执行边数次,每次移动边长后左转360°÷边数。如图5。

整体编程就非常简单了,擦除上一次的结果,开始新的一次赋值和绘画就可以了。如图6。

5.总结

虽然整个实例非常简单,一句话就是正多边形外角和为360°,但是編程解题的思路“分析问题一抽象建模一算法设计一编程执行”都体现在这里面了哦。同时我们还复习了控制中的重复执行、侦测模块的询问和回答、数据模块的建立变量。

猜你喜欢

赋值外角边长
添加辅助线 巧用外角性质
魔术存钱罐
探究多边形的外角和
大楼在移动
多边形的外角和与边数无关性质的新证
算法框图问题中的易错点
聚焦外角和整体来思考
抽象函数难度降 巧用赋值来帮忙
利用赋值法解决抽象函数相关问题オ
一个关于三角形边长的不等式链