- 11. Faça um programa que calcule as raízes de uma equação do segundo grau, na forma ax² + bx + c. O programa deverá pedir os valores de a, b e c e fazer as consistências, informando ao usuário nas seguintes situações:
Se o usuário informar o valor de A igual a zero, a equação não é do segundo grau e o programa não deve fazer pedir os demais valores, sendo encerrado;
Se o delta calculado for negativo, a equação não possui raízes reais. Informe ao usuário e encerre o programa;
Se o delta calculado for igual a zero a equação possui apenas uma raiz real; informe-a ao usuário;
Se o delta for positivo, a equação possui duas raiz reais; informe-as ao usuário;
Fórmula de Bháskara em C++
Primeiro, pedimos os três coeficientes a, b e c.Também declaramos a variável delta para armazenar o delta (jura?) e root1 e root2, para armazenar as raízes.
O primeiro teste é verificar se a é diferente de 0, somente se for é que podemos calcular as raízes.
Se não for, cai no ELSE e avisamos que a equação não existe.
Sendo diferente de 0, temos que calcular o delta:
De Bháskara: delta = b² - 4ac
Agora, vamos testar o delta.
Se for negativo, dizemos que não tem raiz real.
Se for 0, calculamos a única raiz: (-b/2a)
Se for maior que 0, calculamos as duas raizes (-b- raiz(delta))/2a e (-b+raiz(delta))/2a
Veja como ficou nosso código:
#include <iostream> #include <cmath> using namespace std; int main() { float a, b, c, delta, root1, root2; cout << "Coeficiente a: "; cin >> a; cout << "Coeficiente b: "; cin >> b; cout << "Coeficiente c: "; cin >> c; if(a != 0){ delta = (b*b) - (4*a*c); if(delta<0){ cout <<"Não tem raízes reais\n"; } else if (delta==0){ root1=(-b)/(2*a); cout << "Possui apenas uma raiz real: "<<root1<<endl; }else{ root1=(-b - sqrt(delta))/(2*a); root2=(-b + sqrt(delta))/(2*a); cout << "Raiz 1: "<<root1<<endl; cout << "Raiz 2: "<<root2<<endl; } }else{ cout <<"a=0, não é uma equação do segundo grau\n"; } }
Nenhum comentário:
Postar um comentário