関数電卓コラム

07/09/12 関数電卓における時刻(角度)計算の比較

08/12/24大幅に加筆,修正

関数電卓には,例外なく60進法の計算が出来る能力がある.しかしその入力方式,出力の仕様は統一されておらず,ここに設計思想の差異が現れる.今日はこれについて考察しよう.

まずは,こんな問題を考えてみる.

問1: 「1時37分21秒から4時23分00秒の間は何時間何分何秒か」


1. 標準電卓

手持ちの,SHARP EL-501ECanon F-500はどちらも[→DEG]キーがある.これは,入力した数値を「時間」の単位に変換するキーだ.時分秒を入力するときには,小数点以下を分,秒と考える.

[4.2300] [→DEG] [-] [1.3721] [→DEG] [=]

結果:2.760833333

[2ndF] [→DEG]

結果:2.4539(2時間45分39秒)

つまり,入力した数値を「時分秒」にコンバートする機能と逆コンバートする機能を持つボタンがそれぞれあり,計算は全て「時分秒」を「時」になおしてから行う,という流儀だ.仕様さえ分かっていれば問題はないが,直感的に分かりにくい.特に,表示機能の限界からいま表示されている数値がどちらなのか分からない.慣れないと,ちょっと使うのも難しいだろう.


2. CASIO fx-991s

かつての愛機,CASIO「数式通り」最初期のモデルだ.時刻入力もまだ「標準電卓」のカルチャーをひきずっている.当時からCASIOの「標準電卓」は他社と入力方式が異なっていて,それをそのまま受け継いだ形.一方,現行のfx-260Aは「標準電卓」でありながら,ほとんど「数式通り」と同じユーザーインターフェースだ.

で,当時のCASIOは時刻入力をどう扱ったかというと,変換キーの代わりに[゚ ' '']キーを装備した.入力は時:分:秒を[゚ ' '']キーで区切る方式.

