问题如下:
在Prolog中表示以下内容:
1.布奇是个杀手。
2 Mia和Marsellus结婚了。
泽德死了。
Marsellus杀死了所有给Mia做足底按摩的人。
5米娅喜欢每一个跳得好的人。
朱尔斯吃任何有营养或美味的食物。
我的答案是这样的,请帮助我检查我是对还是错。
2已婚(mia,marsellus)。
3人死亡(Zed)。
4死亡(marsellus,X):-给予足底按摩(mia,X)。
爱(米娅,X):-好舞者(X)。
6吃(jules,X):-营养(X);美味(X)。
非常感谢:)
发布于 2015-12-30 13:01:55
你把句子正确地翻译成了Prolog。
但是您的命名约定使得代码很难读懂!
一个好的Prolog命名约定明确了每个参数意味着的含义。
例如,让我们以最后一条为例:
eats(jules, X) :- nutritious(X) ; tasty(X).
从上下文来看,很明显,第一个论点是人,第二个论点是食物。一个好的谓词名使这一点显式化。
与此形成对比的是:
person_eats_food(jules, Food) :- nutritious(Food) ; tasty(Food)。
我建议你再看一遍每一篇翻译,如果可能的话,尽量找出更好的名字。
https://stackoverflow.com/questions/34528692
复制相似问题