Смекни!
smekni.com

Использование современной компьютерной техники и программного обеспечения для решения прикладных (стр. 5 из 6)

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);

Writeln(t2,'Дано:');

Writeln(t2,'Пункт №1');

Writeln(t2,'Направление: ',g1,' градусов ',m1,' минут ',s1,' секунд;');

Writeln(t2,'X=',x1:6:2,'; Y=',y1:6:2,';');

Writeln(t2,'Пункт №2');

Writeln(t2,'Направление: ',g2,' градусов ',m2,' минут ',s2,' секунд;');

Writeln(t2,'X=',x2:6:2,'; Y=',y2:6:2,';');

Writeln(t2,'Пункт №3');

Writeln(t2,'Направление: ',g3,' градусов ',m3,' минут ',s3,' секунд;');

Writeln(t2,'X=',x3:6:2,' Y=',y3:6:2,';');

Writeln(t2,'Пункт №4');

Writeln(t2,'Направление: ',g4,' градусов ',m4,' минут ',s4,' секунд;');

Writeln(t2,'X=',x4:6:2,'; Y=',y4:6:2,' .');

Writeln('Dano:');

Writeln('Pynkt #1');

Writeln('Hapravlenie: ',g1,' gradysov ',m1,' minyt ',s1,' sekynd;');

Writeln('X=',x1:6:2,'; Y=',y1:6:2,';');

Writeln('Pynkt #2');

Writeln('Hapravlenie: ',g2,' gradysov ',m2,' minyt ',s2,' sekynd;');

Writeln('X=',x2:6:2,'; Y=',y2:6:2,';');

Writeln('Pynkt #3');

Writeln('Hapravlenie: ',g3,' gradysov ',m3,' minyt ',s3,' sekynd;');

Writeln('X=',x3:6:2,' Y=',y3:6:2,';');

Writeln('Pynkt #4');

Writeln('Hapravlenie: ',g4,' gradysov ',m4,' minyt ',s4,' sekynd;');

Writeln('X=',x4:6:2,'; Y=',y4:6:2,' .');

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,'Решение:'); 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,' .');

Begin

{Углы}

yg21:=ra2-ra1;

yg32:=ra3-ra2;

yg43:=ra4-ra3;

End;

Writeln(t2);

Writeln(t2,'Угол 2-1 (в радианах)=',yg21:6:2,';');

Writeln(t2,'Угол 3-2 (в радианах)=',yg32:6:2,';');

Writeln(t2,'Угол 4-3 (в радианах)=',yg43:6:2,' .');

Writeln;

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,' .');

Begin

{Котангенсы углов}

ct21:=(cos(yg21)/sin(yg21));

ct32:=(cos(yg32)/sin(yg32));

ct43:=(cos(yg43)/sin(yg43));

End;

Writeln(t2);

Writeln(t2,'Котангенс угла 2-1 =',ct21:6:2,';');

Writeln(t2,'Котангенс угла 3-2 =',ct32:6:2,';');

Writeln(t2,'Котангенс угла 4-3 =',ct43:6:2,' .');

Writeln;

Writeln('Kotangens ygla 2-1 =',ct21:6:2,';');

Writeln('Kotangens ygla 3-2 =',ct32:6:2,';');

