Курсовая работа: Использование современной компьютерной техники и программного обеспечения для решения прикладных задач в области геодезических измерений
Writeln(A:6:3);
Writeln(t2,A:6:3);
End;
If (X>0) and (Y<0) Then
Begin
A:=(2*(Pi)-R);
Writeln('IV chetvert');
Writeln(t2,'IV четверть');
Writeln('Direkcionnii ygol
raven(v radianax):');
Writeln(t2,'Дирекционный
угол равен(в радианах):');
Writeln(A:6:3);
Writeln(t2,A:6:3);
End;
end;
Begin
ClrScr;{очистка
экрана}
Assign (t1,'dano.txt');{привязка
фаила
к
переменной}
Assign (t2,'rezultat.txt');
Reset (t1);
Rewrite (t2);
{чтение из фаила исходных значений}
Readln(t1);
Readln(t1);{пропуск строки "Точка 1."}
Readln(t1);{пропуск строки "Координата по оси
X:"}
Readln(t1,x1);{чтение из фаила значения координаты
по оси X для точки А}
Readln(t1);{пропуск строки "Координата по оси
Y:"}
Readln(t1,y1);{чтение из фаила значения координаты
по оси Y для точки А}
Readln(t1);{пропуск строки "Точка 2."}
Readln(t1);{пропуск строки "Координата по оси
X:"}
Readln(t1,x2);{чтение из фаила значения координаты
по оси X для точки B}
Readln(t1);{пропуск строки "Координата по оси
Y:"}
Readln(t1,y2);{чтение из фаила значения координаты
по оси Y для точки B}
Readln(t1);
Readln(t1);
Readln(t1);{пропуск строки "Точка 1."}
Readln(t1);{пропуск строки "Координата по оси
X:"}
Readln(t1,x3);{чтение из фаила значения координаты
по оси X для точки А}
Readln(t1);{пропуск строки "Координата по оси
Y:"}
Readln(t1,y3);{чтение из фаила значения координаты
по оси Y для точки А}
Readln(t1);{пропуск строки "Точка 2."}
Readln(t1);{пропуск строки "Координата по оси
X:"}
Readln(t1,x4);{чтение из фаила значения координаты
по оси X для точки B}
Readln(t1);{пропуск строки "Координата по оси
Y:"}
Readln(t1,y4);{чтение из фаила значения координаты
по оси Y для точки B}
Readln(t1);
Begin
{определение приращений координат}
Prir(x1,x2,Dx);
Prir(y1,y2,Dy);
Prir(x3,x4,Dx1);
Prir(y3,y4,Dy1);
{проведение контроля полученных значений}
Writeln('Prirasheniya zadaniya A');{вывод на экран
надписи "Приращения для задания А"}
Writeln(t2,'Приращения для задания
А');{вывод в фаил надписи "Приращения для задания А"}
Writeln('Po oci X');{вывод на экран надписи
"По оси X"}
Writeln(t2,'По оси X');{вывод в фаил
надписи "По оси X"}
Writeln(Dx:6:2);{вывод значения для X на
экран}
Writeln(t2,Dx:6:2);{вывод значения для X в
фаил}
Writeln('Po oci Y');{вывод на экран надписи
"По оси Y"}
Writeln(t2,'По оси Y');{вывод в фаил
надписи "По оси Y"}
Writeln(Dy:6:2);{вывод значения для Y на
экран}
Writeln(t2,Dy:6:2);{вывод значения для Y в
фаил}
Writeln('Prirasheniya zadaniya B');{вывод
на экран надписи "Приращения для задания B"}
Writeln(t2,'Приращения для задания
B');{вывод в фаил надписи "Приращения для задания B"}
Writeln('Po oci X');{вывод на экран
надписи "По оси X"}
Writeln(t2,'По оси X');{вывод в фаил
надписи "По оси X"}
Writeln(Dx1:6:2);{вывод значения для X на
экран}
Writeln(t2,Dx1:6:2);{вывод значения для X в
фаил}
Writeln('Po oci Y');{вывод на экран надписи
"По оси Y"}
Writeln(t2,'По оси Y');{вывод в фаил
надписи "По оси Y"}
Writeln(Dy1:6:2);{вывод значения для Y на
экран}
Writeln(t2,Dy1:6:2);{вывод значения для Y в
фаил}
End;
Begin
{нахождение величины румба}
R:=arctan(abs(Dy/Dx));
R1:=arctan(abs(Dy1/Dx1));
{проведение контроля полученного значения}
Writeln('RYMB zadaniya A');{вывод на экран надписи
"Румб для задания А"}
Writeln(t2,'Румб для задания А');{вывод в фаил
надписи "Румб для задания А"}
Writeln(R:6:6);{вывод значения на экран}
Writeln(t2,R:6:6);{вывод значения в фаил}
Writeln('RYMB zadaniya B');{вывод на экран надписи
"Румб для задания B"}
Writeln(t2,'Румб для задания А');{вывод в фаил
надписи "Румб для задания B"}
Writeln(R1:6:6);{вывод значения на экран}
Writeln(t2,R1:6:6);{вывод значения в фаил}
End;
Begin
{определение значения дирекционного угла и четверти}
Writeln('Direkcionnii
ygol i chetvert dly A');
Writeln(t2,'Дирекционный
угол и четверть для задания А:');
Analiz (Dx,Dy,R,Alfa);
Writeln('Direkcionnii ygol i chetvert
dly B');
Writeln(t2,'Дирекционный
угол и четверть для задания B:');
Analiz (Dx1,Dy1,R1,Alfa1);
End;
Begin
{ВЫчисление горизонтального расстояния между
точками}
S:=sqrt((Sqr(Dx)+sqr(Dy)));
S1:=sqrt((Sqr(Dx1)+sqr(Dy1)));
{вывод
полученного
значения}
Writeln('Gorizontalnoe Rasstoyanie
mezdy tochkami Ravno(dly A):');
Writeln(t2,'Горизонтальное
расстояние между точками равно(для задания А):');
Writeln(S:6:2);
Writeln(t2,S:6:2);
Writeln('Gorizontalnoe Rasstoyanie
mezdy tochkami Ravno(dly B):');
Writeln(t2,'Горизонтальное
расстояние между точками равно(для задания B):');
Writeln(S1:6:2);
Writeln(t2,S1:6:2);
End;
Begin
{перевод дирекционного угла в градусную меру}
Gradyc (Alfa,AlfaGr,AlfaMi,AlfaS);
Gradyc (Alfa1,AlfaGr1,AlfaMi1,AlfaS1);
{вывод
полученного
дирекционного
угла}
Writeln('Direkcionnii
ygol raven(dly A):');
Writeln(t2,'Дирекционный
угол равен(для задания А):');
Writeln(AlfaGr:6:0,'
gradycov',AlfaMi:6:0,' minyt',AlfaS:6:0,' sekynd');
Writeln(t2,AlfaGr:6:0,'
градусов',AlfaMi:6:0,'
минут',AlfaS:6:0,'
секунд');
Writeln('Direkcionnii
ygol raven(dly B):');
Writeln(t2,'Дирекционный
угол равен(для задания B):');
Writeln(AlfaGr1:6:0,'
gradycov',AlfaMi1:6:0,' minyt',AlfaS1:6:0,' sekynd');
Writeln(t2,AlfaGr1:6:0,'
градусов',AlfaMi1:6:0,'
минут',AlfaS1:6:0,'
секунд');
End;
Writeln('chtenie iz faila
"dano.txt", zapis v "rezultat.txt"');
Close (t1);
Close (t2);
Readkey;
End.
1.6 Содержание фаила «dano.txt»
Задание А:
Точка 1.
Координата по оси X:
5119.94
Координата по оси Y:
6157.33
Точка 2.
Координата по оси X:
7182.27
Координата по оси Y:
4976.39
Задание B:
Точка 1.
Координата по оси X:
10932.84
Координата по оси Y:
6112.26
Точка 2.
Координата по оси X:
9115.24
Координата по оси Y:
4903.68
1.7 Результаты программы
Рис.1.3
Результаты в Turbo Pascal.
Содержание фаила
«rezultat.txt»:
Приращения для задания А
По оси X
2062.33
По оси Y
-1180.94
Приращения для задания B
По оси X
-1817.60
По оси Y
-1208.58
Румб для задания А
0.520047
Румб для задания А
0.586801
Дирекционный угол и четверть для задания А:
IV четверть
Дирекционный угол равен(в радианах):
5.763
Дирекционный угол и четверть для задания B:
III четверть
Дирекционный угол равен(в радианах):
3.728
Горизонтальное расстояние между точками равно(для
задания А):
2376.52
Горизонтальное расстояние между точками равно(для
задания B):
2182.74
Дирекционный угол равен(для задания А):
330 градусов 12 минут 12 секунд
Дирекционный угол равен(для задания B):
213 градусов 37 минут 16 секунд
1.8 Табличные вычисления MS Excel
Рис.1.4
Проверка в MS Excel.
Рис.
1.5 Проверка в MS Excel в режиме отображения формул.
1.9
Вычисления в MathCad
Рис.
1.6 Проверка в MathCad 14.
1.10 Анализ
Таким образом, обратная геодезическая задача была решена с помощью
языка программирования Turbo Pascal и затем
была проверена с помощью табличного процессора Microsoft Excel 2007 и MathCad
14.Результаты решений совпали, что говорит о правильности выбранного алгоритма
решения задачи.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9 |