На этом шаге мы рассмотрим целочисленную и вещественную арифметику.
Пролог поддерживает предикаты и функции модульной арифметики, целого деления, квадратные корни и абсолютные значения, тригонометрические и трансцендентные функции, округление (вверх или вниз) и усечение. Они приводятся в таблице 1 из шага 49 и поясняются ниже.
Функция mod вычисляет остаток от деления X на Y (где X и Y - целые).
X mod Y % (i,i)
Z=7 mod 4 %Z будет равно 3 Y=4 mod 7 % Y будет равно 4
Функция div вычисляет целое частное от деления X ни Y (где X и Y - целые).
X div Y % (i,i)
Z=7 div 4 %Z будет равно 1 Y=4 div 7 % Y будет равно 0
Функция abs возвращает абсолютное значение своего аргумента.
abs(X) % (i)
Z=abs(-7) % Z будет равно 7
Функция cos возвращает значение косинуса своего аргумента.
cos(X) % (i)
Pi=3.141592653,
Z=cos(Pi) % Z будет равно -1
Функция sin возвращает значение синуса своего аргумента.
sin(X) % (i)
Pi=3.141592653,
Z=sin(Pi) % Z будет почти равно 0
Функция tan возвращает значение тангенса своего аргумента.
tan(X) % (i)
Pi=3.141592653,
Z=tan(X) % Z будет равно почти 0
Функция arctan возвращает арктангенса от вещественного значения, с которым связано X.
arctan(X) % (i)
Pi=3.141592653,
Z=arctan(Pi) % Z будет равно 1.2626272556
Функция ехр возвращает значение е в степени значения, с которым связано X.
ехр(Х) % (i)
Z=ехр(2.5) % Z будет равно 12.182493961
Функция ln возвращает значение натурального логарифма от X (по основанию е).
ln(X) % (i)
Z=ln(12.182493961) % Z будет равно 2.5
Функция log возвращает значение логарифма по основанию 10 от X.
log(X) % (i)
Z=log(2.5) % Z будет равно 0.39794000867
Функция sqrt возвращает квадратный корень от X.
sqrt(X) % (i)
Z=sqrt(25) % Z будет равно 5
Функция round возвращает округленное значение X.
round(X) % (i)
Z1=round(4.51) % Z1 будет равно 5.0 Z2=round(3.40) % Z2 будет равно 3.0
Функция trunc усекает X справа до десятичной точки, отбрасывая дробную часть. Как и round, trunc не выполняет преобразование типов:
trunc(X) % (i)
Z=trunc(4.7) % Z будет равно 4.0,
На следующем шаге мы рассмотрим сравнение.