设计解析公式算法

hongsushou 2003-06-14 08:05:12
设计解析公式算法(用Delphi语言实现)
数据表A为科目定义表,可以定义任意数值科目(包括可编辑科目,计算科目),计算公式包括+-*/(),崭可不包括函数,可以任意定制。
数据表B为数值科目录入表,要求计算科目按公式自动计算。
注意:计算公式中也可以包括计算科目,不要死锁。
例如A表结构如下
id mc isjskm sjly
a1 科目1 F
a2 科目2 F
a3 科目3 T a1+a2
a4 科目4 T (a1+a2)/a3
。 。
。 。

B表结构如下(横向)
Pk a1 a2 a3 a4 。。。。。。
录入 录入 根据定义计算 根据定义计算 。。。。。。
或者(纵向)fzid+kjkm=Pk
fzid kjkm value
a1 录入
a2 录入
a3 根据定义计算
a4 根据定义计算
。 。
。 。
...全文
73 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightlight 2003-06-24
  • 打赏
  • 举报
回复
用栈操作,将中序范式改写成后续范式。依次进栈遇到操作符时与栈顶操作符比较,如果大于栈顶操作符则依次进栈,如果小于则先计算栈顶操作符的计算结果并进栈,在将较小的操作符进栈。参见 数据结构+算法 或 编译原理——算符优先分析法章节。
zhp97 2003-06-23
  • 打赏
  • 举报
回复
我也想要这样一个东东,但没人给我,自己写又太麻烦了。我现在是进退两难啊。
我的想法也是用递归,当表达式只盛下阿拉伯数字时就大功告成。
yxyihbj 2003-06-23
  • 打赏
  • 举报
回复
呵呵,前天我开发软件时就碰到了这个问题,通过自定义变量,要额户自己根据变量输入计算公式再来求解!我是用TStringList来解决的,先对和变量分解并取得实际值税存入TStringList中,再写两个function分别对()和只含+-*\不含()的表达式进行计算,程序不到100行!
李_军 2003-06-22
  • 打赏
  • 举报
回复
我有个现成的dll,可以计算表达式,用递归做的,今天刚让他支持开方运算,要的话,给我发消息
firetoucher 2003-06-22
  • 打赏
  • 举报
回复
用递归比较简单
深度优先,因为可能优回嗍,所以效率可能低了一点.不过实现很简单,以前贴子非常类似,不好意思,网速太慢,没有帮你search出来
yaos 2003-06-22
  • 打赏
  • 举报
回复
Script Studio
Feather Duster 2003-06-14
  • 打赏
  • 举报
回复
其实就是循环调用,或一个解释器,我做过一个工资的东西,不知道放哪去了,不过用Sql简单.
耙子 2003-06-14
  • 打赏
  • 举报
回复
1.替换变量为常数
2.利用sql的强大功能,
select (2+6)/4

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