WHILE...WEND
(ステートメント)

前判定反復を行ないます。

WHILE [<条件式>]
:
WEND

<条件式>が満たされている間、WHILE文とWEND文の間を繰り返します。
<条件式>を省略すると、そこは真(0以外)とみなし、無限にループを繰り返します。
GOTO文などでWHILE文とWEND文の間に分岐すると、WEND文まで普通に実行し、WHILE文に戻り、それからはこの構文に普通に入ったときのように実行します。
WHILE~WENDと同じ機能で、 DO WHILE~LOOPという構文があり、DO WHILE~LOOPに統一した方がよいでしょう。

DEFINT li1, li2, li3, li4, li5, li6, li7, li8, li9
|
|
DO WHILE li1 > li2
|
'前判定反復を行ないます。
|
IF li1 = 4 THEN EXIT DO
|
'li1 = 4の場合、DO~LOOPから脱出します。
|
FOR li3 = 0 TO 5
|
'FOR~NEXTの処理を5回繰り返します。
|
FOR li4 = li5 TO li6
|
'FOR~NEXTの処理をli5の値を1ずつ加算し、li6にな
'るまで繰り返します。
|
FOR li7 = 1 TO li8 STEP 2
|
'FOR~NEXTの処理を1から2ずつ加算し、li8になるま
'で繰り返します。
|
IF li2 = 2 THEN EXIT FOR
|
'li2 = 0の場合、FOR~NEXTから脱出します。
|
WHILE li2 < li9
|
'前判定反復を行ないます。
|
GOSUB *samp2
|
|
li9 = li9 + 1
|
|
WEND
|
'li2 < li9になるまでGOSUB *samp2文を呼びます。
|
NEXT li7
|
'繰り返します。
|
NEXT
|
'繰り返します。
|
NEXT
|
'繰り返します。
|
li9 = 0
|
|
REPEAT
|
'後判定反復を行ないます。
|
GOSUB *samp2
|
|
li9 = li9 + 1
|
|
UNTIL li9 < 5
|
'li9 < 5になるまでGOSUB *samp2文を呼びます。
|
LOOP
|
'繰り返します。
|