Глава I. Алгоритм проектирования программ.

Тема № 2. Отработка алгоритма с VBA на простом примере

Решение задания Темы№1.

В редакторе "Microsoft Visual Basic for Applications" на панели "Menu Bar" в разделе "Insert"(1 рис.1)нажать "Module"v(2 рис.1). В окне "Project" к нашему проекту "VBAProject" добавляется модуль "Module1". В окне "Properties" видим, что у данного модуля есть одно свойство "Name"="Module1". Пока его менять не будем. Модуль "Module1" это контейнер для хранения наших программ- "Procedure". Создадим нашу программу "Приветствие" (3 рис.1). Телом нашей программы является всего один оператор : MsgBox "Привет, мир!"

Рис.1- Редактор VBA. Решение задания.
Рис.1- Редактор VBA. Решение задания.

Для запуска данной процедуры нажать "Треугольник" в разделе меню "Run"(можно проще - "Треугольник" на панели инструментов "Standart" ИЛИ ЕЩЁ ПРОЩЕ - функциональная клавиша "F5"). Должно появиться окно программы(рис.2)

Рис. 2-Результат запуска процедуры "Приветствие"
Рис. 2-Результат запуска процедуры "Приветствие"

Итог:

Если ВСЁ получилось, то знакомство с редактором VBA получилось и можно идти дальше, а если что-то не понятно то ищем более подробные объяснения в интернете. (Их предостаточно.)

Отработка алгоритма проектирования. Пример№1.

1. Постановка задачи.

" Для изготовления из прутка обруча заданного диаметра необходимо знать длину прутка. "

Какой диапазон диаметра? В каких единицах измеряем?(мм, метр, дециметр или дюйм )

"Диапазон диаметра: 100 - 10000 мм"

2. Определение ВХОДНЫХ и ВЫХОДНЫХ ДАННЫХ.

Из входных данных - диаметр сохраним в переменной Dok.

Из выходных данных - Длина сохраним в переменной Lok.

3. Разработка БЛОК-СХЕМЫ программы.

Блок-схема линейная:

1. Начало

2. Ввод Dok

3. Расчёт Lok=3.1415926*Dok

4. Вывод значения Lok

5. Конец

Рис.3-Блок-схема программы для расчёта  длины окружности
Рис.3-Блок-схема программы для расчёта  длины окружности

4. Разработка контрольного примера решения задачи в Excel.

Переходим на лист1 в Excel и создаём в колонке А вводные данные, а в колонке В выходные данные. В ячейках колонки B помещаем формулы для расчёта.(рис.4)

Рис.4- Контрольный пример для программы для расчёта  длины окружности
Рис.4- Контрольный пример для программы для расчёта длины окружности

5. Разработка кода программы в VBA.

Что бы написать код программы выполняем практически все те же операции, что и в предыдущем задании. Просто для данного примера создадим новый модуль "Module2", где и будем создавать программные коды для процедур. Для примера №1 напишем следующую процедуру:

Option Explicit
' Программа для расчёта длины окружности по её диаметру
Dim Message, Title, Default, MyValue
Dim Dok As Integer 'объявление переменной диаметра окружности
Dim Lok As Integer 'объявление переменной длины окружности
Public Sub Lokr()
Message = "Ввести диаметр Dok в диапазоне от 100 до 10000" ' Set prompt.
Title = "Ввод диаметра" ' Set title.
Default = "100" ' Set default.
Debug.Print "Программа расчёта длины окружности по её диаметру."
Dok = InputBox(Message, Title, Default)
Lok = 3.1415926 * Dok
Debug.Print "Длина окружности Lok=" & Lok & " мм"
End Sub

6. Отладка программы VBA по контрольному примеру Excel.

Запускаем программу ("F5") и появляется окно ввода диаметра(рис.5)

Рис.5-Результат работы функции InputBox(Message, Title, Default)
Рис.5-Результат работы функции InputBox(Message, Title, Default)

Сообщения программы выводим в окне "Immediate"(для вывода окна можно зайти в раздел меню "View" или просто сочетанием клавиш "Ctrl-G"). Смотрим результат работы программы(рис.6)

рис.6-Результат работы смотрим в окне "Immediate"
рис.6-Результат работы смотрим в окне "Immediate"

Отладка программы сводится в устранении ошибок в коде программы и тогда программа запускается. Затем вводим данные из контрольного примера и сравниваем результаты расчётов длины окружности программы и контрольного примера.

Выводы:

Если практические работы в таблице Excel и программе получились. То алгоритм отработан для первого простого примера.

Совет:

Для переменных, процедур и функций наименование лучше писать латинским шрифтом.

1 комментарий