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 , , , ,t1,t2,delta:real;
begin
clrscr;
write('Nhap phan thuc va phan ao cua so phuc: ');readln( , );
{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 :=sqrt(-a);{neu y=0 thi x^2<0 nen loai}
writeln('So phuc thoa man la z = 0+', :10: ,'i hoac z = 0-', :10: ,'i');
end else begin
x:=sqrt( );{neu x=0 thi y^2<0 loai nen y=0 x^2=a}
writeln('So phuc thoa man la z = ', :10: ,'+0i hoac z = ', :10: ,'+0i');end;
if <>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 = ', :10: ,'+', :10: ,'i');
writeln('z2 = ',-x 10: ,'+',-y 10: ,'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 = ', :10: ,'+', :10: ,'i');
writeln('z2 = ',-x 10: ,'+',-y 10: ,'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