[4] [゚ ' ''] [23] [゚ ' ''] [-] [1] [゚ ' ''] [37] [゚ ' ''] [21] [゚ ' ''] [=]

結果:2.760833333

そして,表示は「分」が1/60時間,「秒」が1/3600時間に自動的に変換される.上は,[4] [゚ ' ''] [23] [゚ ' ''] を入力した直後の状態.したがっていかなる瞬間も,表示されている数値は物理的に意味のある値となる.

結果はもちろん小数表示なので,逆変換キーを押して時刻表示に直す.

[2ndF][゚ ' '']

結果:2゚45゚39゚(2時間45分39秒)

今度はわかりやすい表示になった.最初から入力がこの形式で出来るようになるにはもう少し時間が掛かる.


3. Canon F-720i

もう少し進化したのがCanonの旧機種F-720i.こんどは入力がそのまま「時分秒」スタイルで表示される.

[4] [゚ ' ''] [23] [゚ ' ''] [-] [1] [゚ ' ''] [37] [゚ ' ''] [21] [゚ ' ''] [=]

結果:2.760833333

しかし,なぜか結果は小数表示.逆変換キー

[2ndF] [゚ ' '']

を押して,望む結果を得る.何となく関数電卓の進化の歴史を見るようで面白い.

結果:2゚45゚39゚(2時間45分39秒)


4. Canon/CASIO現行方式

CASIOの現行機種fx-912ESと,CANONの現行機種F-715Sについて見てみよう.

[4] [゚ ' ''] [23] [゚ ' ''] [-] [1] [゚ ' ''] [37] [゚ ' ''] [21] [゚ ' ''] [=]

結果:2゚45゚39゚(2時間45分39秒)

と,完璧だ.直接時分秒表示の答が得られる.注意点は,CASIO,Canon機は最後の[゚ ' '']を省略しないとSyntax Errorになること.fx-912ESはドットマトリクス液晶の利点を生かし,[゚][']['']が区別されて表示される.


5. SHARP方式

最後に,SHARPの現行機種,EL-509Eについて見てみよう.

[4] [゚ ' ''] [23] [-] [1] [゚ ' ''] [37] [゚ ' ''] [21] [=]

結果:2゚45゚39゚(2時間45分39秒)

現行の時刻入力方式,ここまではSHARP方式に軍配が上がる.まず,入力時にも下のディスプレイには[゚][']['']が区別されて表示される.7セグメント液晶なのにコイツは凄い.これはSHARP方式の置数ルールを生かしたナイスアイデアだ.秒を表す['']が常に一番右の位置に来る,という性質を利用して専用のセグメントを用意してある.更に,最後の[゚ ' '']キーは省略可.こうでなくちゃ.


続いて第二問.

問2: 「GPS座標,N 35.658632, E 139.745411 を東経XX度XX分XX秒,北緯XX度XX分XX秒の形で表せ」


1. 標準電卓

「標準電卓」の場合,[→DEG]キーの逆関数[→D. MS]が裏側にある(機種により表記が異なる).したがって操作は直感的.緯度についてやってみよう.

[35.658632] [→D.MS]

結果:35.393108 (北緯35度39分31秒08)

読み方が分かりづらいのは「標準電卓」方式のばあい仕方ない.今表示されているのが,「時分秒」なのか,小数で表された「時」なのかを知る方法もない.上級者向け,自己責任仕様だ.ちなみにここから

[×] [2] [=]

とやるとなにがしかの小数が現れるが,これに物理的意味はない.「標準電卓」方式で時刻の演算をしたかったら必ず[→DEG]キーで小数に変換してから行う.


2. Canon/CASIO現行方式

Canon,CASIOの「数式通り」,「Natural display」のばあい,小数から時分秒への変換は次のように行う.

[35.658632] [゚ ' ''] [=]

結果::35゚39゚31.08 (北緯35度39分31秒08)

Canon,CASIO方式は時刻入力の最後に[゚ ' '']を省略できない.そのかわりに時刻に小数を入力することが許されるのだ.たとえば

[4] [゚ ' ''] [1.5] [=]

とやると,置数は「4゚1゚30゚」と解釈される.

内部的には「最後に[゚ ' '']が押されたらそれは時刻と見なす」処理になっているらしい.たしかに,こうしておけば小数から時分秒への変換が非常に簡単に出来る.


4. SHARP方式

一方,SHARP方式はどうか.

[35.658632] [2ndF] [゚ ' '']

結果::35゚39゚31.08 (北緯35度39分31秒08)

全く違う設計思想で,こちらもまた別の意味で直感的.SHARP方式は,[2ndF] [゚ ' '']キーを関数とは違う機能と見なして考えているところがユニーク.「数式通り」関数電卓には,計算は[=]キーを押すまで確定しないというルールがあるが,[2ndF] [゚ ' '']キーだけは「入力中の数値」に直ちに作用する.SHARPとCASIO/Canonの[+/-]の入力方式の違いを思い出して頂けるだろうか.SHARP技術陣は,角度の「小数⇔時分秒の相互変換」もそれと同格の機能と位置づけた.一方のCanon/CASIOは[゚ ' '']キーの裏が「小数⇔時分秒の相互変換」というところまでは同じなのだが,あくまでこれは関数.従って[=]キーで確定した数値にしか作用しない.どちらがよりわかりやすい方式か,にわかには判断しがたいところだ.

ちなみに,Canon/CASIO方式とSHARP方式には操作の互換性が無い.Canonの電卓では数値が確定するまで[2ndF] [゚ ' '']は効かないし,SHARPの電卓は小数に対して[゚ ' '']キーが効かない.まさに「水と油」の様な関係になっている.

おまけ. 共通方式

で,私が考えたのがどちらの電卓でもつかえる「共通方式」効率は悪いが,確実に動作する妥協の方式だ.

[35.658632] [=] [2ndF] [゚ ' '']

結果::35゚39゚31.08 (北緯35度39分31秒08)

確定した数値に対しては,両機種とも[2ndF] [゚ ' '']キーは等しく小数⇔時分秒の相互変換キーとして働くので,いちど数値を[=]キーで確定しましょう,というやりかた.


結論

  • 入力方式,メーカーごとに異なる時刻,角度の入力,計算方法について述べた.
  • 「標準電卓」の時刻計算機能は使いやすいとは言い難い.
  • 「数式通り」になって時刻の入力・計算はやりやすくなった.歴史的モデルの入力方法を見ると進化の過程が見える.
  • 「数式通り」はメーカーにより思想が異なる.どちらも合理性を追求していて,納得のいく実装方法なので優劣は付けがたい.
  • ただし,SHARP方式をベースにしてCASIO,Canonの特徴(時刻入力に小数を許す)を付け加えれば完璧であろう.