Курсовая работа: Использование современной компьютерной техники и программного обеспечения для решения прикладных

Курсовая работа: Использование современной компьютерной техники и программного обеспечения для решения прикладных




💣 👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Федеральное агентство образования и науки Российской Федерации
Санкт-Петербургский государственный горный институт им. Г.В. Плеханова (технический университет)
(наименование учебной дисциплины согласно учебному плану)

Тема: Использование современной компьютерной техники и программного обеспечения для решения прикладных задач в области геодезических измерений.
Автор: студент гр. ГГ-09-2 ________________ /Скоропупов М.В./
Руководитель проекта _доцент_ ________________ /Косовцева Т. Р./
Федеральное агентство по образованию Российской Федерации
Санкт-Петербургский государственный горный институт им Г.В. Плеханова (технический университет)
Кафедра информатики и вычислительной техники
По дисциплине _____________Информатика______________________
_____________________________________________________________
(наименование учебной дисциплины согласно учебному плану)

Студенту группы ГГ-09-2 Скоропупов М.В.
1. Тема проекта: Использование современной компьютерной техники и программного обеспечения для решения прикладных задач в области геодезических измерений.
2. Исходные данные к проекту Изложены в методических указаниях
3. Содержание пояснительной записки Пояснительная записка включает в себя задание на выполнение работы, титульный лист, аннотацию, оглавление, введение, собственно текст пояснительной записки, заключение, список используемой .
4. Срок сдачи законченного проекта ______________________________
Руководитель проекта доцент _____________ /Косовцева Т. Р./
Дата выдачи задания: _____________________
В данной работе представлено описание решения типовых геодезических задач на основе языка программирования Turbo Pascal 7.0, проверка которых осуществлялась с помощью табличного процессора Microsoft Office Excel 2007 и MathCad 14. Отчёт оформлен в текстовом процессоре Microsoft Office Word 2007.
The explanatory note represents the report on course work on a theme: the decision of geodetic problems with the help of programming language Turbo Pascal and tabulared processor Excel and MathCad 14. The report is made out in word-processor Microsoft Word.
2.8 ТАБЛИЧНЫЕ ВЫЧИСЛЕНИЯ В MS EXCEL
Камеральная обработка результатов геодезических измерений является одной из важнейших частей процесса по получению координат пунктов геодезической сети.
При камеральной обработке результатов измерений высокоточных геодезических работ объем вычислений становится весьма большим.

Так как исполнителем работ является человек, то нельзя полностью гарантировать совершенное отсутствие ошибок.

Камеральная обработка в целом является достаточно легко формализуемым процессом, в связи с этим геодезические вычисления были автоматизированы.
Целью выполнения курсовой работы является закрепление устойчивых навыков работы в средах программирования при решении типовых задач в области геодезии. В частности овладеть основными принципами построения алгоритмов, методами вычислений и их реализации на компьютере, приобрести навыки постановки задач, построения математических моделей при обработке экспериментальных данных и анализ.
Программное обеспечение, такое как StarNet - уравнивание геодезических сетей, Mapsuite - создание инженерно-топографических планов, LEICA Geo Office - обработка геодезических измерений, SiteMaster - автоматизация обмерных работ, GeometricalGeodesy - решение геодезических задач в системе Mathematica, предназначены для решения различных геодезических задач. В данной работе представлено решение аналогичных задач с помощью языка программирования Turbo Pascal, табличного процессора Microsoft Excel 2007 и MathCad 14.
При написании программ на языке Turbo Pascal были использованы операторы:
условный оператор If определяет, что тот или иной оператор должен выполняться лишь в том случае, если справедливо заданное условие.
оператор повтора For используется, если количество повторных выполнений заданной группы операторов известно заранее и составной оператор следует выполнять повторно до тех пор, пока не будут перебраны все значения управляющей переменной.
операция Assign (присваивание имени файла). По синтаксису она состоит из имя файла и переменной типа файлов. Все действия производят над дисковым файлом.
операция Close (закрыть файл). Дисковый файл, назначенный переменной, закрывается и справочник диска обновляется с тем, чтобы в нём в дальнейшем отобразить новые сведения о состоянии файла.
операция Reset (установка файла в исходное состояние). При выполнении этой операции дисковый файл с именем, присвоенным файловой переменной, подготавливается к обработке и указатель файла устанавливается на начало файла.
В одной из задач выполняются операции над массивами. Массив-структурный тип данных, состоящий из фиксированного количества компонентов, имеющих один и тот же тип, называемый типом компонента, или базовым и базовым типом. Доступ к каждому отдельному компоненту массива обеспечивается путём индексирования элементов массива. Индексы представляют собой целочисленные выражения какого-либо скалярного типа. Индекс заключается в квадратные скобки и записывается вслед за индентификатором массива и его тип называется типом индекса.
Также при написании программ использовались стандартные арифметические функции ( abs, arctan, sqr, sqrt и т.д.).
При создании пояснительной записки использован текстовый процессор Microsoft Word 2007.
Обратная геодезическая задача заключается в вычислении дирекционного угла 
и расстояния R
=
| AB
| по заданным на плоскости декартовым координатам x
,
y
двух точек А
и В
. Дирекционный угол, в конечном итоге, должен быть представлен в градусной мере, как это принято в геодезии. Расстояние между точками определяется через найденный дирекционный угол.
Пусть даны две точки А
и В
(рис. 1.1), координаты которых соответственно
Согласно схеме, показанной на рис. 1.1, приращения координат определяются:
Далее по знакам приращения координат находят название четверти, что, в свою очередь, позволяет определить значение дирекционного угла.
Определение значения дирекционного угла
Горизонтальное расстояние между точками может быть определено по формуле:
Перевод вычисленного дирекционного угла в градусную меру может быть выполнен различными способами. Один из возможных способов следующий:
Переводим величину в градусную меру
Вычисляем остаток и переводим его в минуты
Определяем остаток минут, переводим в секунды и округляем до целого
Значение дирекционного угла в градусах, минутах и секундах дают, соответственно, значения переменных m
,
s
.

