Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Задача про обезьяну и бананы


Автор: Красавишна 11.1.2009, 21:51
clauses
step(monkey(under_banana, on_box,
try_banana), under_banana,
grasp,
% схватить банан
monkey(under_banana, on_box,
has_banana), under_banana).
step(monkey(HPos, on_floor, Want_banana),
HPos,
climb, % залезть на ящик
monkey(HPos, on_box, Want_banana),
HPos).
step(monkey(HPos1, on_floor, Want_banana),
HPos1, % передвинуть ящик
move(HPos1,HPos2), % из HPos1 в HPos2
monkey(HPos2, on_floor,Want_banana),
HPos2).
step(monkey(HPos1, on_floor, Want_banana),
Box_Pos, % перейти
go(HPos1,HPos2), % из HPos1 в HPos2
monkey(HPos2, on_floor, Want_banana),
Box_Pos).
obtain(monkey(_, _, has_banana), _).
% есть банан - завершить поиск
obtain(Monkey1, Box1) :- step(Monkey1,Box1,
% выполнить очередной шаг
Step,
Monkey2,Box2),
obtain(Monkey2,Box2).
% продолжить поиск
goal(Monkey_Pos, Box_Pos) :-obtain(monkey
(Monkey_Pos, on_floor, try_banana),Box_Pos).



Здравствуйте, не могли бы вы помочь перевести на С++, я пролог не знаю, пожалуйста

Автор: Фантом 11.1.2009, 22:21
Переводить что-то с декларативного языка на императивный - бессмысленное занятие. Пишите программу заново.

Автор: Staxxx 12.1.2009, 23:59
Фантом прав.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)