轉移和循環語句
在程式中,使用GOTO語句和IF語句可以改變控制的流向。有三種轉移和循環操作可供使用:
1.無條件轉移(GOTO語句)
轉移到标有順序号n的程式段。當指定1~9999以外的順序号,出現報警P/S報警No.128。可用表達式指定順序号。
指令格式:GOTOn ;n為順序号(1~9999)
例如:GOTO 1 ;
GOTO #1 ;
2.條件轉換 (IF語句)[]
指令格式1:IF[] GOTOn ;IF之後指定條件表達式
如何指定的條件表達式滿足時,轉移到标有順序号n的程式段。如果指定的條件表達式不滿足時,執行下一個程式段。
指令格式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。
(1)嵌套
在DO-END循環中的标号(1~3)可根據需要多次使用。但是當程式有交叉重複循環(DO範圍重疊)時,出現報警。見下表循環嵌套表。
循環嵌套表
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;程式結束