松山大学 経営学部 檀研究室 > 情報処理論(応用) > 授業の記録

2006年10月13日の記録(授業資料 PDF

今回は、 If 〜 ElseIf ステートメントを使って、前回に比べて複雑な分岐処理について学習しました。

前回の西暦を和暦(平成)に換算する課題では、平成1年のときに「平成元年」と表示するプログラム、昭和までの和暦換算に対応させたプログラムなど力作がそろいました。 もちろん、課題としては平成○年と昭和以前の2つの場合に分けて処理できていればOKなのですが、3つ以上の場合に分ける処理のコードを書こうとすると、 If 〜 ElseIf ステートメントを入れ子構造にするといった工夫が必要になってきます。 今回の ElseIf を導入すれば、このような複雑な分岐処理をシンプルに記述できます。 ただし、 ElseIf 句に入れる条件式の書き方および順番には注意してください。

例題として、うるう年の判定プログラムを作成しました。 「うるう年」の定義は授業で紹介したとおりですが、2000年、2004年、2008年が「うるう年」なのはいいとしても、2100年は「うるう年」ではありません。 この例題プログラムは、授業で取り上げていない論理演算子と組み合わせると、実はもっとシンプルに記述できます。 どうすればいいのか考えてみてください。

今回の課題は、購入金額に応じて割引券を発行するプログラムの作成です。 3つの場合に分けて処理しますが、例題に従って丁寧に考えていけば、それほど難しくないと思います。 中には、次の種類の割引券をもらうには、あといくら購入すればよいかを表示する機能をつけた受講生もいました。 プログラムが完成したときは、境界値テストを忘れないようにしましょう。


受講生の声

よろしくお願いします。
こちらこそ、どうぞよろしく!
難しいです。
だんだん難易度が上がっていきます。 しかし、本来は煩雑でややこしい処理をすっきりと記述できるわけですから、便利なものです。 難しい問題をシンプルに解決すると簡単に考えてください。
毎回授業の前に「授業の記録」を読むようにしています。 今回は特に火曜が授業変更だったため、前回の授業内容を思い出すのにとても役に立ちました。 先生から見た授業の感想を聞けることも他の授業ではそうないので、見ていて興味深いです。 今日の授業、少し複雑だということなので頑張りたいです。
この授業は学生のペースに合わせて内容を考えています。 そのため、次回の授業準備のときに参考とするため、授業の記録をつけるようにしています。 復習にもなるなら、一石二鳥ですね。