Лабораторная работа № 5. Оператор безусловного перехода
Теоретические сведения
Наряду с оператором условного перехода, позволяющим организовать выполнение той или иной группы операторов в зависимости от результатов проверки условия, иногда применяется и оператор безусловного перехода. Оператор безусловного перехода задает переход на строку внутри процедуры, помеченную меткой.
Синтаксис оператора:
GoTo <имя метки>
<имя метки> – произвольное имя, отвечающее стандартным правилам именования.
Это же имя должно стоять в начале строки, на которую будет осуществляться переход; при этом имя метки от оператора отделяется двоеточием.
Заметим, что этот оператор в языке программирования VBA является избыточным, поскольку его работа моделируется другими средствами. Кроме того, часто использование этого оператора свидетельствует о “плохом” стиле программирования.
Мы будем использовать оператор безусловного перехода для организации ввода, отвечающего определенным требованиям. В записываемых при этом логических выражениях, помимо арифметических операций, операций отношения, логических операций часто используются функции проверки типов.
Функции проверки типов
| Имя функции | Выполняемая проверка |
| IsArray (<переменная>) | Является ли <переменная> массивом |
| IsData (<переменная>) | Является ли <переменная> датой |
| IsEmpty (<переменная>) | Была ли <переменная> описана инструкцией Dim |
| IsError (<переменная>) | Является ли <переменная> кодом ошибки |
| IsNull (<переменная>) | Является ли <переменная> пустым значением |
| IsNumeric (<переменная>) | Является ли <переменная> числовым значением |
| IsObject (<переменная>) | Является ли <переменная> объектом |
Поскольку функция InputBox возвращает значение типа String, иногда более удобно анализировать результаты ввода, считая их строковыми величинами.
Некоторые функции обработки строк:
Len (<строка>)
Возвращает длину строки, т.е. количество символов в строке.
Например,
Len (“cat”) возвращает значение, равное 3;
Len (“3451787”) возвращает значение, равное 7;
Len (“Пример № 5”) возвращает значение, равное 10.
Mid (<строка>, <начальная позиция> [, <количество символов>])
Возвращает подстроку строки < строка >, начиная с символа, номер которого < начальная позиция >, длиной в указанное < количество символов >. Если последний аргумент < количество символов > не задан, то функция возвратит подстроку, включающую в себя символы с указанного аргументом < начальная позиция > до конца исходной строки.
Например, если
S = “весенний день”, то
Mid (S, 10, 4) возвращает значение, равное “день”;
Mid (S, 5, 3) возвращает значение, равное “нн”;
Mid (S, 3) возвращает значение, равное “сенний день”
Демонстрационные примеры:
1. Приведем пример программы, в которой оператор безусловного перехода используется в конструкции If – Then – Else. Требуется найти частное от деления числа a на число b, при этом, если вводится b=0, должен быть предусмотрен повторный ввод.

2. Напишем программу, которая заставляла бы пользователя повторять ввод в случаях, когда вводимое значение пустое или не является числом. Если ввод прошел успешно, то введенное число должно выдаваться в окне сообщения.

В приведенной программе было использовано вложенное ветвление, последовательно осуществляющее проверку указанных условий. Эта же программа может быть написана по-другому – с использованием оператора ветвления, содержащего сложное логическое условие.







