Casio fx-JP900

2015/01/06 追記
2015/01/26 追記
2015/05/20 追記

カシオから、最新の関数電卓 fx-JP900 が発表されました。
最初にお断りしておきますが、fx-JP900 にはプログラミング機能はありません。プログラム電卓を扱う当ブログで fx-JP900/700/500 に関する記事を書くのは、これらの製品の際だった新機軸が将来のプログラム電卓に与える影響が無視できないからです。



2015/05/20 追記: 購入したので実際に使ってみた結果を公開しました ⇒ Casio fx-JP900(その2)

fx-JP900.png


2015年2月
 発売予定とのこと(2014年12月19日から fx-JP500を先行して販売の模様)。
 ⇒ カシオのニュースリリース

中国を含めて海外のカシオサイトではまだリリース情報が無いようです。
[2014/12/01 追記] sentaro様の情報では、中国では fx-991CN と言う型式で先行販売されているようです。

型式に JP と付き、日本語表示なので日本専用モデルですが、おそらく中文対応が準備されていると思われます。先ずは日本市場でバグ出しを行ってからと言うことも考えられます。

スタンダード関数電卓として初めて採用されるアイコンメニューは、グラフ関数電卓には既に採用されているので、
プログラム関数電卓やグラフ関数電卓への波及効果が気になるところです。


最近のカシオの関数電卓に対して、以前から問題だと思っていたのは以下の3点:

- 3桁区切りのコンマを付けて欲しい。昔のモデルにあったのに、なぜか最近のモデルには無い。


- 見にくくて安っぽい青液晶ではなくて、見やすい黒液晶にして欲しい。

- fx-993ESは半年使い込むとキートップの印刷が消え始める。昔のモデルではこのようなことは全くなかった。


この最新モデルでは、上から2つが実現しています。特に3桁区切りはとても重要です。技術計算にしてもお金の計算にしても、桁数の多い計算を行う時に3桁区切りが無いと、まともに使いづらい。敢えて Eng表示にして確認することが多く、確認しないと読み取りを間違ってしまいます。fx-5800P にも3桁区切りがありません。関数電卓として利用する際には、このうえなく不便なわけです。

黒液晶は、fx-993ES や fx-995ES と fx-5800P を比べると一目瞭然、fx-5800P の黒液晶は飛躍的に視認性が良いのです。

キートップの印刷については、使い込まないと分かりませんので、判断は保留です。


先週、ドイツ出張の機会があり、そこで家電量販店 SATURN に立ち寄る時間があり、プログラム関数電卓やグラフ関数電卓が、どの程度の価格が調べようと思っていました。すると、グラフ関数電卓は全く置いておらず、プログラム関数電卓は fx-5800P ただ1機種でした。価格は46ユーロ、6,700円程度でした。特に安くもなく、国内ではもう少し安く購入できるレベル。

このお店は、全体をみてみると売れ筋の製品に特化しておいてあるようで、電卓もスタンダード関数電卓 fx-995ES などのカシオ品のみが展示、販売されていました。グラフ関数電卓はより専門性の高いお店で売っているものと思われます。

言い換えると、fx-5800P は売れ筋とお店で判断したのかも知れません。或いは在庫一掃セールかもしれず、そうなればプログラム関数電卓の後継機が控えていることになります(思いっきり希望的観測)。

fx-JP900 を Amazonで見てみると 5,702円とあり、関数電卓としては高価です。発売開始後、値下げは必ずあると思います。

国内メーカーで電卓に力を入れて開発を進めているのは、カシオのみとなってしまっています。プログラム関数電卓にも開発資源を注いで欲しいと思う次第。


[2015/01/06 追記]
高機能電卓の情報 のブログにて、新しい情報を入手しました。ここによれば、関数電卓マニア のサイトで fx-JP500 の評価記事があり、数値積分計算の結果がかなり速くなっているとの情報があります。同じ計算を fx-5800P で行うと1.6倍も時間がかかります。つまり、それだけ高速化されており、同時に太陽電池で間に合うだけの省電力化も果たしていると思われます。

以前のプログラム関数電卓のヒット作 FX-603P が10年以上も販売が継続され、fx-5800P にその座を譲り渡したのが 2006年。そして、fx-5800P は来年で10年目に入ります。fx-5800P は、同年のグラフ関数電卓 CFX-9850GC PLUS に搭載された Casio Basic からグラフィックスとI/O関係のコマンド類を除外した以外は同等の Casio Basicを搭載。この
 Casio Basic は、初めて Getkey と Locate コマンドを備えた、いわば新世代 Casio Basic の最初のバージョンです。但し、CFX-9850GC PLUS では 空白行がエラーとなり、Then や Else の直後での改行もエラーとなるので、構造化Basic としては可読性の悪いものです。この点は fx-5800P で確実に改善されています。fx-5800P も CFX-9850GC PLUS も文字列関連のコマンドはありません。

