Тема 5. Програмування розгалужень.

Питання теми та основні терміни.

Умовний оператор

Оператор вибору.

Використання елементів управління перемикач та прапорець.

Умовний оператор, оператор вибору, перемикач, прапорець, розгалужений алгоритм.

Інформаційні матеріали теми

5.1. Умовний оператор

Розгалуженим називається алгоритм, у якому здійснюється вибір однієї з декількох можливих дій. Розрізняють три види розгалужених структур:

· звичайне розгалуження (розвилка) – здійснюється вибір між двома діями;

· обхід – коли певна дія або виконується, або обходиться у виконанні;

· множинний вибір – коли здійснюється вибір між трьома і більше можливими варіантами дій.

Розглянемо запис перших двох видів розгалужень. Для запису розгалужених алгоритмів використовується умовний оператор, який у VBA має 3 форми:

Однорядковий оператор.

Даний оператор має такий формат запису:

If умова Then група1 Else група2,

де умова являє собою логічний вираз,

група1 та група2 – сукупності будь-який операторів VBA, крім оператора оголошення змінної. Один оператор від іншого відокремлюється символом двокрапка (;).

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

Цей оператор застосовується для запису звичайного розгалуження, або обходу (тоді гілка Else не потрібна). Найчастіше він використовується у тих випадках, коли кожна гілка містить один оператор мови VBA.

Приклад 1. Обчислення більшого з двох чисел

If x > y Then z = x else z = y

Багаторядковий оператор.

Цей оператор має наступний формат запису:

If умова Then

Оператор

Оператор

Else

Оператор

Оператор

...

EndIf

Якщо умова виконується, то виконується гілка Then, інакше виконується гілка Else. . Кожна гілка може мати декілька операторів. Також припускається запис декількох операторів, розділених символом двокрапка, в одному рядкові. Гілка Else може бути взагалі відсутня. Синтаксис оператора повинен відповідати зразку, тобто в рядках зі службовими словами Then та Else оператори не записуються. Закінчується оператор службовим словом EndIf. Від попередньої форми дана відрізняється тим, що кожна гілка може містити довільне число операторів і розташовуватись у декількох рядках програми.

Приклад 2. Впорядкування двох чисел за зростанням

If x > y Then

 z=x

 x=y

 y=z

End If

Складений оператор:

If умова1 Then

Група 1

ElseIf умова2 Then

Група 2

ElseIf …

...

Else

EndIf

Як видно зі синтаксису оператора, він може послідовно перевіряти декілька умов, і відповідно до них виконувати певні групи операторів. Гілка Else може бути відсутня. Даний оператор застосовується для запису множинного вибору, коли потрібно послідовно перевірити декілька умов.

Приклад 3. Порівняння двох чисел

If x > y Then

 s=”перше число більше”

ElseIf x=y Then

 s=”числа рівні”

Else s=”друге число більше”

End If

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
25 26 27 28  Наверх ↑