- •Тема: «Разработка приложений с разветвляющимися алгоритмами»
- •Разветвляющиеся алгоритмические структуры
- •1.1. Основные логические операции
- •1.2. Условный оператор If...Then
- •1.3. Условный оператор If...Then...Else
- •1.4. Условный оператор If...Then...ElseIf
- •1.5. Оператор выбора Select Case
- •Переключатели и флажки
- •2.1. Переключатель
- •2.2. Флажок
- •3. Упражнения
- •4. Задания для самостоятельного выполнения
- •2. Используя условный оператора if…then, разработайте проект для решения fphf,jnfqnt ghjtrn lkz htitybz h следующих заданий:
- •3. Используя условный оператора if…then…else или if…then…elseif, разработайте проект для решения fphf,jnfqnt ghjtrn lkz htitybz h следующих заданий:
- •4. Используя условный оператора select case, разработайте проект для решения fphf,jnfqnt ghjtrn lkz htitybz h следующих заданий:
- •5. Контрольные вопросы
1.3. Условный оператор If...Then...Else
Такая конструкция задает выполнение определенных групп инструкций в зависимости от значения выражения.
Имеет две формы синтаксиса:
однострочную:
If Условие Then [Инструкции] Else [Инстр-ции для обработки ложного Условия]
и блоковую:
If Условие Then
[Инструкции для обработки истинного Условия]
Else
[Инструкции для обработки ложного Условия]
End If
Оператор If…Then…Else выполняется следующим образом:
1. Вычисляется значение Условия (выражения логического типа).
2. Если значение условия истинно, то выполняются инструкции, следующие за словом Then. Если значение условия ложно, то выполняются инструкции, следующие за словом Else.
Пример. Найти максимальное из трех целых чисел.
3-й способ:
Dim a As Integer, b As Integer, c As Integer, max As Integer
a = InputBox("Введите первое число", "Ввод данных")
b = InputBox("Введите второе число", "Ввод данных")
c = InputBox("Введите третье число", "Ввод данных")
If a > b Then max = a Else max = b
If c > max Then max = c
MsgBox "Максимальное число равно " & Str(max),vbInformation, "Результат"
4-й способ:
Dim a As Integer, b As Integer, c As Integer, max As Integer
a = InputBox("Введите первое число", "Ввод данных")
b = InputBox("Введите второе число", "Ввод данных")
c = InputBox("Введите третье число", "Ввод данных")
If a > b Then
If a > c Then max = a Else max = c
Else
If b > c Then max = b Else max = c
End if
MsgBox "Максимальное число равно " & Str(max),vbInformation, "Результат"
1.4. Условный оператор If...Then...ElseIf
Дерево условий может оказаться гораздо более сложным, чем просто проверка одного условия. В этом случае используется оператор If…Then…ElseIf, который позволяет проверять множественные условия.
If Условие_1 Then
[Инструкции для обработки истинного Условия_1]
ElseIf Условие_2 Then
[Инструкции для обработки истинного Условия_2]
[ElseIf Условие_3 Then
[Инструкции для обработки истинного Условия_3]]
...
[Else
[Инструкции_для_ложности_всех_Условий]]
End If
Первым проверяется Условие_1. Если оно имеет значение True, то выполняются Инструкции и далее работа программы продолжится со строки, которая следует за ключевым словом End If. Если условие Условие_1 возвращает значение False, то проверяется Условие_2 и т.д., пока не встретится условие, возвращающее значение True, или не встретится ключевое слово Else.
Пример. Найти максимальное из трех целых чисел.
5-й способ:
Dim a As Integer, b As Integer, c As Integer, max As Integer
a = InputBox("Введите первое число", "Ввод данных")
b = InputBox("Введите второе число", "Ввод данных")
c = InputBox("Введите третье число", "Ввод данных")
If (a > b) And (a > c) Then
max = a
ElseIf b > c Then
max = b
Else
max = c
End If
MsgBox "Максимальное число равно " & Str(max),vbInformation, "Результат"
1.5. Оператор выбора Select Case
Если нужно проверить несколько условий, то условный оператор может стать слишком сложным. В этом случае применяется оператор выбора. Оператор выбора выполняет одну из нескольких групп инструкций в зависимости от значения выражения.
Синтаксис:
Select Case Анализируемое_выражение
[Case Значение_1
[Инструкции_1]]
[Case Значение_2
[Инструкции_2]]
...
[Case Значение_N
[Инструкции_N]]
[Case Else
[Инструкции_по_умолчанию]]
End Select
Анализируемое выражение должно возвращать значение типа, совместимого с типом значений в строке Case.
Как только значение анализируемого выражения попадает в диапазон из списка в предложении Case, выполняются все инструкции, следующие за данным предложением Case до следующего предложения Case, либо, для последнего предложения Case, – до предложения End Select. Затем управление передается инструкции, следующей за End Select, вне зависимости от наличия подходящих диапазонов в других предложениях Case.
Если ни в одном предложении Case не содержится включающего значения выражения диапазона, и отсутствует инструкция Case Else, выполнение продолжается с инструкции, следующей за инструкцией End Select.
Оператор выбора очень эффективен, когда надо проверить одну переменную, принимающую несколько значений.
Синтаксис Select Case разрешает использование условий <, >, =, при этом используется ключевое слово Is. В качестве значения для Case можно указывать не одно значение, а несколько через запятую. С помощью ключевого слова To можно задать диапазон значений.
Пример. В зависимости от величины введенного числа отображается сообщение, указывающее на величину числа или диапазон, которому оно принадлежит.
Dim i As Integer
i = InputBox("Введите целое число",("Ввод числа")
Select Case i
Case 1
MsgBox "Число равно 1"
Case 2, 3
MsgBox "Число равно 2 или 3"
Case 4 To 9
MsgBox "Число от 4 до 9"
Case Is > 9
MsgBox "Число больше 9"
Case Else
MsgBox "Число не положительное"
End Select
