带有整数和操作数的列表-Prolog

问题描述

我想在 prolog 中编写一个谓词 max_min_eval(List,Result) ,对于包含整数和它们之间的术语“max”或“min”的列表,它将评估整个表达式。例如,给定列表 [2,min,3,max,10] 输出应为:Result=10,即 (2 min 3)=2 max 10=10。 我在 Prolog 中很新,找不到方法。我可以将列表分成数字和操作数,但我认为这没有用。我也在考虑编写一个不同的谓词来查找 2 个数字的最大值和最小值,例如: min_el(X,Y,R):-R 是 min(X,Y)。 max_el(X,R):-R 为 max(X,Y)。

我想必须使用某种递归。此外,如果列表中的元素顺序不正确,例如 [2,min] 或 [2,foo,3],结果应该是 no。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)