上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.4 程序结构指令详解
2.4.1 无条件跳转指令
GoTo—无条件跳转指令。
On GoTo—对应于指定的变量值进行相应行的跳转(1,2,3,4,…)。
2.4.2 根据条件执行程序分支跳转的指令
(1)功能
本指令用于根据“条件”执行“程序分支跳转”的指令,是改变程序流程的基本指令。
(2)指令格式1
If <判断条件式>Then<流程1>□[Else<流程2>]
①这种指令格式是在程序一行里书写的判断-执行语句,如果“条件成立”就执行Then后面的程序指令,如果“条件不成立”就执行Else后面的程序指令。
②指令例句1
10 If M1>10 Then*L100′——如果M1大于10,则跳转到*L100行。 11 If M1>10 Then GoTo*L20 Else GoTo*L30′——如果M1大于10,则跳转到*L20行,否则跳转到*L30行。
(3)指令格式2
如果判断-跳转指令的处理内容较多,无法在一行程序里表示,就使用指令格式2。
If<判断条件式> Then <流程1> Else <流程2>] EndIf
说明:如果“条件成立”则执行Then后面一直到Else的程序行,如果“条件不成立”执行Else后面到EndIf的程序行。EndIf用于表示流程2的程序结束。
①指令例句1:
10 If M1>10 Then′——如果M1大于10,则执行下一行。 11 M1=10′——赋值。 12 Mov P1′——前进到P1点。 13 Else′——否则。 14 M1=-10′——赋值。 15 Mov P2′——前进到P2点。 16 EndIf′——选择语句结束。
②指令例句2:多级If…Then…Else…EndIf嵌套。
30 If M1>10 Then′——第1级判断—执行语句。 31 If M2>20 Then′——第2级判断—执行语句。 32 M1=10′——赋值。 33 M2=10′——赋值。 34 Else′——否则。 35 M1=0′——赋值。 36 M2=0′——赋值 37 EndIf′——第2级判断-执行语句结束。 38 Else′——否则。 39 M1=-10′——赋值。 40 M2=-10′——赋值。 41 EndIf′——第1级判断-执行语句结束。
③指令例句3:在对Then及Else的流程处理中,以Break指令跳转到EndIf的下一行(不要使用GoTo指令跳转)。
30 If M1>10 Then′——第1级判断-执行语句。 31 If M2>20 Then Break′——如果 M2>20就跳转出本级判断执行语句(本例中为39行)。 32 M1=10′——赋值。 33 M2=10′——赋值。 34 Else′——否则。 35 M1=-10′——赋值。 36 If M2>20 Then Break′——如果M2>20就跳转出本级判断执行语句(本例中为39行)。 37 M2=-10′——赋值。 38 EndIf′——第3级判断语句结束。 39 If M_BrkCq=1 Then Hlt′——判断。 40 Mov P1′——前进到P1点。
(4)说明
①多行型指令“If…Then…Else…EndIf”必须书写EndIf,不得省略,否则无法确定“流程2”的结束位置。
②不要使用GoTo指令跳转到本指令之外。
③嵌套多级指令最大为8级。
④在对Then及Else的流程处理中,以Break指令跳转到EndIf的下一行。