发表日期:2017-10-09 16:12:39文章编辑:信息管理员浏览次数: 标签:
第6讲 循环程序
我们先来看看顺序结构的程序实例。我们先用可视化系统设置如下:
上述设置的程序运行结果是八个LED灯同时被点亮。 我们看不出八个灯的点亮语句的顺序性。如果我们在每两个语句中间加下入一延时语句,变成下面的程序段,则LED灯按顺序点亮的过程就清楚不过了。
#include <LNDZ.h>
LED leds(23,39,41);
void init()
{
leds.sw(1,red);
delay(500);
leds.sw(2, red);
delay(500);
leds.sw(3, red);
delay(500);
leds.sw(4, red);
delay(500);
leds.sw(5, red);
delay(500);
leds.sw(6, red);
delay(500);
leds.sw(7, red);
delay(500);
leds.sw(8, red);
}
void repeat(){}
下面我们用几种循环形式,来完成上述功能。
方式一 repeat循环
1、定义变量,赋初值为1
2、声明LED灯,让i号灯亮与灭,并且添加延时语句:
3、控制变量递增 :
4、条件判断,让i变量及时“回头”
此程序运行结果与上述效果一样。这里,我们运用arduino程序中本身具有的重复函数,用变量 i 做指示灯的编号,实现循环动作,逐个点亮八个LED灯。
方式二 for 循环
下面我们地init()函数体内用计数型循环方式来实现上述完全相同的功能。
其余操作同上,产生结果下:
#include <LNDZ.h>
LED leds(23,39,41);
int i;
void init()
{
for(i=1;i<9;i++)
{
leds.sw(i,red);
delay(300);
leds.sw(i,0);
}
}
void repeat()
{
}
方法三 while循环方式
#include <LNDZ.h>
LED leds(23,39,41);
int i=0;
void init()
{
while (i<9)
{
i++;
if (i==9)
{
i=1;
}
leds.sw(i,red);
delay(300);
leds.sw(i,0);
}
}
void repeat()
{
}
这是最终程序,其余操作方法与上同。
循环程序结构是计算机或机器人中使用非常普遍而形式变化较大的一种基本结构形式。它是机器人不厌其烦执行同一动作,即不会带情绪,又不会出差错的具体表现。如果使用计算机技术或机器人技术的程序中没有循环结构,则这样的程序或机器人是没有多少作用的,或者说是极其简单的。所以本节之后,我们还会认真地分析一次循环结构及其应用。本节只是对其三种基本结构形式和可视化界面编程,做一次简单的介绍而已。