БД Колобок - Prolog

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Имеется задание, цитирую: "База данных “Колобок”: ушел(колобок,дедушка), ушел(колобок, бабушка), ушел(колобок, заяц), ушел(колобок, волк), ушел(колобок, медведь), не_ушел(колобок, лиса). Сформулировать вопросы на Прологе: a) Кто ушел от волка? b) Кто не ушел от лисы? c) Кто ушел от волка и от бабушки? d) Какой следует задать вопрос, чтобы узнать всех персонажей сказки?" Вот написал предикат и клаузы.
Листинг программы
  1. domains
  2. hero = symbol.
  3. predicates
  4. go(hero,hero).
  5. no_go(hero,hero).
  6. clauses
  7. go("kolobok","grfather").
  8. go("kolobok","grmother").
  9. go("kolobok","zayc").
  10. go("kolobok","volk").
  11. go("kolobok","medved").
  12. no_go("kolobok","lica").
Дальше не пойму как сформулировать вопросы, например хотя бы 1-й ? Заранее спасибо.

Решение задачи: «БД Колобок»

textual
Листинг программы
  1. domains
  2.     hero = symbol.
  3.  
  4. predicates
  5.     nondeterm go(hero,hero).
  6.     nondeterm no_go(hero,hero).
  7.     run.
  8.    
  9. clauses
  10.     go("kolobok","grfather").
  11.     go("kolobok","grmother").
  12.     go("kolobok","zayc").
  13.     go("kolobok","volk").
  14.     go("kolobok","medved").
  15.     no_go("kolobok","lica").
  16.    
  17.     run :- go(X1,"volk"), write(1, " ", X1), nl, fail.
  18.     run :- no_go(X2,"lica"), write(2, " ", X2), nl, fail.
  19.     run :- go(X3,"volk"), go(X3,"grmother"), write(3, " ", X3), nl, fail.
  20.     run :- go(X4, Y4), write(4, " ", X4, " ", Y4), nl, fail.
  21.     run :- no_go(X4, Y4), write(4, " ", X4, " ", Y4), nl, fail.
  22.     run :- true.
  23.  
  24. goal
  25.     run.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы