Розгалуження – це така форма організації дій, при якій в залежності від виконання чи невиконання деякої умови здійснюється або одна, або друга послідовність дій.
Умова– це будь-яке твердження або запитання такого типу, що допускає лише дві можливі відповіді: «так» або «ні». Перевірка умови повинна бути допустимою дією виконавця. Умову записують за допомогою логічного виразу. Логічні вирази бувають прості і складені.
Простий логічний вираз – це два арифметичних вирази, з’єднані знаками відношення.(<, >, =,<>, >=, <=). Наприклад, a>5, cos(x)<=0, a<>b.
Складений логічний вираз – це декілька простих логічних виразів, з’єднаних назвами логічних операцій: NOT, AND, OR.
Операція NOT А дає істинний результат, якщо логічний вираз А є хибний і навпаки.
Операція А AND В дає істинний результат, якщо обидва логічні вирази є істинні.
Операція А OR В дає істинний результат, якщо хоча б один з логічних виразів є істинним.
Приклад. Нехай x=3, y= -9. Обчислити значення логічних виразів.
Прості вирази | Значення | Складені вирази | Значення |
Х=3 | Not Y<= -50 | ||
X<Y | 1<x and x<5 | ||
7 mod 3=1 | x>4 or y< -15 | ||
Y2=4 | x>4 or y> -15 |
Якщо відповідь на умову є позитивною, то виконується серія команд «оператор1», якщо ж відповідь негативна, - серія команд «оператор2». Після виконання <серії команд> виконавець переходить до наступної після розгалуження команди.
+ -
Така алгоритмічна конструкція називається «Повне розгалуження». Їй відповідає повний умовний оператор:
If <умова> Then <оператор 1> Else <оператор 2>
Іf A<5 Then A=A+1 Еlse А=А*2
Якщо умова істинна (true), то виконуються послідовність операторів після слова Then, а якщо хибна (false), то керування передається на оператор, що слідує за Else.
Може статися, що у випадку невиконання умови не потрібно виконувати ніяких дій. Тоді використовується коротка форма розгалуження.
If <умова> Then <оператор 1>
+ –
If A<5 Then A=A+1
Якщо умова істинна (true), то виконуються послідовність операторів, а якщо хибна (false), то керування передається на оператор, що слідує за оператором End If
У випадку, коли необхідно використовувати декілька вказівок розгалуження, вкладених одна в одну, краще замінити їх оператором вибору.Оператор вибору Select Case дозволяє вибрати одну з декількох груп команд залежно від значення деякої змінної.
Синтаксис оператора: