|
Вспомним недавнюю задачу: Если a не равно 4, выполнить операторы b=3 и Print b, а в противном случае - операторы b=0, a=b+5 и с=0. Вот однострочный оператор If, решающий эту задачу:
If a <> 4 Then b=3: Print b Else b=0: a=b+5: с=0
Однако, часто количество операторов после Then и Else бывает гораздо большим, да и сами эти операторы бывают гораздо более сложными и длинными. В этом случае строка становится неудобочитаемой, да и вообще не умещается на экране. Для таких случаев создан многострочный (или блочный) оператор If. Вот как решается наша задача с его помощью:
If a <> 4 Then
b=3
Print b
Else
b=0
a=b+5
с=0
End If
Конструкция End If означает просто, что в этом месте оператор If заканчивается.
Часть Else может и отсутствовать. Например,
If a <> 4 Then
b=3
Print b
End If
Самое замечательное в блочном If то, что здесь можно одно за другим проверять несколько условий. Проиллюстрирую на примерах.
Задача: В компьютер вводится целое число a.
· Если a<0, то компьютер должен сказать "Число отрицательно".
· Если a=0, то компьютер должен сказать "Вы ввели нуль".
· Если a>100, то компьютер должен сказать "Число большое".
· В остальных случаях компьютер ничего не должен говорить, а только вычислить и напечатать его квадрат.
В любом случае после всего этого компьютер должен сказать "До свидания".
Вот программа:
Private Sub Command1_Click()
a = InputBox("Введите число")
If a < 0 Then
MsgBox ("Число отрицательно")
ElseIf a = 0 Then
MsgBox ("Вы ввели нуль")
ElseIf a > 100 Then
MsgBox ("Число большое")
Else
Print a ^ 2
End If
MsgBox ("До свидания!")
End Sub
ElseIf переводят так - "иначе если". Получается вот что: Если a < 0, то ……. иначе если a = 0, то …… иначе если a > 100, то ……
Блочный If выполняется так: Сначала проверяется первое условие (a < 0). Если оно не выполняется, то Visual Basic переходит к проверке второго условия(a = 0) и так далее. Наткнувшись наконец на условие, которое выполняется, Visual Basic выполняет операторы, стоящие после его Then и на этом заканчивает работу, даже если ниже есть условия, которые тоже выполняются. Если не выполняется ни одно из условий, Visual Basic выполняет операторы, стоящие за Else.
Вот синтаксис многострочного оператора If:
If условие Then
операторы
операторы
…………….
[ ElseIf условие Then
операторы
операторы
……………. ]
……………………….….
[ Else
операторы
операторы
……………. ]
End If
Частей ElseIf может быть сколько угодно или совсем не быть. Часть Else, если она есть, то одна и стоит последней.
Имейте в виду, что у вас нет права, экономя место по вертикали экрана, объединять строки многострочного оператора If, например, так:
If условие Then операторы ElseIf операторы
и я вам не советую (а часто вы и не сможете) переносить слова Then, ElseIf и другие со своего законного места, например, так:
If условие
Then операторы
ElseIf операторы
Задание 24: Компьютер спрашивает пользователя, как его зовут, а затем приветствует его в соответствии с именем: Колю - "Привет", Васю - "Здорово", Джона - "Hi", а остальных - "Здравствуйте". Для Васи, кроме этого, он красит форму в зеленый цвет.
Задание 25: Видоизменить диалог с компьютером, начатый в 4.9. Пусть компьютер, узнав возраст человека, дальнейшую беседу ведет по двум вариантам. Если возраст больше 17, то компьютер должен задать вопрос: "В каком институте ты учишься?" и получив ответ, глубокомысленно заметить "Хороший институт". Если же возраст меньше или равен 17, то соответственно - "В какой школе ты учишься?" и "Неплохая школа". После этого, каков бы ни был вариант, компьютер должен попрощаться: "До следующей встречи!".
Дата добавления: 2015-11-16; просмотров: 60 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Случайные величины | | | Вложенные операторы If. Логические операции и выражения |