Основные положения
Глава 11. Система программирования Visual Basic for Applications (VBA)
Рис. 10.12. Ввод элементов матрицы
Рис. 10.11. Имена ячеек
а) ввод по строкам в) ввод по столбцам
Пример 10.7. Дан двумерный массив
A= a(i,j) , i =1,2,3; j=1,2,3. Составить алгоритм получения суммы элементов главной диагонали, критерием выделения которых является равенство i = j . Ввод и обработку элементов массива будем выполнять по строкам (рис. 10.14).
Рис. 10.13. Сумма элементов массива
Рис. 10. 14. Обработка матрицы
В первом семестре мы использовали табличный процессор Excel для обработки табличных данных. Следует отметить, что многие команды Excel представляют собой набор мини – команд, которые выполняются в автоматическом режиме по заранее определенному алгоритму. Подобный набор мини команд содержится в встроенной в Excel системе программирования, которая носит название VBA, основой для которого является система программирования Visual Basic (VB). VBA– это интегрированная среда программирования, которая включает редактор кода (программы), систему подсказок (помогающие в выборе параметров вводимой команды), компилятор (для перевода команд в двоичный код), компоновщик (составитель исполнимого модуля), отладчик программ (помогает поэтапно выполнять программу), а также элементы интерфейса пользователя. Используя VBA, мы по заранее разработанному алгоритму можем решать ту или иную поставленную задачу.
VВА работает в среде Excel. Процесс программирования поставленной задачи в VBА включает два этапа (проект):
1. Этап визуального программирования или создание интерфейса пользователя. На этом этапе необходимо заранее продумать, что будет расположено на экране ПК для удобства решения задачи (кнопки управления, окна ввода и вывода данных и другие элементы). После расположения необходимых элементов (объектов) нужно установить их свойства.
2. Этап непосредственного программирования задачи. На этом этапе составляется программа (программный код), которая состоит из операторов VBА. В этом плане создание программы с помощью VBА сходно с разработкой программ на других языках программирования.
Рассмотрим постановку задачи программирования, на конкретном примере. Разработать проект в Excel, для определения минимальной поверхности S, радиуса R и высоты h консервной банки заданного объема V. Проект включает следующие этапы:
1. Создание интерфейса пользователя. Интерфейс пользователя – форма (или рабочий лист1), на которой расположены следующие объекты (рис. 11.1):
· Окно для ввода заданного объема;
· Окна для вывода полученного R , h высоты и минимальной поверхности S;
· Кнопка запуска программы;
· Кнопка закрытия проекта (выход).
R=5,4см h=10,8см
S=0,055м2 V=1000cм2 Рис. 11.1. Интерфейс
2. Составление математической модели минимизации поверхности.
V=pr2h; откуда h=v/(pr2); s=2pr2 + 2prh ; подставив h в s , возьмем частную производную ds/dr и приравняем ее нулю.
Откуда получим s=2pr2 + 2prh
Составление процедуры вычисления минимальной поверхности при заданном объеме (вопросы составления программы будут рассмотрены позже).
3. Порядок запуска проекта в редакторе VBA (при открытой UserForm1):
· Команда Run, Run Sub/UserForm;
· В появившейся форме ввести заданный объем;
· Щелкнуть на форме кнопку Запуск;
· Записать полученные результаты;
· Щелкнуть на форме кнопку Выход (закрыть проект).