Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
44
Добавлен:
27.04.2015
Размер:
662.15 Кб
Скачать

4.4.2. Средства программирования разветвляющихся структур

Разветвляющимися алгоритмическими струк­тураминазываются такие структуры, в которых порядок выполнения блоков операторов определяется значе­ниями логических выражений. Разветвляющийся алгоритм может состоять из нескольких ветвей, каждая из которых может содержать любую, сколь угодно сложную, алгоритми­ческую структуру. В процессе работы разветвляющегося алгоритма в первую очередь вычисляютсялогиче­ские выражения L (частнымслучаем логического выражения является логическая переменная или константа). Если результат вычисления логического выражения принимает значениеTrue (Истина),то выполняется часть алгоритма, расположенная по ветви «Да», если значение –False (Ложь), то – по ветви«Нет».

В VB определен логический тип данных Boolean. Например, описание переменной

Dim L As Boolean

Такая переменная L может иметь одно из двух значений:True илиFalse. Причем при преобразовании числовых типов в логический тип значение0преобразуется вFalse, а все другие значения вTrue.Например:

Dim f As Double = 6.8

L = CBool(f)в результатеL = True

f=0

L = CBool(f)в результатеL = False

Логическое выражениеможет содержать либо простое, либо сложное условие.

Простое условие– это два арифметических или строковых выражения, связанных операцией отношения.

Операции отношения (сравнения) приведены в табл. 4.4.2-1.

Таблица 4.4.2-1

Операции отношения

Значение

=

Равно

<

Меньше, чем

>

Больше, чем

<=

Меньше или равно

>=

Больше или равно

<>

Не равно

В таблице 4.4.2-2 приведены примеры простых логических выражений.

Таблица 4.4.2-2

Логическое выражение

Результат

5 < 10

True, так как 5 меньше 10

5 > 10

False, так как 5 не больше 10

7 <> 3

True, так как 7 не равно 3

X > 45

True, еслиXбольше 45; в противном случаеFalse

TextBox1.Text=''Stop''

True,если в первом текстовом поле содержится слово ''Stop''; в противном случаеFalse

5-1 > 1+2

True,так как в начале вычисляется разность 5-1 (4),

затем вычисляется сумма 1+2 (3) и наконец, проверяется условие 4 > 3,т.е. 4 больше 3

X >= y +z

True, еслиXбольше или равно сумме значений переменныхyиz; в противном случаеFalse

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

Кроме того, приоритет операций отношения ниже, чем приоритет арифметических операций, поэтому операции сравнения выполняются после арифметических операций.

Сложное условие,в отличие от простого условия, содержит логические (булевы) операции, приведенные в табл. 4.4.2.3 порядке убывания приоритета. К таким операциям относятся:отрицание (Не)–Not,логическое умножение (И)–And,логическое сложение (ИЛИ)–Or,исключающее ИЛИ–Xor.

Таблица 4.4.2-3

Логические операции

Значение

Not

Преобразует значение True вFalse и наоборотFalse вTrue

And

Для того чтобы сложное условие было истинным, истинными должны быть все входящие в его состав условия

AndAlso

Действует подобно оператору And, но проверка производится быстрее

Or

Сложное условие истинно, если истинно хотябы одно из составляющих его условий

OrElse

Действует подобно оператору Or,но проверка производится быстрее

Xor

Для того чтобы сложное условие было истинным, истинным должно быть только одно из его составляющих

Например, выражение Not7<9всегда прини­мает значениеFalse, а4>3 And 7<9 принимает значениеTrue.

В табл.4.4.2-4 приведено описание логических операций (таблица истинности). Здесь T (true)– “Истина”, аF (false)–“Ложь”.

Таблица 4.4.2-4

Значения операндов

Not x

X And y

X Or y

x Xor y

X

Y

T

T

F

T

T

F

T

F

F

F

T

T

F

T

T

F

T

T

F

F

T

F

F

F

 

Разветвляющиеся алгоритмические структуры (рис. 2.3.2-2 – 2.3.2-5) в языках программирования реализуются операторами условного перехода.

В VB для реализации условных переходов используются три типа операторов:однострочный If,блочный If иоператор выбора Select Case.

Однострочный оператор If имеет следующий формат:

 

