人気ブログランキング |

ブログトップ

電子工作やってみたよ

c0335218_14110076.jpg

c0335218_14110801.jpg

HP電卓のRPN(逆ポーランド記法)で書かれた円周率計算プログラム、動作は10000桁まで正しく行う事を確認してあるのですが、原理と仕組み、そして動作、いまだ理解できません。
このプログラムのオリジナルは
Many Digits of Pi by Katie Wasserman - MoHPC
www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=899
という方が書かれておりHPの各機種(HP32sii,HP-16c,HP-12c,HP-19c,HP-15c)向けにつくられています。
私はこの中のHP-15cのものをDM42(HP42S)用に10000桁まで拡張してみました。

もうかなり考えているのですが(一か月以上かな)脳みそがまったく収束しません。


「e-Gadget-プログラム関数電卓」ブログで、やす様が「多桁円周率の計算(1)」というのを発表されています。
オイラーによる arctan(X) の展開式を使ってカシオの電卓fx-5800P上のカシオBASICで円周率を計算しているのですが、さいわいHP電卓のプログラムも同じ展開式でやっています。
ゆえに このソフトを解読すれば、HP電卓のソフトも解るのではないかと思い挑戦してみました。

ソフトの動作を理解するには自分で動かしてみなくちゃ解りません。
ソフトを動かすにはハードがなくちゃ動きません。
大金をはたいてfx-5800Pを買ってしまいました。
まあ 電卓プログラムはHPのものしか知らなかったので他のプログラムを知るチャンスとも思ったのですけれど。

四苦八苦しながらプログラムを動かしてみたら やす様と同じ結果が画面に出てきました。
3.141592......   バンザイ!

しかし数値の動きを追いかけたり、改造したり、デバッグしたりは慣れた言語、慣れたハードでないとなかなか思い通りに行きません。
そこでこのカシオBASICをN88ベーシックに書き直してやってみました。
そうしたらいつものことですが、やってみてから気付きました。 このN88有効桁数が7桁しかない。
そこですべての変数を倍精度の16桁に変えたのですが、for~nextの所でエラーが出る。
でN88は諦めて、次の手持ちのソフト、F-BASIC97に乗せ換えて倍精度(有効15桁)でやりました。
これはうまく動作して、カシオBASICと同じ 3.141592...がきれいに出てきました。

いま現在の進行状況は ここまでなんですけれど。
いつものごとく「もうちょいだ」と思ってからが長いんですよね。


概略のイメージが解ってきたので、これからまた HP電卓のソフトに挑戦です。

やす様の許可をもらって CasioBasicのソフトを載せます。
実験される方はやす様のブログを見て行ってください。
「e-Gadget-プログラム関数電卓」の「多桁円周率の計算(1)」



fx-5800P CasioBasic
ファイル名: PICALC
0→DimZ
"DIGITS"?→X
"BASE"?→K
Int(X÷K)+1→A
10^(K)→D
X+1→DimZ
X÷log(2)→N
"EXE TO GO"◢

Cls
For Int(N)→F To 1 Step -1
Locate 2,1," "  // スペース2つ
Locate 1,1,F

0→C
For A→I To 1 Step -1
Z[I]F+C→W
Int(W÷D)→C
W-CD→Z[I]
Next

2F+1→G
0→C
For 1→I To A
CD+Z[I]→T
Int(T÷G)→W
T-WG→C
W→Z[I]
Next

Z[1]+2→Z[1]
Next

For 1→I To A
Z[I]◢
Next

0→DimZ
"END"

__________________

以下は F-BASIC97 に書き換えたものです。
変数はすべて倍精度の15桁にしてあります。
動作はOKでした。
90桁の答えが出ます。


'save "PAI015.bas"
dim Z#(20)
for I=0 to 20 : Z#(I)=0 : next
'K#                                      '  計算ループ最大値 固定
for K#=350 to 1 step-1         ' 円周率100dig出すために3.5倍のKから計算する、
' 理由は解らない? 経験則
C#=0 'キャリー最初はゼロ
for I#=11 to 1 step -1 '下位のレジスタ-から上位に向け計算 レジスター10個
W#=Z#(I#)*K#+C# '現在対象レジスタにKをかけ前回のキャリーを加算する
C#=int(W#/(10^10)) '10桁より上をキャリー検出する 1レジスターは10桁
Z#(I#)=W#-(C#*(10^10)) '10桁に抑えるためキャリーを差し引現在値にする
next

G#=(2*K#)+1 '基本式の分母側の計算
C#=0 'キャリー

for I#=1 to 11 ' 上位のレジスタから下位に向けて計算 レジスタ10個分
T#=(C#*(10^10))+Z#(I#) 'キャリーがあったら現在のレジスタの頭に加算
W#=int(T#/G#) '基本式の分母で割り算して整数部分を取り出す。
C#=T#-(W#*G#)
Z#(I#)=W#
next

Z#(1)=Z#(1)+2

?"Z(1_2_3_4_5 )=";Z#(1);" ";Z#(2);" ";Z#(3);" ";Z#(4);" ";Z#(5)
?"Z(6_7_8_9_10)=";Z#(6);" ";Z#(7);" ";Z#(8);" ";Z#(9);" ";Z#(10)
stop

気になったこと
基本公式 2+(K/2K+1)*(1回前の値) で変数の有効桁数が15桁であっても Kの値が3桁であると1レジスタ10桁*3桁で13桁必要となります。
ましてHP電卓のソフトでは10000桁計算するためKの最大値を35000として掛けていますが、これは5桁なので10桁にかけると15桁必要となりHP42Sの規格一杯になってしまいます。
実動作させたのはDM42およびFree42であったのでたまたまうまく行ったのかもしれません。
私の考え違いかも知れませんが。

これで終わりです。




追記
以下はレジスタを分割せずに一つのままの単純な形で計算したものです。

変数レジスターを分割せずに一つとして扱ったときのF-BASIC97でのプログラムです。
1変数の有効桁数が大きければ、この単純プログラムで円周率の桁数が増やせるのですね。

'save "PAI001.bas"
BF#=1 'このBF#の初期値は1でも0でも結果は変わらない。
for K#=55 to 1 step -1 '1変数の有効桁15とし3.5倍+余裕でK=55から出発
ANS#=2+(K#/((2*K#)+1))*BF#
BF#=ANS#
?"K=";K#;" ANS#=";ANS#
next
stop

これで終わりです。



下は上記プログラムの数学的な式、
c0335218_13040846.jpg

下の写真は1 レジスタのプログラムを実行した結果です。
Kの数値が減少するにしたがって円周率の値が3.141に近づいていくのがわかります。
不思議なのは、Kが大きいときはなかなか近づかなくて最後のkが2から1になるときに、ピタと正解になることですね。
これ Kを1から増加させる方向で計算させるプログラム出来るのでしょうか。
そうすれば、答えが限りなく円周率に近づいていく様子が見れると思うのですが。
c0335218_14111779.jpg



我が家の軒先の鉢に咲いた「あさがお」
去年からそのままにしてありました。
昔からやはり夏は「あさがお」ですね

c0335218_14112809.jpg

c0335218_14113726.jpg

c0335218_14114877.jpg



電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-08-17 16:16 | HP電卓 | Comments(7)


c0335218_13030539.jpg
円周率の計算する以下の式、最後は延々と繋がっており、どこからどのようにして計算を開始すればいいのか、見当がつきませんでした。
そんな時ある本(参照1)を見ていたら式の最終としたいところの(2+ ・・・)を1とおいてやるように書いてありました。
早速 その手順でやると円周率らしき値が出てきました。
Kの値の大きいところから計算を開始することにより有効桁がどんどん増えていきます。
今回はHP42Sを使ってこの計算式を普通に計算するだけなので得られる答えは12桁しかありませんが、Kの値により有効桁が増えていくのがわかりました。


解っている人にとっては何ともない事でしょうが、解らない人間にとってはこんな事でも進めなくなってしまいます。
c0335218_13040846.jpg
今回 ノートに書いたものをカメラで撮ったのでちょっと見にくい感じです。
後でスキャナーで撮り直してみます。



Kの値  円周率の答え    誤差(%) 有効桁数

10 3.14084209564 0.023896 2桁
20 3.14159211321 0.000017201 6桁
30 3.14159265315 0.000000014 9桁
35 3.14159265358 0.00000000001 10桁
40 3.14159265359 0.00000000000 11桁
50 3.14159265359 0.00000000000 11桁

10桁の答えを出すのにKは35必要でした。
故に10000桁の答えを出すとき35000を設定したのは比例関係が成り立つならばちょうど良かったということになりますね。
理屈は解らなかったのですけれどね。

これで終わりです。

c0335218_13044686.jpg
参照1   (数学問題へのコンピュータアプローチ 昭和51年5月発行)

いま我が家の周りに咲いている花
c0335218_15030304.jpg

いま我が家の周りに咲いている花

c0335218_15025808.jpg

いま我が家の周りに咲いている花
c0335218_15031417.jpg

いま我が家の周りに咲いている花
この花だけは、春から秋まで、いつでも、どんな時でも綺麗に精一杯咲いています。 不思議です。
見習いたい。
c0335218_15025358.jpg






電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-08-06 15:17 | HP電卓 | Comments(13)

ついでにパソコンで動くFree42の速度をテストプログラムで調べてみました。
スマホのものの2倍以上のスピードがありました。
これで円周率10000桁の計算をすればスマホの半分の6分以下で計算出来るということになりますね。
凄いなー
しかしこれに円周率計算プログラムを入力する元気はいまの私には無いですからまた後で。


c0335218_16555663.jpg


HP15Cではループカウンターは3桁で済んだのに、Free42では8桁ですものね。

c0335218_14074386.jpg
「追記 2019-7-25 」
パソコン版のFree42にはバイナリとデシマルの2種類のファイルがありました。
昨日ではデシマルのみの結果でしたが、すがわらさんにコメントいただいたので両方計測してみました。
バイナリ版ではデシマル版の1.7倍ほど高速になっていました。
上記の演算速度の表はバイナリの項を追加したものに入れ替えました。
この演算速度はパソコンの機種やバックグラウンドで動いているソフトによりかなり違うかもしれません。

「追記 2019-7-26 」
円周率 10000桁 計算してみました。
バイナリ版でも、ちゃんと動作し答えもあっていました。
時間は 1分41秒 でした。
すごいですね DM42で10時間もかかっていたのに。
デシマル版では 4分42秒 です。

 HP42S用のテストプログラムです、他の機種もほとんど同じです。 
一部の機種では、初期値の読み込みやラベル名などに違いがあります。

LBL "AA" ’スタートのラベル
6E7      ’カウンターの初期値 60,000,000(機種によりここを変更します)
STO 0     ’カウンターの初期値を変数0にストア

LBL B    ’ループ先頭のラベル
1      'カウンターから引く数を1にする
STO -0    ’カウンター 0から1を引く
RCL 0    ’減算されたカウンターの値をXレジスターへ読み込む
X キ 0    ’Xレジスターがゼロでないかチェックする
GTO B    'ゼロでないならばラベルBへ移動する
R/S      ’Xレジスターがゼロならば停止する


わずかこれで終わりです。
演算速度は命令の種類により当然変わるはずです。
ここではプログラムのループ内で使われている命令の平均時間ですね。
厳密には命令ごとの時間が必要ですが、機種ごとのスピード比較ならばこれで良いと思っています。



