Mudanças entre as edições de "Expressões Matemáticas"

De LATROMI Manuais
Ir para: navegação, pesquisa
(Operadores)
Linha 5: Linha 5:
  
 
== Operadores ==
 
== 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:
 +
# primary
 +
# unary
 +
# power
 +
# multiplicative
 +
# additive
 +
# relational
 +
# logical
 +
 +
=== 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 ==
 
== Funções ==

Edição das 14h00min de 17 de novembro de 2014

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. primary
  2. unary
  3. power
  4. multiplicative
  5. additive
  6. relational
  7. logical

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

Ligações Externas