Exercício: raízes da equação do 2º grau (Bhaskara)

Oi turma, hoje vamos a um exercício em legal para aperfeiçoar nossas habilidades com a programação.
Neste exercício vamos fazer leitura, escrita, cálculos e testes. Então vamos ao exercício:
Desenvolva um algoritmo e um programa que solicite ao usuário informar 3 valores a, b e c, coeficientes de uma equação de segundo grau.
Calcule e mostre na tela as raízes da equação em ordem crescente.
Caso a equação não tiver raízes reais, mostre na tela a mensagem “A equação não possui raízes reais”.
As raízes de uma equação podem ser calculadas pela fórmula de Bhaskara.
Fórmula de Baskhara
x = (-b ± √(b² – 4ac)) / (2a)
ou na forma visual
x= −b ∓ √b2−4 .a. c
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
2. a
Obs:
Uma equação não possui raízes se reais se b2 − 4 . a . c < 0 .
Exemplo: se o usuário informar na tela os valores a = 1, b= 2, c=3, o programa deverá mostrar
na tela a mensagem “A equação não possui raízes reais”. Se o usuário informar os valores a = 1, b= 8,
c=7, o programa deverá calcular e mostrar na tela os valores -7 e -1 (ordem crescente de valores!).
Resposta em Pascal / Delphi / Lazarus
{
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
}
program RaizesEquacaoSegundoGrau;
uses crt;
var
a, b, c, delta, x1, x2: real;
begin
clrscr;
writeln('Informe os coeficientes da equacao de segundo grau:');
write('a: ');
readln(a);
write('b: ');
readln(b);
write('c: ');
readln(c);
delta := (b * b) - (4 * a * c);
if delta < 0 then
begin
writeln('A equacao nao possui raizes reais.');
end
else if delta = 0 then
begin
x1 := -b / (2 * a);
writeln('A equacao possui uma raiz real: x = ', x1:0:2);
end
else
begin
x1 := (-b + sqrt(delta)) / (2 * a);
x2 := (-b - sqrt(delta)) / (2 * a);
writeln('A equacao possui duas raizes reais:');
writeln('x1 = ', x1:0:2);
writeln('x2 = ', x2:0:2);
end;
readln;
end.
Explicação do código em Pascal
- Primeiro, o programa solicita ao usuário que informe os coeficientes
a,becda equação de segundo grau. - Em seguida, o programa calcula o valor do delta utilizando a fórmula de Bhaskara: delta = (b * b) – (4 * a * c).
- O programa faz a verificação dos casos:
- Se o valor do delta for menor que zero, significa que a equação não possui raízes reais. Nesse caso, o programa exibe a mensagem “A equação não possui raízes reais”.
- Se o valor do delta for igual a zero, significa que a equação possui uma única raiz real. Nesse caso, o programa calcula a raiz utilizando a fórmula: x1 = -b / (2 * a). Em seguida, exibe a mensagem “A equação possui uma raiz real: x = ” seguida do valor da raiz.
- Caso contrário, se o valor do delta for maior que zero, significa que a equação possui duas raízes reais distintas. O programa calcula as raízes utilizando as fórmulas: x1 = (-b + sqrt(delta)) / (2 * a) e x2 = (-b – sqrt(delta)) / (2 * a). Em seguida, exibe a mensagem “A equação possui duas raízes reais:” seguida dos valores das raízes x1 e x2.
- O programa aguarda o usuário pressionar qualquer tecla para encerrar a execução.
O objetivo do programa é calcular e exibir as raízes de uma equação de segundo grau em ordem crescente. Caso a equação não tenha raízes reais, é exibida uma mensagem informando isso.
Beleza pessoal?
Dúvidas ou sugestão em outras linguagens? Deixe o seu comentário!
Um abraço e até o próximo post. Valeu!