Составить программу решения квадратного неравенства. Напечатать исходные данные и результаты. ax2+bx+c меньше или равно 0 (x в квадрате)
Категория: Delphi/Pascal
2012-02-25 18:46:52
code: #pascal
Program fail1; var a,b,c:integer; x1,x2:real; function ddd:real; {Func. Diskriminanta} begin ddd:=sqr(b)-(4*a*c) end; procedure exchange(var a,b:real); {Proc. Obmena} var c:real; begin if athen exit; c:=a; a:=b; b:=c; end; function znaki:string; {Func. opredeleniya Znakov na osi} var z1,z2,z3:real; zn1,zn2,zn3:char; begin z1:=a*(sqr(x1-1))+(b*(x1-1))+c; z2:=a*(sqr(x2-0.155))+(b*(x2-0.155))+c; z3:=a*(sqr(x2+1))+(b*(x2+1))+c; if z1<0 then zn1:='-' else zn1:='+'; if z2<0 then zn2:='-' else zn2:='+'; if z3<0 then zn3:='-' else zn3:='+'; znaki:=zn1+zn2+zn3; end; {**************************************sama proga******************************} begin writeln ('Vvedite znacenie A:'); readln(a) ; writeln ('Vvedite znacenie B:'); readln(b) ; writeln ('Vvedite znacenie C:'); readln(c) ; if ddd<0 then writeln ('Mnozhestvo resheniy ne ogranicheno (resheniyami yavlyayutsya vse chisla)'); if ddd=0 then begin x1:=-(b/(2*a)); writeln ('Neravenstvo vypolnyaetsya v edinstvennoy tochke - ',x1); end; if ddd>0 then begin x1:=((-b)+sqrt(ddd))/(2*a); x2:=((-b)-sqrt(ddd))/(2*a); {naxpdim X1 i X2} exchange(x1,x2); {procedura obmena} if znaki='-+-' then writeln('Mn-vo resheniy = (-#,',x1:0:2,']&[',x2:0:2,',+#)'); if znaki='+-+' then writeln('Mn-vo resheniy = [',x1:0:2,',',x2:0:2,']'); if znaki='-++' then writeln('Mn-vo resheniy = (-#,',x1:0:2,']'); if znaki='--+' then writeln('Mn-vo resheniy = (-#,',x2:0:2,']'); if znaki='+--' then writeln('Mn-vo resheniy = [',x1:0:2,',+#)'); if znaki='++-' then writeln('Mn-vo resheniy = [',x2:0:2,',+#)'); end; readln; end.
Поделиться: