Equação 2 grau em c
Equação do segundo grau em C
Uso do programa:
O programa encontra as raízes de uma equação do segundo grau. Os dados de entrada são números reais e são os coeficientes da equação. O resultado pode sair em números reais, ou complexos, dependendo dos valores que o usuário digitar. Pode ser utilizado para facilitar e agilizar cálculos dependentes de equações do segundo grau.
O problema:
Primeiro é encontrado um Delta (b²-4.a.c) pois a partir dele saberemos quais os tipos de raízes e também como o gráfico da função será para então utilizar a fórmula de Bhaskara para determinar as raízes de uma equação quadrática, isto é, os valores que x pode assumir fazendo o resultado da função ser zero (tocando e eixo x). Uma equação quadrática com coeficientes reais tem duas raízes reais(iguais ou diferentes), ou então duas raízes complexas. O discriminante(delta) da equação determina o número e a natureza das raízes. Se delta for maior que zero, o polinômio terá duas raízes reais distintas, se delta for igual a zero terá duas raízes reais iguais, e se delta for menor que zero as duas raízes estarão em números complexos.
Validação dos dados: Exemplos de validação do programa, enquanto A for igual a 0, o programa continuará pedindo um A diferente de zero.
printf("\nDigite um número real a diferente de zero:\n"); scanf("%lf", &a); while (a == 0) { printf("Digite um número diferente de zero"); scanf("%lf", &a);
}
Cálculo:
O cálculo feito inicialmente é do delta. Após é feito a análise para cada tipo de delta e aplicada a formula adaptada. Para delta menor que zero o programa não faz o cálculo completo , ele apenas mostra o resultado associando as partes reais e imaginárias do problema.
delta = ((b*b) - (4*a*c)); if (delta == 0){ raiz = (-b)/(2*a); if (delta > 0){ raiza = (-b + (sqrt(delta)))/2*a; raizb = (-b - (sqrt(delta)))/2*a;
if (delta < 0) { z1 = (-b)/(2*a); z2 = (sqrt(-delta))/(2*a); z3 =