| | | |

Minicurso de C++ para Matemática

Ajude a manter o site livre, gratuito e sem propagandas. Colabore!

2.3 Funções e constantes elementares

A biblioteca C++ cmath.h disponibiliza várias funções e constantes elementares. Por exemplo, o seguinte código imprime os valores de π, 2 e lne.

Código 4: math.cpp
1#include <iostream>
2#include <cmath>
3
4int main()
5{
6 std::cout << "pi = "
7 << M_PI << std::endl;
8 std::cout << "2^(1/2) = "
9 << sqrt(2) << std::endl;
10 std::cout << "log(e) = "
11 << log(M_E) << std::endl;
12
13 return 0;
14}

Para compilar e lincar a biblioteca <cmath>, usamos o seguinte comando

1 $ g++ math.cpp -lm
Observação 2.3.1.(Logaritmo Natural)

Notemos que log é a função logaritmo natural, i.e. ln(x)=loge(x). A implementação C++ para o logaritmo de base 10 é log10.

E. 2.3.1.

Compute

  1. a)

    sen(π4)

  2. b)

    log3(π)

  3. c)

    elog2(π)

  4. d)

    273

E. 2.3.2.

Faça um código para computar as raízes reais de um polinômio quadrático

p(x)=ax2+bx+c (2.3)

usando a fórmula de Bhaskara333Bhaskara Akaria, 1114 - 1185, matemático e astrônomo indiano. Fonte: Wikipédia: Bhaskara II.. Teste-o para diferentes conjuntos de coeficientes.


1#include <iostream>
2#include <cmath>
3
4int main()
5{
6 // coeficientes
7 double a = 2.0;
8 double b = -2.0;
9 double c = -4.0;
10
11 // discriminante
12 double d = b*b - 4*a*c;
13
14 // raízes
15 double x1 = (-b + sqrt(d)) / (2*a);
16 double x2 = (-b - sqrt(d)) / (2*a);
17
18 // imprime
19 std::cout << "Raízes: " << std::endl
20 << " x1 = " << x1 << std::endl
21 << " x2 = " << x2 << std::endl;
22 return 0;
23}

Envie seu comentário

Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!

Opcional. Preencha seu nome para que eu possa lhe contatar.
Opcional. Preencha seu e-mail para que eu possa lhe contatar.
As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a política de uso de dados para mais informações.

Licença Creative Commons
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.

Pedro H A Konzen
| | | |