Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Понятно о Visual Basic.NET. Самоучитель.Ч2.2005...docx
Скачиваний:
43
Добавлен:
25.11.2019
Размер:
4.02 Mб
Скачать
      1. Правила записи многострочного If

Вот синтаксис многострочного оператора If:

If условие Then

операторы

операторы

…………….

[ ElseIf условие Then

операторы

операторы

……………. ]

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

[ Else

операторы

операторы

……………. ]

End If

Ветвей ElseIf может быть сколько угодно или совсем не быть. Ветвь Else может присутствовать, а может отсутствовать. Если она есть, то одна и стоит последней.

Имейте в виду, что у вас нет права и вы не сможете, экономя место по вертикали экрана, объединять строки многострочного оператора If, например, так:

If условие Then операторы ElseIf операторы

и переносить слова Then, ElseIf и другие со своего законного места, например, так:

If условие

Then операторы

ElseIf операторы

Кое в чем вам могут помочь двоеточия.

Определите без компьютера, что напечатает данная процедура:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim a As Integer = 0

If 3 > 2 Then

a = a + 1

a = a + 2

ElseIf 3 > 2 Then

a = a + 4

End If

a = a + 10

If 3 < 2 Then

a = a + 20

ElseIf 3 > 2 Then

a = a + 40

a = a + 100

Else

a = a + 200

End If

a = a + 500

If 3 < 2 Then

a = a + 1000

ElseIf 3 < 2 Then

a = a + 2000

Else

a = a + 4000

End If

a = a + 8000

Debug.WriteLine(a)

End Sub

Если у вас не сошлось с ответом – это катастрофа, значит вы чего-то не понимаете. В этом случае запустите процедуру в пошаговом режиме, который вам все объяснит.

Компьютер спрашивает пользователя, как его зовут, а затем приветствует его в соответствии с именем: Колю – «Привет», Васю – «Здорово», Джона – «Hi», а остальных – «Здравствуйте». Для Васи, кроме этого, он красит форму в зеленый цвет.

Видоизменить диалог с компьютером, начатый в Error: Reference source not found. Пусть компьютер, выяснив в разговоре имя и возраст человека, дальнейшую беседу ведет по двум вариантам. Если возраст больше 17, то компьютер должен задать вопрос: «В каком институте ты учишься?» и получив ответ, глубокомысленно заметить «Хороший институт». Если же возраст меньше или равен 17, то соответственно – «В какой школе ты учишься?» и «Неплохая школа». После этого, каков бы ни был вариант, компьютер должен попрощаться: «До следующей встречи!». Если хотите, можете запрограммировать продолжение разговора.

      1. Ступенчатая запись программы

Возьмем любую программу и посмотрим, как она записана. Конкретнее – обратим внимание на отступы от левого края листа в записи каждой строки. Не будем рассматривать самые верхние и нижнюю строчки в окне кода, смысла которых мы пока не понимаем. Вот пример бессмысленной программы:

Dim a, b, c

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

a = InputBox("Введите число")

If a > 4 Then

b = 3

Debug.WriteLine(b)

Else

b = 0

a = b + 5

c = 0

End If

b = 5

MsgBox("До свидания!")

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

a = 0

b = 0

End Sub

Операторы Dim вне процедур, а также строки начала и конца процедур записываются с одинаковым минимальным отступом. Мы видим, что верхняя процедура состоит из четырех операторов: а=, If, b= и MsgBox. Все они выполняются по порядку, один за другим, поэтому каждый из них записан с одинаковым отступом. Если оператор сложный, то есть включает в себя другие операторы (мы знаем пока один такой оператор - If), то составляющие его операторы записываются еще правее. Так, у нас операторы b=0, a=b+5 и с=0 входят в состав оператора If и должны выполняться по порядку один за другим, поэтому их отступ слева одинаков и больше, чем у If.

Сделано все это для удобства чтения программы, для того, чтобы глаз мог сразу же уловить структуру программы, а именно, из каких частей состоит как сама программа, так и каждый из элементов, ее составляющих. Впрочем, вам с первого взгляда может показаться, что такая запись, наоборот, неудобна для чтения. Однако, заметьте, что она принята во всем мире и глаза профессиональных программистов привыкли именно к ней. Настолько привыкли, что программа, записанная без соблюдения ступенчатого стиля, вызывает раздражение. VB не позволяет нарушать ступенчатый стиль, а вот более ранние версии Бейсика позволяли, и по его отсутствию сразу же можно было определить, что программу писал любитель.

Конечно, допустимы и некоторые отклонения от ступенчатого стиля. Например, как я уже говорил, несколько коротких похожих операторов вполне можно записать в одну строку:

a=0 : b=0 : c=0 : f=4

Этим мы экономим дефицитное место по вертикали экрана или листа бумаги.