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 -
工控老炮儿

分享 | 咨询 | 合作 | 共赢
文章转载自工控老炮儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




