1. プログラムの機能 2. プログラミングソース 3.アルゴリズム

プログラミング演習2 自由課題レポート<簡略版>
~時刻表 (南草津駅→大阪・京都方面)~
2640050010-9 今村広
1. プログラムの機能
<モード>
時刻表プログラムは南草津駅から大阪・京都方面の時刻を取り扱うプログラムです。 以
下の3つのモードがこのプログラムの機能です。
(1)指定した時間の電車をすべて表示
(2)時間と分を指定して、一番近い時間を検索して表示
(3)平日と土日・祝日の時刻表をわけて、一覧を表示
<入力>
ユーザーが選択をおこなうときに指定した数字を入力してもらいます。基本的に「>>」
のあとが入力になっています。
<エラー処理>
入力の際、間違った入力が行われたとき、入力が間違っていることをユーザーに知らせ
ます。(ただしアルファベット等の文字を入力されるとバグります。)
2. プログラミングソース
時刻表プログラムの達成に必要不可欠であった関数の説明をします。
(a)時刻表の内容を保存 → hmzikoku[2][20][9]という3つの[ ]をもつ配列
(b)モード選択
→
main 関数で switch 文を用いた各モード関数への移行
(c)エラー処理
→
do{ }while()構文による繰り返し処理
(d)続けるかやめるか
→ do{ }while()構文による繰り返し処理
以上のことをいろんなところに用いた上でこのプログラムは成り立っています。
3.アルゴリズム
ここでは、たぶんこのプログラムのなかでアクセント的な役割を担っている「京都到着
予想時刻」の計算方法アルゴリズムの説明をします。
(1) 現時刻から一番近い時間の電車を算出(これはこの前に求められています)
(2) 上の「分」の部分に「20」を加える。
(3) ここで「分」の部分が「60」以上になっていないかを確認。もし「60」以上にな
っていたら、
「時間」の部分に「1」を足し「分」の部分から「60」を引く。
以上がプログラミングの主な概要となっています。