陈树学:LV Nugget之三段范围比较与条件结构
三段范围的判定是最为常见的,比如给定一个X值,判定X<10.5, 10.5<=x<=30.6,x>30.6.。对于两段或者三段范围的问题,使用条件结构是很适合的。判断2段范围需要一个条件结构,判断三段范围需要两个条件结构,三段范围条件结构如下图所示:从上图可以看出,2层条件结构已经非常复杂了,所以实际应用中,很少看到三层以上的嵌套条件结构。对于需要多层嵌套条件结构,需要尽量转换到一个条件结构的多个分支中。下面我将讨论对于三段范围,替代上述2层嵌套CASE结构的方法:1、利用“选择”函数选择函数类似于C语言中的三元操作符,替代2层条件的程序框图如下图所示:
使用选择结构与IF ELSE结构非常类似,结构非常清晰,但是由于三元操作符条件所限,无法处理更多的信息,从功能上看,不如条件结构。2、利用布尔数组替代嵌套CASE三、双精度数转换为整数后,利用CASE结构我们知道,LABVIEW中的case结构是非常强大的,其条件选择可以接受多种数据类型,比如布尔、整数、枚举、下拉列表、单选按钮、TAB、字符串等等,但是无法直接使用双精度数。下面就是我今天要谈及的Nugget,记得我过去写过比较双精度数是否相等的问题,使用的方法就是放大双精度数,然后圆整,下面的例子对双精度数放大100倍后,然后利用CASE结构。 东莞华视自动化科技有限公司http://visionbbs.com,专注机器视觉方案与高性价比机器视觉软硬件
页:
[1]