********************** Математические функции ********************** Математические функции выполняют различные математические операции над числовыми значениями. .. _math-functions-overview: Обзор функций ============= .. list-table:: :header-rows: 1 :widths: 20, 30, 40, 15 * - Функция - Параметры - Описание - Возвращает * - ``ABS(in)`` - ``in``: числовой тип - Абсолютное значение - Тот же тип, что и ``in`` * - ``SQRT(in)`` - ``in``: числовой тип (>=0) - Квадратный корень - Тот же тип, что и ``in`` * - ``LN(in)`` - ``in``: числовой тип (>0) - Натуральный логарифм - Тот же тип, что и ``in`` * - ``LOG(in)`` - ``in``: числовой тип (>0) - Десятичный логарифм - Тот же тип, что и ``in`` * - ``EXP(in)`` - ``in``: числовой тип - Экспонента (e^in) - Тот же тип, что и ``in`` * - ``EXPT(in, expt)`` - ``in``: числовой тип, ``expt``: числовой тип - Возведение ``in`` в степень ``expt`` - Тот же тип, что и ``in`` * - ``SIN(in)`` - ``in``: числовой тип (в радианах) - Синус - Тот же тип, что и ``in`` * - ``COS(in)`` - ``in``: числовой тип (в радианах) - Косинус - Тот же тип, что и ``in`` * - ``TAN(in)`` - ``in``: числовой тип (в радианах) - Тангенс - Тот же тип, что и ``in`` * - ``ASIN(in)`` - ``in``: числовой тип ([-1, 1]) - Арксинус (возвращает радианы) - Тот же тип, что и ``in`` * - ``ACOS(in)`` - ``in``: числовой тип ([-1, 1]) - Арккосинус (возвращает радианы) - Тот же тип, что и ``in`` * - ``ATAN(in)`` - ``in``: числовой тип - Арктангенс (возвращает радианы) - Тот же тип, что и ``in`` * - ``TRUNC(in)`` - ``in``: числовой тип - Преобразование из REAL в INT (отбрасывание дробной части) - INT (или эквивалент) Функции сравнения и ограничения =============================== .. list-table:: :header-rows: 1 :widths: 50, 50, 40, 15 * - Функция - Параметры - Описание - Возвращает * - ``MAX(in0, in1)`` - ``in0, in1``: числовой тип - Возвращает наибольшее из двух значений - Тот же тип, что и параметры * - ``MIN(in0, in1)`` - ``in0, in1``: числовой тип - Возвращает наименьшее из двух значений - Тот же тип, что и параметры * - ``LIMIT(MIN, in, MAX)`` - ``MIN, in, MAX``: числовой тип - Ограничивает значение ``in`` в пределах от ``MIN`` до ``MAX`` - Тот же тип, что и параметры **Примеры:** .. code-table:: VAR value : REAL := -5.5; result : REAL; int_result : INT; max_val : REAL; min_val : REAL; limited : REAL; END_VAR // Абсолютное значение result := ABS(value); // result = 5.5 // Квадратный корень result := SQRT(25.0); // result = 5.0 // Тригонометрические функции result := SIN(1.5708); // result ≈ 1.0 (sin 90°) result := COS(0.0); // result = 1.0 // Экспонента и логарифмы result := EXP(1.0); // result ≈ 2.71828 (e^1) result := LN(2.71828); // result ≈ 1.0 // Степень result := EXPT(2.0, 3.0); // result = 8.0 // Преобразование int_result := TRUNC(3.14); // int_result = 3 int_result := TRUNC(-3.14); // int_result = -3 // Сравнения max_val := MAX(10, 20); // max_val = 20 min_val := MIN(10, 20); // min_val = 10 limited := LIMIT(0, 15, 10); // limited = 10 (ограничено сверху) limited := LIMIT(0, -5, 10); // limited = 0 (ограничено снизу) .. seealso:: :doc:`data_types` - для информации о числовых типах данных. :doc:`conversion` - для преобразования числовых типов.