目的:写一个跑马灯程序,7个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节。
一、方法1:使用顺序结构
使用顺序结构,平铺式顺序结构与创建局部变量实现LED流水灯
具体步骤如下:
第一步,选择顺序结构
选择成功之后的界面如下:
此时我们看到我们的鼠标变成了一个小矩形。我们点击鼠标左键,可以拉动这个矩形框。
点击鼠标之后,在程序框图的界面,我们可以看到有一个灰色的矩形
我们这个程序,要实现7个流水灯的流动。
它的思路是:第一个LED亮了,经过一段时间,第二个LED灯亮,同时第一个LED灯熄灭;经过相同的时间后, 第三个LED亮,同时第二个LED灯熄灭。以此类推,........
所以,我们应该有7个分支。
那我们如何添加分支呢?
此时,我们会发现后面有一个矩形,用鼠标左键拖动这个框,能够调整它的大小
拖动界面:
调整后的大小如下:
用同样的方法,我们弄7个框出来:
顺序框架搭建之后,我们应该做什么呢?我们实现流水灯如果只实现一次,那么我们这么做就可以了,如果我们要重复很多次的流水灯,这样做肯定是不太正确的。为此,我们应该添加一个循环结构,例如while循环。
第二步,添加循环结构
选择while循环的方法如下:
此时我们可以看到有一个可以让我们拖动的小矩形:(这个小矩形的作用是:让我们拖动,调整while循环的大小)
设置好之后的样子:
为循环添加停止按钮:
连接:
第三步,选择圆形指示灯
用同样的方法,放置七个圆形指示灯
第四步,创建局部变量
创建局部变量的目的:在下一个分支中控制上一个LED灯的状态。
因此,第一个LED灯点亮之后,在第二个分支中,我们应该将第一个LED灯熄灭。因此,我们需要创建对第一个LED灯的局部变量赋值为F。如下图所示:
给局部变量复制成功:
在第一个LED灯亮的时候,最后一个LED灯应该是熄灭的,所以第一个分支中,应该放入第七个的LED局部变量并给它赋值为F。
所以,为了实现流水灯的效果,我们需要将此分支的局部变量放到下一位去,最终呈现的结果如下:
其实,有一个地方我们还没做好,那就是给我们的布尔(LED) 赋值为真。
创建成功之后,我们会发现我们这个布尔连接的是一个F,也就是一个假值。
那我们如何修改其为真(T)呢?
修改后的结果如下:
最终的效果:
第五步,添加延时:
找到延时:
添加延时:
最终为每个顺序结构中添加延时,如下图所示:
第六步,添加延时时长控制
需要延时多长,我们可以添加一个可以控制的滑动杆控制。
添加之后:
这里表示的是0-10,那接上我们的延时,也只是0-10ms,时间较短,我们应该将其调大一点,如何调整呢?
我们可以点击最后一位数字10,双击它,将其修改为1000。如下图所示:
这样好像满足了我们的大致需求,但是如果我想调整精细一些呢?我们该如何修改呢?我们可以将这个滑动杆拉长,就实现了我们大致的一个想法。(如果要精细到某个数字,还是建议使用输入按键)
拉动之后的效果如下:
在程序框图中,我们也可以看到有一个输入的滑动杆:
此时我们将延时与其接起来即可:
我们将滑动杆设置为一定的时间,如下图所示:
运行程序,即可得到相应的效果: