with Ada.Text_Io;
use Ada.Text_Io;
with Ada.Float_Text_Io;
use Ada.Float_Text_Io;
with Ada.Numerics.Elementary_Functions;
use Ada.Numerics.Elementary_Functions;
procedure Pierwiastki_Trojmianu is
-- Program oblicza pierwiastki rownania ax**2+bx+c = 0
-- o wspolczynnikach rzeczywistych
A, B, C : Float; -- wspolczynniki
W : Float; -- wyroznik
Re, Im : Float; -- wyniki posrednie
begin
Put ("Podaj wspolczynnik przy x**2 : ");
Get (A);
Put ("Podaj wspolczynnik przy x : ");
Get (B);
Put ("Podaj wyraz wolny : ");
Get (C);
New_Line;
if (A = 0.0) then
Put ("To nie jest wielomian drugiego stopnia");
New_Line;
else
W := B*B - 4.0*A*C;
Re := B/(2.0*A);
Im := Sqrt(abs(W))/(2.0*A);
Put ("Wyroznik = ");
Put (W);
New_Line;
if W < 0.0 then
Put ("Pierwiaski zespolone :");
New_Line;
Put ("x1 = ");
Put (-Re);
Put(" -j ");
Put (Im);
Put (" ");
Put ("x2 = ");
Put (-Re);
Put(" +j ");
Put (Im);
New_Line;
else
Put ("Pierwiastki rzeczywiste :");
New_Line;
Put ("x1 = ");
Put (-Re-Im);
Put (" ");
Put ("x2 = ");
Put (-Re+Im);
end if;
end if;
end Pierwiastki_Trojmianu;