天天看点

goto语句_转移和循环语句

转移和循环语句

在程序中,使用GOTO语句和IF语句可以改变控制的流向。有三种转移和循环操作可供使用:

goto语句_转移和循环语句
goto语句_转移和循环语句

1.无条件转移(GOTO语句)

转移到标有顺序号n的程序段。当指定1~9999以外的顺序号,出现报警P/S报警No.128。可用表达式指定顺序号。

指令格式:GOTOn ;n为顺序号(1~9999)

例如:GOTO 1 ;

      GOTO #1 ;

2.条件转换 (IF语句)[]

指令格式1:IF[] GOTOn ;IF之后指定条件表达式

如何指定的条件表达式满足时,转移到标有顺序号n的程序段。如果指定的条件表达式不满足时,执行下一个程序段。

goto语句_转移和循环语句

指令格式2:IF[] THEN ;

如果指定的条件表达式满足时,执行预先决定的宏程序语句。只执行一个宏程序语句。

例如:如果#1和#2的值相同,0赋给#3。

      指令格式:IF[#1 EQ #2] THEN #3=0;

(1)条件表达式

     条件表达式必须包括运算符。运算符插在两个变量中间或变量和常量中间,并且用([,])封闭。表达式可以替代变量。

(2)运算符

     运算符有2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一个值。注意,不能使用不等号。下表为运算符含义。

运算符含义

运算符 意义
EQ 等于(=)
NE 不等于(≠)
GT 大于(>)
LT 小于(
GE 大于或等于(≥)
LE 小于或等于(≤)

(3)编程举例

     用程序计算数值1-10的总和。

O0001;程序名

N10  #1=0;存储和的变量初值

N20  #2=1;被加数变量的初值

N30  IF [#2 GT 10] GOTO 70;当被加数#2大于10时,程序转移到N70

N40  #1=#1+#2;计算和

N50  #2=#2+#1;下一个被加数

N60  GOTO 30;转到N30

N70  M30;程序结束

3.循环(WHILE)语句

  在WHILE后指定一个条件表达式。当指定条件满足时,执行从DO到END之间的程序。否则,转而执行END之后的程序段。与IF语句的指令格式相同。DO后的数和END后的数为指定程序执行范围的标号,标号值为1、2、3。

goto语句_转移和循环语句
goto语句_转移和循环语句

(1)嵌套

     在DO-END循环中的标号(1~3)可根据需要多次使用。但是当程序有交叉重复循环(DO范围重叠)时,出现报警。见下表循环嵌套表。

循环嵌套表

goto语句_转移和循环语句

2)无限循环

   当指定DO而没有指定WHILE语句时,产生从DO到END的无限循环。

3)编程举例

   用程序计算数值1~10的总和。

N10  #1=0;存储和的变量初值

N20  #2=1;被加数变量的初值

N30  WHILE[#2GE10] DO1;当被加数#2大于10时,程序转移到N70

N40  #1=#1+#2;计算和

N50  #2=#2+#1;下一个被加数

N60  END1;

N70  M30;程序结束