一、前言

1、递归算法是一种直接或者间接调用自身函数或者方法的算法,就是将复杂问题不断分解为规模缩小的子问题,然后递归调用方法求解
2、递归思维是一种从下向上的思维方式,使用递归算法往往可以简化我们的代码,而且还帮我们解决了很复杂的问题
3、在PLC内应用存在局限性,但可以将项目上相似逻辑区域“合并同类项”,写一个包括相似性最大的函数块并配置好数据引脚,循环调用同一个函数方法去解决不同子区域的问题,进而实现整体项目的解决!

二、常见简单递归案例

1、阶乘(FOR循环调用N*(N-1)方法)

2、斐波纳契数列
计算公式:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)


3、杨辉三角的取值
杨辉三角,是二项式系数在三角形中的一种几何排列

三、工控项目上复杂应用

①相似功能开发FC块,定义数据引脚;②程序基础数据数组定义好;③FOR循环调用子程序,将复杂问题通过函数块重复调用而求解!


备注:PLC程序也能规范、多样化、高级点;需要案例程序请点击此链接

博图SCL_递归算法的应用相关推荐

  1. 博图SCL_先进先出排序法

    实验案例 DB区按写入数据的先后顺序存储,遵循先进先出原则,且移出的数据,后续位置数据自动以压栈的方式补充 1.主程序调用及数据块定义 主程序可调用多次数据块,填写不同区域的引脚可排序多个数据区 2. ...

  2. 博图SCL_约瑟夫入狱

    实验案例 要求描述:约瑟夫入狱,监狱内共有33个犯人.某日33名犯人围成一圈,从第一个犯人开始报数,报到数字7的犯人出列,被枪毙,下一名犯人重新从1开始报数.依次类推,直至剩下最后1名犯人可被赦免.聪 ...

  3. 博途项目服务器,博图服务器客户端架构

    博图服务器客户端架构 内容精选 换一换 GaussDB(for Cassandra)支持使用弹性云服务器或本地设备,通过公网连接实例.本章节以Linux操作系统和弹性云服务器为例,指导您通过公网连接G ...

  4. 博图只能通过地址相同设备找到plc_小白求教:博途v13无法连接s7-1200,显示在网络上未找到任何设备...

    展开全部 可能需要清除程序后才能连接,另外一种可能是,软件环境有问题,驱动部分未正常加载,博图任何一个版62616964757a686964616fe78988e69d8331333433636131 ...

  5. 博图wincc连接数据块_西门子博途WINCC 可通过创建画面模板提高编程效率

    博图WINCC 如何做画面模板 1.在PLC中新建一个UDT数据 2.新建一个DB块,调用之前建立的UDT 3.DB块--属性--属性中,取消"优化的块访问" 4.取消后对DB块进 ...

  6. 博图程序需要手动同步_贴吧求助帖博图实例单按钮控制灯的程序

    接上一期在贴吧看见的求助帖(上图看得见水印),因为没人回复,发帖的楼主好像删除了帖子.结果我抽时间用博图15.1,S71200做了一个,希望给需要帮助的新人能够起到作用,感觉有用的话可以关注一下我的公 ...

  7. 博图v16组态wincc_西门子WinCC与S71200OPC通讯方法

    一.打开博图v15.1,创建新项目"opc 1200",如图1 图1 添加常规PC机,如图2 图2 添加PLC 1200,如图3 图3 PC机添加OPC服务器,如图4 图4 添加常 ...

  8. 博途数据类型wstring怎么用_解析博图数据块(昆仑通态触摸屏自动命名)

    1,博图数据块的数据排列原则: 数据对齐算法:将当前地址对齐到整数: numBytes = (int)Math.Ceiling(numBytes);将当前地址对齐到偶整数: numBytes = Ma ...

  9. tcp通讯 怎么进行安全认证_西门子PLC在博图环境下进行TCP通讯详解

    对于做工控设备的人员来说,精通各种通讯协议的使用是必不可少的,通讯协议就像语言一样,只有双方都约定好了协议之后,我才能知道你想做什么以及你需要什么,反之同理.这几天做了一个项目,是博图环境下使用西门子 ...

最新文章

  1. 京东员工怒怼公司:每天工作到很晚甚至凌晨,你跟我说这是幸福?
  2. UF_DRAW_set_view_display 使用问题
  3. Windows anaconda python3 import ssl报错的解决方案
  4. VC INI文件读写 和 GetProfileString,WriteProfileString函数的使用
  5. 检查本机显卡的cuda信息及适配cuda-sdk版本
  6. java字节码反编译_javap 反编译 java 字节码文件
  7. typedef 的四个用途和两大陷阱
  8. Fedora 8中完全开启compiz-fusion特效
  9. oracle 外部os授权,外部OS认证的过程
  10. SCADA数采HAAS数控系统现场实操步骤
  11. Linux版的led显示屏控制软件,中航Led显示屏控制软件下载
  12. java 睡眠1s_Java sleep():线程睡眠
  13. Linux上Meson安装及使用
  14. java不支持bks,java不支持bks
  15. linux 杂项设备,浅谈 MISC杂项设备
  16. 不用光盘和u盘怎么重装系统win10
  17. 计算机参数含义,电脑内存条参数各有什么含义?
  18. 前端开发实习面试题(CSS篇)
  19. (6CBIR模拟问题)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署...
  20. 基于人工智能视觉芯的高速公路交通事故预警预测方案

热门文章

  1. Prometheus 简介与架构
  2. MCU学习笔记_STA及PT工具
  3. CANoe简易教程1
  4. PyQt5中的lambda表达式的使用
  5. 数据可视化项目【一】基础配置
  6. 火狐浏览器代理服务器拒绝连接的解决方案
  7. 求100以内的质数(Java版定义法、break优化,Math.sqrt()优化)
  8. React生命周期的变化
  9. FTP工具,你知道的FTP工具有哪些,5款最好用的FTP工具
  10. 查看U盘占用程序的方法