Создать записи, определяющие положение точки в декартовой и в полярной системах координат. Считая, что задан массив координат точек в декартовой системе координат, получить соответствующий массив координат заданных точек в полярной системе координат — Pascal(Паскаль)

uses crt;
type dec=record
         x,y:real;
         end;
     pol=record
         r,f:real;
         end;
var dc:array[1..100] of dec;
    pl:array[1..100] of pol;
    n,i:byte;
begin
clrscr;
randomize;
repeat
write('Размер массива до 100 n=');
readln(n);
until n in [1..100];
for i:=1 to n do
 begin
  dc[i].x:=10*random;
  dc[i].y:=10*random;
 end;
writeln('Массив координат в декартовой системе:');
write('X:');
for i:=1 to n do
 begin
  write(dc[i].x:5:2);
  pl[i].r:=sqrt(sqr(dc[i].x)+sqr(dc[i].y));
 end;
writeln;
write('Y:');
for i:=1 to n do
 begin
  write(dc[i].y:5:2);
  if dc[i].x=0 then
   begin
    if dc[i].y>0 then pl[i].f:=pi/2;
    if dc[i].y<0 then pl[i].f:=-pi/2;
   end
  else  pl[i].f:=arctan(dc[i].y/dc[i].x);
 end;
writeln;
writeln;
writeln('Полярные координаты:');
write('R:');
for i:=1 to n do
write(pl[i].r:5:2);
writeln;
write('F:');
for i:=1 to n do
write(pl[i].f:5:2);
writeln;
readln
end.

Leave a Comment

+ 52 = 55