暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SCL编程实例100例-051-新娘和新郎

工控老炮儿 2022-12-20
1605

1 | 题目



三对情侣参加婚礼,假设三个新郎为a、b、c,三个新娘为x、y、z。有人不知道谁和谁结婚,便询问了六位新人中的三位。得到的回答是:a说他将和x结婚,x说她的未婚夫是c,c说他将和z结婚。实际上他们都在开玩笑,说的全是假话。编写程序找出真正答案,谁将和谁结婚。



2 | 设计分析



给三位新郎进行编号,a、b、c分别对应1、2、3。a不与x结婚表示为x<>1,x的未婚夫不是c表示为x<>3,c不与z结婚表示为z<>3。题目隐含条件是三个新娘不能结为配偶,得到条件:x<>y且x<>z且y<>z。



3 | 创建功能或功能块



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




4 | 定义接口变量



具体接口变量定义见下图:

定义数据类型为整型数的一维数组#resultQs,用来输出对应新娘的新郎号,resultQs[1]代表新娘x,resultQs[2]代表新娘y,resultQs[3]代表新娘z。



5 | 程序代码



编写程序代码。如下图:


采用FOR循环穷举法循环配对,满足条件则输出结果。



6 | 代码测试



在循环OB中调用FB-“BrideAndGroom”,调用时会自动创建背景数据块,命名为“InstBrideAndGroom”,该背景数据块可以用来监视和修改数据。转至在线并监控程序。如下图:


得到结果为:新娘x的新郎为2号,即b;新娘y的新郎为3号,即c;新娘z的新郎为1号,即a。



7 | 总结



学习使用FOR循环语句;

学习使用循环嵌套;

学习使用IF条件语句;

学习一维数组的使用。

- END -

工控老炮儿


分享 | 咨询 | 合作 | 共赢


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

评论