Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1к 2 семестр / Lektsii_po_informatikei / ЛЕКЦИЯ_13_Программирование на языке Visual Basic for Applicatin.doc
Скачиваний:
193
Добавлен:
02.04.2015
Размер:
1.12 Mб
Скачать

Select Case

Последовательная проверка условий для выбора альтернативы:

Select Case выражение

Case список_выражений1

<блок_инструкций1>

Case список выражений 2

<блок_инструкций2>

. . . . .

Case Else

<блок_инструкций_Else >

End Select

Проверяемое выражение может возвращать значение любого типа (логическое, числовое, строковое). Список выражений – одно или несколько выражений, разделенных стандартным разделителем – символ точка с запятой (;).

Элементы списка выражений могут задаваться как:

выражение

выражение1 To выражение2

Is логический_оператор(сравнение_выражения)

Пример 10

Для выбора алгоритма расчета sale выполнить проверку значения taxnalog.

Фрагмент программного кода:

taxnalog = InputBox("Введите ставку налога")

summ1 = InputBox("Укажите сумму")

Select Case taxnalog

Case Is < 0.12

sale = summ1 * (1 + taxnalog)

Case Is < 0.25

sale = (summ1 - 200) * (1 + taxnalog)

Case Is < 0.35

sale = (summ1 - 500) * (1 + taxnalog)

Case Else

sale = (summ1 - 1000) * (1 + taxnalog)

End Select

MsgBox sale

GoTo

Инструкция обеспечивает принудительный переход к оператору, помеченному указанной меткой.

Метка — строка символов, которая указывается перед другой инструкцией программного кода, отделяется символом двоеточие (:). Количество меток не ограничено, имя метки должно быть уникально на уровне процедуры, например:

GoTo метка

Пример 11

Повторить ввод ставки налога и исходной суммы, если результат расчета суммы налога неудовлетворительный.

Фрагмент программного кода:

Met1: taxnalog = InputBox("Ставка налога - ",, 0.2)

summ1 = InputBox("Исходная сумма - ", , 2000)

If MsgBox("Сумма налога - " & taxnalog * summ1 & _ vbCrLf & "Выход-OK,повтор-Cancel", vbOKCancel, _ "Результат расчета суммы налога")=2 Then GoTo Met1

For Next

Инструкция For…Next организует циклическое выполнение группы инструкций под названием тела цикла. Для принудительного выхода из цикла используется инструкция Exit For. Имеются две разновидности.

Вариант 1. Последовательное изменение значений переменной цикла (счетчика) от начального (начало) до конечного (конец) значения с заданным шагом:

For счетчик = начало To конец [Step шаг]

тело цикла (инструкции)

Next [счетчик]

Вариант 2. Организация повторения цикла для каждого элемента массива или коллекции объектов. Заранее указывать число элементов не требуется, разрешается использование вложенных циклов.

For Each <элемент> In <группа>

тело цикла (инструкции)

Next [элемент]

элемент — переменная, используемая для ссылки на элементы коллекции однородных объектов (семейства);

группа — имя коллекции (семейства) объектов.

Пример 12

Ввод начального значения, шага изменения и конечного значения ставки налога и суммы налогообложения. Вычислить суммы налога.

Фрагмент программного кода:

taxnalog = InputBox("Введите начальную " & _

"ставку налога", , 0.2)

stepnalog = InputBox("Введите шаг ставки " & _

"налога — не более 0,2", , 0.15)

maxtaxnalog = InputBox("Введите конечную " & _

"ставку налога не более 0,5", , 0.5)

summ1 = InputBox("Укажите начальную сумму " & _

"не более 1000", , 1000)

stepsumm = InputBox("Укажите шаг суммы " & _

"не менее 100", , 200)

maxsumm1 = InputBox("Укажите конечную сумму " & _

"не более 10000", , 2000)

For I = taxnalog To maxtaxnalog Step stepnalog

For j = summ1 To maxsumm1 Step stepsumm

sale = j * (1 + I)

MsgBox " Сумма налога при ставке " & _

I & "для суммы " & j & " равна " & sale

Next j

Next I