ばあちゃんのかたみ  白くて尖ったアジサイ 満開です。
c0335218_17515964.jpg
あと数日で梅雨も終わりそうです。  その前に台風が来そうですが。


電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-07-24 18:29 | HP電卓 | Comments(14)

Free42で円周率の計算10000桁 やっちゃいました。
DM42で10000桁 10時間かかったものが、わずか11分40秒で済んじゃいました。
プログラムは2019年6月21日のブログ(DM42で円周率10000桁 計算出来た)に載せたものと全く同じです。
Free42を動作させたスマホはSONYのSO-02Lです。

スマホの操作はまだダメなのでいつもコメントいただいているkusakaさんに教えていただきながらなんとかインストールできました。
円周率のプログラムは、シコシコといれたら一発でOK
ただし計算時間1分以内で済むす30桁程度は問題なかったのですが、10000桁の設定にしてスタートさせると途中でスマホの画面が消えてしまってダメ。
ここですがわらさんに画面の消えるのを防ぐ方法を教えてもらって無事10000桁まで計算できました。
大勢のひとのお世話になりました。
「ありがとうございました。」

ここで教わったスマホの修正の仕方を書いておきます。

設定 => 画面設定 => スリープ => 時間を最大の30分に設定する。

遊び終えたら元に戻し忘れないようにしないとやばいかも。

下の写真 HP電卓の様ですね。 
これはスマホにFree42を表示させたところです。
このような台を使い、手を机に乗せて操作すると間違えないようです。

c0335218_16294286.jpg

左から  HP42S DM42 Free42の入ったSONYのスマホ
一番好きなのは、やはりオリジナルの HP42Sですね。

c0335218_16294823.jpg

あけびさんに教えてもらった バーベナとおしろい花。
おしろい花がバーベナを食べちゃいそうですね。そろそろ間引きしないとやばいかも。

c0335218_16300249.jpg


c0335218_16300879.jpg

ミヨガ 天候不順の今年でもこれだけは元気
c0335218_16301799.jpg

散歩のときにみえる 田んぼアート 稲が伸びてだいぶ見やすくなりました。

c0335218_16305281.jpg

散歩の途中にある ガクアジサイ

c0335218_16303123.jpg


c0335218_16302500.jpg
これは 見ての通り普通のアジサイ

c0335218_16303419.jpg
梅雨が長引いて毎日が寒いようです。




電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-07-22 18:31 | HP電卓 | Comments(0)

何人かの方に”Free42”がすごいと教えていただきましたが、やはり自分で実感して見ないとその凄さは解らない物ですね。
友達に教えてもらってSONYのスマホに入れてみました。
(恥ずかしながらスマホ まだ全然使えません)

スピードは下の表にある通り。
もう 今までのHP電卓とは別次元スピードですね。
まさに”スパコン” いやそれ以上と思います。

だからと言って、わたしはこれ使う気持ちは全然ありませんけれど。
やはりキータッチなど、HP電卓と呼べるしろものではありません。
だいいち 本物のHP電卓の様に、いじっていて楽しくありません。
まちがって触ってもキーがすぐに反応したりものすごく気を使うんです。

しかし計算速度は絶大なので、この前DM42で10時間かけてやった円周率のような計算には面白いかも。
単純比較するとDM42で10時間かかった円周率10000桁の計算が9分ほどで済むはずです。
オリジナルのHP42Sから見れば、312日かかる計算が9分で済むということですね。

これはもうやってみるしかありませんね。

c0335218_16293503.jpg


左から HP42S  DM42  SONYのアンドロイドスマホ

c0335218_16294823.jpg

c0335218_21530002.jpg





電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-07-18 22:12 | HP電卓 | Comments(5)

ちょっとガッカリ  DM15L

HP15C コンパチのDM15Lの演算スピードを計ってみました。
結果は表題に上げた通りです。
HP15C_LE の 1/ 7 しかありません。 ちょっとがっかり。
それでもオリジナルのHP15Cの22倍の速さだし、HP15C_LEのムシだったPSE命令(一時ポーズ)もちゃんと動作しますから。
これ 発売されたのHP15C_LEよりだいぶ後だし(?)DM42の技術があるのだから、あと一桁以上高速に出来ると思うのですが何故でしょうか。

スピード遅くて気力がなくなったので電池の消費電流は測ってありません。

HP電卓使って数学の勉強するのだから速度なんて関係ない、と思っていたのですが、DM42の円周率の計算やってからやはり速度は大切かなと感じてます。

c0335218_21360561.jpg

左上はHP15C_LE   右上は今回のDM15L   中央下はオリジナルのHP15Cです。
同じもの 3台も集めて何やる気。

c0335218_21361290.jpg

HP15C 3機種のみの比較表
c0335218_15152200.jpg


HP電卓 測定できた全機種の速度比較表
c0335218_15154003.jpg


測定プログラム  すべての機種はこの同一プログラムで動作させました。
一部の機種では、初期値の読み込みやラベル名などに違いがあります。

LBL A ’スタートのラベル
3       ’カウンターの初期値 3000(機種によりここを200に変えました)
0
0
0
STO 0     ’カウンターの初期値を変数0にストア

LBL B     ’ループ先頭のラベル
1       'カウンターから引く数を1にする
STO -0    ’カウンター 0から1を引く
RCL 0    ’減算されたカウンターの値をXレジスターへ読み込む
X キ 0    ’Xレジスターがゼロでないかチェックする
GTO B    'ゼロでないならばラベルBへ移動する
R/S      ’Xレジスターがゼロならば停止する


わずかこれで終わりです。
演算速度は命令の種類により当然変わるはずです。
ここではプログラムのループ内で使われている命令の平均時間ですね。
厳密には命令ごとの時間が必要ですが、機種ごとのスピード比較ならばこれで良いと思っています。


雨の中でも元気です。 アルストロメリア
c0335218_17050076.jpg

畑になっている、たった1本のブルーベリー
c0335218_17051550.jpg


ブルーベリー食べました。  うーん そんなに美味しいとは思えないんだけど。
c0335218_17052420.jpg




電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-07-09 17:24 | HP電卓 | Comments(2)

円周率 DM42で10000桁まで計算出来たのに、そのプログラムの動作がまだ解りません。
プログラム自体はこんなに短くて10000桁でも正しく計算出来るなんてすばらしいのに。
いつまでたっても解らないとそのうち気力が消えてしまいそう。

*最初の方法は、スタックや変数の内容を調べながらプログラムに並べて書いていったのですが、ループで動作するソフトなので追いきれません。 10000桁を出すときは180万回ループします。
試しで桁数10桁の最短にしても100回位まわります。(1ループ50ステップくらいなのでトータルでは最低でも5000ステップくらい。)

*次にやったのは、RPNプログラムを通常の数学の式に変換したものをプログラムに並べて書いてみました。
これで全体としてはかなり解ったのですが、ループで頭に戻って繰り返しの計算になるとまた解らなくなります。
このあたりが連分数の所なのでしょうか。
ある意味、再起呼び出しと同じ動作と言えるのでしょうね。
これになると私の頭では、ごちゃごちゃなってしまいます。

まあ ゆっくり、楽しみながら、諦めないで、あらゆる方向からトライしてみます。

c0335218_21032554.jpg

c0335218_21033187.jpg

c0335218_06272630.jpg

作業部屋の前に新しく作った花壇です。  たたみ一畳ちょっとです。
苗を買ってきて植えたあと一時枯れそうになりましたが、いまは元気になりました。
c0335218_06281295.jpg
不思議です。
花でも野菜の苗でも移植したあとは一度は枯れそうになりますが、そのあとに元気が出てきます。
何故でしょうか?  私の腕が悪いのかな。
c0335218_06281813.jpg




電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-07-06 21:15 | HP電卓 | Comments(4)

この歳でやっと「ガラケー」から「スマホ」に乗り換えました。
SONYの「エクスペリア」  その中で一番安いもの。それでも5万円以上しました。
だって一番高いの10万円以上するんだもの。携帯電話がこんなに高かったなんてビックリです。
支払いは3年ローンなどありましたが、借金は嫌なので現金でドンと払いました。(というほどでもないですか)

なぜSONYかと言えば、パソコンの時代からSONYのが大好きだから。
逆に韓国は大嫌いだから、いっぱい並んでいたけれど最初から考えに入れてません。

問題はうまく使いこなせるかですね。
小学生の孫のところに教わりに行こうかな。 授業料高くつきそうだな。

これ買ったからには当然 HP電卓ソフトを入れなくてはですね。

c0335218_18361897.jpg



朝 散歩の途中で見かけたリンゴ、 ちょうどピンポン位の大きさです。
c0335218_20533556.jpg

c0335218_20581346.jpg



日陰に移植した ミョウガ、  梅雨の雨のおかげで元気がいいですね。
c0335218_20592831.jpg



電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-06-24 21:07 | HP電卓 | Comments(5)

DM42で円周率10000桁の計算ができました。
演算時間はUSB電源で10時間 30分前はまだ動いていて10時間目に見たら停止していたので10時間弱ということですね。
これ HP42Sでやると10時間×750倍 => 7500時間 => 312日
電池ももたないし不可能ですね。

演算結果はまた円周率表と比較して正常でした。
(見たのはプログラムの下に示した 前部、中央部、後部についてです。)
ただキャリー処理の部分を停止してあったので直してやり直してみますけれど。
時間のかかるものは、動作の確認するだけでもたいへんですね。


いつもコメントくれるkusakaさんがたまたまそばにいたので「10000桁出来た」と言ったら
「それで」という返事。 
そうなんですよね、電卓や円周率に興味ない人にとっては、「それが どうしたの」という感じなのでしょうね。
わたしにとっては、ゲームセンターの機械よりは、はるかに面白いものですけど。

ここで使う電卓はやはりHP電卓でないとダメですね。
かっこの無いRPN(逆ポーランド法)だからこそ演算のひとつひとつの手順がはっきりとしているのですから。
これ数式通りの電卓やパソコンの数学ソフトでやったら、楽しみが半減すると思います。
こんなこと言っておきながら、わたしまだこのプログラムからどうして円周率が出てくるのか理解できないのです。

まだまだ楽しみは尽きないですね。


c0335218_14441607.jpg




全プログラムリスト 


全プログラムリスト

円周率 1レジスタに10桁表示

Many Digits of Pi by Katie Wasserman - MoHPC
www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=899

オリジナルの計算式

π = 2 + 1/3( 2 + 2/5( 2 + 3/7( 2 + ・・・ ( 2 + k/(2k+1)( 2 + ・・・)))・・・))


計算したのはDM42
  ここまでくると HP42S ではメモリーサイズR880が最大なので動作できない。

01 LBL "AA"
02 SIZE 1005 変数領域の確保 R0~R1004
         (この定義ではR1005をアクセスするとエラーとなる、
         もっと大きく出来るがここまでとする)
03 FIX 00 小数点以下表示しない
04 CLRG 変数領域消去
05 35E3 (35000) ***** 1017=>35000 10000桁計算に概略必要と思われる値
06 STO 01
*

07 LBL 1 mainループの先頭
08 2
09 STO "II"
10 0 CARRYの初期値

