sábado, 25 de agosto de 2007

INF01202 - Laboratório 2 - Exercício 2

Problema 2:

Fazer um programa que resolva uma equação de 2º grau, realizando consistências dos valores do discriminante e coeficiente "a".
Caso o discriminante seja negativo, deverá apenas ser impressa a mensagem: "Esta equação não possui raízes reais".
Caso o coeficiente "a" seja igual a zero, deverá ser impressa a mensagem: "Esta não é uma equação de 2º grau" e deverá ser fornecido o valor da única raiz.
Se o discriminante for maior ou igual a zero e o coeficiente "a" não for nulo, deverão ser impressas as raízes da equação: R1 = XXX e R2 = XXX.
Relembrando o formato da Equação de 2º grau:
ax² + bx + c = 0
Código Fonte:


program Equacao;
uses
Crt;
var
A, B, C, Delta, R, R1: Real;
begin
clrscr;
writeln('C lculo de Equa‡Æo de 2§ Grau');
writeln('-----------------------------');
writeln;
writeln('Resolve uma equacao do tipo: Axý + Bx + C = 0');
writeln;
writeln('Informe os coeficientes:');
write('A = '); readln(A);
write('B = '); readln(B);
write('C = '); readln(C);
writeln;
writeln;

writeln('Resultado');
writeln('---------');
writeln;

if A = 0.0 then
begin
writeln('Esta nÆo ‚ uma equa‡Æo de 2§ Grau!');

R := - (C / B);

writeln('R = ', R:5:2);
end
else
begin
Delta := (B * B) - (4 * A * C);

if Delta < 0.0 then
begin
writeln('Esta equa‡Æo nÆo possui raizes reais!');
end
else
begin
R := (B + sqrt(Delta)) / (2 * a);
R1 := (B - sqrt(Delta)) / (2 * a);

writeln('R1 = ', R:5:2);
writeln('R2 = ', R1:5:2);
end;
end;

readln;

end.

Nenhum comentário: