Хорошо. Это моя проблема. Мне нужно реализовать предикат, который суммирует все цены на продукты в списке. Но на данный момент я не получаю от этого никаких дальнейших действий. Что я делаю неправильно? Спасибо заранее.Пролог - Небольшое упражнение по фактам
domains
state = reduced ; normal
database
producte (string, integer, state)
predicates
nondeterm calculate(integer)
clauses
% ---> producte(description , price , state)
producte("Enciam",2,normal).
producte("Llet",1,reduced).
producte("Formatge",5,normal).
calculate(Import):-
producte(_,Import,_).
calculate(Import):-
producte(_,Import,_),
calculate(Import2),
Import=Import2+Import,!.
Goal
calculate(I).
Что вы пытаетесь сделать? В PROLOG вам нужно указать вещи, которые являются истинными. Линия «producte» («Enciam», 2, normal) ». говорит, что это правда, что Enciam, с ценой 2 и нормальным статусом, является продуктом. Строка «вычислить (импорт): - producte (_, Import, _)». говорит, что Импорт удовлетворяет вычислению, если есть продукт с ценой Импорт. Это не имеет большого смысла. Если вам нужен пример вычисления суммы вещей в списке, я буду рад предоставить один ... – Patrick87
Большое вам спасибо. Но если это должно быть с «фактами/базами данных»? – mkll