Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (55.29 KB, 1 trang )
Tìm số phức có bình phương bằng một số phức khác
Sử dụng Turbo Pascal
program timsophucbinhphuong;
uses crt;
var a,b,x,y,t1,t2,delta:real;
begin
clrscr;
write('Nhap phan thuc va phan ao cua so phuc: ');readln(a,b);
{z=x+yi, z^2 = x^2-y^2+2xyi = a+bi => x^2-y^2=a & 2xy=b}
if (b=0) then if (a<0) then
begin y:=sqrt(-a);{neu y=0 thi x^2<0 nen loai}
writeln('So phuc thoa man la z = 0+',y:10:5,'i hoac z = 0-',y:10:5,'i');
end else begin
x:=sqrt(a);{neu x=0 thi y^2<0 loai nen y=0 x^2=a}
writeln('So phuc thoa man la z = ',x:10:5,'+0i hoac z = ',x:10:5,'+0i');end;
if b<>0 then
begin
{giai phuong trinh trung phuong: y=b/2x=> 4x^4-4ax^2-b^2 = 0, dat t=x^2}
delta:=4*a*a+4*b*b;{delta phay luon duong trong TH nay do b<>0}
t1:=(2*a+sqrt(delta))/4;
t2:=(2*a-sqrt(delta))/4;
if t1>=0 then
begin {khong can xet x=0 vi 2a luon khac can(delta) khi b<>0}
{t1 luon khong am do sqrt(4a^2+4b^2)>2a voi moi a thuc
de chuong trinh don gian ta khong xet dau cua y}
x:=sqrt(t1);
y:=b/2/x;
Writeln('Cac so phuc thoa man la: ');
writeln('z1 = ',x:10:5,'+',y:10:5,'i');
writeln('z2 = ',-x:10:5,'+',-y:10:5,'i');
end;