БД Колобок - Prolog

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

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

Доброго времени суток. Имеется задание, цитирую: "База данных “Колобок”: ушел(колобок,дедушка), ушел(колобок, бабушка), ушел(колобок, заяц), ушел(колобок, волк), ушел(колобок, медведь), не_ушел(колобок, лиса). Сформулировать вопросы на Прологе: a) Кто ушел от волка? b) Кто не ушел от лисы? c) Кто ушел от волка и от бабушки? d) Какой следует задать вопрос, чтобы узнать всех персонажей сказки?" Вот написал предикат и клаузы.
Дальше не пойму как сформулировать вопросы, например хотя бы 1-й ? Заранее спасибо.

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

textual
Листинг программы
domains 
    hero = symbol.
 
predicates
    nondeterm go(hero,hero).
    nondeterm no_go(hero,hero).
    run.
    
clauses
    go("kolobok","grfather").
    go("kolobok","grmother").
    go("kolobok","zayc").
    go("kolobok","volk").
    go("kolobok","medved").
    no_go("kolobok","lica").
    
    run :- go(X1,"volk"), write(1, " ", X1), nl, fail.
    run :- no_go(X2,"lica"), write(2, " ", X2), nl, fail.
    run :- go(X3,"volk"), go(X3,"grmother"), write(3, " ", X3), nl, fail.
    run :- go(X4, Y4), write(4, " ", X4, " ", Y4), nl, fail.
    run :- no_go(X4, Y4), write(4, " ", X4, " ", Y4), nl, fail.
    run :- true.
 
goal
    run.

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


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

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

14   голосов , оценка 3.857 из 5
Похожие ответы