Функции проверки типов

Лабораторная работа № 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. Напишем программу, которая заставляла бы пользователя повторять ввод в случаях, когда вводимое значение пустое или не является числом. Если ввод прошел успешно, то введенное число должно выдаваться в окне сообщения.

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





double arrow
Сейчас читают про: