Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual Basic 6.0~02.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.38 Mб
Скачать

Мал. 6.5. Перевищення граничної швидкості. Перевірка умови "менше або рівно"

Іноді вимагається перевірити, що деяка величина менше або рівна (але не більше) іншої величини. Для перевірки цієї умови застосовується оператор <=. Наступний фрагмент показує, як виконуються подібні перевірки:

if x <= 3 Then

MsgBox "x менше або рівне 3"

End If

Ми скористаємося новим оператором в новому варіанті попереднього прикладу. Якщо літак летить занадто повільно, він може увійти до штопора і впасти. Haш датчик швидкості повинен повідомляти пілота про те, що він летить занадто повільно. Продовжимо роботу над прикладом:

1. Відкрийте приклад з попереднього розділу, якщо він не був відкритий раніше.

2. Вставте наступний рядок в секцію(Declarations) форми frmMain:

Private Const VSTALL = 73 ' Мінімальна швидкість

3. Припустимо, ви в даний момент летите і руків'я газу встановлене на 77 відсотків. Відредагуйте процедуру події Form_Load і приведіть її до наступного виду:

Private Sub Form_Load()

vscThrottle.Value = 23

vscThrottle_Change

End Sub

Нарешті, відредагуйте процедуру події Change елементу vscThrottle:

Private Sub vsc_Throttle_Change()

Dim ias As Integer ' Поточна швидкість

' Відстань до верхньої позиції смуги прокрутки

Throttle = 100 - vscThrottle.Value

' Вичислити поточну швидкість за значенням газу

ias = Throttle * 4.5

' Відновити датчик швидкості

lblAirspeed.Caption = "Поточна швидкість: " & _ Trim$(Str$(ias))

' Перевірити поточну швидкість і переконатися, '

що вона не перевищує граничної

If ias >= VNE Then

MsgBox "Зменшити газ"!, vbCritical, "Перевищення швидкості"

End If

' Переконатися, що літак не входить в штопор

If ias <= VSTALLThen

MsgBox "Збільшити газ"!, vbCritical', "Вхід в штопор"!

End If

End Sub

5. Збережете і Запустіть проект. Якщо зменшити газ нижче за порогове значення датчик швидкості видає попередження.

Отже, ви навчилися користуватися різними операторами для ухвалення рішень в програмах. Після знайомства з азами комп'ютерної логіки ми переходимо до наступної теми - як використовувати цю логіку для управління виконанням програми і як приймати прості рішення в додатках.

Ухвалення рішень в програмі

Логіка - лише одна складова "мислячого" застосування. Вам також знадобляться засоби її практичного використання. Наведені в цьому уроці приклади наочно показують, як приймаються рішення в програмах.

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

Оператор If..Then..Else є простою, але і найпоширенішою формою перевірки умов в Visual Basic. Його скорочена форма - оператор If..Then - має наступний синтаксис:

If Выражение1 Оператор Вираження 2 Then

' Виконати деякі дії

End If

В даному прикладі Оператор може бути будь-яким з операторів, розглянутих раніше,: AND, OR, =, <>і т. д. Выражение1 і Выражение2 - змінні або константи, що допускають порівняння цим оператором. Наприклад, порівняння рядків виконується таким чином:

PIN = "123456"

If PIN = "123456" Then

MsgBox "Вірне значення PIN"

End If

В цьому випадку PIN порівнюється із заздалегідь відомим значенням, "123456". Якщо умова істинна, на екран виводиться повідомлення.

Іноді ми реагуємо лише на виконання умови, але частіше доводиться обробляти і протилежну ситуацію. Для обробки протилежних ситуацій використовується оператор Else. Синтаксис виглядає так:

If Выражение1 Оператор Вираження 2 Then

Виконати деякі дії

Else

Виконати інші дії

End If

Усе, що вам доведеться зробити, - включити секцію Else після першого виконуваного блоку. Потім наступний виконуваний блок розміщується між ключовими словами Else і End If. У нім виконуються дії для умови, протилежної до того, що перевіряється. У попередньому прикладі це виглядало б так:

PIN = "654321"

If PIN = "123456" Then

MsgBox "Вірне значення PIN"

Else

MsgBox "невірне значення PIN"!

End If

Отже, тепер ви знаєте, як обробити умову і виключення з нього. Цей корисний прийом допоможе зменшити кількість помилок в програмі. Якщо вам потрібно буде вичислити декілька умов, оператор If..Then..Else можна помістити усередині іншого оператора (вкладена перевірка). Вкладені оператори If..Then дозволяють виконати серію перевірок в певному порядку. Наприклад:

If ValidUserID(UserID) Then

If ValidPassword(UserID, Password) Then

MsgBox "невірний пароль"!

Else

MsgBox "Користувач зареєстрований"!

End If

Else

MsgBox "невірне ім'я користувача"!

End If

Спочатку ми перевіряємо, що користувач ввів правильне ім'я. Перевірка виконується функцією ValidUserID(). Якщо функція повертає True (правильне ім'я), програма переходить до перевірки пароля. Інакше вона сповіщає користувача про те, що він ввів невірне ім'я.

Якщо функція ValidPassword() повертає True, користувачеві дозволяється увійти до системи. Інакше спроба реєстрації завершується невдачею. Вкладені оператори If..Then можна створити і іншим способом - за допомогою конструкції ElseIf:

If x = 1 Then

Виконати деякі дії

ElseIf x = 2 Then

' Виконати інші дії

End If

Вибір між цими конструкціями - питання смаку і/або звички. Обидва способи працюють однаково добре.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]