Рефераты. Использование современной компьютерной техники и программного обеспечения для решения прикладных задач в области геодезических измерений

Избыточность исходных данных позволяет повысить надежность определения окончательных значений искомых величин за счет применения правила арифметического среднего.

(2.5)

(2.6)

где XP k , YP k координаты, определенные из k-того треугольника.

2.2 Постановка задачи

Определить координаты точки P по трем точкам с известными координатами и 4 углам. (2 треугольникам)

2.3 Исходные данные

Табл. 2.2Исходные данные

2.5 Текст программы

Файл исходных данных

Пункт №1:

Координата X:

5951.77

Координата Y:

5440.33

Горизонтальный угол B1:

Градусы

94

Минуты

58

Секунды

38

-------------------------------

Пункт №2:

Координата X:

5648.54

Координата Y:

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,'Дирекционный угол равен(в радианах):');

Страницы: 1, 2, 3, 4, 5, 6



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.