*
11 LBL 02 レジスター計算ループの先頭
12 1E10 ***** 1レジスタ10桁表示
13 ×     10,000,000,000倍する
14 RCL IND "II"
15 RCL 01
16 ×
17 +
18 ENTER
19 ENTER
20 ENTER
21 RCL 01
22 2
23 ×
24 1
25 +
26 ÷
27 LSTX
28 X<>Y
29 IP (INTのこと)
30 STO IND "II"
31 ×
32 -
33 1
34 STO +"II"
35 R↓
36 RCL "II"
37 1005 ***** 54=> 1005   レジスタR1004まで計算する
38 -
39 X=0?
40 GTO 03
41 R↓
42 GTO 02

*
43 LBL 03
44 2
45 STO 02
46 RCL 01
47 1
48 -
49 STO 01
50 X>0 ?
51 GTO 01
-------------------------------------
52 1004 ***** 53 => 1004  レジスター計算末尾  
53 STO "II"
54 0 最初はキャリー無しから始まる

*
55 LBL 04 ---桁上がり処理ループ先頭------------
56 STO+ IND "II" 上位のレジスタへキャリーを加算 0 or 1
57 RCL IND "II" O or 1 の加算されたレジスタを読み込む
58 1E10      E6 => E10 10,000,000,000で割り算
59 ÷
60 INT 11桁目(キャリー)を取り出す
61 STO 01 キャリーをR1にセーブしておく
62 1E10 ***** キャリーを10,000,000,000倍する
63 ×
64 STO- IND "II" キャリーを含んだ元の数値からキャリーのみ引く
65 RCL 01 キャリーをR1からXレジスターに戻す
66 DSE "II" インデックスポインター1を引いて 0でないならLBL4へ戻る
67 GTO 04
68 RCL 02 円周率の頭の3を読み込んで終わりとする
69 RTN


計算した答え

R02 2,         ミスでキャリー処理を止めていた。
             キャリーくれば3となり正常
R03 11,415,926,535  ここR03の最初の1が繰り上り
             R02に加算される
R04 8,979,323,846
R05 2,643,383,279  


R500 4,263,129,860
R501 8,099,888,687
R502 4,132,604,721
R503 5,695,162,396

|
|
R1000 9,596,881,592
R1001  560,010,165
R1002 5,256,375,678 最後の8が小数点以下 10000桁目
R1003 5,667,227,966 最後10010桁目
R1004 1,279,988,578 最後10020桁目
R1005 ここをアクセスすると サイズエラーとなる



========
修正 2019-7-26
プログラムの表記でHP42Sでは違うところがいくつか在りましたので訂正しました。



今年の田んぼアート まだ田植えしたばかりで苗が小さいですが何とか読めますね 「令和」と川場村の「カワタン」?だったかな
c0335218_07215930.jpg

この花だけは毎年すごく元気ですね。 いつもこうありたいですけれど。
c0335218_07240977.jpg

タマネギ 掘りました。
大きいのから小さいのまでいろいろあります。


c0335218_07254309.jpg


一番大きいやつです。 実物は大きいのですが写真で見るとそれほど大きく感じないですね。
c0335218_07275809.jpg



電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村





# by telmic-gunma | 2019-06-21 04:05 | HP電卓 | Comments(2)

1レジスタ10桁表示がうまく行ったのでR99まで使って円周率を計算しました。
小数点以下970桁です。
時間は詳しく計っていなかったのですが電池動作で20分以下でした。
数値の確認は 先頭部、中央部、終端部を円周率表と照らし合わせて一致していました。
10桁単位の表示は円周率表と同じなので探すのが楽でした。
HP42Sは表示12桁内部演算15桁なので10桁表示がうまく動作したのかもしれません。
HP15Cの10桁演算10桁表示でうまく行くか判りません。
相変わらず、このプログラムの動作はまだ理解できていません。

c0335218_14441607.jpg

全プログラムリスト 


全プログラムリスト

円周率 1レジスタに10桁表示(とりあえずの試し実験)

Many Digits of Pi by Katie Wasserman - MoHPC
www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=899

オリジナルの計算式

π = 2 + 1/3( 2 + 2/5( 2 + 3/7( 2 + ・・・ ( 2 + k/(2k+1)( 2 + ・・・)))・・・))


DM42 ( HP42S )

01 LBL AA
02 SIZE 100 変数領域の確保 R0~R99(もっと大きく出来るがここまで)
03 FIX 00 小数点以下表示しない
04 CLRG 変数領域消去
05 3700 ***** 1017 =>3700 970桁計算に概略必要と思われる値
06 STO 01
*

07 LBL 1 mainループの先頭
08 2
09 STO II
10 0 CARRYの初期値

*
11 LBL 02 レジスター計算ループの先頭
12 1E10 ***** 1レジスタ10桁表示
13 ×     10,000,000,000倍する
14 RCL IND II
15 RCL 01
16 ×
17 +
18 ENTER
19 ENTER
20 ENTER
21 RCL 01
22 2
23 ×
24 1
25 +
26 ÷
27 LSTX
28 X<>Y
29 INT
30 STO(i)
31 ×
32 -
33 1
34 STO +II
35 R↓
36 RCL II
37 100 ***** 54=> 100   レジスタR99まで計算する
38 -
39 X=0?
40 GTO 3
41 R↓
42 GTO 2

*
43 LBL 3
44 2
45 STO 2
46 RCL 1
47 1
48 -
49 STO 1
50 X>0 ?
51 GTO 1
-------------------------------------
52 99 ***** 53 => 99 修正  
53 STO II
54 0 最初はキャリー無しから始まる

*
55 LBL 4 ---桁上がり処理ループ先頭------------
56 STO +(i) 上位のレジスタへキャリーを加算 0 or 1
57 RCL (i) O or 1 の加算されたレジスタを読み込む
58 1E10      E6 => E10 10,000,000,000で割り算
59 ÷
60 INT 7桁目(キャリー)を取り出す
61 STO 1 キャリーをR1にセーブしておく
62 1E10 ***** キャリーを10,000,000,000倍する
63 ×
64 STO -(i) キャリーを含んだ元の数値からキャリーのみ引く
65 RCL 1 キャリーをR1からXレジスターに戻す
66 DSE II インデックスポインター1を引いて 0でないならLBL4へ戻る
67 GTO 4
68 RCL 2 円周率の頭の3を読み込んで終わりとする
69 RTN


答えの 1レジスタに10桁表示。


R02 3,
R03 1,415,926,535
R04 8,979,323,846
R05 2,643,383,279  


R50 1,885,752,724
R51 8,912,279,381
R52 8,301,194,912
|
|
R97 9,375,195,778
R98 1,857,780,532
R99 1,712,268,066

最後小数点以下 970桁目


========




電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-06-19 03:22 | HP電卓 | Comments(2)

すがわらさんからのアイデアをいただいて1レジスタ 10桁表示をやってみました。
とりあえず答えは2行だけですが、すんなり出来ました。
ただこれはDM42(HP42S)での話でHP15Cで動作するかは試してありません。
全体の動作を理解できていないのに改造ばかりでいいのかな。

改造個所は以下の3か所です。
1E6 を 1E10 に変更しています。
12行、58行、62行

c0335218_14441607.jpg


全プログラムリスト 


全プログラムリスト

円周率 1レジスタに10桁表示(とりあえずの試し実験)

Many Digits of Pi by Katie Wasserman - MoHPC
www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=899

オリジナルの計算式

π = 2 + 1/3( 2 + 2/5( 2 + 3/7( 2 + ・・・ ( 2 + k/(2k+1)( 2 + ・・・)))・・・))


DM42 ( HP42S )

01 LBL AA
02 SIZE 100 変数領域の確保 R0~R99(もっと大きく出来るがここまで)
03 FIX 00 小数点以下表示しない
04 CLRG 変数領域消去
05 70 ***** 1017 =>70 修正 3レジスタしか計算しない
06 STO 01
*


07 LBL 1 mainループの先頭
08 2
09 STO II
10 0 CARRYの初期値

*
11 LBL 02 レジスター計算ループの先頭
12 1E10 ***** 1レジスタ10桁表示
13 ×     10,000,000,000倍する
14 RCL IND II
15 RCL 01
16 ×
17 +
18 ENTER
19 ENTER
20 ENTER
21 RCL 01
22 2
23 ×
24 1
25 +
26 ÷
27 LSTX
28 X<>Y
29 INT
30 STO(i)
31 ×
32 -
33 1
34 STO +II
35 R↓
36 RCL II
37 5 ***** 54=> 5   レジスタ3個しか計算しない
38 -
39 X=0?
40 GTO 3
41 R↓
42 GTO 2

*
43 LBL 3
44 2
45 STO 2
46 RCL 1
47 1
48 -
49 STO 1
50 X>0 ?
51 GTO 1
-------------------------------------
52 4 ***** 53 => 5 修正  
        桁上がり(キャリー)処理
        を後ろのレジスタ(4番目)より順に処理する
53 STO II
54 0 最初はキャリー無しから始まる

*
55 LBL 4 ---桁上がり処理ループ先頭------------
56 STO +(i) 上位のレジスタへキャリーを加算 0 or 1
57 RCL (i) O or 1 の加算されたレジスタを読み込む
58 1E10      E6 => E10 10,000,000,000で割り算
59 ÷
60 INT 7桁目(キャリー)を取り出す
61 STO 1 キャリーをR1にセーブしておく
62 1E10 ***** キャリーを10,000,000,000倍する
63 ×
64 STO -(i) キャリーを含んだ元の数値からキャリーのみ引く
65 RCL 1 キャリーをR1からXレジスターに戻す
66 DSE II インデックスポインター1を引いて 0でないならLBL4へ戻る
67 GTO 4
68 RCL 2 円周率の頭の3を読み込んで終わりとする
69 RTN


答えの 1レジスタに10桁表示。


R02 3,
R03 1,415,926,535
R04 8,979,323,846  

最後小数点以下 20桁目


========




電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-06-19 01:53 | HP電卓 | Comments(0)

まだ 計算式とプログラムの関係がよく解らないのですが、
いろい調べていて演算桁数を広げる方法が見えてきたので挑戦して見ます。
オリジナルのHP15Cでは変数領域はR00~R53を使用し円周率の計算結果をR02~R53まで使って306桁を出力していましたが
DM42の直接アドレス領域一杯のR02~R99までを使って582桁までやってみました。
間接アドレスを使えばさらに広い範囲をアクセスできますが、そこは次回に挑戦して見ます。
修正箇所は以下の3か所だけです。

37行  54 => 100
52行  53 => 99
5行  1017 => 2040

出力された答えは、 先頭部、中央部、終わりの所を円周率表と見比べて確認しました。

ここが同一ならば全体があっていると言ってもいいのですよね。

c0335218_14441607.jpg


全プログラムリスト 

円周率582桁全プログラムリスト

Many Digits of Pi by Katie Wasserman - MoHPC
www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=899

オリジナルの計算式

π = 2 + 1/3( 2 + 2/5( 2 + 3/7( 2 + ・・・ ( 2 + k/(2k+1)( 2 + ・・・)))・・・))


DM42 ( HP42S )

01 LBL AA
02 SIZE 100 変数領域の確保 R0~R99(もっと大きく出来るがここまで)
03 FIX 00 小数点以下表示しない
04 CLRG 変数領域消去
05 2040   ***** 1017 => 2040 修正
06 STO 01
*

