Любая формула должна быть составлена с учетов некоторых правил, а также при ее составления необходимо знать из чего она может состоять. Функции, типы, а также другие составляющие приведены ниже:
single: тип, означает вещественное 32 битное число
double: тип, означает вещественное 64 битное число
int64: тип, означает целое знаковое 64 битное число
integer: тип, означает целое знаковое 32 битное число
longword: тип, означает целое беззнаковое 32 битное число
smallint: тип, означает целое знаковое 16 битное число
word: тип, означает целое беззнаковое 16 битное число
shortint: тип, означает целое знаковое 8 битное число
byte: тип, означает целое беззнаковое 8 битное число
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". Оно означает, что текущее выражение является логическим. В формуле можно использовать любое количество вложенных формул, которые представляют собой содержимое пары скобок, а содержимое каждой из этих пар скобок может быть как логическим выражением, так и математическим. Соответственно внутри скобок при обозначения логического выражения нужно также ставить зарезервированное слово "bool". Если его нет, то считается, что выражение является математическим. Например: "bool (2 log 4) = (4 sqrt 2) or (bool (2 * 2) = 4)". В формуле каждая функция должна быть заключена в круглые скобки. Что является функцией, а что нет можно узнать вышеприведенного списка. Как я уже сказал, логические выражения в некоторых случаях могут возвращать числовые значения. Это работает только в том случае, если выражение заключено в скобки, например: "bool (bool true) = 1". Логические выражения возвращающие истину принимают значение 1, а содержащие ложь - 0.