JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

冒泡排序_200 smart

wys521 2024-12-05 15:51:00 精选教程 20 ℃ 0 评论

冒泡排序:Bubble Sort,是一种最基础的交换排序算法。从任一序列首位开始,每次比较两个相邻的元素,交换排列顺序错误的元素,反复进行上述操作,直至序列中所有元素按照一定的顺序进行排列。

以下是使用西门子200 smart PLC实现该功能的简易程序(官方有提供):

主程序:

待排序元素序列的起始地址预设为VB0,数据量预设为7个,并在数据块内添加7个字类型元素。

子程序:

段①:创建指针AC1,使用“移动双字指令”,将VB0的地址放入指针AC1(如果放在主程序里,"#起始地址:LD1"就是"&VB0");指针即地址

段②:使用For-Next循环指令,循环计数从2到7,即PLC的每个运行周期该指令循环执行6次(n个数据按顺序两两比较,需要n-1次);

段③:每次循环开始,先确定首对元素的地址AC1、AC2,然后对地址的值*AC1、*AC2比较大小。当第一个元素大于第二个元素,交换数值;否则,不做处理。最后,指针偏移指向下对元素首地址。(元素是字类型,故偏移量均为2)

段④:循环结束。至此,所有数据中的最大值将排序在最后。

之后,PLC程序将进入下一运行周期,该周期结束后,所有数据中第二大的值将排序在倒数第二位置......以此类推,数据最终会从小到大排列好。


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表