07 LBL 1 mainループの先頭
08 2
09 STO II
10 0 CARRYの初期値

*
11 LBL 02 レジスター計算ループの先頭
12 1E6
13 ×
14 RCL IND II
15 RCL 01
16 ×
17 +
18 ENTER
19 ENTER
20 ENTER
21 RCL 01
22 2
23 ×
24 1
25 +
26 ÷
27 LSTX
28 X<>Y
29 INT
30 STO(i)
31 ×
32 -
33 1
34 STO +II
35 R↓
36 RCL II
37 100 ***** 54=> 100 ここを修正
38 -
39 X=0?
40 GTO 3
41 R↓
42 GTO 2

*
43 LBL 3
44 2
45 STO 2
46 RCL 1
47 1
48 -
49 STO 1
50 X>0 ?
51 GTO 1
-------------------------------------
52 53 ***** 53 => 99 修正  
        桁上がり(キャリー)処理
        を後ろのレジスタ(99番目)より順に処理する
53 STO II
54 0 最初はキャリー無しから始まる

*
55 LBL 4 ---桁上がり処理ループ先頭------------
56 STO +(i) 上位のレジスタへキャリーを加算 0 or 1
57 RCL (i) O or 1 の加算されたレジスタを読み込む
58 E6 1000000で割り算
59 ÷
60 INT 7桁目(キャリー)を取り出す
61 STO 1 キャリーをR1にセーブしておく
62 E6 キャリーを1000000倍する
63 ×
64 STO -(i) キャリーを含んだ元の数値からキャリーのみ引く
65 RCL 1 キャリーをR1からXレジスターに戻す
66 DSE II インデックスポインター1を引いて 0でないならLBL4へ戻る
67 GTO 4
68 RCL 2 円周率の頭の3を読み込んで終わりとする
69 RTN


答えは R3 から R99 までひとつのメモリーに6桁分づつ入っています。
この計算でキャリーのあるところは R32 R23 R19 R17 R11 R3 です。
円周率582桁の答えは以下の通りです。(書くまでもないですね。)
+
R02 3
R03 141592
R04 653589
R05 793238
R06 462643
R07 383279
R08 502884
R09 197169
R10 399375
R11 105820
R12 974944
R13 592307
R14 816406
|
|
R50 393607
R51 260249
R52 141273
R53 724586
|
|
R70 057270
R71 365759
R72 591953
|
|
R97 217176
R98 293176
R99 752384 最後小数点以下 582桁目

========



ジャガイモの花
それなりにきれいですね。
c0335218_14594850.jpg
これもジャガイモ

c0335218_14595700.jpg

日陰のミョウガ   元気です。  まだ移植して数週間ですから。
c0335218_15015816.jpg

日向のミョウガ  こっちのが元気かな?  何年もこの場所だからね。
c0335218_15021878.jpg

これは何でしょうか?  地面がバックだと引き立たないですね。
c0335218_15081407.jpg

三角の形の白のアジサイ、まだ途中なのでこれからですね。
c0335218_15094637.jpg


電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-06-15 14:45 | HP電卓 | Comments(2)

インターネット上で電卓を使っての円周率の計算を発表している方がいましたので、
それらを参考にさせていただいてDM42(HP42S)でやってみました。

以下の方たちを参考にしました。ありがとうございます。(連絡してませんけれど)

1、「 高機能電卓の情報 」 akatukiさん
2、「 e-Gadge-プログラム関数電卓 」
3、「 Many Digits of Pi by Katie Wasserman - MoHPC 」
www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=899

3の中のHP15CのものをベースにしてDM42(HP42S)に移しました。
変更部分はわずかですが、わずか故にムシがなかなか見つかりませんでした。
下に同じ動作するソフト(15Cと42S)を併記してあります。

(結果)
円周率306桁の演算時間は以下の通りです。
やはり DM42は凄いです。
1分くらいなら気楽に挑戦できますけれど、10時間超えると電池が持つか心配になりますね。
ましてや40時間なんて、やった人いないのでしょうね。
そうそう デバッグして修正して確認するだけでも結果が出るのは明後日だよなんてやってられないでしょう。


DM42(USB駆動 電池の3倍速)   54秒       実測
HP42S               11時間15分位 計算にて予測

HP15C_LE             16分位      実測
HP15C               40時間位     計算にて予測


これだけスピードが速いと今まで出来なかったことも、いろいろとオモチャできますね。
どんなことがあるだろう。


今現在の状況 (2019年6月8日)

  Piを出す式は分かりました。
  プログラムは動きました。
  答えは出て、合っています。
  しかし どうして この式がこのプログラムになるのか理解できません。

ここからがHP電卓の楽しみかもしれませんね。
パズル、ちえの輪 HP電卓(RPN電卓とも言う)という名のゲームマシン 本領発揮ですね。
理解出来たら このリストにコメントをしっかり書きますね。

c0335218_10080924.jpg


全プログラムリスト 

Many Digits of Pi by Katie Wasserman - MoHPC
www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=899

π = 2 + 1/3( 2 + 2/5( 2 + 3/7( 2 + ・・・ ( 2 + k/(2k+1)( 2 + ・・・)))・・・))

    左側リスト       右側リスト
HP15C ( HP15C_LE ) DM42 ( HP42S )
オリジナルのもの HP15C用をHP42Sように修正したもの

01    LBL AA        42.21.11       01    LBL AA
02 5 5 02 SIZE 100 変数領域の確保 R0~R99
03 3 3
04 DIM(i) 42.23.24
05 FIX 0 42. 7. 0 03 FIX 00 小数点以下表示しない
06 CLR REG 42.34 04 CLRG 変数領域消去
07 1 1 05 1017
08 0 0
09 1 1
10 7 7
11 STO 1 44.1 06 STO 01
12    LBL 1         42.21.1         07    LBL 1       mainループの先頭
13 2 2 08 2
14 STO II 44.25 09 STO II
15 0 0 10 0 CARRYの初期値
16    LBL 2         42.21.2        11    LBL 02      レジスター計算ループの先頭
17 EEX 26 12 1E6
18 6 6
19 × 20 13 ×
20 RCL(i) 45.24 14 RCL IND II
21 RCL 1 45.1 15 RCL 01
22 × 20 16 ×
23 + 40 17 +
24 ENTER 36 18 ENTER
25 ENTER 36 19 ENTER
26 ENTER 36 20 ENTER
27 RCL 1 45.1 21 RCL 01
28 2 2 22 2
29 × 20 23 ×
30 1 1 24 1
31 + 40 25 +
32 ÷ 10 26 ÷
33 LSTX 43.36 27 LSTX
34 X<>Y 34 28 X<>Y
35 INT 43.44 29 INT
36 STO(i) 44.24 30 STO(i)
37 × 20 31 ×
38 - 30 32 -
39 1 1 33 1
40 STO +II 44.40.25 34 STO +II
41 R↓ 33 35 R↓
42 RCL II 45.25 36 RCL II
43 5 5 37 54
44 4 4
45 - 30 38 -
46 X=0? 43.20 39 X=0?
47 GTO 3 22.3 40 GTO 3
48 R↓ 33 41 R↓
49 GTO 2 22.2 42 GTO 2
50    LBL 3      42.21.3           43    LBL 3
51 2 2 44 2
52 STO 2 44.2 45 STO 2
53 RCL 1 45.1 46 RCL 1
54 1 1 47 1
55 - 30 48 -
56 STO 1 44.1 49 STO 1
57 X>0 ? 43.30.1 50 X>0 ?
58 GTO 1 22.1 51 GTO 1
-------------------------------------
59 5 5 52 53 桁上がり(キャリー)レジスターを
60 3 3 後ろのレジスタ(53番目)より順に処理する
61 STO II 44.25 53 STO II
62 0 0 54 0 最初はキャリー無しから始まる
63    LBL 4      42.21.4          55    LBL 4      ---桁上がり処理ループ先頭------------
64 STO +(i) 44.40.24 56 STO +(i) 上位のレジスタへキャリーを加算 0 or 1
57 RCL (i) 45.24 57 RCL (i) O or 1 の加算されたレジスタを読み込む
66 EEX 26 58 E6 1000000で割り算
67 6 6
68 ÷ 10 59 ÷
69 INT 43.44 60 INT 7桁目(キャリー)を取り出す
70 STO 1 44.1 61 STO 1 キャリーをR1にセーブしておく
71 EEX 26 62 E6 キャリーを1000000倍する
72 6 6
73 × 20 63 ×
74 STO -(i) 44.30.24 64 STO -(i) キャリーを含んだ元の数値からキャリーのみ引く
75 RCL 1 45.1 65 RCL 1 キャリーをR1からXレジスターに戻す
76 DSE II 42.5.25 66 DSE II インデックスポインター1を引いて
0でないならLBL4へ戻る
77 GTO 4 22.445.2 67 GTO 4
78 RCL 2 45.2 68 RCL 2 円周率の頭の3を読み込んで終わりとする
79 RTN 43.32 69 RTN

(注) HP15Cでは変数 I は 1 と判りやすくするため II と書いています。

答えは R3 から R53 までひとつのメモリーに6桁分づつ入っています。
この計算でキャリーのあるところは R32 R23 R19 R17 R11 R3 です。
円周率306桁の答えは以下の通りです。(書くまでもないですね。)

R02    3
R03 141592
R04 653589
R05 793238
R06 462643
R07 383279
R08 502884
R09 197169
R10 399375
R11 105820
R12 974944
R13 592307
R14 816406
|
|
|
R52 141273
R53 724586

========



今年も咲きました。 アルストロメリア  一年たつの早いですね。
c0335218_19443212.jpg


c0335218_19525419.jpg


なでしこ   手入れも何もしていません。去年のままですけれど綺麗に咲きます。

c0335218_19454947.jpg



c0335218_19535951.jpg



新しい場所に植えたイチゴ、大きいのも少しありましたが、ほとんどは小さいままでした。
数は圧倒的に少なくなりました。
移植したせいか、場所が悪かったのか、なにもしない方が良かったみたい。
野菜、くだもの、花 などの生き物を育てるのも難しいですね。
何が悪いと教えてくれるわけでなく、ただ枯れていくだけ。
そして結果が出るのにとても時間がかかり、失敗に気がついて修正しても結果がでるのは1年先とか。
c0335218_19514809.jpg




c0335218_19545676.jpg



電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-06-08 20:06 | HP電卓 | Comments(8)

バラの花 見てきました

群馬県 前橋市の敷島公園 バラ園で綺麗なバラをたくさん見てきました。

色や形 たくさんの種類があるのですね。
素晴らしかったです。

おまけに無料でした。

c0335218_11132814.jpg



c0335218_11134906.jpg


c0335218_11141113.jpg



c0335218_11143192.jpg



c0335218_11145139.jpg


c0335218_11161718.jpg


c0335218_11163100.jpg


c0335218_11164497.jpg



c0335218_11171066.jpg




c0335218_11172737.jpg



c0335218_11173947.jpg



c0335218_11175185.jpg



c0335218_11180737.jpg


c0335218_11183748.jpg


c0335218_11184840.jpg



c0335218_11190254.jpg



c0335218_11192446.jpg



c0335218_11193920.jpg



c0335218_11195357.jpg


c0335218_11200847.jpg



c0335218_11202282.jpg



c0335218_11203715.jpg


これは我が家のバラ たったこれだけ
c0335218_11255786.jpg


