Скачиваний:
201
Добавлен:
17.06.2016
Размер:
2.69 Mб
Скачать

Целочисленная и вещественная арифметика

Турбо Пролог поддерживает предикаты и функции модульной арифметики,

целого деления, квадратные корни и абсолютные значения, тригонометрию,

трансцендентные функции, округление (вверх или вниз) и усечение. Они со-

держатся в таблице 11.3 и поясняются на следующих страницах.

Функция mod/2

Функция mod вычисляет остаток от деления X на Y (где X и Y целые).

X mod Y /* (i,i) */

Выражение Z = X mod Y ставит в соответствие Z результат. Например,

Z = 7 mod 4 /* Z будет равно 3 */

Y = 4 mod 7 /* Y будет равно 0 */

Функция div/2

Функция div вычисляет целое частное от деления X на Y (где X и Y це-

лые).

X div Y /* (i,i) */

Выражение Z = X div Y ставит в соответствие Z целую часть результа-

та. Например:

Z = 7 div 4 /* Z будет равно 1 */

Y = 4 div 7 /* Y будет равно 0 */

Функция abs/1

Функция abs возвращает абсолютное значение своего аргумента.

abs(X) /* (i) */

Выражение Z = abs(X) ставит в соответствие Z (если оно свободно) ре-

зультат, или возвратит Yes/No, если Z уже определено. Например,

Z = abs(-7) /* Z будет равно 7 */

Функция cos/1

Функция cos возвращает значение косинуса своего аргумента.

cos(X) /* (i) */

Выражение Z = cos(X) ставит в соответствие Z (если оно свободно) ре-

зультат, или возвратит Yes/No если Z уже определено. Например:

Pi = 3.141592653,

Z = cos(Pi) /* Z будет равно -1 */

Функция sin/1

Функция sin возвращает значение синуса своего аргумента.

sin(X) /* (i) */

Выражение Z = sin(X) ставит в соответствие Z (если оно свободно) ре-

зультат, или возвратит Yes/No если Z уже определено. Например:

Pi = 3.141592653,

Z = sin(Pi) /* Z будет равно 0 */

Функция tan/1

Функция tan возвращает значение тангенса своего аргумента.

tan(X) /* (i) */

Выражение Z = tan(X) ставит в соответствие Z (если оно свободно) ре-

зультат, или возвратит Yes/No если Z уже определено. Например:

Pi = 3.141592653,

Z = tan(Pi) /* Z будет равно 0 */

Функция arctan/1

Функция arctan возвращает арктангенс от целого значения, с которым

связано X.

arctan(X) /* (i) */

Выражение Z = arctan(X) ставит в соответствие Z (если оно свободно)

результат, или возвратит Yes/No если Z уже определено. Например:

Pi = 3.141592653,

Z = arctan(Pi) /* Z будет равно 1.2626272556 */

Функция exp/1

Функция exp возвращает значение e в степени зачения, с которым свя-

зано X.

exp(X) /* (i) */

Выражение Z = exp(X) ставит в соответствие Z (если оно свободно) ре-

зультат, или возвратит Yes/No если Z уже определено. Например:

Z = exp(2.5) /* Z будет равно 12,182493961 */

Функция ln/1

Функция ln возвращает значение натурального логарифма от X.

ln(X) /* (i) */

Выражение Z = ln(X) ставит в соответствие Z (если оно свободно) ре-

зультат, или возвратит Yes/No если Z уже определено. Например:

Z = ln(12.18293961) /* Z будет равно 2.5 */

Функция log/1

Функция log возвращает значение логарифма по основанию 10 от X.

log(X) /* (i) */

Выражение Z = log(X) ставит в соответствие Z (если оно свободно) ре-

зультат, или возвратит Yes/No если Z уже определено. Например:

Z = log(2.5) /* Z будет равно 0.39794000867 */

Функция sqrt/1

sqrt возвращает квадратный корень от X.

sqrt(X) /* (i) */

Выражение Z = sqrt(X) ставит в соответствие Z (если оно свободно)

результат, или возвратит Yes/No если Z уже связано. Например:

Z = sqrt(25) /* Z будет равно 5 */

Функция round/1

round возвращает округленное значение X.

round(X) /* (i) */

Функция round округляет X до ближайшего целого. Например:

Z1 = round(4.51) /* Z будет равно 5 */

Z2 = round(3.50) /* Z будет равно 3 */

Функция trunc/1

Функция trunc/1 усекает X справа до десятичной точки.

trunc (X) /* (i) */

Например:

Z=trunc(4.7) /* Z будет равно 4 */

Упражнение

Используйте тригонометрические функции Турбо Пролога для выдачи таб-

лици синусов, косинусов и тангенсов на экран. Левая колонка таблиц должна

содержать величину угла в градусах, начиная от 0 град. до 360 град. с ша-

гом в 15 град.

Замечание: Так как тригонометрические функции выражаются в радианах,

чтобы получить величины в левой колонке, вы должны перевести радианы

в градусы.

Градусы = Радианы*180/3,14159265...

Сравнение

Турбо Пролог может сравнивать арифметические выражения также как и

символы, строки и идентификаторы. Следующее выражение в Турбо Прологе эк-

вивалентно выражению: "Сумма X и 4 меньше 9 минус Y"

X+4 < 9-Y

Оператор отношения "меньше чем" (<) показывает отношение между двумя

выражениями, X+4 и 9-Y. Турбо Пролог использует инфиксную нотацию которая

означает, что оператор располагается между операндами (X+4) вместо того

чтобы предшествовать им (+(X,4)). Полный ряд отношений, разрешенных в Ту-

ро-Прологе показан в таблице 11.4.

Таблица 11.4 Операторы отношения

-------------------------------------------------

Идентификатор Отношения

-------------------------------------------------

< меньше

<= меньше или равно

= равно

> больше

>= больше или равно

<> или >< не равно

-------------------------------------------------

Соседние файлы в папке Документация