Tìm số phức có bình phương bằng một số phức khác
Chia sẻ bởi I am weasel |
Ngày 25/04/2019 |
61
Chia sẻ tài liệu: Tìm số phức có bình phương bằng một số phức khác thuộc Tin học 12
Nội dung tài liệu:
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 2abegin
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 filesTurbo PascalBIN)
Mở Notepad, Start -> Run -> gõ notepad và Enter
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
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 filesTurbo PascalBIN)
Mở Notepad, Start -> Run -> gõ notepad và Enter
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: I am weasel
Dung lượng: |
Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)