Conhecendo a classe Math do .NET Framework
Veja neste artigo os principais métodos e propriedades da classe Math do .NET Framework, que possui uma série de recursos que facilitam o cálculo de certas funções matemáticas.
Artigos .NET Conhecendo a classe Math do .NET Framework
Em nosso dia a dia, dependendo dos tipos de sistemas que desenvolvemos, podemos efetuar operações matemáticas um pouco mais complexas que as comuns somas e multiplicações. Nessas situações, geralmente precisamos de funções já existentes como senos e cossenos, dificilmente precisamos de cálculos mais complexos em sistemas comerciais como derivadas e integrais.
Considerando essas necessidades, grande parte das linguagens de programação de alto nível possuem namespaces, classes e outras estruturas que permitem executar o cálculo de funções matemáticas comuns. Nesse artigo conheceremos um pouco da classe Math do .NET Framework, que possui vários métodos importantes como a tangente e potências, e propriedades como as constantes de Euler e o PI.
Essa classe está contida no namespace System e por isso pode ser utilizada nos vários tipos de projeto .NET.
E: a chamada "Constante de Euler" (pronuncia-se óiler), usada, por exemplo, na função exponencial e no logaritmo natural. Vale aproximadamente 2,718.
PI: essa é a tão conhecida constante PI, que representa a razão entre o perímetro e o diâmetro de um círculo. O valor dessa constante é composto por várias casas decimais, mas arredondando ela vale aproximadamente 3,14. A partir dessa constante é possível calcular valores importantes como a circunferência e a área de círculos, o volume de esferas, entre outros.
Aqui veremos os principais métodos dessa classe, por ordem alfabética.
Abs: abreviação de "Absolute", retorna o valor absoluto ou módulo de um número. Resumidamente, o valor absoluto de um número é a representação positiva do seu valor. Ou seja, se um número é negativo, seu valor absoluto é a mesma quantia, só que positiva, se for positivo, o valor absoluto é ele próprio.
Acos e Asin: essas funções representam, respectivamente, as funções matemáticas "arco-coseno" e "arco-seno". Essas funções retornam, nessa ordem, o ângulo cujo valor do coseno ou do seno é passado como parâmetro.
Atan e Atan2: essas duas funções têm o mesmo objetivo, que é retornar o valor do "arco-tangente". O arco-tangente segue o mesmo raciocínio das funções acima, representando o valor do arco/ângulo cuja tangente é informada como parâmetro. Na primeira função (Atan), o único parâmetro é exatamente a tangente, na segunda (Atan2), os parâmetro são o seno e o coseno do ângulo.
Ceiling: retorna o menor valor inteiro que seja maior ou igual ao valor decimal informado como parâmetro. Por exemplo, o retorno dessa função para o parâmetro 2,3 seria 3, pois é o menor valor inteiro superior a 2,3.
Cos e Cosh: representam o coseno e o coseno hiperbólico de um ângulo (passado como parâmetro) em radianos.
Exp: retorna o Exponencial de um número. Esse é um exemplo de função que usa a constante de Euler, retornando esta elevada ao número informado como parâmetro.
Floor: retorna o maior número inteiro que seja menor ou igual ao número decimal passado como parâmetro. Por exemplo, para o parâmetro 2,3 o retorno seria 2, por ser o maior valor inteiro abaixo de 2,3.
Log e Log10: a primeira recebe dois valores como parâmetro, o logaritmando e a base e retorna o valor do logaritmo do primeiro (parâmetro) na base informada. A segunda retorna diretamente o logaritmo do valor passado como parâmetro, mas na base 10.
Max e Min: o retorno dessas funções é, respectivamente, o maior e o menor valor entre dois números.
Pow: retorna o valor do primeiro parâmetro elevado ao segundo (potência).
Round: essa função tem o objetivo de arredondar um valor numérico, retornando o resultado com um número definido de casas decimais. Esse tipo de função é largamente utilizado em situações onde se tem valores com várias casas decimais que não devem ser consideradas em certos cálculos.
Sign: retorna um valor indicando o sinal do valor passado como parâmetro. Se o parâmetro for um valor positivo, o retorno é 1, caso contrário, o retorno é -1.
Sin e Sinh: semelhantes à Cos e Acos, o objetivo dessas funções é obter o seno e seno hiperbólico do ângulo informado como parâmetro, dado em radianos.
Sqrt: abreviação de "Square Root", é a tão conhecida Raíz Quadrada de um valor, recebido como parâmetro.
Tan e Tanh: essas funções recebem como parâmetro um valor decimal, representando um ângulo em radianos, e retorna a tangente e a tangente hiperbólica desse ângulo.
Truncate: semelhante à Round, mas nesse caso não é feito o arredondamento e sim o truncamento, onde algumas casas decimais são totalmente desconsideradas.
Nas listagens a seguir temos o código da classe Program de aplicações console em C# e VB.NET, exemplificando o uso de algumas das funções e propriedades da classe Math.
Listagem 1: Exemplo de arredondamento e truncamento em C#
Console.Write("Valor arredondado de 3.125 com duas casas decimais: ");
Console.Write(Math.Round(3.125));
Console.Write("Valor truncado de 3.125: ");
Console.Write(Math.Truncate(3.125));
Listagem 2: Exemplo de arredondamento e truncamento em VB.NET
Console.Write("Valor arredondado de 3.125 com duas casas decimais: ")
Console.Write(Math.Round(3.125))
Console.Write("Valor truncado de 3.125: ")
Console.Write(Math.Truncate(3.125))
Abaixo temos o resultado desses códigos, apresentados no console.
Figura 1: Exemplos de arredondamento e truncamento
Listagem 3: Cálculo da área de uma circunferência em C#
Console.Write("Informe o valor do raio do círculo: ");
double raio = Convert.ToDouble(Console.Read());
Console.Write("A área do círculo é: ");
Console.Write(Math.PI * Math.Pow(raio, 2));
Listagem 4: Cálculo da área de uma circunferência em VB.NET
Console.Write("Informe o valor do raio do círculo: ")
Dim raio As Double = Convert.ToDouble(Console.Read())
Console.Write("A área do círculo é: ")
Console.Write(Math.PI * Math.Pow(raio, 2))
Figura 2: Cálculo da área do círculo
Como foi possível ver ao longo desse artigo, o .NET Framework nos fornece uma classe bastante poderosa para calcular certas funções matemáticas. Isso pode ser de grande ajuda em diversas situações cotidianas.