- •Введение
- •Основные элементы программирования
- •1. Переменные, оператор присваивания
- •Определение переменной
- •Имена переменных
- •Типы данных
- •Объявление переменных
- •Оператор присваивания
- •Область видимости переменных
- •Область видимости переменных и их объявление
- •2. Константы
- •3. Массивы
- •4. Математические операторы
- •5. Обработка числовых данных
- •6. Обработка строк
- •7. Процедуры
- •ПроцедурыSub
- •Процедуры Function
- •[Private|Public] [Static] Function ИмяПроцедуры(Аргументы) [As type]
- •Создание процедур
- •8. Операторы управления
- •Операторы передачи управления
- •Условные выражения
- •Операторы выбора
- •Переключатели
- •9. Операторы цикла
- •Оператор цикла For…Next
- •Операторы цикла Do…Loop
- •ОператорExit
- •10. Элементы программирования и алгоритмы
- •Содержание
Переключатели
Переключатель аналогичен оператору 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
Но при программировании оператор If…Then… ElseIf….End Ifне всегда можно заменить оператором выбораSelect Case.
9. Операторы цикла
Для программирования самых различных циклических алгоритмов, при которых один или несколько операторов выполняются несколько раз, можно ограничиться применением условных операторов. С помощью условного оператора, меток и оператора безусловного перехода можно создать любой цикл. Однако придуманы специальные циклические операторы, которые упрощают программирование циклов.
Чаще всего операторы циклов применяются при обработке различных массивов, при табулировании функций,т. е. вычислении функций при изменении аргументов в некоторых диапазонах с определенным шагом,при переборе (подборе) параметров, удовлетворяющих определенным условиям,при программировании массивови т. д.
Рассмотрим 2 типа циклических операторов: циклический оператор с известным числом повторений циклов For…Nextи оператор циклаDo… Loop, в котором циклическое выполнение некоторых операторов заканчивается после выполнения некоторого условия.