if
条件式が真の場合、if の次行を実行し、 偽の場合、if の次行を実行せず、その次にある elseif・else・endifへと進む。
if の条件式が真の場合と偽の場合で、実行する行とその説明は、次のとおりである。 このプログラムと流れ図を見比べると、実行する行がどこなのかを理解しやすいだろう。
なお、「if (a が 5 と等しい)」の行は、条件式の真偽を見極めるために、真偽がどちらであるかにかかわらず必ず実行する。
ifの条件式が真の場合
| 11: a ← 5 | 変数aに値5を格納する。 |
| 12: if (a が 5 と等しい) | aは5なので 「5が5と等しい」。真 |
| 13: a← a + 1 | if の条件式が真の場合、 if の次行を実行する。 |
| 14: endif | |
| 15: a を出力する | endif の次行はif の条件式が真でも偽でも実行する。 |
→ 「6」を出力する。
if の条件式が偽の場合
| 11:a←4 | |
| 12: if (a が 5 と等しい) | aは4なので「4が5と等しい」。 この式は正しくないため偽。 |
| 13: a←a+1 | if の条件式が偽の場合、if の次行を実行しない。 |
| 14: endif | |
| 15: a を出力する |
→ 「4」 を出力する。
プログラムと同内容の流れ図

else
if とそれまでのelseif がすべて偽の場合、else の次行を実行する。 条件式が真の場合と偽の場合とで、実行する処理を分けたい場合に使う。
ifの条件式が真の場合
| 21: a←5 | |
| 22: if (a が 5 と等しい) | aは5なので「5が5と等しい」。 この式は正しいため真。 |
| 23: a← a + 1 | if の条件式が真の場合、if の次行を実行する。 |
| 24: else | |
| 25: a←a – 1 | if の条件式が真の場合、else の次行を実行しない。 |
| 26: endif | |
| 27: aを出力する |
→ 「6」 を出力する。
ifの条件式が偽の場合
| 21: a← 4 | |
| 22: if (a が 5 と等しい) | aは4なので「4が5と等しい」。 この式は正しくないため偽。 |
| 23: a← a + 1 | if の条件式が偽の場合、if の次行を実行しない。 |
| 24: else | |
| 25: a←a – 1 | if の条件式が偽の場合、else の次行を実行する。 |
| 26: endif | |
| 27: aを出力する | |
→ 「3」 を出力する。
(参考)情報処理教科書 出るとこだけ!基本情報技術者[科目B]第4版 橋本 祐史 (著) 翔泳社


コメント