Использование современной компьютерной техники и программного обеспечения для решения прикладных задач в области геодезических измерений
5101.47
Горизонтальный угол B1:
Градусы
56
Минуты
16
Секунды
35
Горизонтальный угол B2:
Градусы
40
Минуты
31
Секунды
5
-------------------------------
Пункт №3:
Координата X:
5177.15
Координата Y:
5431.80
Горизонтальный угол B2:
Градусы
68
Минуты
1
Секунды
58
-------------------------
------
Program Zadacha_2;
Uses CRT;
Var
GB1P1,MB1P1,SB1P1,GB1P2,MB1P2,SB1P2,GB2P2,MB2P2,SB2P2,GB2P3,MB2P3,SB2P3:integer;
x1,y1,x2,y2,x3,y3:real;
Dx12,Dy12,Dx23,Dy23,R12,R23,Alfa12,Alfa23:real;
AlfaG12,AlfaGr12,AlfaG23,AlfaGr23,AlfaM12,AlfaMi12,AlfaM23,AlfaMi23,AlfaS23,AlfaS12:real;
RB1P1,RB1P2,RB2P2,RB2P3,xP12,yP12,xP23,yP23,SRx,SRy:real;
t1,t2:text;
Procedure Gradus(Var Alfa12:real); {подпрограмма для перевода дирекционного угла из радиан в градусы}
Var AlfaM12,AlfaMi12,AlfaS12,AlfaGr12:real; {объявляем тип переменных, используемых в процедуре}
Begin
AlfaG12:=(180*Alfa12)/Pi; {переводим угол в градусы}
AlfaGr12:=int(AlfaG12); {выделяем целое количество градусов из полученного угла}
AlfaM12:=60*(AlfaG12-AlfaGr12); {промежуточное вычисление}
AlfaMi12:=int(AlfaM12); {выделяем целое количество минут}
AlfaS12:=int(60*(AlfaM12-AlfaMi12));{выделяем целое количество секунд}
Writeln('Дирекционный угол равен'); {вывод на экран надписи}
Writeln(t2,'Дирекционный угол равен:'); {вывод в файл надписи}
Writeln(AlfaGr12:3:0,'градусов',AlfaMi12:3:0,'минут',AlfaS12:3:0,'секунд'); {вывод полученного значения на экран}
writeln; {пропуск пустой строки}
Writeln(t2,AlfaGr12:3:0,' градусов',AlfaMi12:3:0,' минут',AlfaS12:3:0,' секунд'); {вывод полученного значения в файл}
writeln(t2);
end; {завершение подпрограммы}
Begin {начало основной программы}
ClrScr; {очистка экрана}
Assign (t1,'in.txt'); {связывание переменной с файлом}
Assign (t2,'out.txt');{связывание переменной с файлом}
Reset (t1); {обозначение файла для чтения}
Rewrite (t2); {обозначение файла для записи}
{чтение из фаила исходных значений}
Readln(t1);
Readln(t1);
Readln(t1,x1);
Readln(t1);
Readln(t1,y1);
Readln(t1);
Readln(t1);
Readln(t1,GB1P1);
Readln(t1);
Readln(t1,MB1P1);
Readln(t1);
Readln(t1,SB1P1);
Readln(t1);
Readln(t1);
Readln(t1);
Readln(t1,x2);
Readln(t1);
Readln(t1,y2);
Readln(t1);
Readln(t1);
Readln(t1,GB1P2);
Readln(t1);
Readln(t1,MB1P2);
Readln(t1);
Readln(t1,SB1P2);
Readln(t1);
Readln(t1);
Readln(t1,GB2P2);
Readln(t1);
Readln(t1,MB2P2);
Readln(t1);
Readln(t1,SB2P2);
Readln(t1);
Readln(t1);
Readln(t1);
Readln(t1,x3);
Readln(t1);
Readln(t1,y3);
Readln(t1);
Readln(t1);
Readln(t1,GB2P3);
Readln(t1);
Readln(t1,MB2P3);
Readln(t1);
Readln(t1,SB2P3);
Begin
{определение приращений координат}
Dy12:=y2-y1;{для Y}
Dx12:=x2-x1;{для X}
Dy23:=y3-y2;{для Y}
Dx23:=x3-x2;{для X}
{проведение контроля полученных значений}
Writeln('Приращения');{вывод на экран надписи "Приращения"}
Writeln(t2,'Приращения');{вывод в фаил надписи "Приращения"}
Writeln('По оси X для 1-2');{вывод на экран надписи "По оси X"}
Writeln(t2,'По оси X для 1-2');{вывод в фаил надписи "По оси X"}
Writeln(Dx12:6:2);{вывод значения для X на экран}
writeln;
Writeln(t2,Dx12:6:2);{вывод значения для X в фаил}
Writeln(t2);
Writeln('По оси Y для 1-2');{вывод на экран надписи "По оси Y"}
Writeln(t2,'По оси Y для 1-2');{вывод в фаил надписи "По оси Y"}
Writeln(Dy12:6:2);{вывод значения для Y на экран}
writeln;
Writeln(t2,Dy12:6:2);{вывод значения для Y в фаил}
Writeln(t2);
Writeln('По оси X для 2-3');{вывод на экран надписи "По оси X"}
Writeln(t2,'По оси X для 2-3');{вывод в фаил надписи "По оси X"}
Writeln(Dx23:6:2);{вывод значения для X на экран}
writeln;
Writeln(t2,Dx23:6:2);{вывод значения для X в фаил}
Writeln(t2);
Writeln('По оси Y для 2-3');{вывод на экран надписи "По оси Y"}
Writeln(t2,'По оси Y для 2-3');{вывод в фаил надписи "По оси Y"}
Writeln(Dy23:6:2);{вывод значения для Y на экран}
writeln;
Writeln(t2,Dy23:6:2);{вывод значения для Y в фаил}
writeln(t2);
End;
Begin
{нахождение величины румбов}
R12:=arctan(abs(Dy12/Dx12));
R23:=arctan(abs(Dy23/Dx23));
{проведение контроля полученных значений}
Writeln('Румб 1-2');{вывод на экран надписи "Румб"}
Writeln(t2,'Румб 1-2');{вывод в фаил надписи "Румб"}
Writeln(R12:6:6);{вывод значения на экран}
writeln;
Writeln(t2,R12:6:6);{вывод значения в фаил}
Writeln(t2);
Writeln('Румб 2-3');{вывод на экран надписи "Румб"}
Writeln(t2,'Румб 2-3');{вывод в фаил надписи "Румб"}
Writeln(R23:6:6);{вывод значения на экран}
Writeln;
Writeln(t2,R23:6:6);{вывод значения в фаил}
writeln(t2);
End;
Begin
{определение значения дирекционного угла(1) и четверти}
If (Dx12>0) and (Dy12>0) Then
Begin
Alfa12:=R12;{?}
Writeln('Для 1-2');
Writeln(t2,'Для 1-2');
Writeln('I четверть');
Writeln(t2,'I четверть');
Writeln('Дирекционный угол равен:');
Writeln(t2,'Дирекционный угол равен(в радианах):');
Writeln(Alfa12:6:3);
Writeln(t2,Alfa12:6:3);{??}
End;
If (Dx12<0) and (Dy12>0) Then
Begin
Alfa12:=Pi-R12;{?}
Writeln('Для 1-2');
Writeln(t2,'Для 1-2');
Writeln('II четверть');
Writeln(t2,'II четверть');
Writeln('Дирекционный угол равен(в радианах):');
Writeln(t2,'Дирекционный угол равен(в радианах):');
Writeln(Alfa12:6:3);{??}
Writeln(t2,Alfa12:6:3);{??}
End;
If (Dx12<0) and (Dy12<0) Then
Begin
Alfa12:=Pi+R12;{?}
Writeln('Для 1-2');
Writeln(t2,'Для 1-2');
Writeln('III четверть');
Writeln(t2,'III четверть');
Writeln('Дирекционный угол равен(в радианах):');
Writeln(t2,'Дирекционный угол равен(в радианах):');
Writeln(Alfa12:6:3);{??}
Writeln(t2,Alfa12:6:3);{??}
End;
If (Dx12>0) and (Dy12<0) Then
Begin
Alfa12:=(2*(Pi)+R12);{?}
Writeln('Для 1-2');
Writeln(t2,'Для 1-2');
Writeln('IV четверть');
Writeln(t2,'IV четверть');
Writeln('Дирекционный угол равен(в радианах):');
Writeln(t2,'Дирекционный угол равен(в радианах):');
Writeln(Alfa12:6:3);{??}
Writeln(t2,Alfa12:6:3);{??}
End;
Writeln('Для 1-2:');
Gradus(Alfa12); {использование подпрограммы для перевода значений из радиан в градусы}
writeln;
{определение значения дирекционного угла(2) и четверти}
If (Dx23>0) and (Dy23>0) Then
Begin
Alfa23:=R23;{?}
Writeln('Для 2-3');
Writeln(t2,'Для 2-3');
Writeln('I четверть');
Writeln(t2,'I четверть');
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности