2013-04-25 73 views
0

我是序言編程任務,我不能用prolog的形式表示下面的謂詞。序言 - 謂詞中的否定

蝙蝠俠誰喜歡看足球和從比爾買票,在他的空閒時間從來沒有打曲棍球或板球。

我不能在列表格式中寫謂詞的否定部分。該清單是表格。

member([batman,soccer,gotham,tikcet,bill],Listname)

蝙蝠俠 - 什麼人喜歡做 譚 - - 起源 tikcet的城市 - 蝙蝠俠 足球的名義購買的東西做什麼,他喜歡 比爾 - preson售票

感謝任何幫助。

謝謝!

回答

0

我沒有看到問題和您的列表之間的連接。

蝙蝠俠誰喜歡看足球和從比爾買票,絕不會在他的空閒時間打曲棍球或板球。

,第一部分在我看來是這樣的:

loves(batman, watching(soccer)). 
buys(batman, tickets, bill). 

最後一部分在我看來是這樣的:

:- dynamic plays/2. 

這只是告訴Prolog的播放/ 2是一種事實並且這些事實將會出現。

然後,你可以編寫查詢,像這樣:

?- loves(Batman, watching(soccer)), 
    buys(Batman, tickets, bill), 
    \+ plays(Batman, hockey), 
    \+ plays(Batman, cricket). 

這看起來像它反映了這個問題對我來說,它給預期的響應:

Batman = batman.