擬似言語のwhileとforってどう違う?繰返し処理で迷子にならない方法を詳しく解説

公開日: 2026-07-03

擬似言語のコードを読んでいて、いちばん最初に出会う関門。

それが繰返し処理、whileとforです。

同じ、繰り返す、なのに書き方が2種類ある。どっちがどっちだっけ、と毎回考え込んでしまう人、いませんか?

実はこの2つ、見分け方も使い分けも、たった1つの質問で整理できます。

何回まわるか、最初からわかっているか?

この記事では、この質問を軸に、whileとforの読み方を最短ルートで解説します。細かい練習はGiji Academyの教材でできるので、ここでは迷子にならない地図を手に入れてください。

forは回数券、whileは条件つき乗り放題

まず、2つの違いをたとえで掴みましょう。

forは、回数券です。

10回分の回数券を持ってバスに乗るように、最初から、何回まわるか、が決まっています。

一方のwhileは、条件つきの乗り放題パスです。

雨が降っている間は乗ってよし、のように、条件を満たしている限り回り続けます。何回になるかは、走ってみないとわかりません。

観点 for while
たとえ 回数券 条件つき乗り放題
回数 最初から決まっている 条件次第で変わる
得意な仕事 配列の全要素を順に見る 条件を満たすまで探す・待つ
事故のリスク 少ない 無限ループの可能性がある

この表の最後の行が、試験的にはとても重要です。あとで詳しく触れます。

擬似言語での書き方を最小限のコードで確認

書き方も、それぞれ1つずつだけ見ておきましょう。

まずforです。1から5までの数を順番に足していきます。

整数型: total, i
total ← 0
for (i を 1 から 5 まで 1 ずつ増やす)
    total ← total + i
endfor

forの行を日本語に訳すと、iという数え役の変数を、1から5まで、1ずつ増やしながら繰り返す、となります。

回数は5回。読む前から確定しています。

次にwhileです。xが100を超えるまで2倍にし続けます。

整数型: x
x ← 3
while (x ≦ 100)
    x ← x × 2
endwhile

whileの行は、カッコの中の条件が成り立っている間は繰り返す、という意味です。

何回まわるかは、パッと見ではわかりません。3、6、12、24、48、96、192。96までは条件を満たすので、6回まわって終わります。

forは回数を読む、whileは条件を読む。視線の置き場所が違うのです。

試験でいちばん狙われるのは、境界の1回

whileとforの問題で、出題者が大好きな急所があります。

それは、最後の1回、まわるのか、まわらないのかという境界です。

さっきのwhileの例で言えば、xが96のとき。96 ≦ 100は成り立つので、もう1回まわって192になります。

ここを、100に近いからもう終わりだろう、と雰囲気で読むと間違えます。

forも同じです。1から5まで、は5を含みます。5未満、と勘違いして4回で数えると、答えがひとつずれます。

境界のチェック方法はシンプルで、終わり際の値を条件式に実際に代入してみること。

96 ≦ 100 → 成立、まわる。192 ≦ 100 → 不成立、終わり。この2行の確認を癖にするだけで、境界ミスはほぼ消えます。

無限ループの匂いを嗅ぎ分ける

whileには、forにはない事故があります。無限ループです。

条件がいつまでも成り立ち続けると、処理が永遠に終わりません。

科目Bでは、空欄補充の選択肢に、無限ループになる罠が仕込まれることがあります。

見分けるポイントは、ループの中で、条件に関わる変数が変化しているかです。

while (x < 10)
    y ← y + 1
endwhile

このコード、条件のxがループ内で一切変わっていません。xが最初から10未満なら、永遠にまわり続けます。

選択肢を選ぶとき、これを入れたら条件の変数は動くか?と自問する。この1問で、罠の選択肢を消せます。

私が新人のコードレビューで必ず見る場所

エンジニア歴10年の私の、実体験の話です。

