
- •Информатика
- •Утверждено редакционно-издательским советом университета
- •1 . Информация о дисциплине
- •1.1. Предисловие
- •1.2. Содержание дисциплины и виды учебной работы
- •1.2.1. Объем дисциплины и виды учебной работы
- •1.2.2. Перечень видов практических занятий и видов контроля
- •Рабочие учебные материалы
- •2.1. Рабочая программа
- •Раздел 1. Введение. Объектно – ориентированный
- •Раздел 2. Инструкции языка Visual Basic for Application (52 часа)
- •Элементы и типы данных языка vba. Переменные и константы. Арифметические и логические операции. Массивы данных. Встроенные функции vba.
- •Раздел 4. Создание форм пользователя в vba (16 часов )
- •2.2. Тематический план дисциплины
- •Информатика. Дополнительные разделы
- •Раздел 3 . Создание форм пользователя в vba Раздел 2 Инструкции языка vba Раздел 1 Введение. Объектно-ориентированный подход к программированию
- •2.4. Практический блок
- •Лабораторный практикум
- •2.5. Временной график изучения дисциплины
- •Р ейтинговая система
- •Информационные ресурсы дисциплины
- •3.1. Библиографический список
- •3.2. Опорный конспект по дисциплине * введение
- •Раздел 1. Объектно-ориентированный подход к программированию
- •При работе с данным разделом Вам предстоит:
- •1 .1. Основные понятия объектно- ориентированного программирования
- •1.2. Классы объектов vba, их методы и свойства
- •Инкапсуляция
- •Наследование объектов
- •Полиморфизм объекта
- •Особенности vba
- •Объекты и их семейства в vba
- •Иерархия объектов vba
- •Методы и свойства объектов vba
- •Событие и отклик на него
- •Сервис – Макрос - Макросы – Диаграмма – Изменить.
- •Вставка – Модуль (Insert – Module) Вставка – Процедура (Insert – Procedure.
- •Раздел 2. Инструкции языка vba
- •При работе с данным разделом Вам предстоит:
- •2 .1. Элементы языка vba
- •Правильные имена Неправильные имена
- •Основные понятия vba
- •Переменные
- •Insert – Module (Вставка – Модуль)
- •Insert – Procedure (Вставка – Процедура)
- •Операции
- •Логические операции
- •Операция конкатенации
- •Функции проверки типов
- •Is Numeric (аргумент)
- •Функция InputBox
- •InputBox(Сообщение, Заголовок, Текст по умолчанию)
- •Функция MsgBox
- •MsgBox(Сообщение, Кнопки, Заголовок).
- •2.2. Операторы перехода
- •Синтаксис оператора присваивания для переменных
- •Синтаксис оператора присваивания для объектов
- •Условный оператор с одной ветвью
- •Организация программ для проверки нескольких условий
- •Структура оператора If для проверки большого числа условий
- •2.3. Операторы цикла
- •Dim ИмяМассива(Размерность) As ТипЭлементов
- •Оператор For (для)…Next (следующий)
- •Вычисление суммы элементов массива
- •Вычисление произведения элементов массива
- •Считывание массива из Excel
- •Вычисление максимальных значений элементов массива
- •Оператор While (пока)…Wend (конец цикла)
- •Оператор Do (выполнить) … Loop (конец Do)
- •2.4. Работа с подпрограммами
- •Обращение из одной процедуры к другой
- •Передача параметров из одной процедуры в другую
- •Раздел 3. Создание форм пользователя в vba
- •При работе с данным разделом Вам предстоит:
- •3.1. Создание пользовательских форм
- •3.2. Создание программ для работы с формой.
- •Заключение
- •3.3. Глоссарий
- •3.4. Методические указания к выполнению лабораторных работ Общие указания
- •Работа 1. Операторы условного перехода и выбора
- •Цель работы
- •Основные теоретические положения
- •Пример 1
- •Пример 2
- •Пример 3
- •Порядок выполнения работы
- •3.1. Выполнение задания 1
- •3.2. Выполнение задания 2
- •3.3. Выполнение задания 3
- •Индивидуальные задания
- •4. Отчет по работе
- •Работа 2. Операторы цикла. Работа с подпрограммами
- •1. Цель работы
- •Основные теоретические положения
- •2.1. Оператор For … Next
- •2.2. Оператор While … Wend
- •2.3. Оператор Do … Loop
- •2.4. Обработка двумерных массивов
- •2.4. Работа с подпрограммами
- •3. Порядок выполнения работы
- •3.1. Выполнение задания 1
- •3.2. Выполнение задания 2
- •3.3. Выполнение задания 3
- •Выполнение задания 4
- •3. 5. Выполнение задания 5
- •Вариант 1. Вычислить
- •Вариант 3. Вычислить
- •Вариант 4. Вычислить
- •4. Отчет по работе
- •4. Блок контроля освоения дисциплины
- •4.1. Методические указания к выполнению контрольной работы
- •4 .1.2. Задания на контрольную работу
- •4 .2. Тренировочные тесты текущего
- •Тест № 1
- •1.Vba относится к семейству языков программирования
- •5. Окно Проекта содержит:
- •12. Система записи для применения метода к объекту:
- •Тест № 2
- •Тест № 3
- •Правильные ответы на тренировочные тесты текущего контроля
- •4.3. Итоговый контроль. Вопросы к зачету
- •Приложение (листинг программы- контрольная работа)
- •Содержание
- •1. Информация о дисциплине……………………………………….…3
- •1.1. Предисловие……………………………………………………………...3
- •Раздел 1. Объектно-ориентированный поход к
- •Раздел 2. Инструкции языка vba…………………………………29
2.4. Обработка двумерных массивов
Двумерные массивы представляют собой двумерные матрицы. Например, массив L(7,8) – матрица, в которой 7 строк и 8 столбцов.
Чтобы провести обработку двумерного массива, нужно организовать сложный (вложенный) цикл. Как правило во внешнем цикле будет организован перебор строк массива, во внутреннем – перебор столбцов.
Пример 3
Составим программу для вычисления произведения всех элементов массива N(5,3).
Процедура имеет вид
Sub ДвумерныйМассив( )
Dim N(5,3), P As Variant
Dim I, J As Integer
P = 1
‘Перебор строк
For I = 1 To 5
‘Перебор столбцов
For J = 1 To 3
‘Вычисление произведения
P = P * N(I,J)
‘Завершение цикла по столбцам
Next
‘Завершение цикла по строкам
Next
End Sub
2.4. Работа с подпрограммами
Как и все алгоритмические языки высокого уровня, Visual Basic позволяет осуществлять обращение из одной процедуры в другую, а также передавать параметры (аргументы) из одной процедуры в другую.
Обращение из одной процедуры в другую осуществляется посредством указания имени процедуры, к которой происходит обращение.
Пример 4
Создать процедуру Основная, из которой осуществляется обращение к трем вспомогательным процедурам с именем Первая, Вторая и Третья. Каждая из вспомогательных процедур должна выполнять только одну операцию – выдать сообщение о том, какая процедура в данный момент работает.
Сначала создадим процедуру Основная и из нее организуем обращение к каждой из вспомогательных процедур. А под текстом процедуры Основная разместим тексты вспомогательных процедур.
Текст программы имеет вид:
Sub Основная( )
‘Обращение к процедуре Первая
Первая
‘Обращение к процедуре Вторая
Вторая
‘Обращение к процедуре Третья
Третья
End Sub
‘ Текст процедуры Первая
Sub Первая( )
MsgBox “Работает процедура Первая”
End Sub
‘ Текст процедуры Вторая
Sub Вторая ( )
MsgBox “Работает процедура Вторая”
End Sub
‘ Текст процедуры Третья
Sub Третья ( )
MsgBox “Работает процедура Третья”
End Sub
Если возникает необходимость передачи параметров из одной процедуры в другую, используют описание этих параметров в скобках после имени процедуры:Имя процедуры(Формальные параметры). такие параметры называются формальными. Чтобы задать значение этих параметров при очередном обращении к процедуре, используется оператор Call. Структура этого оператора:
Call Имя процедуры (фактические параметры).
Пример 5
Создать процедуру, вычисляющую площадь круга по значению радиуса R. Осуществить несколько обращений к этой процедуре, различными способами задавая фактические параметры.
Сначала создадим процедуру, вычисляющую площадь круга и записывающую результат в ячейку А1 ЭТ.
Sub ПлощадьКруга(R)
Dim S, R As Variant
S = 3.14 * R ^ 2
Range(“A1”).Value = S
End Sub
Теперь рассмотрим способы задания фактических параметров из процедуры с именем Обращение. Можно использовать другие буквенные обозначения параметров, например,
Sub Обращение( )
Dim Радиус As Variant
‘Задание радиуса
Радиус = 5
‘Обращение к процедуре вычисления площади круга
Call ПлощадьКруга(Радиус)
End Sub
Можно в качестве фактического аргумента сразу указать число, например,
Sub Обращение( )
Call ПлощадьКруга(5)
End Sub
При составлении общей программы текст программы, откуда происходит обращение, всегда располагается первым, текст вспомогательной программы – под ним. Наша программа в целом имеет вид:
Sub Обращение( )
Dim Радиус As Variant
Радиус = 25
‘Вычисление площади для радиуса =25
Call ПлощадьКруга(Радиус)
‘Вычисление площади для радиуса =18
Call ПлощадьКруга(18)
End Sub
Sub ПлощадьКруга(R)
Dim S, R As Variant
S = 3.14 * R ^ 2
Range(“A1”).Value = S
End Sub