Язык Пролог не предназначен для программирования задач с большим количеством арифметических операций. Для этого используются процедурные языки программирования. Однако в любую Пролог-систему включаются все обычные арифметические операторы:
+ сложение - вычитание
* умножение / деление mod остаток от деления целых чисел div целочисленное деление.
В некоторых реализациях языка Пролог присутствует более широкий набор встроенных арифметических операторов. Пролог позволяет также сравнивать арифметические выражения, используя следующие встроенные предикаты:
Диапазоны чисел, входящих в арифметические выражения, зависят от реализации Пролога. Например, система ICLPROLOG оперирует с целыми числами со знаком в диапазоне: –8388606 ... 8388607.
Арифметическое выражение является числом или структурой. В структуру может входить одна или более компонент, таких, как числа, арифметические операторы, арифметические списковые выражения, переменная, конкретизированная арифметическим выражением, унарные функторы, функторы преобразования и арифметические функторы.
Числа и их диапазоны определяются в конкретной реализации Пролога. Арифметические списковые выражения. Если Х - арифметическое выражение, то список [X] также является арифметическим выражением, например [1,2,3]. Первый элемент списка используется как операнд в выражении. Так,
X is ([l,2,3]+5)
имеет значение 6. Арифметические списковые выражения полезны и при обработке символов, поскольку последние могут рассматриваться как небольшие целые числа. Например, символ "а" эквивалентен [97] и, будучи использован в выражении, вычисляется как 97. Поэтому значение выражения “р”+"А"-"а" равно 80, что соответствует коду ASCII для “Р”.
Переменная, конкретизированная арифметическим выражением.
Х-5+2 и У-3*(2+А)
Унарные функторы:
+(Х) и -(У)
Функторы преобразования. В некоторых реализациях Пролога имеется арифметика с плавающей точкой, а следовательно, и функторы преобразования. Например, float (X) преобразует целое число Х в число с плавающей точкой.
Опубликовал Kest
September 28 2010 13:15:41 ·
0 Комментариев ·
9559 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.