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

矩阵的转置:把矩阵的行元素变为列元素、列元素变为行元素的过程。编写程序实现输入n*n的正方形整数矩阵,输出它的转置矩阵。例如:
输入矩阵:
1    2   3
4   5   6
7   8   9
转置结果:
1   4   7
2   5   8
3   6   9

2 | 设计分析

定义一个二维数组作为正方形整数矩阵,交换二维数组行与列的上下限值脚标后重新输出得到转置后的数组,即实现了矩阵的转置。

3  | 创建功能或功能块

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

4 | 定义接口变量

具体接口变量定义见下图:
定义了变量#start,数据类型为Bool,用来作为触发转置的条件。定义了可变长(泛型或可变限值)整数类型二维数组,数据类型为#Array[*, *] of Int,用来作为矩阵的输入和转置结果的输出。

5 | 程序代码

编写程序代码。如下图:

用相关的指令获取可变限值的二维数组的不同维度的上下限值脚标,上下限值脚标作为二重嵌套循环的循环变量的初始值和结束值

6 | 代码测试

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

7 | 总结

学习可变长二维数组的定义和使用;
学习上升沿的使用;
学习使用FOR循环语句;
学习使用FOR循环嵌套;
学习RETURN指令在程序中的作用;
学习在OB中调用FB和实参的传递方式。

- END -
工控老炮儿

分享 | 咨询 | 合作 | 共赢

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

本帖子中包含更多资源

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

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

本版积分规则

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

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

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


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