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.
... многих странах (в том числе развитых) применение компьютеров в управлении городскими территориями, ведении кадастра, анализе рыночных тенденций в рамках города весьма ограничено. В связи с этим выделим причины, по которым автоматизация решения типовых задач управления региональной недвижимостью Тульской области, как, впрочем, и других городов России, представляется весьма разумной: все материалы ...
... кадастра памятников России и привязки его к ГИС «Компас-2», я изучил возможности, функции ГИС «Компас-2», а также возможность использования его для создания различных видов природных кадастров. Компас-2 – это сетевая система для представления, моделирования и анализа географической информации Функциональные возможности системы КОМПАС 2: публикация географической информации (ГИ) в сетях ...
... информации. Набираемая информация отображается на дисплее, что позволяет контролировать ее правильность. Клавиатура и дисплей АИС должны быть независимыми от других навигационных устройств. Судовыми системами отображения АИС могут быть система отображения электронных карт (ECDIS, ECS, RCDS), РЛС, САРП или дисплей персонального компьютера. АИС и связанные с ней датчики информации питаются от ...
... де-факто, чему способствовала и их большая универсальность). Таким образом, именно Microsoft Excel был выбран мной для разработки средства автоматизации расчетов в лабораторной работе «Предварительные вычисления в триангуляции». Поэтому другие средства построения электронных таблиц здесь не рассматриваются, но зато уделяестся внимание некоторым специфичным средствам Excel. Возможности EXCEL ...
0 комментариев