我曾经用pascal写过一个...
但我不会Javascript...

解决方案 »

  1.   

    我以前曾经写过一个函数图象生成器,主要功能是用户输入函数表达式及定义域,然后画出其图形,我实现的方法是将定义域看成1000点,然后计算各点的函数值以确定该点的位置,最后描出该点,当所有的点描完了函数图象也就出来了。在算各点的函数值时,就有表达式求值的问题,也曾自己写了一个栈,但最后发现其实此问题已经被Javascript解决了,不需要我们再写代码。请看下面的例子:
    <html>
    <head>
    <title>表达式求值</title>
    <script>
    function onb1(){
    a=eval(avalue.value);
    b=eval(bvalue.value);
    c=eval(cvalue.value);
    d=eval(dvalue.value);
    e=eval(evalue.value);
    alert("y="+eval(yvalue.value));
    }
    </script> 
    </head>
    <body>
    随便写一个包含a,b,c,d,e的表达式y=<input id=yvalue value="a+b*(c-d)+e"></input><br>
    随便给a,b,c,d,e赋值:<br>
    a=<input id=avalue value=1></input><br>
    b=<input id=bvalue value=1.5></input><br>
    c=<input id=cvalue value=-1></input><br>
    d=<input id=dvalue value=-1.8></input><br>
    e=<input id=evalue value=100></input><br>
    <input type=button value="计算" onclick="onb1();"></input>
    <body>
    <html>
      

  2.   

    to :Aspist(边城浪子)
        对不起,没有把问题写清楚!
        有N个张表,每张表中都有校验规则(即:有N个表达式,包含逻辑表达式),表在提交时,
     必须经过表达式验证,返回true,提交;返回false;报错;
      表达式1:   
              a+b*(c-d)/e <= m 现金1+现金2*(现金3-现金4)/现金5 <= 现金6  表达式2:   
              a*b/c=e    现金1*现金2/现金3=现金4
      
        
      

  3.   

    我知道你的意思,但你没有完全理解我的程序.我的程序表达式是变的,你可以随便写,这难道还不能满足你的要求?事实上,eval("表达式")可以满足你的要求,他可返回表达式的值.