1. Розгалуження програми

2. Циклічні програми з розгалуженням

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

Розгалужена алгоритмічна конструкція, що складається лише з двох гілок, має назву простої, якщо гілок більше ніж дві – складної.

Розгалуження – це алгоритмічна конструкція, де перевіряється умова (значення логічного виразу), і залежно від її істинності чи хибності виконується та чи інша серія команд. Є такі види розгалужень:

  1. повне;
  2. неповне;
  3. вибір.

Логічний вираз – це засіб записування умов. Логічний вираз може приймати значення істинність або хибність.

Хибному логічному виразу відповідає числове значення 0, а істинному – будь-яке інше число. Логічні вирази бувають прості та складні. Простий логічний вираз – це два арифметичні вирази, з’єднані символом відношення (=, >, <, >=, <=, < >), а складний — це прості логічні вирази з’єднані назвами логічних операцій: NOT (не), ANO (і) та OR (або).

Команда переходу GOTO. Для зміни порядку виконання рядків у  програмі використовують команду переходу:

GOTO <номер рядка>

Дія команди. Відбувається перехід до рядка з зазначеним номером.

Команда розгалуження IF. Повна форма умовної команди. Команду розгалуження іноді ще називають умовною командою. Вона має дві форми: повну та коротку.

Загальний вигляд повної команди розгалуження такий:

ІF< логічний вираз> THEN <серія 1> ELSE <серія 2>

Дія команди. Якщо значення логічного виразу істинне, то виконується серія 1, якщо воно хибне, то виконується серія 2.

Приклад: У результаті виконання команди IF X>O THEN PRINT X ELSE PRINT X на екрані отримаємо значення Х, якщо Х додатне, або – Х в протилежному значенні.

Блок IF-END IF. Повне розгалуження можна реалізувати за допомогою блокової конструкції IF-END IF:

IF<умова>THEN

<серія 1>

ELSE

<серія 2>

END IF

Коротка форма розгалуження має вигляд:

IF <логічний враз> THEN <серія команд>, де серія команд – це одна або декілька команд, які є в одному зі словом IF рядку програми. Команди в серії відокремлюють одну від одної двокрапкою.

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

Команда умовного переходу є частинним випадком короткої форми команди розгалуження. Вона має вигляд IF<логічний вираз> THEN GOTO <номер>.

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

Службове слово THEN або GOTO можна не писати. Є дві короткі форми команди:

1)     IF<умова> THEN  <номер>.

2) IF<умова> GOTO <номер>.

Циклічною навивається така алгоритмічна конструкція, яка передбачає виконання декілька разів однієї й тієї ж послідовності дій.

Керування кількістю повторів циклу здійснюється за допомогою змінної, яка має назву параметра циклу. При кожному повторі циклу значення цієї змінної змінюється на величину, яка називається кроком циклу. Порядок дій що виконується у циклі, називається тілом циклу. Цикл приміняється, коли значення параметру циклу досягає певного значення, за якого забезпечується виконання логічної умови припинення циклу.

Бувають цикли з передумовою, післяумовою, та з параметром.

Цикл складається з таких трьох етапів:

  1. Перевірка умови циклу. Перевіряється умова, яка забезпечує вихід з циклу після досягнення мети. Якщо умова складена неправильно, то можна ніколи не вийти з циклу. Така ситуація називається зациклюванням і її потрібно уникати.
  2. Виконання серії команд. Виконується серія команд (основні дії), заради яких конструювали цикл.
  3. Зміна значення параметра. Згідно з умовою задачі змінюється значення змінної, яка є в умові. Ця змінна параметром циклу.

Цикл з передумовою. Розглянемо реалізацію цього циклу за допомогою умовної команди переходу:

<N1> IS <логічний вираз> THEN <номер NN+10>

<N2>

<серія команд>

<NN-10>

<NN> GOTO <N1>

<NN+10>…

Дія команди. Перевіряється значення логічного виразу. Якщо воно істинне, то робота циклу припиняється, в протилежному випадку виконується команди з номерами  N2-NN. Істинний логічний вираз описує умову виходу з циклу.

У циклі з передумовою серія команд може виконуватися один або більше разів, але може не виконатися жодного разу. В цьому полягає основна властивість циклу.

Цикл з післяумовою. У цьому циклі серія виконується до перевірки умови хоча б один раз. Це основна властивість цього циклу.

<N1>

<серія команд>

<NN-10>

<NN> IF<логічний вираз> THEN GOTO <N1>

<NN+10>

Команда циклу з параметром (FOR-NEXT). Цикл з параметром (цикл «для») призначений для організації повторень, якщо їх кількість у циклі наперед відома:

FOR<I>+<A1> TO <A2> STEP <A3>

<серія команд>

NEXT <I>

Команда FOR-TO-STEP  утворює заголовок циклу, NEXT- команда, яка фіксує кінець тіла циклу і змінює значення параметра І на величину А3. Тіло циклу – це серія команд, що знаходиться між командами FOR та NEXT.

Змінну І називають параметром циклу. А1, А2, А3 – арифметичні вирази, змінні, сталі.

Команда циклу WHILE. Умові Пейсик цей цикл записують так:

WHILE <логічний вираз>

<серія команд>

END

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

 

Питання для самостійної перевірки знань:

  1. Які ви знаєте базові конструкції алгоритмів?
  2. Що собою представляє алгоритмічна конструкція розгалудження? Які є види розгалуджень?
  3. Як у Visual Studio реалізуються алгоритми розгалуджень?
  4. Що собою представляє алгоритмічна конструкція циклу? Які є види циклів?
  5. Як у Visual Studio реалізуються алгоритми циклу?