Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
|
Срочно! кто нить в прологе рубит? 08.10.03 19:30 Число просмотров: 1165
Автор: Cyril <sc> Статус: Member
|
> Нужно написать маленькую прогу на Прологе! > > Суть Задачи: > > Есть кошелек в него ложиться не более 40 монет (то есть от > 1 до 40) > начинается игра, первым либо юзер ходит, либо ЭВМ (по > выбору) > берут из кошеля за ход не более 3 монеток > > кто последнюю возмет тот и проиграл! > > Как эту задачку на Прологе реализовать ума не приложу! > Help!!! > Держи прогу(проверил, вроде работает), если в гости заедешь с тебя пиво ;-)
И почему в институтах до сих пор преподают эту бяку
......................................................................
Компьютер начинает и выигрывает ;-)
......................................................................
predicates
bank(integer, string)
compai(integer, integer)
goal
clearwindow,
write("Computer starting..."),nl,
bank(40, "Comp").
clauses
compai(Number, 0):-
Num=Number-3,
bank(Num,"Human").
compai(Number, 1):-
Num = Number-1,
bank(Num,"Human").
compai(Number, 2):-
Num = Number-1,
bank(Num,"Human").
compai(Number, 3):-
Num = Number-2,
bank(Num,"Human").
bank(1, "Comp"):-write("Comp looser...").
bank(1, "Human"):-write("Human looser...").
bank(Number,"Human"):-
write("bank="),write(Number),nl,
/* press only 1,2,3 key, else big gluk */
readchar(Choice),
Num = Number-(Choice-48),
bank(Num, "Comp").
bank(Number,"Comp"):-
write("bank="),write(Number),nl,
Ost = Number mod 4,
compai(Number, Ost).
|
<programming>
|
Срочно! кто нить в прологе рубит? 08.10.03 11:06
Автор: Darkhelmet Статус: Незарегистрированный пользователь
|
Нужно написать маленькую прогу на Прологе!
Суть Задачи:
Есть кошелек в него ложиться не более 40 монет (то есть от 1 до 40)
начинается игра, первым либо юзер ходит, либо ЭВМ (по выбору)
берут из кошеля за ход не более 3 монеток
кто последнюю возмет тот и проиграл!
Как эту задачку на Прологе реализовать ума не приложу! Help!!!
|
|
Срочно! кто нить в прологе рубит? 08.10.03 19:30
Автор: Cyril <sc> Статус: Member
|
> Нужно написать маленькую прогу на Прологе! > > Суть Задачи: > > Есть кошелек в него ложиться не более 40 монет (то есть от > 1 до 40) > начинается игра, первым либо юзер ходит, либо ЭВМ (по > выбору) > берут из кошеля за ход не более 3 монеток > > кто последнюю возмет тот и проиграл! > > Как эту задачку на Прологе реализовать ума не приложу! > Help!!! > Держи прогу(проверил, вроде работает), если в гости заедешь с тебя пиво ;-)
И почему в институтах до сих пор преподают эту бяку
......................................................................
Компьютер начинает и выигрывает ;-)
......................................................................
predicates
bank(integer, string)
compai(integer, integer)
goal
clearwindow,
write("Computer starting..."),nl,
bank(40, "Comp").
clauses
compai(Number, 0):-
Num=Number-3,
bank(Num,"Human").
compai(Number, 1):-
Num = Number-1,
bank(Num,"Human").
compai(Number, 2):-
Num = Number-1,
bank(Num,"Human").
compai(Number, 3):-
Num = Number-2,
bank(Num,"Human").
bank(1, "Comp"):-write("Comp looser...").
bank(1, "Human"):-write("Human looser...").
bank(Number,"Human"):-
write("bank="),write(Number),nl,
/* press only 1,2,3 key, else big gluk */
readchar(Choice),
Num = Number-(Choice-48),
bank(Num, "Comp").
bank(Number,"Comp"):-
write("bank="),write(Number),nl,
Ost = Number mod 4,
compai(Number, Ost).
|
|
К сожалению ничего конструктивного предложить не могу, но возник вопрос 08.10.03 13:16
Автор: amirul <Serge> Статус: The Elderman
|
> Есть кошелек в него ложиться не более 40 монет (то есть от > 1 до 40) > начинается игра, первым либо юзер ходит, либо ЭВМ (по > выбору) > берут из кошеля за ход не более 3 монеток > > кто последнюю возмет тот и проиграл! > > Как эту задачку на Прологе реализовать ума не приложу! > Help!!! Надеюсь, что это в рамках какой-нить лабораторной работы. Потому как задача явно рассчитана на алгоритмический язык. Применение пролога более-менее ограничено написанием экспертных систем. И только в институте и в армии могут заставить драить пол зубной щеткой.
Синтаксиса пролога не помню вообще (было в универе на лабораторных :-)))). Но из того, что я помню мой совет: не мучаться и написать экспертную систему. То бишь, если столько то монет и мой ход - брать столько то, потому как для реализации алгоритмов пролог не приспособлен вообще. Никто по поводу эффективности на лабах придираться не будет.
|
|
|