Program rownanie kwadratowe
program RownanieKwadratowe;
uses crt;
var
a, b, c, x1, x2, d, x: Real;
begin
clrscr;
// Wczytywanie współczynników równania kwadratowego
write('Podaj a = ');
readln(a);
write('Podaj b = ');
readln(b);
write('Podaj c = ');
readln(c);
// Sprawdzanie, czy równanie jest liniowe (a = 0)
if a = 0 then
begin
writeln('Rozwiązywanie równania liniowego');
if (b = 0) and (c <> 0) then
writeln('Brak rozwiązań')
else if (b <> 0) and (c <> 0) then
begin
x := (-c) / b;
writeln('Rozwiązanie x = ', x:0:2);
end
else if (b = 0) and (c = 0) then
writeln('Równanie nieoznaczone - nieskończenie wiele rozwiązań')
else if (b <> 0) and (c = 0) then
writeln('Rozwiązaniem równania jest liczba 0');
readln;
end
else
begin
// Obliczanie delty
d := (b * b) - 4 * a * c;
if d > 0 then
begin
// Dwa różne rozwiązania rzeczywiste
x1 := (-b - sqrt(d)) / (2 * a);
x2 := (-b + sqrt(d)) / (2 * a);
writeln('Rozwiązania:');
writeln('x1 = ', x1:0:2);
writeln('x2 = ', x2:0:2);
end
else if d = 0 then
begin
// Jedno podwójne rozwiązanie rzeczywiste
x := (-b) / (2 * a);
writeln('Rozwiązanie: x = ', x:0:2);
end
else
// Brak rozwiązań rzeczywistych
writeln('Brak rozwiązań rzeczywistych');
readln;
end;
end.