Задача По Prolog

21.04.2013
4
0
#1
Буду признателен любой помощи в решении данного задания.

Ответьте на вопрос “Что ест моя кошка?“, если: Птицам нравятся червяки. Кошкам нравятся рыбы. Друзья
нравятся друг другу. Моя кошка мой друг. Моя кошка ест все, что ей нравится.

likes(symbol,symbol)
Clauses
likes(bird,worm).
likes(cat,fish).
likes(friend1,friend2).
likes(cat,friend).

Этот вариант работает, но преподавателя, увы, не устраивает.

Он написал примерно следующее:
domains
s=symbol
predicates
bird(s)
worm(s)
cat(s)
friend(s,s)
fish(s)
eat(s,s)
like(s,s)
prinad(s,s)
clauses
bird(x). worm(y):-like(x,y).
cat(x). fish(y):-like(x,y).
friend(x,y):-like(x,y),like(y,x).
 
R

rrrFer

#2
Код:
про друзей неправильно.

friend (i, cat). % это просто факт, что мы с кошкой друзья

like(cat, meat).
like(fish, fruit). % это тоже просто факты

like(A, B):- friend(A, B); friend(B, A). % правило, друзья нравятся друг другу

eat(cat, X):- like(cat, X). % правило, кошка ест все что ей нравица

остается тока запрос написать eat(cat, X). и получить X = meat, X = i
 
21.04.2013
4
0
#3
Код:
про друзей неправильно.

friend (i, cat). % это просто факт, что мы с кошкой друзья

like(cat, meat).
like(fish, fruit). % это тоже просто факты

like(A, B):- friend(A, B); friend(B, A). % правило, друзья нравятся друг другу

eat(cat, X):- like(cat, X). % правило, кошка ест все что ей нравица

остается тока запрос написать eat(cat, X). и получить X = meat, X = i
Большое Вам спасибо, всё работает!
 

samuelson

New member
23.05.2013
1
0
#5
Решить срочно 4 задачи на пролог, по цене договоримся, подробности: aleksandr.vozhakov@mail.ru
 

Тань

New member
29.05.2013
1
0
#7
Помогите! Задание:
Написать программу подсчёта суммы 8-битных знаковых чисел, расположенных в ячейках $8200 ... $82ff