Даны координаты 2-х точек A(х,y) и B(x,y). Определить дирекционный угол прямой AB.
*
процедура для определения приращений;
**
процедура для определение значения дирекционного угла и четверти;
***
процедура для перевода из радиан в градусы.
Uses CRT;{использование библиотеки}
Var i,j,k:integer;{описание переменных}
x1,y1,x2,y2,x3,y3,x4,y4,Dy,Dx,Dx1,Dy1,R,R1,Alfa,alfa1,S,S1:real;
AlfaGr,AlfaMi,AlfaS,AlfaGr1,AlfaMi1,AlfaS1:real;
{процедура для определения приращений}
procedure Prir (var k1:real; var k2:real; var Dd:real);
procedure Gradyc (var A,AGr,AMi,AS:real);
{процедура для определение значения дирекционного угла и четверти}
procedure Analiz (var X,Y,R,A:real);
Writeln('Direkcionnii ygol raven(v radianax):');
Writeln(t2,'Дирекционный угол равен(в радианах):');
Writeln('Direkcionnii ygol raven(v radianax):');
Writeln(t2,'Дирекционный угол равен(в радианах):');
Writeln('Direkcionnii ygol raven(v radianax):');
Writeln(t2,'Дирекционный угол равен(в радианах):');
Writeln('Direkcionnii ygol raven(v radianax):');
Writeln(t2,'Дирекционный угол равен(в радианах):');
Assign (t1,'dano.txt');{привязка фаила к переменной}
{чтение из фаила исходных значений}
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);{пропуск строки "Точка 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}
{проведение контроля полученных значений}
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 в фаил}
{проведение контроля полученного значения}
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);{вывод значения в фаил}
{определение значения дирекционного угла и четверти}
Writeln('Direkcionnii ygol i chetvert dly A');
Writeln(t2,'Дирекционный угол и четверть для задания А:');
Writeln('Direkcionnii ygol i chetvert dly B');
Writeln(t2,'Дирекционный угол и четверть для задания B:');
{ВЫчисление горизонтального расстояния между точками}
Writeln('Gorizontalnoe Rasstoyanie mezdy tochkami Ravno(dly A):');
Writeln(t2,'Горизонтальное расстояние между точками равно(для задания А):');
Writeln('Gorizontalnoe Rasstoyanie mezdy tochkami Ravno(dly B):');
Writeln(t2,'Горизонтальное расстояние между точками равно(для задания B):');
{перевод дирекционного угла в градусную меру}
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,' секунд');
Writeln('chtenie iz faila "dano.txt", zapis v "rezultat.txt"');
Дирекционный угол и четверть для задания А:
Дирекционный угол равен(в радианах):
Дирекционный угол и четверть для задания B:
Дирекционный угол равен(в радианах):
Горизонтальное расстояние между точками равно(для задания А):
Горизонтальное расстояние между точками равно(для задания B):
Дирекционный угол равен(для задания А):
Дирекционный угол равен(для задания B):
Рис. 1.5 Проверка в MS Excel в режиме отображения формул.
Таким образом, обратная геодезическая задача была решена с помощью языка программирования Turbo Pascal и затем была проверена с помощью табличного процессора Microsoft Excel 2007 и MathCad 14.Результаты решений совпали, что говорит о правильности выбранного алгоритма решения задачи.
Прямая угловая (геодезическая) засечка - такое название носит способ определения координат точки местности Р
, если на плоскости дана система точек геодезической сети с известными координатами и на этих точках измерены горизонтальные углы (рис.2.1.).
Рис. 2.1. Схемы прямой геодезической засечки.
Большое значение имеет величина угла при вершине треугольника – угла засечки 
, от которого во многом зависит точность определения координат. В инструкциях по проведению геодезической съемки указывается, что угол засечки не должен быть меньше 30 о
и больше 150 о
.
Для определения координат точки Р
можно использовать формулы Юнга или формулы Гаусса. Чаще используются формулы Юнга, которые еще называют формулами котангенсов внутренних углов треугольника.
Широко используются и формулы Гаусса. В этом случае исходными данными являются не только координаты пунктов А 1

и А 2

и измеренные горизонтальные углы  
 

, но и вычисленный дирекционный угол стороны А 1
А 2

.
Если пунктов геодезической сети более двух (рис.2.1 б)
, то исходные данные являются избыточными, т.к. для определения искомых координат точки Р
достаточно знать координаты и углы двух точек одного треугольника. Но в инструкции по выполнению геодезических работ требуют, чтобы координаты точки Р
определялись как минимум из двух треугольников.
Избыточность исходных данных позволяет повысить надежность определения окончательных значений искомых величин за счет применения правила арифметического среднего.
где X P

k

, Y P

k

координаты, определенные из k-того треугольника.
Определить координаты точки P по трем точкам с известными координатами и 4 углам. (2 треугольникам)
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);

