2005年4月10日 (4月13日)
● 文字電卓の復活
ちょっと購入が遅くなったが、シャープのプログラマブル関数電卓 EL-5060Xを手に入れた。ホームページでは地味な扱いなので、あまり期待していなかったが、しかし、実際に手に入れてみると、実によくできた機種である。「文字電卓」の最高峰だろう。
なお、機番の末尾のXは購入したパッケージに付いていたもので、説明書はEL-5060である。
● 文字電卓とは
このEL-5060が、なぜこのような構成になっているかを理解するには、歴史の話が必要となる。25年ほど前だったか、シャープから画期的な製品「ポケットコンピュータ(通称、ポケコン。いまでも売られている)」が発売された。それと同じ頃、同社から「文字電卓」と呼ばれる、プログラマブル関数電卓(EL-5100)が発売された。この最初の文字電卓は買ったのだが、今は手元にないし、以下の内容も若干うろ覚えである。
横長で、5x7ドットマトリクス24桁一行の表示。ポケコンと同じような大きさだが、ずっと薄くできていた。軽いので、かばんに入れて持ち運び、よく遊んだものである。
当時の普通の関数電卓は関数ボタンを押すと、平方根などの関数が直ちに起動する、といったもので、もちろん履歴は残らない。しかし、文字電卓では80文字(だったか)が記憶されるので、後で修正できる。そのため、いろいろ数値を変えて試すことができる。面白かったのは、BASIC言語などで「2
* A * C」と書くところを「2AC」と数式みたいに書けるのである。11の数値メモリがあり、5つの数式を記憶できた、…だったかと思う。
プログラム電卓もあるにはあったが、当時のことを知る人はひどい操作性を覚えていると思う。その点、文字電卓は画期的に分かりやすい。
その後「文字電卓」はポケコンの陰に隠れて地味だったものの、結構開発・販売され、そのいくつかを私も購入した。最近のものは超高機能のEL-5120で、なかなか楽しい電卓である。
時代が経つにつれ、横長のデザインは無くなり、普通の関数電卓みたいな外見になった。他の関数電卓でも、数式記憶は珍しくなくなった。それでも、「文字電卓」の個性は抜きん出ている。
● EL-5060
この最新の「文字電卓」は、電卓開発40周年記念モデルの一つだそうで、シリーズを組む4つの関数電卓、愛称「ピタゴラス」の一つである。一見、通常の電卓だし、私も購入するまでは、そうだと思っていた。なぜ購入したかと言えば、プログラム電卓は、どれもこれもが工夫のかたまりであり、おしなべて楽しいからだ。
ところが、買ってびっくり、文字電卓の直接の子孫だし(型番から想起すべきであった)、内容も抜群。とにかく、操作性がよく、よほど関数電卓を愛している人が設計したに違いない。
まず、関数電卓としてしっかりしている点がうれしい。なぜこんな書き方かというと、文字電卓は少々文字電卓のこだわりがきつくて、関数電卓としていまいちの傾向が、なきにしもあらず、だったからである。
たとえば、上述のEL-5120は5x5のドットマトリクス表示であり、我慢の範囲内だが、多少見づらい。その点、今回のEL-5060は上段に12桁の5x7ドットマトリクス表示、下段が通常の10桁+2桁7セグメント表示であり、他社にも見られるように、普通の表示になった。もちろん、認視性は抜群になった。
ボタンの配置もよくって、たとえば、EL-5120の「MODE」「OPTION」「MATH」「SETUP」はどれが何なのか、訳が分からなくなりがちだった。しかし、EL-5060では「MODE」「SETUP」「MATH」に整理されていて、MATHは拡張関数キーであることが明白な位置に配置されたので、ずっと分かりやすくなった。貴重なスペースに「DEL」と「BS」キーが別々にあったのも余計であったが、「DEL」のみに統一された。
● 関数機能
関数電卓の顔であるlogやsinなどのキーに混じって、本機で唯一の謎のキー「x3」の三乗キーが面白い。非線型解析の流行に乗ったのか、とも思えたのだが、ところが、意外に実際に使ったりする。個性を主張している不思議なキーである。
分数や16進数が使える。最近では当然の機能で、無ければ買っていない。時間や角度計算を含めて、操作性やキーの配置が良くなった。小数から分数を作る、面白い機能がある。
うれしい機能の一つに、正規確率分布がある。統計モードで使える、待望の機能である。本格的な統計はもちろん無理だが、概算が手軽にできるのがうれしい。
ほとんど隠し機能だが、物理定数と単位換算機能がある。
メモリは、M,A,B,C,D,E,F,X,Yの9つある。不思議な名前のθメモリはYメモリに統合された。
● 高度な機能
ニュートン法で解を求めるソルバー機能、シンプソン則の定積分、数値微分、乱数発生、二元・三元連立一次方程式、二次・三次方程式の解、複素数の加減乗除ができる。
こんなの電卓で役立つのか、と一瞬思えるが、大学入試問題の検算など、妙なところで使えたりする。
統計機能では、二次回帰式の計算が目立つ。
4行4列の行列、または16項までのリストを4本もち、ある程度のそれらしい演算が可能である。
数式はF1〜F4の4本が記憶できる。呼び出してそのまま使ってもよいし、「シミュレーション機能」を使うと、使われている変数(メモリ)の入力を求めてくるので、入力すると計算結果が分かる。本機のプログラム機能とは、数式記憶とシミュレーション機能を指し、それ以上のプログラム性は無い。
● プログラム機能
ということで、EL-5060には大変満足している。この機種については、付け加えることは無い。シンプルに徹したプログラム機能も成功していると思う。
しかし、私としては、「プログラマブル電卓」というからには、ゲームの一つも作れないといけない、という信念みたいなものがある。その点、EL-5060は昔に戻ってしまった。実は、シャープの文字電卓には拡張の歴史があって、特にプログラム機能は混乱の極み、だったので、本機が原点に戻ったのは、どちらかというと歓迎である。
プログラム機能とは、逐次処理、判断と分岐、繰り返しである。EL-5060には逐次処理さえない。いわゆる副作用に分類される、変数への代入もできない。ガウスの記号に相当する整数化や剰余演算も無い。サブルーチンやマクロなど、とんでもない。「純粋」な関数電卓になったのである。
しかし、考えてみると、たとえば形の違う関数の区間をつないで積分する、などということは、ありがちと思う。であれば、数学で場合分けが日常的に行われるように、if
() then ...の判断と分岐は必要であろう。
同様に、行列やリストを導入したのだから、数学的帰納法に相当する、for ()
...の繰り返しも必要であろう。もちろん、繰り返しでなく数学的帰納法により近い「再帰」でも良いが、使いこなせる人は少ないだろう。リストはあっても、今のままではmap(写像)機能、つまり各要素に同じ関数を次々に作用させることもできない。
案内文字列の出力機能があればゲーム機の完成である。ファイルシステムと通信機能があれば管理が楽になる。文字列処理はあるに超したことは無いが、やりすぎ、との境界であろう。
● ポケコンとの違い
あまり拡張してしまうと、ポケコンと変わらないではないか、ということになるが、その通りである。上の記述も、LISPやAPLといった計算機言語を考えながら書いているのだから、当然、そうなる。
関数電卓の枠内に留まりながら、どこまで計算機らしくなるかは、趣味としては面白いテーマだと思う。LISPでは特別関数(special
form: 特殊形式が定訳)としてプログラムを取り込んだ。リスププログラマに言わせれば、LISPは実行効率もよい言語だから、こちらこそ計算機の王道といってよい。
残念なことに、繰り返しや条件分岐でこなれたプログラム電卓を見たことは無い。EL-5060の抜群の操作性を見ていると、上述の、関数電卓のやり残している点が何とかならぬかと、思いが膨らむ。行列やリストと関数機能を強く結びつけるためにも、計算機らしさは必要であろう。今や我々は歴史を知っているし、原点に回帰した今こそ、次の関数電卓のあるべき姿を想像することができる、と思う。
追伸。C言語の前にB言語が存在した! などというのが、うんちく本のネタになっているが、実はA言語もあったのである。A Programming Language (APL)