Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2011, 14:40   #1
MikhailSoin
Новичок
Джуниор
 
Регистрация: 28.12.2011
Сообщений: 1
По умолчанию turbo prolog дорешать

Приветствую всех участников форума! Очень надеюсь на вашу помощь:
Написал программу а она выводит много решений при подстановке
Код:
fail
после вывода ответа!

Помогите разобраться. Мне сказали что надо списки поправить в задаче.
Вот она собственно:
Код:
domains
person=p(string,string,string)
persons=person*

predicates
member(person,persons)
flower(string)
dom(string)
name(string)
solve

clauses
member(H,[H|_]):-!.
member(X,[_|T]):-
member(X,T).

flower("Rosy").
flower("Romash").
flower("Tulp").
name("Nif").
name("Nuf").
name("Naf").
dom("Solom").
dom("Derev").
dom("Kirp").
solve:-
dom(NifD),
flower(NifF),
NifD<>"Solom",
dom(NafD),
flower(NafF),
NafF<>NifF,
NafF<>"Tulp",
NafF<>"Romash",
NafD<>"Derev", NafD<>NifD,
dom(NufD),
flower(NufF),
NufF<>NafF,NufF<>NifF,
NufD<>NafD, NufD<>NifD,


Prs=[p(NifD,NifF,"Nif"),
	p(NafD,NafF,"Naf"),
	p(NufD,NufF,"Nuf")],
	
member(p("Derev","Romash",_),Prs),
member(p("Solom",_,_),Prs),
member(p(_,"Rosy",_),Prs),

write(NifD,NifF,"Nif"),nl,
write(NafD,NafF,"Naf"),nl,
write(NufD,NufF,"Nuf"),nl,fail.


goal
solve.
Условия:
Имеем три поросенка одноименных, три их домика из соломы, дерева и кирпича, и цветы около домиков: розы, ромашки, тюльпаны!

Знаем: Ниф не в соломенном,
Наф не в деревянном,
Возле соломеннго дома не розы,
Возле деревянного растут ромашки,
У Нафа не тюльпаны около дома.

Ну и соответственно надо вывести кто где живет и какие цветы выращивает.

В общем в приведенной задаче выводится много ответов, думаю список или предикат member не так задал...
MikhailSoin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Turbo Prolog Friends Помощь студентам 1 24.12.2011 09:10
Turbo Prolog. загадочная Помощь студентам 2 25.10.2011 08:51
Turbo prolog ТриСемёрки Помощь студентам 1 03.11.2010 13:36
Turbo Prolog L11L Помощь студентам 0 22.04.2010 11:17