Expressões Matemáticas

De LATROMI Manuais
Ir para: navegação, pesquisa

O LATROMI WecDB utiliza a biblioteca NCalc para compilar e interpretar expressões matemáticas dinâmicas. Atualmente, essas expressões são utilizadas apenas no rodapé da Consulta com saída em Grid, mas como o tempo poderá ser implementada em outras partes do sistema.

OBS: Os textos das tabelas abaixo foram traduzidos da página do projeto NCalc do Codeplex.

Operadores

As expressões podem ser combinadas usando operadores. Cada operador possui um prioridade de precedência. Segue abaixo a lista de prioridades entre os operadores:

  1. primários
  2. unários
  3. potência
  4. multiplicativos
  5. aditivos
  6. relacionais
  7. lógicos

Lógicos

Estes operadores podem fazer alguma comparação lógica entre outras expressões:

  • or, ||
  • and, &&
  true or false and true

O operador and tem mais prioridade do que o or, assim como mostra o exemplo acima, true e false são avaliados primeiro.

Relacionais

  • =, ==, !=, <>
  • <, <=, >, >=
  1 < 2

Aditivos

  • +, -
  1 + 2 - 3

Multiplicativos

  • *, /, %
   1 * 2 % 3

Bit-a-bit

  • & (bitwise and), | (bitwise or), ^(bitwise xor), << (left shift), >>(right shift)
  2 >> 3

Unários

  •  !, not, -, ~ (bitwise not)
   not true

Primários

  • (, )
  • valores
  2 * ( 3 + 2 )

Funções

Abaixo a lista de funções matemáticas disponíveis para uso.

Nome Descrição Uso Resultado
Abs Retorna o valor absoluto do número especificado. Abs(-1) 1
Acos Retorna o ângulo cosseno do número especificado. Acos(1) 0
Asin Retorna o ângulo seno do número especificado. Asin(0) 0
Atan Retorna o ângulo tangente número especificado. Atan(0) 0
Ceiling Retorna o menor número inteiro maior ou igual ao número especificado. Ceiling(1.5) 2
Cos Retorna o cosseno do ângulo especificado. Cos(0) 1
Exp Retorna o valor elevado a potência especificada. Exp(0) 1
Floor Retorna o maior inteiro menor ou igual ao número especificado. Floor(1.5) 1
Log Retorna o logaritmo do número especificado. Log(1,10) 0
Log10 Retorna o logaritmo de base 10 do número especificado. Log10(1) 0
Max Retorna o maior dos dois números especificados. Max(1, 2) 2
Min Retorna o menor dos dois números especificados. Min(1, 2) 1
Pow Retorna o número especificado elevado a potência especificada. Pow(3, 2) 9
Round Arredonda um valor para o número inteiro mais próximo ou o número especificado de casas decimais. Round(3.222, 2) 3.22
Sign Retorna um valor indicando o sinal do número especificado. Sign(-10) -1
Sin Retorna o seno do ângulo especificado. Sin(0) 0
Sqrt Retorna a raiz quadrada do número especificado. Sqrt(4) 2
Tan Retorna a tangente do ângulo especificado. Tan(0) 0
Truncate Retorna a parte inteira do número especificado. Truncate(1.7) 1

Também estão disponíveis outras funções de uso gerais.

Nome Descrição Uso Resultado
in Retorna true se o elemento está contido no conjunto de valores. in(1 + 1, 1, 2, 3) true
if Retorna um valor baseado em uma condição if(3 % 2 = 1, 'value is true', 'value is false') 'value is true'

Parâmetros

Os parâmetros são marcações dentro da expressão que serão substituídas por algum valor. São representadas por um texto (nome do parâmetro) entre colchetes. Segue abaixo um exemplo

  Pow([B], 2) - 4 * [A] * [C]

No exemplo acima, temos os parâmetros A, B e C que devem ser substituídos por algum valor antes da expressão ser avaliada.

Ligações Externas