文:邱老师

前两周,我们学会了在计算机程序上绘制多边形和圆形的方法。我们以慧编程的程序为例,回顾一下程小奔画正六边形这个程序:

程小奔

我们看到,程序中控制行进的要素是行走动力和时间,而不是控制具体的行走长度。我们怎么程小奔行进特定长度呢?

原来,在不同的程序语言、硬件平台中,距离的概念是不同的不同的距离概念意味着我们需要设计不同的距离测量方法。我们先用Scratch程序看看,它的距离的概念是什么。

尝试在Scratch程序中试着使用移动指令,在Scratch中,移动的计算单位是“步数”,每1步代表在坐标值中增加1。

举个例子:从原点X:0 Y:0开始,面向90°,移动10步后,让Scratch猫说出移动后的坐标吧,看看说出是不是正确的X:10 Y:0坐标。

我们看到,Scratch猫的坐标从X:0 Y:0移动到了X:10 Y:0,这个过程移动的距离为10步

总结一下:在Scratch中,距离的概念就是“步数”

但是慧编程没有对程小奔的距离做明确的定义,所以我们需要通过速度来计算距离。速度就是单位时间内所通过的距离,换算公式为V(速度)=(S(距离))/(T(时间))。

在慧编程的程序中,我们看到设定程小奔的运行距离的方法是以百分之几的动力行进多少秒。我们需要测量出程小奔1秒内移动多少距离,就能够计算出它的速度。根据速度我们才能够让程小奔移动设定的距离。测量的方法如下:

编写一个以动力50%持续前进1秒的程序,参考程序如下图,将此程序上传到程小奔上,再把程小奔放在一张A4纸上,在程小奔前画一个起跑线、旁边再放一个长尺。

准备好就可以按下程小奔的电源键来开始测量啦,前进1秒后用另一把尺子把程小奔前的位置画下来,再用尺子测量看看,程小奔一共走了多少距离吧。

邱老师测量结果大约为18厘米,可能每一台程小奔测出来的距离有误差,所以这个数据需要自己具体测量才知道。

那我们想要它只走10厘米(cm)要怎么办呢?在固定速度下,要改变行走距离,就要改变行走时间。所以,根据距离公式,我们容易得出,前进10厘米设定的时间为10/18秒,在慧编程中,我们用绿色的运算标签来表示。

值得注意的是,程小奔行进的动力百分比并不是线性关系的。换句话说,动力设定50%前进1秒的距离是18厘米,不意味着动力设定100%前进1秒的距离是36厘米。你可以测量一下不同百分比下的程小奔的前进速度。

这样我们就掌握了控制程小奔走出特定距离的方法。结合多边形绘制的知识,我们来尝试绘制特定大小的多边形吧。

想一想,这样是画出来几多边形呢?边长是多少呢?

最后,给大家留一道思考题

怎样让程小奔走出一个正多边形,并将这个多边形的周长显示在程小奔的LED矩阵上?

是不觉得很有意思?如果你对少儿编程感兴趣,点击了解更多少儿编程机器人程小奔信息!