#include<math.h>

HISTÓRIA

A biblioteca math.h é uma parte fundamental das linguagens de programação C e C++, fornecendo um conjunto de funções matemáticas para realizar operações complexas. Sua história remonta aos estágios iniciais do desenvolvimento dessas linguagens.

Quando as linguagens C e C++ foram criadas, a necessidade de operações matemáticas complexas surgiu rapidamente para suportar uma variedade de aplicações. A biblioteca math.h foi desenvolvida como uma extensão padrão para suprir essa necessidade, fornecendo funções matemáticas como seno, cosseno, exponenciais, logaritmos, entre outras, que seriam essenciais para uma ampla gama de aplicações científicas e de engenharia.

A história exata por trás da criação da biblioteca math.h está intimamente ligada ao desenvolvimento da linguagem C. Dennis Ritchie, um dos criadores da linguagem C, juntamente com Brian Kernighan e outros colaboradores, trabalharam para estabelecer os fundamentos da linguagem e sua biblioteca padrão. A primeira versão do C não possuía uma biblioteca de funções matemáticas incorporada.

Com o tempo, a linguagem C evoluiu e se tornou cada vez mais usada em várias aplicações, incluindo aquelas que demandavam cálculos matemáticos avançados. Em resposta a essa demanda, a biblioteca math.h foi padronizada para incluir várias funções matemáticas, proporcionando aos programadores acesso a operações matemáticas complexas.

Essa biblioteca, em conjunto com outras bibliotecas padrão, se tornou parte integrante das linguagens C e C++, permitindo que desenvolvedores realizem operações matemáticas avançadas sem a necessidade de implementar essas funções do zero em seus programas.

A história da criação da biblioteca math.h está profundamente ligada à evolução das linguagens de programação C e C++, proporcionando aos desenvolvedores ferramentas essenciais para lidar com cálculos matemáticos complexos em suas aplicações.

 

CONSTANTES

 

As constantes em programação são valores que não mudam durante a execução de um programa. Na biblioteca math.h existe uma variedade delas, para deixar o código mais legível e evitar valores “mágicos” (valores desconhecidos sem explicação clara).

 

Em certos ambientes de desenvolvimento e compiladores é necessário, além do cabeçalho ’<math.h>’, o uso do ‘_USE_MATH_DEFINES’ para a exposição dessas constantes.

 

Abaixo estão as constantes mais utilizadas da biblioteca math.h:

 

nome

expressão

valor

M_PI

e

2.71828182845904523536

M_LOG2E

log2(e)

1.44269504088896340736

M_LOG10E

log10(e)

0.434294481903251827651

M_LN2

ln(2)

0.693147180559945309417

M_LN10

ln(10)

2.30258509299404568402

M_PI

π

3.14159265358979323846

M_PI_2

π/2

1.57079632679489661923

M_PI_4

π/4

0.785398163397448309616

M_1_PI

1/π

0.318309886183790671538

M_2_PI

2/π

0.636619772367581343076

M_2_SQRTPI

2/(√π)

1.12837916709551257390

M_SQRT2

2

1.41421356237309504880

M_SQRT1_2

1/(2)

0.707106781186547524401

HUGE_VAL

x>=double

Número impossível de representar com tipo double.

    

FUNÇÕES

 

As funções do cabeçalho math.h em C são usadas para realizar operações matemáticas avançadas em programas. Elas permitem executar cálculos complexos, incluindo operações trigonométricas, exponenciais, logarítmicas, arredondamento, raiz quadrada, entre outras.

                                                                                                                                                                                                                                              

TRIGONOMÉTRICAS

                                 

sin(double x)

cos(double x)

tan(double x)

Calcula o seno de x (em radianos).      

Calcula o cosseno de x (em radianos).

Calcula a tangente de x (em radianos).

 

asin(double x)

acos(double x)

atan(double x)

Calcula o arco seno de x (em radianos).

Calcula o arco cosseno de x (em radianos).

Calcula o arco tangente de x (em radianos).

 

atan2(double y, double x)

Calcula o arco tangente de y / x (em radianos), levando em consideração o sinal de x e y.

 

HIPERBÓLICAS

 

sinh(double x)

cosh(double x)

tanh(double x)

Calcula o seno hiperbólico de x (em radianos).

Calcula o cosseno hiperbólico de x (em radianos).

Calcula a tangente hiperbólica de x (em radianos).

 

EXPONENCIAIS E LOGARÍTMICAS

 

exp(double x)

log(double x)

log10(double x)

Calcula o exponencial de x.

Calcula o logaritmo natural de x.

Calcula o logaritmo de x na base 10.

 

pow(double x, double y)

sqrt(double x)

cbrt(double x)

Calcula x elevado a potência de y.

Calcula a raiz quadrada de x.

Calcula a raiz cúbica de x.

 

ARREDONDAMENTO E TRUNCAMENTO

 

ceil(double x)

floor(double x)

round(double x)

Arredonda x para cima.

Arredonda x para baixo.

Arredonda x para o inteiro mais próximo.

 

trunc(double x)

fmod(double x, double y)

Retorna a parte inteira de x sem a parte fracionária.

Retorna o resto da divisão de x por y.

 

modf(double x, double &y)

Retorna o componente fracionário de x e define y como o componente integral de x

 

OUTRAS FUNÇÕES

 

fabs(double x)

fmax(double x, double y)

fmin(double x, double y)

Retorna o valor absoluto de x.

Retorna o maior valor entre x e y.

Retorna o menor valor entre x e y.

 

isless(double x, double y)

isgreater(double x, double y)

Se x for menor que y retorna um inteiro 1, caso maior 0.

Se x for maior que y retorna um inteiro 1, caso menor 0.