程序思想中的冒泡法在python和1200PLC中scl高级编程中的应用

冒泡排序:是计算机科学领域里面的一种算法。 header
这个算法名字的由来是因为在执行算法的时候越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,所以叫做“冒泡排序”。 header
---------------------------------------------------------------------------------------- ------
一、在python中排序
1、在python的列表中对数据大小进行排序
2、排序后的结果

二、在西门子1200PLC中用SCL排序
1、在1200PLC中,对不定长数组进行排序,对于不定长数组数据类型只能建在InOut引脚上

2、新建一个任意个数的Array类型的整型数据类型变量,运行后的结果

三、总结
1、两者的思路是一致的。都是通过循环比较交换位置,把数据特征推送到最后,也可以是最前。
2、在具体实现上,python用While循环,用的len()方法得到循环轮数和比较次数;scl用FOR循环,用LOWER_BOUND()和UPPER_BOUND()来确定比较数组的下限和上限,然后在外循环选出最前面的一个和内循环中后面的逐个比较。
四、扩展:scl中运用已有函数求出数组中的最大和最小值
1、对定长Array进行求最大最小值,可以直接用FC功能块

2、运行结果

3、改进,对不定长的Array进行求最大最小值

4、修改后的scl,用了Static管脚的Upper上限,所以用的FB功能块。

5、运行结果

posted @ 2022-08-05 11:33  匠心灵域  阅读(986)  评论(0编辑  收藏  举报