Руководство по настройке Optima:Используемые функции

Материал из AltecDocs
Перейти к:навигация, поиск

33.3. Используемые функции

В этом разделе перечислены все допустимые функции. Каждая функция описана следующим образом:

  • Название, синтаксис — наименование функции и вид ввода данных;
  • Описание — описание данной функции;
  • Пример — пример использования.

При описании всех функций используются следующие обозначения:

  • n, m — числовая переменная или её конкретное значение
  • s, t — строковая переменная или её конкретное значение

Все допустимые функции сведены в табл. 7.4 - Таблица 7.3. Прочие функции.

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

Функция Назначение Пример
ARCCOS (n) арккосинус угла (в радианах) ARCCOS(0.2) = 1.3694
ARCSIN (n) арксинус угла (в радианах) ARCSIN (0.5) = 0.524
ARCTAN (n) арктангенс угла (в радианах) ARCTAN (5) = 1.373
COS (n) косинус угла (в радианах) COS (45) = 0.525
SIN (n) синус угла (в радианах) SIN (75) = −0.388
TAN (n) тангенс угла (в радианах) TAN (60) = 0.320

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

Функция Назначение Пример
COPY (s, n, m) Копирование части строки,
где s — строка, n — номер символа, начиная с которого нужно копировать; m — количество копируемых символов.
COPY ('пример', 2, 3) = 'рим'
POS (t, s) Ищет подстроку в строке и возвращает номер позиции, где t — искомая подстрока, s — строка для поиска. Если подстрока не найдена, то функция возвратит «-1». POS ('ме', 'Пример') = 4POS ('ме', 'Привет') = -1
TONUMBER (s) Перевод строковой переменной в числовую. TONUMBER ('51.7') = 51.7
LENGTH(s) Длина строки. LENGTH ('пример') = 6
UPPER (s) Переводит символы в строке в верхний регистр. UPPER ('ПриМер') = 'ПРИМЕР'
LOWER (s) Переводит символы в строке в нижний регистр. LOWER ('ПриМер')= 'пример'

Таблица 7.6. Функции для работы с числовыми переменными

Функция Назначение Пример
ABS (n) абсолютное значение (модуль числа) ABS (-3) = 3
EXP (n) возведение числа e в степень EXP (3) = 20.085
FRAC(n) выделяет дробную часть числа FRAC (51.178) = 0.178
LN (n) вычисляет натуральный логарифм числа LN (15.55) = 2.744
POWER (n, m) возведение числа n в степень m POWER (2,3) = 8
ROUND (n) округление до ближайшего целого ROUND (51.784) = 52
SQRT (n) извлечение квадратного корня SQRT (16) = 4
TRUNC (n) выделение целой части TRUNC (51.784) = 51
INT (n) выделение целой части (аналогична предыдущей функции) INT (51.784) = 51
TOSTR (n) перевод числовую переменную в строковую TOSTR (56.48) = '56.48'

Таблица 7.3. Прочие функции

Функция Назначение Пример
CHR (n) возвращает символ по его ASCII коду CHR (80) = P
ORD (s) возвращает ASCII код по символу (если s — строка, то будет возвращён только код первого символа) ORD ('N') =78 ORD('NItg')=78
ISVAREXISTS (var) проверяет существование переменной var; возвращает «1», если переменная существует, иначе возвращает «0». a := 1;
ISVAREXISTS (a) = n;
(n=1)ISVAREXISTS(s)=n;
(n=0)
TYPEOF(var) Определяет тип переменной. Возвращает 'STRING' если переменная строкового типа, 'NUMBER' если переменная числового типа, 'UNKNOWN' если тип переменной не определить, 'RECORD' если переменная типа «запись». TYPEOF (n)='NUMBER' TYPEOF (s) = 'STRING'
SETLENGTH (a, n) Устанавливает размер массива,
где а — имя массива, n — размер массива.
SETLENGTH (art, 10)
LOW (a) возвращает нижнюю границу массива,
где а — имя массива
LOW (art)=0
HIGH (a) возвращает верхнюю границу массива,
где а — имя массива
HIGH (art)=9
DEBUG (msg, P) Выводит данные в информационном окне, где msg — текст в окне, P — строковая либо числовая переменная. В примере, на экран будет выведено: «Привет Вася». s := 'Вася'; DEBUG ('Привет', s)
StopCalc (text) Прерывает процесс расчёта. При вызове с параметром, в форме прогресса выводится текст, указанный в параметре. StopCalc ('Some text');
DlgBox (s, DlgType, Buttons) Выводит на экран диалоговое окно с указанными сообщением и кнопками. s — текст сообщения. DlgType — тип диалогового окна, возможны значения: mtError, mtWarning, mtInformation, mtConfirmation.Buttons — массив, описывающий кнопки, которые должны располагаться на диалоговом окне. Элементами массива могут быть значения:mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll. Возможно также использование предопределённых массивов: mbYesNoCancel, mbYesNo, mbYesAllNoAllCancel, mbOKCancel, mbAbortRetryIgnore, mbAbortIgnore. Функция возвращает одно из следующих значений: mrOk; mrCancel; mrYes; mrNo; mrAbort; mrRetry; mrIgnore; mrAll; mrNoToAll; mrYesToAll DlgBox ('Продолжить расчёт?', mtConfirmation, mbYesNo)
На экран будет выведено окно запроса, содержащее текст Продолжить расчёт? и кнопки Yes и No.
InArray(n, a) Проверяет наличие значения n в массиве а.

Сравнение строк производится без учёта регистра символов, вещественные числа сравниваются с точностью в 4 знака после запятой.

ArrayLength(a) Возвращает длину массива a