温故知新 - FX-502P / FX-602P / FX-603P

プログラム電卓 温故知新
 - 搭載プログラミング言語に注目して、プログラム電卓の変遷を考える -
<目次>


 
2019/06/30
追記修正 2019/12/03

過去から現在に至る性能や仕様の変化を調べ、プログラミング言語を中心にカシオ製プログラム電卓の系譜を明らかにする。

1. キーストローク式言語 - 携帯型プログラム電卓の普及

最初に取り上げるのは、1978年発売の世界初の手帳サイズのプログラム関数電卓 FX-502P。これは、手帳サイズの薄型、軽量でボタン電池駆動の省電力設計といった、プログラミング環境をだれでも手軽に持ち歩ける画期的な製品だった。

そして僅か3年後の 1981年にはメモリ容量が256ステップから512ステップに倍増した  FX-602P が発売された。カシオ初(国内初か?)のアルファベット出力機能が付き、関数演算がほぼ倍速化された。使い勝手(特にプログラミング)が改善され、FX-502P と同じサイズで大幅に機能向上したせいか、海外でも広く普及し国際的なカシオファンを生み出した記念すべき製品だ。

さらに 1990年に FX-603P が発売された。ポケコンに使われていた CPU (日立 HD62002) を搭載し、PCリンクが可能になり、大幅に高速化された。この製品は 2006年に fx-5800P が発売されるまでの16年の間、継続販売された。

1981年2月発行のカシオ電卓総合カタログ - FX-502P
1981年6月発行のカシオ電卓総合カタログ - FX-602P
1990年12月発行のカシオ電卓総合カタログ - FX-603P


Casio FX-502P

FX-502P_3  FX-502P&Manual_2  

厚い本「プログラムライブラリ」も付属していたが、紛失してしまったので写真には写っていない。定数早見表なるカードも付属していた。

私が購入したのが 1979年で、今年で40年になるが、問題無く動作するのには驚かされる。駆動部分が無いとは言え、スイッチや電池ホルダ内のバネ状の電極も劣化していない。2~3年ごとに動作確認と電池交換をしていたのが良かったのだと思う。さらに付属品の手帳型カバーは経年劣化で多少硬化しているが、割れもなく、殆ど変色もしていない。付属品であっても、きちんとした製造品質だったと今になって分かる。

