Resolução de equação do 2o grau (ax2+bx+c=0)
DADOS DE ENTRADA: a, b e c
SAÍDA: dependendo do caso, apresentar x1 e x2, x ou informar que não possui solução.
Para todas as linguagens de programação, as etapas para o cálculo das raízes de uma equação quadrática serão iguais ou muito semelhantes. Resolveremos este problema usando a linguagem C++, e os passos estão descritos abaixo:
Abaixo está o código escrito no CodeBlocks:
#include <iostream>
#include <math.h> //Referência para sqrt
using namespace std;
int main()
{
//declaração das variáveis do tipo float
float a, b, c, del, x1, x2;
//Inserindo os valores
cout << "Sendo a equação na forma ax^2+bx+c=0, qual o valor das constantes a, b, e c , nessa respectiva ordem? \n";
cout << "a = ";
cin >> a;
cout << "b = ";
cin >> b;
cout << "c = ";
cin >> c;
//Calculando o delta
del = (b*b)-(4*a*c);
//Verificando se é possível calcular as raízes
if (del<0){
//Se o delta for menor que zero, a equação não possui soluções reais
cout << "A equação não possui soluções reais";
return 0;
}
else if (del==0){
//Se o delta for igual a zero, a equação possui apenas uma solução real
x1 = (-b+sqrt(del))/(2*a);
cout << "A equação possui apenas uma raíz: x = " << x1;
return 0;
}
else {
//Se o delta não for igual ou menor que zero, a equação possui duas soluções reais
x1 = (-b+sqrt(del))/(2*a);
x2 = (-b-sqrt(del))/(2*a);
cout << "As soluções são: x1 = " << x1 << " e x2 = "<<x2;
return 0;
}
}
Para todas as linguagens de programação, as etapas para o cálculo das raízes de uma equação quadrática serão iguais ou muito semelhantes. Resolveremos este problema usando a linguagem C++, e os passos estão descritos abaixo:
Para que o computador possa calcular as raízes, primeiro, precisa-se conhecer as constantes a, b e c da equação. E para isso, o computador deve armazenar essas variáveis na memória e isso é feito declarando as variáveis no programa. Existem diversos tipos de variáveis, e as principais para esse caso são as variáveis reais e inteiras. No nosso algoritmo declararemos as variáveis como sendo float, que é um tipo de variável que utiliza 4 bytes de memória e os valores de 1.2e-308 a 3.4e-38 (números reais).
Fora as constantes da equação, ainda precisamos declarar as raízes x1 e x2, e para simplificar o entendimento do cálculo, declararemos uma variável que armazenará o valor do delta da fórmula de bhaskara.
Tendo todas as variáveis declaradas, é possível calcular as raízes. Primeiro, calcularemos o valor de delta, e com ela, vamos fazer o programa verificar se é possível de fato calcular as raízes (ou apenas uma raíz). Para isso usaremos uma estrutura condicional if-else. Ela verifica uma determinada condição, e se ela for verdadeira, executa os comandos escritos nela. Caso seja falsa, ela verificará as condições seguintes até que encontre uma que seja verdadeira a condição.
Encontrando um bloco de comando de satisfaça a condição, a raíz, ou as raízes serão calculadas, ou o programa nos dirá que não foi possível realizar o cálculo.
Abaixo está o código escrito no CodeBlocks:
#include <iostream>
#include <math.h> //Referência para sqrt
using namespace std;
int main()
{
//declaração das variáveis do tipo float
float a, b, c, del, x1, x2;
//Inserindo os valores
cout << "Sendo a equação na forma ax^2+bx+c=0, qual o valor das constantes a, b, e c , nessa respectiva ordem? \n";
cout << "a = ";
cin >> a;
cout << "b = ";
cin >> b;
cout << "c = ";
cin >> c;
//Calculando o delta
del = (b*b)-(4*a*c);
//Verificando se é possível calcular as raízes
if (del<0){
//Se o delta for menor que zero, a equação não possui soluções reais
cout << "A equação não possui soluções reais";
return 0;
}
else if (del==0){
//Se o delta for igual a zero, a equação possui apenas uma solução real
x1 = (-b+sqrt(del))/(2*a);
cout << "A equação possui apenas uma raíz: x = " << x1;
return 0;
}
else {
//Se o delta não for igual ou menor que zero, a equação possui duas soluções reais
x1 = (-b+sqrt(del))/(2*a);
x2 = (-b-sqrt(del))/(2*a);
cout << "As soluções são: x1 = " << x1 << " e x2 = "<<x2;
return 0;
}
}
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar