条件によってプログラムの流れを変えるにはIF文を使います。 IF文は条件が成り立つ(真)かを判定し、それに応じてGOTOまたはTHENの処理を実行します。
GOTO形式
#1が100を超えるときは#2から50を引く、それ以外は#2に50を加える。
これをGOTO形式で表現します。
GOTO 100 のように、GOTOの後にシーケンス番号を書きます。 シーケンス番号はN100のように定義します。
THEN形式
#1が100を超えるときは#3を符号反転する。
これをTHEN形式で表現します。
THEN #1=2のように、THENの後ろに代入文を書きます。
GOTO形式とTHEN形式の比較
GOTO形式 | THEN形式 |
---|---|
G00X-20.Y20 G00Z240. #1=100. #2=20. G01X#1 IF[#1GT100]GOTO100 #2=#2+50 GOTO200 N100 #2=#2-50 N200 G01Y#2 #1=#1+100. G01X#1 IF[#1GT100]GOTO110 #2=#2+50 GOTO210 N110 #2=#2-50 N210 G01Y#2 #1=#1+100. G01X#1 | G00X-20.Y20 G00Z240. #1=100. #2=20. G01X#1 #3=50 IF[#1GT100]THEN#3=-#3 #2=#2+#3 G01Y#2 #1=#1+100. G01X#1 #3=50 IF[#1GT100]THEN#3=-#3 #2=#2+#3 G01Y#2 #1=#1+100. G01X#1 |
どちらも同じ動作しますが、THEN形式のほうがプログラムの読みやすくありませんか?
極力GOTO形式を使わないプログラムを心がけでください。
比較演算子
比較演算子 | 書き方 |
---|---|
EQ | [#1 EQ #2] #1と#2は等しい |
NE | [#1 NE #2] #1と#2は等しくない |
GT | [#1 GT #2] #1は#2より大きい |
GE | [#1 GE #2] #1は#2と等しいか大きい |
LT | [#1 LT #2] #1は#2より小さい |
LE | [#1 LE #2] #1は#2と等しいか小さい |
論理演算子
複合条件の判定に使います。
論理演算子 | 書き方 |
---|---|
AND | [A AND B] AとB両方の条件が成り立つ |
OR | [A OR B] AとBどちらかの条件が成り立つ |
XOR | [A XOR B] Aが成り立ちBが成り立たない、 Aが成り立たずBが成り立つ |
IF[[#1 GE 1] AND [#1 LE 4]] GOTO 100
#1が1から4のときに、N100へ分岐します。