Оператор If...Then.. Else

Оператор If...Then.. Else – це повний умовний оператор. Його скорочена форма оператор If...Then має наступний синтаксис

If умова Then

оператор

End If

Дія оператора: якщо умова після If істинна, тобто результат дорівнює True, виконується оператор, назначений за Then. Якщо ж результат дорівнює False, то виконується наступний оператор:

If умова Then

Оператор1

Else

Оператор2

End If

Приклад

Private Sub Command1_Click()

a = 6

If a = 7 Then

Print "visual"

Else

Print "basic"

End If

End Sub

Приклад. Упорядкувати числа за спаданням.

Private Sub Command1_Click()

a = Val(Text1.Text)

b = Val(Text2.Text)

c = Val(Text3.Text)

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

Max = a

If b > Max Then Max = b

If c > Max Then Max = c

Print Max

Min = a

If b < Min Then Min = b

If c < Min Then Min = c

If a < Max And a > Min Then Print a

If b < Max And b > Min Then Print b

If c < Max And c > Min Then Print c

Print Min

End Sub

Блоковий синтаксис

If умова1 Then

Оператор 1

ElseIf умова2 Then

Оператор 2

Else

Оператор 3

End If

Приклад. Підрахуємо податок залежно від зарплати.

Private Sub Command1_Click()

Dim z, n As Integer

z = Val(Text1.Text)

If z <= 200 Then

n = z * 0.15

ElseIf z >= 200 And z <= 500 Then

n = z * 0.2

Else

n = z * 0.28

End If

Label3.Caption = Str(n)

End Sub

У принципі блоковий запис надає такі ж можливості, як і однорядковий, але якщо в залежності від умови необхідно виконати не просту команду, а групу операторів, варто використовувати блоковий синтаксис. При формуванні більш складних умов блоковий запис зручніший. Використання в цьому випадку блокового синтаксису покращує читабельність програми.

 

 

30. Оператор Select Case. Призначення. Приклади.

Ще одним оператором розгалуження Visual Basic є Select Case, що дозволяє виконати одну з декількох груп операторів у залежності від значення умови. Інструкція Select Case має наступний синтаксис:

Select Case Перевірочний вираз

Case Значення 1

Оператори 1

Case Значення 2

Оператори 2

Case Else

Оператори З

End Select

Для блоку Case можна вказувати не тільки одне значення (1), але і декілька, розділених комами (2, 3). Можна визначити також області порівняння (4 То 6) або скористатися відносним порівнянням (Is >= 9). Замість безпосереднього перевірочного виразу можна використовувати ключове слово (Is=”3”). Блок Case Else виконується, якщо жодна з попередніх умов не є істинною.

Приклад

Private Sub Command1_Click()

n = Int(Rnd * 10) + 1 {генератор випадкових чисел}

Select Case n

Case 1

Print " internet"

Case 2

Print "Україна"

Case 3

Print "basic"

Case Else

Print "Ivanenko"

End Select

End Sub

 

 

31. Цикли в Visual Basic. Призначення циклів. Приклади.

Для багаторазового виконання одного чи декількох операторів призначені цикли. Visual Basic пропонує двох конструкцій: цикл For... Next, який використовується для виконання визначеної кількості ітерацій, та цикл Do... Loop, що завершується при виконанні заданої умови.

Цикл For.. .Next є найстарішою і найпростішою конструкцією:

For Лічильник = Початкове значення То Кінцеве значення Крок

Оператори

Next Лічильник

На початку виконання циклу значення Лічильник встановлюється рівним Початковому значенню. При кожній ітерації змінна Лічильник збільшується на 1 чи на величину Крок. Якщо вона досягає або стає більше (менше, при від’ємному кроці) Кінцевого значення, то цикл завершується і виконуються наступні оператори. Різниця між початковим і кінцевим значенням, ділена на величину кроку, складає число ітерацій.

Приклад: Роздрукуємо всі числа від 1 до 10.

Private Sub Command1_Click()

For i = 1 To 10

Print i

Next i

End Sub

Для безумовного виходу з циклу використовується оператор Exit For.

Оператор Do...Loop

Якщо кількість ітерацій повинна залежати від умови, використовують цикл Do... Loop. У залежності від позиції умови розрізняють два варіанти циклу Do.. .Loop.

Цикл, з умовою на початку

Dо {While | Until} Умова

Оператори

Loop

Цикл, з умовою наприкінці

Do

Оператори

Loop {While | Until} Умова

Якщо умова перевіряється на початку циклу, то він ніколи не виконується у випадку невиконання умови. Якщо ж перевірка відбувається наприкінці, цикл виконується як мінімум один раз, незалежно від того, виконана умова чи ні. Розглянуті варіанти циклів Do... Loop надають програмісту великі можливості організації повторюваних обчислень.

Оператор While...Wend

У циклі While... Wend послідовність команд виконується доти доки залишається істиною назначена умова.

While Умова

Оператори

Wend

Принцип дії такий, як і циклу Do While.. Loop. Тому замість нього простіше використовувати Do... Loop. Крім того, для циклу While.. .Wend немає оператора дострокового виходу типу Exit.

Private Sub Command1_Click()

While x = True

Print Time

Wend

End Sub

Приклад: Роздрукувати всі тризначні числа сума яких дорівнює 20.

Private Sub Command1_Click()

For i = 1 To 9

For j = 1 To 9

For k = 1 To 9

s = i + j + k

If s = 20 Then Print i; j; k

Next k

Next j

Next i

End Sub

Приклад. Знайти суму членів ряду

 

Private Sub Command1_Click()

s = 1: x = 1

n = 1: y = 0.1

f = 1

e = 0.001 ‘задана точність

While y >= e

For i = 1 To n

f = f * i

Next i

y = x ^ n / f

s = s + y

n = n + 1

f = 1

Wend

Label2.Caption = Str(s)

End Sub