If L Then оператор(ы) [Else оператор(ы)]

 Порядок выполнения конструкции следующий: если значение логического выражения L равноTrue,то выполняется оператор (или операторы), стоящий послеThen, в противном случае выполняются операторы, стоящие послеElse. В оператореIfконструкцияElseможет от­сутствовать (в формате она взята в квадрат­ные скобки), такое разветвление называетсяусеченным.

Особенностью однострочного оператора Ifявляется то, что он должен располагаться в одной строке программы.

Приведем примеры записи однострочного оператора If:

If x > 0 Then y=Sqrt(x) Else y = 1

If d Then epsilon = 0.001

If lambda < 1 Or beta = 3 Then lambda = beta : x=0

If x < 10 Then y=1 Else If x < 100 Then y = 2 Else y = 4

Если запись оператора не умещается в пределах экрана, а также при программировании вложенных разветвлений, используется многострочный оператор (блочный оператор) If. Он имеет следующий формат:

If L1 Then [ блок_операторов_1 ] [ElseIf L2 Then [ блок_операторов_2 ] . . . [Else [ блок_операторов_n ] ] End If 

Порядок и правила выполнения конструкции многострочного оператора If следующий:

  • если значение L1 равноTrue, то выполняетсяблок_операторов_1и далее управление передается оператору, следующему послеEnd If.

  • если значение L1 равноFalse, то проверяется значение следующего выражения и так далее.

  • после выполнения любого блока оператора Ifуправление передается оператору, следующему послеEnd If.

  • оператор Ifможет содержать несколько конструкций типаElseIf.

  • блок_операторов, следующий за словомElse,выполняется в том случае, если последовательные проверки всех выражений выше имеют значениеFalse.

  • конструкции ElseIf иElseмогут отсут­ствовать, что и отмечается в синтаксисе оператора квадратными скобками.

  • в многострочном операторе IfсловоThenдолжно быть последним в строке, а словоElse – единственным.

  • слово ElseIf записывается слитно, а словаEnd If–через пробел.

Примеры блочных операторов If:

If x>0 Then

y =Sqrt(x)

z=1+y

p=4

End If

If x < 10Then     y=1

ElseIf x < 100 Then      y=2

ElseIf x < 1000 Then   y=3

Else     y=4

End If

Считается хорошим тоном выделять структуру операторов отступами, как это сделано в приведенных выше примерах. Это сделает ваши программы "читабельными", т.е. в них будет легче разо­браться.

Пример 4.4.2-1. Написать процедуры ввода/вывода, которые будут использоваться в алгоритмах разветвляющихся структур в примере 4.4.2-2.

Требуемыми процедурами являются процедуры vvodDbl1( )иvivodDbl1( )ввода и вывода данных типаDoubleв текстовые поля, процедурыvvodSng3( ) иvivodSng3( )ввода и вывода данных типаSingleв текстовые поля и процедурыvvodInt4( )иvivodInt4( )ввода и вывода данных типаIntegerв текстовые поля.

Процедуры vvodDbl1( ), vivodDbl1( ), vvodSng3( )иvivodSng3( )приведены в Теме 4.3, а процедурыvvodInt4( )иvivodInt4( )представлены на рис. 4.4.2-5 и 4.4.2-6.

'процедура-Function ввода данных типа Integer из текстового поля TextBox

Function vvodInt4(ByVal T As TextBox) As Integer

Return CInt(T.Text)

End Function

Рис. 4.4.2-5

'Процедура-Sub вывода данных типа Integer в TextBox

Sub vivodInt4(ByVal Z As Integer, ByVal T As TextBox)

T.Text = CStr(Z)

End Sub

Рис. 4.4.2-6

Пример 4.4.2-2. Дополнить проект Пример 4.3.4-3 из Темы 4.3, предусмотрев в нем проверку исходных данных.

По результату проверки исходных данных программа должна выдавать предупреждающее сообщение, если вводятся значения сторон треугольника, при которых треугольник не существует.

Для того чтобы можно было построить треугольник, необходимо и достаточно выполнения следующих неравенств (здесь A, B и С – длины сторон треугольника, & - операция логического умножения И (AND)): (А+В>С)& (А+C>В) &( В+C>А).

Откроем проект Пример 4.3.4-3и внесем в него изменения, перестроив структуру всей программы, разбив ее на соответствующие процедуры (рис. 4.4.2-7).

Option Strict On

Option Explicit On

Imports System.Math

Public Class Form1

Function vvodSng3(ByVal T As TextBox) As Single

Return CSng(Val(T.Text))

End Function

Sub vivodSng3(ByVal Z As Single, ByVal T As TextBox)

T.Text = CStr(Z)

End Sub

Sub PS(ByVal A As Single, ByVal B As Single, ByVal C As Single, _

ByRef P As Single, ByRef S As Single)

Dim Pp As Single

P = (A + B + C) : Pp = P / 2

S = CSng(Sqrt(Pp * (Pp - A) * (Pp - B) * (Pp - C)))

End Sub

Sub PSPr(ByVal A As Single, ByVal B As Single, ByVal C As Single)

Dim P As Single, S As Single

If (A + B > C) And (B + C > A) And (C + A > B) Then

PS(A, B, C, P, S)

vivodSng3(P, TextBox4)

vivodSng3(S, TextBox5)

Else

MsgBox("Ошибка!"& vbNewLine & _

"Сумма двух сторон треугольника"& _

" должна быть больше третьей.")

TextBox1.Text = "" 'Очистка текстовых полей.

TextBox2.Text = "" 'Очистка текстовых полей.

TextBox3.Text = "" 'Очистка текстовых полей.

TextBox1.Focus() 'В фокусе оказывается текстовое поле

'для(ввода)значения стороны А (в нем будет мигать курсор),

'после чего можно повторить ввод

End If

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Button1.Click

Dim A, B, C As Single

A = vvodSng3(TextBox1)

B = vvodSng3(TextBox2)

C = vvodSng3(TextBox3)

PSPr(A, B, C)

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Button2.Click

End

End Sub

End Class

Рис. 4.4.2-7

В окне функции MsgBox( ) текст сообщения выводится в две строки. Для перевода на новую строку используется текстовая константа vbNewLine.

VB предлагает две дополнительные логические операции, ко­торые используются в логических выражениях: AndAlso и OrElse. Эти операции работают точно так же, как And и Or соответственно, но есть отличие, которое состоит в том, как они вычисляются (используется термин «закорачивание»).

Рассмотрим оператор If, который содержит два условия, связанные операцией AndAlso. Для того чтобы выполнились операторы конструк­ции If, необходимо, чтобы оба условия были равны True. Если первое условие равно False, то VB немедленно перейдет к следующей строке или оператору Else, не проверяя второго условия. Такое частич­ное – или укороченное – вычисление оператора If имеет следующий логический смысл – зачем продолжать проверять условия оператора If, если оба условия уже не могут быть равны True?

Операция OrElse работает аналогичным образом. Рассмотрим опера­тор If, который содержит два условия, связанные операцией OrElse. Для того чтобы выполнились операторы конструкции If, необходимо, чтобы хотя бы одно из условий было равно True. Если первое условие равно True, то VB немедленно перейдет к выполнению операторов в конструкции If, не проверяя второго условия.

Рассмотрим пример такой ситуации в VB. Это простая про­цедура, которая использует оператор If и операцию AndAlso, в которой проверяются два условия и отображается сообщение «внутри If» при условии, что оба условия равны True:

Dim Number As Integer = 0

If Number = 1 AndAlso MsgBox("Вторая проверка условия") Then

MsgBox("Внутри If")

Else

MsgBox("Внутри Else")

End If

Функция MsgBox( ) используется как вторая проверка условия, что не­сколько необычно, но данная запись полностью корректна и дает прекрасную возможность увидеть в деталях, как работает «закорачива­ние». Текст «Вторая проверка условия» появляет­ся в окне сообщения только тогда, когда переменная Number равна 1, в противном случае операция AndAlso обходит оператор If, и вторая часть условия не вычисляется. Обратите внимание, что этот код предназначен только для демонстрации - использовать MsgBox( ) такой записи не имеет смысла потому, что на самом деле она ничего не проверяет. Но, изменяя значение переменной Number с 0 на 1 и обратно, можно представить, как работает операция AndAlso и происходит обход про­верки условий.

Рассмотрим второй пример того, как работает «закорачивание». В следующем примере два условия проверяются с помощью операции AndAlso. Здесь после операции AndAlso записано более сложное условие (7 / HumanAge<= 1), которое пересчитывает возраст человека в число собачьих жизней:

Dim HumanAge As Integer

HumanAge = 7

' Один год для собаки - это семь лет для человека

If HumanAge <> 0 AndAlso 7 / HumanAge <= 1 Then

MsgBox("Вам, как минимум, один «собачий год» " )

Else

MsgBox("Вам менее одного «собачьего года»" )

End If

Программа делит возраст человека на 7, а процедура пытается определить, содержит ли цело­численная переменная HumanАgе значение, не меньшее 7. Этот код в операторе If использует два условия. Первое условие проверяет, не равно ли значе­ние переменной HumanАgе нулю. Второе условие проверяет, равен ли возраст человека, по крайней мере, семи. Если оба условия имеют значение True, то в окне сообщения отобража­ется сообщение «Вам, как минимум, один «собачий» год». Если человеку меньше семи лет, то отображается сооб­щение «Вам менее одного «собачьего» года».

Теперь представьте, что изменилось значение переменной HumanАge с 7 на 0. Что при этом происходит? Компилятор VB определяет, что первое условие оператора If становится равным False, и это отменяет проверку второго условия (т.е. предот­вращает его вычисление), тем самым, останавливая, или «закорачивая», оператор If и уберегая нас от ужасной ошибки «деление на ноль», которая возникла бы, если бы мы разделили 7 на 0 (новое зна­чение переменной HumanАgе).

В качестве резюме можно сказать, что операции AndAlso и OrElse в Visual Basic открывают перед программистами несколько новых возможностей, включая предотвращение потенциальных ошибок времени выполнения и других неожиданных результатов. Кроме того, они дают возможность увеличения производительности путем размещения усло­вий, требующих для своего вычисления большого количества времени. Однако, пользователю следует тщательно продумывать все возможные последствия, с которыми могут столкнуться операторы If при изменении со­стояния переменных.

Рассмотрим условную конструкцию Select Case.

Конструкция Select Case аналогична конструкции If...Then, но она более эффективна в тех ситуациях, когда ветвление за­висит от одной ключевой переменной. Конст­рукцииSelect Caseможно также использовать и для того, чтобы сделать код программы более читабельным.

Оператор Select Caseпозволяет осуществить разветвление по любому фиксированному числу ветвей. Он имеет следующий формат:

Select  Case выражение Case  тест_1 [блок_операторов_1] [Case тест2 [блок_операторов_2] ] 

. . . [Case Else [блок_операторов_n] ]

End Select

Здесь выражение - арифметическое или строковое, атест_i может иметь форму:

выражение [, выражение . . .]

выражение  To  выражение

Is  операция_отношения  выражение

 Например, Caseмогут содержать следующие тесты:

Case Is  >3 ' проверка на превышение значения 3;

Case  x^2  'проверка на равенство значению выражения;

Case  5 To 7  ' проверка на принадлежность отрезку [5,7];

Case  1 To 4,  7  To 9,  11, 13,  Is > Max

 В последнем примере через запятую перечисляются несколько тестов, при этом результат проверки выражения считается ис­тинным, если выполняется, хотя бы один тест.

Порядок выполнения оператора Select Caseследующий: если значениевыражения удовлетворяеттесту, расположенному после конструк­цииCase, то выполняется данныйблок_операторов, а затем управление передается оператору, следующему после конструкцииEnd Select.В противном случае проверяется следующийтести так далее. Все конструкцииSelect Case рабо­тают аналогично.Блок_операторов, расположенный послеCase Else,выполняется в том случае, если последовательные проверки всехтестоввыше дали значе­ниеFalse (т.е. ни один тест не выполнился).

Оператор имеет следующие особенности: тест1,тест2и так далее должны быть последними в строке, а конструкцияCase Elseдолжна быть единственной в строке.

Следующий пример показывает, как конструкция Select Case исполь­зуется в программе для печати нужного сообщения о возрасте и куль­турных вехах в жизни человека. Если переменная Age содержит значе­ние 18, то в свойство Text объекта надписи записывается строка «Теперь вы можете участвовать в выборах!».

Dim Age As Integer= 18

Select Case Age

Case 16

Label1.Text="Теперь Вы можете водить машину!"

Case 18

Label1.Text="Теперь Вы можете участвовать в выборах!"

Case 21

Label1.Text="Теперь Вы можете еще кой-чего."

Case 65

Label1.Text="Пора уходить на пенсию."

End Select

Также конструкция Select Case поддерживает оператор Case Else, который может использоваться для отображения сообщений, если ни одно из предшествующих значений не совпадает со значением переменной Аgе.

Dim Age As Integer

Age = 25

Select Case Age

Case 16

Label1.Text = " Теперь Вы можете водить машину!"

Case 18

Label1.Text =" Теперь Вы можете участвовать в выборах!"

Case 21

Label1.Text=" Теперь Вы можете еще кое-чего"

Case 65

Label1.Text=" Пора уходить на пенсию"

Case Else

Label1.Text=" У Вас замечательный возраст! Наслаждайтесь им!"

End Select

Чтобы включить в конструкцию Select Case диапазон проверяемых зна­чений, можно использовать операции отношения =, <>, >, <, >= и <=. Чтобы использовать опе­рации отношения, требуется включить в оператор ключевое слово Is или ключевое слово То, определяющие производимое сравнение. Ключевое слово Is говорит компилятору о том, что требуется сравнить переменную с выражением, указанным после ключевого слова Is. Ключевое слово То определяет диапазон значений. Следующая конструкция использует Is, То и несколько операций отношения для того, чтобы проверить значе­ние переменной Age и отобразить одно из пяти сообщений:

Select Case Age

Case Is< 13

Label1.Text=" Наслаждайтесь детством!"

Case 13 To 19

Label1.Text =" Наслаждайтесь юностью!"

Case 21

Label1.Text =" Теперь Вы можете еще кое-чего"

Case Is> 100

Label1.Text =" Здорово выглядите!"

Case Else

Label1.Text =" Отличный возраст."

End Select

Если значение переменной Аgе меньше 13, отображается сообщение «Наслаждайтесь детством!». Для возраста от 13 до 19 лет отображается сообщение «Наслаждайтесь юностью!» и так далее.

Условная конструкцияSelect Caseобычно гораздо яснее, чем конст­рукция If...Then, и более эффективна, в случае если в зависимости от значения или свойства перемен­ной следует образовать три или более ветвей программы. Однако когда делается два или менее сравнений или когда используется несколько различных значений, то лучше использовать условную конструкцию If...Then.

В следующем примере вы увидите, как использовать структуру Select Case для обработки ввода из поля списка. Для получения ввода будут использоваться свойства ListBox1.Text и ListBox1.Selected.IndexChanged, а затем для отображения приветствия на одном из четы­рех языков будет использоваться конструкция Select Case.

Пример 4.4.2-3. Создать проект, использующий конструкции Select Case для обработки и выбора данных из списка.

  1. Выполнить команду Создание проекта (New Project) элемента главного меню Файл (File).

На экране появится диалоговое окно Создание проекта (New Project).

  1. Создайте новый проект с именем Select Case. В окне Конструктор (Designer) появится пустая форма.

  2. В окне Панель элементов (ToolBox) щелкните на элементе управления Label1, а затем нарисуй­те в верхней части формы надпись, которая будет отображать название программы.

  3. Используя элемент управления Label, создайте второй объект надписи ниже первого. Эта надпись будет использоваться как заголовок списка.

  4. Щелкните в окне Панель элементов (ToolBox) на элементе управления ListBox и ниже второй надписи отобразите поле списка.

  5. Используя элемент управления Label, ниже поля списка нарисуйте еще одну небольшую надпись для отображения вывода программы.

  6. Используйте элемент управления Button и создайте в нижней части формы небольшую кнопку.

  7. Откройте окно Properties, а затем для только что созданных объектов установите свойства, показанные в табл. 4.4.2-5.

Таблица 4.4.2-5

Объект

Свойство

Значение

Form1

Text

Пример 4.4.2-3

Label1

Font

Times New Roman, Bold (Жирный), 12-point (12 пунктов)

Name

Label1

Text

Международная программа приветствия

Label2

Name

Label2

Text

Выберите страну

Label3

AutoSize

False

BorderStyle

Fixed3D

ForeColor

Red(Красный)

Name

Label3

Text

(пусто)

ListBox1

Name

ListBox1

Button1

Name

Button1

Text

(Выход)

После окончания установки свойств форма должна выглядеть при­мерно так, как показано на рис. 4.4.2-8.

Рис. 4.4.2-8

  1. Дважды щелкните мышью на форме.

В окне Редактор кода (Code Editor) появится процедура события Form1_Load().

  1. Для инициализации списка необходимо ввести следующий код программы:

ListBox1.ltems.Add("England" )

ListBox1.ltems.Add("Germany" )

ListBox1.ltems.Add("Mexico" )

ListBox1.ltems.Add("ltaly" )

Для добавления элементов в список на форме эти строки используют метод Add() объекта списка ListBox.

  1. Чтобы переключиться обратно в окно Конструктора форм (Designer),необходимо щелкнуть на вкладке Form1.vb [Design] в верхней части окна Редактор кода (Code Editor), а затем дважды щелк­нуть мышью на объекте списка ListBox1 на форме, чтобы отредактировать его процедуру события.

В окне Редактор кода (CodeEditor) появится процедура события ListBox1_SelectedIndexChanged( ).

  1. Для обработки выбора, сделанного пользователем в списке, необходимо ввести следующие строки:

Label3.Text = ListBox1.Text

Select Case ListBox1.Selectedlndex

Case 0

Label3.Text ="Hello, programmer"

Case 1

Label3.Text ="Hallo, programmierer"

Case 2

Label3.Text ="Hola, programador"

Case 3

Label3.Text ="Ciao, programmatore"

End Select

Первая строка копирует имя выбранного элемента списка в свойство Text третьей надписи формы. Наиболее важным свойством, использованным в этом опе­раторе, является свойство ListBox1.Text, которое содержит текст элемента, выбранного в списке. Остальные операторы являются час­тью условной конструкции Select Case. Эта конструкция в качестве проверяемой переменной использует свойство ListBox1.SelectedIndex, сравнивая его с несколькими значениями. Свойство SelectedIndex всегда содержит номер выбранного элемента списка; самый пер­вый элемент имеет номер 0 (ноль), второй элемент имеет номер 1, следующий – 2 и так далее. Используя Selectedlndex, конструкция Select Case может быстро определить, какой выбор сделал пользова­тель, и отобразить на форме правильное приветствие.

  1. Снова отобразить форму и дважды щелкнуть мышью на кнопке Выход (Button1).

В окне Редактор кода (Code Editor) появится процедура события Button1_Click( ).

В этой процедуре события введите оператор End (рис. 4.4.2-9).

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, _

ByVal e As System.EventArgs) _

