prolog置换函数

时间:2012-04-28 19:05:55

标签: prolog

我是Prolog的新手。 我知道置换的递归函数,即:

per([],[]).
per(L, [X|P]) :- del(X,L,L1),per(L1,P).

当我们收到per([],[])它返回的元素时,我想在最后的迭代中知道这个函数的逻辑树。

1 个答案:

答案 0 :(得分:3)

索尼娅 - 你没有给我们'del'谓词,所以我们不能运行它并向你展示。

您是否知道有一个'跟踪'谓词会丢弃每个步骤/决策点/回溯?

只是做:

trace.
per([a,b], X).

然后按Enter直到看到prolog与递归的基数匹配([],[]),然后继续按Enter键以观察它完成任务。

如果您想在任何时候看到生成的缩写列表(即列表以点[...]结尾,请按'w' - 写入以转储整个列表内容。

然后最后,做:

notrace.

关闭它。

然后,如果您对跟踪有特定问题,建议添加缺失的谓词,并显示您所问题的部分跟踪。