购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4 转移和循环

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

转移和循环——GOTO语句(无条件转移)

——IF语句(条件转移:IF…THEN…)

——WHILE语句(当…时循环)

3.4.1 无条件转移(GOTO语句)

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

格式为:GOTO n ;( n 为顺序号1~99999)

例:GOTO1;

GOTO#10;

3.4.2 条件转移(IF语句)

IF之后指定条件表达式。

格式为1: IF[条件表达式]GOTO n

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

格式为2: IF[条件表达式]THEN;

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

例: IF[#1EQ#2]THEN#3=0;

如果#1EQ#2的值相同,0赋给#3。

说明: 条件表达式必须包括运算符。运算符插在两个变量中间或变量和常数中间,并且用括号([,])。表达式可以替代变量。运算符由2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一个值。注意不能使用不等号。见表3-10。

表3-10 运算符

3.4.3 循环(WHILE语句)

在WHILE后指定一个条件表达式。当指定条件满足时,执行从DO到END之间的程序。否则,转到END后的程序段。

格式: WHILE[条件表达式]DO m ;( m =1,2,3)

……

END m

说明: 当指定的条件满足时,执行WHILE后从DO到END之间的程序。否则,转而执行END之后的程序段。与IF语句的指令格式相同。DO后的数和END后的数位指定程序执行范围的标号,标号值为1、2、3。若用1、2、3以外的值会产生P/S报警No.126。

3.4.4 嵌套

在DO-END循环中的标号(1~3)可根据需要多次使用。但是,当程序有交叉重复循环(DO范围重叠)时,将出现P/S报警No.124。

在程序嵌套的应用形式上要注意以下几点。

①标号(1~3)可以根据要求多次使用。

    WHILE[…]DO1
     ……
       END1
     ……
    ……
    WHILE[…]DO1
    ……
       END1

② DO的范围不能交叉。

    WHILE[…]DO1
      ……
    WHILE[…]DO2
     ……
     ……
       END1
    ……
       END2

③ DO循环可以嵌套3级。

    WHILE[…]DO1;
    WHILE[…]DO2;
    WHILE[…]DO3;
    ……;
    END3;
    END2;
    END1;

④控制可以转到循环的外边。

    WHILE[…]DO1;
    IF[…]GOTOn;
     END1;
     Nn;

⑤转移不能进入循环区内。

    IF[…]GOTOn;
    WHILE[…]DO1;
    Nn;
    END1;

说明: 当指定DO而没有指定WHILE语句时,将产生从DO到END的无限循环。 3IfJAAJ6AkyrcQZtUhL7A1O/WkfE73uf+cpSE9CKOyM0GvuPr7CFBJO5ktkP2imV

点击中间区域
呼出菜单
上一章
目录
下一章
×