- •Застосування мови
- •Visual Basic щодо розв’язування фахових задач
- •Верстка макету: Салипа л.М.
- •1 Інтегроване середовище visual basic
- •1.1 Практична робота №1 (Project 1)
- •1.2 Практична робота № 2 (Project 2)
- •2 Основи проектування додатків
- •2.1 Етапи проектування задач
- •2.2 Алгоритмізація задач
- •Елемента одновимірного масиву
- •3 Особливості проектування vb-програм
- •3.1 Об’єкти та їх властивості
- •3.2 Методи
- •3.4 Синтаксис мови vb
- •3.5 Типи даних
- •3.6 Кодування блоків алгоритму
- •3.6.1 Оператор присвоювання
- •3.6.2 Оператор введення-виведення інформації
- •3.6.3 Оператори переходу
- •3.6.4 Оператори циклів
- •4. Виконання програми
- •4.1 Проектування кнопки та написання тексту програми
- •4.2 Приведення програми до читабельного вигляду
- •4.3 Технологія друкування
- •4.4 Оформлення звіту
- •Література
- •Додаток а Завдання для ргр
- •1 Інтегроване середовище visual basic 3
3.6.3 Оператори переходу
В мові VB є можливість здійснювати перехід в будь-який фрагмент програми з допомогою оператора
GOTO <мітка>
<Мітка> може бути цілим числом або ідентифікатором, який проставляється на початку рядка. В одній програмній одиниці мітки не повинні повторюватись:
A = B + C
Goto 25
ABC Print X
……
25 C$ = 45
В даному фрагменті після оператора A = B + C відбувається безумовний перехід по мітці 25. Наступний після оператора Goto повинен бути обов’язково поміченим для передачі управління на нього з іншої ділянки програми (інакше він і подальший оператори ніколи не будуть виконані).
Якщо в програмі потрібно реалізувати розгалужені обчислювальні процеси, застосовують оператор IF (якщо). Цим оператором кодуються блоки “Рішення”. В залежності від структури блок-схеми алгоритму можуть бути такі варіанти побудови оператора IF:
I
а)
Якщо <умова> істинна, виконується оператор S, а потім наступний оператор програми. Якщо ж <умова> буде хибною, оператор S буде проігнорованим і відразу буде виконуватись наступний оператор програми.
Приклад:
If X>0 Then Print “Значення lnX=”; log(x)
б)
If <умова> Then <оператор S1> Else <оператор S2>
При істинності <умови> виконується оператор S1, а при хибності – S2, а потім наступний оператор в програмі.
If X>0 Then Print “LOG(Х)=”;log(X) Else Print “Число ”;X;“ логарифма не має”
в)
Якщо оператори S1 та S2 являються довгими або складеними із декількох операторів, то оператор If реалізують як блоковий.
If <умова> Then
<Блок операторів 1>
[ Else
<Блок операторів 2> ]
Endif
<Блок операторів 2> взятий в квадратні дужки. Це означає, що він в даній структурі не є обов’язковим.
If X>0 Then
? “Логарифм Х=”; log(X)
Else
? “Число ”; X; “ немає логарифму”
Endif
Можна навести такий приклад використання блокового If для визначення натискання відповідної кнопки діалогового вікна функції MsgBox. Якщо MsgBox запускався з кодом 4, то визначення по якій із кнопок клацнути закриваючи вікно, можна так:
If MsgBox (“Вирахувати?”, 4, “Вікно 3”)=6 Then
< Щось там вираховуємо >
Else
< Повідомляємо, що нічого не виконується >
Endif
г)
Якщо обчислювальний процес вимагає перевірки не однієї умови, а декілька, то застосовують вкладені оператори If. В цьому випадку в блоці операторів 1 (рідше 2) застосовують знову оператор If.
If <умова 1> Then
<блок S1>
Else If <умова 2> Then
<блок S2>
………
Else If <умова n> Then
<блок Sn>
[Else
<блок Sk>]
Endif
При значенні <умови 1> True виконується блок операторів S1, а потім наступний після Endif оператор. Якщо ж значення <умови 1> буде хибним (False), будуть перевірятися подальші умови фрагмента. Якщо всі умови будуть хибними, то буде виконуватись необов’язковий блок операторів Sk.
Аналогічним по принципу дії є оператор Select Case, який має такий синтаксис:
Select Case <тест>
Case <значення 1>
<Блок S1>
Case <значення 2>
<Блок S2>
………
Case <значення n>
<Блок Sn>
[Else
<Блок Sk> ]
End Select
Параметр <тест> буде порівнюватися послідовно з <значеннями>. В тому випадку, якщо це порівняння буде істинним, виконається відповідний блок операторів, а потім оператор, що записаний після End Select.
Параметри <значення > можуть мати дискретні представлення, списки, діапазони, а також оператори порівняння.
Наведемо приклади застосування цих операторів. Знайдемо складну функцію, яка залежить від цього аргументу так:
Блоковий If:
If X<0 Then
? “Функція не визначена”
Else If X=1 and X=2 and X=3 and X=4 Then
Print “Y=”; log(X)
Else If X>4 and X<11 Then
Print “Y=”; 2*log(X)+5
Else If X>10 Then
Print “Y=”; 7*log(X)-5
EndIf
Оператор Case:
Select Case X
Case Is<0 ‘ Оператор порівняння
? “Функція не визначена”
Case 1,2,3,4 ‘ Список
Y=log(X)
Case 5 To 10 ‘ Діапазон
Y=2*log(X)+5
Case Is>10 ‘ Оператор порівняння
Y=7*log(X)-5
EndSelect
Print “Значення Y=”;Y