Структура формул
Любая формула должна быть составлена с учетов некоторых правил, а также при ее составления необходимо знать из чего она может состоять. Функции, типы, а также другие составляющие приведены ниже:
- single: тип, означает вещественное 32 битное число
- double: тип, означает вещественное 64 битное число
- int64: тип, означает целое знаковое 64 битное число
- integer: тип, означает целое знаковое 32 битное число
- longword: тип, означает целое беззнаковое 32 битное число
- smallint: тип, означает целое знаковое 16 битное число
- word: тип, означает целое беззнаковое 16 битное число
- shortint: тип, означает целое знаковое 8 битное число
- byte: тип, означает целое беззнаковое 8 битное число
- bool: зарезервированное слово, обозначает логическое выражение.
- and : операнд, используется для связывания двух логических выражений. Аналогично логическому and в Delphi.
- or : операнд, используется для связывания двух логических выражений. Аналогично логическому or в Delphi.
- xor : операнд, используется для связывания двух логических выражений. Аналогично логическому xor в Delphi.
- not : операнд, меняет логическое значение на противоположное.
- > функция, если первое математическое выражение больше второго, то возвращает истину, в противном случае возвращает ложь.
- : функция, если первое математическое выражение меньше второго, то возвращает истину, в противном случае возвращает ложь.
- <>: функция, если первое математическое выражение не равно второму, то возвращает истину, в противном случае возвращает ложь.
- =>: функция, если первое математическое выражение больше или равно второму, то возвращает истину, в противном случае возвращает ложь.
- : функция, если первое математическое выражение меньше или равно второму, то возвращает истину, в противном случае возвращает ложь.
- =: функция, если первое математическое выражение равно второму, то возвращает истину, в противном случае возвращает ложь.
- true: функция. Возвращает истину. Это величина может принимать значение 1
- false: функция. Возвращает ложь. Это величина может принимать значение 0
- +: операнд, сложение
- -: операнд, вычитание
- *: функция, вычитание
- /: функция, деление
- sqrt: функция, возвращает квадратный корень числа
- div: функция, возвращает целочисленное деление
- mod: функция, возвращает остаток от деления
- int: функция, возвращает целая часть числа
- frac: функция, возвращает дробная часть числа
- random: функция, возвращает произвольное число в пределах от 0 до 1
- trunc: функция, возвращает целую часть числа
- round: функция, округляет число
- arcsec: функция, возвращает арксеканс числа
- sec: функция, возвращает секанс числа
- arccsc: функция, возвращает арккосеканс числа
- csc: функция, возвращает косеканс числа
- arcsin: функция, возвращает арксинус числа
- sin: функция, возвращает синус числа
- arccos: функция, возвращает арккосинус числа
- cos: функция, возвращает косинус числа
- arctan: функция, возвращает арктангенс числа
- tan: функция, возвращает тангенс числа
- abs: функция, возвращает абсолютную величину числа
- ln: функция, возвращает натуральный логарифм числа
- lg: функция, возвращает десятичный логарифм числа
- log: функция, возвращает логарифм двух числа
- pi: функция, возвращает число Пи
- !: функция, возвращает факториал числа
- ^: функция, возвращает степень числа. Степень не может быть дробной.
Например: "bool (2 log 4) = (4 sqrt 2) or (bool (2 * 2) = 4)". В формуле каждая функция должна быть заключена в круглые скобки. Что является функцией, а что нет можно узнать вышеприведенного списка. Как я уже сказал, логические выражения в некоторых случаях могут возвращать числовые значения. Это работает только в том случае, если выражение заключено в скобки, например: "bool (bool true) = 1". Логические выражения возвращающие истину принимают значение 1, а содержащие ложь - 0.