cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 3697|回复: 35

第四讲 程序结构---循环结构

[复制链接]
发表于 2009-2-9 11:25:02 | 显示全部楼层 |阅读模式
4.1 While 循环
While循环是一种结构,它重复执行代码片段直到满足某种条件为止。它可比作传统语言中的Do Loop或Repeat-Until循环。它位于编程→结构→While循环。每个While循环都有一个条件端子和一个重复端子。如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:25:37 | 显示全部楼层
重复端子用于记录和输出已执行的循环的次数,条件端子输入的是一个布尔变量:真或假,While循环将一直执行到连接条件端子上的布尔值变成真或假为止,取决于条件端子设置为“真(T)时停止”还是“真(T)时继续”。在条件端子上单击右键即可进行更改。如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:26:14 | 显示全部楼层
该循环有如下特点:
l
计数从0开始(i=0)。
l
先执行循环体,而后i+1,如果循环只执行一次,那么循环输出值i=0。
l
循环至少要运行一次。



下面举个简单的例子:利用While循环产生随机数,当产生的随机数大于0.8时,循环停止。
步骤如下:
1. 打开前面板,新建两个数值显示控件,一个为循环次数,一个显示最后产生的那个大于0.8的随机数。如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:26:40 | 显示全部楼层
2. 切换到程序框图,放置一个While循环,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:28:01 | 显示全部楼层
3. 放置随机数函数到While循环内,并连线,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:28:47 | 显示全部楼层
4. 放置比较函数,将循环次数与重复端子连线,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:29:09 | 显示全部楼层
5. 运行,即可在前面板上看到结果,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:29:34 | 显示全部楼层
在程序框图中,在数值显示控件上单击右键,可更改数值的类型,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:30:08 | 显示全部楼层
各种数值的类型都可以看见,我就不再赘述。


在While循环的边框上单击右键,可添加位移寄存器,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:30:34 | 显示全部楼层
有关位移寄存器的用法,我们将会在下面讲到,这里暂不做介绍。
注意:While循环的条件端子一定要有连线,否则程序无法运行!如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:31:35 | 显示全部楼层
4.2
For
循环

For循环用于将某段程序执行指定次数。
For循环位于函数→编程→结构→For循环,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:32:03 | 显示全部楼层
从图中可以看到,For循环有两个端子:
计数端子:要执行循环的次数,可用于For循环内部的循环计数
重复端子:已执行循环的次数,可用于For循环内部的重复计数


应用举例:产生10个随机数,并把最后一个显示出来。
步骤如下:
1. 放置一个数值显示控件到前面板,并改名为随机数。
2. 放置For循环到程序框图,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:32:34 | 显示全部楼层
3.放置随机数函数到程序框图,并连线
4.计数端子上单击右键,选择创建常量,并输入10,如图:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:33:00 | 显示全部楼层
5.运行程序,便可在前面板上看到结果。
6.因为程序的运行的速度非常快,我们无法一个一个地看清所产生的10个随机数,我们可以在程序框图中添加时间延迟控件。它位于函数→编程→定时→时间延迟,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-2-9 11:33:28 | 显示全部楼层
7. 放置它到程序框图上,选择延迟的时间,即两次循环之间的时间间隔。如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2024-5-18 22:05 , Processed in 0.660425 second(s), 7 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表