program quadratische_Funktion_Version_1;
uses crt;

var a,b,c,d,x,x1,x2  :  real;

function diskr(aa,bb,cc :real):real;     {+++Diskriminantenberechnung+++}

begin
     diskr:=bb*bb - 4*aa*cc;
end;



begin

  clrscr;
  gotoxy(20,3);write('Nullstellenberechnung einer quadratischen Funktion');
  gotoxy(20,4);write('y=axý + bx + c');
  gotoxy(10,7);write('a =  ');readln(a);
  gotoxy(10,9);write('b =  ');readln(b);
  gotoxy(10,11);write('c =  ');readln(c);
  if a=0 then
     begin
          if b=0 then
             begin
                  if c=0 then
                     begin
                     gotoxy(15,15);textcolor(red);write('L”sungsmenge gleich alle reellen Zahlen')
                     end else
                     begin
                      gotoxy(15,15);textcolor(red);write('Es gibt keine L”sung');
                     end;
             end else
             begin
                  x:=-(c/b);
                  gotoxy(15,15);textcolor(red);
                  write('Die Funktin hat nur eine Nullstelle; x =  ');
             end;
     end else

     begin
          d:=diskr(a,b,c);
          if d>=0 then
          begin
               if d=0 then
               begin
                x:=-b/(2*a);
                gotoxy(15,15); textcolor(red);
                write('Es gibt genau eine Nullstelle, x =  ');
               end else
               begin
                x1:=(-b+sqrt(d))/(2*a);
                x2:=(-b-sqrt(d))/(2*a);
                gotoxy(15,15);textcolor(red);write('Die Funktion hat zwei Nullstellen');
                gotoxy(15,17);textcolor(red);Write('x1 =  ',x1:6:3,' und   x2 =  ',x2:6:3);
               end;
          end else
          begin
           gotoxy(15,15);textcolor(red);
           write('Die Funktion hat keine Nullstelle');
          end;
     end;
  readln;
end.








end.

