
- •Информатика Сборник лабораторных работ по программированию в среде Visual Basic for Applications
- •Содержание
- •Введение
- •Лабораторная работа №1. Vba. Основные понятия. Среда разработки. Основы пРоГраммирования. Переменные
- •Среда программирования vba
- •Основы программирования на vba
- •Переменные
- •Математические операторы
- •Контрольные вопросы
- •Лабораторная работа №2. Диалоговые окна
- •Лабораторная работа № 3. Разветвляющиеся алгоритмы
- •1. Операторы условия if...Then
- •1.1 Строчный оператор If…Then…Else
- •1.2 Блочный условный оператор
- •1.3 Вложенные операторы If
- •1.4 Логические операции
- •2. Безусловный переход GoTo
- •3. Оператор выбора – переключатель
- •5. Задачи для самостоятельного решения!
- •Лабораторная работа № 4. Циклы со счетчиком
- •Лабораторная работа № 5. Циклы с условием
- •1. Циклы с предусловием
- •2. Цикл с постусловием
- •3. Цикл For Each … Next
- •4. Задания к лабораторной работе
- •5. Контрольные вопросы
- •Лабораторная работа № 6. Работа с формами. Создание интерактивных программ.
- •Примеры создания программ для работы с объектами окна диалога
- •Кнопка на рабочем листе создается с помощью Панели инструментов Формы (Элементы управления). Макрос назначается двойным щелчком левой кнопки мыши или с помощью контекстного меню.
- •Варианты для самостоятельных работ:
- •Литература
Лабораторная работа № 3. Разветвляющиеся алгоритмы
Разветвляющимися алгоритмами называются алгоритмы, в которых в зависимости от выполнения некоторого логического условия или от значения какого-либо выражения дальнейшие действия могут производиться по одному из нескольких направлений. Разветвляющиеся алгоритмы реализуются в VBA с помощью оператора условия If…Then и переключателя, реализуемого оператором Select Case.
1. Операторы условия if...Then
Операторы условия обычно используются в программах для изменения порядка выполнения дальнейших действий в зависимости от результата проверки значения некоторого выражения или логического условия. Одним из важных элементов программного оператора является условное выражение, значением которого может быть истина или ложь. Например, условное выражение
Sum<100
имеет значение True (Истина), если переменная Sum содержит значение, меньшее 100, и имеет значение False (Ложь) в других случаях.
В условных выражениях можно использовать следующие операции сравнения:
Операция сравнения |
Значение |
> |
больше |
< |
меньше |
>= |
больше или равно |
<= |
меньше или равно |
<> |
не равно |
= |
равно |
1.1 Строчный оператор If…Then…Else
Различают условные операторы строчный и блочный. Строчный оператор используется, когда при разветвлении программы необходимо на каждой ветке выполнить по одному оператору, а блочный необходим, когда таких операторов несколько. Синтаксис строчной структуры имеет две формы:
безальтернативную:
I
Нет
Да
Если условие не выполняется, то данный оператор пропускается и выполняется следующий оператор в тексте программы.
Например:
If кф>5 Then рез = кф* 2 ` Если переменная кф содержит значение больше пяти, то переменной рез будет присвоено значение переменной кф, умноженное на два.
альтернативную:
If условие Then оператор1 Else оператор2
Нет
Да
Оператор1
Оператор2
Обязательный параметр условие представляет собой логическое выражение, которое возвращает значение (истина) True или (ложь) False. Если условие равно True, то выполняется оператор1, если – False, то - оператор2. Далее выполняется оператор, следующий по порядку за строкой с оператором If…Then…Else.
Например:
If Погода= “дождь” Then MsgBox “Взять зонт” Else MsgBox “Не брать зонт”
MsgBox “Идти на работу”
В этом примере при условии, когда переменная Погода принимает значение «дождь», возвращается значение True и выполняется функция MsgBox после ключевого слова Then , т. е. на экран выводится сообщение о том, что надо взять зонт. Затем выполняется оператор, следующий за оператором If – на экран выводится сообщение: “Идти на работу”.В случае отсутствия дождя на экран выводятся одно за другим сообщения: “Не брать зонт”, и “Идти на работу”.
1.2 Блочный условный оператор
Если при выполнении какого-нибудь условия, требуется обработка нескольких операторов (блока операторов), то предпочтительнее применить блочный условный оператор, который также может быть безальтернативным и альтернативным. Синтаксис безальтернативного блочного оператора выглядит следующим образом:
If условие Then
оператор_1,
оператор_2, выполняемые, если условие истинно
. . .
оператор_n,
EndIf
Здесь EndIf указывает на окончание блока оператора If. Альтернативный блочный оператор применяется в случаях, когда при выполнении условия необходимо выполнить один набор операторов, а при невыполнении – другой. Синтаксис такого альтернативного блочного оператора будет следующим:
If условие Then
Блок операторов, выполняемых, если условие истинно
Else
Блок операторов, выполняемых, если условие ложно
End If
В блочной структуре после ключевого слова Then не пишется ничего, иначе интерпретатор распознает оператор If как строчный и воспримет остальные строки как ошибочные.
В блочной структуре каждому оператору If должен соответствовать End If.
ВЫПОЛНИТЕ!
Задание 1. Написать процедуру ввода и вывода Вашего имени с использованием функций InputBox и MsgBox (проверить вводилось ли имя).
Программа:
Sub Имя()
' Описание строковой переменной Имя
Dim Имя As String
'Присвоение переменной Имя возвращаемое значение функции
Имя = InputBox("Введите Ваше Имя")
' Условный блочный оператор If..Then..Else
If Имя = Empty Then
'вызов функции MsgBox
MsgBox "Запустите программу и Введите Ваше Имя"
Else
'Функция MsgBox объединена с переменной Имя
MsgBox "Ваше Имя " & Имя
' Завершает оператор If..Then..Else
End If
End Sub
Проверьте работу программы.