当前位置: 首页 > news >正文

S7-200SMART实例之冒泡法排序子程序

需求分析

编写程序实现冒泡法排序的算法。

冒泡法排序是一种简单的排序算法。因其过程如同水中气泡最终会上浮到水面一样,故被形象地称为“冒泡法排序”。

实现原理

根据以上需求分析可以按以下步骤实现算法:

1.比较相邻的元素。如果第一个比第二个大,则交换位置。

2.对每一对相邻元素做同样的操作,从开始第一对到结尾的最后一对。本轮结束,最后的元素会是最大的数。

3.针对所有的元素重复以上的步骤(除了最后一个)。

4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

开发环境

操作系统:Win10 Professional (64)。

编程软件:SETP 7-MicroWIN SMART V2.5。

硬件版本:CPU SR20 6ES7 288-1SR20-0AA0。

固件版本:V02.05.01。

程序设计

局部变量定义:

图片

编写代码(LAD):

图片

实现方法:

1.使用间接寻址建立数据指针。

2.使用程序循环:FOR NEXT。

3.循环中执行数据比较。

程序测试

在MAIN中调用以上子程序并分配实参。

图片

通过指针给定10个无序的整型数:6、1、3、8、5、9、4、7、10、2。

在M0.0上通过鼠标右键选择写入,写入TRUE,开始排序。如下图:

图片

经过冒泡法排序算法计算得到排序后的结果,从小到大:1、2、3、4、5、6、7、8、9、10。

引文:博途工控人平时在哪里技术交流博途工控人社群

相关文章:

  • 能赚钱的GPT Store正式上线!如何将自己的 GPT 放到商店中?
  • 红队打靶练习:BREACH: 1
  • 【计算机网络】TCP原理 | 可靠性机制分析(三)
  • PyCharm使用手册
  • vim常用命令总结
  • JSON格式插件-VUE
  • docker一键安装
  • 手写一个starter来理解SpringBoot的自动装配
  • vue配置qiankun及打包上线
  • 【复现】DiffTalk
  • Java面试——框架篇
  • 【MATLAB】快速绘制曲线图的形状,粗细,颜色
  • docker run 命令详解
  • 给Flutter + FireBase 增加 badge 徽章,App启动器 通知红点。
  • base64与BytesIO图片进行编码、解码;api调用
  • “大数据应用场景”之隔壁老王(连载四)
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 08.Android之View事件问题
  • 10个确保微服务与容器安全的最佳实践
  • cookie和session
  • E-HPC支持多队列管理和自动伸缩
  • ERLANG 网工修炼笔记 ---- UDP
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Objective-C 中关联引用的概念
  • python_bomb----数据类型总结
  • SegmentFault 2015 Top Rank
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 小程序 setData 学问多
  • 小李飞刀:SQL题目刷起来!
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #pragma pack(1)
  • $(function(){})与(function($){....})(jQuery)的区别
  • ( 10 )MySQL中的外键
  • (1)(1.13) SiK无线电高级配置(五)
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (C)一些题4
  • (二十三)Flask之高频面试点
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (学习日记)2024.01.19
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转载)(官方)UE4--图像编程----着色器开发
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .NET BackgroundWorker
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .net Stream篇(六)
  • .net解析传过来的xml_DOM4J解析XML文件
  • @Bean有哪些属性
  • @vue/cli 3.x+引入jQuery