Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_1 / Элементы программирования - методичка.doc
Скачиваний:
60
Добавлен:
06.03.2016
Размер:
449.02 Кб
Скачать

Переключатели

Переключатель аналогичен оператору If. Он также позволяет обрабатывать несколько условий и имеет следующий синтаксис:

Select Case ПроверяемоеВыражение

Case Значение1_Выражения

Блок_Операторов1

Case Значение2_Выражения

Блок_Операторов2

…………………………………..

Case Else

Блок_Операторов

End Select

Здесь:

ПроверяемоеВыражение – математическое или строковое выражение, или переменная какого-либо типа;

Блок_Операторов1 – один или несколько операторов.

Как работает SelectCase (Выбор Случая)? Сначала, до выполнения оператораSelectCase, определяются все переменные, входящие вПроверяемоеВыражение. Если это одна переменная, то она должна быть к этому моменту определена. Затем значениеПроверяемоеВыражениесравнивается с теми значениями, которые указаны в конструкции после словCase в строках послеSelectCase. Если такое совпадение случится, то выполняется оператор или блок операторов, который следует после строкиCase. Если же ни один из случаев не выполнится, то выполняются операторы, следующие за ключевым словомCase Else. При отсутствииCase Elseвыполняются операторы, следующие за словамиEnd Select.

Например:

A = Val(InputBox("Введите целое число A"))

B = Val(InputBox("Введите целое число B"))

Select Case A + B

Case 1 To 4

F = 10

Case 5, 7, 9

F = 20 + A

Case 6

F = 30 + A*B

Case Is > 20

F = 40 + B

Case Else

F = 50 + A + B

End Select

Если в этом фрагменте программы буду введены числа А и В такие, что их сумма А + В будет в пределах от 1 до 4, то Fбудет вычислена по первой формуле. Если сумма будет равна 5 или 7 или 9, тоFвычисляется по второй формуле. Если А + В = 6, тоFвычисляется по третьей формуле. При А + В >20 переменнаяFвычисляется по четвертой формуле. Если же значение суммы будет другое, тоFвычисляется по пятой формуле.

После Is можно писать операторы сравнения:<>, =, <, <=, >=, >. Возможна еще комбинация такого типа:

Case 2, 6, 12 To 16

Этот алгоритм можно запрограммировать и с использованием оператора If…Then…ElseIf….Сделаем это, но пропустим ввод А и В:

С = A + B

If C >= 1 And C <= 4 Then

F = 10

ElseIf C = 5 Or C = 7 Or C = 9 Then

F = 20 + A

ElseIf C = 6 Then

F = 30 + A*B

ElseIf C > 20 Then

F = 40 + B

Else

F = 50 + A + B

End If

Но при программировании оператор IfThenElseIf….End Ifне всегда можно заменить оператором выбораSelect Case.

9. Операторы цикла

Для программирования самых различных циклических алгоритмов, при которых один или несколько операторов выполняются несколько раз, можно ограничиться применением условных операторов. С помощью условного оператора, меток и оператора безусловного перехода можно создать любой цикл. Однако придуманы специальные циклические операторы, которые упрощают программирование циклов.

Чаще всего операторы циклов применяются при обработке различных массивов, при табулировании функций,т. е. вычислении функций при изменении аргументов в некоторых диапазонах с определенным шагом,при переборе (подборе) параметров, удовлетворяющих определенным условиям,при программировании массивови т. д.

Рассмотрим 2 типа циклических операторов: циклический оператор с известным числом повторений циклов ForNextи оператор циклаDoLoop, в котором циклическое выполнение некоторых операторов заканчивается после выполнения некоторого условия.