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

Program Zadacha2;

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 Prir (var k1:real; var k2:real; var Dd:real);

 begin

 Dd:=k2-k1;

 end;

{процедура для перевода в грудусы}

procedure Gradyc (var A,AGr,AMi,AS:real);

 Var

 AG,AM:real;

 begin

 AG:=180*(A/Pi);

AGr:=int(AG);

 AM:=60*(AG-AGr);

AMi:=int(AM);

 AS:=int(60*(AM-AMi));

 end;

{процедура для нахождения румбов}

procedure Rymb (var X,Y,R:real);

 begin

 R:=arctan(abs(Y/X));

 end;

{процедура для определение значения дирекционного угла и четверти}

procedure Analiz (var X,Y,R,A:real);

 begin

 If (X>0) and (Y>0) Then

Begin

A:=R;

Writeln('I chetvert');

Writeln(t2,'I четверть');

Writeln('Direkcionnii ygol raven(v radianax):');

Writeln(t2,'Дирекционный угол равен(в радианах):');

Writeln(A:6:3);

Writeln(t2,A:6:3);

End;

 If (X<0) and (Y>0) Then

Begin

 A:=(Pi)-R;

Writeln('II chetvert');

Writeln(t2,'II четверть');

Writeln('Direkcionnii ygol raven(v radianax):');

Writeln(t2,'Дирекционный угол равен(в радианах):');

Writeln(A:6:3);

Writeln(t2,A:6:3);

End;

 If (X<0) and (Y<0) Then

Begin

 A:=(Pi)+R;

Writeln('III chetvert');

Writeln(t2,'III четверть');

Writeln('Direkcionnii ygol raven(v radianax):');

Writeln(t2,'Дирекционный угол равен(в радианах):');

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,'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

{определение приращений координат}

Prir (y1,y2,Dy12);

Prir (x1,x2,Dx12);

Prir (y2,y3,Dy23);

Prir (x2,x3,Dx23);

{проведение контроля полученных значений}

Writeln('Prirasheniya');{вывод на экран надписи "Приращения"}

Writeln(t2,'Приращения');{вывод в фаил надписи "Приращения"}

Writeln('Po oci X dly 1-2');{вывод на экран надписи "По оси X"}

Writeln(t2,'По оси X для 1-2');{вывод в фаил надписи "По оси X"}

Writeln(Dx12:6:2);{вывод значения для X на экран}

Writeln(t2,Dx12:6:2);{вывод значения для X в фаил}

Writeln('Po oci Y dly 1-2');{вывод на экран надписи "По оси Y"}

Writeln(t2,'По оси Y для 1-2');{вывод в фаил надписи "По оси Y"}

Writeln(Dy12:6:2);{вывод значения для Y на экран}

Writeln(t2,Dy12:6:2);{вывод значения для Y в фаил}

Writeln('Po oci X dly 2-3');{вывод на экран надписи "По оси X"}

Writeln(t2,'По оси X для 2-3');{вывод в фаил надписи "По оси X"}

Writeln(Dx23:6:2);{вывод значения для X на экран}

Writeln(t2,Dx23:6:2);{вывод значения для X в фаил}

Writeln('Po oci Y dly 2-3');{вывод на экран надписи "По оси Y"}

Writeln(t2,'По оси Y для 2-3');{вывод в фаил надписи "По оси Y"}

Writeln(Dy23:6:2);{вывод значения для Y на экран}

Writeln(t2,Dy23:6:2);{вывод значения для Y в фаил}

 End;

 Begin

{нахождение величины румбов}

Rymb (Dx12,Dy12,R12);

Rymb (Dx23,Dy23,R23);

{проведение контроля полученных значений}

Writeln('Rymb 1-2');{вывод на экран надписи "Румб"}

Writeln(t2,'Румб 1-2');{вывод в фаил надписи "Румб"}

Writeln(R12:6:6);{вывод значения на экран}

Writeln(t2,R12:6:6);{вывод значения в фаил}

Writeln('Rymb 2-3');{вывод на экран надписи "Румб"}

Writeln(t2,'Румб 2-3');{вывод в фаил надписи "Румб"}

Writeln(R23:6:6);{вывод значения на экран}

Writeln(t2,R23:6:6);{вывод значения в фаил}

 End;

 Begin

Writeln('Dly 1-2');

Writeln(t2,'Для 1-2');

Analiz (Dx12,Dy12,R12,Alfa12);

Writeln('Dly 2-3');

Writeln(t2,'Для 2-3');

Analiz (Dx23,Dy23,R23,Alfa23);

 End;

 Begin

{перевод дирекционного угла в градусную меру}

Gradyc (Alfa12,AlfaGr12,AlfaMi12,AlfaS12);

Gradyc (Alfa23,AlfaGr23,AlfaMi23,AlfaS23);

{вывод полученных дирекционных углов}

Writeln('Direkcionnii ygol 1-2 raven:');

Writeln(t2,'Дирекционный угол 1-2 равен:');

