Задача про Ревизора - Prolog

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

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

Есть задача решённая на swi prolog Волчонок, мартышка и бегемотик подошли к карусели, на которой кружились машинка и самолётик. Каждый из друзей хотел прокатиться и на том, и на другом. Машинка и самолётик вмещали только по одному пассажиру. За три захода каждый из друзей по разу прокатился на машинке и на самолётике. В первый заход мартышка прокатилась на самолётике, а волчонок — на машинке. Во время второго захода на самолётике катался волчонок. Кто и на чём катался во время третьего захода?
Реально ли переделать её на visual prolog 5.2? Или проще с нуля писать? Попытался переделать но ошибок куча и чем дальше тем страшнее(! Может посоветует кто что??? ps:Книгу читаю, за полезный совет не считается))
Ответьте кто нибудь пожалуйста!

Решение задачи: «Задача про Ревизора»

textual
Листинг программы
domains
li=passenger(jiv,lii)
lii=li*
jiv=monkey(String);wolf(String);hippo(String)
predicates
nondeterm member(jiv,li).
solve(li).
clauses
solve([passenger(monkey, [X1,X2,X3]), passenger(wolf, [Y1, Y2,Y3]), 
passenger(hippo, [Z1, Z2, Z3])]):-member([X1, Y1, Z1]), member([X2, Y2, Z2]),member([X3, Y3, Z3]),
member([X1, X2, X3]), member([Y1, Y2, Y3]), member([Z1, Z2, Z3]).
 member(H,[H|_]).
member(H,[_|Tail]):-member(H,Tail).
  goal
  solve(X).

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


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

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

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