ПОНЯТНО О Visual Basic NET (том 2)

Вложенные операторы If 


Согласно синтаксической схеме оператора If, после Then и Else могут стоять любые операторы VB, а значит и еще один или несколько If.

Решим задачу: В компьютер вводится число (пусть для конкретности это будет дальность какого-нибудь выстрела). Если оно находится в интервале от 28 до 30, то напечатать текст ПОПАЛ, иначе – НЕ ПОПАЛ.

Сначала составим алгоритм: Введи число. Если оно меньше 28, то печатай  НЕ ПОПАЛ, в противном случае надо еще подумать. А о чем же думать? А вот о чем: Если число меньше 30, то печатай  ПОПАЛ, иначе печатай  НЕ ПОПАЛ.

А теперь по составленному алгоритму напишем программу:

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

        Dim a As Double = InputBox("Введите дальность выстрела")

        If a < 28 Then

            MsgBox("НЕ ПОПАЛ")

        Else

            If a < 30 Then MsgBox("ПОПАЛ") Else MsgBox("НЕ ПОПАЛ")

        End If

End Sub

Здесь оператор If a < 30 входит в состав оператора If a < 28. Говорят, что он вложен в него. Естественно, вложенный If вполне и сам может быть многострочным и содержать другие If, вложенные в него. И так далее.

Некоторые программы с вложенными If можно достаточно просто переписать без вложенных If, применяя ветви ElseIf. Вот как мы сделаем это с нашей программой:

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

        Dim a As Double = InputBox("Введите дальность выстрела")

        If a < 28 Then

            MsgBox("НЕ ПОПАЛ")

        ElseIf a < 30 Then

            MsgBox("ПОПАЛ")

        Else

            MsgBox("НЕ ПОПАЛ")

        End If

End Sub



Содержание раздела