Страница: 11/13
Ясно, что работать с такого рода формулами очень неудобно.
Направления усовершенствования. Язык Visual Basic.
Хотя разработанная таблица и справляется с поставленной задачей, тем не менее существует ряд моментов, которые хотелось бы улучшить. Это – избавиться от структур, описанных в конце предыдущего параграфа, сделат выбор сценария решения понятным и удобочитаемым, а в далекой перспективе – даже расширить данную таблицу таким образом, чтобы появилась возможность работы не с фиксироанным количеством точек, а с произвольным, задавая их количество. Данная задача является очень трудоемкой и требует хорошео знания особенностей программирования на встроеном в MS Excel язык программирования Visual Basic.
Это в принципе объектно-ориентированное расширение обычного языка Basic, с очень большим числом новых функций и методов, призванных помочь в решении самых разнообразных задач любой сложности. Интеграция языка программирования и электронной таблицы предоставляет широчайшие возможности, ведь в числе предоставляемых средств есть и средства доступа к значениям клеток электронной таблицы, и даже доступ к их свойствам. Так, например, создается макрос – определенная последовательность инструкций, которая выполняется или сразу при загрузке документа, или же при выборе из меню «Сервис-Макрос-Макросы-Выполнить»(альтернативный вариант – нажать клавишу F8), и при своем выполнении макрос, допустим, опрашивает пользователя, сколько пунктов, каково их взаимное расположение, и т.д. , после чего, используя собственные средства доступа к значениям клеток таблицы, генерирует нужную структуру. Например, подпрограмма
Sub MyInput()
With Workbooks("Book1").Worksheets("Sheet1").Cells(1, 1)
.Formula = "=SQRT(50)"
With .Font
.Name = "Arial"
.Bold = True
.Size = 8
End With
End With
End Sub
в результате своего выполнения запишет в клетку A1 (или 1,1 в данном формате записи) листа «Sheet1” книги с названием “ Book1” формулу “=SQRT(50)», т.е. квадратный корень из 50 – ти, а результат будет записан утолщенным шрифтом Arial размера 8.
К сожалению, процесс создания действительно универсального средства автоматизации вычислений является чрезвычайно трудоемким и длительным, что делает его созданией задачей не одного программиста, но какой-либо фирмы, специализирующейся на разработке программного обнспечения. И, как уже было сказано выше, для подобных задач гораздо более целесообразно использовать специализированные ГИС, разработанные специализирующиимся на выпуске подобных продуктов фирмами. А в практической работе, когда таких задач не ставится, как, например, в данном случае, применение Visual Basic в принципе целесообразно ограничить созданием макросов для упрощения вычисления некоторых частей таблицы, когда напрямую (через запись формул в ячейки) требуемый результат трудно достижим, или его восприятие затруднено. Но при этом не следует забывать, что использование макросов ухудшает понятность таблицы и делает ее модификацию более сложной, так как макрос в принципе является некоторым кодом, написаным на языке программирования,следовательно, для эффективной работы с ним необходимо обладать программисткими навыками и, кроме того, знать специфику данного языка программирования, хорошо ориентироваться в свойствах и методах объектов, и четко представлять себе реультат выполнения той или иной инструкции. Все это делает задачу создания сложных макросов задачей скорее программистов, нежели геодезистов, так как освоение языка программирования требует некоторого, порой весьма значительного времени, и специальных знаний. Правда, ипользование справочной системы облегчает задачу.
Из этого можно сделать вывод, что наиболее эффективным средством самостоятельной разработки системы, автоматизирующей нужные вычисления, является сочетание средств, предоставляемых собственно электронныим таблицами и средств, предоставляемых языками программирования. В этом и нужно видеть основные направления усовершенствования данной работы.
Автоматизация геодезических вычислений – плюсы и минусы.
В заключении данной работы необходимо еще раз обратить внимание на такой важый аспект проблемы, как плюсы и минусы автоматизации. Казалось бы, что здесь нет никакой проблемы, ведь, как неоднократно было сказано выше, автоматизация позволяет многократно увеличить производительность работ по обработке вычислений за счет увеличения скорости их выполнения, и во много раз сократить вероятность появления любых ошибок в процессе камеральной обработки. Алгоритмы, которые используются при разработке средств автоматизации,многократно проверяются ( по крайней мере, должны) в процессе разработки на наличие скрытых ошибок, что позволяет довести надежность процесса вычислений до неободимого уровня. Поэтому автоматизация на первый взгляд кажется почти абсолютным благом, которое необходимо применять везде и всюду. Ведь никто не спорит, что сокращение затрат времени на производимую работу увеличивает ее эффективность, тем более при сохранении (и даже более того-возрастании, как в данном случае) качества производимой работы. Но что, в сущности, поисходит на самом деле?
Реферат опубликован: 29/05/2009