понеділок, 18 березня 2019 р.

Урок 27. Алгоритмічна структура розгалуження

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

Наприклад, алгоритм переходу дороги по пішохідному переходу, який регулюється світлофором: якщо горить зелене світло, слід переходити дорогу, в іншому разі — слід зупинитися перед пішохідним переходом.
Алгоритмічна структура, що дає змогу виконавцеві алгоритму вибрати сценарій подальших дій залежно від істинності певного висловлювання, називається розгалуженням.
Розрізняють дві форми структури розгалуження: повну та неповну. Структура розгалуження повної форми схожа на умовне висловлювання «Якщо — то — інакше», у якому після «то» та «інакше» записують не висловлювання, а команди, які необхідно виконати залежно від істинності висловлювання, записаного в умові. Її можна подати графічно.

Скорочену форму розгалуження використовують тоді, коли деяку послідовність команд слід виконати за умови істинності висловлювання.
Структура розгалуження неповної форми схожа на умовне висловлювання «Якщо — то», у я кому після «то» записують не висловлювання, а послідовність команд, які необхідно виконати, коли висловлювання, записане в умові, є істинним. ЇЇ можна подати графічно.

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

Складені умови, які використовують сполучники І, АБО, НЕ, у середовищі Скретч можна описати за допомогою блоків:

із групи Оператори. Наприклад, в алгоритмі в середовищі Скретч, виконавцем якого є Об'єкт 1, умову «якщо Об'єкт 1 доторкається до Об'єкта 2 або доторкається межі вікна», можна подати в такому вигляді:

Базову структуру розгалуження повної форми в середовищі Скретч можна подати командою:

Наприклад, алгоритм, за яким при натисненні клавіші ­ на клавіатурі розмір об'єкта збільшується наполовину, інакше — зменшується на 10%, можна подати графічно.

Або фрагментом програми в середовищі Скретч.

Для реалізації розгалуження неповної форми в середовищі Скретч використовують команду:

Наприклад, фрагмент алгоритму для середовища Скретч для малювання різнокольорової ламаної, за яким колір ліній буде змінюватися після натиснення кнопки миші, можна подати графічно.

Цей фрагмент алгоритму для середовища Скретч можна описати: