Арифметическая операция в условии поиска - 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),
...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы