循环来让我们更有效率

来自Labplus盛思维基百科
Tangliufeng讨论 | 贡献2018年3月23日 (五) 14:32的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

我们在生活中经常会遇到一些需要重复执行的事情,在编程中也是如此,那我们如果我们要让某一件事执行多次,是把它复制粘贴几次嘛?显然不是的,这就可以利用到我们的循环模块来让我们做事更有效率。

使用循环和等待来显示心跳

我们可以使用内置图像模块来显示各种图形,其中包括了大心和小心,我们可以用这个来模拟我们的心跳。

步骤1.点击显示模块组,拖拽出两个显示图像模块。

步骤2.点击图像模块组,拖拽出两个内置图像模块,与显示图像模块结合,点击其中一个复选框,选择心(小)图案。这样就有了两个显示不同图像的模块。

Micorbit class1 1.png



步骤3.点击Microbit模块组,拖拽出睡眠模块,按照下图所示将它们组合起来。

Microbit class1 2.png



步骤4.下载烧录后,我们可以看到显示屏一开始是大心形,一秒后就变成了小心形,这就是一次心跳的过程,但很明显我们的心跳不止有一次,那么我们想一直执行,是要将这个过程复制无数次么?显然不是。

步骤5.那我们现在就要使用循环,来让我们更有效率。

步骤6.点击循环模块组,拖拽出重复当 执行模块,这个模块可以在重复当右边的条件判断为时执行程序。

Micorbit class1 6.png



步骤7.点击点击判断模块组,拖拽出模块,这个模块作为条件判断时恒为。将模块和重复当 执行模块结合就可以形成无限循环。

Microbit class1 7.png



步骤8.将它们和上面的心跳程序组合起来,如下图所示。但明显我们可以看到大心到小心要等待一秒,而小心到大心却不用等待,这显然是不对的。所以我们应该在显示图像心(小)模块下面也加入一个睡眠模块,如下图所示。

Microbit class1 8.png



步骤9.下载并烧录程序,我们就可以看到心在不断的跳动着。

Microbit class1 9.png



有限循环的使用

我们刚刚使用了无限循环来让我们一直保持着心跳,那么我们可不可以不让它一直执行,而是只执行几次呢?答案是肯定。

有限循环介绍

步骤1.点击循环模块组,我们可以看到有重复 次执行模块和使用从范围 到 每隔 执行模块,将这两个模块拖拽到白色区域,它们两个都是有限循环模块,那它们之间有什么区别和相似之处呢?

Micorbit class1 21.png



步骤2.我们如果没有将黑色区域完全遮挡掉的话,我们可以看到代码区域中的两者代码很相似。

Microbit class1 22.png



步骤3.让我们将使用i从范围1到10每隔1执行模块修改成使用i从范围0到10每隔1执行试试。我们会发现他们的代码就更相似了。只是一个是10,另一个是11,这说明了一个是循环执行10次,另一个是循环执行11次。这是因为i从范围0到10每个1中一共有0、1、2、3、4、5、6、7、8、9、10一共11个数,所以它会执行11次。

Microbit class1 23.png



步骤4.让我们再将使用i从范围0到10每隔1执行模块修改成使用i从范围0到9每隔1执行看看,此时他们的代码几乎相同,表面了它们两个的作用就几乎相同了。说明了使用变量从范围到 每隔 执行模块包括了重复 次 执行模块的作用。只是后者使用更简单,前者更多功能。

Microbit class1 24.png



有限循环运用

我们现在知道了两个有限循环的使用方法,现在让我们来试用一下,制作一个让心跳动10次的程序吧。

步骤1.开始如同之前的案例一样,点击显示模块组,拖拽出两个显示图像模块。
步骤2.点击图像模块组,拖拽出两个内置图像模块,与显示图像模块结合,点击其中一个复选框,选择心(小)图案。 步骤3.点击Microbit模块组,拖拽出两个睡眠模块,按照下图所示将它们组合起来。

Microbit class1 33.png



步骤4.点击循环模块组,拖拽出重复 次 执行模块,与上面组合的模块结合。

Microbit class1 34.png



步骤5.下载烧录程序后,可以看到心跳执行100次后就停止了。
步骤6.当然,我们也可以使用循环模块组中的使用变量从范围 到 每隔模块来组建我们的程序。

步骤7.点击循环模块组,拖拽出使用变量从范围 到 每隔模块,修改里面的1 – 10到0 – 9,与我们的心跳结合。

Microbit class1 37.png



步骤8.下载烧录程序后,可以看到跟之前的结果一样,心跳执行10次后就停止了。