新人のコードをレビューするとき、私が真っ先に見るのはループの終了条件です。

なぜなら、実務のバグの多くが、ループの境界に潜んでいるからです。1回多くまわって配列の外を読んでしまう、1回足りなくて最後のデータを処理し忘れる。業界ではオフバイワンエラーと呼ばれる、古典的で、今も現役のバグです。

ベテランでもやります。私もやります。

だからプロは、境界を頭で考えず、手で確かめます。終わり際の値を代入して、成立するかしないかを確認する。さっき紹介した方法は、現場のプロが実際にやっている確認作業そのものです。

試験のテクニックではなく、一生モノの習慣として身につけてください。

読めるようになる近道は、回す様子を見ること

ここまでで、whileとforの読み方の地図はお渡ししました。

ただ、正直に言うと、繰返し処理は解説を読んだだけでは身につきません。

ループが1周、2周とまわるたびに変数が変わっていく。この動的な感覚は、実際に動きを目で見た人にしか宿らないからです。

擬似言語学習サイトのGiji Academyでは、擬似言語のループをブラウザ上で動かして、変数が変わっていく様子を確認しながら学べます。

回数券と乗り放題の違いを、ぜひ自分の目で確かめてください。

👉Giji Academyでループを動かして学ぶ

あわせて、変数の変化を紙で追うトレースの練習も並行すると効果が倍増します。

【関連記事】擬似言語の勉強方法とは?IT初心者でも無理なく身につく学習ステップを解説

whileとforの書き換え問題に備える

少し発展的な話もしておきます。

実は、forで書ける処理は、whileでも書けます。

さっきの1から5の合計は、whileならこう書けます。

整数型: total, i
total ← 0
i ← 1
while (i ≦ 5)
    total ← total + i
    i ← i + 1
endwhile

forが自動でやってくれていた、iの初期化と増加を、自分の手で書いた形です。

科目Bでは、この書き換えの穴埋めが出題されることがあります。forの1行に隠れていた3つの仕事、初期化、条件、増加を分解できるようにしておくと、この型の問題は得点源になります。

二重ループなど、より複雑なループの読み方に進みたい方は、こちらの記事もどうぞ。

【関連記事】擬似言語が難しいと感じる3つの原因と解決策|読めるようになる学習ステップ

ループが読めると、科目Bがスラスラ解ける!

最後に、モチベーションの話をひとつ。

科目Bの擬似言語問題で、ループが登場しない問題はほぼありません。

探索も、ソートも、集計も、すべてループの上に成り立っています。つまり、whileとforの読解は、科目B全体の土台です。

逆に言えば、ここを固めた瞬間、これまで呪文に見えていたコードの半分が、意味のある文章に変わります。

擬似言語が全然読めない、と感じている人ほど、実はループでつまずいているだけ、というケースは多いのです。

【関連記事】擬似言語が全くわからない!? IT初心者でも読めるようになる考え方と勉強法

まとめ:回数が決まっていればfor、条件次第ならwhile

whileとforの違いは、何回まわるかが最初から決まっているかどうか。

forは回数券。回数を読む。whileは条件つき乗り放題。条件を読む。

試験で狙われるのは、最後の1回がまわるかどうかの境界と、無限ループの罠。どちらも、終わり際の値を条件式に代入する確認と、条件の変数が動いているかのチェックで見抜けます。

そして、ループの感覚は動かして見た人から身につきます。

Giji Academyで、回数券と乗り放題、2つのループを実際にまわしてみてください。

科目Bの土台が、今日固まります。

Giji Academyで学習を始める

参考情報

擬似言語の基礎から応用まで学べる
Giji Academy

Giji Academyでは、擬似言語の基礎からアーキテクチャなどの応用的な内容まで幅広く学べます。
また、ブラウザ上で直接擬似言語コードを試すことができ、実践的なスキルを身につけることが可能です。

擬似言語の学習を始める