このようにして、fx-5800P は、Casio Basic の大幅な進化とともに登場したと言えます。

そして、fx-JP500/700/900 の登場。高精細液晶と高速省電力CPUが搭載されました。また昨年登場した fx-FD10 Pro は fx-5800P にしか無かった利便性(プログラムリストボタンと ?(入力)命令)を採用した高性能機です。fx-5800P の良さを高機能機で検証した形になっています(惜しいことに、◢ (出力)命令実行時の- DISP -表示だけは、fx-9860GII や fx-CG20 の悪い癖がそのまま残っていて使いづらいままです)。グラフ関数電卓は旧来の命令を使うな、と言うことだとしても、fx-5800P の良さを取り入れた fx-FD10 Pro では非常にもったいないと思います。
[2015/01/26 追記] 上記青文字部分

一方で、fx-5800Pの最大の弱点は I/O 関係です。
 
高精細液晶に加えて低消費うI/Oの搭載による、次世代プログラム関数電卓の登場の材料が揃ったように思えます。今年が楽しみです。


関連記事:
- Casio fx-JP900(その2)
- Casio fx-JP900(その3)
- fx-JP900 と fx-5800P 後継機への期待




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


 



keywords: fx-JP900関数電卓

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

続きを読む

関連記事

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

fx-5800P でピタゴラス数

最終:2015年3月11日

プログラムにバグがあったので修正しました [2014/12/03]


a2 + b2 = c2 となる自然数の組 (a, b, c) をピタゴラス数といいます。(3, 4, 5) がピタゴラス数と言うのは、直角三角形の3平方の定理で有名です。

そこで、ピタゴラス数を調べる Casio Basic プログラムを fx-5800P で作ってみました。

実際の計算には、以下のようなピタゴラス数の性質を利用しました。

ピタゴラス数の性質 

例えば、(3, 4, 5)(6, 8, 10) は、いずれもピタゴラス数ですが、1つめを2倍すると2つめになり、これらは同じと見なすことにするので、「a, b, c の最大公約数は 1」と言う条件を付けています。(6, 8, 10) の最大公約数は、2 なので、条件から外れます。最大公約数が 1 の (a, b, c) を原始ピタゴラス数と言います。

m n の組み合わせに重複がなければ、全ての原始ピタゴラス数が重複なく得られると言うのが特長なので、この性質を利用して上の条件に合うような、mn を探して、見つかった mn からピタゴラス数 (a, b, c) を計算する作戦です。

先に M を決めて、そこから条件に合う N を探索し、N が 1 になった時はNの探索を終えて、次の M を決めて条件に合う N を探索する....これを繰り返します。



1) 最初、M を 3 とし、N を 1 とする。

2) 現在の M N からピタゴラス数を計算し、表示する

3) N 0 にならない範囲で 2 減らして、M÷N が割り切れないとき(MN が互いに素のとき)、その N を採用。割り切れる時は 3) を繰り返す。割り切れるかどうかは、M÷N の小数部分が 0 かどうかで判定。但し N が0 になると M÷N でエラー(0 で割り算できない)ので、その1歩手前の N が 1 の時には、Nの探索を終了する。

4) N0 以下になるとき、M を 2 つ増やし、M-2N に代入して、3) に戻り、正しい MN が見つかるまで 3) を繰り返す。

5) 2) へ戻る。 

文章よりも、2) ~ 4) のプログラムを見た方が分かりやすいでしょう。

Do
N-2→N
If N<0:Then
M+2→M:M-2→N
IfEnd
N=1⇒Break
LpWhile Frac(M÷N)=0




ピタゴラス数プログラム
3→M:1→N:1→D     (初期化処理)
Locate 1,2,"A="    
(初期画面表示)
Locate 1,3,"B="
Locate 1,4,"C="

Lbl 0

(M2-N2)÷2→A       
(ピタゴラス数の計算)
MN→B
(M2+N2)÷2→C

Locate 1,1,D        (見つかった回数の表示)
Locate 3,2,"       " (スペース14個)
Locate 3,2,A        
(ピタゴラス数の表示)
Locate 3,3,"       " (スペース14個)
Locate 3,3,B        (ピタゴラス数の表示)
Locate 3,4,"       " (スペース14個)
Locate 3,4,C        (ピタゴラス数の表示)

Locate 7,1,"EXE:Next"◢  
(操作法表示&プログラム一時停止)

Do               
(次の M と N を探す)
N-2→N
If N<0:Then
M+2→M:M-2→N
IfEnd
N=1⇒Break
LpWhile Frac(M÷N)=0
Isz D             
(見つかった回数を1つ増やす)

