こんにちわ。現在、式入力の関数電卓(1+2*3のような)を作っているのですが、演算子と数値をごちゃ混ぜにした計算をするにはどうすればいいのでしょうか?いろいろ調べてみたのですが、JAVAスクリプトを使う方法がやはり一番良いのでしょうか?再帰や引数渡しを使って作れますでしょうか?アドバイス程度でいいのでよろしくお願いします>_<
過去ログ検索『Eval』でどうぞ。
( ´Д`)<…ん?…とりあえず不思議な部分を書いてみるか。
> こんにちわ。
こんにちは。
少し一行が長い様ですた。
適当な部分で改行しませう。
> 現在、式入力の関数電卓(1+2*3のような)を
関数ねぇ…まぁ、表記方法は普通の中置記法みたいですが。
…面倒ならLISPを真似てみては?
> 作っているのですが、演算子と数値をごちゃ混ぜにした計算をする
「演算子と数値をごちゃ混ぜ」というと、
100+21.34*48+(-883+sin(15*3.14159/180)+2.4/18)-xyz
のような数式を、
3.14159)(15xyz)1821.34++/883-+sin-180*10048(+2.4/*
という風に混ぜるということですか??
…フォーマットを決めましょう。
> にはどうすればいいのでしょうか?
どうしようも無くなります。
> いろいろ調べてみたのですが、JAVAスクリプトを使う方法がやはり一番良いのでしょうか?
1番いいというなら、2番目は?3番目は?
「何がいいのか?」という順位を決めるのは、貴方が考えている仕様によります。
まぁ、JAVA(?)スクリプトでやってもいいでしょうし、
Windows Script Host Object Modelを参照してスクリプトを実行させてもいいでしょう。
もちろん、他の方法もあります。
> 再帰や引数渡しを使って作れますでしょうか?
再帰や引数渡しそのものは、この質問の本質とは無関係に思います。
まぁ、使わなくても作れますし、使っても作れると思います。
→少なくとも、数式を実行する部分(関数)が決まってからの問題に思います。
> アドバイス程度でいいのでよろしくお願いします>_<
以上ですた。
ぁ、後とりあえず「逆ポーランド記法」を調べてみて下さい。
>再帰や引数渡しを使って作れますでしょうか?
…あれ?、関数電卓処理の実体を自分で組み上げたいと
いう事でしょうか?正規表現とか使って文字列を解析
するとか?
"JAVAスクリプトを使う方法"が"一番良い"かどうかについては
ターゲットとしているユーザが判らないので回答不可能です。
(またVBとは関係が薄いと思われます)
再帰・引数渡しについてはプログラムの設計次第と言えます。
四則演算の解釈についてはいろいろなページでサンプルがある
と思われます。JAVAスクリプトのサンプルが見つかっているの
であれば、アルゴリズムを流用すればよいと思います。
お早いレスありがとうございます。
書き込むの初めてで、不明確な部分がたくさんあり
申し訳ありませんでした・・・。
あとまだ探し方と勉強が足りないみたいでした。
とりあえず、どんな方法使っても完成させたいので
普通にたくさん方法あるみたいなんで、根気よくがんばります!
ありがとうございました!
ツイート | ![]() |