re.re.re:c.basicからpython shellの呼び出すときは
管理人様、sentarou様、有志の方々様へ
iiron2です。
c.basicのプログラムもpythonもフォルダーのルートから見えるところに
おいておくと、あとは管理人様の疑問のようになぜc.basicのコマンドでは
ないpython shellが呼べるのかというところになりますが
構成としましては、msdosのバッチプログラムのように元からある機能を
c.basicのプログラムにはさんでよびだしてるだけなのです。
ルートフォルダーからは、ユーザーが普通にshellだけで呼び出せて
いますよね。
私の貧弱な説明で申し訳ありませんが、うまくいくとうれしいです。
以上
iron2 様
管理人のやすです。
Python シェルを呼び出すために使っておられる SHELL コマンドですが、ここが私には謎です。
C.Basic には、Shell コマンド無かったように思うのですが、SysCall をお使いなのでしょうか?
ご教示頂けますか?
iron2様
管理人のやすです。
> 管理人様はfx-vg50のpython シダの葉実行時間どやってはかったのか
> わたしにはわかりませんが、このぐらいの受講時間ならばストップウォッチ
> で測っても比較できそうですね
本ブログでは、Casio Basic 各コマンドの処理速度や、Casio Basic や Python のプログラム動作速度を比較測定しています。
これには、一貫して以下の方法を採用しています。
1. 測定用のソフト
Windowsデスクトップで動作する "SGウォッチ" を使っています。
https://www.vector.co.jp/soft/win95/personal/se383387.html
2. 測定方法
1) 自分なりの反射神経を利用し、できるだけ再現性が得られるように、何回か練習する
私の場合は、0.1秒までの再現性は得られると思っています。
2) 5回測定し、
3) 最大と最小を捨てる
4) 残る3回の平均値を算出する
同じソフトを使い、個の方法を愚直に守っています。
絶対値の測定ができないので、私個人に依存する相対的なものです。但し再現性は 0.1 秒レベルで得られていると思っています。
0.1秒レベルでの比較を行うことは、無理です。
0.1秒レベルでの比較を行うには、2つのプログラム電卓を並べて同時に処理させて、結果表示までの比較を行って、2つの電卓でどちらが速いかの判定を行います。場合によっては動画として記録に残して証拠にします。
測定方法の一貫性を確保することを最優先としているわけです。
ご参考になれば幸いです。
hp prime g2に管理人様のシダの葉移植できました。
管理人様、sentarou様、有志の皆々様へ
hp primeのticksがmsecをかえすにで
約30000msecです。
すなわち約30秒ですね。
カシオとHPの最大の差は、HPは標準でticks備えてるてことだと思います。
またdateを操作できるのでカレンダーも時計もつくれてしまします。
大学や企業の研究施設でしかつかわない高度な数学関数があらかじめ
用意されているところがわくわくします。
管理人様はfx-vg50のpython シダの葉実行時間どやってはかったのか
わたしにはわかりませんが、このぐらいの受講時間ならばストップウォッチ
で測っても比較できそうですね
fx-cg50のpython描画はやいですね。
以上
re re; c.basicからpython shellをよびだしたときは
iron2です。
管理人様、sentarou様、有志の皆々様へ
0- >Ticks%
S->S
SHELL from BENTI1 import *
Ticks%/32768->S
Locate 1,2,S
です。
説明が不十分で年始から申し訳ありません。
私もまだはっきりしたことはわからないのですが、pythonは
環境設定が大事かも、絶対パスとか相対パスとかが
ちゃんと他のアプリケーションともどもとおっているか
がカギの気がします。
いつも、おさわがせします。以上。
iron2様
管理人のやすです。
ありがとうございます。
> とりあえず、c.basic for cgのプログラムはメインメモリにおいてます。
> 正確にいうと、メインメモリ内のプログラムフォルダにあります。
> 0->Ticks%
> 0->S
> SHELL
> Ticks%/32768->S
> Locate 1,2,S
> です。
C.BasicプログラムをメインメモリのPROGRAMフォルダに置いて、実行してみましたが、シェルが起動しません。
SHELL をコメントアウトすると Locate 1,2,S で表示される数値は少なくなりますが、シェルが起動しているかどうかがよく分かりません。
ちなみに、benti1.py として、
X=999999999999999/2
print(X)
C=1/3
print(C)
D=pi
print(D)
X=0
for I in range(0,1000):
X=X+I+1
print(X)
を作り、ストレージメモリのルートに置きました。
そして、メインメモリにある C.Basicプログラムを起動して、Pythonスクリプトを走らせるには、どのようになさっているのでしょうか?
0->Ticks%
0->S
python shell from benti1
Ticks%/32768->S
Locate 1,2,S
としても、benti1.py が起動しません。
実際にはどのようなプログラムを記述されているのでしょうか?
iron2です。
管理人様、sentaou様、有志の皆々様へ
とりあえず、c.basic for cgのプログラムはメインメモリにおいてます。
正確にいうと、メインメモリ内のプログラムフォルダにあります。
python shell 呼び出しプログラムはbenti1
0->Ticks%
0->S
SHELL
Ticks%/32768->S
Locate 1,2,S
です。
しぇllの呼び出しだけですと
0.0006713871秒ほどです。
0.671msecです。
以上
iron2様
管理人のやすです。
C.Basic for G と Python の連携ですが、面白そうなので私もやってみようと思ったのですが、iron2様が実際になさったことが、うまく再現できません。
まず、Python shell の呼出ですが、
> C.Basic for CGで
> 0->Ticks%
> shell
>Ticks%/32768
としましたが、Python shell が呼び出せません。
C.Basic のプログラムファイルをストレージメモリのルートに置いたり、C.Basicのプログラムファイルを Pythonスクリプトのあるフォルダに置いたりしてみましたが、うまくシェルを呼び出せません。
どうなさったのでしょうか?
ご教示ください。
hp prime g2のpythonでフラクタルCGかけました。
iron2です。
管理人様、sentarou様、有志の皆々様へ
まず、シダの葉はfx-cg50のpythonで管理人様のコードで描けましたが
c.basic for cgのTicks%
shell コード import *
Ticks%/32768
で時間を測ろうとしましたが、コードのimportのところでこけてしまい
時間は測定できませんでした。
同じ条件のc.basic for cgより高速であったのは管理人様と同様です。
本題のフラクタル描画ですが、net上であがってるnumwaksやhp primeの
比較用のコードを用いました。
hp prime g2の全画面に描写してしまうため、msgbox関数にかかった時間
を表示しました。
測定時間に波はありますが最後に測ったタイムは49.995秒でした。
ほぼ青のバックに黄色のフラクタルが描かれているものです。
fx-cg50のpythonでもためしてみたいので、がんばります。
コードはnet上にあったのですがエラーだらけで自力で修正しました。
昔、c.basic for cgのftune版のsyscall版を作ったときかなり早かった気が
します。
測るということは、具体的な比較ができるので私は大切なことと
思っています。
以上
プログラムの実行時間測定できました。
0->Ticks%
shell from プログラム名 import *
Ticks%/32768
ひとつハードルをこえたので
なんかうれしいです。
shell起動が0.6msecほど
X=999999999999999/2
print(X)
C=1/3
print(C)
D=pi
print(D)
X=0
for I in range(0,1000):
X=X+I+1
print(X)
この4つの処理の合計が
0.793457msec
ですのでプログラム地震の時間は
0.293457m秒です。
まじで爆速でした。
以上
カシオパイソンにはtimeモジュールがない
iron2です。
管理人様、sentarou様、有志の皆々様へ
タイトル通りの問題で実行時間測定にいきずまって
前投稿となったわけです。
普通ならばimprot time
ts=time.time()
処理内容
te=time.time()
で済むはずだったんですが、これができず
くるしんでいます。
c.basic for cgで
o->Ticks%
sell
_Ticks%/32768
にてパイソンシェルの呼び出し時間は測れました。
6msecほどです。
しかし、シェルからパイソンスプ陸とを実行しようとしましたが
うまくいきませんでした。
以上
管理人様、sentarou様、有志の皆々様へ
iron2です。
カシオパイソンでプログラムの実行時間の測定方法がわかりません。
プログ内をうろうろと、探索していましたが見つけれませんでした。
ほしい情報をさがしだすのが、今はなかなか困難です。
管理人様のカシオパイソンの記事の最初の部分を読んで
A=0
A=999999999999999/2
print(A)
B=0
B=1/3
print(B)
C=0
C=math.pi
print(C)
X=0
for I in range(0,1000):
X=X+I+1
print(X)
の実行はできました。
この実行時間を測りたいだけなのです。
管理人様のシダの葉のコードみつけました。
後で真似させていただきます。
以上
iron2様
管理人のやすです。
> ppl*32 cpu212.17mhz,sfc1/4 106.08mhz,bfc1/4 106.08mhz,pfc1/16 26.52
> のc.basic for cgで1-1000の加算で答えは500500が正解です。
> forループでの計測です。
> 11.913msecです。
> hp prime g2の同じ処理が15msec
> でp理目g2より高速です。
> ただし、prime g2のΣコマンドでは6msec
> sumコマンドでは3msecで更に高速なのですが
> なるべく組み込み関数を使ったほうが、
> へたにプログラムするより手間もかからず
> 正確に早くできるってことでしょうかね。
オーバークロックしたfx-cg50のc.basic for cgの
Σコマンド版がぬけていたので
追記します。
5.889msecでごくわずかですがこちらもhp prime g2より
高速です。
Ptuneの威力ですね!
> あと、fx-cg50のディフォルトのクロックが
> あまり早くないのは、消費電力を極力抑えることが
> 電卓の使命だからではないでしょうか。
それは、確かにありそうですね!
> c.basicのTicksの入力のしっかたをなんとか
> メニューから選び出す事ができて実行時間測定
> プログラムを作りました。
お疲れ様です。
リハビリに電卓でプログラミングというのは、なかなか凄いことだと思っております。
私もリハビリが必要になったら、iron2様にならってプログラミングしようと思います。
管理人様、sentarou様、有志の皆々様へ
iron2です。
オーバークロックしたfx-cg50のc.basic for cgの
Σコマンド版がぬけていたので
追記します。
5.889msecでごくわずかですがこちらもhp prime g2より
高速です。
おそるべしc.basic for cg+ftuneですね。
このていどの計算では消費電力気にならないですが
シダの葉cgなどでは激しく電池を消耗します。
うれしいような、はがゆいような心持ちです。
以上
0-バークロックしたfx-cg50のc.basicは早いですね
管理人様、sentarou様、有志の皆々様へ
iron2です。
ppl*32 cpu212.17mhz,sfc1/4 106.08mhz,bfc1/4 106.08mhz,pfc1/16 26.52
のc.basic for cgで1-1000の加算で答えは500500が正解です。
forループでの計測です。
0->Ticks%
0->A
1000->N
for 0->I To N Step 1
A+I->A
Next
Ticks%/32768->E
Locate 5,1,A
Locate 1,2,E
は11.913msecです。
hp prime g2の同じ処理が15msec
でp理目g2より高速です。
ただし、prime g2のΣコマンドでは6msec
sumコマンドでは3msecで更に高速なのですが
なるべく組み込み関数を使ったほうが、
へたにプログラムするより手間もかからず
正確に早くできるってことでしょうかね。
あと、fx-cg50のディフォルトのクロックが
あまり早くないのは、消費電力を極力抑えることが
電卓の使命だからではないでしょうか。
c.basicのTicksの入力のしっかたをなんとか
メニューから選び出す事ができて実行時間測定
プログラムを作りました。
まだこんなことしかできませんが、リハビリというより
たのしんでます。
以上
iron2様
管理人のやすです。
> akatuki様のpython版のシダの葉のプログラムを
> hp primeとhp prime g2で走らせようとしました。
> エラーはないのですがプログラムが起動せず
> お手上げ状態です。
akatsuki様のプログラムは、Python でなくjava だと思いますので、そのまま書き写しただけだ
と、python としては動作しないはずです。
当ブログのcasio pythonスクリプトをご参考になってください。
> やはり脳梗塞の後遺症で頭が回らないようです。
> ほぼ左脳全部壊疽しているため生きているだけで
> ありがたい話なのですがいろいろ後遺症が
> ありうまくいかないことが多くきついです。
それでプログラミングとは、凄すぎます。数学の復習なども良いかもしれませんね?
> とりあえずカシオパイソンでチャレンジしてみます。
何なりとおたづねください。
iron2です。
管理人様、sentarou様、有志の方々様
akatuki様のpython版のシダの葉のプログラムを
hp primeとhp prime g2で走らせようとしました。
エラーはないのですがプログラムが起動せず
お手上げ状態です。
akatuki様のプログにそのむねを投稿しようと
したのですがうまくできませんでした。
やはり脳梗塞の後遺症で頭が回らないようです。
ほぼ左脳全部壊疽しているため生きているだけで
ありがたい話なのですがいろいろ後遺症が
ありうまくいかないことが多くきついです。
とりあえずカシオパイソンでチャレンジしてみます。
以上
iron2様
管理人のやすです。
> 以前つくったカラーバージョンのシダCGのhp prime とhp prime G2との
> 描画時間の比較を行ったので報告します。
私自身、HP Prime シリーズを持っていないので、実際に遊んでみることが出来ないのですが、これまでの皆様のコメントを拝見する限り Prime は爆速モデルと認識しています。
> クロックアップしたイント版のfx-cg50のシダCGは5秒ほどで非常に
> 高速ですが、実数版ではまだhp prime G2には勝てないです。
sentaro様は、お忙しいようで最近書き込みが無いのですが、コンパイル版 C:Basic が登場すれば、Prime をぶっちぎりで抜き去るはずです。楽しみです!!
> hp primeにもマイクロパイソン使えるといいですが、farmweaのアップデート
> まだしてませんのでちょとたのしみです。
> カシオパイソンのように描画モジュール提供してくれないかも
> ですが。
Casio Python も今のままでは、かなり物足りないのですが、フランス専用版では色々な検討が進んでいるようなので、今後が楽しみです。
> カシオもhpもグラフ電卓が昔のパソコン以上の性能だなと感じます。
> しかも電力が少なくてすんでいるのが素晴らしいと思う。
30年ほど前のパソコンは、今思えば恐ろしく遅かったですよね!
管理人様、sentarou様、有志の皆々様
iron2です。
まだプログラムをゼロから起こすほどは回復してないので
以前つくったカラーバージョンのシダCGのhp prime とhp prime G2との
描画時間の比較を行ったので報告します。
ちなみにhp primeシリーズは実数計算しかできないので、c.basicの
ようにint版をつくって更なる高速化はできません。
したがって実数版で比較しました。
hp primeは26.93秒、hp prime G2は8.697秒でほんとうに3倍速いです。
hp prime接続キットでパソコンに2台接続していると、プログラムを
コピーできるので、に移植するのにたすかりました。
いまだこんなことしかできませんが頭の体操してる気分です。
クロックアップしたイント版のfx-cg50のシダCGは5秒ほどで非常に
高速ですが、実数版ではまだhp prime G2には勝てないです。
hp primeにもマイクロパイソン使えるといいですが、farmweaのアップデート
まだしてませんのでちょとたのしみです。
カシオパイソンのように描画モジュール提供してくれないかも
ですが。
カシオもhpもグラフ電卓が昔のパソコン以上の性能だなと感じます。
しかも電力が少なくてすんでいるのが素晴らしいと思う。
以上
iron2様
管理人のやすです。
そうなんです、Casio Python には decimal型が無いのです。
そして、Cpythonでは、53桁まで精度があるようですよ。
カシオパイソンにdeimal型が無いです
iron2です。
管理人様、sentarou様、有志の皆々様
カシオパイソンにdeimal型が無いので固定小数点演算が
できず、微妙に誤差が蓄積され、本家のパイソン3と比べると
演算精度が低い気がします。
文字列を引数にとるので、0.1は0.1ですが、float型ですと
0.1000004のような不正確な数値計算しかできません。
deimalモジュールが使用できないままなのですが
メーカー側は問題視していないのでしょうか。
後、パイソン3では、32桁精度で計算できてた気がしますが
思い違いでしょうか?
それでは、失礼いたします。