『7x24小时有问必答』
1  | 题目

有一个10个整数元素的数组,任意相邻的两个数不同,编写程序获取该数组中所有的递增、递减序列。例如:
给定数组序列:
1、5、9、8、12、21、3、0、-1、9。
包含的递增递减序列如下:
1、5、9
9、8
8、12、21
21、3、0、-1
-1、9。

2 | 设计分析

从第二数起比较它的前一个数和后一个数,如果出现大于且小于或小于且大于则认为不满足序列要求,需要重新输出新序列。

3  | 创建功能或功能块

创建功能块FB,命名为“ArrayIncDec”。

4 | 定义接口变量

具体接口变量定义见下图:
定义了可变长(泛型或可变限值)整数类型二维数组,数据类型为#Array[*, *] of Int,用来作为截取的递增递减序列的结果输出。

5 | 程序代码

编写程序代码。如下图:

注意:程序算法中的条件语句,不是重新排序,而是从中找出并截取递增或递减数列。

6 | 代码测试

在循环OB中调用FB-“ArrayIncDec”。如下图:
定义了全局数据块GdbArrayIncDecData作为实参传递给形参。
转至在线并监控程序。如下图

上图为原始数组整数序列:1、5、9、8、12、21、3、0、-1、9。

上图为截取的第一组序列。

上图为截取的第二组序列。

上图为截取的第三组序列。

上图为截取的第四组序列。

上图为截取的第五组序列。

7 | 总结

学习可变长二维数组的定义和使用;
学习使用FOR循环语句;
学习使用IF条件语句;
学习在OB中调用FB和实参的传递方式

- END -
工控老炮儿

分享 | 咨询 | 合作 | 共赢

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

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

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码