Итак, смотрим на рисунок:

Здесь показана плоскость с проведенными вертикальной и горизонтальной осями, разбивающими её на 4 квадранта (обозначены римскими цифрами). На плоскости имеется точка А. Вначале, для простоты, поместим ее в I квадрант.
Для того, чтобы определить положение точки на плоскости, в декартовой системе задаются две координаты: X и Y. В полярной системе - тоже две координаты: расстояние между началом координат (точкой О) и точкой А, или длина радиус-вектора R, и угол φ, отсчитываемый от горизонтальной оси.
Как перейти от декартовой системы к полярной?
Что касается R, то с ним - всё просто: его длину находим по теореме Пифагора:
R² = X² + Y².
А вот с углом - сложнее. Прежде всего, договоримся, что угол будет положительным, если точка находится в верхней полуплоскости, и отрицательным - если в нижней. Идём дальше. Если точка находится в I или IV квадрантах, то всё просто. Имеем:
tg(φ) = Y/X, откуда
φ = Arctg(Y/X).
Для квадрантов II и III - сложнее. Дело в том, что область изменения функции arctg - от
-π/2 до
+π/2, а нам надо от -π до +π. Поэтому для второго квадранта
φ =
π + Arctg(Y/X) (арктангенс в этом случае отрицательный!),
а для третьего
φ = -
π + Arctg(Y/X).
Кроме того, нужно отдельно рассмотреть ситуации, когда точка находится на оси Y. В этом случае X=0, и арктангенс вычислить невозможно, ибо на ноль делить нельзя.
Все эти варианты и расписаны в процедуре Cart2Pol.
Особый случай - когда точка А сидит в начале координат (X=Y=0). Тогда, ясное дело, R=0, а вот угол φ неопределен, его значение может быть абсолютно любым. В программе для начала координат чисто условно присваивается φ=10, и при выводе результата если φ=10, то пишется "угол неопределенный".
Уф, осталось только с записями разобраться. Но тут я хочу Вас для начала адресовать к любому учебнику по Паскалю. Впрочем, если что непонятно - спрашивайте.