Официальный сайт студ.городка НГТУ
Программирование и БД » Prolog 

#1  27.03.09 00:14

Prolog

Помогите разобраться : в чем ошибка?

DOMAINS

intlist=integer*
queenlist=q*
queen (integer,integer)

PREDICATES
solution (queenlist)
notbeat (queen, queenlist)
belongs (integer, intlist).
template (queenlist)
start

CLAUSES
solution ([ ]).
solution ([queen (X,Y)|Rest]):- solution (Rest),
                                belongs (Y, [1,2,3,4,5,6,7,8]),
                                notbeat (queen (X,Y),Rest).
notbeat (_,[ ]):- !.
notbeat (queen (X,Y), [queen (X1,Y1)|Rest]):- Y<>Y1,
                                              TmpY1=Y1-Y,
TmpX1=X1-X,
                                              TmpY1<>TmpX1,
                                              TmpX=X-X1,
                                              TmpY1<>TmpX,
                                              notbeat (queen (X,Y),Rest).
belongs (X, [X|L]).
belongs (X, [Y|L]):- belongs (X,L).
template ([queen (1,Y1),queen (2,Y2),queen (3,Y3),queen (4,Y4),queen (5,Y5),queen (6,Y6),queen (7,Y7),queen (8,Y8)]).
start:- template (S), solution(S), write(S), nl, fail.
start.

GOAL
start.

Offline

#2  03.04.09 13:36

Re: Prolog

наверно нет ошибок?

Offline

#3  03.04.09 14:49

Re: Prolog

temnenkaja написал(а):

в чем ошибка?

в цвете волос?)

Offline

#4  03.04.09 20:26

Re: Prolog

)) признаюсь, у меня парик

Offline

#5  03.04.09 23:36

Re: Prolog

Как так у один предикат заканчиваются точкой, а остальные нет? На месте компилятора я бы сругался.

Исправлено Malkolm (03.04.09 23:37)

Offline

#6  03.04.09 23:37

Re: Prolog

И да, это же логическая программа. Хотя бы словесное ее описание приложить стоило бы. Совсем резленились )

Offline

#7  04.04.09 17:16

Re: Prolog

этож девушки)) пусть хоть и с АВТФа))

ну она почитает и поймёт, что одного кода программы не достаточно..

Offline

#8  04.04.09 23:08

Re: Prolog

queenlist=q*
q=queen (integer,integer)

все в порядке, спасибо за помощь :)

Offline

Программирование и БД » Prolog 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.026 сек.
Выполнено 14 запросов.