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

SCL编程实例100例-059-邮票组合

工控老炮儿 2022-12-28
319

1 | 题目



有四张3分的邮票和三张5分的邮票,编写程序计算用这些邮票中的一张或若干张可以得到多少种不同的邮资。



2 | 设计分析



将问题进行数学分析,不同张数和面值的邮票组成的邮资可用下列公式计算: #statSum=3*#tempI+5*tempJ,其中#tempI为3分邮票的张数,#tempJ为5分的张数,按题目的要求,3分的邮票可以取0、1、2、3、4张,5分的邮票可以取0、1、2、3张。采用穷举法进行组合,可以求出这些不同面值不同张数的邮票组合后的邮资。



3 | 创建功能或功能块



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




4 | 定义接口变量



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

定义数据类型为整型数的一维数组变量#statResults作为邮票组合后的邮资结果输出,预定义了0-19共20种结果。



5 | 程序代码



编写程序代码。如下图:


程序中WHILE循环用来判断是否有重复的结果,跳过重复结果只保留不重复的结果。



6 | 代码测试



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


得到19种组合结果为:5、10、15、3、8、13、18、6、11、16、21、9、14、19、24、12、17、22、27。



7 | 总结



学习使用FOR循环语句;

学些使用FOR循环嵌套;

学习使用WHILE循环语句;

学习使用IF条件语句;

学习一维数组的使用方法;

学习组合赋值的使用方法。

- END -

工控老炮儿


分享 | 咨询 | 合作 | 共赢


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

评论