Главная страница > Курсовая работа: Использование современной компьютерной техники и программного обеспечения для решения прикладных задач в области геодезических измерений | Курсовая работа: Использование современной компьютерной техники и программного обеспечения для решения прикладных задач в области геодезических измерений |
|
*процедура для определения приращений **процедура для нахождения румбов ***процедура для определение значения дирекционного угла и четверти ****процедура для
перевода из радиан в градусы
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); |
|||||||||||||||||||||||||||||||||||||||||||
Новости |
---|
Copyright © 2006-2012 |