作品情報

ID#398

mod_fx

一般プログラム
作者: motchy


(ダウンロードの注意)

更新日:2014-01-13
バージョン:2.1.1 (完成度100%)

ユーザーの評価 (4)

プログラム技術2
完成度2
アイデア0

文字列として記述された数式の値を求めるモジュールです。

例えば、 {log(2,8)+sqrt(81)}/5 という文字列から、 2.4 というdouble型の数値データを得られます。

前年度コンテストでもこのようなモジュールを応募させて頂きましたが、今回はその第2版です。
システムを根本から作り直し、拡張性を高めました。

数式文字列を一旦中間コードに変換するようにしました。
変換処理で文法エラーを完全に検出できるので、中間コードには文法エラーが一切含まれません。

数式(コード) → 中間コード → 結果

という流れになります。


第1版に対する主な美点・欠点は以下の通りです。

<美点>
・文法エラーチェックの厳格化 → 安全性向上

・扱える変数が a?z A?Z の計52個。(第1版では x,y,z のみだった)

・計算の精度が向上(第1版では有効数字が最大17桁かつ小数位6桁固定であったが、第2版では
          有効数字17桁になった。)

・関数のパラメータ囲みに [] だけでなく () や {} も使える

・式中で {} () [] のすべてが使える

<欠点>
・計算の所要時間が約1.5倍になった


/// 修正報告 ///
[ 2013/8/17/21:54 ]
・文書の軽微な表記ミスを修正
 (「a,b,c,d」→「a,b,c」等)

タグ:contest2013
動作環境:HSP 3.31以降
プラグイン/モジュール:
ライセンス:自由に配布可能
作成開始:2013年5月12
募集項目:
説明書: hspcontest398.txt

作品へのコメント

過去のコメントはこちら

コメントの投稿はまだありません



コメント投稿

登録ユーザーの方はログインしてください。
この作品はすべてのユーザーからのコメントを受け付けています。
初めて投稿する方は、作品コメントと評価についてをよくお読みください。

評価点:

プログラム技術 完成度 アイデア

コメント:
(1000文字以内)

オプション:

非公開コメント(この作品の作者だけが閲覧できるようになります)



投稿の削除

投稿を行なった登録ユーザーは、自分の投稿を削除可能です。
作品を登録した作者は管理者としてすべての投稿を削除することが可能です。
以下にコメントのNo.を指定して、「投稿を削除する」ボタンを押してください。
評価の投稿を削除した場合は、評価は無効となります。

No.