c0335218_11232589.jpg



**********************************************

川場村の献穀田で天皇陛下に食べてもらうお米の田植え行いました。
小学校5年生が昔の装束を着てやってました。
量としては、わずかでしたけれど。


c0335218_11354883.jpg

*************************************************

なかなか お花ブログから抜け出せません。




電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-05-27 11:47 | 季節の風景 | Comments(2)

すごいサイト発見

サイエンスチャンネル「偉人達の夢」


アマゾンで数学の本のカスタマーレビュー見ていたら、
  ネットの サイエンスチャンネル「偉人達の夢」を本と合わせて見て と書いてありました。

一回の話が30分ほど。 100人以上の人のストーリーが出ています。
最初に見たのは、 オイラー その次に見たのは、ラマヌジャン 
彼らがどんな苦労をしてその学問を発展させたか、そして彼らの生涯はどんなだったのかを
ユーチューブで紙芝居のような感じでストーリーとして見せてくれます。

もう感激ですね。
いままで学校の授業ではこんなこと出てこなかったですものね。
小学校や中学校の授業の時ちょっとでもこんな話をしてもらえれば、
勉強にたいする興味が大きく膨らむと思いますけれどね。

このあと ハッブル をみました。
そう ハッブル望遠鏡のハッブル。
彼が この宇宙は膨張しているということを発見したのですね。初めて知りました。

こんなに素晴らしいサイトがあったなんて今まで気づきませんでした。 もったいないですね。
みんなが「こんなに素晴らしいサイトがあるよ」とブログなどで発表し合えばいいのですね。



*********************************************
*********************************************

今 庭に咲いている、ただ一つの花

c0335218_21124102.jpg

散歩の途中で咲いていた。 上の花と同じかな?
c0335218_21125025.jpg

みょうが 家の北側に植えました。 朝だけ日が当たります。
手前は屋根もないので、雨もそのままかかります。
奥の方は屋根があります。 ちょっと比較してみます。
全部で60本ぐらい。 育つかな。

c0335218_21131209.jpg

これは、日向のままの みょうが  比較のために残してあります。
c0335218_21131877.jpg

イチゴ  トータル結構な数の苗がありますね。

c0335218_21133195.jpg

実も結構付いてきました。
赤くなったのも有りましたが、鳥に食べられてしまいました。

c0335218_21133932.jpg



ネギ 採らずにおいたらネギ坊主が大きくなりました。

c0335218_21140232.jpg

ネギ坊主の大きさ比較

c0335218_21140968.jpg

ネギ坊主にたくさんのミツバチが来ていました。
c0335218_21522999.jpg
ネギの苗 たくさん貰ってきて植えました。
来年は上のネギ坊主からとった種でネギを育てたいですね。
c0335218_21525401.jpg




電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-05-22 21:46 | おもしろいこと | Comments(4)

桜の写真を撮ったのは、10日ほど前です。
群馬県 川場村の中を自転車で走り回って撮りました。
いつも青森県で咲くのと同じころ、ここでも咲きます。
今は散ってしまいました。

c0335218_15392242.jpg


c0335218_15402575.jpg



c0335218_15413295.jpg



c0335218_15414930.jpg




c0335218_15420914.jpg





c0335218_15422032.jpg

これ イチゴ いま撮ってきました。
冬を越したのは小さな苗だったのですが急速に大きくなっています。
雑草も一緒に大きくなるので毎日真面目に手入れする必要ありですね。


c0335218_15425503.jpg



c0335218_15432138.jpg



c0335218_15433803.jpg


ジャガイモの芽が出てきました。

c0335218_15440245.jpg


これ みょうが ことしは食べられるの出来るかな。


c0335218_15442447.jpg


これは ニラ いくら食べてもまたすぐ生えてくるからいいですね。


c0335218_15453367.jpg


長ネギ  ネギ坊主ばっかりになってしまいました。  
固くなってしまうそうですが、まあいいや。
日陰に植え直すと良いと聞いたので試してみます。



c0335218_15455378.jpg





c0335218_15460864.jpg


近所の家に咲いた 菜の花 綺麗ですね。


c0335218_15511019.jpg
   

チューリップ    言う必要ないですね。

c0335218_15514499.jpg






c0335218_15524545.jpg




c0335218_15530049.jpg




電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-05-02 16:06 | 季節の風景 | Comments(4)

最近、毎日がジタバタしてシヌーという感じ。
仕事では客先で新型商品が出るというのでそれに対応した試験機のハード、ソフトを請け負ってアップアップ
個人的には村の役を引き受けたので、人間関係を含めてガチャガチャ
わたしの脳みそは、ボケかかり。  どうしたらいいんだ。

そうそう ブログでは 「人の悪口と愚痴は書くな」と言われたけどつい出ちゃう。  
やばいやばい。

c0335218_10495804.jpg
パイを計算するのに級数展開というのがあるそうです。
今回 比較的わかり易そうな下図二つ目のライプニッツ級数の式でやってみました。
左辺のパイの下にある4を右辺に移して、左辺は パイ= の形にしました。
しかし こうするとパイがでる、なんてどうして考え付いたのでしょうね。 すごい頭ですね。


c0335218_19244143.jpg



全プログラムリスト 
DM42(HP42Sと同じ) 動作はUSBで電源供給なので電池の3倍速で動いています。

パイを求めるライプニッツ級数
使用変数
00  現時点でのパイ
01 現在の項の分母
02 演算回数 2000 を減算して=> 0
03 1回前のパイ
04 1回前の分母

LBL "AA" ソフトスタート
LCRG   変数オールクリア
1
STO 01  最初の分母 1を設定
4     最初のパイの値を設定     
STO 00
LBL "BB"
2000   途中経過表示のカウンタ(演算2000回ごとに表示)
STO 02
4      項の分子の読み込み
ENTER
2      項の分母の階差の読み込み
RCL + 01 今までの分母に階差を加算する
STO 01  現在の分母をしまう
÷     分子(4)÷分母
STO - 00  過去のパイの演算結果から今の値を引く
RCL 00     現時点のパイの値を一時退避
STO 03
RCL 01  現時点の項の分母を一時退避
STO 04
LBL "CC"
4      項の分子の読み込み
ENT
2      項の分母の階差の読み込み
RCL + 01 今までの分母に階差を加算する
STO 01  現在の分母をしまう
÷     分子(4)÷分母
STO + 00 過去のパイの演算結果から今の値を引く
RCL 03      1回前のパイ
RCL 04  1回前の項の分母
PSE    2000回ごとに引き算の時の値を表示する
RCL 00  現時点のパイ
RCL 01  現時点の項の分母
PSE    2000回ごとに足し算の時の値を表示する
RCL 02  演算回数を読み込む
1
-     演算回数を
X キ 0   演算回数がゼロかチェック
GTO "CC"  ゼロでないなら"CC"へ行く
GTO "BB"  ゼロならば"BB"へ行き2000をセットし直し
END    ソフト 終わり

結果
R/S で演算を停止させたときのレジスタ X,Y,Z,Tを書きます。

T 3.14159254855
Z 19,039,999 元のミスの値 1903999
Y 3.14159275863
X 19,040,001 元のミスの値 1904001

TとYの値は加算する項と減算する項の違いで正解を挟んで上下の値。
計算ごとに段々近づくのですね。
Xはこの時の項の分母となります。
すなわち 演算回数はXの値の約半分の950万回(元ミス95万回)となります。
これだけ計算しても有効桁数は 3.141592 の 7桁しかありません。
とても手計算で出来るやり方ではないですね。

=====================================
追記 2019-04-30
計算を続けてやってみました。

T 3.14159258965
Z 31,279,999
Y 3.14159271753
X 31,280,001

精度は上がらず上下の位置がずれました。
ゆえに 演算桁数を上げずに計算項数を増やしても精度は上がらないと思います。


=====================================
=====================================
追記 2019-04-30
すがわらさんからコメントいただいたのでここに返事を書いてみます。

すがわら氏
横入りすいません。VS入れたのでテストとしてC#で計算させました。FORTRANと違って桁数が少ないので大して精度が出ないのですね。ライプニッツ式で1000万項計算させて、 3.1415926035897882384621752928が得られました。100万項だと、 3.1415921535892932379938932832でした。 無限級数の和は積分に置換できるので、積分からの逆変換じゃないですかね。π/4だからarctanの計算が怪しいかな。

高井
すがわらさんの ライプニッツ式で1000万項計算させて、
3.1415926035897882384621752928
これの9桁目の0は5の移し間違えでないですか、
このままだと3.1415926の計8桁しか有効でありませんね。
ここに5を置くと 3.1415926535897 までの計14桁まで正しくなりますね。

私思うのですがこのライプニッツ式ではいくら演算の項を増やしても精度は上がらないきがします。
右辺2項目の1/3(あるいは4/3)の所で0.333333333333で最後切り捨てられるので演算ソフトの有効桁数以上の精度は出ないでしょう。
HP42Sの場合 12桁(内部演算15桁)でやってますから良くてそこどまりでしょう。

外国のサイトでHP15CやHP32SiiのRPN法でパイを級数を解いているところがありました。
そこ調べてどんなことやってるのか調べて載せてみますね。
ひとの作ったソフトの解析するのを楽しいと感じているうちはまだボケていないのかな。


参考サイト 2個
https://akatuki-724.blogspot.com/2014/05/hp-prime.html

www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=899

========


もう 疲れたので とりあえずここまで。 あとで追加します。
****************************************************************


電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-04-29 19:28 | HP電卓 | Comments(6)

DM42で乱数を遊ぶ (3)

前回モンテカルロ法を使って遊んでみましたが、2017年11月16日 HP42S でやったのと同じことをDM42 でサンプリング数を増やしてやってみました。
モンテカルロ法でランダムにやるのでなく等間隔で均一にやってみようというわけです。
DM42ならHP42Sの750倍高速ですし、何より電池を消耗しないという大きなメリットがあります。
図のNo1はモンテカルロ法で、ひとつの真四角の中に乱数でランダムに点を置いて半円(1/4円)の内側にあるかを調べて数の比率で円周率を求めます。

c0335218_10495804.jpg


c0335218_10462042.jpg



全プログラムリスト 
DM42(HP42Sと同じ) 動作はUSBで電源供給なので電池の3倍速で動いています。

01 LBL "AA"
02 0
03 STO X * X座標のポイント
04 STO Y   * Y座標のポイント
05 STO T   * トータルポイント数
06 STO P   * 円内部の点の数 (x^2 + Y^2)が1以下
07   LBL  "BB"     * ループ先頭ラベル
08 XEQ "HH" * 円内部の点の数を数えるサブルーチンへ行く(x^2 + Y^2)が1以下
09 0.001 * 1ステップのY移動値
10 STO +Y   * Yに1ステップ分を加算する。
11 RCL Y   * 1ステップ分移動したY値を読み込む
12 1      * 円の内側かいなかチェックする値(1)をセット
13 X>Y ?    * 円の内側ならば
14 GTO "BB"  * ラベルBBへ行く
15 0      * 0を読み込む
16 STO Y   * Yの座標位置をゼロとする
17 0.001    * 座標 1ステップ分読み込み
18 STO +X   * Y座標 1ステップ分加算
19 RCL X   * 1ステップ分移動したX値を読み込む
20 1      * 円の内側かいなかチェックする値(1)をセット
21 X>Y ?    * 円の内側ならば
22 GTO "BB"  * ラベルBBへ行く
23 RCL T   * トータルポイント数
24 RCL P   * 円内部の点の数 (x^2 + Y^2)が1以下
25 STOP    *


