Tải bản đầy đủ (.doc) (1 trang)

Tìm số phức có bình phương bằng một số phức khác

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;


if t2>=0 then {thuc ra nghiem t2 luon am khi b<>0 do 2a<sqrt(4a^2+4^2)}
begin
x:=sqrt(t2);
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;
end;
readln
end.
Copy đoạn từ program đến end. Vào CT Notepad rồi lưu lại dưới dạng *.pas sau đó
sao chép vào Thư mục BIN (C:\program files\Turbo Pascal\BIN)
Mở Notepad, Start -> Run -> gõ notepad và Enter

×