program cw3_54;
{ Program ilustruje działanie procedury która }
{ oblicza rozwiązania równania kwadratowego. }
{ Katalog r3_10 : 3_54.pas }
var
A, B, C, XI, X2 : Real;
Liczba : Byte;
procedurę RownanieKwadratowe (A, B, C: Real;
var LiczbaRozwiazan : Byte; var XI, X2 : Real);
{ Procedura oblicza pierwiastki rowniania Ax"2+Bx+C-0 }
{ W zmiennej LiczbaRozwiazan zwraca liczbę rozwiązań }
{ równania (0, 1 lub 2), w XI i X2 - rozwiązania. }
{ leżeli jest jedno rozwiązanie, jest pamiętane w XI, }
{ X2 jest nieokreślone, leżeli nie ma rozwiązań, XI i }
{ X2 pozostaje nieokreślone. }
var
Delta ; Real; begln
Delta Sqr(B)-4*A*C; if (Delta<0) then LiczbaRozwiazan 0 else
if (Delta-0) then begin
LiczbaRozwiazan 1;
XI -B/(2*A); end else begin
LiczbaRozwiazan 2;
XI (-B-Sqrt(Delta))/C2*A);
X2 :- (-B+Sqrt(Delta))/(2*A); end
end; {--------------------------- RownanieKwadratowe -}
begin
Write |
(' Podaj |
A: |
'); |
Readln |
(A); |
Write |
('Podaj |
B: |
'); |
Readln |
(B); |
Write |
( ' Podaj |
C: |
'); |
Readln |
(C); |
RownanieKwadratowe (A, B, C, Liczba, XI, X2); if (Liczba - 0) then
Writeln ('Brak rozwiązań') else
if (Liczba - 1) then
Writeln ('Jedno rozwiązanie: ', Xl:0:2) else
Writeln ('Dwa rozwiązania: ', Xl:0:2, ' i ', X2:0:2);
Readln;
end.