Apostila de PHP para download
Equação do 2° Grau
Para resolver uma equação do segundo grau, usamos a fórmula de Bháskara:Onde esse símbolo do triângulo se chama delta (letra grega).
Se delta for 0, temos apenas uma raiz, real.
Se for maior que 0, temos duas raízes reais (uma com sinal + e outra com sinal -).
Se for menor que 9, temos duas raízes imaginárias (já estudou números complexos?)
Script em PHP: Raízes de uma equação do segundo grau
Vamos pedir pelo HTML os três coeficientes a, b e c e armazenar respectivamente nas varáveis $a, $b e $c.O primeiro teste é se $a é diferente de 0, se sim, continuamos no script.
Se for 0, cai no ELSE e já encerra o script.
Se for diferente, vamos ter três casos.
Primeiro tratamos para delta maior que 0, onde teremos duas raízes reais.
$raiz1 = (-$b + sqrt($delta) )/(2*$a);
$raiz2 = (-$b - sqrt($delta) )/(2*$a);
Se delta for 0, as duas raízes serão iguais:
$raiz1=$raiz2 = -($b)/(2*$a);
Se for menor, vamos ter que fazer algo mais complexo.
Como a raiz é imaginária, ela terá uma parte real ($real) e outra imaginária ($img)
E as raízes serão strings, pois temos que adicionar um i na resposta.
Para concatenar uma variável com uma string, usamos o símbolo de ponto .
Veja como ficou nossa solução completa:
<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <form action="" method="get"> a: <input type="number" name="numero1" /><br /> b: <input type="number" name="numero2" /><br /> c: <input type="number" name="numero3" /><br /> <input type="submit" name="submit" value="Testar" /> </form> <?php $a = $_GET['numero1']; $b = $_GET['numero2']; $c = $_GET['numero3']; if($a != 0){ $delta = $b*$b - 4*$a*$c; if($delta>0){ $raiz1 = (-$b + sqrt($delta) )/(2*$a); $raiz2 = (-$b - sqrt($delta) )/(2*$a); }elseif ($delta==0) $raiz1=$raiz2 = -($b)/(2*$a); else{ $real = -$b/(2*$a); $img = sqrt(-$delta)/(2*$a); $raiz1 = $real."+i".$img; $raiz2 = $real."-i".$img; } }else echo "Equação inexistente"; echo "Raiz 1: $raiz1 <br />"; echo "Raiz 2: $raiz2 <br />" ?> </body> </html>