|
Страницы: [1] | << Новый | Старый >> | Ответ не возможен |
Внимание! Этот топик устарел. Пожалуйста, создайте новый топик, чтобы задать интересующий Вас вопрос.
Автор | Сообщение | ||
Denis Денис Дек, 2006 Сообщений: 3 | Denis url://forum.message:1781 От новичка: нужна помощь в написании запроса есть переменная: cust(X, existing) <- between(X, Y), <(Y, 365).
cust(X, new) <- between(X, Y), >=(Y, 365).
если ставить запрос: Это сообщение было отредактировано Denis 25.12.06 17:22. | ||
25.12.06 16:55 | URL сообщения | Журнал | Приват | Инфо об авторе | ||
popoff Yuri ![]() Июл, 2004 Сообщений: 923 | popoff url://forum.message:1782 Denis, у предиката cust 2 аргумента. Вы хотите в запросе использовать один аргумент? ~~~~~ 25 Дек 2006, 15:08 ~~~~~ Что за задачу Вы решаете? ________________________________ Если не будет деревьев — нам нечем будет дышать, если вода загрязнится — нам нечего будет пить. | ||
25.12.06 17:07 | URL сообщения | Журнал | Приват | Инфо об авторе | ||
Denis Денис Дек, 2006 Сообщений: 3 | Denis url://forum.message:1783 Я исправил between(1, 761). на between(1, 360). Это сообщение было отредактировано popoff 25.12.06 17:30. | ||
25.12.06 17:26 | URL сообщения | Журнал | Приват | Инфо об авторе | ||
popoff Yuri ![]() Июл, 2004 Сообщений: 923 | popoff url://forum.message:1784 Denis,
Это тайна?
between - это не переменная, а факт. Х, Y - это переменные. К сожалению, на Ваш вопрос невозможно ответить, потому что Вы непонятно его сформулировали. Также, в Вашем последнем посте Вы не ответили ни на один из моих вопросов. ________________________________ Если не будет деревьев — нам нечем будет дышать, если вода загрязнится — нам нечего будет пить. | ||
25.12.06 17:34 | URL сообщения | Приват | Инфо об авторе | ||
Denis Денис Дек, 2006 Сообщений: 3 | Denis url://forum.message:1785 Извините за настойчивость. Версии я вам не скажу, потому что не знаю between(1, 360).
between(2, 1751).
cust(X, existing) <- between(X, Y), <(Y, 365).
cust(X, new) <- between(X, Y), >=(Y, 365).
запрос:
cust(X, existing).
вывод: cust(1, existing).yes
----------------------------
Я хочу использовать 2 аргумента, но необходимо исправить правила так, чтобы в запросе вместо cust(X, existing). писать cust(X, 320). и в результате был вывод cust(1, existing).yes или cust(1, 320).yes. Надеюсь, мой ответ стал немного понятнее. С уважением, Денис. Это сообщение было отредактировано popoff 25.12.06 18:27. | ||
25.12.06 17:54 | URL сообщения | Журнал | Приват | Инфо об авторе | ||
popoff Yuri ![]() Июл, 2004 Сообщений: 923 | popoff url://forum.message:1787
Так нельзя написать ни в одной версии пролога. cust - это предикат, и пролог просто говорит, при каких значениях аргументов этот предикат истинен. Значения аргументов могут быть заданы, а могут быть не заданы. Если не заданы, то пролог подбирает такие значения, при которых предикат был бы истинен и возвращает их. Если аргументы заданы, то пролог просто проверяет истинность предиката. В данном случае cust(X, 320) второй аргумент - 320 - задан. Пролог не может поменять одно значение на другое. Он просто проверит, истинен ли предикат cust в случае, если на втором месте записано 320. Очевидно, для Вашей программы будет ложь, так как для предиката cust на втором месте возможно только одно из двух значений - existing и new.
А ещё в прологе есть понятие «анонимная переменная». Вы можете поискать, как она записывается в Вашей версии пролога. Обычно она обозначается подчёркиванием. Анонимная переменная означает, что предикат истинен при любых значениях этого аргумента. Например, так: ________________________________ Если не будет деревьев — нам нечем будет дышать, если вода загрязнится — нам нечего будет пить. | ||
25.12.06 18:24 | URL сообщения | Приват | Инфо об авторе | ||
Внимание! Этот топик устарел. Пожалуйста, создайте новый топик, чтобы задать интересующий Вас вопрос.
Страницы: [1] | << Новый | Старый >> | Ответ не возможен |
Вход |
Цитирование материалов моего сайта приветствуется! при условии видимой действующей! гиперссылки на мой сайт. [Ссылки] Если Вы нашли опечатку на этой странице, пожалуйста, выделите ее мышью и нажмите Ctrl+Enter. Сделаем язык чище! (c) Yuri Popoff, 2004 - 2008, popoff.donetsk.ua, style.donetsk.ua |
|