*
процедура для определения приращений
***
процедура для определение значения дирекционного угла и четверти
****
процедура для перевода из радиан в градусы
GB1P1,MB1P1,SB1P1,GB1P2,MB1P2,SB1P2,GB2P2,MB2P2,SB2P2,GB2P3,MB2P3,SB2P3:integer;
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;
{процедура для определения приращений}
procedure Prir (var k1:real; var k2:real; var Dd:real);
procedure Gradyc (var A,AGr,AMi,AS:real);
{процедура для определение значения дирекционного угла и четверти}
procedure Analiz (var X,Y,R,A:real);
Writeln('Direkcionnii ygol raven(v radianax):');
Writeln(t2,'Дирекционный угол равен(в радианах):');
Writeln('Direkcionnii ygol raven(v radianax):');
Writeln(t2,'Дирекционный угол равен(в радианах):');
Writeln('Direkcionnii ygol raven(v radianax):');
Writeln(t2,'Дирекционный угол равен(в радианах):');
Writeln('Direkcionnii ygol raven(v radianax):');
Writeln(t2,'Дирекционный угол равен(в радианах):');
{чтение из фаила исходных значений}
{проведение контроля полученных значений}
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 в фаил}
{проведение контроля полученных значений}
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);{вывод значения в фаил}
{перевод дирекционного угла в градусную меру}
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,' секунд');
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('chtenie iz faila "in.txt", zapic v "out.txt"');
Дирекционный угол равен(в радианах):
Дирекционный угол равен(в радианах):
Рис. 2.5 Проверка в MS Excel в режиме отображения формул.
Таким образом, задача №2 (прямая угловая засечка) была решена с помощью языка программирования Turbo Pascal и затем была проверена с помощью табличного процессора Microsoft Excel 2007 и MathCad 14. Результаты решений совпали, что говорит о правильности выбранного алгоритма решения задачи.
На плоскости задана система точек с известными координатами ( x i

, y i

). При использовании обратной геодезической засечки теодолит располагают непосредственно на точке Р

, координаты которой требуется определить. На точки с известными координатами (их должно быть не менее трех) устанавливают визирные цели, после чего измеряют горизонтальные углы  
 

