Приветствую Вас, Гость
Главная » Статьи » Программирование в Delphi

Решение биквадратного уравнения

Решение биквадратного уравнения

program Bi_Urav;

 

{$APPTYPE CONSOLE}

 

uses

  SysUtils;

 

var

a, b, c, d: integer;

x: array[1..4] of real;

temp_1, temp_2: real;

begin

  readln(a);

  readln(b);

  readln(c);

    if (a = 0) or (b=0) or (c=0) then

    begin

    writeln('Vvedite a<>0, b<>0, c<>0');

    readln;

    exit;

    end;

  d:= sqr(b) - 4*a*c;

  if d < 0 then

  begin

  writeln('no');

  readln;

  exit;

  end;

  if d = 0 then

  begin

  temp_1:= (-1) * b /(2 * a);

    if temp_1 < 0 then

    begin

    writeln('no');

    readln;

    exit;

    end

    else

    begin

    x[1]:= sqrt(temp_1);

    x[2]:= (-1) * sqrt(temp_1);

    writeln('x1 = ', x[1]:10:2);

    writeln('x2 = ', x[2]:10:2);

    readln;

    exit;

    end;

  end;

  if d > 0 then

  begin

  temp_1:= ((-1) * b + sqrt(d))/(2 * a);

  temp_2:= ((-1) * b - sqrt(d))/(2 * a);

    if (temp_1 < 0) and (temp_1 < 0) then

    begin

    writeln('no');

    readln;

    exit;

    end

    else

    begin

      if temp_1 >= 0 then

      begin

      x[1]:= sqrt(temp_1);

      x[2]:= (-1) * sqrt(temp_1);

      writeln('x1 = ', x[1]:10:2);

      writeln('x2 = ', x[2]:10:2);

      end;

      if temp_2 >= 0 then

      begin

      x[3]:= sqrt(temp_2);

      x[4]:= (-1) * sqrt(temp_2);

      writeln('x3 = ', x[3]:10:2);

      writeln('x4 = ', x[4]:10:2);

      end;

    readln;

    exit;

    end;

  end;

  readln;

end.


Категория: Программирование в Delphi | Добавил: mihalych_2013 (02.01.2014)
Просмотров: 1039 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: