Арифметическая операция в условии поиска - Prolog
Формулировка задачи:
Здравствуйте!
Здравствуйте!
Есть вопрос по поиску во внутренней базе данных. Используется Arity Prolog, хотя он тут и не популярен.
База такая, данные о книгах библиотеки:
Требуется вывести информацию о всех книгах, изданных Х лет назад. Поле "год издания" предпоследнее в каждой записи.
X вводится с клавиатуры.
Для начала использовал вот такой работающий, но упрощенный код - вводим год издания и выводим список книг, изданных раньше этого года. В данном случае выводим только код книги и год издания, чтобы не загромождать код.
Все работает. Для сравнения символьных строк используется оператор "@<". С простым "<" не работает.
А вот все попытки прикрутить туда арифметику, вводя число лет и вычитая из 2016 это число ни к чему не привели.
Пробовал и вот так:
И вот так:
Но это не работает.
В чем может быть загвоздка? Подскажите пожалуйста!
Решение задачи: «Арифметическая операция в условии поиска»
textual
Листинг программы
... read_line(0,Y), int_text(YInt,Y), ... book(Kod,Avtor,Nazvanie,Mesto,Izdatel,God,Str), int_text(GodInt,God), ...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д