(рис.3.1).
Рис. 3.1. Схема обратной геодезической засечки
Для однозначного определения координат точки Р
достаточно рассмотреть два треугольника, однако в этом случае решение задачи является бесконтрольным. Инструкции по проведению геодезических измерений требуют включать, как минимум, четыре точки с известными координатами и определять координаты вставляемой точки, соответственно, по трем или более треугольникам.
Избыточность исходных данных позволяет повысить надежность определения окончательных значений искомых величин за счет применения правила арифметического среднего.
Для определения координат вставляемой точки предварительно определяем вспомогательные величины n
и m
.
Далее находим углы и определяем координаты вставляемой точки.
Обратная геодезическая засечка. Требуется определить координаты точки P по трем точкам с известными координатами и двум известным углам (каждый угол – угол между 2 соседними точками с вершиной в точке P).
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;
{чтение из фаила исходных значений}
Writeln(t2,'Направление: ',g1,' градусов ',m1,' минут ',s1,' секунд;');
Writeln(t2,'X=',x1:6:2,'; Y=',y1:6:2,';');
Writeln(t2,'Направление: ',g2,' градусов ',m2,' минут ',s2,' секунд;');
Writeln(t2,'X=',x2:6:2,'; Y=',y2:6:2,';');
Writeln(t2,'Направление: ',g3,' градусов ',m3,' минут ',s3,' секунд;');
Writeln(t2,'X=',x3:6:2,' Y=',y3:6:2,';');
Writeln(t2,'Направление: ',g4,' градусов ',m4,' минут ',s4,' секунд;');
Writeln(t2,'X=',x4:6:2,'; Y=',y4:6:2,' .');
Writeln('Hapravlenie: ',g1,' gradysov ',m1,' minyt ',s1,' sekynd;');
Writeln('X=',x1:6:2,'; Y=',y1:6:2,';');
Writeln('Hapravlenie: ',g2,' gradysov ',m2,' minyt ',s2,' sekynd;');
Writeln('X=',x2:6:2,'; Y=',y2:6:2,';');
Writeln('Hapravlenie: ',g3,' gradysov ',m3,' minyt ',s3,' sekynd;');
Writeln('X=',x3:6:2,' Y=',y3:6:2,';');
Writeln('Hapravlenie: ',g4,' gradysov ',m4,' minyt ',s4,' sekynd;');
Writeln('X=',x4:6:2,'; Y=',y4:6:2,' .');
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));
Writeln(t2); Writeln(t2); Writeln(t2); Writeln(t2,'Решение:'); Writeln(t2);
Writeln(t2,'Направление 1 в радианах:',ra1:6:2,';');
Writeln(t2,'Направление 2 в радианах:',ra2:6:2,';');
Writeln(t2,'Направление 3 в радианах:',ra3:6:2,';');
Writeln(t2,'Направление 4 в радианах:',ra4:6:2,' .');
Writeln; Writeln('Reshenie:'); Writeln;
Writeln('Napravlenie 1 v radianax:',ra1:6:2,';');
Writeln('Napravlenie 2 v radianax:',ra2:6:2,';');
Writeln('Napravlenie 3 v radianax:',ra3:6:2,';');
Writeln('Napravlenie 4 v radianax:',ra4:6:2,' .');
Writeln(t2,'Угол 2-1 (в радианах)=',yg21:6:2,';');
Writeln(t2,'Угол 3-2 (в радианах)=',yg32:6:2,';');
Writeln(t2,'Угол 4-3 (в радианах)=',yg43:6:2,' .');
Writeln('Ygol 2-1 (v radianax)=',yg21:6:2,';');
Writeln('Ygol 3-2 (v radianax)=',yg32:6:2,';');
Writeln('Ygol 4-3 (v radianax)=',yg43:6:2,' .');
Writeln(t2,'Котангенс угла 2-1 =',ct21:6:2,';');
Writeln(t2,'Котангенс угла 3-2 =',ct32:6:2,';');
Writeln(t2,'Котангенс угла 4-3 =',ct43:6:2,' .');
Writeln('Kotangens ygla 2-1 =',ct21:6:2,';');
Writeln('Kotangens ygla 3-2 =',ct32:6:2,';');
Writeln('Kotangens ygla 4-3 =',ct43:6:2,' .');
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;
Writeln(t2,'Вспомогательная величина m1 = ',vm1:6:2,';');
Writeln(t2,'Вспомогательная величина n1 = ',vn1:6:2,';');
Writeln(t2,'Вспомогательная величина m2 = ',vm2:6:2,';');
Writeln(t2,'Вспомогательная величина n2 = ',vn2:6:2,' .');
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,' .');
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('Fi 1 = ',Fi1:6:2,'; Delta 1 = ',De1:6:2,';');
Writeln('Fi 2 = ',Fi2:6:2,'; Delta 2 = ',De2:6:2,';');
Writeln('Fi 3 = ',Fi3:6:2,'; Delta 3 = ',De3:6:2,';');
Writeln('Fi 4 = ',Fi4:6:2,'; Delta 4 = ',De4:6:2,' .');
kipX1:=(x1*De2-x2*Fi2+y2-y1)/(De2-Fi2);
kipX2:=(x2*De4-x3*Fi4+y3-y2)/(De4-Fi4);
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('Koordinata X ickomogo pynkta 1: ',kipX1:6:2,';');
Writeln('Koordinata X ickomogo pynkta 2: ',kipX2:6:2,';');
Writeln(' Srednee znachenie X: ',CredX:6:2,';');
Writeln('Koordinata Y ickomogo pynkta 1: ',kipY1:6:2,';');
Writeln('Koordinata Y ickomogo pynkta 2: ',kipY2:6:2,';');
Writeln(' Srednee znachenie Y: ',CredY:6:2,' .');
Writeln('chtenie iz faila "data.txt", zapic v "result.txt"');
Направление({Градусы}пробел{Минуты}пробел{Секунды}):
Направление({Градусы}пробел{Минуты}пробел{Секунды}):
Направление({Градусы}пробел{Минуты}пробел{Секунды}):
Направление({Градусы}пробел{Минуты}пробел{Секунды}):
-----------------------------------------------------
Направление: 0 градусов 0 минут 0 секунд;
Направление: 73 градусов 15 минут 40 секунд;
Направление: 180 градусов 17 минут 23 секунд;
Направление: 282 градусов 28 минут 14 секунд;
Вспомогательная величина m1 = 2259.94;
Вспомогательная величина n1 = -3805.11;
Вспомогательная величина m2 = -4709.38;
Вспомогательная величина n2 = -1146.05 .
Координата X искомого пункта 1: 10217.52;
Координата X искомого пункта 2: 10217.50;
Координата Y искомого пункта 1: 10353.71;
Координата Y искомого пункта 2: 10353.76;
Рис. 3.5 Проверка в
MS Excel в режиме отображения формул.
Задачу №3 (обратная геодезическая засечка) была решена с помощью языка программирования Turbo Pascal и проверена с помощью табличного процессора Microsoft Excel 2007 и MathCad. Результаты решений совпали, что говорит о правильности выбранного алгоритма решения задачи.
Рассмотрим один из наиболее известных и широко применяемых прямых методов решения систем линейных уравнений. Обычно этот метод называют методом исключения или методом Гаусса.
Чтобы проиллюстрировать этот метод, рассмотрим сначала систему из трех уравнений с тремя неизвестными:
В такой системе по крайней мере один из коэффициентов , , должен быть отличен от нуля, иначе бы мы имели бы дело в этих трех уравнениях только с двумя неизвестными. Если , то можно переставить уравнения так, чтобы коэффициент при в первом уравнении был отличен от нуля. Очевидно, что перестановка уравнений оставляет систему неизменной: ее решение остается прежним.
Умножим первое уравнение системы (4.1) на и вычтем его из второго уравнения системы. («Первое» и «второе» уравнения берем уже после перестановки, если она была необходима). Результат вычитания равен:
фактически исключается из второго уравнения (именно для достижения такого результата и было выбрано значение ).
Определим теперь новые коэффициенты
Тогда второе уравнение системы приобретает вид
Заменим второе из первоначальных уравнений уравнением (4.2) и введем множитель для третьего уравнения
Умножим первое уравнение на этот множитель и вычтем его из третьего. Коэффициент при
снова становится нулевым, и третье уравнение приобретает вид
Если теперь в исходной системе уравнений (4.1) заменить третье уравнение на (4.3), то новая система выглядит так:
Эти новые уравнения полностью эквивалентны исходным уравнениям с тем преимуществом, что входит только в первое уравнение и не входит ни во второе, ни в третье. Таким образом, два последних уравнения представляют собой систему из двух уравнений с двумя неизвестными; если теперь найти решение этой системы, т.е. определить и , то результат можно подставить в первое уравнение и найти . Иначе говоря, задача сведена к решению системы из двух уравнений с двумя неизвестными.
Попытаемся теперь исключить из двух последних уравнений. Если , то снова мы переставим уравнения так, чтобы было отлично от нуля (если и , то система вырождена и либо вовсе не имеет решения, либо имеет бесчисленное множество решений).
Умножим второе уравнение полученной системы (4.4) на и вычтем его из третьего. Результат вычитания равен
Третье уравнение полученной системы (4.4) можно заменить уравнением (4.5), после чего система уравнений приобретает следующий вид:
Такая система уравнений (4.6) иногда называется треугольной
из-за своего внешнего вида.
Для решения необходимо определить из третьего уравнения системы (4.6), подставить этот результат во второе уравнение и определить . Полученные значения и подставить в первое уравнение и определить . Этот процесс, который обычно называется обратной подстановкой (обратный ход)
, определяется формулами:
Необходимо отметить, если , то система уравнений вырождена.