HandlesMyBase.Load

ListBox1.Items.Add("England")

ListBox1.Items.Add("Germany")

ListBox1.Items.Add("Mexico")

ListBox1.Items.Add("Italy")

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) _

Handles Button1.Click

End

End Sub

Private Sub ListBox1_SelectedIndexChanged(ByVal sender _

As System.Object, ByVal e As System.EventArgs) _

Handles ListBox1.SelectedIndexChanged

Label4.Text = ListBox1.Text

Select Case ListBox1.SelectedIndex

Case 0

Label4.Text = "Hello, programmer"

Case 1

Label4.Text = "Hallo, programmierer"

Case 2

Label4.Text = "Hola, programador"

Case 3

Label4.Text = "Ciao, programmatore"

End Select

End Sub

End Class

Рис. 4.4.2-9

  1. Чтобы сохранить изменения, щелкните на кнопке Сохранить все (SaveAll) на стандартной панели инструментов. В качестве места сохранения укажите соответствующую папку.

  2. Чтобы запустить программу, щелкните на кнопке Начать отладку (Start Debugging), расположенной на стандартной панели инструментов.

  3. В списке Выберите страну щелкните на каждом из названий стран.

Для каждой из перечисленных стран программа отображает привет­ствие. Иллюстрация

на рис. 4.4.2-10 показывает при­ветствие для Италии.

Рис. 4.4.2-10

  1. Чтобы остановить программу, щелкните на кнопке Выход. Программа остановится, и вернется среда разработки.

В начале этой темы мы обсуждали события, на которые могут реагировать программы, написанные на Visual Basic, теперь вы узнали, как управлять различными типами событий с по­мощью условных конструкций If и Select Case.

Соседние файлы в папке Учебное_пособие-Раздел4-Информатика-270100з