Programação
 › Algoritmo  › C/C++  › Java
Web
 › HTML/XHTML  › JavaScript  › PHP
Sistema Operacional
 › Comandos de DOS  › Windows  › Linux  › Mac/BSD
Office
 › Word / Writer  › Excel / Calc
Áreas do Site
 › Download  › Fórum  › Blog
Recomendamos
Computadores e Informática em Lisboa
TI Expert » Programação » C/C++ » Biblioteca Matemática (Math.h)

Math.h e Cmath

Como já visto anteriormente em outras páginas, existem vários processos em um algoritmo que podemos simplesmente determinar como operações matemáticas ou cálculos sendo executados pelo nosso programa.

Levando para a questão realmente matemática, em C existe uma biblioteca própria para cálculos matemáticos um pouco mais complexos, a biblioteca ao qual nos referimos é a math.h, que tem seu correspondente em C++ como cmath.

Com a biblioteca math.h (cmath) podemos encontrar facilmente funções para calcular potências, raíz quadrada, funções trigonométricas para cálculos que envolvem seno, co-seno e tangente, além de constantes para números irracionais como, por exemplo, PI (Π) e √2.

Constantes matemáticas

Vamos iniciar listando as constantes matemáticas:

Simbologia O que é Constante em C/C++ valor da constante em C/C++
e Número de Euler M_E 2,7182818284590452354
log2 e Logaritmo de e na base 2 M_LOG2E 1,4426950408889634074
log10 e Logaritmo de e na base 10 M_LOG10E 0,43429448190325182765
Ln2 (x) Logaritmo neperiano binário M_LN2 0,69314718055994530942
Ln10 (x) Logaritmo neperiano ou natural M_LN10 2,30258509299404568402
Π Pi M_PI 3,14159265358979323846
Π/2 Meio Pi M_PI_2 1,57079632679489661923
Π/4 Quarto de Pi M_PI_4 0,78539816339744830962
√2 Raiz quadrada de 2 M_SQRT2 1,41421356237309504880
√½ Raiz quadrada de meio M_SQRT1_2 0,70710678118654752440

Como podemos ver, todas as constantes são valores do tipo double. E isso se reflete nas funções.

Funções matemáticas

Trigonométricas

sin (): Retorna o valor do seno. Recebe como argumento o valor dos graus em double.

cos (): Retorna o valor do co-seno. Recebe como argumento o valor dos graus em double.

tan (): Retorna o valor da tangente. Recebe como argumento o valor dos graus em double.

Logaritmicas

log (): Retorna o valor do logaritmo na base 2. Exige um argumento do tipo double.

log10 (): Retorna o valor do logaritmo na base 10. Exige um argumento do tipo double.

Potências

pow (): Retorna o valor da base elevada ao expoente. Recebe dois argumentos do tipo double, o primeiro é a base e o segundo o expoente. Por exemplo: se quisermos saber o resultado da operação 210, faríamos pow (2, 10).

sqrt (): Retorna o valor da raiz quadrada. Recebe como argumento um double do qual ele deve extrair a raiz.

Arredondamento

ceil(): Retorna o primeiro float sem casas decimais acima. Recebe um float como argumento. Exemplo: ceil (45.98561) resultaria em 46.

floor(): Retorna o primeiro float sem casas decimais abaixo. Recebe um float como argumento. Exemplo: floor (45.98561) resultaria em 45.

Para ilustrar todas essas funções e constantes, abaixo está um código demonstrando o resultado de cada função da biblioteca math.h (cmath) vista neste artigo.

#include <cmath> // ou <math.h>
#include <iostream>
#include <cstdlib>
using namespace std;

int main (void){
    double graus, raio, base, expoente, x;
    cout << "Trigonometria\nDigite o numero dos graus -> ";
    cin >> graus;
    cout << "Geometria\nDigite a distancia do raio do circulo -> ";
    cin >> raio;
    cout << "Potenciacao\nDigite a base -> ";
    cin >> base;
    cout << "Digite o expoente -> ";
    cin >> expoente;
    cin.ignore();
    system ("cls");
    x = pow (base, expoente);
    cout << "O seno de "<<graus<<" e "<<sin(graus)<<endl;
    cout << "O co-seno de "<<graus<<" e "<<cos(graus)<<endl;
    cout << "A tangente de "<<graus<<" e "<<tan(graus)<<endl;
    cout << base<<" elevado a "<<expoente<<" e "<<x<<endl;
    cout << "A raiz quadrada de "<<x<<" e "<<sqrt(x)<<endl;
    cout << "O log2 de "<<x<<" e "<<log(x)<<endl;
    cout << "O log10 de "<<x<<" e "<<log10(x)<<endl;
    cout << "O teto de "<<x<<" e "<<ceil(x)<<endl;
    cout << "A parte inteira de "<<x<<" e "<<floor(x)<<endl;
    cout << "Um circulo com "<<raio<<"cm de raio tem: ";
    cout << raio*2*M_PI<<"cm de comprimento e ";
    cout << pow(raio,2)*M_PI<<"cm de area.\n"<<endl;
    system ("pause");
    return EXIT_SUCCESS;
}
Faça o Download deste Código

Creative Commons License
Autor: Denys William Xavier
Este artigo está sob Licença Creative Commons.

Faça o download da versão em PDF Indique nosso site Gostou?
Indique nosso site!
Este artigo foi
lido 211018 vezes
Bookmark e Compartilhe

Páginas Relacionadas

Enquete
O Google Chrome OS irá desbancar o Microsoft Windows 7?
» ProgramaçãoAlgorítmo | C/C++ | Java

» WebHTML/XHTML | JavaScript | PHP

» Sistema OperacionalComandos de DOS | Windows | Linux | Mac/BSD

» OfficeWord/Wirter | Excel/Calc

» Áreas do SiteDownloads | Fórum | Blog