Teoria

E aí pessoal, aqui é o Juan do Responde Aí, e hoje vamos falar sobre a biblioteca cmath.

Matemática++

Até agora a gente viu as operações aritméticas básicas. Mas e onde estão as potências? Cadê as raízes, trigonometrias e logaritmos?

Não se preocupe, a Biblioteca Padrão do C++ fornece tudo isso dentro do header < c m a t h > .

A cmath é uma biblioteca herdada da Linguagem C, e que fornece pra gente funções trigonométricas, hiperbólicas, exponenciais, potenciação, e muito mais.

Pra usar a biblioteca cmath a gente utiliza # i n c l u d e < c m a t h > no começo do nosso código. E da mesma forma que a biblioteca iostream a gente precisa incluir o namespace da biblioteca padrão usando u s i n g   n a m e s p a c e   s t d ;

E pronto! Agora podemos usar várias funções matemáticas que o C++ fornece pra gente.

Agora vamos falar sobre algumas das principais funções presentes na cmath.

Potenciação

As duas principais funções de potenciação presentes na biblioteca cmath são a pow e a sqrt

Para usar essas funções basta escrever o nome da função e dentro dos parêntesis colocar os valores que você quer calcular.

Na linha 11 a gente usou a função p o w ( x , y ) para calcular x y

E na linha 12 usamos a função s q r t ( x ) para calcular x

Trigonometria

As funções trigonométricas estão disponíveis também. Atenção, o C++ usa radianos.

Usamos essas funções da mesma forma: basta escrever o nome da função e dentro dos parêntesis colocar os valores que você quer calcular.

Vamos ver alguns exemplos:

As funções trigonométricas trabalham em radianos, então é sempre bom definir uma variável contendo o valor de π . E pra evitar que você altere o valor sem querer use o modificador const para criar uma constante inalterável, como fizemos na linha 08

Na linha 10 usamos a função c o s para calcular o cosseno de π 4 . Na linha 11 calculamos o arco-seno de ½ usando a função a s i n .

Já na linha 12 a gente usou uma expressão 1 / t a n ⁡ ( P I / 6 ) . Pela precedência, primeiro o C++ calcula as funções, nesse caso t a n ⁡ ( P I / 6 ) , e depois calcula a divisão 1 / t a n . Dessa forma obtemos a cotangente.

Funções exponenciais e logarítmicas

As principais funções exponenciais e logarítmicas disponíveis são:

Vamos resolver alguns exemplos:

Na linha 8 vamos declarar uma constante com o valor de e para facilitar.

Na linha 10 usamos a função l o g para calcular o logaritmo natural de e .

Na linha 11 usamos a função l o g 2 para calcular o logaritmo de 8 na base 2 .

Na linha 12 usamos a função l o g 10 para calcular o logaritmo de 100 na base 10 .

Outras funções comuns

Algumas outras funções da biblioteca cmath podem ser úteis.

Vamos ver um exemplo com as funções a b s ( x ) , f m a x ( x , y ) e f m i n ( x , y )

Na linha 11 usamos a função a b s para calcular valor absoluto da variável y .

Na linha 12 usamos a função f m a x para calcular o maior valor entre as variáveis x e y . Com a função f m i n podemos calcular o menor entre as variáveis, como feito na linha 13

A diferença entre as funções r o u n d ( x ) , c e i l ( x ) , f l o o r x e t r u n c ( x ) pode não ficar clara de primeira. Então vamos fazer o seguinte exemplo pra esclarecer:

O código pode ter ficado um pouco feio. Mas calma, que ele não assusta. São apenas muitos valores sendo impressas em uma mesma linha pra gerar essa tabela.

Saca só: O round efetua os arredondamentos de acordo com as regras matemáticas. O trunc simplesmente ignora os valores após o ponto decimal. O floor sempre busca diminuir o valor, mesmo quando esse valor já é negativo. E o ceil sempre aumenta o valor.

E por hoje é isso galera. Pra entender melhor, vamos fazer uns exercícios de fixação.

Potenciação

Trigonometria

Funções exponenciais e logarítmicas

Outras funções comuns