12_Шишкина Л.П., Бояринцева Т.П., Сержант Т.Н_Лаб_практикум по информатике_VBA_2012
.pdfB1 |
= N * COSLT: |
B3 = N * COS3 * (1 - T2 + EE2 * COS2) / 6 |
B5 |
= N * COS5 * (5 - 18 * T2 + T4) / 120 |
X = ((A2 + A4 * DL2) * DL2 + S) * 0.001
Y = ((B3 + B5 * DL2) * DL2 + B1) * DL * 0.001 + 500
End Sub
Для построения приложения (назовем его Координаты.xls) на листе Excel в первой строке поместим названия столбцов таблицы: Номер точки, LT, LN, X, Y, Число итераций. Введем в ячейки второй и следующих строк номера нескольких точек и их географические координаты в градусах и поместим на лист Excel элементы управления, как показано ниже:
Номер т. |
LT |
LN |
X |
Y |
Число итераций |
|
|
|
|
|
||
1 |
60 |
105.75 |
6654.426 |
541.8501 |
5 |
|
|
|
|
|
|
|
2 |
55.12 |
107 |
6112.524 |
627.5992 |
5 |
|
|
|
|
|
|
|
|
|
( LT,LN) ( X,Y) |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Осевой меридиан |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(X,Y) (LT,LN) |
|
||
|
|
|
|
|
|
105 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поясним элементы управления, событийные и общие процедуры. Поле с именем TextBox1 (имена элементов управления на листе Excel не показаны) предназначается для ввода значения осевого меридиана – в нашем примере 105о. Командные кнопки c именами BTN1 и BTN2 инициируют исполнение событийных процедур BTN1_Click и BTN2_Click. Первая из них из каждой непустой строки таблицы (начиная со строки 2) извлекает географические координаты LT, LN, переводит их из градусов в радианы и обращается к общей процедуре LTLNtoXY, текст которой приведен выше. Вычисленные координаты X,Y процедура BTN1_Click заносит в столбцы 4, 5 таблицы Excel.
Событийная процедура BTN2_Click похожа на процедуру BTN1_Click, только исходные данные она берет из столбцов 4, 5 таблицы, а результаты помещает в столбцы 2, 3. Для вычисления значений LT, LN по известным прямоугольным координатам X, Y она обращается к общей процедуре XYtoLTLN, которая вычисляет географические координаты в следующей последовательности:
1)устанавливается счетчик итераций K=0;
2)задается первое приближение, например, LT = 56 ∙ Pi180, LN = CM ∙ Pi180, где Pi180 – константа для перевода градусов в радианы, CM – осевой (центральный) меридиан;
3)путем обращения к процедуре LTLNtoXY находятся координаты XX, YY,
соответствующие LT, LN;
4) наращивается на 1 счетчик итераций и вычисляются невязки DX = X - XX, DY = Y
– YY, DXY = DX2 + DY2 , а также новые значения широты и долготы LT = LT + DX ∙ 1000 / a, LN = LN + DY ∙ 1000 /a / cos(LN);
5)если DXY < 0.0000001 , то задача считается решенной; в противном случае проверяется значение счетчика итераций;
6)если K< 20, то управление передается блоку 3; иначе считается, что процесс не сходится (это может быть, если заданы нереальные для Земли координаты X,Y), и в качестве результатов условно присваиваются значения LT = 0, LN = 0.
Обе событийные и общую процедуру XYtoLTLN надо разработать, а в событийной процедуре BTN2_Click также предусмотреть занесение в столбец 6 таблицы числа итераций, за которое сошелся процесс. Для проверки этой процедуры, можно очистить столбцы 2, 3 таблицы и нажать вторую командную кнопку – мы вновь должны получить исходные географические координаты.
51
Литература к курсовой работе 4.
Ломтадзе В.В. Программное обеспечение обработки геофизических данных. Л.: Недра, 1982. –280 с.
Ломтадзе В.В. Программное и информационное обеспечение геофизических исследований. М.: Недра, 1993. –268 с.
Справочник геодезиста (в двух книгах). Книга 1. М.: Недра, 1975. –544 с.
ЛИТЕРАТУРА
1.Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И. Задачи по программированию. - М.: Наука. Гл. ред. физ.-мат. лит., 1988. -224 с.
2.Гарнаев А.Ю. Самоучитель по VBA. - СПб: БХВ - Санкт-Петербург, 1999. -512 с.
3.Ломтадзе В.В., Шишкина Л.П. Информатика: Учебное пособие. - Иркутск: Изд-во Иркутского госуд. технич. ун-та, 1999. -116 с.
4.Пол Санна и др. Visual Basic для приложений (версия 5) в подлиннике: пер. с англ. – СПб.: BHV-Санкт-Петербург, 1999. -704 с.
5.Численные методы. Учебник для техникумов. - М., "Высш. Школа", 1976. -368 с.
52