Инструкция Go to. Инструкция Select Case

Синтаксис

Инструкция Select Case

Select Case <выражение для проверки> Case < список 1>

<блок операторов 1>

Case <список 2>

<блок операторов 2>

………..

Case Else

<блок операторов п>

End Select

Параметр выражение для проверки — любое числовое или строковое выра­жение, в зависимости от значения которого выполняется соответствующий блок операторов. Параметры список 1, список 2 и т. д. — это списки вы­ражений, записанных в следующих формах:

выражение [, выражение... ], например Case 1, 3, 5, 7, 9;

Case a, b, с, d

выражение То выражение, например: Case 5 То 13; Case a To d

Is операция отношения, например:

Case Is<20; Case Is <>a В списках могут быть использованы различные формы записи, например:

Case 2, 5, 8 То 15. 18, 25 То 30, Is >50

Sub testsub1()

Dim sngналог As Single, intпараметр, sngсумма

intпараметр = Val(InputBox("введите целое число:"))

sngсумма = Val(InputBox("введите число:"))

Select Case intпараметр

Case 0

sngналог = sngсумма * 0

Case 1

sngналог = sngсумма * 0.05

Case 2

sngналог = sngсумма * 0.1

Case 3

sngналог = sngсумма * 0.15

Case 4

sngналог = sngсумма * 0.2

Case Else

sngналог = sngсумма * 0

End Select

MsgBox "sngналог=" & sngналог

End Sub

В этом примере осуществляется выбор ставки налога (0; 0,05; 0,10; 0,15; 0,20) в зависимости от значения выражения intпараметр. Предусмотрен также вариант

выбора, когда значения выражения intпараметр не совпадают ни с одним выражением в предложениях Case.

Существует еще одна инструкция безусловного перехода Go to, которая в общем виде записывается так:

Go to Метка.

Метка это идентификатор с двоеточием, стоящий перед инструкцией, которая должна быть выполнена после инструкции Go to.

Пример 1 написать программу вычисления , если введен правильный пароль.

Sub pparol()

Dim parol, x, y

finish:

parol = (InputBox("введите пароль"))

If parol <> "nataly" Then 'nataly правильный пароль

MsgBox "неверный пароль, доступ запрещен"

GoTo finish

End If

x = Int(Rnd * 10 + 1): y = x ^ 0.5

MsgBox "x=" & x & "y=" & y

End Sub

Sub pr42()

'Ввести три любых числа, сумму двух чисел поделить на третье, сделать проверку, что в знаменателе число <>0.

Dim x, y, sum, z

x = Val(InputBox("введите x:"))

y = Val(InputBox("введите y:"))

1: z = Val(InputBox("введите z:"))

If z <> 0 Then

sum = (x + y) / z

ElseIf z = 0 Then

MsgBox "введен ноль"

GoTo 1

End If

MsgBox "sum=" & sum

End Sub

Лекция 3


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



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