Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

12_Шишкина Л.П., Бояринцева Т.П., Сержант Т.Н_Лаб_практикум по информатике_VBA_2012

.pdf
Скачиваний:
36
Добавлен:
26.03.2016
Размер:
1.01 Mб
Скачать

B1

= 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