繰り返し - WHILE

繰り返しは"WHILE文"とも呼ばれ、"WHILE[(条件式)]DO(識別番号)"〜"END(識別番号)"の形で記述されます。条件式が成立すれば"〜"の部分の処理を行い、"END"のブロックまで来ると対応する識別番号の"DO"のブロックまで戻ります。条件式が成立しなければ、対応する"END"があるブロックの次のブロックに進みます。

識別番号は1〜3まで使用することができ、識別番号を変えることにより下記のように重ねて使用することもできます。最大で3重まで重ねることができ、うまく使えるようになるとプログラムを大幅に短くすることもできます。

・
・
#100 = 2
#101 = 1
WHILE [#100 GE 0] DO 1(条件式が成立すれば次のブロックへ、成立しなければEND1へ)
WHILE [#101 GE 0] DO 2(条件式が成立すれば次のブロックへ、成立しなければEND2へ)
(処理)
#101 = #101 - 1
END 2				(DO2へ)
#101 = 1
#100 = #100 - 1
END 1				(DO1へ)
・
・
				

なお、上記のように重ねることは可能ですが、下記のように交差させることはできません。

(アラームで止まる)
WHILE [#100 GE 0] DO 1
WHILE [#101 GE 0] DO 2
(処理)
END 1
(処理)
END 2
				

一度ループから抜けだしていれば、同じ識別番号を使用することもできます。

WHILE [#100 GE 0] DO 1
(処理)
END 1

WHILE [#100 GE 0] DO 1
(処理)
END 1
				

GOTO文でループから抜け出すことはできますが、GOTO文でループ内に入ることはできません。

WHILE [#100 GE 0] DO 1
 ・
GOTO 20    (ループから抜け出せる)
 ・
END 1

N20
				
GOTO 20		 (ループの途中には入れない)
 ・
WHILE [#100 GE 0] DO 1
 ・
N20
 ・
END 1
				

お知らせ
メニュー
NC旋盤
サブメニュー
OSP(オークマ)
雑学
NCプログラマの為の数学
関連サイト