2018年3月17日土曜日

円周率の近似値を求める手法

藤堂様からお知らせ戴きました、つぎのblog様に、とても興味深い情報がありました。

cf. 円周率の近似値となる分数を算出するワンライナー - すぎゃーんメモ 様
http://memo.sugyan.com/entry/20090708/1247044465

Perl言語によるone liner (1行スクリプト)で、円周率に近い分数を検索する、というものです。
ただ、当方はPerlとか正規表現とか、ちんぷんかんぷんなのですヨ。
そこで、上記blog様にある1行スクリプトを凝視するコト数時間、やっている事がおぼろげに判ってきました。
  1. 分母を1から始めて、10000などの上限に達するまで、ループで調べる
  2. 円周率に近い分数であるから、その分子は分母の円周率倍の整数であれば良かろう
  3. こうして分数をでっち上げ、正規表現による精度の確認
という感じらしい。そうか、その手があったのか !

内容としては簡単なものなのですが、それをPerlスクリプトでサラリと書いてしまう辺り、大変勉強になります。
ここでは、同等の機能をBASIC ! (AndroidのRFO BASIC)で行ってみました。電卓で実行するにしても、BASICならば書き換えやすいと思います。

件のone linerでは、円周率近似値を出力する目的を簡単に済ませるものなので、約分まではやりません。必要ならば、別のone linerにパイプするなど、ユーザーが行えば宜しい、という具合。
そこで、BASIC ! プログラムでは、互除法を用いて約分する機能も盛り付けてみました。正確には、約分出来そうな場合には、出力しない様になっております。

プログラム中の変数 d は、円周率と判断する誤差の範囲を指定するもので、これを所望の精度に合わせて変更する事で、分数の絞り込みが出来ます。
電卓で実行するとなると、上限は10000くらいが良さそうです。後は、ユーザーの責任にて実行されたし !


リスト「pseudo-pi.bas」 (Android RFO BASIC 用)


REM Start of BASIC! Program

! title : pseudo-pi.bas
! begin : 2018-03-15 18:13
! note  : 分母を1から順番に検索し、近似値分数が分数を出力する

! precision
d = 0.000001

! pi
pi = atan(1)*4

!  検索ループ
for j = 1 to 10000
  ! 近似値分数を生成
  i = int(j * pi + 0.5)
  ! 近似値分数が精度の範囲内ならば、
  if abs(i/j - pi) <= d 
    ! 互除法で通分可能か調べる
    s = i
    t = j
    while mod(s,t) <> 0
      r = mod(s, t)
      s = t
      t = r
    repeat
    ! 通分出来ない場合、出力
    if r = 1
      print i, j, i/j
!    else 
!      print "..."
    endif

  endif

next j

end

