码丁实验室,一站式儿童编程学习产品,寻地方代理合作共赢,微信联系:leon121393608。
上节课的课后作业是让小海龟绘制正五边形、五角星和正八边形。您是否已经找到了问题的解决方法呢?今天我们来继续探讨。
绘制正多边形涉及到一些基本的几何知识,这些知识已在本项目的前导部分进行了介绍,我们在这里就可以“单刀直入”了。
首先进行正五边形的绘制。
由于正五边形与正方形(也就是正四边形)并没有本质的区别,只是多了一条边,每两条边之间的夹角不同罢了。所以,我们可以在上一个项目的代码基础上进行“改造”。
我们先来“增加一条边”,也就是再多增加一块“移动100步”和一块“旋转90度”积木。
再来修改“两条边之间的夹角”。由前导部分的几何知识可知,我们画完每条边后旋转的所有角度之和,应等于多边形的外角和,也就是360度。故绘制正五边形时,每次旋转的角度应为360➗5=72(度)。好了,我们将每块“旋转90度”积木中的“90”度都改为“72”度,如下图所示。
运行程序,得到我们今天绘制的第一个图形—-等一下,不是说好的应该画出一个“正五边形”吗?这个是什么鬼!
别着急,检查一下问题出在哪里。原来是第3次旋转的角度仍然为“90”,忘记改为“72”了!修改后重新运行,这下好了,得到了一个完美的正五边形。
问题虽然解决了,但这也不由得引起了我们的一些思考—-有多处需要统一修改的参数时,很容易遗漏一些地方,而使得程序产生错误的结果。能否只修改一次,就将所有相同的参数都改正过来呢?—-有同学马上想到了“查找并替换”的方法。姑且不论Scratch里是否支持这种操作,今天我们将介绍一种更为高级的技巧—-定义变量。
所谓“变量”,听起来玄乎,其实大致可以把它理解为“一个代号”,代表着一个有一定意义的数字,比如可以用“angle”代表“旋转角”、用“length”代表“边长”等等。而且,这个数不是一成不变的,而是可以根据需要在程序中随时进行变化。定义就说这么多,没有完全理解也没关系,以后用着用着就理解了。
进入实战。从积木区的数据部分(如下图1⃣️),点击“建立一个变量”按钮(如2⃣️)。在弹出的对话框中输入想给变量起的名字,这里输入“angle”代表旋转角度(如3⃣️)。选择“仅适用于当前角色”(如4⃣️)。点击“确定”(如5⃣️)。
这时,数据区会多出5块新积木(如下图蓝框所示)。把“将angle设定为0”积木拖入代码区适当位置(如红箭头所示),并将它的值设定为咱们所需要的“72”(如红圈所示)。再将圆角的“angle”积木拖入到需要该旋转角度的地方(如绿箭头所示)。我们的程序就改造好了。
运行一下试试,一样的完美!但是现在,如果再修改旋转角度的话,我们只需把那一处“72”改为我们所需的角度即可,再也不会发生漏改的情况了。
真的是这样吗?是真是假,一试便知。我们现在把“72”改为“144”,然后点击绿旗运行程序,是不是很神奇呢!
项目小结:
在今天的项目中,我们:
-
学会了在积木区橙色的“数据”部分,创建变量的方法;
-
学会了使用变量来代替相同的参数、简化程序修改、避免出错的方法;
-
学会了绘制正五边形和五角星的方法(其实也相当于学会了绘制正N边形和N角星的方法)。
⚠️ 创建和使用变量是非常重要的内容,会贯穿今后学习的全过程。
课后思考:
今天我们一起完成了绘制正五边形和五角星的作业,还有正八边形没有画,留给大家继续完成。画完正八边形,再试试正二十边形吧。
之前我们绘制的图形边长都是“100”,如果想绘制更大或更小的图形呢?相信“变量”能帮到您。