Podemos inferir que para fazer um programa tão simples como a resolução da equação de segundo grau não precisa de conhecimentos básicos matemáticos e aqui minha conclusão:
E a reposta é um retumbante SIM, sim precisamos conhecer dos princípios matemáticos, e sendo assim vou iniciar minha explicação.
Para iniciar a resolver, devemos condicionar nosso código que só é possível resolver a formula da equação de segundo grau se e só se o valor de a é diferente de zero.
Tendo que:
ax2 +bx +c = 0
Sabendo que a é o coeficiente de x2, b é o coeficiente de x, e c é o termino independente da equação. Em caso de ter a igual a zero o coeficiente de x2 deixaria de existir.
E deixaremos de ter uma quadrática e passaríamos a ter uma equação lineal da forma: bx +c = 0
Aí não tem sentido aplicar a formula de segundo grau.
Em conclusão, é por este motivo que devemos garantir a validação de a ser diferente de zero
a ≠ 0
Agora bem, tendo garantido que a é diferente de zero, vamos a estudar nossa discriminante; lembrando o discriminante é tudo o que está dentro da raiz quadrada (olha a fórmula).
Discriminante = b2 - 4acAvaliando esta discriminante podemos tomar vários caminhos:
Caminho 1: Quando avaliemos a discriminante e de como resultado zero
Obteremos só um valor de x, é dizer a quadrática só vai ter uma raiz.
Caminho 2: Quando avaliemos a discriminante e de como resultado um número positivo
Obteremos 2 valores para x, uma x1 e uma x2, é dizer a quadrática terá dois raízes.
Caminho 3: Quando avaliemos a discriminante e de como resultado um número negativo
Obteremos raízes imaginarias, é dizer número que não estão no plano dos números reais, aí podemos usar uma biblioteca matemática que nos ajude com este cálculo complexo, porque senão nosso código vai bugiar (vai dar erro).
Dica: Outra informação importante a conhecer, é que o valor do x é o valor do corte da função no eixo x, é dizer sua raiz ou raízes. Vamos a visualizar melhor plotando (desenhar ou gráficar) a quadrática
ax2 +bx +c = 0
Sendo
ax2 +bx +c = 0
Então
f(x)= 0
f(x)= ax2 +bx +c
f(x)= 0
f(x)= 1x2