52 件のコメント:

  1. akatuki様、こんにちは!

    Perlは知ってるだけで全然詳しくないので、もはや暗号と思うしか無いのが悲しいところですが、(^^;
    逆に考えればこの記述量でちゃんと結果が出てくるというのが驚異的ですね。

    ということで、Android RFO BASIC版の方をサクッとfx-CG50に移植してみました。
    実行時間は経過表示無しでノーマルCG50純正CasioBasicで54秒程、
    C.Basic for CGでは若干1秒程というところでした。(^^)

    返信削除
  2. やす (Krtyski)2018年3月22日 15:13

    akatuki様


    チョット出遅れましたが、手元では fx-5800P の Casio Basic移植して遊んでいました。
    円周率を有理数(分数)でどこまで近づけるか...は面白いですね!


    Rad↵
    0.000001→D↵
    4tan-₁(1)→P↵
    For 1→J To 10000↵
    Int(JP+0.5)→I↵
    Abs(I÷J-P)→E↵
    If E≦D↵
    Then I→S:J→T↵
    While S-TInt(S÷T)↵
    S-TInt(S÷T)→R↵
    T→S:R→T↵
    WhileEnd↵
    If R=1:Then ↵
    Locate 1,1,I↵
    Locate 1,2,J↵
    Locate 1,3,I÷J↵
    Else ↵
    Locate 14,3,"..."↵
    IfEnd↵
    IfEnd↵
    Next↵
    Locate 1,3,I÷J↵
    Locate 14,3," "↵


    fx-5800P だと12分50秒と結構時間がかかります。
    このソースをそのままfx-CG50で走らせると、1分4秒程度です。
    210MHzにオーバークロックして純正Casio Basicで実行すると47秒。

    一方、C.Basic で実行すると、2.42秒とかなり短時間で終了。

    いずれも、31218/9927 = 0.141692039 でした。





    返信削除
  3. やす様、こんにちは!

    >チョット出遅れましたが、手元では fx-5800P の Casio Basic移植して遊んでいました。
    >円周率を有理数(分数)でどこまで近づけるか...は面白いですね!

    fx-5800Pで動けばCasioBasic搭載機ではそのまま動作するので互換ポイント高いですよね。(^^)


    >fx-5800P だと12分50秒と結構時間がかかります。
    >このソースをそのままfx-CG50で走らせると、1分4秒程度です。

    fx-CG50の速度から比較するとfx-5800Pは10倍遅いですが、
    fx-9860GIIノーマルクロックだと2分23秒ほどかかりますから5倍しか違わないですね。
    fx-5800Pの後継機種では最低でも2倍以上、最高で5倍位速くなる可能性もありますから一気に差が縮まるかもしれません。
    そうなると、CG50はPython搭載になるので、10倍以上は速くなりそうですが、
    fx-9860GIIはCasioBasicの処理速度的には大差なくなる可能性ありです。(^^;


    >210MHzにオーバークロックして純正Casio Basicで実行すると47秒。

    [F5]デフォルトプリセットの192MHzで41秒くらいだったので、
    もしかしてIFCクロックが半分の26MHz前後になっているでしょうか?(^^;
    表示なしの計算だけだともっと速くなるので、Locateコマンドがかなり重い感じですね。


    >一方、C.Basic で実行すると、2.42秒とかなり短時間で終了。

    かなり高速化効果出てますね。(^^)

    返信削除
  4. やす (Krtyski)2018年3月22日 23:46

    sentaro様


    >>210MHzにオーバークロックして純正Casio Basicで実行すると47秒。

    >[F5]デフォルトプリセットの192MHzで41秒くらいだったので、
    >もしかしてIFCクロックが半分の26MHz前後になっているでしょうか?(^^;
    >表示なしの計算だけだともっと速くなるので、Locateコマンドがかなり重い感じですね。

    IFC: 1/2 です。

    純正のLocateは、確かに重いですね。

    Python で print がどの程度速くなるか、楽しみですね。

    返信削除
  5. Sentaro 様、匿名 やす (Krtyski) 様
    毎度の事ながら、遅れておりまして申し訳ない。

    C.BASIC での評価、有難う御座居ます。

    > CG50はPython搭載になるので、
    > Python で print がどの程度速くなるか、楽しみですね。

    と云うのは、どんな具合なのでしょうか ? CG500がLua稼動だそうですが、CG50へのPythonの導入が進められているのかナ ? だとすると、すんごい楽しみです !

    返信削除
  6. やす (Krtyski) 様、上記では「匿名」と余計な語がついてしまい、申し訳ない。

    fx-5800Pでの実行、有難う御座居ます。
    当方も、HP35Sでチマチマ実行してみようか、などと思っておりました。
    たまには、こうしたちょっとした計算を手元のプロ電で楽しむのもイイと思うのであります。

    ちなみに、この計算をRFO BASICで出したのは、藤堂様がプチコンBASICで作業するかも ? と思っての事です。
    どうでしょうか、藤堂様。

    返信削除
  7. やす (Krtyski)2018年3月23日 13:28

    akatuki様、皆様


    えっと、akatuki様のBasicソースに対して、Casio Basic用に変更を加えたのは、Mod(S,T) の書き換えと print による出力を Locate に変更したこと、ループ脱出後の最後に円周率の結果を Locate で再描画したことです。

    Mod( はfx-9860GII や fx-CGシリーズには搭載されていますが、 fx-5800Pには搭載されていないコマンドなので、Mod(S,T)の代わりに S-TInt(S÷T) としています。

    Locate は、R=1 の時のみ実行されるので、For/Next での計算速度にはさほど影響は無いと思います。


    で、Python はアドインの形で提供されると推測しています。なので、fx-CG50やおそらくfx-CG20にもアドインを入れるだけでPythonが使えるようになるだろう...なったらいいな、と思っています。

    Pythonの言語仕様上、Cみたいに標準ライブラリにどこまで組み込んでくれるか?これが目下の興味の対象なんです。おそらく、現行Casio Basicのように、グラフ機能や関数をより便利に使いこなすためのマクロ言語的な位置づけの強い仕様になろうかと思っていて、それにどこまでプラスアルファしてくれるのかが、普通のプログラミング言語として見た時のポイントになりそうです!


    返信削除
  8. やす様、こんにちは!

    >IFC: 1/2 です。

    あ゛、間違えてました!
    PFCの方でした。(^^;

    >Locate は、R=1 の時のみ実行されるので、For/Next での計算速度にはさほど影響は無いと思います。

    はい。今回のプログラムではLocateはあまり影響は無い感じですね。
    PFCクロックは右上のビジー表示に関連して全体的な処理速度に影響するのでそこのあたりかなと思われます。

    >で、Python はアドインの形で提供されると推測しています。なので、fx-CG50やおそらくfx-CG20にもアドインを入れるだけでPythonが使えるようになるだろう...なったらいいな、と思っています。

    MicroPythonなのでCG20も対象になるのは間違い無さそうですね。
    今出ている情報だとフォントの大きさが標準しかないみたいでかなり見通しが悪そうですが、半年後にはCGの標準言語になるくらい使いやすくなっていることを期待したいです。(^^)



    akatuki様、こんにちは!

    >と云うのは、どんな具合なのでしょうか ? CG500がLua稼動だそうですが、CG50へのPythonの導入が進められているのかナ ? だとすると、すんごい楽しみです !

    CGシリーズのPythonはまだ半年先のことですが、非公式のLuaアドインはすでにあります。(^^)
    CG500は純正のCasioBasic以外は使えないので、個人的には今の所一番魅力に欠けるグラフ電卓となっています。(^^;
    CG500でも外部のアドインが使えるなら良いのですが、
    TI-Nspireも外部プログラムのブロックと解除でイタチごっこがずっと続いてますし、
    TI-84CEでも最新OSで機械語が使えなくされてたりと、このあたりは試験対応で年々制限きつくなってますね。(^^;


    >当方も、HP35Sでチマチマ実行してみようか、などと思っておりました。
    >たまには、こうしたちょっとした計算を手元のプロ電で楽しむのもイイと思うのであります。

    Primeでも実行してみましたが2.2秒ほどで終了しました。
    CG版C.BasicとPrimeではかなり似た結果になっています。(^^)


    EXPORT PSEUDOPI()
    BEGIN
    local i,j,s,t,r,c,d;
    c:=0;
    d:=0.000001;
    print();
    S:=TICKS;
    For j From 1 To 10000 Do
     i:=floor(j*pi+.5);
     If Abs(i/j-pi)<=d Then
      s:=i;
      t:=j;
      While s mod t Do
       r:=s mod t;
       s:=t;
       t:=r;
      end;
      If r==1 Then
       c:=c+1;
       print(i+":"+j+"="+i/j);
      End;
     End;
    End;
    t:=TICKS-S;
    print(c+" "+t+"ms");
    END;


    >ちなみに、この計算をRFO BASICで出したのは、藤堂様がプチコンBASICで作業するかも ? と思っての事です。

    プチコンだと1秒以下だと思われるので、一桁増やす必要がありそうかもですね。

    返信削除
  9. やす (Krtyski)2018年3月24日 22:39

    sentaro様、akatuki様

    PFCは、1/16 です。

    FLL:x916  15.01MHz
    PLL:x 28  420.22MHz
    IFC:1/2  CPU   210.11MHz
    SFC:1/4  roR 10 105.05MHz
    BFC:1/4  CL 2   105.05MHz
    PFC:/16       26.26MHz

    ...となっています。


    返信削除
  10. プチコンで確かめて見ましょう。

    返信削除
  11. akatuki様、やす様、藤堂様、こんにちは!

    やす様、
    >PFCは、1/16 です。
    了解です。
    ってことは、メインクロックをちょこっと下げて200MHzくらいにして、
    PFCを1/8、50MHzにすれば10~20%くらいスピードアップする可能性あります。
    C.BasicではPFCはあまり影響でないですが、純正CasioBasicではそこそこ影響ありますね。
    ま、PFCアップは危険性が増すので、1/16が安全ではあります。(^^;


    藤堂様、
    今までのプチコンベンチマーク結果からすると軽くPrimeの10倍速はいきそうなので、一瞬で答えが出そうですね。(^^)

    返信削除
  12. CasioBasicをプチコン用に合わせてみましょう。

    返信削除
  13. ソースを参考にプチコンで組んでみました。
    http://www.nanzo.net/dentaku/coldata/18.jpg
    6行目で0除算エラー。組み方がまずかったか。仕切り直します。

    返信削除
  14. 藤堂様、こんにちは!

    >6行目で0除算エラー。組み方がまずかったか。仕切り直します。

    5行目のIF文の有効範囲が一行だけになっていると思われるので、
    11行目のNEXT Jの前にENDIFが必要かと思われます。(^^)
    インデント付けるとこういう感じかと思います。

    D=0.0000001
    P=ATAN(1)*4
    FOR J=1 TO 10000
     I=FLOOR(J*P+.5)
     IF ABS(I/J-P) <= D THEN
      S=I:T=J
      WHILE S MOD T != 0
       R=S MOD T
       S=T:T=R
      WEND
      IF R==1 THEN PRINT I,J,I/J ELSE PRINT "..." ENDIF
     ENDIF
    NEXT J
    END

    返信削除
  15. http://www.nanzo.net/dentaku/coldata/19.jpg

    動作しました。ありがとうございます。
    10000は、一瞬。
    100000は、5秒でした。

    返信削除
  16. やす (Krtyski)2018年3月26日 17:01

    akatuki様

    昨晩投稿したコメントがはねられているかも知れません。

    返信削除
  17. やす (Krtyski)2018年3月26日 17:03

    藤堂様

    やっぱり、プチコンは爆速ですね!

    Basicで最速の携帯機はプチコンってとこでしょうか?

    返信削除
  18. 特にNew3DSと、New3DSの改良機、2DS LLは爆速です。

    返信削除
  19. プチコンの開発元にもこの記事をお伝えしました。 https://mobile.twitter.com/notohoho

    返信削除
  20. 藤堂様、
    無事動作して良かったです。(^^)
    それにしても、100000で5秒とは爆速過ぎますね!

    >特にNew3DSと、New3DSの改良機、2DS LLは爆速です。

    プチコンBIGも気にはなりますが、
    2DS LLにもちょっと興味が…(^^;

    返信削除
  21.  激しすぎる速度でした。100万にしたら、数分かかりました。

     プチコンBIGは、WiiUを持っていないかつ、製造終了になりましたから。
     携帯できる点と価格と入手しやすさで、2DSLLがいいかと。

    返信削除
  22. 藤堂様、こんにちは!
    100万ともなると表示が結構な比率を占めてくると思われるので、
    経過表示無しでカウントだけするように変更したものがこれです。

    C=0   // カウンタ初期化
    D=0.0000001
    P=ATAN(1)*4
    FOR J=1 TO 100000
     I=FLOOR(J*P+.5)
     IF ABS(I/J-P) <= D THEN
      S=I:T=J
      WHILE S MOD T != 0
       R=S MOD T
       S=T:T=R
      WEND
      IF R==1 THEN C=C+1   // カウントのみ
     ENDIF
    NEXT J
    PRINT C   // カウント結果表示
    END

    途中の表示が無いので純粋な計算時間だけになります。

    ちなみに、
    CG50のC.Basicでは10万の場合、カウントは6060で16秒程になります。
    100万だとカウント455964で11分ほどかかりました。

    プチコンだと100万でも1分以内というところでしょうか。(^^)


    >プチコンBIGは、WiiUを持っていないかつ、製造終了になりましたから。
    >携帯できる点と価格と入手しやすさで、2DSLLがいいかと。

    やっぱり携帯機の方が良さそうですね。
    New2DS LLは液晶が視野角狭いTNらしいので、
    視野角広いIPSのNew3DS LLとでちょっと悩みます。(^^;
    (かなり買う気満々です…(笑)

    返信削除
  23. Sentaro様
     早速実行しました。455964と表示されるまで約14秒でした。ここまで来ると、買いでしょう。(笑)

    返信削除
  24. 皆様、些事忙殺で、なかなかコメントがポスト出来ない状態が続いており、申し訳ない。

    やす (Krtyski) 様

    > 昨晩投稿したコメントがはねられているかも知れません。

    との事ですが、スパムに入っておりませんで、bloggerの不具合かも知れません。申し訳ない。

    Sentaro 様、HP Prime, プチコンのコード、有難う誤差居ます !

    藤堂 様、やはりプチコンは早いですネ !

    取り急ぎ

    返信削除
  25. 本当に速いです。驚きました。

    返信削除
  26. 藤堂様、こんにちは!
    >早速実行しました。455964と表示されるまで約14秒でした。ここまで来ると、買いでしょう。(笑)
    100万までで14秒は想像以上の爆速ですね!
    ってことで、
    2DS LLと3DS LLと吟味した結果、視野角とプチコン3号フルスペック対応で3DS LLを発注しました。(^^)


    akatuki様、こんにちは!
    いつも興味深い記事をありがとうございます!
    C.Basicの開発もまだまだ続きますが、目指せ!プチコン3号!ということで、
    今後ともよろしくお願いします。(^^)

    返信削除
  27. ついにプチコンデビューですね。C.Basicも大変優れていますから、活用法を考えていきましょう。プログラム関数電卓のよいところは、電源入れてすぐ使える、乾電池が使える、軽いなどあげられます。

    返信削除
  28. やす (Krtyski) 様、遅れており、申し訳ない。

    > で、Python はアドインの形で提供されると推測しています。
    > なので、fx-CG50やおそらくfx-CG20にもアドインを入れるだけでPythonが使えるようになるだろう...なったらいいな、と思っています。

    イイですね !
    メーカーとしてはファーム更新という荒業もありそうです。いずれにしても今年8月なので、暫くは静観ですネ。

    > Pythonの言語仕様上、Cみたいに標準ライブラリにどこまで組み込んでくれるか?これが目下の興味の対象なんです。
    > おそらく、現行Casio Basicのように、グラフ機能や関数をより便利に使いこなすためのマクロ言語的な位置づけの強い仕様になろうかと思っていて、それにどこまでプラスアルファしてくれるのかが、普通のプログラミング言語として見た時のポイントになりそうです!

    仰る通りです !
    おそらく、電卓ハードウェア資源の活用として、グラフィクスなどの扱いを独自に拡張したものになろうかと。
    ただ、それでもPythonの学習に使えるので、期待したいものです。BASICでは少々メンドウな再帰処理も出来るので。

    返信削除
  29. sentaro 様、遅ればせながら。

    > CGシリーズのPythonはまだ半年先のことですが、非公式のLuaアドインはすでにあります。(^^)
    > CG500は純正のCasioBasic以外は使えないので、個人的には今の所一番魅力に欠けるグラフ電卓となっています。(^^;
    > CG500でも外部のアドインが使えるなら良いのですが、

    あれっ、LuaはCG50の方でしたか ! CG500は数式処理などが盛り込まれているので、てっきり、Luaとかで動作するのか、と勘違いしておりました。
    道理で、余り話を聞かない ... 。

    > TI-Nspireも外部プログラムのブロックと解除でイタチごっこがずっと続いてますし、
    > TI-84CEでも最新OSで機械語が使えなくされてたりと、このあたりは試験対応で年々制限きつくなってますね。(^^;

    「試験対応」、ですネ。悩ましい。
    TIはBeagleBoneとかやっているとかで、バイナリ関連はワンボード・コンピュータでやってネ、なのかしらん ?
    寂しいなぁ。

    > Primeでも実行してみましたが2.2秒ほどで終了しました。
    > CG版C.BasicとPrimeではかなり似た結果になっています。(^^)

    早々に作業戴き、有難う御座居ます !

    > 2DS LLと3DS LLと吟味した結果、視野角とプチコン3号フルスペック対応で3DS LLを発注しました。(^^)

    ゲーッ ! 発注しましたか !!
    藤堂様、朗報ですヨ 。
    当方は、ネタが枯渇しており。

    返信削除
  30. 面白い記事を見つけました。https://news.mynavi.jp/article/challenge-1/ 
    プチコンデビュー。まさか、BASICがゲーム機でまたできるとは。

    返信削除
  31. 藤堂様。お知らせ多謝です !

    > https://news.mynavi.jp/article/challenge-1/ 

    CASIO Thaiの記事ですネ。
    製造現場の努力が伝わる、興味深い記事です。

    返信削除
  32. 藤堂様、こんにちは!
    >ついにプチコンデビューですね。C.Basicも大変優れていますから、活用法を考えていきましょう。プログラム関数電卓のよいところは、電源入れてすぐ使える、乾電池が使える、軽いなどあげられます。

    おかげさまで、やっとこnew3DSLL+プチコン3号ユーザーになりました!(^^)
    その昔のポケコンの21世紀版ここにありという感じですが、めちゃめちゃ便利になってますね。
    使い勝手の上で見習わないといけないところがいくつもありますが、
    C.Basicはまだまだ発展途上なので貪欲にいいとこ取りしていきたいと思っています。(^^)



    akatuki様、こんにちは!
    >あれっ、LuaはCG50の方でしたか ! CG500は数式処理などが盛り込まれているので、てっきり、Luaとかで動作するのか、と勘違いしておりました。
    >道理で、余り話を聞かない ... 。

    TI-Nspireは早期に公式にLuaを導入してたのですが、CasioはCG50のPythonでという流れですが、
    CG500がこのまま何も無いはずはないので、おそらく同時期にPython搭載ということになるかもしれません。

    >「試験対応」、ですネ。悩ましい。
    >TIはBeagleBoneとかやっているとかで、バイナリ関連はワンボード・コンピュータでやってネ、なのかしらん ?
    >寂しいなぁ。

    TI-84シリーズは海外でのポケコンだと思っていたのですが、
    教育用グラフ電卓としての立ち位置がより強くなってきてますよね。


    >ゲーッ ! 発注しましたか !!

    はい!、無事到着してちょこちょこいじくっております。(^^;
    グラフ電卓よりもハードの性能が高く、セキュリティも高そうな感じなので、
    NspireとかPrime、CASIOのグラフ電卓アプリ載せたら面白そうだと思うのですが、
    なかなかそういう流れにはなりませんね。(^^;

    ってことで、
    シダの葉グラフィックスを移植してみました。
    http://pm.matrix.jp/CB/PUTI3_SHIDA1.png
    http://pm.matrix.jp/CB/PUTI3_SHIDA2.png
    CG50のアドインで6秒でしたから、爆速過ぎです。

    返信削除
  33.  現在に蘇ったポケコンでお楽しみいただいていますね。C.Basicの発展も進めていきましょう。それぞれの良いところを引き出して、プログラミングをのんびり長く楽しんでいきましょう。
     欲を言えば、3DSでC.Basicが走るソフトウェアが出ると、裾野はもっと拡がりますね。

    返信削除
  34. Sentaro 様


    > C.Basicはまだまだ発展途上なので貪欲にいいとこ取りしていきたいと思っています。(^^)

    プチコンにはスタックを扱う命令があったらしいので、C.BASICにも拡張機能として、検討され度思います。

    返信削除
  35. 藤堂様、こんにちは!
    >欲を言えば、3DSでC.Basicが走るソフトウェアが出ると、裾野はもっと拡がりますね。

    なかなか面白い試みです。(^^)
    3DSのSDKとかあれば、とか思うんですが、さすがに現役ゲーム機ですし、一般ユーザーレベルには降りてきませんよね。(^^;
    とりあえず、C.Basicが機能的にプチコンに近づいていけば移植の互換性も高くなりそうなので、しばらくはその線で攻めてみたいと思います。



    akatuki様、こんにちは!
    >プチコンにはスタックを扱う命令があったらしいので、C.BASICにも拡張機能として、検討され度思います。

    んと、命令表を眺めてるとPush/Popというコマンドがあるんですが、スタックでは無さそうみたいです。(^^;
    http://petitcom.net/3gou/manual/push
    http://petitcom.net/3gou/manual/pop

    スタックはサブルーチンの値の受け渡しに便利ですし、
    コンパイラともなるとまた必須の機能となるので近い内に実装してみたいと思っています。(^^)

    返信削除
  36. Sentaro 様、遅れておりまして申し訳ない。

    > んと、命令表を眺めてるとPush/Popというコマンドがあるんですが、スタックでは無さそうみたいです。(^^;
    > http://petitcom.net/3gou/manual/push
    > http://petitcom.net/3gou/manual/pop

    ありゃ、そうだったのですネ。
    ウーム。

    > スタックはサブルーチンの値の受け渡しに便利ですし、
    > コンパイラともなるとまた必須の機能となるので近い内に実装してみたいと思っています。(^^)

    おおっ、コレは !
    RFO BASIC ! にはPush/Pop がありましたが、スタックトップを覗く (Pick)が無く、チョット欲しいかナ、なんて思いまして。
    言語仕様で色々と考える事もありましょうから、ゆるりと取り掛かれ度。

    返信削除
  37. 面白い動画を見つけました。http://m.youtube.com/#/watch?v=gI8luQnyM9A

    返信削除
  38. akatuki様、こんにちは!
    >RFO BASIC ! にはPush/Pop がありましたが、スタックトップを覗く (Pick)が無く、チョット欲しいかナ、なんて思いまして。
    >言語仕様で色々と考える事もありましょうから、ゆるりと取り掛かれ度。

    ありがとうございます。
    いろいろな言語仕様を見ると特徴があって面白いですね。
    便利に使えそうなものはどんどん取り入れたいので、Push/Pop/Pickも上手い具合に実装できたらと考え中です。(^^)



    藤堂様、こんにちは!
    new3DSはなんと804MHz!
    ってことは、プチコン3号はすでに804MHz動作ってことでしょうかね。
    HP-Primeからしても倍速なので、その爆速ぶりが納得できるところです。(^^)

    返信削除
  39. 藤堂様、こんにちは!
    >面白い動画を見つけました。http://m.youtube.com/watch?v=gI8luQnyM9A

    リレーだけで平方根が計算できるとは…
    ちょっとびっくりですね。

    返信削除
  40. Sentaro 様、夜分に恐れ入ります。

    > 便利に使えそうなものはどんどん取り入れたいので、Push/Pop/Pickも上手い具合に実装できたらと考え中です。(^^)

    アレから色々と考えていまして、Push/Pop以外にPickを、申しましたが、浴を言いますと、スタックトップからのインデクスでスタック上のデータを直接読み書きできる仕掛けがあると、大変面白い事になりそうな気がしまして。
    戯言ですから、聞き流して戴いても結構ですが。

    返信削除
  41. Sentaroさま
     そうですね。その周波数で動いていますね。だから爆速はうなづけます。

    返信削除
  42. 話は飛びますが、検索していたら、カシオのパクリブランドを新たに見つけました。その名も、GAXIO。http://archive.is/G4h2O

    返信削除
  43. 2年前の動画を見つけました。液晶表示が不良のようです。https://m.youtube.com/watch?v=ovsYv-b-wWI

    返信削除
  44. 藤堂様、こんにちは!
    >話は飛びますが、検索していたら、カシオのパクリブランドを新たに見つけました。その名も、GAXIO。http://archive.is/G4h2O
    >2年前の動画を見つけました。液晶表示が不良のようです。https://m.youtube.com/watch?v=ovsYv-b-wWI
    外見だけ真似しても中身の品質に関しては、パクリはパクリということでしょうかね。(^^;
    ただ、GAXIOなのでまだ区別が付きますが、
    こちらに出ているパクリは見分けがつかないので悪質過ぎますね。(^^;
    https://news.mynavi.jp/article/challenge-1/

    返信削除
  45. この記事見ました。これは悪質どころか犯罪ですね。

    返信削除

  46. GAXIO 、中国語の読みは「カシオ」ということなのかも知れません。そこにはCASIOブランドに対する「愛」が見て取れるのか、と。
    中国の生産力は大変な事になっており、今日、スマートフォンの大半は中国製造であります。
    CASIOも、電卓製品の多くを海外で生産しております。工業化が著しく進展する中国では人件費が嵩むからなのか、タイで工場を立ち上げている。
    CASIOとしても苦労が絶えないのか。

    返信削除
  47.  中国も人件費が上がり、質が上がりましたね。GAXIO,KADIOなどCASIO愛があるから生まれてくるんでしょうね。

    返信削除
  48. 藤堂 様

    > 中国も人件費が上がり、質が上がりましたね。

    仰る様に、中国は工業化が著しく進展しており、工員の質も向上し、労賃も上がってきております。
    電卓製品は言うに及ばず、スマートフォンやタブレット、PCも多く製造しております。
    日本のメーカーは、多く、国内生産を取り止め、海外生産を続けておりましたが、終いには電子機器製品の製造を止めてしまう所まで来てしまった。
    CASIOは、未だ、海外で製造を続けるだけマシ、という所ではあります。

    > GAXIO,KADIOなどCASIO愛があるから生まれてくるんでしょうね。

    と、当方は思う所なのであります。

    中国の生産力が、「世界の工場」として、様々な電子機器などを製造しております。
    更に、有人宇宙船なども自国で開発し、打ち上げております。

    欧米は、この中国の製造力を利用する事に腐心しております。それは、欧米の国々は国内に「富」を持っているからこそ、そういった国策が取れるのかも知れません。
    しかし、日本は、どういった方策を採っていくのでしょうか ? 労働者の賃金は下げる方向で推移しており、国内にある少ない富を、株式市場へ打ち込んで、外資へタレナガシとか。

    まあ、個人が何か出来るものではなく、選挙によって現内閣を支持してしまったので、
    この行き先を国民総出で受け入れるしかないのですが。

    グチばっかりや ... 。

    返信削除
  49.  パクりの中国の印象が強いですが、以前は日本もモノマネだ、安かろう悪かろうと言われていた時代もありました。
     今や、製造の中心は、中国に移り、電子機器から航空機、果ては宇宙船まで。今から約四半世紀前、2020年代ごろには中国は日本の技術力を追い越すから、そうならないためにも学び研鑽するのが必要だと言ってきました。
     これが現実になりかけているのに、日本と言ったら、日本スゴい番組で自画自賛している現状。このままでは、立ち直れないくらい陳腐化するのではと感じています。
     中国を利用する富が少ない。(かつ外交がヘタクソ)格差は拡がる。現政権や与党を支持しがたい原因の一つです。
     ただ、カシオと任天堂が元気な間は、まだまだ捨てたものではありません。

    返信削除
  50. 藤堂 様、コメント多謝です !

    仰る通りです。
    ただ、今日はコイズミ以降「改革」の世。このまま「売国・亡国」の流れは突き進んで行くのかも知れません。
    遠い将来、もしかすると「復興」する日が来るのかも、と希望 (希なる望み、ですが)しつつ。

    返信削除
  51. 今年の秋に、NintendoSwitch用にプチコン4がでるようです。NintendoWiiU版は発売延期が一度ありましたから、まだ秋に予定通り出るか不透明ですね。

    返信削除
  52. 藤堂様、遅れてしまい申し訳ない。

    > 今年の秋に、NintendoSwitch用にプチコン4がでるようです。

    着実に改良が進められて居るのですね、コレはウレシイ所です。
    秋と言うと、CASIOフランスではpython電卓が出る頃ですネ。少々先の話ではありますが、秋には色々と面白い事が目白押し、と言うことで。

    返信削除