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 で終了します。
この用語に関連する過去問
令和4年度 基本情報技術者試験 科目B サンプル問題 問8
優先度付きキューの操作
令和4年度 基本情報技術者試験 科目B サンプル問題 問4
最大公約数を求めるプログラム
令和5年度 公開問題 基本情報技術者試験 科目B 問3
クイックソートアルゴリズムのトレース
令和6年度 公開問題 基本情報技術者試験 科目B 問4
配列のマージ処理のトレース
令和7年度 基本情報技術者試験 科目B 問2
硬貨の組合せ計算アルゴリズム
令和4年度 ITパスポート試験 公開問題 問78
チェックデジット計算で、2桁の合計値を各桁の和にする式
令和8年度 ITパスポート試験 公開問題 問88
正六角形描画プログラム
令和8年度 ITパスポート試験 公開問題 問85
素数判定プログラム