Darkrai1337

BiquadraticEquation

Nov 23rd, 2021 (edited)
1,685
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.17 KB | None | 0 0
  1. program Biqrt;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.   SysUtils,Math;
  7. var
  8.   a,b,c,D,x,y,f1,f2,modul1, modul2,z1,z2: double;
  9. begin
  10.   Readln(a,b,c);
  11.   Writeln(a:2:2,'x^4+',b:2:2,'x^2+',c:2:2,'=0');
  12.   D:= sqr(b) - 4*a*c;
  13.   if D >= 0 then
  14.     begin
  15.     y:= 0;
  16.     x:= (-b + sqrt(D))/(2*a);
  17.     f1:= (pi*(0.5*sign(x)-0.5));
  18.     modul2:= sqrt(sqrt(sqr(x)+sqr(y)));
  19.     x:= (-b - sqrt(D))/(2*a);
  20.     f2:= (pi*(0.5*sign(x)-0.5));
  21.     modul1:= sqrt(sqrt(sqr(x)+sqr(y)));
  22.     end;
  23.   if D < 0 then
  24.     begin
  25.      x:= -b / (2*a);
  26.      y:= sqrt(-D)/(2*a);
  27.         f1:= sign(y) * (pi*(0.5*(sign(x))-0.5) + arctan(y/x));
  28.         f2:= sign(-y) * (pi*(0.5*(sign(x))-0.5) + arctan(-y/x));
  29.         modul1:= sqrt(sqrt(sqr(x)+sqr(y)));
  30.         modul2 := modul1;
  31.     end;
  32.   z1:= modul1*cos((f2+2*pi*0)/2); z2:= modul1*sin((f2+2*pi*0)/2);
  33.   writeln(z1:2:2,'+(',z2:2:2,'i)');
  34.   z1:= modul1*cos((f2+2*pi*1)/2); z2:= modul1*sin((f2+2*pi*1)/2);
  35.   writeln(z1:2:2,'+(',z2:2:2,'i)');
  36.   z1:= modul2*cos((f1+2*pi*0)/2); z2:= modul2*sin((f1+2*pi*0)/2);
  37.   writeln(z1:2:2,'+(',z2:2:2,'i)');
  38.   z1:= modul2*cos((f1+2*pi*1)/2); z2:= modul2*sin((f1+2*pi*1)/2);
  39.   writeln(z1:2:2,'+(',z2:2:2,'i)');
  40. readln;
  41. end.
  42.  
Advertisement
Add Comment
Please, Sign In to add comment