Writeln(AlfaGr12:6:0,' gradycov',AlfaMi12:6:0,' minyt',AlfaS12:6:0,' sekynd');

Writeln(t2,AlfaGr12:6:0,' градусов',AlfaMi12:6:0,' минут',AlfaS12:6:0,' секунд');

Writeln('Direkcionnii ygol 2-3 raven:');

Writeln(t2,'Дирекционный угол 2-3 равен:');

Writeln(AlfaGr23:6:0,' gradycov',AlfaMi23:6:0,' minyt',AlfaS23:6:0,' sekynd');

Writeln(t2,AlfaGr23:6:0,' градусов',AlfaMi23:6:0,' минут',AlfaS23:6:0,' секунд');

 End;

Begin

{Координаты искомого пункта}

RB1P1:=(((Pi)/180)*(GB1P1+(MB1P1/60)+(SB1P1/3600)));

RB1P2:=(((Pi)/180)*(GB1P2+(MB1P2/60)+(SB1P2/3600)));

RB2P2:=(((Pi)/180)*(GB2P2+(MB2P2/60)+(SB2P2/3600)));

RB2P3:=(((Pi)/180)*(GB2P3+(MB2P3/60)+(SB2P3/3600)));

xP12:=x1+(((y2-y1)*sin(RB2P2))/(sin(Alfa12)*sin(RB1P1+RB2P2)))*cos(Alfa12-RB1P1);

yP12:=y1+(((y2-y1)*sin(RB2P2))/(sin(Alfa12)*sin(RB1P1+RB2P2)))*sin(Alfa12-RB1P1);

xP23:=x2+(((y3-y2)*sin(RB2P3))/(sin(Alfa23)*sin(RB1P2+RB2P3)))*cos(Alfa23-RB1P2);

yP23:=y2+(((y3-y2)*sin(RB2P3))/(sin(Alfa23)*sin(RB1P2+RB2P3)))*sin(Alfa23-RB1P2);

Writeln('koordinaty iskomogo pynkta');

Writeln(t2,'Координаты искомого пункта');

Writeln('x1-2=');

Writeln(t2,'x1-2=');

Writeln(xP12:6:2);

Writeln(t2,xP12:6:2);

Writeln('y1-2=');

Writeln(t2,'y1-2=');

Writeln(yP12:6:2);

Writeln(t2,yP12:6:2);

Writeln('x2-3=');

Writeln(t2,'x2-3=');

Writeln(xP23:6:2);

Writeln(t2,xP23:6:2);

Writeln('y2-3=');

Writeln(t2,'y2-3=');

Writeln(yP23:6:2);

Writeln(t2,yP23:6:2);

srX:=(xP12+xP23)/2;

srY:=(yP12+yP23)/2;

Writeln('Srednee X');

Writeln(t2,'Среднее X');

Writeln(srX:6:2);

Writeln(t2,srX:6:2);

Writeln('Srednee Y');

Writeln(t2,'Среднее Y');

Writeln(srY:6:2);

Writeln(t2,srY:6:2);

Writeln('chtenie iz faila "in.txt", zapic v "out.txt"');

End;

Close (t1);

Close (t2);

Readkey;

End.


Информация о работе «Использование современной компьютерной техники и программного обеспечения для решения прикладных задач в области геодезических измерений»
Раздел: Информатика, программирование
Количество знаков с пробелами: 45197
Количество таблиц: 6
Количество изображений: 28

Похожие работы

Скачать
167040
3
9

... многих странах (в том числе развитых) применение компьютеров в управлении городскими территориями, ведении кадастра, анализе рыночных тенденций в рамках города весьма ограничено. В связи с этим выделим причины, по которым автоматизация решения типовых задач управления региональной недвижимостью Тульской области, как, впрочем, и других городов России, представляется весьма разумной: все материалы ...

Скачать
162762
2
2

... кадастра памятников России и привязки его к ГИС «Компас-2», я изучил возможности, функции ГИС «Компас-2», а также возможность использования его для создания различных видов природных кадастров. Компас-2 – это сетевая система для представления, моделирования и анализа географической информации Функциональные возможности системы КОМПАС 2: публикация географической информации (ГИ) в сетях ...

Скачать
223834
6
7

... информации. Набираемая информация отображается на дисплее, что позволяет контролировать ее правильность. Клавиатура и дисплей АИС должны быть независимыми от других навигационных устройств. Судовыми системами отображения АИС могут быть система отображения электронных карт (ECDIS, ECS, RCDS), РЛС, САРП или дисплей персонального компьютера. АИС и связанные с ней датчики информации питаются от ...

Скачать
55431
1
0

... де-факто, чему способствовала и их большая универсальность). Таким образом, именно Microsoft Excel был выбран мной для разработки средства автоматизации расчетов в лабораторной работе «Предварительные вычисления в триангуляции». Поэтому другие средства построения электронных таблиц здесь не рассматриваются, но зато уделяестся внимание некоторым специфичным средствам Excel. Возможности EXCEL ...

0 комментариев


Наверх