Вопрос начинающего пролога, как я могу назвать цель пролога в рамках правила - PullRequest
0 голосов
/ 04 мая 2020

Я написал небольшую прологическую задачу, которая находит комбинации начинки, равные 45 унциям. Эта часть кода работает. Что я не знаю, как это сделать, так это написать правило, которое я могу ввести q3 в терминал, и это вызывает пиццу, чтобы я мог просто нажать; как я смотрю на возможные комбинации. Вызов только пиццы (1, M, 1, O, C) работает нормально. Не уверен, как это должно работать в приведенном ниже правиле и просматривал учебник.

pizza(P, M, B, O, C) :-
    member(P, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]),
    member(M, [0, 1, 2, 3, 4]),
    member(B, [0, 1, 2, 3, 4, 5, 6]),
    member(O, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]),
    member(C, [0, 1, 2, 3, 4, 5]),
    /* how many of each topping, 45 is limit*/
    Weight is 5*P + 10*M + 7*B + 3*O + 8*C,
    Weight =:= 45.

q3 :- 
    pizza(1, M, 1, O, C). 

Напишите правило с именем q3: - условие, чтобы задать следующий вопрос (цель), чтобы пользователь набрал | ? - q3. Чтобы проверить вопрос. | ? - пицца (1, М, 1, О, C).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...