Общее описание и примеры использования математических функций, функций преобразования, форматирования и строковых функций показаны в таблице.  

Функции

(В квадратных скобках указано количество исполняемых параметров)

Общее описание, пример использования

МАТЕМАТИЧЕСКИЕ

sin[1]

Тригонометрическая функция расчета синуса угла.

Формат: y=sin(x); где y – значение функции, x – аргумент функции (в радианах)

Пример:

y=sin(1.6)

Полученное событие:

Event : CORE  VAR_CHANGED nt_obj_id<1>,value<0.997495>,name<y>,time<15:26:41>,date<21-09-04>

сos[1]

Тригонометрическая функция расчета косинуса угла.

Формат: y=cos(x); где y – значение функции, x – аргумент функции (в радианах)

Пример:

y=cos(2.2)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<-0.588501>,name<y>,time<16:00:45>,date<21-09-04>

tan[1]

Тригонометрическая функция, возвращает тангенс угла.

Формат: y=tan(x); где y – значение функции, x – аргумент функции (в радианах)

Пример:

y=tan(1)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<1.557408>,name<y>,time<16:43:45>,date<21-09-04>

asin[1]

Возвращает арксинус заданного числового выражения.

Формат: y=asin(x); где y – значение функции (в радианах), x – аргумент

Пример:

y=asin(0.5)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<0.523599>,name<y>,time<16:46:39>,date<21-09-04>

acos[1]

Возвращает арккосинус заданного числового выражения.

Формат: y=acos(x); где y – значение функции (в радианах), x – аргумент

Пример:

y=acos(0.55)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<0.988432>,name<y>,time<16:46:39>,date<21-09-04>

atan[1]

Возвращает арктангенс заданного числового выражения.

Формат: y=atan(x); где: y – значение функции (в радианах), x – аргумент

Пример:

y=atan(1.2)

Полученное событие:

Event : Event : CORE  VAR_CHANGED int_obj_id<1>,value<0.876058>,name<y>,time<17:07:09>,date<21-09-04>

sinh[1]

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

Формат: y=sinh(x); где y – значение функции, x – аргумент функции

Пример:

y=sinh(0.8)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<0.888106>,name<y>,time<17:12:26>,date<21-09-04>

сosh[1]

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

Формат: y=cosh(х); где y – значение функции, x – аргумент функции

Пример:

y=cosh(0.35)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<0.336376>,name<y>,time<17:25:25>,date<21-09-04>

tanh[1]

Тригонометрическая функция расчета угла.

Формат: y=tanh(x); где y – значение функции, x – аргумент функции

Пример:

y=tanh(0.35)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<1.419068>,name<y>,time<17:25:25>,date<21-09-04>

exp[1]

Возвращает значение функции e^x, где x - заданное числовое выражение.

Формат: y=exp(x); где y – значение функции, x – аргумент

Пример:

y=exp(1.65)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<5.20698>,name<y>,time<17:39:22>,date<21-09-04>

log[1]

Возвращает натуральный логарифм (по основанию «e») заданного числового выражения.

Формат: y=log(x); где: y – значение функции, x – аргумент

Пример:

y=log(0.65)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<-0.430783>,name<y>,time<17:43:22>,date<21-09-04>

log10[1]

Возвращает десятичный логарифм (по основанию 10) заданного числового выражения.

Формат: y=log10(x); где y – значение функции, x – аргумент

Пример:

y=log10(0.05)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<-1.30103>,name<y>,time<17:46:28>,date<21-09-04>

sqrt[1]

Возвращает квадратный корень из заданного числового выражения.

Формат: y=sqrt(x); где y – значение функции, x – аргумент

Пример:

y=sqrt(9)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<3>,name<y>,time<17:25:25>,date<21-09-04>

abs[1]

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

Формат: y=abs(x); где y – значение функции, x – аргумент

Пример:

