搜故事,从300万个故事到海量知识百科的华丽转变!

LabVIEW编程基础:以实例教你学习For循环和移位寄存器的编程

时间:2020-03-20

另外,由于它并非一种封闭的语言,而是具有强大的外部接口能力,可以实现与C C++、Basic、Matlab等编程语言互通的能力,现在,LabVIEW不仅仅局限于虚拟仪

提示:本文共有 1396 个字,阅读大概需要 3 分钟。

LabVIEW是一种简单易学、形象直观的图形化编程语言,也称为G语言,具有丰富的同传统仪器外观类似的控件库(如旋钮、仪表盘、温度计、波形图表等),可以构建漂亮专业的用户界面,同时,内部提供了庞大的函数库(如数据采集、GPIB、串口控制、数据处理、数据显示及数据存储等),可以满足各行业各领域的开发需求。另外,由于它并非一种封闭的语言,而是具有强大的外部接口能力,可以实现与C/C++、Basic、Matlab等编程语言互通的能力,现在,LabVIEW不仅仅局限于虚拟仪器软件类的开发,而是已经发展成为了一种通用的、完善的、开放的高级编程语言。

LabVIEW语言中四大基本程序框架结构包括顺序结构、选择结构、循环结构和事件结构,其中,循环结构是用的比较多的一种结构,而与之配套使用的移位寄存器更是LabVIEW中的编程难点之一,这次通过一个例子给大家讲解一下For循环和移位寄存器的综合编程方法,帮助大家理解这个知识点。

示例说明

这次的例子是求解水仙花数。

先解释一下什么是水仙花数,水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,严格的定义水仙花数,是指一个3位数,它的每个位上的数字的 3次幂之和等于它本身。如371 = 3^3 + 7^3+ 1^3,则371是一个水仙花数。

编程思路

根据水仙花数的定义,可以理出下面的编程思路:

主框架使用For循环,循环次数为900次,在循环框上放置一个移位寄存器,其初始值是一个空数组在循环内对100-999之间的数字,每个数字分别验证其百位、十位及个位数字的3次幂之和是否等于其本身的值,若数字是一个水仙花数,则将其添加到移位寄存器的数组中,否则,保持上次移位寄存器的值当900次循环完成后,移位寄存器数组中的值即为所有的水仙花数的值

关键点处理

根据上面的编程思路,可以理出实现过程中的两个关键点:

1. 将一个三位数如何分解出单独的百位、十位及个位数字?

如对于数字371,如何分解成3个数字3、7、1?

先对数字371除以10,其商为37,余数为1,则1即为个位数的值1对商37继续除以10,得商为3,余数为7,则7即为十位数的值,3为百位数的值

这里使用的关键函数是LabVIEW内置的函数“商与余数 (函数)”,参数说明情况如下图所示:

其返回参数中,x-y*floor(x/y)是余数部分,floor(x/y)是整数商部分。

2. 在For循环中如何保存获得的水仙花数?

在For循环中,使用移位寄存器存储所有的水仙花数组成的数组,其初始值为空数组,在For循环内若满足水仙花数的条件,则使用数组的插入函数,将该数插入到寄存器的数组中,否则,移位寄存器中的值保持原值。

这里使用的关键知识除移位寄存器外,还使用了“数组插入”函数,参数说明情况如下图所示:

该函数的目的是在n维数组中索引指定的位置插入元素或子数组。

程序主代码实现

根据上面的分析,最终使用For循环及移位寄存器实现的代码如下图所示:

运行后,“数组”控件中输出结果如下图所示:

即所求得的所有水仙花数为153、370、371、407四处数值。

结论

从框图程序中看出,这个例子中涉及到的知识点除For循环结构和与移位寄存器初始化及使用外,还包括了选择结构、常用数组函数的使用及LabVIEW中如何求商与余数等。

大家加关注,可在评论中,查看LabVIEW原程序。

欢迎加关注,共同交流。

看到此处说明本文对你还是有帮助的,关于“LabVIEW编程基础:以实例教你学习For循环和移位寄存器的编程”留言是大家的经验之谈相信也会对你有益,推荐继续阅读下面的相关内容,与本文相关度极高!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
以实例跟我学LabVIEW编程:如何求解1000以内的所有素数

以实例跟我学LabVIEW编程:如何求解1000以内的所有素数

素数,循环,数组,移位寄存器,余数,子程序,整数,符合条件,程序,代码,函数,字符串,根号,自然数,问题,循环结束,个数,思路,条件,框图,结果,一个大,写一个,如何判断,判断是否,看一下,循环次数,转换为,电子表格,图中

2016-08-12 #故事会在线阅读

LabVIEW编程实例:趣味流水灯程序设计

LabVIEW编程实例:趣味流水灯程序设计

流水灯,代码,移位寄存器,函数,数值,控件,状态,结构,移动,板上,小程序,事件,功能,数组,程序,循环,事件中,位数,例子,时候,布尔,所示,设计,运行,退出程序,右移,左移,在事,小伙伴,中实

2012-12-05 #故事会在线阅读

手把手以实例教你学LabVIEW编程 事件结构框架

手把手以实例教你学LabVIEW编程 事件结构框架

事件,结构,代码,所示,鼠标,类型,如下图,信息,数据,程序框图,字符串,控件,按键,本例,界面,事件中,编程方法,函数,字符,方式,时间,框架,程序,软件,键盘,循环,运行,中事件,事件信息,日期时间

2011-10-12 #故事大全

手把手以实例教你学LabVIEW编程 顺序结构用法

手把手以实例教你学LabVIEW编程 顺序结构用法

顺序结构,随机数,时间,平铺,循环,运行,代码,所示,控件,数据,程序框图,过程,设计,如下图,个数,功能,内容,区别,语言,完全相同,局部变量,屏幕,帧数,方式,数值,本例,程序运行,空间,计数器,顺序

2020-09-06 #故事会在线阅读

LabVIEW编程实例:手把手教你做一个图片浏览器软件

LabVIEW编程实例:手把手教你做一个图片浏览器软件

文件,图片,事件,状态,代码,索引,结构,所示,数组,用户,程序,跳转到,函数,前面板,控件,按钮,机制,如下图,状态下,移位寄存器,作用,分支,格式,标题,程序框图,节点,当前文件,按钮时,运行状态,状态机

2018-11-08 #故事大全

慢步学习 python编程实例中 对遍历程序结构for语句的解析

慢步学习 python编程实例中 对遍历程序结构for语句的解析

代码,语句,文档,段落,缩进,遍历,元素,变量,内容,函数,冒号,实例,字符串,对象,结构,行为,内置,罗志祥,一个字,每次都,好的,夜宵,通俗易懂,字符,数量,注释,模块,经历,结果,运行

2011-09-16 #故事阅读

for循环的例子

for循环的例子

命令,文件,参数,命令行,定一个,名的,一行,内容,字母,开关,条件,语法,通配符,循环,可替换,一组文件,会显示,可以使用,文件中,组文件,当前目录

2020-08-05 #经典故事

经典模拟:程序设计中的FOR循环 是螳螂捕蝉黄雀在后的经典实现

经典模拟:程序设计中的FOR循环 是螳螂捕蝉黄雀在后的经典实现

循环,螳螂,黄雀,经典,动作,方位,程序,过程,螳螂捕蝉黄雀在后,观察到,在每一个,全程,灵魂,数组,现实,语言,实用,设计,多用于,基本形式,用的是,循环语句,有三种,最常用,现实世界,程序设计,编程语言,遍历,在程序

2016-06-13 #故事会