Elabore algoritmos que resolvam os problemas a seguir, usando variáveis em C++
Determinar as raízes de uma equação do
grau, cujas fórmulas são:
Determinar as raízes de uma equação do
Passo 1
Beleza! Vamos resolver um exercício onde precisamos determinar as raízes de uma equação de segundo grau usando C++. A matéria envolvida aqui é Equações do Segundo Grau e Programação em C++. Para resolver isso, vamos precisar entender a fórmula de Bhaskara, que nos ajuda a encontrar as raízes de uma equação quadrática da forma $ ax^2 + bx + c = 0 $.
Passo 2
Primeiro, vamos lembrar qual é a fórmula de Bhaskara. Ela nos dá as soluções (raízes) da equação do segundo grau:
Aqui, $ a $, $ b $ e $ c $ são os coeficientes da equação.
Passo 3
Em C++, vamos precisar declarar variáveis para armazenar os valores de $ a $, $ b $ e $ c $. Além disso, vamos calcular o discriminante $ \Delta = b^2 - 4ac $, que nos indica a natureza das raízes.
Passo 4
Vamos usar a função
sqrt
da biblioteca <cmath>
para calcular a raiz quadrada do discriminante. Se $ \Delta $ for positivo, teremos duas raízes reais e diferentes. Se for zero, teremos duas raízes reais e iguais. Se for negativo, as raízes serão complexas, mas por enquanto vamos focar nas raízes reais.Passo 5
Agora, vamos implementar isso em um código C++ que solicita ao usuário os valores de $ a $, $ b $ e $ c $, calcula as raízes usando as fórmulas de Bhaskara e exibe os resultados.
Resposta
#include <iostream>
#include <cmath>
int main() {
double a, b, c;
double delta, x1, x2;
// Solicita os coeficientes ao usuário
std::cout << "Digite o valor de a: ";
std::cin >> a;
std::cout << "Digite o valor de b: ";
std::cin >> b;
std::cout << "Digite o valor de c: ";
std::cin >> c;
// Calcula o discriminante
delta = pow(b, 2) - 4 * a * c;
// Verifica o valor de delta para determinar as raízes
if (delta > 0) {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
std::cout << "As raízes são reais e diferentes: " << std::endl;
std::cout << "x1 = " << x1 << std::endl;
std::cout << "x2 = " << x2 << std::endl;
}
else if (delta == 0) {
x1 = -b / (2 * a);
std::cout << "As raízes são reais e iguais: " << std::endl;
std::cout << "x1 = x2 = " << x1 << std::endl;
}
else {
std::cout << "As raízes são complexas e diferentes." << std::endl;
}
return 0;
}