まず大雑把な処理の流れを考えよう。
本的にはこの二つのステップに分けて考えられる。 |
![]() |
年齢を計算するために必要な情報は、今年と生まれた年である。 |
kotoshi = 2004 |
年齢による判断であるが、IF文では二手にしか分岐でいないので、更に分解して考える必要がある。 例えば、まず「子供」とそれ以外を区別してしまおう。 このプログラムは単に一つのIF文を用いるだけなので特に問題はないはず。 |
![]() |
では次に「子供ではない場合の処理」を考えてみましょう。 既に子供ではない場合であるので、「青年」か否か(大人)かを判断して処理を行えばよいはずです。 |
![]() |
これで全体の構成は出来上がりですね。 確認のため、全体を一つのフローチャートにしてみます。 |
![]() |
後は条件をどうするのか、各処理をどうするのかを考えればよいだけですね。 IF文は、IFの行で始まり、EndIfの行でおしまいになることを間違えなければ大丈夫ではないでしょうか。。。 |
上記はあくまでも一つの考え方で別の方法もあることは言うまでもありません。
例えば、最初に子供の場合とそうでない場合と分けましたが、大人の場合とそれ以外の場合で分けても全く問題はありません。
他にも効率はよくなく全くお勧めはできませんが、次のように考えることも不可能ではありません。
・あまり良くないが不正解ではない例1)
この例1はスマートさにかけるという意味であまりお勧めできません。フローチャートを描くとわかりやすいとおもいますが、どんな場合でも全て3回比較が行われてしまいます。
・あまり良くないが不正解ではない例2)
※この例2では、条件がかなり余分です。不要な条件や不要なIF文があります。
このほかにも似たような感じであまりお勧めできないプログラムはたくさんあります。
少なくとも比較的効率よく間違いの少ないお勧めのプログラムが理解できるようにしてください。
[第4回IF文までの総復習のページに戻る] | [「A班」プログラミング基礎のTopに戻る]