Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2009, 17:26   #1
Архат
Новичок
Джуниор
 
Регистрация: 14.06.2009
Сообщений: 12
Печаль Помогите с записями

Надо:
создать записи, определяющие положение точки в декартовой и в полярной системе координат. Считая, что задан массив координат точек в декартовой системе координат, получить соответствующий массив координат заданных точек в полярной системе координат
Архат вне форума Ответить с цитированием
Старый 14.06.2009, 18:44   #2
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

и в чем проблема? =)
декартова это (x;y), полярная - расстояние от начала координат до точки + угол... если на плоскости..

***
формулы перехода от декартовой системы координат к полярной также общеизвестны...
Uguu~

Последний раз редактировалось __STDC__; 14.06.2009 в 18:50.
__STDC__ вне форума Ответить с цитированием
Старый 14.06.2009, 21:17   #3
Архат
Новичок
Джуниор
 
Регистрация: 14.06.2009
Сообщений: 12
По умолчанию

Написать код не составит труда, но не знаю я эти формулы, хотя бы расскажите алгоритм пожалуйста
Архат вне форума Ответить с цитированием
Старый 14.06.2009, 22:25   #4
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

ну в полярной системе модуль расстояния равен корню из суммы квадратов координат в декартовой, а косинус угла координате x деленной на сумму квадратов координат (синус = y деленное на то же самое)
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 14.06.2009, 23:11   #5
Архат
Новичок
Джуниор
 
Регистрация: 14.06.2009
Сообщений: 12
По умолчанию

Вот так правильно?

для перехода от полярный к декартовым координатам:
x=ρ*cos(w), где w - это угол в градусах;
y=ρ*sin(w)
для перехода от декартовых к полярным:
ρ=sqrt(x2+y2)
w=arctg(y/x)
Архат вне форума Ответить с цитированием
Старый 14.06.2009, 23:13   #6
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

да, так правильно

***
правильно, если подразумевается что
x2 = sqr(x);
y2 = sqr(y);
Uguu~

Последний раз редактировалось __STDC__; 14.06.2009 в 23:17.
__STDC__ вне форума Ответить с цитированием
Старый 15.06.2009, 00:28   #7
Архат
Новичок
Джуниор
 
Регистрация: 14.06.2009
Сообщений: 12
По умолчанию

Все написал, может кто нибудь проверит на правильность?
Код:
uses crt;
type sys=record
p,q,g:real;
x,y:integer;

end;

var a:array[1..1000] of sys;
i,n:integer;
begin  clrscr;
writeln('razmer');
readln(n);

for i:=1 to n do with a[i] do begin
writeln('vvedite x<>0');
readln(x);
writeln('vvedite y');
readln(y);
p:=sqrt(sqr(x)+sqr(y));
q:=arctan(y/x);
g:=q*180/pi;
end;
writeln('x':5,'y':5,'Радиус':10,'Угол в радианах':20,'Угол в градусах':20);
for i:=1 to n do with a[i] do
writeln(x:5,y:5,p:10:4,q:20:4,g:20:4);
end.
Архат вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлы с записями. Паскаль. Помогите срочно. tatu_cat_69 Помощь студентам 2 05.06.2009 07:14
Помогите с файлами и записями Vladislaff Паскаль, Turbo Pascal, PascalABC.NET 0 21.12.2008 11:57
работа с записями Mango Помощь студентам 2 12.10.2008 23:54