Um equação do segundo grau é uma equação onde:
ax² + bx + c = 0 , com 'a' diferente de 0
Programa em Java que calcula as raízes e resolve uma equação do segundo grau
Passo 1:
A primeira parte do programa recebe os três coeficientes da equação, que são 'a', 'b' e 'c' e serão representados pelo tipo float.Passo 2:
Uma equação do 2o grau só é válida se 'a' for diferente de 0, então, se for igual a 0 o programa deverá terminar.Ou seja, nosso programa irá acontece dentro do 'if' que checa que 'a' é diferente de 0.
Passo 3:
Determinando o valor de delta: delta = b² - 4acDeterminando a raiz quadrada de delta: sqrtdelta = (float)Math.sqrt(delta);
Onde sqrt significa 'square root', ou raiz quadrada, em inglês.
Em Java, calculamos a raiz quadrada do número x com o método: Math.sqrt(x);
Esse método retorna um tipo 'double'. Como usamos float em nossos coeficientes, usamos o cast '(float)' para transformar o double em float.
Passo 4:
Se delta for maior ou igual a zero, as raízes são dadas por:raiz1 = (-b + sqrtdelta) / 2a
raiz2 = (-b - sqrtdelta) / 2a
Passo 5:
Se delta for menor que zero, suas raízes serão complexas e as raízes serão da forma:raiz1 = (-b + i.sqrt(-delta) )/2a
raiz2 = (-b - i.sqrt(-delta) )/2a
Formatei a saída da seguinte forma, para ficar mais legível, que é a mesma coisa das equações anteriores:
raiz1 = (-b)/2a + i.sqrt(-delta)/2a
raiz2 = (-b)/2a - i.sqrt(-delta)/2a
Código Java:
import java.util.Scanner;
public class Bhaskara {
public static void main(String[] args) {
float a, b, c, //coeficientes
delta, //delta
sqrtdelta, //raiz quadrada de delta
raiz1,raiz2; //raízes
Scanner entrada = new Scanner(System.in);
//Passo 1: Recebendo os coeficientes
System.out.println("Equação do 2o grau: ax² + bx + cx = 0");
System.out.print("Entre com o valor de a: ");
a = entrada.nextFloat();
System.out.print("Entre com o valor de b: ");
b = entrada.nextFloat();
System.out.print("Entre com o valor de c: ");
c = entrada.nextFloat();
//Passo 2: Checando se a equação é válida
if(a != 0){
//Passo 3: recebendo o valor de delta e calculando sua raiz quadrada
delta = (b*b) - (4*a*c);
sqrtdelta = (float)Math.sqrt(delta);
//Passo 4: se a raiz de delta for maior que 0, as raízes são reais
if(delta >=0){
raiz1 = ((-1)*b + sqrtdelta)/(2*a);
raiz2 = ((-1)*b - sqrtdelta)/(2*a);
System.out.printf("Raízes: %.2f e %.2f", raiz1, raiz2);
}
//Passo 5: se delta for menor que 0, as raízes serão complexas
else{
delta = -delta;
sqrtdelta = (float)Math.sqrt(delta);
System.out.printf("Raíz 1: %.2f + i.%.2f\n", (-b)/(2*a), (sqrtdelta)/(2*a));
System.out.printf("Raíz 2: %.2f - i.%.2f\n", (-b)/(2*a), (sqrtdelta)/(2*a));
}
}
else{
System.out.println("Coeficiente 'a' inválido. Não é uma equação do 2o grau");
}
}
}
Um comentário:
Ali onde está escrito:
//Passo 4: se a raiz de delta for maior que 0, as raízes são reais
Deveria ser: se delta for maior que zero
Postar um comentário