繰り返し処理(for・while)の疑似言語表現

前回、条件分岐(if・elseif・else)を整理しました。今回は、疑似言語のもう一つの基本構造である「繰り返し処理」を整理します。

目次

繰り返し処理とは

繰り返し処理は、同じ処理を、条件を満たしている間、何度も実行する仕組みです。疑似言語では、主にforとwhileという2つの形で表現されます。

forによる繰り返し

forは、「決まった回数」や「決まった範囲」を繰り返すときによく使われます。疑似言語では、次のような形で書かれます。

for(iを1から10まで1ずつ増やす)  処理 endfor

この場合、変数iが1から10になるまで、1ずつ増えながら処理が繰り返されます。iが10を超えた時点で繰り返しが終わり、次の行に進みます。

whileによる繰り返し

whileは、「条件が成立している間」繰り返すときに使われます。回数が決まっていない場合や、ある条件を満たすまで処理を続けたい場合に向いています。

while(条件)  処理 endwhile

forと違い、whileでは繰り返しの回数があらかじめ決まっていません。条件を満たさなくなった時点で、繰り返しが終わります。

トレースするときの注意点

繰り返し処理をトレースするときは、次の2点を必ず確認するようにしています。

  • 繰り返しの前に、変数がどんな値からスタートしているか
  • 1回の繰り返しごとに、変数がどう変化していくか

特にwhileの場合、変数の更新を忘れると、条件がいつまでも成立したまま、無限に繰り返される(無限ループ)ように見えてしまいます。問題文の中で、変数がどこで更新されているのかを見落とさないことが大切です。

forとwhileの使い分けの感覚

自分の中では、「繰り返す回数がはっきり決まっているならfor、条件次第で回数が変わるならwhile」という感覚で区別するようにしています。問題文を読むときも、まずこの感覚で見分けてから、細かい条件を確認するようにすると、構造をつかみやすくなりました。

練習してみた感想

繰り返し処理は、1回分の処理の流れを追うだけならそれほど難しくないのですが、「2回目、3回目でどう変わるか」を続けて追ううちに、頭がこんがらがることがありました。表を作って、繰り返しごとの変数の値を書き出す練習をしたことで、格段に追いやすくなりました。

次回は、科目Aに戻り、待ち行列理論(M/M/1)の公式を覚えるコツを整理します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次