информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Срочно! кто нить в прологе рубит? 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!!!
Надеюсь, что это в рамках какой-нить лабораторной работы. Потому как задача явно рассчитана на алгоритмический язык. Применение пролога более-менее ограничено написанием экспертных систем. И только в институте и в армии могут заставить драить пол зубной щеткой.

Синтаксиса пролога не помню вообще (было в универе на лабораторных :-)))). Но из того, что я помню мой совет: не мучаться и написать экспертную систему. То бишь, если столько то монет и мой ход - брать столько то, потому как для реализации алгоритмов пролог не приспособлен вообще. Никто по поводу эффективности на лабах придираться не будет.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach