Equação do 2º grau: Bháskara
Para resolvermos uma equação qualquer do segundo grau, usamos a fórmula de Bháslkara, talvez a equação mais conhecida da Matemática:

O 'triângulo' é a letra grega delta.
Onde a, b e c são os coeficientes da equação:
ax² + bx + c = 0
Por ser de grau 2, elas possuem duas raízes.
Se delta for positivo, essas raízes são reais e distintas.
Se delta for igual a 0, essas raízes são reais e iguais.
Se delta for menor que 0, as raízes são imaginárias e distintas.
Equação do 2º grau em JavaScript
Nosso site conta com 3 formulários, onde pede os coeficientes a, b e c ao usuário.
Em seguida, tem um botão "Calcular raízes", que invoca a função raiz() do JavaScript
Dentro dessa função, capturamos os coeficientes.
Em seguida, calculamos o delta:
- var delta = b*b - 4*a*c
Agora vamos calcular as raízes.
Porém, para isso, precisamos primeiramente analisar o delta.
Se ele for maior que 0, exibimos as duas raízes reais distintas.
Se não for, cai no ELSE.
Dentro do ELSE, tem outro IF, para saber se o delta é nulo.
Se for, exibimos a raiz dupla.
E dentro desse ELSE, tem outro ELSE.
Cai nele caso o delta seja negativo.
Se for, primeiro calculamos a parte real:
real = -b/(2*a)
Depois, as duas partes imaginárias:
img1 = Math.sqrt(-delta)/(2*a)
img2 = - Math.sqrt(-delta)/(2*a)
E exibimos da seguinte forma:
raiz1 = real + img1i
raiz2 = real + img2i
Veja o código:
<!DOCTYPE html> <html> <head> <title>Curso JavaScript Progressivo</title> Equação do 2o grau: ax² + bx + c = 0 <br /> Coeficiente a:<input id="num1" type="number"> <br /> Coeficiente b:<input id="num2" type="number"> <br /> Coeficiente c: <input id="num3" type="number"> <br /> <button onclick="raiz()">Calcular raízes</button><br /> <div id='resposta'></div> <script type="text/javascript"> function raiz(){ var a = parseFloat(document.getElementById("num1").value); var b = parseFloat(document.getElementById("num2").value); var c = parseFloat(document.getElementById("num3").value); ans = document.getElementById('resposta'); var delta = (b*b) - 4*a*c; if (delta>0){ raiz1 = (-b + Math.sqrt(delta) )/(2*a); raiz2 = (-b - Math.sqrt(delta) )/(2*a); ans.innerHTML = "Raiz 1: " + raiz1 + "<br/>" +"Raiz 2: " + raiz2; }else{ if (delta==0){ raiz = (-b + Math.sqrt(delta) )/(2*a); ans.innerHTML="Raiz dupla: " + raiz; }else{ real = (-b)/(2*a); img1 = Math.sqrt(-delta)/(2*a); img2 = - Math.sqrt(-delta)/(2*a); ans.innerHTML = "Raiz 1: " + real + "+" + img1+"i"+"<br/>" + "Raiz 2: " + real + "+" + img2+"i" } } } </script> </head> </html>
Faça o teste:
Equação do 2o grau: ax² + bx + c = 0
Coeficiente a:
Coeficiente b:
Coeficiente c:
- Exercício Hacker
Quebre o script anterior. Encontre um erro, uma coisa que você digitar, vai dar problema.
Escreva nos comentários.
Este comentário foi removido pelo autor.
ResponderExcluir