- •Одесская национальная академия пищевых технологий
- •Программа дисциплины
- •Глава 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. Обозначения блоков в схемах алгоритмов
- •Литература
- •Содержание
3.2. Элементы языка vba
Алфавит языка состоит из строчных и прописных латинских букв (26), букв кириллицы, десяти арабских цифр (0-9) и специальных знаков с которыми мы знакомы по клавиатуре.
Данные в vba
Данными мы называем константы и переменные, над которыми выполняются арифметические и логические операции.
Переменная - это обозначенная именем область памяти для хранения данных, которые могут изменяться в процессе выполнения программы.
Константа - это обозначенная именем область памяти для хранения данных, которые не могут изменяться в процессе выполнения программы.
Имя переменных и констант подчиняется следующим основным правилам:
первым символом имени должна быть буква;
число символов в имени не более 255;
символы имени - буквы, цифры и знак подчеркивания;
имя не должно совпадать с ключевым словом VBA.
Типы данных
Типом данных называется способ представления и сохранения данных в ПК. Приведем основные типы данных в VBA:
integer - целый тип (от -32768 до 32767 );
Long - целый тип ( от -2147483648 до 2147483647);
single - вещественный тип ( мантисса до 7 значащих цифр -1038 до 1038);
double - вещ. тип ( мантисса до 14 значащих цифр -10308 до 10308);
currency - используется в финансовых расчетах;
string - строковый тип ( от 0 до 65535 символов );
boolean - логический тип ( значения true (истина) false (ложь);
date - для ввода даты ( от 01.01. 100 до 31.12. 319999);
variant - произвольный тип ( когда тип не описывается пользователем).
В зависимости от типа данных для хранения переменной выделяется больше или меньше байтов оперативной памяти ПК. Например, для переменных типа integer требуется 2 байта, а для вещественных типа Single - 4 байта. Для типа variant – 16 байтов.
3.3. Описание переменных
В общем случае при описании переменной объявляется ее имя и тип в начале программы или до момента использования этой переменной в программе.
VBA включает множество способов описания переменных:
явное описание с помощью оператора описания.
Например, Dim а As Integer;
неявное описание. Переменная с определенным суффиксом используется в программе без предварительного объявления имени и типа. Например:
a%=25 переменная с именем a - объявляется типа integer;
в! =3.45 переменная с именем в- объявляется типа single;
описание по умолчанию или тип Variant. Если переменная не описана, то ей автоматически присваивается тип Вариант и для ее хранения выделяется максимум байтов памяти (16). Если явно описано только имя переменной (без указания типа), то тип автоматически устанавливается - Variant.
Синтаксис оператора явного описания переменных
Dim список Имен Переменных [ As тип]
Dim – ключевое слово объявления.
Переменные в списке отделяются запятыми.
Квадратные скобки указывают на необязательность параметра.
Например: Dim a,b,c As Integer; Dim z As String
Для предыдущего примера можно записать: Dim a,b,c,z - при этом тип переменных становится типом Variant. Это гласит о том, что переменным a,b,c,z могут быть присвоены значения любых типов данных.
Примечание. Описанные имена контролируются компилятором, если в разделе глобальных объявлений (General, Declarations) окна кода редактора записать оператор Option Explicit. Автоматически оператор устанавливается командами меню: Инструменты (Tools), Опции. На вкладке Editor установить флажок - требуются объявления переменных – Require Variable Declaration.
Синтаксис оператора описания констант
Const имя Константы [As тип] = значение
Например: Const Pi As Single = 3.141596
Const G = 9.8
Области действия переменных
Область действия переменной - часть программного кода, в котором можно использовать переменную.
В VBA есть три области действия переменной :
Локальная область - переменная действует в текущей процедуре и описывается в ней с помощью оператора Dim. Например, Dim а As integer.
Область модуля формы - распространяется на весь код программы формы и описывается с помощью оператора Private в разделе глобальных объявлений (секция General, Declarations). Например, Private a As integer.
Глобальная область - переменная действует на весь проект и описывается оператором Public в разделе глобальных объявлений стандартного модуля (секция General, Declarations). Например, Public a As integer.