Документация проекта [[https://visual.sfu-kras.ru|VISUAL / ONLINE OBERON]] ====== Модуль Math ====== Распостранённые математические функции. PROCEDURE **Pi** (): REAL Возвращает приближенное значение числа pi. PROCEDURE **Radians** (angle : REAL): REAL Возвращает значение угла 'angle' в радианах. PROCEDURE **Random** (): REAL Случайное действительное число от 0.0 до 1.0. ===== Степени и логарифмы ===== PROCEDURE **Sqrt** (x: REAL): REAL Возвращает квадратный корень из x. Предусловие: x >= 0.0 PROCEDURE **Exp** (x: REAL): REAL Возвращает e^x. PROCEDURE **Ln** (x: REAL): REAL Возвращает натуральный логарифм для x. Предусловие: x >= 0.0 PROCEDURE **Log** (x: REAL): REAL Возвращает логарифм по основанию 10 для x. Предусловие: x >= 0.0 PROCEDURE **Power** (x, y: REAL): REAL Возвращает x^y. Предусловие: x >= 0.0 PROCEDURE **IntPower** (x: REAL; n: INTEGER): REAL Возвращает x^n. Процедура оптимизирована для целых значений n. IntPower(0, 0) дает 1. ===== Тригонометрические и гиперболические функции ===== Аргументы всех тригонометрических и гиперболических функций должны задаваться в радианах, и обратные тригонометрические и гиперболические функции расчитываются в радианах (1 рад = 180/pi градусов). PROCEDURE **Sin** (x: REAL): REAL Синус x. Постусловие: -1.0 <= result <= 1.0 PROCEDURE **Cos** (x: REAL): REAL Косинус x. Постусловие: -1.0 <= result <= 1.0 PROCEDURE **Tan** (x: REAL): REAL Тангенс x. PROCEDURE **ArcSin** (x: REAL): REAL Арксинус x. Предусловие: -1.0 <= x <= 1.0 Постусловие: -pi/2.0 <= result <= pi/2.0 PROCEDURE **ArcCos** (x: REAL): REAL Арккосинус x. Предусловие: -1.0 <= x <= 1.0 Постусловие: 0.0 <= result <= pi PROCEDURE **ArcTan** (x: REAL): REAL Арктангенс x. Постусловие: -pi/2.0 <= result <= pi/2.0 PROCEDURE **ArcTan2** (y, x: REAL): REAL Квадрантно-корректное значение аргумента — комплексного числа x + iy из промежутка (-pi, pi]. Постусловие: -pi < result <= pi PROCEDURE **Sinh** (x: REAL): REAL Гиперболический синус x. PROCEDURE **Cosh** (x: REAL): REAL Гиперболический косинус x. Постусловие: 1.0 <= result PROCEDURE **Tanh** (x: REAL): REAL Гиперболический тангенс x. Постусловие: -1.0 <= result <= 1.0 PROCEDURE **ArcSinh** (x: REAL): REAL Обратный гиперболический синус x. PROCEDURE **ArcCosh** (x: REAL): REAL Обратный гиперболический косинус x. Предусловие: 1.0 <= x Постусловие: 0.0 <= result PROCEDURE **ArcTanh** (x: REAL): REAL Гиперболический тангенс x. Предусловие -1.0 <= x <= 1.0 ===== Разные иные функции ===== PROCEDURE **Sign** (x: REAL): REAL Знак x, то есть, 1.0, если x > 0.0, -1.0, если x < 0.0 и 0.0, если x = 0.0. Постусловие: result IN {-1.0, 0.0, 1.0} PROCEDURE **Floor** (x: REAL): REAL Наибольшее целое, меньшее или равное x. Идентична FLOOR(x). PROCEDURE **Ceiling** (x: REAL): REAL Наименьшее целое, большее или равное x. PROCEDURE **Trunc** (x: REAL): REAL Усекает свой аргумент до следующего целого, ближайшего к нулю. PROCEDURE **Round** (x: REAL): REAL Аналогично Floor(x + 0.5).