Задача По Prolog

  • Автор темы Thrillseeker
  • Дата начала
T

Thrillseeker

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

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

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

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

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
 
T

Thrillseeker

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

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
Большое Вам спасибо, всё работает!
 
S

samuelson

Решить срочно 4 задачи на пролог, по цене договоримся, подробности: aleksandr.vozhakov@mail.ru
 
Т

Тань

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!