プログラム電卓でんたく

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

プログラム電卓でんたく(プログラムでんたく)は、コンピュータのようにプログラム格納かくのうし、プログラム制御せいぎょによって自動的じどうてき複雑ふくざつ計算けいさんおこなうことができる電卓でんたくである。プログラムは、細長ほそなが磁気じきカードやROMカートリッジにセーブしたり、バッテリーバックアップされたRAM格納かくのうしておいたりする。BASICなどの高水準こうすいじゅん言語げんごでプログラミングできるものはポケットコンピュータなどともばれる。

1990年代ねんだいはじ以降いこう、プログラム電卓でんたくグラフ電卓でんたくへと進化しんかしている。ドットマトリクス方式ほうしき液晶えきしょうディスプレイ安価あんか大量たいりょう生産せいさんできるようになるまでは、プログラム電卓でんたくのディスプレイ部分ぶぶんは1ぎょう数字すうじまたは英数字えいすうじしか表示ひょうじできないものだった。

なお、「プログラマブル電卓でんたく」という異称いしょうもある。

プログラミング[編集へんしゅう]

プログラム電卓でんたくは、プログラムいて格納かくのうすることができ、複雑ふくざつ手続てつづきを自動じどうしたり、むずかしい問題もんだいいたりできる。

元々もともとかく電卓でんたく独自どくじのコマンド言語げんごによるプログラミングだったが、ハッカー電卓でんたく主要しゅようインタフェースを迂回うかいする方法ほうほう発見はっけんしてアセンブリ言語げんごでプログラムをくようになり、TI代表だいひょうとする電卓でんたくメーカーがネイティブモードのプログラミングをサポートしはじめた。まず、そのようなコードを利用りよう可能かのうにするフックを公開こうかいし、のち通常つうじょうのユーザインタフェースで直接ちょくせつそのようなプログラムをあつかえるよう機能きのうととのえていった。

電卓でんたくけのプログラムはインターネットうえ多数たすう存在そんざいする。そういったプログラムをPCにダウンロードし、専用せんようのリンクケーブルや赤外線せきがいせんリンクやメモリカード経由けいゆ電卓でんたくにアップロードすることができる。また、エミュレータを使つかえばPCじょう直接ちょくせつ実行じっこうできる。

それを利用りようしてプログラム電卓でんたくけにプログラミング言語げんごインタプリタコンパイラのプログラムをくことも可能かのうである。たとえば、TI-83やTI-84には BBC Micro のBASICがすで移植いしょくされており、ほかにもFORTRANAWKPascalREXXPerlCommon LispPythontclUNIXうえ各種かくしゅシェルなどの移植いしょく議論ぎろんされている。

プログラム電卓でんたくけのソフトウェアとしては、数学すうがく科学かがく関連かんれんした問題もんだいくものや、ゲーム、デモなどがある。そのおおくは一般いっぱんユーザーがつくり、フリーウェアオープンソースとして公開こうかいしているが、教育きょういくおよび科学かがく技術ぎじゅつ計算けいさん市場いちばけの有償ゆうしょうソフトウェアも存在そんざいする。

グラフ電卓でんたく表示ひょうじ画面がめんおおきいため、スクロールしなくてもソースコードふくすうぎょう表示ひょうじでき、たんなるプログラム電卓でんたくよりもプログラミングが容易よういである。

プログラミング言語げんご[編集へんしゅう]

