Zadání:
Sestavte program, který najde řešení kvadratické rovnice ax2+bx+c=0 v oboru reálných čísel.
Řešení:
Po zadání koeficientů a, b a c otestujeme, zda nebyl zadán nulový koeficient a. Pokud ano, přechází řešení kvadratické
rovnice na řešení lineární rovnice. Při řešení lineární rovnice ještě otestujeme, zda nebyl zadán koeficient b nulový.
Pokud ano, musíme ještě otestovat koeficient c na nulovou hodnotu.
Pokud nebyl zadán koeficient a nulový, vypočteme hodnotu diskriminantu D = b2 - 4ac. Pokud je vypočtená hodnota D
menší než nula, nemá kvadratická rovnice v oboru reálných čísel řešení, jinak lze vypočítat řešení.
a=0, b=0, c=0: rovnice má nekonečně mnoho řešení
a=0, b=0, c<>0: rovnice nemá řešení
a=0, b<>0: rovnice má jedno řešení
a<>0, D<0: rovnice nemá v R řešení
a<>0, D=0: rovnice má v R řešení jeden dvojnásobný kořen
a<>0, D>0: rovnice má v R dva kořeny
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var a,b,c,d,x1,x2: real;
begin
write('Zadejte koeficient a: ');
readln(a);
write('Zadejte koeficient b: ');
readln(b);
write('Zadejte koeficient c: ');
readln(c);
if a=0 then
if b=0 then
if c=0 then writeln('Nekonecne mnoho reseni')
else writeln('Rovnice nema reseni')
else writeln('Jedno reseni x=',-c/b:0:3)
else
begin
d:=sqr(b)-4*a*c;
if d<0 then writeln('Rovnice nema v R reseni')
else
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln('x1=',x1:0:3);
writeln('x2=',x2:0:3);
end;
end;
readln;
end.
program ke stažení