Главная » Free Pascal » Преобразования угловых величин Free Pascal

0
 

Кроме широко используемых градусов (degrees) и радиан (radians) в различных разделах науки и техники применяют и другие единицы измерения углов. Среди них чаще других встречаются грады (grads) и обороты (cycles). Град или метриче- ский градус был введен в обиход в конце XVIII века во Франции при переходе на метрическую систему мер. Было принято, что в прямом угле содержится 100 гра- дов. В один град входило 100 метрических минут, каждая метрическая минута со- держала 100 метрических секунд. Метрические единицы измерения углов упроща- ли вычисления, связанные с артиллерийскими расчетами, и до сих пор в технических характеристиках наземных и морских орудий можно встретить значе- ния минимальных и максимальных углов наклона ствола в градах. В инженерном формате Калькулятора Windows один из переключателей задания углов — Грады. Обороты или циклы используются в механике и физике для измерения углов и фаз. Один оборот соответствует повороту на 360 .

В состав модуля Math включены 8 функций (табл. 13.6), обеспечивающих пре-

образования этих угловых величин, хотя их содержательная часть обычно сводится к одной-двум арифметическим операциям. Аргументом всех этих функций может быть любое целое или вещественное значение. Возвращаемый результат имеет тип extended.

Таблица 13.6

Имя функции

Выполняемое преобразование

CycleToRad(x)

Обороты в радианы

DegToGrad(x)

Градусы в грады

DegToRad(x)

Градусы в радианы

GradToDeg(x)

Грады в градусы

GradToRad(x)

Грады в радианы

RadToCycle(x)

Радианы в обороты

RadToDeg(x)

Радианы в градусы

RadToGrad(x)

Радианы в грады

В листинге 13.2 приводится пример программы, в которой вычисляются значе- ния всех единичных углов для каждой системы измерения.

   Листинг 13.2. Программа  angles                                              

program angles; uses Math;

var

c1: extended=1; c2: extended=90; c3: extended=360; c4: extended=400;

begin

writeln;

writeln(‘2*пи =':10,2*pi:22:18); writeln;

writeln(‘1 град =':10,GradToDeg(1):22:18,’ градуса’); writeln(‘1 град =':10,c1/c4:22:18,’ оборота’); writeln(‘1 град =':10,GradToRad(1):22:18,’ радиана’); writeln;

writeln(‘1 градус =':10,DegToGrad(1):22:18,’ града’); writeln(‘1 градус =':10,c1/c3:22:18,’ оборота’); writeln(‘1 градус =':10,DegToRad(1):22:18,’ радиана’); writeln;

writeln(‘1 оборот =':10,c4:22:18,’ градов’);

writeln(‘1 оборот =':10,CycleToRad(1):22:18,’ радиан’); writeln(‘1 оборот =':10,c3:22:18,’ градусов’);

writeln;

writeln(‘1 радиан =':10,RadToGrad(1):22:18,’ града’); writeln(‘1 радиан =':10,RadToDeg(1):22:18,’ градуса’); writeln(‘1 радиан =':10,RadToCycle(1):22:18,’ оборота’); readln;

end.

Результаты ее работы таковы:

Running "c:\fpc\2.2.4\bin\i386-win32\angles.exe " 2*пи =  6.28318530717958650

1 град =  0.90000000000000000 градуса

1 град =  0.00250000000000000 оборота

1 град =  0.01570796326794897 радиана

1 градус =  1.11111111111111110 града

1 градус =  0.00277777777777778 оборота

1 градус =  0.01745329251994330 радиана

1 оборот = 400.00000000000000000 градов

1 оборот =  6.28318530717958650 радиан

1 оборот = 360.00000000000000000 градусов

1 радиан = 63.66197723675813400 града

1 радиан = 57.29577951308232100 градуса

1 радиан =  0.15915494309189534 оборота

Источник: Кетков, Ю. Л., Свободное программное обеспечение. FREE PASCAL для студентов и школьников, Ю. Л. Кетков, А. Ю. Кетков. — СПб.: БХВ-Петербург, 2011. — 384 с.: ил. + CD-ROM — (ИиИКТ)

По теме:

  • Комментарии