Вопросы по теме 'prolog-toplevel'
Как вернуть как переменный результат, так и истину/ложь в Прологе?
Звучит глупо, но предположим, что мой предикат "самый большой/2" возвращает самый большой элемент в списке... вывод должен выглядеть так:
?- largest([1,2,3,4,5], X).
X = 5.
false.
Я реализовал самый большой, и он работает так же, как и выше,...
5444 просмотров
schedule
11.01.2023
Возврат пролога при поиске решения и возвращение ложного
Я пытаюсь взломать Prolog (используя SWI-Prolog), и все работает так, как я хочу, то есть логика вычисляется правильно и находит правильные решения, но вся эта штука с возвратом меня лажает.
Вот код:
tall(X) :- skinny(X) ; eatless(X)....
1814 просмотров
schedule
15.11.2022
Пролог: условие остановки?
Вот очень простая база знаний Пролога:
spouse(bill,cheryl).
married(X,Y) :- spouse(X,Y).
married(X,Y) :- spouse(Y,X).
Я выполнил следующие запросы. Обратите внимание, что иногда ответом является правильное имя (только), но в других случаях...
1853 просмотров
schedule
20.03.2022
Не понимаю результат Пролога
Я новичок в Prolog. У меня есть такой код:
loves(vincent, mia).
loves(marsellus,mia).
jealous(X,Y):- loves(X,Z), loves(Y,Z).
Я спросил jealous(vincent,W) . Но SWI-Prolog дает мне W = vincent ! Разве это не должно быть W = marsellus ?
122 просмотров
schedule
30.04.2022
Предикат распечатывает неожиданное значение false
Я пытаюсь написать предикат likes/2 таким образом, чтобы он работал следующим образом:
?- likes(A,alan).
A = lindsay ;
A = chloe ;
A = cheyanne ;
A = britney ;
Вот как я решаю проблему:
% Define your facts:
combo(lindsay,alan)....
323 просмотров
schedule
24.12.2022
Переменная не печатает все значение Prolog
Если я назначу что-то вроде process([[baby],[boy],[[is]dancing],[with],[[the][family]]],A) , то он выдаст результат как
A = [[baby],[boy],[[is]dancing],[with],[[..][..]]].
Я хочу, чтобы он показывал все значения на терминале. Что-то вроде...
131 просмотров
schedule
21.12.2023
В чем разница между false и no в Prolog
Я начал изучать Пролог после прочтения книги Программирование на Прологе: Использование ISO Стандарт . На странице 7 введения к языку они сделали утверждение: «В Прологе ответ нет используется для обозначения ничего не объединяется с вопросом ....
3992 просмотров
schedule
19.07.2023
Пролог, при запуске написать что-нибудь
Я хочу отображать строку на терминале, когда пользователь ее выполняет. Но я хочу сделать это без вызова какого-либо предиката. Например, если код такой:
print_sth(String):-write(String).
он напечатает некоторую строку, только если я сделаю...
79 просмотров
schedule
25.02.2024
Почему SWI-Prolog дает мне только первый ответ?
Я новичок в Prolog. Я просто пытаюсь выучить простые примеры. У меня есть этот .pl файл со следующими строками:
parent(pam,bob).
parent(tom,bob).
parent(tom,lio).
parent(bob,ann).
parent(bob,pat).
parent(pat,jim).
После консультации и...
2939 просмотров
schedule
27.03.2023
Запрос возвращает true/false
Недавно я начал изучать Prolog и столкнулся с проблемой.
В Prolog загружено следующее:
likes(john, apple).
likes(john, pear).
likes(john, grapes).
likes(bill, mango).
likes(bill, apple).
Я пишу предикат all_like(What, List) , который...
12397 просмотров
schedule
24.02.2023
Prolog - вернуть результат вместо печати в алгоритме
Я знаю, что в Прологе технически нет «возврата», но я не знал, как иначе сформулировать вопрос.
Я нашел пример кода алгоритма поиска маршрутов между станциями метро. Он работает хорошо, однако предполагается, что он просто печатает результат,...
433 просмотров
schedule
12.02.2024
Результат PROLOG vs истина
У меня есть следующий код в файле с именем "testing.pl":
fact(1).
fact(2).
fact(3).
funcA(X) :- funcB(X).
funcB(X) :- fact(X).
testing :- funcA(_X).
Затем в интерпретаторе SWI-Prolog я запрашиваю funcA(X). , и на выходе получается:
X...
907 просмотров
schedule
30.11.2022
Ошибка типа: `character_code' ожидается с прологом
Я новичок в прологе. Я писал код с проблемой гипотезы Гольдбаха, в которой я должен перечислить все возможные группы одного четного числа. Я нашел такой код:
is_prime(2).
is_prime(3).
is_prime(P) :- integer(P), P > 3, P mod 2 =\= 0, \+...
1982 просмотров
schedule
10.07.2022
Выход из SICStus — командная строка
Есть ли другой способ выйти из SICStus в командной строке без необходимости нажимать ^C плюс e после (я не всегда могу попасть в это «меню справки» с помощью ^C ).
«Настоящий» вопрос заключается в том, существует ли такая команда, как :exit...
72 просмотров
schedule
30.05.2023
Дополнительный «false» в конце запроса
В основном мне интересно, почему одно из моих определений для нового предиката g приводит к тому, что мой запрос заканчивается на «ложь», а другое определение сразу возвращается к «?-».
Учитывая такую базу данных:
f(a,b).
f(b,c).
f(c,d)....
18 просмотров
schedule
28.03.2023
Как увидеть все ответы в SWI-Prolog, не нажимая пробел?
Простой пример:
?- between(1,10,X).
X = 1 ;
X = 2 ;
X = 3 ;
X = 4 ;
X = 5 ;
X = 6 ;
X = 7 ;
X = 8 ;
X = 9 ;
X = 10.
Когда это делается с помощью SWI-Prolog с использованием REPL, чтобы увидеть следующий ответ, необходимо нажать пробел.
Как...
2251 просмотров
schedule
31.08.2023
Пролог возвращает true вместо yes
Мой код Пролога должен возвращать да (или нет) после ввода запроса, но вместо этого возвращает «true?» и требуя, чтобы я нажал клавишу ввода, чтобы получить «да».
Проблема с русскими куклами, порядок кукол от внешнего к внутреннему: катрина->...
266 просмотров
schedule
17.05.2023
Как отправить EOF на Prolog swipl REPL в Windows, чтобы закрыть псевдопользовательский файл?
Я использую swipl.exe Prolog REPL в Windows и пытаюсь использовать пользователя псевдофайл , открытый с помощью [user]. , но я не могу найти сочетание клавиш, чтобы оставить псевдофайл:
c:\code>swipl.exe
Welcome to SWI-Prolog (threaded, 64...
102 просмотров
schedule
25.09.2022
Пролог: сохранение результата операции
только начал программировать на прологе, и у меня есть несколько проблем. Я хочу сохранить результат операции, например:
transformer(kilo,1000).
transformer(hecto,100).
transformer(deca,10).
transformer(unite,1).
transformer(deci,0.1)....
41 просмотров
schedule
13.01.2023