![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
MacTep |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: нет Всего: 4 |
Условие задачи:
В пяти домах, окрашенных в разные цвета, обитают мужчины разных национальностей. Они держат разных животных, предпочитают разные напитки и курят сигареты разных марок. Известно, что: 1. Англичанин живет в красном доме. 2. У испанца есть собака. 3. Кофе пьют в зеленом доме. 4. Украинец пьет чай. 5. Зеленый дом – первый по правую руку от бежевого дома. 6. Курильщик «Уинстона» держит улиток. 7. Сигареты «Кул» курят в желтом доме. 8. Молоко пьют в среднем доме. 9. Норвежец живет в крайнем слева доме. 10. Мужчина, курящий «Честерфилд», живет в доме, соседнем с домом мужчины, у которого есть лиса. 11. Сигареты «Кул» курят в доме, соседнем с домом, где имеется лошадь. 12. Курящий «Лаки страйк» пьет апельсиновый сок. 13. Японец курит «Парламент». 14. Норвежец живет в доме рядом с голубым домом. Вопросы : У кого есть зебра? Кто пьет воду? Как такое возможно на Прологе написать? -------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
MacTep |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: нет Всего: 4 |
Вот я тут набросал решение, но прога у меня не работает. Может кто посоветует. Очень и очень надо. Помогите, кто чем может...
Это сообщение отредактировал(а) MacTep - 22.12.2006, 23:31 -------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: 2 Всего: 50 |
Прикинул, но у меня тоже на заработало. Точнее, работает, но вместо нужных соответствий всегда No.
либо я где-то ошибаюсь, либо я чего-то не понял ![]() ![]() -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
Artemios |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: 2 Всего: 50 |
При замене в 14 правиле норвежца на англичанина программа:
работает:
а при норвежце сопоставлений не находит. Это сообщение отредактировал(а) Artemios - 23.12.2006, 23:35 -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
||||
|
|||||
MacTep |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: нет Всего: 4 |
Слушай, а объясни, плиз, как им пользоваться, этим языком?
![]() ![]() -------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: 2 Всего: 50 |
Берешь мой пример (тот, что код без подсветки), сохраняешь в файл с расширением pl, например logic.pl .
Если SWI-Prolog используешь под Linux-ом: в консоли: $ cd <путь к директории с нужным файлом> $ pl ?- [logic]. ?- решение. Если под Windows-ом: запускаешь swi-prolog, в меню file->consult и ищешь/выбираешь свой файл logic.pl . после этого можешь набирать в пролог-консоли ?- решение. либо после открытия пролога сразу в пролог-консоли: ?- consult('полный путь к файлу logic.pl'). ?- решение. Да, в винде по умолчанию расширение *.pl ассоциируется с swi-prolog -ом, поэтому можно даже не открывая заранее пролог, двойной щелчок по файлу logic.pl -- пролог сам уже откроется с загруженной в БД нашей программой, и в консоли сразу пишешь: ?- решение. P.S. Только знаки ?- писать не надо -- это я показываю приглашение интерпретатора. -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
MacTep |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: нет Всего: 4 |
Спасибо большое.
![]() ![]() -------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: 2 Всего: 50 |
Спасибо
![]() -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |