Home Nach oben Pascal_Testat_14 Pascal_Testat_15 Pascal_Testat_16 Pascal_Testat_17 Pascal_Testat_18 Pascal_Testat_20 Pascal_Testat_21 Pascal_Testat_22
| |
Program Polarkoordinaten;
uses
crt;
var
x,bx,y,by,z,e:real;
jn:char;
begin
jn:='j';
while (jn<>'n') and (jn<>'N') do begin
clrscr;
writeln ('Umwandlung komplexer Zahlen in Polarkoordinaten von Guido.Moser@gmx.de');
writeln ('komplexe Zahl z:=x+iy');
write ('Realteil x = ');
readln (x);
write ('Imaginerteil y = ');
readln (y);
if x>0 then bx:=x else bx:=-x;{Hier könnte auch 'bx:=abs(x);' stehen}
if y>0 then by:=y else by:=-y;{Hier könnte auch 'by:=abs(y);' stehen}
if x=0 then begin
z:=by;
if y>0 then e:=pi/2 else e:=3*pi/2;
end else begin
if bx<by then begin
z:=by*sqrt(1+sqr(x/y));
e:=arctan(y/x);
end else begin
z:=bx*sqrt(1+sqr(y/x));
e:=arctan(by/bx);
end;
end;
if (y>0) and (x<0) then e:=e+pi/2;
if (y<0) and (x<0) then e:=e+pi;
if (y<0) and (x>0) then e:=e+3*pi/2;
writeln ('Ergebnis = ',z,' * exp( i * ',e,')');
write ('Weitere Umwandlungen (J/N)? ');
read (jn);
end;
end.
|