前回、オートマトン・状態遷移図の読み方を整理しました。今回は、科目Bの疑似言語に戻り、最初に覚えておきたい「条件分岐」の表現を整理します。
条件分岐とは
条件分岐は、「もし〜ならば、こうする。そうでなければ、こうする」というように、条件によって処理を分ける仕組みです。疑似言語では、if・elseif・elseというキーワードを使って表現されます。
基本の書き方
疑似言語での条件分岐は、次のような形で書かれます。
if(条件1)then 処理1 elseif(条件2)then 処理2 else 処理3 endif
上から順番に条件を確認し、最初に成立した条件の処理だけが実行される、という点がポイントです。条件1が成立すれば処理1だけが実行され、条件2以降は確認されません。
elseifとelseの違い
elseifは、「前の条件が成立しなかった場合に、さらに別の条件を確認する」という役割です。elseは、「それまでのどの条件にも当てはまらなかった場合」の処理を表します。
elseには条件を書かないため、「残り全部」を受け止める役割だと捉えると分かりやすくなります。
トレースするときの注意点
条件分岐をトレースするときにやってしまいがちなミスは、「複数の条件を同時に確認してしまう」ことです。
疑似言語のif文は、上から順に1つずつ条件を確認し、最初に成立したところで処理が決まります。条件2のほうが結果として正しそうに見えても、条件1が先に成立していれば、条件1の処理が実行されます。この「上から順番に、最初に当たったところで確定する」という原則は、何度も読み間違えやすいポイントなので、意識して確認するようにしています。
練習してみた感想
実際に、変数に具体的な値を当てはめて、if・elseif・elseを1つずつ順番にたどる練習をしてみました。最初は「結局どの処理が実行されるのか」を早合点してしまうことがありましたが、「上から順に、最初に成立したところで止まる」というルールを声に出しながら確認することで、間違いがかなり減りました。
次回は、繰り返し処理(for・while)の疑似言語表現を整理します。
