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.
ResponderExcluirEste comentário foi removido por um administrador do blog.
ResponderExcluir