- •Одесская национальная академия пищевых технологий
- •Программа дисциплины
- •Глава 1. Алгоритмизация вычислительных процессов Этапы решения инженерных задач на пк
- •1.1. Алгоритм и его свойства
- •Типы алгоритмических структур
- •1.2. Линейные и разветвляющиеся алгоритмы
- •1.3. Простые циклические алгоритмы
- •1.4. Циклические алгоритмы обработки массивов
- •Двумерные массивы
- •А) ввод по строкам в) ввод по столбцам
- •Глава 2. Система программирования Visual Basic for Applications (vba)
- •2.1. Основные положения
- •2.2. Некоторые определения
- •Стандартный модуль (Module)
- •2.3. Запуск и элементы окна редактора vba
- •Глава 3. Пример создания проекта в vba и типы данных
- •3.1. Порядок действий на пк при создании проекта
- •3.2. Элементы языка vba
- •Данные в vba
- •3.3. Описание переменных
- •Глава 4. Выражения в vba и ввод – вывод данных
- •4.1. Выражения в vba
- •4.2. Операторы присваивания и способы ввода данных Оператор присваивания
- •Способы ввода данных
- •Для ввода
- •4.3. Способы вывода данных
- •Глава 5. Организация разветвляющихся программ
- •5.1. Операторы управления goto, if
- •Условный оператор управления if
- •5.3. Оператор выбора Select Case
- •Глава 6. Организация циклических программ в vba
- •6.1. Простые циклические программы с оператором if
- •6.2. Оператор цикла For ... Next
- •6.3. Операторы циклов типа Do (выполнить)
- •Использование операторов Do While и Do Until для организация цикла с защитой входа
- •Использование операторов Do While и Do Until для организация цикла с свободным входом в цикл (с послеусловием) Организация цикла с проверкой условия в конце цикла
- •Глава 7. Массивы данных в vbа
- •7.2. Примеры обработки одномерных массивов
- •Сортировка числовых одномерных массивов
- •Алгоритм сортировки одномерного массива по возрастанию
- •7.3. Двумерный массив
- •Программа
- •Глава 8. Пользовательские процедуры типа Sub и Function в vba
- •8.1. Подпрограммы
- •Вызов подпрограммы процедуры Sub
- •2 Способ.
- •8.3. Подпрограмма - процедура Function
- •Вызов подпрограммы - процедуры Function
- •Глава 9. Решение оптимизационных задач
- •9.1. Обработка электронных таблиц в среде vba
- •9.2. Применение процедуры Поиск решения для решения линейных оптимизационных задач
- •9. 3. Подготовка эт
- •Линейные, разветвляющиеся и циклические алгоритмы
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Алгоритмы обработки одномерных и двумерных массивов
- •Оформление протокола лабораторной работы
- •Задание №1. Создать простейший проект ″Приветствие″ в vba:
- •1. Разработка интерфейса пользователя.
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Линейные программы в vba
- •Пример составления программы для нулевого варианта задания
- •Private Sub CommandButton1_Click() ′ Заголовок процедуры отклика
- •Разработка проектов в vba по разветвляющимся программам
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Циклические программы в vba
- •End Sub ‘ Конец процедуры отклика
- •End Sub ‘ Конец процедуры отклика
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Обработка одномерных массивов в vbа
- •Порядок выполнения задания №1.
- •Пример выполнения лабораторной работы
- •3. Интерфейс на рис. Л7.1. Вывод результата решения по условию нулевого варианта не в окно TextBox1, а в окно отладки Immediate Window.
- •4. Процедура отклика кнопки 1:
- •Результат решения в окне отладки Immediate Window (рис. Л7.3).
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Дайте определение одномерного массива.
- •Обработка двумерных массивов в vbа
- •Порядок выполнения задания №1.
- •Пример выполнения лабораторной работы
- •Оформление протокола лабораторной работы
- •Программная единица
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Обработка эт в среде vbа
- •Оформление протокола лабораторной работы
- •Приложение 1. Обозначения блоков в схемах алгоритмов
- •Литература
- •Содержание
Оформление протокола лабораторной работы
Записать номер лабораторной работы и цель ее проведения.
Привести условие индивидуального задания.
В текстовом редакторе привести алгоритмы решения поставленной задачи и записать в личную папку под именем Лаб. 2.
Подготовиться для ответа на контрольные вопросы.
Контрольные вопросы
Дайте определение одномерного массива данных.
Как записать элемент одномерного массива в общем виде?
Как записать конкретный элемент одномерного массива?
Приведите фрагмент ввода - вывода элементов одномерного массива.
Как выделять четные и нечетные элементы одномерного массива?
Как определить номер элемента в одномерном массиве?
В чем сущность метода претендентов элементов на мин. или мах?
Дайте определение двумерного массива.
Как записать имя элемента двумерного массива в общем виде?
Как записать конкретный элемент двумерного массива?
Приведите фрагмент ввода элементов двумерного массива по строкам.
Приведите фрагмент ввода элементов двумерного массива по столбцам.
Приведите фрагмент суммы элементов двумерного массива по столбцам.
Л а б о р а т о р н а я р а б о т а № 3
Система программирования в VBA и создание элементарного проекта
Цель работы: запуск и ознакомление с интерфейсом VBA, создание и выполнение 2 – х ознакомительных проектов. При подготовке к работе изучить теоретический материал (с.10 – 17).
Запуск и подготовка интерфейса VBA
Загрузить Excel. Запустить VBA командами Сервис, Макрос, Редактор Visual Basic. Открывается окно редактора VBA, в котором нужно вывести окно обозревателя проекта командами View, Project Explorer .
Вывести окно свойств объектов командами View, Properties Window.
Создать окно формы 1 командами Insert, UserForm. Появляется окно формы 1 совместно с панелью элементов управления (ToolBox). Размеры формы 1 корректируем с помощью мыши и маркеров формы. В обозревателе виден значок созданной формы 1(UserForm1).
Задание №1. Создать простейший проект ″Приветствие″ в vba:
И
Рис. Л3.1. Интерфейс проекта
Р
Рис. Л3.2. Работа проекта
1. Разработка интерфейса пользователя.
Установить мышкой на форму 1 два элемента управления CommandButton (кнопки) и один элемент TextBox.
Ниже представлена таблица Л3.1, на основании которой будут установлены свойства объектов
Таблица Л3.1 — Таблица свойств элементов формы 1
Элемент (Объект ) |
Свойство |
Значение свойства |
Кнопка 1 |
Caption |
Запуск |
Кнопка 2 |
Caption |
Закрыть |
2
Рис.
Л3.3. Окно кода
3. Запись процедур отклика (программ) на событие командных кнопок. Открыть окно кода. Для этого достаточно дважды щелкнуть кнопку 1. Открывается окно кода и в нем мигающий курсор между операторами Private Sub CommandButton1_Click и End Sub (рис. Л3.3). В месте мигающего курсора ввести: TextBox1. Text = ″ Вас приветствует VBA″ .
Аналогично двойным щелчком по кнопке 2 устанавливается в окне кода на месте мигающего курсора команду End. Таким образом, подготовлены две процедуры отклика для командных кнопок.
Сохранение нового проекта в рабочей книге
Выполнить команды File, Save. В открывшемся окне указать путь к личной папке, создать папку Второй семестр, ввести имя файла книги Лаб. 3 и щелкнуть кнопку сохранить.
Запуск проекта в VBA
Активизировать форму запускаемого проекта (или вывести окно кода).
Выполнить команды Run, а затем Run Sub/UserForm .
В появившейся форме щелкнуть кнопку Запуск. Произойдет выполнение программы с выводом приветствия.
Закрыть проект, щелкнув кнопку Закрыть на форме.
Задание №2. Создать демонстрационный проект ″Определение минимальной поверхности консервной банки заданного объема″. Более подробно это изложено в главе 2 (2.1. Основные положения) и главе 3 (3.1. Порядок действий на ПК при создании проекта).
1
Рис.
Л3.4. Форма 2 и обозреватель проекта
Таблица Л3.2 – Таблица свойств объектов формы 2
|
Объекты |
Свойство |
Значение |
Примечание |
1 |
Label1 |
Caption |
Ввод V |
Надпись |
2 |
Label2 |
Caption |
Значение R |
Надпись |
3 |
Label3 |
Caption |
Значение h |
Надпись |
4 |
Label4 |
Caption |
Значение S |
Надпись |
5 |
TextBox1 |
Text |
|
Для ввода V |
6 |
TextBox2 |
Text |
|
Для вывода R |
7 |
TextBox3 |
Text |
|
Для вывода h |
8 |
TextBox4 |
Text |
|
Для вывода S |
9 |
Кнопка 1 |
Caption |
Запуск |
Запуск |
10 |
Кнопка 2 |
Caption |
Выход |
Закрыть |
2
Рис.
Л3.5. Установленные свойства
3. Записать процедуры отклика на событие командных кнопок. Дважды щелкним кнопку 1. В результате выводится окно кода с двумя строками процедуры отклика, между которыми установлен курсор для набора программы. Вводим программу:
Dim V, r, h, s As Single ‘ Описание переменных
V = Val(TextBox1.Text) ‘ Присвоение V численного значения
r = (V / (2 * 3.14)) ^ (1 / 3) ‘ Вычисление r
h = V / (3.14 * r ^ 2) ‘ Вычисление h
s = 2 * 3.14 * r ^ 2 + 2 * 3.14 * r * h ‘ Вычисление S
TextBox2 = Format(r, “##0.###” & « м.») ‘ Вывод r в окно TextBox2
TextBox3 = Format(h, “##0.###” & « м.») ‘ Вывод h в окно TextBox3
TextBox4 = Format(s, “##0.###” & « м.куб») ‘ Вывод S в окно TextBox4
Аналогично двойным щелчком по кнопке 2 устанавливаем в окне кода на месте мигающего курсора команду End. Таким образом, подготовлены две процедуры отклика для командных кнопок.
Запуск проекта в VBA с формой 2
Активизировать мышкой форму 2 (или вывести окно кода).
Выполнить команды Run, а затем Run Sub/UserForm .
В появившейся форме 2 ввести значение объема (например, число 2 – два литра) и щелкнуть кнопку Запуск. Произойдет выполнение программы с выводом значений рассчитанных значений радиуса, высоты и минимальной поверхности банки.
Записать полученные данные. Пункт 3 выполнить для нескольких заданных объемов банки. Закрыть проект, щелкнув кнопку Закрыть на форме.
Для сохранения проекта просто выполнить команду Save.
Выход из режима VBA в Excel
Выполнить команды File (Файл), Close (закрыть).