Теперь можно обобщить этот метод на случай системы из n
– уравнений с n
-неизвестными. Ниже записана система уравнений, приведенная к треугольному виду (4.8).
Формулы для вычисления неизвестных (обратный ход) будут иметь вид:
Решение системы линейных алгебраических уравнений методом Гаусса.
Процедура для решения СЛАУ методом Гаусса
Type matrix=array [1..10,1..10] of real;
Procedure Gaus (Var a:matrix; Var b:vector; x:vector);
Writeln('Reshenie sistemu lineinix algebraicheskix yravnenii');
Writeln('(kolichestvo yravnenii 4)');
Writeln(t,'Решение системы линейных алгебраических уравнений');
Writeln(t,'(количество уравнений 4)');
d:=a[i,i];{Поиск максимума в столбце}
{Вводятся результаты уравнений ("b" 1х4)}
Рис. 4.2 Результаты в Turbo Pascal.
Решение системы линейных алгебраических уравнений
Рис. 4.4 Проверка в MS Excel в режиме отображения формул
Задача №6 (решение системы линейных алгебраических уравнений методом гаусса) была решена с помощью языка программирования Turbo Pascal и затем была проверена с помощью табличного процессора Microsoft Excel 2007 и MathCad. Результаты решений совпали, что говорит о правильности выбранного алгоритма решения задачи.
Таким образом, в данной курсовой работе было решено и оформлено 4 типовые геодезические и одна математическая задачи с помощью языка программирования Turbo Pascal, табличного процессора Excel и MathCad 14.
1) Информатика: Программа и методические указания по выполнению курсовой работы для студентов специальности "Маркшейдерское дело" дневной формы обучения / Санкт-Петербургский горный ин-т. Сост.: А.П. Кондрашов, Т.Р. Косовцева, В.В. Петров, – СПб, 2004 . 51 с.
2) Информатика. Учебник. Под редакцией Н.В. Макаровой. М., 2001.
3) Правила оформления курсовых и квалификационных работ / Санкт-Петербургский горный ин-т. Сост. И.О. Онушкина, П.Г. Талалай, - СПб, 2004, 50 стр.
4) Информатика. Работа в пакете MathCad. / СПГГИ(ТУ), Сост. О.Г. Быкова, СПб, 2005, 46 стр.
5) Ян Белицкий Turbo Pascal с графикой для персональных компьютеров. М.:1991г.

