« ちかぢか組合総会があるが | メイン | Eddieさん最終セッション@クローフィッシュ(北千住) »

2006年03月02日(木曜日)

初めて買った計算機 [ コンピュータ&インターネット ]

横河ヒューレット・パッカード YHP-25mini
(プログラム電卓 YHP-25mini)

以前撮った写真を見ていたら、初めて買った計算機(というより電卓ですけどね)が出てきた。横河ヒューレット・パッカード(YHPと呼ばれていた)のYHP-25miniというもので、電卓ではあるが、いわゆるプログラム電卓。大学1年だったと思うが、物理実験で使うために購入した(というのは表向きの理由で、単にプログラムしたかったというのがホントの理由)。当時、カシオとかテキサス・インスツルメント(TI)とかの電卓もあったが、独特のクリック感で使いやすいキー(ボタン)と逆ポーランド記法(RPN, Reverse Polish Notation)による入力に惹かれて買ったことを覚えている。人に貸すと「使えないよ〜」と、直ぐに返されることがほとんどだったが(笑)。

たとえば、3+5を計算するには、日本式に「3に5を足す」と考えて、「3 Enter 5 +」の順で入力する。Enter(エンター)というキーは、区切りと思えばよい。区切る必要のないときはエンターを押さない。実際には、4段のスタック(X, Y, Z, Tの4つのレジスターから成る)があり、エンターはPUSHに相当する。演算はスタックの下の2段(XレジスターとYレジスター)に対して行われる。例えば、X=5, Y=6, Z=7, T=8 の状態で「9 Enter」と入力すればスタックは X=9, Y=5, Z=6, T=7 となり、一番上の8は捨てられる。そしてこの状態で「+」を押せば、X=14, Y=5, Z=7, T=7 となる。この際、一番上のTには前の値がそのまま残るが、これがちょっとしたポイントである(後述)。ちなみに画面には一番下のXのみが表示される。

こんな感じで計算するのだが、慣れると非常に便利なものの普通の電卓とはかなり違っているために、一部のマニア(苦笑)御用達になっていたかも。どう便利かというのを挙げてみる。12×15÷(17−7) を計算するには、「12 enter 15 × (注:これで、Xレジスターには結果の180が入っている) 17 enter 7 (注:この段階で、スタックは下から、X=7, Y=17, Z=180となっている) - ÷」と入力するだけでよい。途中の計算結果をいちいちメモリーに入れたりする必要はない。

最初に覚えたテクニックは多項式の値を計算するもの。例えば 2x^4+3x^3+4x^2+5x+6 という多項式に x=3.14 を代入したときの値をどう計算するか。まず「3.14 enter enter enter enter」として4段のスタックをすべて3.14で満たす。そして、「2 x 3 + x 4 + x 5 + x 6 +」と順に入力すれば出来上がりなのである。種明かしをすれば (((2x+3)x+4)x+5)x+6 と計算していることになる。最初に入力した3.14が演算後もTレジスターに残り続けるからこそ可能なテクニックなのであった。

投稿者 sukarabe : 2006年03月02日 09:28

トラックバック

このエントリーのトラックバックURL:
http://njet.oops.jp/cgi/mt/mt-tb-alt.cgi/1014

コメント

コメントしてください

comment spam対策のため,名前とメールの入力が必須になっていますが,メールアドレスは公開されません。Web SiteのURLは任意です。Type Key IDをお持ちの方はType Keyをサイン・インしてくださってもいいです。




保存しますか?