2002年08月19日(月) |
マラソン大会(申告タイムのこと) |
スカイパークマラソンは申告タイム制といって、「私は5キロ、あるいは10キロを何分何秒で走ります」と申込時に申告しておいて、実際のタイム差で順位が決まるという種目が設けられています。これだとのんびり亀さんにも入賞のチャンスがあるわけで、なかなかの人気種目です。
しかし、これをパソコンでどう処理するかというと、これまた奥が深いのです。昨日の名前の関数のレベルがハーフマラソンだとすると、こちらはフルマラソンのレベル。 知りたい方は教室にいらっしゃいと言いたいところですが、ちょっとご披露しておきましょうか。
Kさんからいただくデータはこうです。 申告タイムのところは10分30秒とか、115分25秒などと単なる文字列データになっています。 これを文字列関数を使いつつ、結局のところは(○分×60)+○秒で、すべて何秒にしてしまいます。
当日の記録は10分25秒なら10.25というように半角数値データで入力します。 これを同じく関数を駆使して秒に置き換えます。 実際のタイムから申告タイムを引き算します。差は秒で出ます。 そのままだと早くゴールしてしまうと、「−5」のように負の記号がついてしまいます。順位は差の絶対値で判定するので、絶対値を返す関数(ABS)で並べ替え用の数値を用意します。
いかがですか、ここまでの処理でフルマラソンの折り返し地点ぐらいかな。このあともああしてこうして、そうしたものが翌日の新聞に掲載されているのです。 掲載されてもまだ、間違っていたらどうしよう、などと心配になってしまいます。
|