天天看點

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;程式結束