26   LBL  "HH"  *  円内部の点の数を数えるサブルーチンへ行く(x^2 + Y^2)が1以下
27 1      *
28 STO +T   * 測定トータル数を+1
29 RCL X   *
30 X^2 * 現在のX座標値を2乗する
31 RCL Y   *
32 X^2     * 現在のY座標値を2乗する
33 +      * 現在のX座標値を2乗とY座標値の2乗を加算する
34 1       *
35 X<Y ?    * 結果が1より大きければ円の外なので何もせずにリターン
36 RTN     * 結果が1より大きければ円の外なので何もせずにリターン
37 1      *
38 STO +P   * 結果が1以下ならば円の内側なので円内部の点の数に1加算してもどる
39 RTN     *

使用した変数
X * X座標のポイント
Y   * Y座標のポイント
T   * トータルポイント数
P   * 円内部の点の数 (x^2 + Y^2)が1以下



結果A     100dig * 100dig = 10,000点の時
0.01ごとに0~1まで
円の内側の点  7,953
真四角の全点 10,000
円周率  ( 7,953 * 4 )  /  10,000   =  3.1812
*有効桁は2桁


結果B 1,000dig * 1,000dig = 1,000,000点の時
DM42 USB電源にて  8分55秒
0.001ごとに0~1まで
円の内側の点  786,338
真四角の全点 1,000,000
円周率  ( 786,338 * 4 ) / 1,000,000 = 3.14554
*有効桁は3桁


結果C 10,000dig * 10,000dig = 100,000,000点の時
DM42 USB電源にて  約15時間
0.0001ごとに0~1まで
円の内側の点  78,549,762
真四角の全点 100,000,000
円周率  ( 78,549,762 * 4 ) / 100,000,000 = 3.14199048
*有効桁は4桁

========


結果A サンプリング数 10,000点の時   3.1812
結果B サンプリング数 1,000,000点の時 3.14554
結果C サンプリング数 100,000,000点の時 3.14199048

乱数ではなく縦横規則正しいポイントならばサンプリング数に比例して精度が上がりますね。
しかしこれはまったくの遊びですね。高速のDM42を使って15時間もかけたのに有効数字4桁なんて。
DM42でUSB電源はいいですね、今までのように長時間でも電池代金を気にしなくていいのですから。 
これHP42Sでやったならば途中で電池切れをおこして答えは出ないでしょう。
15時間の750倍とは11250時間 これは469日 なんと1.28年  
まあ 電池がもったいし、一年もやっている人絶対いないでしょう。


ふと思ったのですが、乱数を使ったこのモンテカルロ法は、
最近はやりの選挙で行われている「出口調査」やNHKの世論調査と同じですね。
精度はせいぜい2桁ぐらいだけれど、少ないサンプリング数で大まかな動向を出せると言う事でしょう。


このHP電卓のRPN言語は、本当にアセンブラと同じですね。
コメントの書いてないリストは、自分で作った物でさえ後から見ると全く動作が解りませんでした。
これからは、ブログラムの一行ごとに真面目にコメントを書いていきましょう。

****************************************************************
つい先日雪が降っていたのに、もう庭に沢山の花が咲きだしました。
花は綺麗ですけど、地面の映りがうまくないですね。 どうしたらいいかな。
c0335218_07412113.jpg


白いチューリップ
c0335218_07414935.jpg


これなんだろう。

c0335218_07421112.jpg


これ スイセンですよね。
色や形 たくさんの種類があるみたいですね。
c0335218_07430123.jpg



c0335218_07433259.jpg


c0335218_07434999.jpg


タマネギ 300本くらい植えました。 みんな元気に育っています。
向こう側はニンニクです。 去年食べられなかったものを植えておいたら育ってきました。

c0335218_07441168.jpg


長ネギ

c0335218_07482767.jpg




電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-04-17 20:37 | HP電卓 | Comments(6)

DM42で乱数を遊ぶ (2)

DM42の高速性を生かして乱数の数を増やしたら精度が上がるのか遊んでみました。
前回乱数の発生のばらつきは,サンプリング数を増やすと小さくなるようなので、
以前やったように モンテカルロ法で円周率を求めてみます。
これは x,y 二つの値を乱数でだして座標としそれが円の内部にあるか外部なのかで円周率を求めるものです。 


c0335218_10080924.jpg


全プログラムリスト 
DM42(HP42Sと同じ) 動作はUSBで電源供給なので電池の3倍速で動いています。

01 LBL "CC" **************************
02 123.4567  乱数発生器の初期値 何でもよい
03 SEED    乱数初期値セット
04 CLRG   すべての変数をゼロにする

05 LBL "DD" **************************
06 1
07 STO + 3  全体の回数 カウントアップ
08 RAN  乱数作成 X
09 X^2    2乗して01にしまう
10 STO 01
11 RAN  乱数作成 Y
12 X^2    2乗する
13 RCL 01
14 +     乱数のXとYを足す
15 1     乱数を2乗して足したものが1を超えたか "D
16 X < Y ?
17 GTO "DD"   超えていたらデータ無視して次の乱数の計算に入る。
18 1
19 STO + 04  1以内ならばDをカウントアップする
20 GTO "DD"   次の乱数の計算に戻る


測定は10分間やりました。
変数名  データー
 01  Xのランダム数
 02  未使用
 03  全体の回数  開始から1分後 54880 10分後 555760
 04  1以下の回数 開始から1分後 43129 10分後 436878

1分後円周率   (  43129 X 4 ) / 54880 = 3.14351
10分後円周率  ( 436878 X 4 ) / 555760 = 3.14436


========


乱数のサンプリング数を増やせば乱数のバラつきの比率は減る方向でしたが、乱数を使って何かやるのは、サンプリング数を増やしても精度は上がらないようですね。
乱数の使い方自体 まだ勉強する必要があるな。

HP電卓(含むDM42)でプログラムを組むのは もうゲームですね。 役立つかどうかは二の次。

****************************************************************

4月も半ば近いというのに雪景色。
自動車のタイヤ、まだ冬用のままで良かったです。

今年は、村の役を引き受けたので、なんだかんだでてんてこ舞い。
この前書いた「ジタバタ」しまくりです。
先日県議会議員の選挙で立会人を初めてやりました。
朝6時から夜7時まで投票場に缶詰になり(投票場から外に出るのは禁止されてます)
一日中 投票箱をにらんでいました。
そして次は、中学校の入学式の来賓、
まあ 端っこに座っているだけでしたがこれも初めて。
今年は、この後何があるのかな。

c0335218_10584652.jpg



c0335218_10585790.jpg




電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-04-11 10:36 | HP電卓 | Comments(4)

消費電流を測るためにDM42の内部を覗いたのでその時の写真を載せます。

c0335218_22254080.jpg


c0335218_22255602.jpg


c0335218_22260412.jpg

DM42の消費電流を測ったときの様子です。
測定機は三和計器のPC5000です。
c0335218_22261211.jpg



うわー  また雪だ
c0335218_07235924.jpg



# by telmic-gunma | 2019-04-04 07:26 | HP電卓 | Comments(0)

DM42で乱数を遊ぶ

DM42になって計算が非常に高速になり、かつUSB外部電源を使用すれば、
電池の消耗を気にしないで済むというメリットがうまれました。
乱数を扱うと、どうしても計算量が大きくなりますが、今までのHP電卓の遅さに悩んでいたことが、
このDM42を使うとかなり改善されます。

c0335218_10083064.jpg

( データ 1 )
HP32Sで乱数を発生させました。
30分で約40000個 バラつきは、4%でした。

( データ 2 )
DM42(電池)で乱数を発生させました。
1分で約30000個 バラつきは、8%でした。

( データ 3 )
DM42 (USB外部電源)で乱数を発生させました。
10分で約1000000個 バラつきは、0.8%でした。


大まかに言ってサンプル数を30倍するとバラつきは 1/10になりました。
いつも思うのですが、CPUで乱数を発生させているなら、現在の状況を監視させて、乱数のバラつきを
自分で補正をかけるようにすればバラつきのない乱数が出来るはずです。
次はこの自分で補正をかけながら乱数を発生するソフトを作って見たいですね。
このDM42の高速性があればかなり面白いこと出来るとおもいます。




乱数精度のデータ ( 表示文字サイズが統一できずバラついてます)


( データ 1 )
HP32S 乱数の精度 (2017-10-31 HP電卓で遊ぶ=>パイの計算 より)

出力されたデータ (30分間測定)
変数名  データー範囲   出力回数
 A     0~1     3920
 B     1~2     3913
 C     2~3     4075
 D     3~4     3937
 E     4~5     3937
 F     5~6     3965
 G     6~7     3925
 H     7~8     4007
 I     8~9      4017
 J     9~10     3983

最大値  4075
最小値  3913
差    162

生データの合計  39677 
データの平均値  39677 / 10 = 3967.7
差 / 平均値   162 / 3867.7 = 0.040829
乱数の発生頻度のバラツキ  4.08%


**********************************************

DM42での乱数精度テストプログラム

*01 LBL "AA" ■ [PGM.FNC] LBL "AA" ENT 先頭ラベルをAAとする

*02 123.456                 乱数の種データ

*03 SEED ■ [PROB] SEED      乱数の種データを設定する
*04 CLRG ■ [CLEAR] CLRG        数値変数 00~99をクリアする

*05 LBL "BB" ■ [PGM.FNC] LBL "BB" ENT  ループ先頭ラベルをBBとする

*06 RAN ■ [PROB] RAN 乱数を出力する  0~1

*07 10                 10をセット

*08 ×                  乱数を10倍  0~ 10

*09 STO II                IIを配列ポインターとして乱数をセット

*10 1                  乱数カウンターに加算する数値

*11 STO . IND + II           ポインターで振り分けられた所に1を加算する

*12 GTO "BB"             ループの先頭 BBへ行く


注1、 STO II まだ未定義なら  STO ENT II ENT の手順で定義する。
注2、 ソフトを終了させるには 時計で時間を計り [ R/S ] を押して停止させる。


( データ 2 )

DM42(電池) 1分間

0~1 3120
1~2 3108
2~3 3182
3~4 3119
4~5 3163
5~6 3053
6~7 3094
7~8 3078
8~9 3309
9~10 3050

最大値  3309
最小値  3050
差    259

生データの合計  31276 

データの平均値計算  31276 / 10 = 3127.6

差 / 平均値   259 / 3127.6= 0.0828

乱数の発生頻度のバラツキ  8.28%



**********************************************


( データ 3 )
DM42 ( USB 外部電源 10分間 )

0~1 101804
1~2 101900
2~3 101896
3~4 102420
4~5 101843
5~6 102249
6~7 102119
7~8 102431
8~9 102341
9~10 101548

最大値  102431
最小値  101541
差    883

生データの合計  1020551 

データの平均値計算  1020551 / 10 = 102055.1

差 / 平均値   883 / 102055.1= 0.0086521

乱数の発生頻度のバラツキ  0.865%


これで終わりです。




# by telmic-gunma | 2019-04-03 22:06 | HP電卓 | Comments(0)

DM42の消費電流を測定してみました。

