Главная » Статьи » Программирование в 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. | |
Просмотров: 1064 | Комментарии: 1 | |
Всего комментариев: 0 | |