我正在尝试在Pascal中构建一个程序来区分数学函数。它工作得很好(计算最小/最大,对称,绘制图形等)但我必须将函数(即x ^ 3 + 3x + 2)放入源代码中,如下所示:
function f(x : real): real;
begin
f := x * x * x + 3 * x + 2;
end;
尽管如此,我希望用户定义要区分的功能。显然,readln函数没有帮助。 有人告诉我唯一的解决方案是特定的解析器。但这很困难,我不知道该怎么做。 我的想法是将函数提取到* .txt文件中,以便可以轻松更改。那可能吗? 有人可以给我看一个可以解决这个问题的解析器,还是有其他一些很好的解决方案? 我将衷心感谢您的帮助! 在此先感谢;)
答案 0 :(得分:0)
Free Pascal附带symbolic包,它包含数学表达式的解析器和赋值器。您可以将此作为起点。有关用法,请参阅documentation。
答案 1 :(得分:0)
SWAG上还有许多解析器/评估者:
(所有这些都是相当陈旧的代码。除非另有说明,SWAG的规则是将这些东西视为拥有新式BSD许可证)