プログラム実行時の電流が 5.3mA というのは大きいですが、動作スピードを考えればとても低いと思います。
USBから電源をもらっているときは、プログラム実行時でも電池の消費は6.7μA 一定なのは良いですね。
机のうえで使うのならば電池を気にしないでおまけに電池の3倍のスピードで使えるのですから。


測定は「三和計器」の PC5000を使いました。
c0335218_20215405.jpg


過去に測定したデータです。   「2016-11-11 HP電卓 消費電流比較してみました 」
HP15C,HP32S、HP32Sii,HP42Sなどこの時代の技術者は超真面目に仕事していたみたいです。
ブログなどで見かける「10年ぶりに出てきたので電源ONしたら動いた」というのは電源OFF時の消費電流が低いからでしょうね。

HP42S は使っているとすぐ電池が終わる感じでしたね。
c0335218_17433451.jpg



過去に測定したデータです。   「2016-12-2 HP電卓 消費電流比較してみました 2 」
HP35Sは 使いたいときは電池がない、という感じ。

c0335218_17432480.jpg


梅が咲くと急速に春が進むようですね。
まずは スイセン 綺麗ですね。   まだこれだけみたいですけれど。
黄色は大好きです、 わたしの自転車も黄色です。

c0335218_08503675.jpg


c0335218_08504405.jpg


c0335218_08505106.jpg



# by telmic-gunma | 2019-03-30 08:57 | HP電卓 | Comments(2)

DM42の演算速度を計りました。
もうビックリ すごく早いのです。
計り方を間違えているのかもしれません。
今回は、そのままの値をのせます。
電池駆動では、オリジナルの「HP42S」の 約250倍 (15.3 / 0.0617)
USBからの外部電源では、「HP42S」の 約750倍速いです。(15.3 / 0.0206)
いままで早いと言われた「HP15C_LE」と比べても 電池駆動で約8倍 USB駆動で約24倍となりました。

これ 測定ミスなんでしょうか。
プログラムは下に書いてある単純なものです。
どなたか持っておられ方DM42とその他のどれか追試験をしていただけると嬉しいです。

c0335218_17403662.jpg

測定プログラム  すべての機種はこの同一プログラムで動作させました。
一部の機種では、初期値の読み込みやラベル名などに違いがあります。

LBL "AA" ’スタートのラベル
100000    ’カウンターの初期値 10万(機種によりここを200に変えました)
STO 00     ’カウンターの初期値を変数00にストア
LBL "BB"   ’ループ先頭のラベル
1       'カウンターから引く数を1にする
STO -00    ’カウンター 00から1を引く
RCL 00    ’減算されたカウンターの値をXレジスターへ読み込む
X キ 0     ’Xレジスターがゼロでないかチェックする
GTO BB    'ゼロでないならばラベルBBへ移動する
R/S      ’Xレジスターがゼロならば停止する
END      ’プログラムの終わり


わずかこれで終わりです。
演算速度は命令の種類により当然変わるはずです。
ここではプログラムのループ内で使われている命令の平均時間ですね。
厳密には命令ごとの時間が必要ですが、機種ごとのスピード比較ならばこれで良いと思っています。


DM42は1画面に8行のリストが表示されます。
画面だけでプログラムが追える感じです。
今までだと、どうしても紙に書いておかないと、なかなか追えなかったですもんね。

日付 時間も合いました。  ファームのVer3.12 はまだそのままです。
2行目の初期値の設定は 3E5 : 300000 となっています。
c0335218_17563924.jpg
HP42Sと比べるとキーボードはHP42Sの方が丸みがあって好き。
画面はDM42の方がピチっとしており持った感じも適度に重量感があっていいですね。
まあ どちらも「電卓の宝石」「宝石のような電卓」と呼べると思います。
そうそう これだけ早いと電池の消費量もそうとうなのかもしれません。
電池交換するときでも電流を計ってみます。

「M42」と「HP42S」が並んでいます。 いまいち写真の写りが悪いですね、後で取り直しますね。
c0335218_14483907.jpg

左側がDM42のUSBポートに使えるもの、  右側のはダメ

c0335218_17565068.jpg

ようやく梅が咲き始めました。(梅ですよ、桜ではありません。)
c0335218_14563141.jpg
c0335218_14564522.jpg

c0335218_14563999.jpg



*******************************

人気ブログランキングへ
電子工作ランキング


にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-03-25 15:42 | HP電卓 | Comments(7)

ネットでHP電卓のこと、いろいろ見ていたらHP42電卓のクローンであるDM42をアマゾンで取り扱いを開始していました。
値段は本体が25,000円、送料1,700円と言う事です。
ネット上で個人輸入した人の話など見ると大体同等の値段みたいなのでムラムラと心が高鳴りいつの間にかポチっとやってました。
これはもうHP電卓病だけでなくHP電卓依存症かもしれません。
HP電卓はオリジナルのもの何台もあるから必要な事はあり得ないはずなのに欲しくなってしまうのですね。
当然 これは女房には内緒です。 もし知られたらまたヒステリーが起きますものね。

ポチっとやってからDM42が届くまで丁度一週間でした。
外国から来るのに早いですね。 梱包は緩衝材まるでなし段ボールで出来た薄い箱に入ってました。
添付書類は何もなし。納品書も保証書も説明書もなにもありません。
凄いですね、ここまで徹底しているとアッパレと言うしかありません。
ネット上のこのメーカーのホームページを見ると英文の説明書はあるようです。
こんど翻訳ソフトを通過させてみようかしら。
シリアルNoは DM42の裏側に SN03681 とあります。 これが生産台数そのものとするならば結構売れているんですね。

このDM42は、HP42のクローンということで機能はHP42と同じですが、表示画面がとても大きくなっており、4つのスタック、X、Y、Z、Tを同時に表示してくれます。
以前 石取りゲームのソフトを解析した時スタックの状態が皆目わからず、調べたい時点でスタックをローテイトさせましたが、スタックが壊れたり散々苦労をしました。
その時「世の中では、スタック言語は解析するより作り直した方が早い」と言ってると教えていただきました。
しかし このDM42があれば、ソフトを解析したりデバッグしたりがグッと楽になるのではないでしょうか。
スタックを4つ同時に全部表示してくれるのは素晴らしいですね。
まだ 全然いじって無いので、これから調べてこのDM42のいいところ書いていきたいと思います。



(追記2019-03-27) 日時表示が違うと指摘を受けて修正しました。この写真は古いですが、いまは正常です。

c0335218_10060852.jpg

梱包されてきた箱 厚さは18mm位
c0335218_10062871.jpg
緩衝材など何もなし
c0335218_10064859.jpg

説明書など何もなし、ただこれだけ。   ソフトのバージョンが表示されていました。
c0335218_10072200.jpg


c0335218_10073515.jpg

c0335218_10075341.jpg



c0335218_10080924.jpg

電源OFFの時は画面にいろいろな絵を表示しています。 景色や車、人物など数十種類ありそうです。
ON-OFFを繰り返すたびに違う画像を表示します。(電源OFFの時 電池を消耗しないのでしょうか。?)
c0335218_10083064.jpg

今朝起きたらいきなり雪景色。
c0335218_10090051.jpg
元気なタマネギも雪景色
c0335218_10091911.jpg



*******************************

人気ブログランキングへ
電子工作ランキング


にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-03-24 10:19 | HP電卓 | Comments(4)

GAME68コンパイラ

40年昔にASCIIに載せてもらった「GAME68コンパイラ」のリストを乗せます。
掲載されたのは、1981年5月号です。
当時 30歳 6800のマイコンをいじり出した時ですね。
いまさら こんなリストをだしても動作させられるハードなんて無いと思いますが、まあ歴史の勉強と思って見てください。
ASCII誌をスキャナーで読み取ったのですけれど、うまく読めるでしょうか。
この前 すがわらさんにヒントもらって 1画面の容量を500kByte以下になるようにしました。
エキサイトブログでは1画面500kByteより大きいと圧縮されてしまうようなので。

今回 自分で作った ソフトを見直して 唖然としました。

「プログラムリストにコメントが一つも書いてない。」


メモリー容量が小さくての1Byteがとても貴重な頃でしたからメモリーを一生懸命節約したのでしょうね。

いままでの人生でこのコンパイラを作っていた半年が一番幸せでした。
仕事やお金儲けなどとは関係なく、ただ「楽しい、ワクワクする、」それだけでやってましたね。
そして完成して出版社に送ったあと、本になって出版されるまでの待ち遠しかったこと。
なぜ この時はこんなに楽しかったのでしょうか。
今思うに 「若さ」も大きいでしょうが、「すべて自分の自由にやれた。」と言う事でしょうか。
ふつう 仕事で物を作るときは、自分の意に沿わないことを仕方なくやるということも多いと思いますが、この時はそんなことありませんでした。
だれからの指示もなくまったく自由に好き勝手にできるなんてほとんどないですものね。



これからも、同じように自由に好き勝手なこと、やっていきたいです。

*********************************************************************
以前ブログでこのコンパイラを作った経緯など書いてあったので、ここにコピーして見ます。
*********************************************************************
「そのころ会社の電子工作大好き人間の先輩が ”面白いものがある”と言ってH68TR用のGAME言語のカセットテープをくれました。
これでGAME病に感染してしまいました。 ASCII誌を見ると6800オリジナルは大西さんが作りそれが6502(アップルⅡ)や8080に移植され さらにコンパイラも動いているということでした。6800用のコンパイラはまだ誰も作っていませんでした。
最初のGAMEコンパイラは8080用を中島聡さん(Win95,Win98の開発チーフをやった人)が高校生の時に作ったそうです。やはりすごい人は若いときからすごいのですね。(ということを今回調べていて知りました)

アッセンブラでのソフト作りにほとほと嫌気が差していた私は、”これは使える”と考えて6502と8080のコンパイラのソースを調べて6800用のコンパイラを作り始めました。 ROM化することを前提にしていたので掛け算などの基本演算ルーチンはインタープリタとは独立してリロケータブルな形で作りました。  外部メモリーはオーデオカセットを使いモニターには画面がチラチラする白黒テレビを使っていました。毎日会社から帰るとカセットテープからGAMEインタープリタと前日までに作ったコンパイラを20分位かけて読み込んで作業が始まりました。ソフトが暴走して壊れるとまた時間をかけて最初の読み込みからの繰り返しです。 こんなこと繰り返して完成までに半年程かかりました。 ASCIIの編集部にテープを送ったあと掲載してもらうまで、この時ほどワクワクしていたことは今でも有りません。 掲載されたASCII誌 今見たら 1981年5月号 定価500円となっていました。 ウワー 30年以上昔だ。

GAMEのカセットをくれた電子工作大好き人間の先輩をネットで検索したら、今でもアマチュア無線やブログなど現役バリバリでやってました。もう70歳は、はるかに超えたはずなのに 見習わなくちゃ。  この人 CQ誌やトラ技によく投稿してました。

肝心の"H68TR"ですが 30年もたったせいか最初は動作しなかったのですがコネクタやスイッチの接点など磨いたら動くようになりました。 まだ読み書きできないメモリもあるのですが おいおい整備していきます。

