2.3.3 使用或并和If活动创建条件循环
本小节将用到VIPLE程序中的条件循环。因此,我们先了解下If语句和While循环语句。
1.If语句
If语句是从传统编程规范里继承而来的。If语句也被称作条件语句。在VIPLE中,If语句是通过下图的块来表示的。
如果条件为真,If语句中的区块就会被执行;如果条件为假,控制流就会转到Else语句里。在If的条件中,可以用OR(||)或者AND(&&)运算来合并多于一个的条件。与传统编程语言不同,VIPLE允许使用If的程序进入多于两个分支。想增加更多分支时,只要点击Else分支旁边的“+”然后输入你想要检查的条件即可。VIPLE会依次检查各个条件,你的程序会进入第一个条件为真的分支中。
2.While循环语句
While循环也属于条件循环类别。While循环语句会一直执行,直到条件变为假。它也是一个先检查的循环,也就是它会先检查条件是否为真然后再接着执行。
问题:为什么我们需要学习使用While循环?
接下来,我们的工作是创建一个变量,初始化该变量然后把它计数到10,并用TTS模块来说出每次循环时变量的值。这里要用到我们刚才介绍的循环语句,具体步骤如下:
1)在“文件”菜单中选择“新建”来创建一个新项目并将其命名为“Exercise_03”。
2)从工具箱中插入一个变量(Variable)活动。
3)点击“…”来定义变量。在打开的对话框中,点击Name文本框并输入Counter作为这个变量的名字。点击Add按钮,之后从“Type”下拉列表里选择Integer作为这个变量的类型,最后点击OK。
4)现在添加一个数据块到框图中变量块的左侧并用一个链接来连接数据活动和变量块。
5)在开关块的文本框中输入0,数据的类型自动变为Int32。这样就设定了数据和它的类型。开关块与变量块的连接会将Counter初始化为0。
6)插入一个或并块到变量块的右边,并把变量块连接到或并块上。这个块是用来创建一个计数循环的。
注意:一个或并块可以有多个输入,但同时只会有一个输入值。当一个输入值到达,立即通过或并块。
7)接下来添加一个如果活动到框图中的或并块的右侧。连接或并块和If语句块。在如果语句块中,输入state.Counter == 10。
8)添加一个计算块并将它连接到如果语句块的否则连接上。在计算块中输入state.Counter + 1。
9)将另一个变量插入框图中。这个新的变量在Counter被修改后会使用它的值。点击“…”按钮选择Counter变量,然后点击OK。
10)将变量块的输出引脚连接到或并块上,这就完成了循环的设计。
11)插入一个TTS块到框图中,使得程序在做累加时能够用语音说出结果。添加另一个计算块到框图中,在新的计算块中输入“The number is” + state.Counter。
12)然后添加一个TTS块并将它连接到计算块的输出上。
13)添加一个数据块到如果语句的后面,在数据块中输入“All done!”。
14)添加另一个TTS块并将它连接到数据块上。当它计到10时,程序能够说出“All done!”。
15)完成程序后,点击Run按钮来运行程序(或者按F5键)。
完成后,请保存项目文件以便后续上传。在实验结束时,需要把项目文件打包上传。
请通知你的实验指导老师并演示你的程序,然后换一个操作员进行下一个实验任务。