Название: Использование современной компьютерной техники и программного обеспечения для решения прикладных
Раздел: Рефераты по информатике
Тип: курсовая работа
Добавлен 20:50:19 03 мая 2011 Похожие работы
Просмотров: 196
Комментариев: 10
Оценило: 1 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Курсовая работа: Использование современной компьютерной техники и программного обеспечения для решения прикладных
Сочинение На Лингвистическую Тему Морфема
Итоговое Сочинение Нужна Ли Человеку Совесть
Контрольная Работа По Алгебре 11 Класс Тригонометрия
Шпаргалка: Сущность и правовое регулирование коммерческой деятельности
Курсовая Работа На Тему Организация Труда И Его Оплата На Предприятии
Курсовая работа по теме Обеспечение информационной безопасности информационных систем различного класса и назначения
Курсовая работа: Наркомания как форма зависимого поведения
Контрольная работа по теме Физическая реабилитация при подагре
Реферат: Офисные программы текстовый редактор WORD
Курсовая работа: Доказательства в гражданском процессе. Скачать бесплатно и без регистрации
Реферат На Тему Психологические Особенности И Качество Жизни Больных Артериальной Гипертонией С Метаболическими Факторами Риска
Положительные Курсовые Разницы При Усн Доходы
Реферат На Тему Екологічні Наслідки Гірничо-Видобувної Діяльності Людини
Курсовая Работа На Тему Электронный Документ И Его Место В Делопроизводстве И Архивном Деле
Реферат по теме Пренатальная (дородовая) диагностика
Разработка лабораторного практикума "Создание тестирующей программы"
Дипломная работа по теме Совершенствование операции подготовки прутков круглого сечения к обработке на станках-автоматах
Реферат: Отношения Португалии и Азорских островов. Скачать бесплатно и без регистрации
Курсовая работа по теме Оплата труда руководителей, специалистов и служащих
About myself
Реферат: When Did The First Americans Appear Essay
Реферат: Разграничение составов преступлений
Реферат: Политическое сознание студенческой молодежи на примере Вузов БГУ и ВСГТУ

Report Page