y= abs(-1)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<1>,name<y>,time<13:39:37>,date<22-09-04>

deg[1]

Тригонометрическая функция расчета угла. Возвращает градусную меру.

Формат: y=deg(x); где y – значение функции в градусах, x – значение аргумента в радианах

Пример:

y=deg(3.14)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<179.908748>,name<y>,time<13:13:51>,date<22-09-04>

rad[1]

Тригонометрическая функция расчета угла.

Формат: y=rad(x); где y – значение функции в радианах, x – значение аргумента в градусах

Пример:

y=rad(180)

Полученное событие:

Event : CORE VAR_CHANGED value<3.141593>,name<y>,time<15:04:17>,date<17-03-08>

ПРЕОБРАЗОВАНИЕ

floor[1]

Функция преобразования до целого числа в меньшую сторону.

Формат: x= floor(y); где x – значение функции, y – дробное или целое число

Пример:

x= floor(5.55)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<5>,name<x>,time<20:51:48>,date<21-09-04>

ceil[1]

Функция преобразования до целого числа в большую сторону.

Формат: x= ceil (y); где x – значение функции, y – дробное или целое число

Пример:

x= ceil(5.55)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<6>,name<x>,time<20:51:48>,date<21-09-04>

str[1]

Функция преобразования числа к строке.

Формат: x=str(y); где x – значение функции, y – аргумент

Пример:

z=(9);

a=str(z);

b=sqrt(a);

Полученные события:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<9>,name<z>,time<14:27:31>,date<22-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<9>,name<a>,time<14:27:31>,date<22-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<3>,name<b>,time<14:27:31>,date<22-09-04>

atof[1]

Функция преобразования строки в число.

Формат: x=atof(y); где x – значение функции, y – аргумент

Пример:

x="0";

x=str(atof(x)+10);

Полученное событие:

Event : CORE VAR_CHANGED value<0>,name<x>,time<15:34:44>,date<17-03-08>

Event : CORE VAR_CHANGED value<10>,name<x>,time<15:34:44>,date<17-03-08>

val[1]

Функция преобразования строки в число.

Формат: x=val(y); где x – значение функции, y – аргумент

Пример:

x="10";

x=str(val(x)+2);

Полученное событие:

Event : CORE VAR_CHANGED value<10>,name<x>,time<15:34:44>,date<17-03-08>

Event : CORE VAR_CHANGED value<12>,name<x>,time<15:34:44>,date<17-03-08>

int[1]

Преобразование дробного числа в целое (отбросить дробную часть).

Формат: x=int(y); где x – значение функции, y – аргумент (дробное число для преобразования)

Пример:

y=(2.33);

x=int(y);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<2.33>,name<y>,time<16:05:28>,date<22-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<2>,name<x>,time<16:05:28>,date<22-09-04>

long2time[1]

Используется для преобразования заданного количества секунд во время.

Формат: x=long2time(y); где x – значение функции(время), y – число в секундах

Формат исходной записи (аргумента): <ММ>

Формат полученной записи: <ЧЧ:ММ:СС>

Пример:

x=long2time(12345);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<03:25:45>,name<x>,time<13:53:02>,date<20-09-04>.

time2long[1]

Преобразовать время в количество секунд.

Формат: x=time2 long(y); где x – значение в секундах, y – время в формате <часы>.<минуты>

Пример:

y=(0.15);

x=time2long(y);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<0.15>,name<y>,time<19:39:49>,date<22-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<900>,name<x>,time<19:39:49>,date<22-09-04>

scalar2date[1]

Преобразовать количество дней в дату (количество дней исчисляется с начала нашей эры).

Формат: x=scalar2date (y); где x – значение(дата), y – количество дней

Пример:

y=(731500);

x=scalar2date(y);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<731500>,name<y>,time<19:57:46>,date<22-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<12-10-03>,name<x>,time<19:57:46>,date<22-09-04>

scalar[1]

