4.4 LOOP、REPEAT循环编程

LOOP循环结构

LOOP循环结构语法:

  1.      [循环语句标签:] LOOP
  2.         循环语句 ;  可包含 iterate语句
  3.     IF 结束条件 THEN
  4.             LEAVE  [循环语句标签] ;
  5.         END IF
  6.     END LOOP [循环语句标签] ;

功能:当结束条件不成立时,一遍又一遍反复执行循环体,直到结束条件成立为止。

LOOP执行流程: ①执行1遍循环语句 ②求解“结束条件”:若结果为False,转第①步,若为True转第③步; ③结束循环,执行紧邻的后续语句。 流程图:

需要注意的是: LOOP之前的可选项“[循环语句标签:]”和END LOOP 之后的“[循环语句标签]”必须一致。 END LOOP后必须以“;”结束。 “循环语句 ;”可以是1条或多条MySQL语句,可包含iterate语句。 关于leave和iterate的区别,请参见上一讲视频。 LOOP循环本身没有结束循环的机制,必须使用LEAVE方可终止循环,而LEAVE一般配合IF语句使用。

使用示例: 素数是只能被1和它自身整除的正整数。请用LOOP循环设计函数IsPrime2,判断给定正整数n是不是素数。

用LOOP改写上一关所写的测试循环, 因为Loop循环是先执行循环体,再判断条件,对于特殊的素数2,做了单列处理。

  1.  create function IsPrime2( n int ) returns int
  2. begin
  3.     declare  i  int  default  2 ;    #i代表从2开始,直到n-1中的一个正整数
  4.     declare  yn  int  default  1 ;    #先假定yn 1,代表n是素数
  5.     if  n = 2 then             # 2是素数,没有大于1但小于2的整数
  6.         return yn ;
  7.     end if ;
  8.     test: LOOP
  9.              if  n % i = 0 then        #i能整除n,反证n不是素数
  10.                set yn = 0 ;        #yn 0,表示n不是素数
  11.                leave test ;        #结论已提前锁定,不再测试小于n的其它数
  12.              end if ;
  13.             
  14.               set i = i+1 ;            #准备下一个用来测试n的正整数
  15.           if  i >= n  then    #测试完毕,结束循环
  16.                   leave test ;           
  17.          end if ;
  18.      END LOOP test ;
  19.      return yn ;
  20. end $$
  21. delimiter  ;
  22. select IsPrime2( 2 ), IsPrime2( 3 ), IsPrime2( 9 )  ;

REPEAT循环结构

语法:

  1. [循环语句标签:] REPEAT
  1.     循环语句 ;  可包含ITERATELEAVE 语句
  2.     UNTIL 结束条件
  3. END REPEAT [循环语句标签] ;

功能:当结束条件不成立时,一遍又一遍反复执行循环体,直到结束条件成立为止。

REPEAT执行流程: ①执行1遍循环语句 ②求解“结束条件”:若结果为False,转第①步,若为True转第③步; ③结束循环,执行紧邻的后续语句。

流程图:

需要注意的是: REPEAT之前的可选项“[循环语句标签:]”和END REPEAT之后的“[循环语句标签]”必须一致。 END REPEAT后必须以“;”结束。 “循环语句 ;”可以是1条或多条MySQL语句,
可包含 ITERATE和LEAVE语句。 关于leave和iterate的区别,请参见上一讲视频。 REPEAT循环本身就带有结束循环的机制,LEAVE语句不是必须的。  

根据提示,在右侧编辑器补充代码,使用REPEAT语句实现以下需求:

    #请用repeat语句实现相应功能。

   /**********Begin**********/

  test: repeat

  fetch rs into x,y;

  if x>=60 then

  set s=s+y;

  end if;

  set m=m+1;

  until m>n

  end repeat;

  /**********End**********/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 西门子s7-1200是一种先进的工业控制系统,具有高效、可靠、灵活的特点。它能够为各种工业应用提供完整的自动化解决方案,实现对工艺流程、生产线和机器设备的控制和监控。 《西门子s7-1200系统编程手册v4.4》是一本详尽的系统编程指南,适用于所有使用s7-1200控制器进行编程的人员。本手册包含了控制器硬件、软件和通信方面的基础知识,以及“步骤”、“函数”、“程序”、“块”等编程要素的使用方法和实例应用。 手册中包含许多实用的编程技巧和注意事项,如命名规则、数据类型、数据块管理、趋势图和报警处理等。此外,还介绍了如何使用SIMATIC Manager和TIA Portal软件进行控制器编程和调试,以及如何使用SIMATIC S7-1200工具包和网络通信协议实现数据通信和监控。 阅读本手册可以帮助读者全面掌握s7-1200控制器的编程知识,准确、高效地实现各种自动化控制应用。无论是对于工程师、技术人员,还是对于学习PLC控制系统编程的人群来说,都是一本不可多得的完整参考资料。 ### 回答2: 西门子s7-1200是一款用于工业自动化控制的可编程逻辑控制器。系统编程手册v4.4介绍了该控制器的编程方式和相关的技术细节,包括硬件的结构组成、软件的安装和使用、编程语言的特点和应用、网络和通信的设置等方面。 系统编程手册的内容深入浅出,条理清晰,对于初学者和专业人士都具有很大的参考价值。手册首先介绍了S7-1200的组成结构,包括CPU、I/O模块、通信模块、电源模块等。随后详细介绍了软件的安装过程和编程环境的配置,以及常见的PLC编程语言,如Ladder Diagram、Function Block Diagram、Structured Text等的使用方法和特点。 在网络和通信方面,系统编程手册也提供了大量的参考资料。手册介绍了S7-1200的通信接口和协议,包括TCP/IP、PROFINET、MODBUS、OPC UA等,以及如何配置和使用这些协议实现PLC之间的数据交换和远程控制等功能。 总之,系统编程手册v4.4是一份非常有用的参考资料,对于理解和应用S7-1200控制器具有很大的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值