Prolog 序言:顶层:未定义的过程(简单树)
您好,我在Prolog中有一个简单的家庭作业,我遇到了以下错误: 错误:顶层:未定义过程:根/1(DWIM无法纠正目标) 文件中的代码:Prolog 序言:顶层:未定义的过程(简单树),prolog,Prolog,您好,我在Prolog中有一个简单的家庭作业,我遇到了以下错误: 错误:顶层:未定义过程:根/1(DWIM无法纠正目标) 文件中的代码: node(3). node(1). node(2). node(6). node(5). edge(3,1). edge(1,2). edge(3,6). edge(6,5). root(X ):- node( X ),not edge(X , _). leaf(X):- node(X) ,not edge(X, _ ). inte
node(3).
node(1).
node(2).
node(6).
node(5).
edge(3,1).
edge(1,2).
edge(3,6).
edge(6,5).
root(X ):- node( X ),not edge(X , _).
leaf(X):- node(X) ,not edge(X, _ ).
internal_node( X ):- edge( X , _ ), edge( _ , X ).
我在以下情况下得到错误:
根(3)。
叶(5)。
但不是在以下情况下:
内部_节点(1)
谢谢,您在第一次声明中有一个逻辑错误,请尝试此操作,它应该可以工作:
root(X ):- node( X ),\+ edge(_ , X).
leaf(X):- node(X) ,\+ edge(X, _ ).
internal_node( X ):- edge( X , _ ), edge( _ , X ).
确定您没有收到类似
语法错误:操作员应使用而不是的错误消息?将其替换为\+
两次。没有语法错误,我将其替换为:根(X):-node(X),\+edge(X,\)。同样的错误。@false是刚刚再次检查,仍然给我一个错误,但是使用Z,Kal代码它可以工作,无论如何谢谢你的帮助