Преобразовать дату в количество дней (количество дней исчисляется с начала нашей эры).

Формат: x=scalar(y); где x – числовое значение (в сутках), y – дата

Формат записи: <ДД.ММ.ГГГГ>

Пример:

x=scalar(“19.10.2004”)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<10>,value<731873>,owner<WS1>,name<x>,time<15:24:11>, guid_pk<{42E93AF5-4862-485E-AEF6-D14C7BF79C5B}>,date<08-12-09>

convert_num[1]

Преобразовать число в строку написания этого числа.

Формат: x=convert_num(y); где x – строковое значение числа, y – преобразуемое число

Пример:

y=(24009921);

x=convert_num(y);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<24009921>,name<y>,time<12:37:20>,date<23-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<Двадцать четыре миллиона девять тысяч девятсот двадцать один >,name<x>,time<12:37:20>,date<23-09-04>

convert_cur[1]

Преобразовать число (денежную сумму) в строку написания этого числа и добавить руб. и коп.

Формат: x=convert_cur(y); где x – строковое значение денежной суммы, y – число(денежная сумма)

Формат записи: <РР.КК>

Пример:

y=(17999.98);

x=convert_cur(y);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<17999.98>,name<y>,time<12:49:30>,date<23-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<Семнадцать тысяч девятсот девяносто девять рублей 98 копеек>,name<x>,time<12:49:30>,date<23-09-04>

ФОРМАТИРОВАНИЯ

number_frm[2]

Форматирование числа.

Формат: x=number_frm(y,z); где x – значение функции, y-исходное число, z – количество цифр после запятой

Пример:

y=(17999.09998);

x=number_frm(y,3);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<17999.09998>,name<y>,time<14:21:24>,date<23-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<17999.100>,name<x>,time<14:21:24>,date<23-09-04>

int_frm[2]

Форматирование числа.

Формат: x=int_frm(y,z); где x – значение, y-исходное число, z – количество цифр в числе на выходе

Пример:

y=(17999.99);

x=int_frm(y,10);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<17999.99>,name<y>,time<14:31:46>,date<23-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<0000017999>,name<x>,time<14:31:46>,date<23-09-04>

сurrency_std[1]

Форматирование значения числа, представляющего деньги (замена '.' на '-').

Формат: x=currency_std(y); где x – значение функции с измененным форматом, y – число (денежная сумма)

Пример:

x=currency_std(3.62);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<3-62>,name<x>,time<13:40:01>,date<23-09-04>

IsVarExist[1]

Функция проверки заданного параметра в событии.

Формат: y=IsVarExist(“x”); где y - значение, x – параметр

Если параметр существует, возвращается «1», иначе «0».

Пример:

p=IsVarExist(“param0”)

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<10>,value<0>,owner<WS1>,name<p>,time<12:02:11>, guid_pk<{6A8B5BC9-919C-4098-844A-FBF78FA20820}>,date<14-12-09>


GetObjectIdByParam [3]


Функция, возвращающая первый найденный идентификатор объекта  по заданному значению параметра.

Id=GetObjectIdByParam ("x","y","z"); где id - возвращаемое значение, x – тип объекта, y – параметр, z – значение параметра

Пример:

Id=GetObjectIdByParam("CAM","color","0");

Полученное событие:

Event : CORE  VAR_CHANGED date<28-02-11>,value<2>,int_obj_id<1>,fraction<218>,name<Id>, guid_pk<{F903A28C-3243-E011-901F-6CF049E58698}>,time<15:02:04>,owner<D-IVANOV>

* Id=2 (см. value<2>), если функция возвращает пустое значение (value< >), необходимо проверить правильность написания параметров и самой функции.

СТРОКОВЫЕ

strequal[2]

Сравнение строк.

Формат: x=strequal(z,y); где x – значение, z и y – сравниваемые строки

Пример:

z=str(1019);

y=str(1019);

