«Использование оператора безусловного перехода»
Цель работы: изучение структуры оператора безусловного перехода и особенности его использования.
Задания для лабораторной работы:
1. С клавиатуры вводятся числа a, b, c, d. Подсчитать значение выражения (a+b)/(c+d). Если c+d=0, заставить пользователя повторить ввод.
Листинг программа
Sub pyat()
Dim a, b, c, d, v As Double
a = InputBox("vvedite chislo a")
a = CDbl(a)
b = InputBox("vvedite chislo b")
b = CDbl(b)
10 c = InputBox("vvedite chislo c")
c = CDbl(c)
d = InputBox("vvedite chislo d")
d = CDbl(d)
If c + d = 0 Then
MsgBox "Povtorite zanovo vvod, t.k c+d=0"
GoTo 10
End If
v = (a + b) / (c + d)
MsgBox (v)
End Sub
Тестирование:
Ввод: a=2, b=2, c=2, d=2
Вывод:
Рис 1. Тестирование номер 1
Ввод: a=3,b=4,c=2,d=-2
Вывод:
2. Написать программу, проверяющую правильность ввода даты (формат ввода: дд.мм.гг):
- введено нужное количество символов;
- дд и мм являются числами;
- 1 £ дд £ 31;
- 1£ мм £12.
В случае неправильного ввода заставить пользователя повторить ввод. Если ввод прошел успешно, то введенная дата должно выдаваться в окне сообщения в виде списка:
День: дд;
Месяц: мм;
Год: гг.
Листинг программа
Sub Shest()
Dim A, B, C As Integer
40 A = InputBox("Vvedite den")
A = CDbl(A)
If A >= 1 And A <= 31 Then
Else: GoTo 40
End If
50 B = InputBox("Vvedite mesyac")
B = CDbl(B)
If B >= 1 And B <= 12 Then
Else: GoTo 50
End If
C = InputBox("Vvedite god")
C = CDbl(C)
MsgBox "den: " & A & vbNewLine & "mesyac: " & B & vbNewLine & "god: " & C
End Sub
Тестирование:
Ввод: A=12,B=11,C=2018
Вывод:
Рис 2. Тестирование даты
Ввод: A=12,B=13,C=2018
Вывод:
Рис 2. Тестирование даты 2
Контрольные вопросы:
1. Что такое оператор безусловного перехода, и для чего он используется?
Ответ: Наряду с оператором условного перехода, позволяющим организовать выполнение той или иной группы операторов в зависимости от результатов проверки условия, иногда применяется и оператор безусловного перехода. Оператор безусловногоперехода задает переход на строку внутри процедуры, помеченную меткой.
2. Как выглядит синтаксис оператора безусловного перехода?
Ответ: Синтаксис оператора:
GoTo <имя метки>, где <имя метки> – произвольное имя, отвечающее стандартным правилам именования.
3. Какие бывают функции проверки типов, и что они проверяют?
Ответ:
Имя функции | Выполняемая проверка |
IsArray (<переменная>) | Является ли <переменная> массивом |
IsData (<переменная>) | Является ли <переменная> датой |
IsEmpty (<переменная>) | Была ли <переменная> описана инструкцией Dim |
IsError (<переменная>) | Является ли <переменная> кодом ошибки |
IsNull (<переменная>) | Является ли <переменная> пустым значением |
IsNumeric (<переменная>) | Является ли <переменная> числовым значением |
IsObject (<переменная>) | Является ли <переменная> объектом |
4. Какие есть функции обработки строк, и как выглядит их синтаксис?
Ответ: Len (<строка>)
Возвращает длину строки, т.е. количество символов в строке.
Mid (<строка>, <начальная позиция> [, <количество символов>])
Возвращает подстроку строки <строка>, начиная с символа, номер которого <начальная позиция>, длиной в указанное <количество символов>. Если последний аргумент <количество символов> не задан, то функция возвратит подстроку, включающую в себя символы с указанного аргументом <начальная позиция> до конца исходной строки.
5. В чем преимущества перед оператором условного перехода?
Ответ: Наряду с оператором условного перехода, позволяющим организовать выполнение той или иной группы операторов в зависимости от результатов проверки условия, иногда применяется и оператор безусловного перехода. Оператор безусловногоперехода задает переход на строку внутри процедуры, помеченную меткой.
Вывод: в ходе проделанной лабораторной работы было изучено структура оператора безусловного перехода, синтаксис: GoTo <имя метки>, также изучил функции обработки строк и их синтаксис, функции проверки типов и их синтаксис, решил задачи с использованием оператора безусловного перехода goto и изучил особенности его работы.