GAME68のコンパイラを作った以後ですがソフトの仕事は圧倒的に楽になりました。パソコン上のBASICでソフトを作る感覚でやってOKならばコンパイルして動作確認をしてそれをROMに焼けば終わり。 CPUボードはH68TRとメモリーマップを合せてあるのでそのまま動きました。 またGAMEは治具などちょっとした使い捨てソフトを作るのが楽でした。アッセンブラやリロケータ,逆アッセンブラなどみなこれで作って使いました。メモリーサイズが一番大きなものでは 板金用のNCコントローラを作りましたが、さすがこのときはONメモリーだけではコンパイルできなくてRAMデスクを作ってそこからソースを流し込むようにしました。 これなども自作したコンパイラだからすぐ対応できたのでしょうね。 また お遊びで頑張ってみちゃおうかな。

*******************************************************************




c0335218_20132132.jpg




c0335218_20151071.jpg



c0335218_20164485.jpg



c0335218_20172663.jpg



c0335218_20180049.jpg


c0335218_20183228.jpg


c0335218_20192414.jpg


c0335218_20203825.jpg

c0335218_20213505.jpg

c0335218_20220483.jpg
*********************************************************************
道ばたに咲いていた小さな花。
花の直径 1cmくらいです。  いま 他に咲いている花はまったくないですね。


c0335218_11594450.jpg

いつもとちがう所で撮影した武尊山です。
c0335218_12002507.jpg


c0335218_12004966.jpg



c0335218_12011053.jpg

*******************************

人気ブログランキングへ
にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-03-18 19:58 | 昔のパソコン H68TR GAME言語他 | Comments(6)

今日、私は大ばかなことをして日本のすばらしさを改めて知りました。

スーパーに買い物に行って お金と免許証、保険証、キャッシュカードの入った財布を落としてしまいました。
落としたことすら気がつかずに家にかえったらスーパーから電話がきて
「財布を預かっていますから取りに来てください」とのこと。
そく引き取りにいきましたが、拾ってくれた人は、名前も言わず直ぐ帰ってしまったそうです。
素晴らしいですね。
これ日本でなかったら中身そのままで帰ってくるなんて、なかったでしょうね。

それにしても 時間の過ぎるのは、やはりとても早いです。
前回のブログからもう2週間以上過ぎてしまったのですね。
いつも言われている「やるやる詐欺」で言ってることと行動を一致させられません。

次こそは、電子工作やるぞ と思っているのですけれど。




# by telmic-gunma | 2019-03-15 14:28 | ときどき思うこと | Comments(0)

*「ジタバタ」という言葉は、なぜか良い方向には使われません。
「ジタバタしても仕方が無い」「ジタバタはやめて」とか 時代劇の「ジタバタするねい」 などなど

これ逆なんじゃないでしょうか。
私 いままで付き合った人達で、本当に問題解決する力があったのは皆すごくジタバタするような人であった気がします。
そして そのような人達は、問題が発生する前 わずかな兆候のときからジタバタしていました。
そう 実は私もジタバタがとくいなんですが、なぜか問題が発生した後なんですよ。
でも 世の中 ジタバタするのは良い方で、ジタバタしない人が多いような気がします。

仕事の上においても、ジタバタしない人と一緒やって、なにも問題がないと思っていると、土壇場になって大問題が発生したりします。
問題が早くわかった時点で対策に取り組んでいれば、わずかな手間で対応できるけれど、問題が膨れるまで放置されていたら何十倍もの手間がかかるでしょう。。
ジタバタしない人には協力のしようが無いですが、全力でジタバタしていれば、周りの人達も必ず協力してくれるでしょう。
いま いろいろ考えていて、ふと「ジタバタするという解決方法」を思いついたらとても心がかるくなりました。


***************************************************************
***************************************************************

今の時期、家の周りには花が全くないのですが、出張の時によった高速のサービスエリアに咲いていました。

c0335218_10181823.jpg


c0335218_10182256.jpg
c0335218_10182752.jpg
c0335218_10183124.jpg


******************************************


電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

# by telmic-gunma | 2019-02-26 10:25 | ときどき思うこと | Comments(2)

HP29C(HP電卓)のカタログを載せます。
(文字が小さいのですが読めるでしょうか)

HP29Cが出てきたときは「いいなーこれ」とおもいました。
それまでHP25ミニを使っていたのですが、その不満な点が大幅に改良されていましたから。

1、プログラムや数値データが電源OFFしても消えない。

2、定数メモリの数が 7個から30個に増えた。

3、プログラムにラベルが使える。
  それまでは番地指定なのでプログラムを修正するとジャンプ先がずれてしまった。

4、プログラムステップが49ステップから98ステップに増えた。

今の人がみれば「なにこれ」というと思うでしょうが当時では飛び上がるほど嬉しいことでしたね。

値段は右側の小さい方の HP29C が 62,000円と出ています。
発売は1977年です。
(今 2019年なので、42年前の発売ですね。今でも現役で使用中)
 


c0335218_10260233.jpg

c0335218_10255782.jpg

c0335218_10255142.jpg

c0335218_10254543.jpg


c0335218_10253940.jpg

c0335218_10253194.jpg

ブログを見る側で画面を拡大しても、カタログ部分はボケてしまうのですね。
大元は高画質だけどブログに転送するところでメモリー削られちゃうのでしょうか。
なにかシャープに見る方法が有りませんかね



電子工作ランキング

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村
# by telmic-gunma | 2019-02-21 18:56 | HP電卓 | Comments(3)

年に一度のお楽しみ

で何が楽しみなの?と問われれば、そう HP電卓を使って計算をすること。
今 税金のための確定申告でお金の計算をしています。
だって最近では、HP電卓を真面目に使うのってこんな時しかないんだもの。

以前 有限会社にしていた時は、よくある「○○会計」などのソフトを使って青色申告をしていました。
その筋の先生に教えてもらいながら、一生懸命領収書などのデータを入力すると、最後に「決算報告書」などが自動的に出てきました。
ソフトの内部は全くのブラックボックスで何がどうなってこの数値が出てくるのか、まったく理解できませんでした。
しかしその「決算報告書」を税務署に提出するとクレームが付かないのです。
不思議でしたね。プロにはわかるのでしょうか。

その後 有限会社から個人商店にしてエクセルで計算していましたが、やはりデータ入力がとても面倒です。
で今年は、パソコンは一切使わない、と決心して電卓だけでやり始めました。
せっかくあるHP電卓の有効活用ということです。
HP97, HP32S, HP29C、HP15Cなどをとっかえひっかえして楽しみながらやったら意外と簡単。
やっていることは、足し算と掛け算だけ。
プログラムなんて全く使わないのですが、HP電卓をいじっているだけで幸せなのだからいいんじゃないですか。
こんな計算なら、普通の事務用の電卓の方がよほどやり易いと思われるでしょうけれど、そこはやはりHP電卓を使う所がいいのですね。
1+1=2 を計算するにも HP電卓で出した値の方が価値があるでしょう。( ? ? ? ? ? )
おまけにこれをネタにしてブログも書けたし。


c0335218_17435841.jpg

c0335218_17440756.jpg

しかし この確定申告の計算 毎年やっているのにどうして土壇場にならないと出来ないのだろう。
毎月真面目にやっていれば2月の土壇場に来て焦らなくて済むはずだと毎年思っているのに。
小学校の時 夏休みの宿題が出来ないのとおなじですね。
もう半世紀以上の筋金入りの「出来ない歴」か。
いろいろなこと 前倒しして行動できる人と、私のように土壇場にならないと行動出来ない人では、人生を振り返ったときすごい差が出るのでしょうね。

何でも、楽しんで物事ができるって素晴らしいですね。
世の中、辛いけどしなければならないから、というのが多すぎますものね。
毎年、確定申告出せるように、そしてHP電卓生かせるようにこの後も頑張りたいですね。

そうそう 友達もやっているという ネットで税務申告出来る e-Tax にも挑戦したいですね。

*****************************************************

今日 イチゴもらっちゃいました。

おっきーい

HP電卓(HP29C)の大きさが上下13Cmです。
イチゴを計ったら6~7Cmありました。
なんでこの時期に出来るの、そしてどうしてこんなに大きくなるの。

c0335218_17441230.jpg

c0335218_17441801.jpg

やはり ちゃんとした器に入れた方が美味しそうですね。

c0335218_18063344.jpg
食べたら とても甘くて美味しかったです。
わたしの小さい頃は、大きさだってこの半分以下ですっぱいので牛乳と砂糖をかけて食べるのが当たり前のような気がしたのですが、どんどん進化するのですね。 そのうちリンゴくらいの大きさのイチゴが出来ちゃうかも。


# by telmic-gunma | 2019-02-05 18:38 | HP電卓 | Comments(4)

ええ XP上で動くソフトもたくさん使っています。
さすが インターネットにつなげているのはWindows10にしてありますが。
当然 ブログはこのWindows10で書いてます。
WindowsXPはネットにつながず使っています。

先日 機械設計を頼まれ XP上で動く AutoCAD LT2002 で書き上げました。
使い方を忘れて四苦八苦 説明書や手書きのメモを見返しながら何とかやりました。
このソフト制作された2002年からから17年も経っているのですね。
手書き図面の代わりとして使うというのであれば、何ら不足することはありません。

まだまだ元気なWindowsXPで使用しているソフトです。

1、機械設計  AutoCAD LT2002
主に板金設計に使っています。

2、Office2003 (SP3)
主に エクセルVBAを使ったデータ処理をしています。
  データー数は20000行位で処理時間はそれほど苦になりません。
  RS232Cを追加してコントローラとしても良く使っています。
  Office2000から現在のOfficeまですべてでそのまま動作するので不都合はありません。

3、電気設計 PADS パッツパワー
  パーツライブラリーが沢山作ってあるのと自作の詳しいマニュアルがあり使い慣れている。

4、スクリーンエディタ MIFES Ver7
マルチスクリーンエディタになっており、実用上十分。

5、picCコンパイラ CCS  PIC PCWHD ( 2008-07製 バージョン?)
  2008年時点でのPICの全ての機種が入っている。(16F88 や dsPICなどがあり不便を感じません)

6、FBASIC97 N88ベーシックとほぼコンパチのコンパイラです。


7、回路シュミレータ  サーキットビューア Ver4
いまは、バージョンアップしたインターシムVer5(サーキットビューア Ver5を含む)をWin10に入れてます。


c0335218_20143265.jpg



この時代のソフトの良いところは、現在のように「ネットにつないで承認を得る」ことが不要で、
CDでインストールしたらプロテクトKEYコードを入力すれば、どのパソコンでもすぐ使えるようになることです。
そして何回でも、また何台でも。
ただ 相手から最新バージョンで作ったソフトを送られてくると、こちらでは見えないと言う事が発生しますので、
もう 出力オンリー 出しまくるしかありません。
WindowsXPを使ってるなんてまだよい方で、ある一部上場の大会社の設備部門ではいまでもWindows95でしか動かないあるソフトを使うために頑張っていましたね。

そうそう MS-DOSの動いているPC9801にインターフェースを付けて現役で使っているところも在るなあ。
まだまだ頑張らなくては。



家の周りに花が見当たらないので、とりあえず、
これ 今真っ赤な ナンテンです。

c0335218_17482090.jpg


今まで 雪の下になっていた イチゴの苗です。
今年 大きい実ができるかな。
c0335218_17480022.jpg


# by telmic-gunma | 2019-02-01 20:16 | ときどき思うこと | Comments(2)