Goto 0


このプログラムは、Lbl 0 / Goto 0 の無限ループが基本構成ですので、終了するには [AC] キーを押します。

プログラムを起動すると、画面は以下のようになります。

Pytha1 

最初の原始ピタゴラス数 (4, 3, 5) が表示されています。
※ 左上: 探したピタゴラス数の個数。起動時なので 1
※ 右上: [EXE] キーを押すと次のピタゴラス数を探す


ここで、[EXE] キーを押すと、以下のように2つめのピタゴラス数がわかります。

Pytha2 

さらに、[EXE] キーを押すと、3つめのピタゴラス数を探します。

Pytha3 
※ 画像修正



今のプログラムだと、[EXE] キーを叩き続けなければ、大きなピタゴラス数が分からず、ちょっと物足りない。

そこで、[EXE] キーを長押しすると、ピタゴラス数の探索&表示を連続して行うように機能追加しました(連続モードの追加)。


※ 動画修正



使い方:
・起動すると、最初に作った「ステップモード」で、右上に EXE:Next  と表示。
[EXE] キーを押すと、次のピタゴラス数を計算して、表示します。

[EXE] キーを長押しすると「連続モード」になり、右上に (-): Stop と表示。
・連続モードでは、次々とピタゴラス数を計算して表示し続けます。
[(-)] キーを押すと「ステップモード」に戻り、右上の表示が EXE:Next に戻ります。

右上に EXE:Next と表示されていると、ステップモードだと分かります。(-):Stop と表示されていると、連続モードだとわかります。


連続表示のまま、しばらく置いておくと、以下のようになります。


※ 動画更新

ピタゴラス数が次々と表示されるのを見ていると、チョット面白いですね。


さて、キー長押しで機能選択する方法は、これまでも紹介していますが、今回のプログラムでも利用しています。この方法を知っていると、とても便利です。連続モードの機能追加には、[(-)] キーの通常押しの検出、[EXE] キーの長押しの検出を追加し、連続モードなら変数 E=0 、通常モードだと E=1 とし、表示を E の値に従って変更するようにしました。

これらのキー入力検知は以下のプログラムで処理します。

Getket=57⇒1→E
0→K
While Getkey=47
Isz K:K=7⇒Break
WhileEnd:K=7⇒0→E


次の短いプログラムを入力して、実際に遊んでみてください。

ピタゴラスの綴りが PYTHAGORAS なので、そのままファイル名としました。

(プログラム修正)

Pythagoras_Source 

※ Locateコマンドの空白は16個



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


 



keywords: プログラム関数電卓、fx-5800P、キー長押し、CasioBasic、 ピタゴラス数

リンク集 | ブログ内マップ
関連記事

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

海外コミュニティ (UCF) での近況

 

海外の Casio電卓ファンのコミュニティーは幾つかありますが (リンクはこちら) 、いづれも国内では入手しにくい貴重な情報が得られるので、定期的にチェックしています。

中でも、UCF (Universal Casio Forum) は、投稿ペースがゆっくりなので、じっくり読んでじっくりと投稿できるスローペースが好きで、従って言語の壁もあまり苦にならず助かります。

本ブログで紹介したネタから、以下を投稿していますが、それなりに閲覧数が増えている(コメントはとても少ないものの...)ので、ネタとしてはオモシロイと受け止めて貰っているのだと、勝手に思っています。

- Fx-5800P: Secret Of Keycode (キーコードの秘密): 閲覧数 2205

- Whack-A-Mole (もぐら叩き): 閲覧数 2061

ここでは、Your Project のコーナーで自分のプログラムを紹介したり、Casio Basic の質問コーナーで回答をもらえたりします。

質問コーナーを見てみますと、洋の東西に関わらず同じような疑問が出て参ります。それに対して、色々な方が回答を寄せています(私も、たまに回答しています)。

最近、fx-5800P 使いで、プログラミングに結構詳しい方(IT企業で仕事をしているプロの方)が現れ、色々と面白いプログラムを投稿するようになっていて、私としてはとても楽しみになっています。

1つ紹介すると、モンテカルロ法で円周率を求める計算を fx-5800P でやってみた、と言うのがあります。
「そのプログラムは何の目的か?」という無粋な質問に対して、「単なる興味」とあっさり切り捨てる一コマもあり、投稿者の人柄を想像できて面白いです。私も、自分なりにプログラムを改造して、さっそくやってみました。

0→I:0→O:1→D
Lbl 1
Ran#2+Ran#2<1⇒Isz I

Isz O:Isz D
Locate 1,1,D
Locate 1,2,(I÷O)X4
Getkey=0⇒Goto 1


