Neste algoritmo o usuário poderá entrar com uma expressão aritmética genérica (em uma string), como:
-
A + B * C
-
A * (B + C/D)
-
–A * (–B + C)
-
A * –(C – log(B))
-
A + 4 * log(3 / (abs(1 – X)) + sen(–B/4 + PI)
-
(3 * Sin(PI * X)) ^ 2 – (2 * cos(PI * Y)) ^ 2
Caso necessário para o cálculo da expressão, o avaliador de expressões deverá ser capaz de reconhecer e solicitar ao usuário os valores de todas as variáveis (A, B, C, D, X, Y, por exemplo) envolvidas na expressão. As variáveis ficarão limitadas às 26 letras do alfabeto(ASCII).
Os operadores que são suportados neste avaliador de expressões são:
-
-(menos) unário
; -
Adição e subtração (
+ e -
); -
Multiplicação e divisão (
* e /
); -
^
(operador de exponenciação); -
Funções transcendentais:
-
log (base 10);
-
sen;
-
cos;
-
tan
-
sqrt (raiz quadrada);
-
abs(módulo);
-
-
A constante
PI
deve é definida como 3,1415926535898