Использование современной компьютерной техники и программного обеспечения для решения прикладных задач в области геодезических измерений
3.4 Блок-схема алгоритма
3.5Текст программы
Файл исходных данных
Пункт #1(Хутор)
Направление({Градусы}пробел{Минуты}пробел{Секунды}):
0 0 0
Координата X:
11327.11
Координата Y:
9315.82
Пункт #2(Крутик)
Направление({Градусы}пробел{Минуты}пробел{Секунды}):
75 46 14
Координата X:
11588.28
Координата Y:
11619.02
Пункт #3(Юрьево)
Направление({Градусы}пробел{Минуты}пробел{Секунды}):
168 7 51
Координата X:
8901.34
Координата Y:
11230.33
Пункт #4(Локно)
Направление({Градусы}пробел{Минуты}пробел{Секунды}):
278 52 25
Координата X:
9054.58
Координата Y:
7892.42
Program Zadacha3;
Uses CRT;
Var
g1,m1,s1,g2,m2,s2,g3,m3,s3,g4,m4,s4:integer; {описание используемых переменных}
x1,y1,x2,y2,x3,y3,x4,y4,vm1,vn1,vm2,vn2:real;
ra1,ra2,ra3,ra4,yg21,yg32,yg43,ct21,ct32,ct43:real;
Fi1,Fi2,Fi3,Fi4,De1,De2,De3,De4:real;
kipX1,kipX2,CredX,kipY1,kipY2,CredY:real;
t1,t2:text;
Begin
ClrScr; {очистка экрана}
Assign (t1,'data.txt'); {связывание переменной с именем файла}
Assign (t2,'result.txt'); {связывание переменной с именем файла}
Reset (t1); {обозначения файла для чтения}
Rewrite (t2); {обозначения файла для записи}
{чтение из фаила исходных значений}
Readln(t1);
Readln(t1);
Readln(t1,g1,m1,s1);
Readln(t1);
Readln(t1,x1);
Readln(t1);
Readln(t1,y1);
Readln(t1);
Readln(t1);
Readln(t1,g2,m2,s2);
Readln(t1);
Readln(t1,x2);
Readln(t1);
Readln(t1,y2);
Readln(t1);
Readln(t1);
Readln(t1,g3,m3,s3);
Readln(t1);
Readln(t1,x3);
Readln(t1);
Readln(t1,y3);
Readln(t1);
Readln(t1);
Readln(t1,g4,m4,s4);
Readln(t1);
Readln(t1,x4);
Readln(t1);
Readln(t1,y4);
Begin
{Данные в радианах}
ra1:=((Pi)/180)*(g1+(m1/60)+(s1/3600));
ra2:=((Pi)/180)*(g2+(m2/60)+(s2/3600));
ra3:=((Pi)/180)*(g3+(m3/60)+(s3/3600));
ra4:=((Pi)/180)*(g4+(m4/60)+(s4/3600));
End;
Writeln(t2); Writeln(t2); Writeln(t2); Writeln(t2,'Reshenie:'); Writeln(t2);
Writeln('Reshenie:');
Writeln(t2,'Napravlenie 1 v radianah:',ra1:6:2,';'); {вывод значений на экран и в файл}
Writeln(t2,'Napravlenie 2 v radianah:',ra2:6:2,';');
Writeln(t2,'Napravlenie 3 v radianah:',ra3:6:2,';');
Writeln(t2,'Napravlenie 4 v radianah:',ra4:6:2,' .');
Writeln('Napravlenie 1 v radianah:',ra1:6:2,';');
Writeln('Napravlenie 2 v radianah:',ra2:6:2,';');
Writeln('Napravlenie 3 v radianah:',ra3:6:2,';');
Writeln('Napravlenie 4 v radianah:',ra4:6:2,' .');
Begin
{Углы}
yg21:=ra2-ra1;
yg32:=ra3-ra2;
yg43:=ra4-ra3;
End;
Writeln(t2);
Writeln(t2,'ugol 2-1 (v radianah)=',yg21:6:2,';'); {вывод значений на экран и в файл}
Writeln(t2,'ugol 3-2 (v radianah)=',yg32:6:2,';');
Writeln(t2,'ugol 4-3 (v radianah)=',yg43:6:2,' .');
Writeln;
Writeln('ugol 2-1 (v radianah)=',yg21:6:2,';');
Writeln('ugol 3-2 (v radianah)=',yg32:6:2,';');
Writeln('ugol 4-3 (v radianah)=',yg43:6:2,' .');
Begin
{Котангенсы углов}
ct21:=(cos(yg21)/sin(yg21));
ct32:=(cos(yg32)/sin(yg32));
ct43:=(cos(yg43)/sin(yg43));
End;
Writeln(t2);
Writeln(t2,'kotangens ugla 2-1 =',ct21:6:2,';'); {вывод значений на экран и в файл}
Writeln(t2,'kotangens ugla 3-2 =',ct32:6:2,';');
Writeln(t2,'kotangens ugla 4-3 =',ct43:6:2,' .');
Writeln;
Writeln('kotangens ugla 2-1 =',ct21:6:2,';');
Writeln('kotangens ugla 3-2 =',ct32:6:2,';');
Writeln('kotangens ugla 4-3 =',ct43:6:2,' .');
Begin
{Вспомогательные величины}
vm1:=y1*ct21+y2*(-(ct21)-(ct32))+y3*ct32+x1-x3;
vm2:=y2*ct32+y3*(-(ct32)-(ct43))+y4*ct43+x2-x4;
vn1:=x1*ct21+x2*(-(ct21)-(ct32))+x3*ct32-y1+y3;
vn2:=x2*ct32+x3*(-(ct32)-(ct43))+x4*ct43-y2+y4;
End;
Writeln(t2);
Writeln(t2,'Vspomogatelnayaя velichina m1 = ',vm1:6:2,';'); {вывод значений на экран и в файл}
Writeln(t2,'Vspomogatelnayaя velichina n1 = ',vn1:6:2,';');
Writeln(t2,'Vspomogatelnayaя velichina m2 = ',vm2:6:2,';');
Writeln(t2,'Vspomogatelnayaя velichina n2 = ',vn2:6:2,' .');
Writeln;
Writeln('Vspomogatelnayaя velichina m1 = ',vm1:6:2,';');
Writeln('Vspomogatelnayaя velichina n1 = ',vn1:6:2,';');
Writeln('Vspomogatelnayaя velichina m2 = ',vm2:6:2,';');
Writeln('Vspomogatelnayaя velichina n2 = ',vn2:6:2,' .');
Begin
Fi1:=arctan(vm1/vn1);
Fi2:=(sin(Fi1)/cos(Fi1));
Fi3:=arctan(vm2/vn2);
Fi4:=(sin(Fi3)/cos(Fi3));
De1:=Fi1-yg21;
De2:=(sin(De1)/cos(De1));
De3:=Fi3-yg32;
De4:=(sin(De3)/cos(De3));
End;
Writeln(t2);
Writeln(t2,'Фи 1 = ',Fi1:6:2,'; Делта 1 = ',De1:6:2,';'); {вывод значений на экран и в файл}
Writeln(t2,'Фи 2 = ',Fi2:6:2,'; Делта 2 = ',De2:6:2,';');
Writeln(t2,'Фи 3 = ',Fi3:6:2,'; Делта 3 = ',De3:6:2,';');
Writeln(t2,'Фи 4 = ',Fi4:6:2,'; Делта 4 = ',De4:6:2,' .');
Writeln;
Writeln('Фи 1 = ',Fi1:6:2,'; Делта 1 = ',De1:6:2,';');
Writeln('Фи 2 = ',Fi2:6:2,'; Делта 2 = ',De2:6:2,';');
Writeln('Фи 3 = ',Fi3:6:2,'; Делта 3 = ',De3:6:2,';');
Writeln('Фи 4 = ',Fi4:6:2,'; Делта 4 = ',De4:6:2,' .');
Begin
{Координаты искомого пункта}
kipX1:=(x1*De2-x2*Fi2+y2-y1)/(De2-Fi2);
kipX2:=(x2*De4-x3*Fi4+y3-y2)/(De4-Fi4);
{Среднее для X}
CredX:=(kipX1+kipX2)/2;
kipY1:=(kipX1-x2)*Fi2+y2;
kipY2:=(kipX2-x3)*Fi4+y3;
{Среднее для Y}
CredY:=(kipY1+kipY2)/2;
End;
Writeln(t2);
Writeln(t2,'Координата X искомого пункта 1: ',kipX1:6:2,';'); {вывод значений на экран и в файл}
Writeln(t2,'Координата X искомого пункта 2: ',kipX2:6:2,';');
Writeln(t2,' Среднее значение X: ',CredX:6:2,';');
Writeln(t2,'Координата Y искомого пункта 1: ',kipY1:6:2,';');
Writeln(t2,'Координата Y искомого пункта 2: ',kipY2:6:2,';');
Writeln(t2,' Среднее значение Y: ',CredY:6:2,' .');
Writeln;
Writeln('Координата X искомого пункта 1: ',kipX1:6:2,';');
Writeln('Координата X искомого пункта 2: ',kipX2:6:2,';');
Writeln(' Среднее значение X: ',CredX:6:2,';');
Writeln('Координата Y искомого пункта 1: ',kipY1:6:2,';');
Writeln('Координата Y искомого пункта 2: ',kipY2:6:2,';');
Writeln(' Среднее значение Y: ',CredY:6:2,' .');
Writeln;Writeln;Writeln;
writeln(t2);writeln(t2);writeln(t2);
writeln('All rights are reserved'); {добавление личной подписи}
writeln('Made by MOISEEV ANDREI GG-09-2');
writeln(t2,'All rights are reserved');
writeln(t2,'Made by MOISEEV ANDREI GG-09-2');
Close (t1);
Close (t2);
Readkey; End.
3.6 Результаты работы программы
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности