Калькулятор выражений строк ввода

Для обработки выражений, введенных в строки ввода числовой информации в программу LazDiscret2 встроен простой калькулятор с алгебраическими правилами вычисления, работающий только с вещественными числами.

Выражения в строке ввода должны иметь следующий синтаксис:

_expression__term_ [ { '+' | '-' } _term_ ]

_term_       ⇒ _factor_ [ { '*' | '/' } _factor_ ]

_factor_     ⇒ _brackets_ | _atom_

_brackets_   ⇒ '(' _expression_ ')'

_atom_       ⇒ _number_ | _function_ | _constant_

 

_number_     ⇒ [{ '+' | '-' }]1234[.5678][{ 'e' | 'E' }[{ '+' | '-' }]1234][_suffix_]

_suffix_ — кратные/дольные единицы (десятичные множители):
        G = 109; M = 106; K,k = 103; m = 10-3; mk (u) = 10-6; n = 10-9; p = 10-12.


_constant_
     e     — возвращает значение числа e
     pi    — возвращает значение числа π(пи)


_function_   ⇒ _name_'(' _argument_ ')'

Реализованные функции:
     acos  — возвращает арккосинус аргумента;
     acosd — возвращает арккосинус аргумента в градусах;
     asin  — возвращает арксинус аргумента;
     asind — возвращает арксинус аргумента в градусах;
     atan  — возвращает арктангенс аргумента;
     atand — возвращает арктангенс аргумента в градусах;
     cos   — возвращает косинус аргумента;
     cosd  — возвращает косинус аргумента  в градусах;
     cosh  — возвращает гиперболический косинус аргумента;
     exp   — возвращает експоненту аргумента;
     ln    — возвращает натуральный логарифм аргумента;
     log10 — возвращает десятичный логарифм аргумента;
     sin   — возвращает синус аргумента;
     sind  — возвращает синус аргумента в градусах;
     sinh  — возвращает гиперболический синус аргумента;
     sqrt  — возвращает квадратный корень аргумента;
     tan   — возвращает тангенс аргумента;
     tand  — возвращает тангенс аргумента в градусах;
     tanh  — возвращает гиперболический тангенс аргумента;
     rad   — переводит градусы в радианы;
     deg   — переводит градусы в радианы.