求表达式的值
qiú biǎo dá shì de zhí
求表达式的值是指用具体数值代替变量,并计算出结果的数值。
Definition
求表达式的值,是指把每个变量替换为给定的数字,再按照运算顺序(先算括号、乘方,再乘除,最后加减)计算,把整个表达式化简为一个具体数值。严格地说,求值是在给定变量赋值(一个赋值或解释)下,从表达式到数值的映射:若 $E$ 是关于变量 $x_1, \ldots, x_n$ 的表达式,$v$ 是把每个 $x_i$ 映射到定义域 $D$ 中某个值的赋值,那么 $\mathrm{eval}(E, v)$ 就是 $E$ 在 $v$ 下的值;在 λ 演算中,求值对应于对一个应用的 λ 项做 β 归约。
Example
求 $4x + 3$ 在 $x = 5$ 时的值:把 $x$ 换成 $5$,得到 $4(5) + 3 = 20 + 3 = 23$。求 $3x^2 - 2y + 1$ 在 $x = 4$,$y = -3$ 时的值:代入得到 $3(16) - 2(-3) + 1 = 48 + 6 + 1 = 55$。对于多项式 $p(x, y) = x^3 - 2xy + y^2$,在点 $(2, 3)$ 处求值为 $p(2, 3) = 8 - 12 + 9 = 5$。
Key Insight
求表达式的值就像照着食谱做菜:变量是食材,给定的数值告诉你要用多少。代入时必须严格遵循运算顺序,因为常见的错误是忘记先算乘方就直接乘以系数。高效求多项式的值可以使用秦九韶算法(霍纳法),$p(x) = a_0 + x(a_1 + x(a_2 + \ldots + xa_n))$,把 $n^2$ 次乘法减少到 $n$ 次,这是数值计算中的一个重要技巧。