Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с решением задчи в Prolog 
:(
    Опции темы
SkySokol
  Дата 15.10.2009, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.10.2009

Репутация: нет
Всего: нет



«Пятеро студентов едут на велосипедах.    Их зовут Сергей, Борис, Леонид, Григорий и Виктор.    Велосипеды сделаны в пяти городах: Риге, Пензе, Львове, Харькове и Москве.  Каждый из студентов родился в одном из этих городов, но ни один из студентов не едет на велосипеде, сделанном на его родине.    Сергей едет на велосипеде, сделанном в Риге. Борис родом из Риги, у него велосипед из Пензы.    У Виктора велосипед из Москвы.    У Григория велосипед из Харькова. Виктор родом из Львова.   Уроженец Пензы едет на велосипеде, сделанном на родине Леонида.
Кто из студентов родом из Москвы ?»

Голову уже неделю ломаю.
Прога Strawberry Prolog 2.3

допетрил только до этого, но чего-то не хватает

Код

student(X):-X="serg"; X="boris"; X="leonid"; X="grig"; X="viktor".
gorod(X):-X="riga"; X="penza"; X="lvov"; X="xarkov"; X="moskva".
velo_from(X):-X="riga"; X="penza"; X="lvov"; X="xarkov"; X="moskva".
who_velo(X, Y):- student(X), velo_from(Y), X="serg", Y="riga".
who_velo(X, Y):- student(X), velo_from(Y), X="boris", Y="penza".
who_velo(X, Y):- student(X), velo_from(Y), X="viktor", Y="moskva".
who_velo(X, Y):- student(X), velo_from(Y), X="grig", Y="xarkov".

velo(X,Y):- student(X), gorod(Y), who_velo(X,Y), !;
student(X),gorod(Y), not(who_velo(X, _ )), not(who_velo( _,Y)).
who_gorod(X, Y):- student(X), town(Y), X="boris", Y="riga".
who_gorod(X, Y):- student(X), town(Y), X="viktor", Y="lvov".
rodom_penza(X):- student(X), town(Y), Z=penza, not(who_gorod(X, _)),
gorod(U), not(U=Z), velo_from(X,U), rodom(leonid, U).
rodom(X, Z):- student(X), gorod(Z), who_gorod(X, Z), !;
student(X), not(X=leonid), Z=penza, rodom_penza(X), !;
student(X), gorod(Z), not(who_gorod(_, Z)), X=leonid, not(Z=penza),
student(K), not(who_gorod(K, _)), velo(K, Z);
student(X), not(X=leonid), gorod(Z), not(Z=penza), (who_gorod(_, Z)),
not(who_gorod(X, _)), gorod(Y), not(Y=Z), velo(X,Y),
not(rodom(leonid, Z)), not(rodom(leonid, Y)).




Это сообщение отредактировал(а) SkySokol - 15.10.2009, 23:42
PM MAIL   Вверх
Грымзик
Дата 15.10.2009, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 7.10.2009

Репутация: 6
Всего: 6



Да тут ошибка в том, что вызывается предикат town(Y), а он не определен.
PM MAIL   Вверх
SkySokol
Дата 20.10.2009, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.10.2009

Репутация: нет
Всего: нет



Я в прологе нуб.
Помогите решить.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Prolog | Следующая тема »


 




[ Время генерации скрипта: 0.0410 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.