時分秒の加算(BASIC版) ソースと解説
ほとんど毎日のように散歩をします。散歩の友はウォークマンです。ウォークマンの1979年初代機は当時宮城県の古川市(現大崎市の中心部)で働いていたときに買いました。と言っても自分用ではなく、弟に借りたラジカセを仕事で使い、クルマに載せたままにしていたら盗まれてしまい、その弁償として弟に買ってあげたものでした。
現在使っているウォークマンはカセットテープ式ではなく、デジタル・メモリ内蔵方式で、mp3ファイル再生機です。歩きながら録音したラジオ番組を聴いています。
出かける時と帰宅した時に時計を見れば歩いた時間がわかるのですが、ついうっかり忘れてしまうことがあります。そんなときは、聴いたラジオ番組の時間の合計を計算しています。時分秒の加算は60進数ですから、案外面倒です。
そこで、パソコンで計算するプログラムを作ってみることにしました。今回は簡単に作る為にWindows用の「十進BASIC」を使いました。
フローチャート
時分秒はそのままでは加算できないので、一旦秒に直して加算し、そこから時分秒にもどすという方式をとりました。そのため、最初に秒の累計値をゼロクリアしておきます。
キーボードからの入力は時・分・秒をそれぞれコンマで区切って入力します。
このとき、時の入力がxだったらプログラムを終了します。この為、入力変数は数値変数ではなく文字変数とします。
計算の詳細は次のソースに書かれているように・・・、
1.入力された時・分・秒を数値に変換する。
2.入力された時・分・秒を秒に変換する。
3.これを秒の累計値に加算する。
4.加算された累計秒を3600で割って、整数部分を表示用の時とする。
5.その余りを60で割って、整数部分を表示用の分とする。
6.そのときのあまりを表示用の秒とする。
最後にその結果を時:分:秒の形式で表示します。
これは自分用なので細かな入力チェックは省いています。本来は数値の範囲が適正であるかどうか、三つの数字が入力されているかというようなチェックが必要です。
ソース
実行例
ある日の散歩の時に聴いたラジオ番組(4番組)の合計を求めてみました。
? 1,19,48
1 : 19 : 48
? 0,24,48
1 : 44 : 36
? 0,22,39
2 : 7 : 15
? 0,21,07
2 : 28 : 22
? x,x,x
結果はこのように約2時間半の散歩でした。
2016年10月16日 記