プログラム電卓は、コンピュータのようにプログラムを格納し、プログラム制御によって自動的に複雑な計算を行うことができる電卓である。プログラムは、細長い磁気カードやROMカートリッジにセーブしたり、バッテリーバックアップされたRAMに格納しておいたりする。BASICなどの高水準言語でプログラミングできるものはポケットコンピュータなどとも呼ばれる。
1990年代初め以降、プログラム電卓はグラフ電卓へと進化している。ドットマトリクス方式の液晶ディスプレイが安価に大量生産できるようになるまでは、プログラム電卓のディスプレイ部分は1行の数字または英数字しか表示できないものだった。目次 プログラム電卓は、プログラムを書いて格納することができ、難しい問題を解いたり、複雑な手続きを自動化したりできる。 元々は各電卓独自のコマンド言語によるプログラミングだったが、ハッカーが電卓の主要インタフェースを迂回する方法を発見してアセンブリ言語でプログラムを書くようになり、テキサス・インスツルメンツを代表とする電卓メーカーがネイティブモードのプログラミングをサポートしはじめた。まず、そのようなコードを利用可能にするフックを公開し、後に通常のユーザインタフェースで直接そのようなプログラムを扱えるよう機能を整えていった。 電卓向けのプログラムはインターネット上に多数存在する。そういったプログラムをパーソナルコンピュータにダウンロードし、専用のリンクケーブルや赤外線リンクやメモリカード経由で電卓にアップロードすることができる。また、エミュレータを使えばPC上で直接実行できる。 それを利用してプログラム電卓向けに他のプログラミング言語のインタプリタやコンパイラのプログラムを書くことも可能である。例えば、TI-83やTI-84には BBC Micro のBASICが既に移植されており、他にもFORTRAN、AWK、Pascal、REXX、Perl、Common Lisp、Python、tcl、UNIX上の各種シェルなどの移植が議論されている。 プログラム電卓向けのソフトウェアとしては、数学や科学に関連した問題を解くものや、ゲーム、デモなどがある。その多くは一般ユーザーが作り、フリーウェアやオープンソースとして公開しているが、教育および科学技術計算市場向けの有償ソフトウェアも存在する。 グラフ電卓は表示画面が大きいため、スクロールしなくてもソースコードを複数行表示でき、単なるプログラム電卓よりもプログラミングが容易である。
1 プログラミング
2 プログラミング言語
3 プログラムのセーブ手段
4 プログラム電卓とポケットコンピュータ
5 主なプログラム電卓
6 脚注
6.1 注釈
6.2 出典
7 関連項目
プログラミング
プログラミング言語
キーストローク方式
初期のプログラミング電卓は、非常に単純なプログラミング言語を採用しており、実際にキーを押下する順序を記録する方式や複数のキーストロークをバイトコードのようなものに変換して記録する方式がある。条件分岐と間接アドレッシングが可能であれば、このような方式でもチューリング完全なプログラミングが可能である。キーストローク方式でチューリング完全なプログラム電卓としては、カシオのFX-602Pシリーズ、HP-41、TI-59
プログラム電卓の重要な機能の1つとして、プログラムを永続的にセーブしておける機能がある。この機能がないと、電池を入れ替えたときなどにプログラムが消えてしまう。プログラム電卓内に電池を取り外しても内容が消えないメモリを搭載する方式と別の周辺機器を接続する方式がある。複数のセーブ手段を備える場合もある。
磁気カードリーダ/ライタ
初期のプログラム電卓はオプションの永続的セーブ手段として磁気カードリーダを採用していた[5]。入力したプログラムを細長い磁気カードにセーブする。磁気カードとそのリーダは小型で持ち運びが容易である。しかし、一般に非常に高価だった。磁気カードを採用していた最後の機種としてHP-41CとTI-59