While ループと Do ループ

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