x=strequal(z,y);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<1019>,name<z>,time<16:51:45>,date<23-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<1019>,name<y>,time<16:51:45>,date<23-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<1>,name<x>,time<16:51:45>,date<23-09-04>

*  «value<1>» (см. пример выше) – в полученном событии мы получаем либо «value<>» – это означает что сравниваемые строки не совпадают, либо «value<1>» – это значит что сравниваемые строки полностью идентичны друг другу.

strsub[2]

Определение наличия подстроки в строке.

Формат: x=strsub(y,z); где x-значение, y – строка, в которой ведется поиск, z-подстрока

Пример №1:

z=str(888123);

y=str(123);

x=strsub(z,y);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<888123>,name<z>,time<16:07:07>,date<23-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<123>,name<y>,time<16:07:07>,date<23-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<4>,name<x>,time<16:04:34>,date<23-09-04>

Пример №2:

z="67hb8vc56";

y="vc";

x=strsub(z,y);

Полученное событие:

Event : CORE VAR_CHANGED value<67hb8vc56>,name<z>,time<12:15:09>,date<18-03-08>

Event : CORE VAR_CHANGED value<vc>,name<y>,time<12:15:09>,date<18-03-08>

Event : CORE VAR_CHANGED value<6>,name<x>,time<12:15:09>,date<18-03-08>

*  "value<4>" (см. пример № 1) означает индекс в исходной строке, начиная с которого обнаружено первое вхождение подстроки в эту строку. При отрицательном результате поиска функция возвращает значение value<>.

strempty[1]

Определение пуста ли строка.

Формат: x=strempty(y); где x – значение (равно 1 если строка пуста), y – строка

Пример:

y=("");

x=strempty(y);

Полученное событие:

Event : CORE VAR_CHANGED value< >, name<y>,time<12:27:32>,date<18-03-08>

Event : CORE VAR_CHANGED value<1>,name<x>,time<12:27:32>,date<18-03-08>

* значение функции value <> означает, что строка не пуста.

straleft[2]

Выравнивание влево.

Формат: x=straleft(y,z); где x – выровненная строка, y – строка, z – значение
выравнивания.

Пример:

y=str(123456789);

x=straleft(y,5);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<123456789>,name<y>,time<18:04:05>,date<23-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<12345>,name<x>,time<18:04:05>,date<23-09-04>

Примечание. В случае, если число z больше, чем количество символов в строке, функция дополняет исходную строку пробелами справа до тех пор, пока ее длина не станет равна числу z.

strmid[3]

Взять подстроку.

Формат: x=strmid(y,z,w); где x – строковое значение, y – строка, z – с какой позиции строки, w – длина подстроки

Пример:

z=(7);//с какой позиции

w=(9);//длина

x=strmid("взять подстроку (1 - строка, 2 - с какой позиции, 3 - длинна)",z,w);

y=strmid("взять подстроку (1 - строка, 2 - с какой позиции, 3 - длинна)",17,10);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<6>,name<z>,time<14:18:08>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<9>,name<w>,time<14:18:08>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<подстроку>,name<x>,time<14:18:08>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<1 – строка>,name<y>,time<14:18:08>,date<24-09-04>

strletf[2]

Взять левую часть строки.

Формат: y=strleft(s,w); где y –строковое значение, s – строка, w – длина (с начала строки)

Пример:

w=(5);//длина

s=("Взять левую часть строки");//строка

y=strleft(s,w);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<5>,name<w>,time<14:54:31>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<Взять левую часть строки>,name<s>,time<14:54:31>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<Взять>,name<y>,time<14:54:31>,date<24-09-04>

strright[2]

Взять правую часть строки (1 – строка, 2 – длина).

Формат: y=strleft(s,w); где y – строковое значение, s – строка, w – длина (с конца строки)

Пример:

w=(6);//длина

s=("Взять правую часть строки");//строка

