while文・do〜while文の読み方(条件で繰り返す処理)

更新日:

用語解説

while文・do〜while文は、回数ではなく条件で繰返しを制御する構文です。while(条件式)〜 endwhile は、条件式が真の間、中の処理を繰り返します。do 〜 while(条件式)は、処理の後に条件を調べます。

■ 試験で押さえるポイント

  • while は先に条件を調べ、真なら中の処理を実行して、また条件を調べます。偽になった時点で endwhile の次へ進みます。

  • while(j が 9 より大きい)は「j が 9 より大きい間は繰り返す」と読みます。終わるのは j が 9 以下になったときです。

  • 条件に使う変数を中の処理で変えないと、条件がずっと真のままになり終わりません(無限ループ)。

  • do 〜 while は処理の後に条件を調べるので、必ず1回は実行されます(後判定)。while は1回も実行されないことがあります(前判定)。

  • 回数が決まっていれば for、「〜になるまで」のように終わる条件で決まるなら while が使われます。

while(num が div より大きい)
 if(num ÷ div の余り が 0 と等しい)
  return false // 割り切れたら素数ではない
 else
  div ← div + 1
 endif
endwhile
return true

上の素数判定(div の初期値は2)で num=7 なら、div が 2〜6 のどれでも割り切れないまま div=7 になり、条件が偽になってループを抜けて true を返します。

■ 選択肢での判断ポイント

ループを抜けた直後の変数は「条件が初めて偽になった値」です。条件の向き(「より大きい間」なのか「より小さい間」なのか)を、具体的な値を入れて1〜2回分たどって確かめます。

例: while(j が 9 より大きい)の処理で j=38 から始めると、j は 38→11→2 と変わり、2 で終了します。

同じ分野の用語