プログラム電卓

プログラム電卓は、コンピュータのようにプログラムを格納し、プログラム制御によって自動的に複雑な計算を行うことができる電卓である。プログラムは、細長い磁気カードやROMカートリッジにセーブしたり、バッテリーバックアップされたRAMに格納しておいたりする。BASICなどの高水準言語でプログラミングできるものはポケットコンピュータなどとも呼ばれる。
1990年代初め以降、プログラム電卓はグラフ電卓へと進化している。ドットマトリクス方式の液晶ディスプレイが安価に大量生産できるようになるまでは、プログラム電卓のディスプレイ部分は1行の数字または英数字しか表示できないものだった。
プログラミング.
プログラム電卓は、プログラムを書いて格納することができ、難しい問題を解いたり、複雑な手続きを自動化したりできる。
元々は各電卓独自のコマンド言語によるプログラミングだったが、ハッカーが電卓の主要インタフェースを迂回する方法を発見してアセンブリ言語でプログラムを書くようになり、テキサス・インスツルメンツを代表とする電卓メーカーがネイティブモードのプログラミングをサポートしはじめた。まず、そのようなコードを利用可能にするフックを公開し、後に通常のユーザインタフェースで直接そのようなプログラムを扱えるよう機能を整えていった。
電卓向けのプログラムはインターネット上に多数存在する。そういったプログラムをパーソナルコンピュータにダウンロードし、専用のリンクケーブルや赤外線リンクやメモリカード経由で電卓にアップロードすることができる。また、エミュレータを使えばPC上で直接実行できる。
それを利用してプログラム電卓向けに他のプログラミング言語のインタプリタやコンパイラのプログラムを書くことも可能である。例えば、TI-83やTI-84には BBC Micro のBASICが既に移植されており、他にもFORTRAN、AWK、Pascal、REXX、Perl、Common Lisp、Python、tcl、UNIX上の各種シェルなどの移植が議論されている。
プログラム電卓向けのソフトウェアとしては、数学や科学に関連した問題を解くものや、ゲーム、デモなどがある。その多くは一般ユーザーが作り、フリーウェアやオープンソースとして公開しているが、教育および科学技術計算市場向けの有償ソフトウェアも存在する。
グラフ電卓は表示画面が大きいため、スクロールしなくてもソースコードを複数行表示でき、単なるプログラム電卓よりもプログラミングが容易である。
プログラムのセーブ手段.
プログラム電卓の重要な機能の1つとして、プログラムを永続的にセーブしておける機能がある。この機能がないと、電池を入れ替えたときなどにプログラムが消えてしまう。プログラム電卓内に電池を取り外しても内容が消えないメモリを搭載する方式と別の周辺機器を接続する方式がある。複数のセーブ手段を備える場合もある。
プログラム電卓とポケットコンピュータ.
1980年代、ハイエンドの電卓としてプログラム電卓とポケットコンピュータが存在しており、両者はよく似ている。例えば、どちらも非構造化BASICでプログラミング可能で、ほとんど例外なくQWERTY配列のキーボードを備えている。
しかし、次のような差異がある。
メーカーは両方の機器を製品として取り揃えていることが多かった。カシオは、当初は型番において、プログラム電卓に "fx-" をつけ、ポケットコンピュータには "pb-" をつけていた（後にFX型番でもフルキーで電卓モードなしのポケコンも出している）。シャープはBASIC搭載の全ての製品をポケットコンピュータとして販売していた。