在程序中,使用GOTO语句和IF语句可以改变控制的流向。有三种转移和循环操作可供使用:
1.无条件转移(GOTO语句)
转移到标有顺序号n的程序段。当指定1~99999以外的顺序号时,出现P/S报警No.128。可用表达式指定顺序号。
指令格式:GOTO n;n为顺序号(1~99999)
例如:GOTO 1;
GOTO#10;
2.条件转移(IF语句)
指令格式1:IF[<条件表达式>]GOTO n;IF之后指定条件表达式
如果指定的条件表达式满足时,转移到标有顺序号n的程序段。如果指定的条件表达式不满足时,执行下一个程序段。
指令格式2:IF[<条件表达式>]THEN;
如果指定的条件表达式满足时,执行预先决定的宏程序语句。只执行一个宏程序语句。
例如:如果#1和#2的值相同,0赋给#3。
指令格式:IF[#1 EQ#2]THEN#3=0;
1)条件表达式。条件表达式必须包括运算符。运算符插在两个变量中间或变量和常数中间,并且用括号([,])封闭。表达式可以替代变量。
2)运算符。运算符由2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一个值。注意,不能使用不等号。表1-22为运算符含义。
表1-22 运算符含义
3)编程举例。用程序计算数值1~10的总和。
O9500;程序名
N10 #1=0;存储和的变量初值
N20 #2=1;被加数变量的初值
N30 IF[#2 GT 10]GOTO 70;当被加数#2大于10时,程序转移到N70
N40 #1=#1+#2;计算和(www.xing528.com)
N50 #2=#2+#1;下一个被加数
N60 GOTO 30;转到N30
N70 M30;程序结束
3.循环(WHILE)语句
在WHILE后指定一个条件表达式。当指定条件满足时,执行从DO到END之间的程序;否则,转而执行END之后的程序段。与IF语句的指令格式相同。DO后的数和END后的数为指定程序执行范围的标号,标号值为1、2、3。若用1、2、3以外的值会产生P/S报警No.126。
1)嵌套。在DO—END循环中的标号(1~3)可根据需要多次使用。但是当程序有交叉重复循环(DO范围重叠)时,出现P/S报警No.124。见表1-23循环嵌套表。
2)无限循环。当指定DO而没有指定WHILE语句时,产生从DO到END的无限循环。
3)处理时间。在处理有标号转移的GOTO语句时,进行顺序号检索。反向检索所需的时间要比正向检索长。用WHILE语句实现循环可减少处理时间。
4)未定义的变量。在使用EQ或NE的条件表达式中,<空>和零有不同的效果。在其他形式的条件表达式中,<空>被当作零。
表1-23 循环嵌套表
(续)
5)编程举例。用程序计算数值1~10的总和。
O0001;程序名
N10 #1=0;存储和的变量初值
N20 #2=1;被加数变量的初值
N30 WHILE [#2 GE 10] DO 1;当被加数#2大于或等于10时,程序转移到N70
N40 #1=#1+#2;计算和
N50 #2=#2+#1;下一个被加数
N60 END1;
N70 M30;程序结束
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。