1) Для решения нам понадобятся исходные данные: координаты x, y, z в декартовой системе координат. Координаты цилиндрической системы рассчитываются по формулам:
P=корень квадратный из выражения(x2 +y2);
F=arctg(y/x);
Z=z;
2) Блок-схема:
Начало |
Запрос и получение переменных x,yи z |
P=sqrt(x*x+y*y); F=atan(y/x); Z=z; |
Вывод на экран ответа. |
Конец |
3) Основная часть программы на языке С++:
#include "stdafx.h"
#include "math.h"
int _tmain(int argc, _TCHAR* argv[])
{
float x,y,z,P,F,Z;
printf("Vvedite x: ");
scanf("%f",&x);
printf("\nVvedite y: ");
scanf("%f",&y);
printf("\nVvedite z: ");
scanf("%f",&z);
P=sqrt(x*x+y*y);
F=atan(y/x);
Z=z;
printf("\nKoordinati v cilindricheskoy sisteme:\np = %.3f, fi = %.3f, z = %.3f.\n",P,F,Z);
return 0;
}
4) Обоснование типов данных и операций:
Так как координаты могут принимать любые значения, то был использован тип float.