实例说明
使用LabVIEW编程语言,编写一个VI程序,要求如下:
- 能够生成指定长度的a-z之间的随机字符串
- 能够查找某个字符在字符串中出现的次数及位置
实现后的软件运行界面如下图所示:
编程思路
对于第一个问题,要求生成a-z之间的随机字符串,本质上是在LabVIEW中如何生成字母a-z对应的ASCII码即97-122之间的随机整数。
对于第二个问题,在生成的字符串中查找某个字符出现的次数及位置,有两种方法可以解决,一是转换为一维数组中某元素的搜索问题,即在一维数组中搜索该字符对应的ASCII码数值在数组中出现的次数及位置;二是直接在字符串中使用LabVIEW提供的字符串操作的相关函数搜索该字符。
LabVIEW中的实现代码
根据上面的编程思路,下面给出该实例的程序框图实现代码,如下图所示:
程序框图中,左面for循环用于产生指定长度的随机字符串,右面while循环用于查找某字符出现的次数及位置,下面分别进行说明。
1、生成指定长度的a-z之间的随机字符串
在程序框图中,首先使用“字符串到字节数组转换”函数求得z和a对应的ASCII码值,其返回值是一个数组,对应了产生随机字符串ASCII码值的最大值(122)和最小值(97)。在for循环中,循环次数设为指定的生成字符串的长度,在循环内部,生成97-122之间的随机数并将其转换为U8类型的数值,for循环外即为所产生随机字符串的ASCII码值数组,最后使用“字节数组至字符串转换”函数将其转换为字符串即可。
注意,“字节数组至字符串转换”函数要求的输入是U8型的数组,所以要在for循环内部将产生的随机数强制转换为U8类型。
2、查找某个字符在字符串中出现的次数及位置
在上面程序框图中,采用的是直接在字符串中用LabVIEW提供的字符串操作函数搜索该字符的方法。在while循环中,使用“匹配模式”函数在字符串中搜索该字符,关键的地方是,该函数在每次搜索时需要一个偏移量参数来限定本次从哪个位置开始搜索,当搜索到该字符时,会返回搜索到该字符的位置,当未搜索到时,会返回-1。所以在while循环中使用了移位寄存器,其初始值设为0,每次循环后将搜索到的位置加1后作为下次搜索的起始位置,直到该函数返回为-1时,while循环结束。
当退出while循环时,i的值即为搜索到指定字符的次数。将每次搜索到的位置输出到while循环外,为一个数组,该数组的最后一个元素值是-1,即while最后一次循环时的值,所以将其最后一个值使用“删除数组元素”函数去掉,数组中剩下的所有元素即为该字符出现的所有位置。
总结
至此,使用上面的编程思路及框图程序就实现了本文开头所提出的题目要求。该例子涉及到的知识点包括:随机数产生、数值与字符串相互转换、for及while循环、元素搜索、移位寄存器、数组操作等。
大家加关注并私信回复:LabVIEW19,可获取该文章对应的LabVIEW原程序下载。
如果你觉得这篇文章对你有用的话,请不要忘记点赞哦。
1.文章《labview怎么限定最大输入数》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《labview怎么限定最大输入数》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好