短いプログラムですが、表示が段々円周率に近づいてゆくのを眺めるのも、チョット面白いものです。

円とそれに外接する正方形があって、その正方形にランダムに玉を投げつけます。そして玉数が増えてくると、玉が当たった跡が、全体にランダムですが均等に増えてゆきます。そして、正方形全体に当たった跡の数と、円内に当たった跡から、円周率を計算すると言うのが、モンテカルロ法です。ヤタラメッタラ玉を投げつけるだけで、円周率が分かると言うのも面白いですね。

あまり精度良く計算する方法ではありませんが、簡単なプログラムで数字の動きを眺められるわけです。


英語という大きな壁がありますが、ご覧になってみるのも一興です。
e-Gadgetをご覧頂いている方のお一人が、最近UCFでプログラムを投稿なさっているのは、しっかりチェックしていたりして...(^^;)

関連記事

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

fx-5800P 素因数分解 - バグ修正と表示変更

2014/11/15: 掲載プログラムの転記ミスを修正しました。


素因数分解再び の記事で紹介したプログラムについて、すけっぴぃさんから、バグの報告 (「素因数分解再び」のコメント) を頂きました。

素因数分解した結果に、素数の2乗が含まれる時、その素数の2乗が素数に分解されず、そのまま残って、素数でないのに素数として結果表示されると言う問題です。

例えば、45 ( = 32 × 5) の素因数分解の結果が 9 × 5 となってしまうが、135 ( = 33 × 5) は、正しく結果表示されると言う問題です。


かなり前に頂いたご指摘なのに、すぐに対処できないまま時間が経ってしまい申し訳ありません。最近時間に余裕が少しできたので、調べたところ、原因が分かりました。


本文にあるコードの赤文字の部分の1行目(あるいは以下のプログラムの10行目)にある

Y≦D



Y<D

に変更することで、バグの解消ができました。


これまでのプログラムは、素因数を見つけるたびに表示するようにしていましたが、実はこの仕様にしっくりきていませんでした。
そこで、素因数分解の計算を終了後、まとめて結果を表示するように変更してみました。


プログラムを起動した時の画面:

素因数分解Startup


数を入力する:

素因数分解Input 


素因数分解を最後まで計算したあとで、結果を表示:

素因数分解DisplayResult 

1行表示されたら [EXE] キーを押して次の行を表示させます。
これを繰り返して、上のように <EXE> が表示されたらそれが最後の素因数です。
ここで、 [EXE] キーを押せば最初の入力画面に戻ります。

4行を超える結果になる場合は、再び1行目から上書きします。


プログラムは以下のようにしました。かなりヒドイ転記ミスがありましたので、修正したものを再掲載します [2014/11/15]

 素因数分解_改造版ソース 
 
LpWhile Y≧1 の下に、表示のための処理を追加してみました。
 
また、17行目、Do ループの中に表示のために必要な配列変数への代入処理を入れています。

配列変数は、通常の変数よりもアクセスにかなり時間がかかることが分かっていますので、今回の改造で、全体の計算速度が低下する筈です。

そこで、計算速度を、前回のプログラムと比較してみました。

入力した自然数結果前回プログラムでの計算時間今回プログラムでの計算時間
123453 x 5 x 8232.5秒2.2秒
12345626 x 3 x 6433秒2.6秒
1234567127 x 972176.5秒
123456782 x 32 x 47 x 145938秒6.6秒
12345678932 x 3607 x 38033分2分43秒
98765432132 x 172 x 37972133秒28秒
9876543223 x 37 x 33366743秒27秒
98765433 x 227 x 1450312秒11秒
9876542 x 3 x 97 x 16976.5秒5秒
987655 x 197538秒7秒
987622 x 3 x 8233秒2秒

それほど大きな違いは出ていません。結果として、Doループを何度も回る時間に比べて配列変数アクセスによる速度低下が無視できる程度だと思います。

fx-5800P は同じ計算でも計算時間に結構なバラツキがあることが、最近分かってきました。これについては、クロック回路に起因する可能性が考えられるとの情報があり、その場合はクロック精度が数%バラツクのも説明できそうで、温度の影響もありそうです。

このあたりは、こちら (fx-5800Pの速度差) (fx-5800P プログラムのバックアップ のコメント) が 情報源です。

従って、今回の測定から、処理速度はほぼ同じ、と言うべきでしょう。但し、1234567 の素因数分解だけは、どうもよく分からない結果ですね。

手元で測り直したら7秒程度でした。本エントリーはボロボロでした(-_-;)

ご指摘頂いた santaro様、ありがとうございます。



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


 



keywords: fx-5800P素因数分解、プログラム関数電卓

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


関連記事

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

最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

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


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

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

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


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR