Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11 Операт мови VBA та прогр типов обч процес.doc
Скачиваний:
10
Добавлен:
16.02.2016
Размер:
245.76 Кб
Скачать

П

Select Case <керуюча змінна>

Case<список1>

<блок операторів 1>

Case<список2>

<блок операторів 2>

Case <список3>

<блок операторів 3>

……………………..

Case<список n>

<блок операторів n>

[Case Else

<блок операторів гілки Else>]

End Select

овний формат оператораSelect Case такий:

де <керуюча змінна> - вираз або змінна числового або стрічкового типу, значення якої порівнюється зі значеннями констант такого ж типу, які наводяться у списках;

<список1>, <список2>, …, <списокn> - список констант, відкритих або закритих інтервалів;

<блок операторів 1>, <блок операторів 2>, …, <блок операторів гілкиElse> - один або більше допустимих у мові VBA операторів.

Щодо формату значень списків, то він може бути досить гнучким. У таблиці 15.4 Наведені можливі варіанти списків значень.

Табл.15.4. Варіанти списків значень оператора Сase

Список Сase

Елементи списку

25

Одна константа

1, 3, 5, 7

Чотири константи

1, 3, 5, 7 To 9, 11

Чотири константи та закритий інтервал

“Луцьк”

Одна стрічкова константа

3, 5, Is > 7

Три константи та відкритий інтервал

Is < 0, 0, 1, 3, 5 To 7, Is >10

Три константи два відкритих і один закритий інтервали

Під час виконання оператора Select Case спочатку обчислюється значення елемента <керуюча змінна>, якщо він заданий числовим виразом. Це значення порівнюється зі значеннями констант, наведених у списку <список1>. У випадку, коли значення керуючої змінної співпаде з одним із значень елемента <список1>, виконуються оператори блоку <блок операторів 1>, і на цьому робота оператора закінчується. Якщо ж значення керуючої змінної не співпаде з жодним із значень елемента <список1>, комп’ютер переходить до порівняння значення керуючої змінної зі значеннями констант, наведених в елементі <список2> і т.д. Якщо ж значення керуючої змінної не співпаде з жодним із значень усіх списків, виконуються оператори <блок операторів гілки Else >, якщо гілка Else є, або відбувається остаточний вихід з оператора Select Case.

11.7. Програмування розгалужених обчислювальних процесів з використанням оператора Select Case

Формулювання задачі. Скласти підпрограму обчислення значення складної функції, наведеної в розділі 11.5, за допомогою оператора Select Case.

Нижче наведено програмний код розв’язування даної задачі.

Sub Select_Case()

'Завдання. Дано аргумент функції x.

'Необхідно обчислити:

'значення складної функції y, яка задана виразами:

'x^2-3*x+1, якщо x<-2;

'sin(3*x)^2*log(abs(2*x-1))/log(3), якщо -2=<x=<3;

'x^2+5*x+1, якщо 0<x<2;

'2^(-x), якщо x>=2;

Dim x, y As Single

x = Val(InputBox("Введіть значення аргумента x!"))

Select Case x

Case Is < -2

y = x ^ 2 - 3 * x + 1

Case -2 To 0

y = Sin(3 * x) ^ 2 * Log(Abs(2 * x - 1)) / Log(3)

Case 0.0000001 To 1.9999999

y = x ^ 2 + 5 * x + 1

Case Else

y = 2 ^ (-x)

End Select

MsgBox "x=" & Format(x, "0000.00") & " y=" & _

Format(y, "0000.00")

End Sub

11.8. Оператор циклу ForNext

Оператор циклу ForNext має такий формат:

For <параметр циклу> = <поч знач парам циклу> To <кін знач парам циклу> [Step <крок> ]

<блок операторів 1>

[Exit For]

<блок операторів 2>

Next [<параметр циклу > ]

де <параметр циклу> - проста змінна числового типу, яка є параметром циклу;

<поч знач парам циклу> - константа, проста змінна або вираз того ж типу, що і параметр циклу і значення якого визначає початкове значення параметра циклу;

<кін знач парам циклу> - константа, проста змінна або вираз того ж типу, що і параметр циклу і значення якого визначає кінцеве значення параметра циклу;

<крок> - константа, проста змінна або вираз того ж типу, що і параметр циклу і значення якого визначає крок зміни параметра циклу;

<блок операторів 1>, <блок операторів 1> - один або більше допустимих у мові VBA операторів.

Робота оператора ForNext полягає в наступному. Спочатку він надає елементу <параметр циклу> значення <поч знач парам циклу>. Якщо це значення виявиться меншим від значення <кін знач парам циклу>, то виконюються оператори тіла циклу, тобто оператори, які входять в <блок операторів 1> та <блок операторів2>. Далі до значення <параметр циклу> додасться значення елемента <крок>, і процес виконання оператора циклу повториться вже з новим значенням параметра циклу. Це триватиме доти, поки значення <параметр циклу> не перевищить значення <кін знач парам циклу> . У цьому випадку відбувається вихід із циклу. Зазначимо, що вихід із циклу може відбутися і передчасно, якщо спрацює елемент [Exit Do]. Елемент Exit Do зазвичай використовується у складі умовного оператора IfThen, який перевіряє альтернативну умову переривання циклу. Цей оператор циклу називають оператором циклу з лічильником, адже в ньому заздалегідь відомо кількість повторень циклу. Якщо початкове значення параметра циклу менше від кінцевого значення параметра циклу, то використовують параметр циклу зі знаком плюс, у протилежному випадку - зі знаком мінус. За замовчуванням оператор циклу використовує <крок>, що дорівнює одиниці, і тоді елемент [Step <крок> ] можна не вказувати ; якщо ж <крок> має бути відмінним від одиниці, то він повинен бути заданий явно.

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