Writeln('Kotangens ygla 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,'Вспомогательная величина m1 = ',vm1:6:2,';');

Writeln(t2,'Вспомогательная величина n1 = ',vn1:6:2,';');

Writeln(t2,'Вспомогательная величина m2 = ',vm2:6:2,';');

Writeln(t2,'Вспомогательная величина 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('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,' .');

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('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"');

Close (t1);

Close (t2);

Readkey;

End.

3.6 Содержание фаила «data.txt»

Пункт #1(Хутор)

Направление({Градусы}пробел{Минуты}пробел{Секунды}):

0 0 0

Координата X:

10798.58

Координата Y:

12689.72

Пункт #2(Крутик)

Направление({Градусы}пробел{Минуты}пробел{Секунды}):

73 15 40

Координата X:

8921.43

Координата Y:

11123.49

Пункт #3(Юрьево)

Направление({Градусы}пробел{Минуты}пробел{Секунды}):

180 17 23

Координата X:

9787.11

Координата Y:

8585.19

Пункт #4(Локно)

Направление({Градусы}пробел{Минуты}пробел{Секунды}):

282 28 14

Координата X:

12484.41

Координата Y:

10294.53

-----------------------------------------------------

3.7 Результат программы

Рис.3.3 Результаты в Turbo Pascal.

Содержание фаила «result.txt»

Дано:

Пункт №1

Направление: 0 градусов 0 минут 0 секунд;

X=10798.58; Y=12689.72;

Пункт №2

Направление: 73 градусов 15 минут 40 секунд;

X=8921.43; Y=11123.49;

Пункт №3

Направление: 180 градусов 17 минут 23 секунд;

X=9787.11 Y=8585.19;

Пункт №4

Направление: 282 градусов 28 минут 14 секунд;

X=12484.41; Y=10294.53 .

Решение:

Направление 1 в радианах: 0.00;

Направление 2 в радианах: 1.28;

Направление 3 в радианах: 3.15;

Направление 4 в радианах: 4.93 .

Угол 2-1 (в радианах)= 1.28;

Угол 3-2 (в радианах)= 1.87;

Угол 4-3 (в радианах)= 1.78 .

Котангенс угла 2-1 = 0.30;

Котангенс угла 3-2 = -0.31;

Котангенс угла 4-3 = -0.22 .

Вспомогательная величина m1 = 2259.94;

Вспомогательная величина n1 = -3805.11;

Вспомогательная величина m2 = -4709.38;

Вспомогательная величина n2 = -1146.05 .

Фи 1 = -0.54; Делта 1 = -1.81;

Фи 2 = -0.59; Делта 2 = 4.02;

Фи 3 = 1.33; Делта 3 = -0.54;

Фи 4 = 4.11; Делта 4 = -0.59 .


Координата X искомого пункта 1: 10217.52;

Координата X искомого пункта 2: 10217.50;

Среднее значение X: 10217.51;

Координата Y искомого пункта 1: 10353.71;

Координата Y искомого пункта 2: 10353.76;

Среднее значение Y: 10353.73 .

3.8 Табличные вычисления MS Excel

Рис.3.4 Проверка в MS Excel.

Рис. 3.5 Проверка в MS Excel в режиме отображения формул.

3.9 Вычисления в MathCad

Рис. 3.6 Проверка в MathCad 14.

3.10 Анализ

Задачу №3 (обратная геодезическая засечка) была решена с помощью языка программирования Turbo Pascal и проверена с помощью табличного процессора Microsoft Excel 2007 и MathCad. Результаты решений совпали, что говорит о правильности выбранного алгоритма решения задачи.

4. Решение СЛАУ методом Гаусса

4.1 Теоретические сведения

Рассмотрим один из наиболее известных и широко применяемых прямых методов решения систем линейных уравнений. Обычно этот метод называют методом исключения или методом Гаусса.

Чтобы проиллюстрировать этот метод, рассмотрим сначала систему из трех уравнений с тремя неизвестными:

(4.1)

В такой системе по крайней мере один из коэффициентов

,
,
должен быть отличен от нуля, иначе бы мы имели бы дело в этих трех уравнениях только с двумя неизвестными. Если
, то можно переставить уравнения так, чтобы коэффициент при
в первом уравнении был отличен от нуля. Очевидно, что перестановка уравнений оставляет систему неизменной: ее решение остается прежним.

Теперь введем множитель

.

Умножим первое уравнение системы (4.1) на

и вычтем его из второго уравнения системы. («Первое» и «второе» уравнения берем уже после перестановки, если она была необходима). Результат вычитания равен:

Так как


,

фактически исключается из второго уравнения (именно для достижения такого результата и было выбрано значение
).