Интеллектуальные информационные системы. Макаренко С.И. - 128 стр.

UptoLike

Составители: 

127
Диапазоны чисел, входящих в арифметические выражения, зависят от
реализации Пролога. Например, система ICLPROLOG оперирует целыми
числами со знаком в диапазоне: –8388606 ... 8388607.
14.6.1 Арифметические выражения
Арифметическое выражение является числом или структурой. В
структуру может входить одна или более компонент, таких, как числа,
арифметические операторы, арифметические списковые выражения,
переменная, конкретизированная арифметическим выражением, унарные
функторы, функторы преобразования и арифметические функторы.
- Числа. Числа и их диапазоны определяются в конкретной
реализации Пролога.
- Арифметические операторы
+ - * / mod div
- Арифметические списковые выражения. Если
Х
арифметическое выражение, то список
[X ]
также является
арифметическим выражением, например
[1,2,3]
. Первый элемент
списка используется как операнд в выражении. Скажем,
X is
([l,2,3]+5)
имеет значение
6
.
Арифметические списковые выражения полезны и при обработке
символов, поскольку последние могут рассматриваться как небольшие целые
числа. Например, символ "а" эквивалентен
[97 ]
и, будучи использован в
выражении, вычисляется как 97. Поэтому значение выражения
"р"+"А"-"а"
равно 80, что соответствует коду ASCII для "Р".
Переменная, конкретизированная арифметическим выражением.
Примеры:
Х-5+2
и
У-3*(2+А).
Унарные функторы. Примеры:
+(Х)
и
-(У)
.
Функторы преобразования. В некоторых реализациях Пролога имеется
арифметика с плавающей точкой, а следовательно, и функторы
преобразования. Например:
float (X)
преобразует целое число
Х
в число с плавающей точкой.
Математические функторы. Пример: квадрат
(Х)
объявлен как
оператор и эквивалентен арифметическому выражению
(Х*Х)
.
14.6.2 Арифметические операторы
Атомы
+, -, *, /, mod, div
обычные атомы Пролога и могут
использоваться почти в любом контексте. Указанные атомы не
встроенные предикаты, а функторы, имеющие силу только в пределах
арифметических выражений. Они определены как инфиксные операторы.
     Диапазоны чисел, входящих в арифметические выражения, зависят от
реализации Пролога. Например, система ICLPROLOG оперирует целыми
числами со знаком в диапазоне: –8388606 ... 8388607.

                  14.6.1 Арифметические выражения

     Арифметическое выражение является числом или структурой. В
структуру может входить одна или более компонент, таких, как числа,
арифметические операторы, арифметические списковые выражения,
переменная, конкретизированная арифметическим выражением, унарные
функторы, функторы преобразования и арифметические функторы.
      - Числа. Числа и их диапазоны определяются в конкретной
        реализации Пролога.
      - Арифметические операторы + - * / mod div
      - Арифметические списковые выражения. Если Х —
        арифметическое выражение, то список [X ] также является
        арифметическим выражением, например [1,2,3]. Первый элемент
        списка используется как операнд в выражении. Скажем, X is
        ([l,2,3]+5) имеет значение 6.
      Арифметические списковые выражения полезны и при обработке
символов, поскольку последние могут рассматриваться как небольшие целые
числа. Например, символ "а" эквивалентен [97 ] и, будучи использован в
выражении, вычисляется как 97. Поэтому значение выражения "р"+"А"-"а"
равно 80, что соответствует коду ASCII для "Р".
    Переменная, конкретизированная       арифметическим    выражением.
Примеры: Х-5+2 и У-3*(2+А).
     Унарные функторы. Примеры: +(Х) и -(У).
     Функторы преобразования. В некоторых реализациях Пролога имеется
арифметика с плавающей точкой, а следовательно, и функторы
преобразования. Например:
     float (X) преобразует целое число Х в число с плавающей точкой.
     Математические функторы. Пример: квадрат (Х) объявлен как
оператор и эквивалентен арифметическому выражению (Х*Х).

                  14.6.2 Арифметические операторы

     Атомы +, -, *, /, mod, div — обычные атомы Пролога и могут
использоваться почти в любом контексте. Указанные атомы — не
встроенные предикаты, а функторы, имеющие силу только в пределах
арифметических выражений. Они определены как инфиксные операторы.


                                  127