y=strright(s,w);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<6>,name<w>,time<15:10:36>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<Взять правую часть строки>,name<s>,time<15:10:36>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<строки>,name<y>,time<15:10:36>,date<24-09-04>

strnleft[2]

Взять без левой части строки.

Формат: y=strnleft(s,w); где y – строковое значение, s – строка, w – длина левой части, которая будет отсечена

Пример:

w=(6);//длина

s=("взять без левой части строки");//строка

y=strnleft(s,w);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<6>,name<w>,time<15:32:38>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<взять без левой части строки>,name<s>,time<15:32:38>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<без левой части строки>,name<y>,time<15:32:38>,date<24-09-04>

srtnright[2]

Взять без правой части строки.

Формат: y=strnright(s,w); где y – строковое значение, s – строка, w – длина правой части, которая будет отсечена.

Пример:

w=(6);//длина

s=("взять без правой части строки");//строка

y=strnright(s,w);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<6>,name<w>,time<15:44:31>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<взять без правой части строки>,name<s>,time<15:44:31>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<взять без правой части >,name<y>,time<15:44:31>,date<24-09-04>

get_substr[3]

Взять подстроку (1 – строка, 2 – подстрока с которой начать, 3 – подстрока которой завершить, "\r" – конец строки).

Формат: y=get_substr(s,w,x); где y – значение(подстрока), s – строка, w – подстрока с которой начать, x – подстрока которой завершить("\r" – конец строки)

Формат записи: <NN.NN>

Пример:

s=("взять подстроку 1234567890");//строка

w=("по");//подстрока с которой начать

x=("\r");//подстрока которой завершить, "\r" – конец строки

y=get_substr(s,w,x);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<взять подстроку 1234567890>,name<s>,time<16:34:13>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<по>,name<w>,time<16:34:13>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<\r>,name<x>,time<16:34:13>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<подстроку 1234567890>,name<y>,time<16:34:13>,date<24-09-04>

Пример:

s=("взять подстроку 1234567890");//строка

w=("по");//подстрока с которой начать

x=(1);//подстрока которой завершить, "\r" – конец строки

y=get_substr(s,w,x);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<взять подстроку 1234567890>,name<s>,time<16:36:26>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<по>,name<w>,time<16:36:26>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<1>,name<x>,time<16:36:26>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<подстроку >,name<y>,time<16:36:26>,date<24-09-04>

strltrim[1]

Убрать пробелы слева.

Формат: y=strltrim(w); где y – полученное строковое значение, w – строка

Пример:

w=("    убрать пробелы слева");//строка

y=strltrim(w);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<    убрать пробелы слева>,name<w>,time<17:07:49>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<убрать пробелы слева>,name<y>,time<17:07:49>,date<24-09-04>

strrtrim[1]

Убрать пробелы справа.

Формат: y=strrtrim(w); где y – полученное строковое значение, w – строка

Пример:

w=("Убрать пробелы справа         ");//строка

y=strrtrim(w);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<Убрать пробелы справа         >,name<w>,time<17:18:35>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<Убрать пробелы справа>,name<y>,time<17:18:35>,date<24-09-04>

stratrim[1]

Убрать пробелы с обеих сторон.

Формат: y=stratrim(w); где y – полученное строковое значение, w – строка

Пример:

w=("   убрать пробелы с обеих сторон   ");//строка

y=stratrim(w);

Полученное событие:

Event : CORE  VAR_CHANGED int_obj_id<1>,value<   убрать пробелы с обеих сторон   >,name<w>,time<17:27:44>,date<24-09-04>

Event : CORE  VAR_CHANGED int_obj_id<1>,value<убрать пробелы с обеих сторон>,name<y>,time<17:27:44>,date<24-09-04>

Примечание.

Функции date<ДД-ММ-ГГ> и time<ЧЧ:ММ:СС> возвращают текущие дату и врем я соответственно. Функция pi<3,1415926535897932384626433832795> возвращает значение числа π.