program Reseni_kvadraticke_rovnice; uses crt; var a, b, c: real; function linear(var b, c:real): real; begin linear := -(c/b); end; function discr(var a, b, c: real): real; begin discr := sqr(b) - (4*a*c); end; function x1(var a, b, c: real): real; begin x1 := (-b + sqrt(discr(a,b,c)))/(2*a); end; function x2(var a, b, c: real): real; begin x2 := (-b - sqrt(discr(a,b,c)))/(2*a); end; BEGIN clrscr; writeln('Program na vypocet kvardaticke rovnice ve tvaru ax^2 + bx + c = 0.'); write('Vkladej postupne ciselne hodnoty a, b, c: '); readln(a,b,c); writeln; if (a = 0) and (b <> 0) then writeln('Fce je linearni - ma jedno reseni: x = ',linear(b,c):10:5,'.') else if (a = 0) and (b = 0) and (c <> 0) then writeln('Fce nema v mnozine realnych cisel reseni.') else if (a = 0) and (b = 0) and (c = 0) then writeln('Fce ma v mnozine realnych cisel nekonecne mnoho reseni.') else if (discr(a,b,c) = 0) then begin writeln('Fce ma v mnozine realnych cisel jedno dvojnasobne reseni.'); writeln('x1 = ',x1(a,b,c):5:5,', x2 = ',x2(a,b,c):5:5,'.'); end else if (discr(a,b,c) < 0) then writeln('Fce nema v mnozine realnych cisel reseni - diskriminant je zaporny.') else begin writeln('Fce ma v mnozine realnych cisel dve reseni.'); writeln('x1 = ',x1(a,b,c):10:5,', x2 = ',x2(a,b,c):10:5,'.'); end; writeln; writeln('Stiskni ENTER ...'); readln; END.