キーストローク方式ほうしき
初期しょきのプログラミング電卓でんたくは、非常ひじょう単純たんじゅんなプログラミング言語げんご採用さいようしており、実際じっさいにキーを押下おうかする順序じゅんじょ記録きろくする方式ほうしき複数ふくすうのキーストロークをバイトコードのようなものに変換へんかんして記録きろくする方式ほうしきがある。条件じょうけん分岐ぶんき間接かんせつアドレッシングが可能かのうであれば、このような方式ほうしきでもチューリング完全かんぜんなプログラミングが可能かのうである。キーストローク方式ほうしきでチューリング完全かんぜんなプログラム電卓でんたくとしては、カシオFX-602PシリーズHP-41TI-59英語えいごばん などがある。キーストローク方式ほうしきのプログラム電卓でんたくは2012ねん現在げんざい販売はんばいされており、HP 35s、カシオのfx-5800Pなどがある。
BASIC
BASICは、デスクトップコンピュータやポケットコンピュータでひろ採用さいようされたプログラミング言語げんごである。シャープカシオTIなどがプログラム電卓でんたくやポケットコンピュータのプログラミング言語げんごとして採用さいようした。これらのBASICの方言ほうげんはキーストローク方式ほうしき長所ちょうしょれた電卓でんたくけに最適さいてきされたものである。したがって、一般いっぱんてきなBASICとの共通きょうつうてんすくない[1][2][3]
RPL
RPLヒューレット・パッカードがプログラム電卓でんたくけに採用さいようした、ぎゃくポーランド記法きほうじゅんなどを特徴とくちょうとする言語げんごである。1987ねんリリースのHP-28Cから導入どうにゅうした[4]
アセンブリ言語げんご
初期しょきのプログラム電卓でんたくでは機械きかい直接ちょくせつ使つかうことはできなかったが、ハッカーがインタプリタのインタフェースを迂回うかいする方法ほうほう発見はっけんし、アセンブリ言語げんご直接ちょくせつプログラミングできるようになった。最初さいしょにこの技法ぎほう使つかわれるようになったのは TI-85 で、モード切替きりかえにプログラミングじょう欠陥けっかんがあったためである。TI-83でも同様どうよう技法ぎほう使つかわれるようになると、TIとHPは愛好あいこうがそのようなニーズをっていることを把握はあくするようになり、アセンブリ言語げんごようライブラリを開発かいはつしたり、開発かいはつしゃけの詳細しょうさい文書ぶんしょ公開こうかいしたりするようになった。携帯けいたいがたゲームのゲームとたようなゲームがプログラム電卓でんたくとくにグラフ電卓でんたく)ですぐさま開発かいはつされるようになった。TIはTI-83やTI-89正式せいしきにアセンブリ言語げんごをパッケージとしてサポートするようになった。HPは2012ねん現在げんざいさい上位じょうい機種きしゅ HP 50g でアセンブリ言語げんご内蔵ないぞうしている。カシオはPB-1000英語えいごばんでアセンブリ言語げんご搭載とうさいし、PB-1000Cでは搭載とうさいCPUのアセンブリ言語げんごではなく情報処理じょうほうしょり技術ぎじゅつしゃ試験しけんCASL搭載とうさいしていた。
その
gcc開発かいはつスイートはHPおよびTIの一部いちぶ機種きしゅにも対応たいおうしており、PCじょうでC、C++、Fortran 77、アセンブリ言語げんごなどを使つかってプログラム電卓でんたくけのソフトウェアを開発かいはつし、電卓でんたくにアップロードして使つかうことができる。
電卓でんたくじょうまたはPCじょうでコンバータ、インタプリタ、コードジェネレータ、マクロアセンブラ、コンパイラなどを開発かいはつするプロジェクトがいくつかある。言語げんごとしては、FORTRAN、BASIC、AWKC言語げんごCOBOLREXXPerlPythonTclPascalDelphi各種かくしゅシェル(DOS、OS/2のバッチやWindowsのシェル、Unixけいのシェルなどがある。

プログラムのセーブ手段しゅだん[編集へんしゅう]

プログラム電卓でんたく重要じゅうよう機能きのうの1つとして、プログラムを永続えいぞくてきにセーブしておける機能きのうがある。この機能きのうがないと、電池でんちえたときなどにプログラムがえてしまう。プログラム電卓でんたくない電池でんちはずしても内容ないようえないメモリを搭載とうさいする方式ほうしきべつ周辺しゅうへん機器きき接続せつぞくする方式ほうしきがある。複数ふくすうのセーブ手段しゅだんそなえる場合ばあいもある。

磁気じきカードリーダ/ライタ
初期しょきのプログラム電卓でんたくはオプションの永続えいぞくてきセーブ手段しゅだんとして磁気じきカードリーダを採用さいようしていた[5]入力にゅうりょくしたプログラムを細長ほそなが磁気じきカードにセーブする。磁気じきカードとそのリーダは小型こがたはこびが容易よういである。しかし、一般いっぱん非常ひじょう高価こうかだった。磁気じきカードを採用さいようしていた最後さいご機種きしゅとしてHP-41CTI-59英語えいごばんがある。
バッテリーバックアップしきメモリ
しゅ電源でんげんってもメモリの内容ないようえないようバッテリーバックアップをおこな方式ほうしきで、HPが最初さいしょ採用さいようcontinuous memory名付なづけた。これは電池でんち交換こうかんさいでもプログラムがうしなわれないようになっている[6]。なお、メモリ容量ようりょうえてくると、完全かんぜんなバッテリーバックアップは困難こんなんになってきた。そのため、電池でんち交換こうかんにかける時間じかんを2ふん以内いないなどと制限せいげんする方式ほうしき[7]電池でんちを2つ搭載とうさいしていちに1つしか交換こうかんできないとする方式ほうしきなどが登場とうじょうした。
カセットテープ
コンパクトカセット磁気じきカードよりも安価あんか単純たんじゅんなセーブ手段しゅだんである。たとえばカシオは FA-1 というインタフェースモジュールを発売はつばいし、プログラム電卓でんたく一般いっぱんてきなカセットデッキを接続せつぞく可能かのうとした。周波数しゅうはすうへんうつり変調へんちょうでデジタルデータを音響おんきょう信号しんごう変換へんかんして録音ろくおんする[8]シャープHPは、電卓でんたく直接ちょくせつ接続せつぞく可能かのうマイクロカセット使つかった専用せんようレコーダーを発売はつばいした。こちらのほう信頼しんらいせいたか便利べんりだったが、カシオの方式ほうしきよりも高価こうかだった。
フロッピーディスク
フロッピーディスク適度てきど安価あんかであり取扱とりあつかいもしやす便利べんりなセーブ手段しゅだんである。たとえばヒューレット・パッカードHP-ILインターフェースを使用しようしてフロッピーディスクドライブ接続せつぞく可能かのうとした。このフロッピーディスクドライブ(HP 9114A/B)を利用りようすると3.5インチ2DDフロッピーディスクにセーブすることが可能かのうである。HP-ILを採用さいようしていた機種きしゅとしては、HP-41CHP-71B、HP-75C/Dとうがある。
PCとの接続せつぞく
プログラムやデータはパーソナルコンピュータ転送てんそうでき、PCじょうでセーブできる。PCとの接続せつぞく手段しゅだんとしては登場とうじょう年代ねんだいじゅんに、RS-232IrDAUSB などがある。PCを所有しょゆうしていることが前提ぜんていだがケーブルだけでむので安価あんかであり、カセットテープよりも高速こうそくである。初期しょきれいとしてはカシオのFX-603PとFA-6インタフェースがある。この場合ばあいプログラムやデータはプレーンテキストとして転送てんそうされるので、セーブできるだけでなく、PCじょうテキストエディタ編集へんしゅう可能かのうである。
フラッシュメモリ
最近さいきんではフラッシュメモリなどの不揮発ふきはつせいメモリを挿入そうにゅうするスロットをそなえているものもある。

プログラム電卓でんたくとポケットコンピュータ[編集へんしゅう]

1980年代ねんだい、ハイエンドの電卓でんたくとしてプログラム電卓でんたくポケットコンピュータ存在そんざいしており、両者りょうしゃはよくている。たとえば、どちらも構造こうぞうBASICでプログラミング可能かのうで、ほとんど例外れいがいなくQWERTY配列はいれつのキーボードをそなえている。

しかし、つぎのような差異さいがある。

メーカーは両方りょうほう機器きき製品せいひんとしてそろえていることがおおかった。カシオは、当初とうしょ型番かたばんにおいて、プログラム電卓でんたくに "fx-" をつけ[ちゅう 1]、ポケットコンピュータには "pb-" をつけていた(のちにFX型番かたばんでもフルキーで電卓でんたくモードなしのポケコンもしている)。シャープはBASIC搭載とうさいすべての製品せいひんをポケットコンピュータとして販売はんばいしていた。

おもなプログラム電卓でんたく[編集へんしゅう]

カシオ計算機かしおけいさんき
FX-502PFX-602PFX-603PFX-702P英語えいごばんFX-850P英語えいごばんCasio 9850 シリーズ英語えいごばんCasio 9860 シリーズ英語えいごばんCasio ClassPad 300
ヒューレット・パッカード
HP-10CシリーズHP-25HP-28 シリーズHP 35sHP-41CHP 48 シリーズHP-65HP 49/50 シリーズHP 38GHP Prime
シャープ
PC-1401英語えいごばんPC-1403英語えいごばん
テキサス・インスツルメンツ
TI-58 C英語えいごばんTI-59英語えいごばんTI-66TI-84 Plus シリーズTI-NspireシリーズTI-89 シリーズTI-92シリーズ
Elektronikaソ連それん・ロシアのブランド)
B3-21B3-34英語えいごばんMK-61MK-52英語えいごばん、MK-85、MK-90、MK-92、MK-98、MK-152、MK-161
Sinclair英国えいこく
Sinclair Cambridge Programmable

脚注きゃくちゅう[編集へんしゅう]

注釈ちゅうしゃく[編集へんしゅう]

  1. ^ FX-700P[10]とFX-702P[11]本体ほんたい写真しゃしんると "programmable calculator" と印字いんじされているのがわかる。

出典しゅってん[編集へんしゅう]

関連かんれん項目こうもく[編集へんしゅう]