Алгебраические и тригонометрические функции
В данном разделе собраны функции, результатом работы которых является скалярная величина или набор скалярных величин.
Вычисление абсолютного значения числа
DOUBLE Abs(DOUBLE <X>)
Функция Abs возвращает абсолютное значение числа <X>
Пример:
=Abs(3); 3 =Abs(-7); 7
Вычисление квадратного корня
DOUBLE Sqrt(DOUBLE <X>)
Функция Sqrt вычисляет корень квадратный из <X>
. <X>
должен быть больше или равен нулю.
Пример:
=Sqrt(4); 2
Вычисление логарифмов
DOUBLE Ln(DOUBLE <X>)
Функция Ln вычисляет натуральный логарифм числа <X>
.
DOUBLE Lg(DOUBLE <X>)
Функция Lg вычисляет десятичный логарифм числа <X>
.
DOUBLE Log(DOUBLE <X>, DOUBLE <Y>)
Функция Log вычисляет логарифм числа <X>
по основанию <Y>
. Аргументы <X>
и <Y>
должны быть строго больше ноля.
Вычисление экспоненты
DOUBLE Exp(DOUBLE <X>)
Функция Exp возводит число e (2.71828...) в степень <X>
.
Возведение в степень
DOUBLE Pow(DOUBLE <X>, INT <N>)
Функция Pow возводит число <X>
в степень <N>
. <N>
не должно быть отрицательным.
Пример:
=Pow(2,3); 8
Вычисление значений полинома
DOUBLE Poly(DOUBLE <X>, INT <N>, DOUBLE ARRAY <C>)
Функция Poly вычисляет значение полинома с аргументом <X>
, степени <N>
по формуле:
В массиве <C>
должны храниться <N>
+1 коэффициентов полинома. Первый элемент массива соответствует свободному члену, <N>
+1-й — коэффициенту <X>
в степени <N>
Пример:
Defarr c[3]; c[1]=6; c[2]=3; c[3]=2; =Poly(5,2,c) // 71
Число Пи
DOUBLE Pi()
Функция Pi возвращает значение числа π (3.1415926...).
Пример:
=Pi(); 3.142
Функции округления
DOUBLE Round(DOUBLE <Num>[, DOUBLE <Precision>])
Функция Round осуществляет округление с заданной точностью. Если параметр <Precision>
не задан, то округляет с точностью 1.0
Округление осуществляется по формуле ,
где floor(x) – наибольшее целое, меньшее или равное числа x.
Пример:
=Round(1.456); 1 =Round(1.456,0.1); 1.5
Int Floor(Double <Num>)
Функция Floor округляет число <Num>
до ближайшего целого в меньшую сторону
Int Ceil(Double <Num>)
Округляет Ceil число <Num>
до ближайшего целого в большую сторону
Пример:
=floor(3.2); 3 =ceil(3.2); 4 =floor(3.9); 3 =ceil(3.9); 4 =floor(-3.2); -4 =ceil(-3.2); -3
Вычисление максимума и минимума
DOUBLE Min(DOUBLE <X>, DOUBLE <Y>[, double <Z>[, double <XX>]…])
Double Min(double array <Arr>[, int <Beg>[, int <Numb>]])
Функция Min возвращает минимальное из чисел <X>
и <Y>
и т. д. или из массива <Arr>
. Необязательные параметры <Beg>
и <Numb>
задают соответственно начальный элемент массива, с которого производится поиск и количество элементов массива.
DOUBLE Max(DOUBLE <X>, DOUBLE <Y>[, double <Z>[, double <XX>]…])
Double Max(double array <Arr>[, int <Beg>[, int <Numb>]])
Функция Max возвращает максимальное из чисел <X>
и <Y>
и т.д. или из массива <Arr>
. Необязательные параметры <Beg>
и <Numb>
задают соответственно начальный элемент массива, с которого производится поиск и количество элементов массива.
Пример:
=Min(5,2); 2 =Max(5,2); 5 =Max(1,4,3,6,4); 6
Целая часть числа
INT Int(DOUBLE <X>)
Функция Int возвращает целую часть числа <X>
.
Пример:
=Int(2.3); 2 =Int(-2.9) -2
Для округления числа рекомендуется пользоваться функциями округления (см. выше) |
Случайные числа
VOID Randomize()
Функция Randomize осуществляет начальную установку для получения последовательности случайных чисел.
DOUBLE Random(DOUBLE <A>, DOUBLE <B>)
Функция Random возвращает случайное число из интервала (<A>,<B>
)
Пример.
//-- Фрагмент макрокоманды отрисовки от 10 до 100 окружностей //-- с центрами в квадрате от -100 до 100 и радиусами от 10 до 50 Randomize(); n=Random(10,100); i=1; met: Circle Random(-100,100), Random(-100,100), 0, Normal 0,0,1; if (i<n) { i=i+1; goto met; } exit;
Знак числа
INT Sgn(DOUBLE <X>,[DOUBLE <Eps>])
Функция Sgn возвращает знак числа. Если число <X>
положительно, функция возвращает 1, если число <X>
отрицательно, возвращает -1, если число <X>
равно нулю, возвращает 0.
Необязательный параметр <Eps>
определяет диапазон значений, в пределах которых число считается нулевым и функция возвращает 0. Если <Eps>
отрицательно, то считается, что оно равно нулю.
Пример:
=Sgn(10); 1 =Sgn(-10); -1 =Sgn(0); 0 =Sgn(0.5,1); 0 =Sgn(-0.5,1); 0 =Sgn(1,-5); 1
Остаток от деления
INT Fmod(INT <X>, INT <Y>)
Функция Fmod возвращает остаток от деления <X>
на <Y>
Пример:
=fmod(5,3); 2
Функции перевода величин
DOUBLE Grad(DOUBLE <X>)
Функция Grad переводит значение угла <X> из радиан в градусы.
Пример.
=Grad(Pi()); 180
DOUBLE Radian(DOUBLE <X>)
Функция Radian переводит значение угла <X>
из градусов в радианы.
=Radian(90); 1.571
Тригонометрические функции
DOUBLE Sin(DOUBLE <X>)
Функция Sin вычисляет синус угла <X>
. Угол <X>
задается в радианах.
Пример.
=Sin(Radian(90)); 1
DOUBLE Cos(DOUBLE <X>)
Функция Cos вычисляет косинус угла <X>
. Угол <X>
задается в радианах.
DOUBLE Tan(DOUBLE <X>)
Функция Tan вычисляет тангенс угла <X>
. Угол <X>
задается в радианах. Аргумент <X>
не должен равняться
Обратные тригонометрические функции
DOUBLE Asin(DOUBLE <X>)
Функция Asin вычисляет арксинус числа <X>
. Аргумент должен быть в переделах (-1,1).
Пример.
=Asin(1); 1.571
DOUBLE Acos(DOUBLE <X>)
Функция Acos вычисляет арккосинус числа <X>
. Аргумент должен быть в переделах (-1,1).
DOUBLE Atan(DOUBLE <X>)
Функция Atan вычисляет арктангенс числа <X>
.