取扱説明書の中にある [GOTO]キーの説明部分を見ると、思わず時代を感じさせてくれる。
FX502P_Desc 
今時、"ゴーツー"  という人は見かけない(^_^;

FX-502P 搭載のプログラミング言語の特徴
さて、このモデルでは、マニュアル計算を行う時に押すキーの順序通りに記録することでプログラミングする、いわゆるキーストローク式の言語で、言い換えれば表示レジスタの内容に対して演算を施すようにコーディングする方式だ。このモデルは古い関数電卓共通の関数後置式が採用されていて、[3] [0] [cos] と入力すると cos 30 を計算するので、これをそのまま記録してプログラミングする。加えて GOTO / LBL による無条件ジャンプ機能、表示レジスタや特定レジスタの値を利用した条件ジャンプ機能、特定レジスタを利用したカウントジャンプ機能、さらには間接ジャンプ機能など用いて、プログラムの構造制御を行う。

このモデルの言語の優れている点の1つとして、間接ジャンプ機能を挙げたい。特定メモリにジャンプ先の番号 (LBL N の N)が格納されていると、LBL N にジャンプする機能だ。現在のプログラミング言語で普通に使われている switchSelect ステートメントと同じ動作を間接ジャンプで実現できる。

もう一つ特徴的なのは、ISZDSZ コマンドによるカウントジャンプ機能だ。このモデルの場合は、0番メモリに格納されている数値を、1づつ増やす (ISZ) か減らして (DSZ) ゆき、0になったら、次のコマンドを飛ばして2つ先のコマンドを実行する機能だ。興味深いのは、カシオの最新のプログラム電卓 fx-5800Pfx-CG50 でもこのカウントジャンプコマンドが搭載されていることだ。現在の仕様では、特定メモリではなくて任意の変数を指定できるが、基本は同じだ。IszDsz はカシオ独自のコマンドであり Basic コマンドとしては異質であるが、非力なCPUで効率良く処理をするには不可欠だ。ジャンプ機能としてでなく、単にインクリメント、ディクリメントするだけでも効率よく高速に行えるのも有用な点といえる。

実際のプログラム例
整数1からNまで順に加える「加算プログラム」を例にあげる。
加算 

FX-502P のプログラムは以下のようになる (19ステップ)。
FX502P_source_adding_up 

入力には HLT コマンドで入力待ち、入力後、表示レジスタの値をメモリ1番に取り込む (HLT Min1)。

x≧0 は条件ジャンプコマンドで、表示レジスタの値が ≧0 (0以上) なら、次のコマンドを実行、そうれなければ2つ先のコマンドを実行する。

FX-502P の液晶は7セグメント表示であるため、コマンドをそのまま表示できない。そこで7セグで表示可能なキャラクタを使ったコードでの表示になる。コード判読のために、各キーのコードが記入されたシートをキーボードの上に被せて使う。慣れればコードも覚えてしまうが、コード表示が FX-502P でのコーディングの欠点といえる。



Casio FX-602P

FX-602P FX-602P&Manual_s

FX-602P はドットマトリックス液晶を搭載し、アルファベット表示が可能になった。これにより、コマンドがコード表示しかできなかった FX-502P の欠点が解消された。使えるメモリが増えたため、メモリ指定は2桁になった。

ところで、[GOTO]キーの説明は、依然笑える(^_^;
FX602_Desc 

さて、FX-602P は、FX-502P のプログラムが使える互換性が確保されている。

実際のプログラム例と処理速度の比較
シンプソン法で数値積分を実行する「数値積分プログラム」を例に挙げる。
関数 

この数値積分は、とね日記 - 世界初の手帳型プログラム関数電卓 CASIO fx-502P (1979)、fx-602P (1981) で取り上げられているので、そのまま利用させていただく。

FX-602P のプログラムは以下のようになる (39ステップ)。とね日記で紹介されているものから余計なステップを省略した。
FX602P_souce_function 


さて、「加算プログラム」と「数値積分プログラム」の実行速度を比較してみた。

加算プログラム
加算 
FX602P_source_adding_up 
プログラムを実行すると N の入力が求められるので、1000 を入力する。

数値積分プログラム
関数 
FX602P_souce_function 
プログラムを実行するとシンプソン法で必要な分割数の入力を求めるので、1000を入力する。

実行結果を示す;
加算プログラム数値積分プログラム
機種実行時間比較実行時間 (秒)比較
FX-502P123.1 秒---1261.8 秒---
FX-602P111.2 秒1.1 倍716.5 秒1.8 倍

両機種で共通しているのは、四則演算(加算プログラム)よりも関数(数値積分プログラム)の方が処理に時間がかかること。

2機種を比較してみると、2機種の間で四則演算の処理能力には大きな違いは無い。この結果から1000回の無条件ジャンプの処理速度は FX-602P が若干速いが、ほぼ同じと言える。一方、三角関数の処理能力には 1.8 倍の明らかな差が見られたので、FX-602P では関数処理の能力を向上させたことが分かる。



Casio FX-603P

FX-603P_1 FX-603O&Manual_s 

FX-603P は、ドットマトリックスの2行表示になり、プログラム保存のメモリ容量は 6144ステップと FX-602P の12倍に増え、RS-232Cでのシリアルポートが追加内蔵され、PCリンクも可能になった。処理速度も大幅に向上した。ハードウェアの進化に伴い消費電力が増え、連続使用時間は FX-602P の600時間から160時間へと大幅に低下した。またサイズが少し大きくなり、重量は FX-602P の100gから136gへと大幅に増えた。実際に手に取るとズッシリと重く感じる。
502P_602P_603P 

ところで、[GOTO]キーの説明だが、
FX603P_Desc 
1990年で改善、とはいってもカタカナ表記が依然気になる!
今時の説明書なら、"GOTO / SAVE / POKE キー" といった感じが普通では?

さて、FX-603P は、FX-502P / FX-602P の上位互換機であり、プログラムは共通して使える。

今回は FX-602P のソースをそのまま使用して上記の2つのプログラムを実行し、比較してみた。
加算プログラム数値積分プログラム
機種実行時間比較実行時間 (秒)比較
FX-502P123.1 秒---1261.8 秒---
FX-602P111.2 秒1.1 倍716.5 秒1.8 倍
FX-603P37.8 秒3.3 倍166.2 秒7.6 倍

FX-603P では、四則演算だけでなく、関数処理能力がさらに向上した。



プログラム電卓の系譜 - FX-502シリーズ [2019/08/09 追記修正]

FX-502P
 に搭載されたプログラミング言語は、レジスタやメモリの値を直接処理するので、アセンプラのように効率が良い。しかしプログラムコードの可読性は悪く、デバッグは楽ではない。その後メモリが増強され、CPUが高速化され、通信機能が搭載され FX-603P でこの系統の完成形となる。

このようなキーストローク式のプログラミング言語ではあるが、1978年の FX-502P の登場から、2006年に FX-603P が生産中止されるまでの28年間もの長期間、広く世界市場で支持された。

FX-502P シリーズは、ポケットに収まる手帳型でありながら、関数電卓としての性能と効率の良いプログラミング性能を提供したことで、プログラム電卓が市場で広く認知される役割を果たしたと言える。

この系統と並行して、カシオ電卓のプログラミング言語は可読性の向上を指向することになる。そして、fx-3000P シリーズを経て、プログラミング言語の系譜におけるマイルストーンというべき fx-4000P が登場する。



温故知新 - FX-502P / FX-602P / FX-603P
温故知新 - fx-4000P / fx-4500P / fx-4800P
温故知新 - fx-7000G
温故知新 - CFX-9850G
温故知新 - CFX-9850GC PLUS

温故知新 - fx-9860G
温故知新 - fx-5800P
温故知新 - fx-9860GII
温故知新 - fx-CG10 / CG20 / CG50
温故知新 - fx-CP400
温故知新:番外編 - 関数電卓としての使い勝手




応援クリックをお願いします。励みになるので...
にほんブログ村 IT技術ブログ 開発言語へ


 


keywords: プログラム関数電卓、プログラミング、Casio Basic、CFX-9850GC PLUS

リンク集 | ブログ内マップ













関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

コメントの投稿

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Re:Re: fx-4800Pの裏技?

管理人様、こんにちは!

>予め変数26個の変数領域がアルファベット順に確保されているのが原因なのでしょうね?

領域が固定だとダイレクトアクセスできるので変数名で時間差が生じるのが不思議すぎるのですが、
変数アクセスするたびにAから順に変数名検索しているような感じがしますね。(^^;


>...昨日、fx-4000Pシリーズの温故知新をやっとこさアップしましたが、今日裏技を追記しました。

お疲れ様です。
そして追記、毎度ながら恐縮です。


>今回は、シリーズの異なるモデルのマニュアルをかなり読みました。
>シリーズとしては一貫性が無いので、まとめるのに時間がかかってしまいましたが、私の頭はかなりスッキリとしました(^_^;

プログラム電卓となるとマニュアルが結構厚いので読み応えがあります。
処理速度は分からないですが、公式の言語仕様はマニュアルだけでもほぼ分かりますね。
サンプルライブラリが多ければ多いほど分かりやすいですが、新しくなるほどにライブラリが減っていくのが困りものです。(^^;

Re: fx-4800Pの裏技?

sentaro様


> 裏技とありますがさほど裏技でも無いかもしれません。(^^;
>
> じつは、fx-4800Pでは使用する変数によって処理速度が違います。
> 同時期に販売されていたと思われるグラフ電卓のfx-9700GEも同じ仕様です。
> A~Zまでの1文字変数は固定領域で確保されているのが通常なので速度は変わらないはずですが、
> これらの機種では変数Aが一番早くZが一番遅いというへんてこな仕様です。
> 通常のBASIC言語では変数は使われた順(=登録された順)に速いという原則がありますが、
> それとはまた違ったくせのある仕様です。
> ということで、使用する変数はAから順に使うのが速く動作させるための秘訣です。(^^;

ありがとうございます。
予め変数26個の変数領域がアルファベット順に確保されているのが原因なのでしょうね?

なかなか面白い癖ですね。


...昨日、fx-4000Pシリーズの温故知新をやっとこさアップしましたが、今日裏技を追記しました。

今回は、シリーズの異なるモデルのマニュアルをかなり読みました。
シリーズとしては一貫性が無いので、まとめるのに時間がかかってしまいましたが、私の頭はかなりスッキリとしました(^_^;


fx-4800Pの裏技?

管理人様、こんにちは!

裏技とありますがさほど裏技でも無いかもしれません。(^^;

じつは、fx-4800Pでは使用する変数によって処理速度が違います。
同時期に販売されていたと思われるグラフ電卓のfx-9700GEも同じ仕様です。
A~Zまでの1文字変数は固定領域で確保されているのが通常なので速度は変わらないはずですが、
これらの機種では変数Aが一番早くZが一番遅いというへんてこな仕様です。
通常のBASIC言語では変数は使われた順(=登録された順)に速いという原則がありますが、
それとはまた違ったくせのある仕様です。
ということで、使用する変数はAから順に使うのが速く動作させるための秘訣です。(^^;

Re:Re: Re:Re: Re:Re: Re: Re:Re: CASIOプログラム電卓のマイルストーン!

管理人様、こんにちは!

>慣れの問題も大きいですが、→ の方が自然に近い感じがしていて、= の方がチョット無理があるように感じませんか?

確かに記述的には→の方が自然です。(^^)
ただ、既存の言語や今の言語でも左辺に代入する方式が定着しているので
方向が逆というのは、いざ移植しようというときに混乱してしまうので困りものです。(^^;


>→で代入はグラフ関数電卓の証、と言えそうですね!

ですね。
CASIOだけでなくTIもグラフ電卓では追従しましたからこれはこれで正解だったと思います。(^^)


>言語仕様を除けば、fx-5800P と殆ど同じ使い方ができますよね。
>結構気に入ってしまったので、前日アップした高速素因数分解のコードを fx-4800P に移植しちゃいました。
https://egadget2.web.fc2.com/archives/fx-4800P/FACTOR-F1_for_fx-4800P.html

おお!さすが管理人様、移植が早いです!(^^)


>fx-4800P の方が、シッカリ速いですよ!


>あと、内蔵の積分機能ですが、4800P の方が、5800P よりもかなり速いです!

4800Pはシンプソン法なので、分割数を減らせば高速になりますね。
その分、精度が下がっちゃいますけど…(^^;


>fx-4800P などは、全く気にしたことがなかったのですが、実際に触ってみるとお気に入りになってしまいました。
>fx-4850P になると、メモリがどどーんと増えているので、これは持っていてもと良かったな、と今になって思います。

4800Pの出品は割と多めで格安なので、ヤフオクやメルカリで探せば4850Pにも当たるかもしれません。


>但し、プログラミングは fx-5800Pのほうが遙かに良いですね!
>おまけに、今では CcLinker があるので、もう昔に戻れません(^_^;

そうなんです。
プログラム電卓はポチポチ触ってるだけならいいんですけど、
より便利な使い方を覚えてしまうともう戻れません(^^;
4800Pと5800Pは本体だけだとさほど大差はないといえるところですが、CcLinkerのある無しは結構な大差と言えますね。(^^)


>そうそう、fx-7000G の美品ですが、拉致があかず、eBay のシステムもサポートもボケボケで、もう止めちゃいました。
>で、セラーにそれを伝えたら、ドイツならOK!
>でも、私が支払いをしないために取引できなくなっているから、残念。提案が遅すぎた、とか言ってきたわけです。

うわ…なんと…(^^;


>で、ふとセカイモンをみたら、結構な美品があったので、速攻でポチッとしました。
>fx-7000G のタイプは、電卓の裏のアルミの状態が外観を物語っているのですが、今回のはとても綺麗、キズひとつないので、チョット楽しみです。

お!今度はセカイモン経由での購入でしょうか?
ebay直でしょうか?


>そうそう、セカイモンで上のドンデモない無責任セラーのものが載ってましたよ。で価格にビックリ! 私はその価格の1/3程度での話でした。セカイモン経由だと今回のようなトラブルは無いのでしょうか? ひょっとしたら、トラブルになるかも..

セカイモンはebayで売られているものを代理購入するだけなので、3倍とは尋常ではありません。(^^;
ただ、セカイモンの手数料(最低でも800円)や国際送料(最低でも2500円程度)等で結構かかるので合計で3倍になる可能性は無いとは言えないですが…(^^;

セカイモンはポチッとすればあとは待つだけですね。
すべてセカイモンが代理で処理してくれますので、万が一トラブルセラーに当たっても上手く処理してくれるものと思います。(^^;

Re: Re:Re: Re:Re: Re: Re:Re: CASIOプログラム電卓のマイルストーン!

sentaro様

管理人のやすです。


> 代入方向の違いは結構大きな仕様上の違いですよね。

慣れの問題も大きいですが、→ の方が自然に近い感じがしていて、= の方がチョット無理があるように感じませんか?

→で代入はグラフ関数電卓の証、と言えそうですね!


> おっ!さすが管理人様!
> 4800Pが揃えば、4000シリーズはほとんど網羅できると思います。(^^)

言語仕様を除けば、fx-5800P と殆ど同じ使い方ができますよね。
結構気に入ってしまったので、前日アップした高速素因数分解のコードを fx-4800P に移植しちゃいました。
https://egadget2.web.fc2.com/archives/fx-4800P/FACTOR-F1_for_fx-4800P.html

fx-4800P の方が、シッカリ速いですよ!

あと、内蔵の積分機能ですが、4800P の方が、5800P よりもかなり速いです!


> ま、でも、新製品がなかなか出てこない状況では、「温故知新」はとってもいい企画だと思います。(^^)

過去の機種を改めて調べるのは、面白いです。
やっぱり、実機を入手し触るのって、楽しいですね!

fx-4800P などは、全く気にしたことがなかったのですが、実際に触ってみるとお気に入りになってしまいました。
fx-4850P になると、メモリがどどーんと増えているので、これは持っていてもと良かったな、と今になって思います。

但し、プログラミングは fx-5800Pのほうが遙かに良いですね!
おまけに、今では CcLinker があるので、もう昔に戻れません(^_^;


そうそう、fx-7000G の美品ですが、拉致があかず、eBay のシステムもサポートもボケボケで、もう止めちゃいました。
支払いが無い、という警告メールが何度も来たんです。Sellerが日本に発送したくない、というから支払えるわけ無いじゃないですか!

で、サポートに、あの警告は何とかしてくれといっても、結局なにも対処なし。
で、たまたまドイツの取引先が、日本に来ることになったので、その人に一旦送って、それを持ってきてくれないかと頼んでみたら、OK!

で、セラーにそれを伝えたら、ドイツならOK!
でも、私が支払いをしないために取引できなくなっているから、残念。提案が遅すぎた、とか言ってきたわけです。

そもそもテメーのせいだろうが...全く無責任ですよね。

ただ、eBayのサポートもダメダメでした。当たった担当がダメだったのかも知れませんが、何かメッセージを送るたびに返事は違う担当です。話が全く共有されない状態で、時間ばかりがかかった感じですね。

これまで、いくつかトラブルがあったけど、セラーとキチンと話ができて、みんな良い人ばかりでした。今回は、とんでもないのに引っかかっって、事故みたいなものと思って、諦めました。

とにかく、eBay はサポートがダメだとよく分かりました。これからダメサポートであることを前提にしてお買い物しないと...という良い教訓が得られました。


で、ふとセカイモンをみたら、結構な美品があったので、速攻でポチッとしました。
fx-7000G のタイプは、電卓の裏のアルミの状態が外観を物語っているのですが、今回のはとても綺麗、キズひとつないので、チョット楽しみです。

そうそう、セカイモンで上のドンデモない無責任セラーのものが載ってましたよ。で価格にビックリ! 私はその価格の1/3程度での話でした。セカイモン経由だと今回のようなトラブルは無いのでしょうか? ひょっとしたら、トラブルになるかも...

Re:Re: Re:Re: Re: Re:Re: CASIOプログラム電卓のマイルストーン!

管理人様、こんにちは!

>早速マニュアルをネットでダウンロードして見てみましたが、言語仕様はおっしゃるように fx-7000G と同じ感じで、他の 4000Pシリーズとは違っていますね。fx-4000P も fx-7000G も 1985年発売だと分かったので、ほぼ同じ仕様なのは理解できます。代入に→を使うのも一緒です。4500P以降は代入に = を使いますので、言語は別系統です。

代入方向の違いは結構大きな仕様上の違いですよね。


>でも言語仕様は全く別物。ってことで、5800P とジックリと比較したくなったのでポチッとな!
>4800Pの中古が今日届きます。また増殖してしまいました(^_^;

おっ!さすが管理人様!
4800Pが揃えば、4000シリーズはほとんど網羅できると思います。(^^)


>温故知新企画は、財布に良くないです...

た、たしかに…(^^;
ま、でも、新製品がなかなか出てこない状況では、「温故知新」はとってもいい企画だと思います。(^^)


>fx-7000G ですが、eBayで無事落札したのですが、現在のところ Seller が日本にどうやって出荷して良いか分からないし、調べる時間が無いから、送り先を変えるかキャンセルしてくれないか、とダダをこねています。

あらら…(^^;


>今ニュースで盛んに報道されている「ホワイト国」って、実際便利ですよね! Sellerはひょっとして、他のアジアの国に何か出荷して苦労した経験があるのかも知れません。

なるほどです。
一度でも苦労された経験があったら拒否権発動もあり得ますね。(^^;


>まぁ、当方は急がないので、じっくりゆっくりと説得を続けるつもりです(^_^;
>英語でコミュニケーションできる相手だったのが良かったです。

英語で説得というところがさすがですね。
ebayではまだ直接取り引きしたこと無いのですが、そういう事態になるとなかなか対応できそうもないので、
ebayからはまだまだセカイモンのお世話になりそうです。(^^;

Re: Re:Re: Re: Re:Re: CASIOプログラム電卓のマイルストーン!

sentaro様

管理人のやすです。


> 4000Pは使われているCPUは当時の高速ポケコンPB-100シリーズと同じものなので、後期のFX-603Pのような感じでポケコン譲りの高速な動作になっていると思われます。

なるほど、そうなのですね!
早速マニュアルをネットでダウンロードして見てみましたが、言語仕様はおっしゃるように fx-7000G と同じ感じで、他の 4000Pシリーズとは違っていますね。fx-4000P も fx-7000G も 1985年発売だと分かったので、ほぼ同じ仕様なのは理解できます。代入に→を使うのも一緒です。4500P以降は代入に = を使いますので、言語は別系統です。

fx-4000P は他の4000Pシリーズとは位置付けが異なるのが分かりました。


> その点、4500Pでは関数電卓用に開発された省電力CPUをそのまま使ったので遅くなってしまったのではないかなと想像します。
> FX-603Pやポケコンと併売していた時代の製品なので、高速性ならポケコンやFX-603Pということで棲み分けでいたのではないかなと想像します。(^^)
> fx-5800Pも関数電卓用CPUですが、4500Pからすれば10倍くらい速くなってますね。

fx-4800P と fx-5800P ってよく見ると、キー配列が全く同じで、4行表示も同じです。マニュアルを見る限り、関数やコマンドをソフトウェアメニューから選択するところ、メニューの配置も同じというか、4800P の進化形が 5800P 、言語仕様以外は 4800P の発展型が 5800Pとなります。

でも言語仕様は全く別物。ってことで、5800P とジックリと比較したくなったのでポチッとな!
4800Pの中古が今日届きます。また増殖してしまいました(^_^;

温故知新企画は、財布に良くないです...


fx-7000G ですが、eBayで無事落札したのですが、現在のところ Seller が日本にどうやって出荷して良いか分からないし、調べる時間が無いから、送り先を変えるかキャンセルしてくれないか、とダダをこねています。

開封未使用品で、オリジナルの箱に入って付属品も全て揃った良品なので、なんとか入手したいところです。
イギリスから日本だと特に何もしなくても、FedEx、DHL、あるいは郵便局の国際郵便サービス(EMS)で普通に出せば届くのですが、どうもインドとか中国みたいのと一緒だと思っているのかも知れない、なら輸出許可申請とか通関書類とか面倒になります。
「日本はアジアで唯一 White Country だから、アメリカへ送るのと一緒ですよ!」とただ今説得中、ついでに eBay のカスタマーサポートにも Seller のサポートを依頼中。

今ニュースで盛んに報道されている「ホワイト国」って、実際便利ですよね! Sellerはひょっとして、他のアジアの国に何か出荷して苦労した経験があるのかも知れません。

まぁ、当方は急がないので、じっくりゆっくりと説得を続けるつもりです(^_^;
英語でコミュニケーションできる相手だったのが良かったです。


Re:Re: Re: Re:Re: CASIOプログラム電卓のマイルストーン!

管理人様、こんにちは!

>fx-4800Pが速いのはCPUの高速化で説明できますが、fx-4000P との差については、何が違うのか?と思ってしまいます。

4000Pは使われているCPUは当時の高速ポケコンPB-100シリーズと同じものなので、後期のFX-603Pのような感じでポケコン譲りの高速な動作になっていると思われます。
その点、4500Pでは関数電卓用に開発された省電力CPUをそのまま使ったので遅くなってしまったのではないかなと想像します。
FX-603Pやポケコンと併売していた時代の製品なので、高速性ならポケコンやFX-603Pということで棲み分けでいたのではないかなと想像します。(^^)
fx-5800Pも関数電卓用CPUですが、4500Pからすれば10倍くらい速くなってますね。


>fx-4000Pについては、マニュアルが見つからず、なんとも不思議な感じがしています。

”fx-4000p manual”でググったら出てくるKyoro's Room様のサイトにリンクがあります。(^^)


>fx-4000P は上のソースそのままで動作したのでしょうか?
>Goto/Lbl と ⇒ コマンドはあるとして、例えば改行ではなくて : で1行で繋いで記述しているのでしょうか?
>:で繋ぐのと改行での速度差があるかも知れないとも思ったのですが...

改行がないことを除けば、fx-7000Gと同仕様だと思います。
本体のキーの機能もほとんど同じ配置ですね。
改行と:は区切り文字としては同じ意味を持つので、二種類あるところがひとつだけということで速度的には若干有利かもしれません。

Re: Re: Re:Re: CASIOプログラム電卓のマイルストーン!

sentaro様


管理人のやすです。

チョット確認させていただけませんか?

> >ベンチマークマーク用のプログラムですが、fx-4500P は以下のもので測定しています。
> >測定の有効数字 0.1 秒で、どの程度になりますでしょうか?
> >ご協力頂けませんか?
> >すると、fx-4000P シリーズの温故知新ができると思いますので...
>
> 了解です!
> ってことで、、
> (fx-4800PにはIsz/Dszがあるのでそれを使用していたので、)
> 管理人様のfx-4500P用プログラムに変更してベンチマークをとってみました。
> 管理人様方式で5回のうちの3回の平均です。(^^)
> (ストップウォッチを押す反応時間で0.2秒ほど遅れるのを差し引いてます。)
>
> fx-4800P
> <加算処理> 26.2s
> <数値積分> 114.2s
>
> さらに元祖4000シリーズのfx-4000Pでも同様に測ってみました。
> <加算処理> 61.7s
> <数値積分> 349.1s


手持ちの fx-4500P の結果は、

<加算処理> 195.0s
<数値積分> 798.1s

となっています。
fx-4000P よりもダントツで遅い結果です。

fx-4800Pが速いのはCPUの高速化で説明できますが、fx-4000P との差については、何が違うのか?と思ってしまいます。
fx-4500P はそれだけダメダメ機種で、プログラミング言語でも大失敗のどうしようもない機種ってことになります。

fx-4000Pについては、マニュアルが見つからず、なんとも不思議な感じがしています。

fx-4000P は上のソースそのままで動作したのでしょうか?
Goto/Lbl と ⇒ コマンドはあるとして、例えば改行ではなくて : で1行で繋いで記述しているのでしょうか?
:で繋ぐのと改行での速度差があるかも知れないとも思ったのですが...


チョット確認させてください。

Re: Re: Re:Re: CASIOプログラム電卓のマイルストーン!

sentaro様


fx-4000P と fx-4800P のベンチマーク測定、ありがとうございます。

チョット別のこと (素因数分解) にハマってしまい、そちらに集中していたもので、本件については、これから記事を作成するところです。

Re: Re:Re: CASIOプログラム電卓のマイルストーン!

管理人様、こんにちは!

>それが転じて、歴史上の重要な転換点という意味でも使われていると思います。

ありがとうございます!
石だけに、結構、重みを感じる言葉ですよね。(^^)


>このフレーズ、頂きです。いずれ記事で使わせてもらいたいです。

どんどん使っていただければ…
というか、恐縮です。(^^;


>それまでの進化を手堅くまとめることで、Casio Basicが世に認められたきっかけになったモデルではないかと思いますが、如何でしょうか?

そうですね。
進化したハードと上手く融合した新世代CasioBasicはインターネットの普及時期とも重なってどんどん広まった感じですね。(^^)


>世界初だとは知りませんでした。

たしか世界初だったかと思いますが、急に自信が無くなりました。(^^;
カラー液晶というと3色液晶のCFX-9850Gシリーズもありますが、
いわゆる多色カラーの液晶が載ったのは、
CG10/20
TI Nspire CX
TI-84 Plus C Silver Edition
HP Prime
という順番だったかと思いますが、Nspire CXとどっちが早かったかは微妙かもです。(^^;



>但し、現行のPythonでは、必要な機能のライブラリが無いので、使いづらいと感じるので、Pythonに基づく評価は、今後の進展次第なように思います。

Numworksがあるので初のPython搭載電卓とはなりませんし、
機能的にも学校での実習用レベルを超えるものではないので微妙ですね。(^^;


>むしろ、fx-9860Gシリーズの性能を落とさずにカラー化できている点で、価値があるように思うわけで、目立った世界初は無いけれど、手堅くまとめた実用機という称号はあげたくなります。

たしかにそうですね。
学校用メインでありながら実用面でも使い物になる電卓は価値がありますね。
世界初のC.Basicが動作する電卓でもありますし…(^^;


>そうそう、パチモン! これも上手い! 座布団あげます。

ありがとうございます!(^^;


>ベンチマークマーク用のプログラムですが、fx-4500P は以下のもので測定しています。
>測定の有効数字 0.1 秒で、どの程度になりますでしょうか?
>ご協力頂けませんか?
>すると、fx-4000P シリーズの温故知新ができると思いますので...

了解です!
ってことで、、
(fx-4800PにはIsz/Dszがあるのでそれを使用していたので、)
管理人様のfx-4500P用プログラムに変更してベンチマークをとってみました。
管理人様方式で5回のうちの3回の平均です。(^^)
(ストップウォッチを押す反応時間で0.2秒ほど遅れるのを差し引いてます。)

fx-4800P
<加算処理> 26.2s
<数値積分> 114.2s

さらに元祖4000シリーズのfx-4000Pでも同様に測ってみました。
<加算処理> 61.7s
<数値積分> 349.1s


>FX-603Pの高値には正直驚いています。

再生産してもかなり売れそうなレベルですよね。


>FX-502P でも、FA-1 とセットで4万円レベルがありました!

うわ、それはさすがに凄すぎますね。未使用の新品同様とかでしょうか。


>そうそう、fx-7000G 良さそうなのが見つかったのですが、e-Bayでオークションになっていたので、とりあえずbid しておきました。

お! 7000Gの程度の良いのは珍しいので、うまくいくことお祈りしております。(^^)


>そんな感じもしてますが、1990年台って、そんなでしたっけ?
>バブル崩壊が始まったかどうかって頃だったのでしょうか?

ポケコンや電卓の開発競争が熱かったのは80年代までで、
90年代に入るとポケコンも徐々に終息して電卓業界的には次の柱を見つけないとという流れの中での発売ですから、
FX-603Pも定価¥19800ということでコスト面ではかなり厳しくなっていたのではないかと思われます。(^^;

Re: Re:Re: CASIOプログラム電卓のマイルストーン!

sentaro様

> >CASIOプログラム電卓のマイルストーン、とは、なかなか格好いい表現ですね!
>
> 恐縮です。
> https://www.itmedia.co.jp/news/articles/0512/01/news119.html
> マイルストーンという言葉はSHARPの電卓がIEEEマイルストーンに認定されたというニュースで初めて知りました。(^^:

Mile Stoneとは本来「一里塚」という意味で、中世ヨーロッパでは、主要街道に沿って、迷いそうなところや分岐点に大きな石が置かれていたのが始まりだったと思います。日本の一里塚のようにきちんと距離を測って置かれていたわけではなく、適当だったようです。

「正月は冥途の旅の一里塚」と一休さんが詠んだ俳句がありますが、日本でも室町時代には有ったようですね。

それが転じて、歴史上の重要な転換点という意味でも使われていると思います。

...と講釈はこれくらい致します。


> FX-502P
> 28年もその仕様が続いた手帳型サイズに凝縮された高機能は確実にマイルストーンと言えます。(^^)

> fx-7000G
> 世界初のグラフ電卓で、現在のグラフ電卓に大きな影響を与えた機種なのでこれも間違いなくマイルストーンです。(^^)

このフレーズ、頂きです。いずれ記事で使わせてもらいたいです。


> fx-5800P
> fx-9860G
> 世界初という要素は薄いですが、CASIOプログラム電卓の新世代機で最新技術を手堅くまとめた高機能はマイルストーンといっていい機種ですね。

それまでの進化を手堅くまとめることで、Casio Basicが世に認められたきっかけになったモデルではないかと思いますが、如何でしょうか?


> CG20
> 世界初のカラーLCD搭載電卓

世界初だとは知りませんでした。


> fx-CG50
> CASIO初のPython搭載電卓

但し、現行のPythonでは、必要な機能のライブラリが無いので、使いづらいと感じるので、Pythonに基づく評価は、今後の進展次第なように思います。

むしろ、fx-9860Gシリーズの性能を落とさずにカラー化できている点で、価値があるように思うわけで、目立った世界初は無いけれど、手堅くまとめた実用機という称号はあげたくなります。


> 4000シリーズの発売されていた時期はまだFX-602P/603Pがずっと現役機種で存在していたので、マイルストーンにはちょっと遠いかなと思いますね。(^^:
> やはり603Pと入れ替わりに登場したfx-5800Pの方がふさわしいと思います。(^^)

やはり、そうですよね!



> プログラム電卓の仕様としてはfx-5800Pの先代機という雰囲気99%で、4500Pからは上位互換機という感じですが、
> fx-5800Pに慣れてると、その言語仕様の違いとか、細かなところで詰めが甘いというか、何かパチモンに触ってる感じになります。(^^:

そうそう、パチモン! これも上手い! 座布団あげます。

実は、温故知新シリーズに、fx-4000P だけを取り上げるかどうか、まだ迷っています。

ベンチマークマーク用のプログラムですが、fx-4500P は以下のもので測定しています。

<加算処理>
A=0
{N}
I=1
Lbl 0
A=I+A
I=I+1
I≦N⇒Goto 0Δ
A

<数値積分>
Rad
{N}
A=0, B=0, M=0
A=1/N
Lbl 0
M=sin(cos AB)xA+M
B=B+1
N-B-1≧0⇒Goto 0Δ
M

これらで、N=1000 の時、fx-4800P で処理時間がどうなるのか、とても興味がありました。

> FX-502P/602P/603Pで使われたベンチマークプログラムの
> 「加算プログラム」が約20秒
> 「数値積分プログラム」が約106秒
> 程度とFX-603P以上の速度性能があります。

測定の有効数字 0.1 秒で、どの程度になりますでしょうか?

私は、ストップウォッチアプリを使って、先ず最初に何秒くらいか当たりをつけ、そのあと5回測定して、最大と最小を捨てて、3回の平均を取って、四捨五入して小数点以下1桁までを結果として、ベンチマークをやりました。

ご協力頂けませんか?
すると、fx-4000P シリーズの温故知新ができると思いますので...

fx-4500Pのみの結果だと、fx-5800P の温故知新に紛れ込ますしかなさそうだと、思っていました。


> 出回った数の絶対数も多かったと思いますが、40年経ってもちゃんと動く個体が少なくないのがすごいですね。
> 中古価格順にはFX-603P>>>FX-602P>FX-502Pなので、502Pが一番入手しやすいのですが、
> このシリーズの復刻版が出たら、結構売れるかもしれませんね。(^^)

FX-603Pの高値には正直驚いています。
FX-502P でも、FA-1 とセットで4万円レベルがありました!

そうそう、fx-7000G 良さそうなのが見つかったのですが、e-Bayでオークションになっていたので、とりあえずbid しておきました。


> FX-603PはFX-502P/602P当時よりもコストがかけられなくなった時期の製品なので質の低下は仕方ないところでしょうかね。

そんな感じもしてますが、1990年台って、そんなでしたっけ?
バブル崩壊が始まったかどうかって頃だったのでしょうか?


> とはいえ、FX-502P/602Pが高価な製品だったわけでもなくコストパフォーマンスは最強レベルだったわけですから、部品の質が価格の割にとても良かったのだでしょう。

そうなんです、とても良心的な作り方だったと思います。技術屋の思いが注がれた製品ですね!


> 普通の電卓だと一通り試してそれで一旦終わりになるところが、プログラム電卓だとそこからが始まりですから、ワクワク度が全然違いますよね。(^^)

噛んでも美味しいスルメみたいな...



> 隠し機能なのでマニュアル化する必要も無いですし、知る人ぞ知る機能でいいので、診断機能のメニューにでもこっそり入れてくれないかなと、密かに期待します。(^^;

こっそりと! がポイントですね!!

Re:Re: CASIOプログラム電卓のマイルストーン!

管理人様、こんにちは!

>CASIOプログラム電卓のマイルストーン、とは、なかなか格好いい表現ですね!

恐縮です。
https://www.itmedia.co.jp/news/articles/0512/01/news119.html
マイルストーンという言葉はSHARPの電卓がIEEEマイルストーンに認定されたというニュースで初めて知りました。(^^:

>FX-502Pは間違いなくマイルストーン。

はい、
28年もその仕様が続いた手帳型サイズに凝縮された高機能は確実にマイルストーンと言えます。(^^)


>fx-7000G、そして、fx-5800P、fx-9860G、fx-CG50 って感じで続くのでしょうか?

fx-7000Gは世界初のグラフ電卓で、現在のグラフ電卓に大きな影響を与えた機種なのでこれも間違いなくマイルストーンです。(^^)
fx-5800Pは世界初という要素は薄いですが、CASIOプログラム電卓の新世代機で最新技術を手堅くまとめた高機能はマイルストーンといっていい機種ですね。
fx-9860Gもfx-5800Pとともにその革新性でマイルストーンに近い存在です。
fx-CG50は先代のCG20が世界初のカラーLCD搭載電卓ということでマイナーチェンジモデルなのですが、CASIO初のPython搭載電卓としてマイルストーン的な位置にはありますね。


>fx-4800P か fx-4850P あたりは微妙ですが、このシリーズは 4500P しか触っていないので、判断が付きません。
>4500P だけならプログラム仕様に着目する限りマイルストーンにはならないと思いますが、如何でしょう?

4000シリーズの発売されていた時期はまだFX-602P/603Pがずっと現役機種で存在していたので、マイルストーンにはちょっと遠いかなと思いますね。(^^:
やはり603Pと入れ替わりに登場したfx-5800Pの方がふさわしいと思います。(^^)


>fx-4800Pが結構高速だというのは、sentaro様から初めて聞きました。言語仕様は 4500P と変わらないのなら、高速ってだけで当時は価値があったとは思います。

速さだけなら結構速いです。(^^;

FX-502P/602P/603Pで使われたベンチマークプログラムの
「加算プログラム」が約20秒
「数値積分プログラム」が約106秒
程度とFX-603P以上の速度性能があります。

プログラム電卓の仕様としてはfx-5800Pの先代機という雰囲気99%で、4500Pからは上位互換機という感じですが、
fx-5800Pに慣れてると、その言語仕様の違いとか、細かなところで詰めが甘いというか、何かパチモンに触ってる感じになります。(^^:


>おっしゃるように未だに可動状態の中古品が出品されているのをよく見ますよね!
>FX-502P は40年選手なので、部品や素材レベルできちんと設計あるいは選定をしていたのだと思います。

出回った数の絶対数も多かったと思いますが、40年経ってもちゃんと動く個体が少なくないのがすごいですね。
中古価格順にはFX-603P>>>FX-602P>FX-502Pなので、502Pが一番入手しやすいのですが、
このシリーズの復刻版が出たら、結構売れるかもしれませんね。(^^)


>化屋の私としては、手帳ケースの劣化が少ないことに結構驚くわけです。手帳カバーに電卓を固定するための透明の帯状のフィルムですが、FX-502Pは多少黄変していますが、それほど硬化していません。
>FX-602P では、全く透明のままで柔軟性がほぼ残っています。手帳ケースそのものは新品と変わらないと思います。
>むしろ、FX-603Pの手帳ケースの縁の部分が真っ直ぐではなくて、外側にソリが発生しています。

FX-603PはFX-502P/602P当時よりもコストがかけられなくなった時期の製品なので質の低下は仕方ないところでしょうかね。
とはいえ、FX-502P/602Pが高価な製品だったわけでもなくコストパフォーマンスは最強レベルだったわけですから、部品の質が価格の割にとても良かったのだでしょう。


>初めて使った時のワクワクは今でも覚えています。キーが沢山あるのが格好いい、そして何やら中で自分が作ったプログラムが走っているのを想像すると、嬉しくなります!

普通の電卓だと一通り試してそれで一旦終わりになるところが、プログラム電卓だとそこからが始まりですから、ワクワク度が全然違いますよね。(^^)


>とねさんの記事は、関数計算を省略してループ動作だけでの時間を計って、それを引き算して関数動作のみの処理時間を割り出しているので、あとでそれも追加してから、とねさんに報告しようと思っています。

あ、なるほどです。関数だけというのは結構ポイント高いですよね。


>これまで、カシオのプログラム電卓の変遷をみてきている限り、一度に多くの変更をせずに、1つづつ変更して新機種を投入、という感じなので、602Pの開発では、関数計算のアルゴリズムを見直して高速化するのが主眼で、ほかは 502Pと変わっていないのではと想像しています。


基本的な言語仕様はFX-502Pでほとんど完成してますし、FX-502Pから602Pまでは発売間隔が短いですから
文字列表示関連での仕様追加と、関数アルゴリズム見直し等、管理人様のおっしゃるとおりだと思われます。(^^)


>FX602Pから9年後の発売なので、気合いの入った新製品というのが、購入した当時の感覚でした。

10年位経つとさすがにかなり進化しますね。(^^)


>ををっ、なかなかいい感じですよね!
>うはっ、それは良いです、私も欲しい!

隠し機能なのでマニュアル化する必要も無いですし、知る人ぞ知る機能でいいので、診断機能のメニューにでもこっそり入れてくれないかなと、密かに期待します。(^^;

Re: CASIOプログラム電卓のマイルストーン!

sentaro様

CASIOプログラム電卓のマイルストーン、とは、なかなか格好いい表現ですね!

FX-502Pは間違いなくマイルストーン。
その後は、

fx-7000G、そして、fx-5800P、fx-9860G、fx-CG50 って感じで続くのでしょうか?


fx-4800P か fx-4850P あたりは微妙ですが、このシリーズは 4500P しか触っていないので、判断が付きません。
4500P だけならプログラム仕様に着目する限りマイルストーンにはならないと思いますが、如何でしょう?


fx-4800Pが結構高速だというのは、sentaro様から初めて聞きました。言語仕様は 4500P と変わらないのなら、高速ってだけで当時は価値があったとは思います。


> FX-502P/602P/603Pの比較がとっても興味深いです。
> 殿堂入り三兄弟?三役?揃い踏みでありがとうございます!(^^)

たまたま、3台持っていて、全て可動状態というのはラッキーです。


> それにしてもFX-502P/602Pは発売後40年くらい経つというのに未だに動作する個体が多いのは、最初の設計と部品選定が的確だった証しですね。

おっしゃるように未だに可動状態の中古品が出品されているのをよく見ますよね!
FX-502P は40年選手なので、部品や素材レベルできちんと設計あるいは選定をしていたのだと思います。

化屋の私としては、手帳ケースの劣化が少ないことに結構驚くわけです。手帳カバーに電卓を固定するための透明の帯状のフィルムですが、FX-502Pは多少黄変していますが、それほど硬化していません。

FX-602P では、全く透明のままで柔軟性がほぼ残っています。手帳ケースそのものは新品と変わらないと思います。

むしろ、FX-603Pの手帳ケースの縁の部分が真っ直ぐではなくて、外側にソリが発生しています。


> そんな中、私もついにFX-502P完動品を入手できたわけですが、数字だけの液晶でプログラムが実行される様子は何か感動モノです。


> FX-602P/603Pのように演算中に表示が動くわけではないですが、関数電卓でプログラムが思い通りに動く様というのはやっぱり面白いです。(^^)

初めて使った時のワクワクは今でも覚えています。キーが沢山あるのが格好いい、そして何やら中で自分が作ったプログラムが走っているのを想像すると、嬉しくなります!


> ベンチマークにとね様のプログラムを使われたのはナイスです!
> 603Pの結果が無かったので補完できましたね。(^^)

とねさんの記事は、関数計算を省略してループ動作だけでの時間を計って、それを引き算して関数動作のみの処理時間を割り出しているので、あとでそれも追加してから、とねさんに報告しようと思っています。


> 加算プログラムでFX-502Pと602Pの間にはさほど差がないのが意外といえば意外ですが、2倍位は速くなってたのは関数限定だったんですね。

これまで、カシオのプログラム電卓の変遷をみてきている限り、一度に多くの変更をせずに、1つづつ変更して新機種を投入、という感じなので、602Pの開発では、関数計算のアルゴリズムを見直して高速化するのが主眼で、ほかは 502Pと変わっていないのではと想像しています。


> FX-603Pは3倍速どころかそれ以上なので劇的といえる速度的進化ともいえますね。
FX602Pから9年後の発売なので、気合いの入った新製品というのが、購入した当時の感覚でした。


> 最近、やっとこ新デザインのfx-260SOLAR2を買ったのですが、これにFX-502Pのプログラム機能が隠し機能で載っていればと思わずにいられません。(^^:

ををっ、なかなかいい感じですよね!
うはっ、それは良いです、私も欲しい!

CASIOプログラム電卓のマイルストーン!

管理人様、こんにちは!

FX-502P/602P/603Pの比較がとっても興味深いです。
殿堂入り三兄弟?三役?揃い踏みでありがとうございます!(^^)

それにしてもFX-502P/602Pは発売後40年くらい経つというのに未だに動作する個体が多いのは、最初の設計と部品選定が的確だった証しですね。
本体は健在でも液晶不良とかなってしまうと残念すぎますし、稼働可能な個体が残ってる数としてはかなり多いのではないでしょうか。(^^)
そんな中、私もついにFX-502P完動品を入手できたわけですが、数字だけの液晶でプログラムが実行される様子は何か感動モノです。
FX-602P/603Pのように演算中に表示が動くわけではないですが、関数電卓でプログラムが思い通りに動く様というのはやっぱり面白いです。(^^)

ベンチマークにとね様のプログラムを使われたのはナイスです!
603Pの結果が無かったので補完できましたね。(^^)

加算プログラムでFX-502Pと602Pの間にはさほど差がないのが意外といえば意外ですが、2倍位は速くなってたのは関数限定だったんですね。
FX-603Pは3倍速どころかそれ以上なので劇的といえる速度的進化ともいえますね。

プログラムリストを見ると今とは隔世の感がありますが、アセンブラ風のプログラミング言語は逆に新鮮な感じもあります。
大きなプログラムを作成するには労力が必要ですが、簡単なプログラムなら超使いやすいですね。
キーストローク記憶なので、直感的に分かりやすいといえば分かりやすいです。
FX-502Pでは602Pと違って表示が16進数系なのでいざ編集とかになるとアセンブラよりも機械語ダイレクトな感じですね。(^^:
最近、やっとこ新デザインのfx-260SOLAR2を買ったのですが、これにFX-502Pのプログラム機能が隠し機能で載っていればと思わずにいられません。(^^:


>[GOTO]キーの説明だが、

カタカナ表記が思いっきりツボります。(^^:
最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム電卓は、プログラムを作って、使ってナンボ!

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています。

なお管理人はカシオ計算機の関係者ではなく、Casio Basicが面白いと感じる1ユーザーです。


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR