while および do ループは、テスト式の評価が false になるまで、実行を繰り返すために使用されます。while ループと do ループは、互いに簡単なバリアントです。
構文は次のようになります。
do <expr> while <expr>
while <expr> do <expr>どちらのループでも、while <expr> によって true 値に評価される間、do <expr> が繰り返し実行されます。 do 形式は、do <expr> を最低 1 回は実行し、各ループの最後にテスト式を評価します。while 形式は、各ループの始めにテスト式を評価するので、1 回もループしない場合があります。
いずれの形式も、最後に正しく実行したループ反復処理から do <expr> の結果を値として返します。while 形式は、テスト式でただちに false が返される場合、undefined 値を返します。
例:
while x > 0 do ( print x x -= 1 )while not eof f do print (read_value f)do ( exchanged=false for i=1 to imax do ( j=i+gap if (compare array[j] array[i]) do (swap array[j] array[i]; exchanged=true) ) ) while exchanged