Вкладені алгоритмічні стуктури розгалуження

Запитання

1. Який фрагмент програми називають повним розгалуженням?

2. Який фрагмент програми називають неповним розгалуженням?

3. Під час розв'язування яких завдань ви використовували розгалуження?

Розгалуження

Нагадаємо, що розгалуження може бути:

Вкладені розгалуження

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

Вкладені розгалуження

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

У них кожне наступне розгалуження виконувались тоді, коли виконання попереднього розгалуження вже закінчилося

Вкладені розгалуження

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

Наприклад, вам потрібно встановити будильник на завтра.

Якщо завтра робочий день, то ви повинні встати о 7-й годині ранку, щоб іти до школи.

Якщо завтра субота, то ви повинні встати о 8-й годині ранку, щоб їхати на  заняття гуртка.

Якщо завтра неділя, то ви встаєте о 9-й годині ранку.

Вкладені розгалуження

Блок-схему алгоритму встановлення будильника має такий вигляд:

Завтра

робочий день?

Встановити будильник на 7-му годину ранку

Завтра

субота?

Встановити будильник на 8-му годину ранку

Встановити будильник на 9-му годину ранку

так

ні

так

ні

Розглянемо приклад

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

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

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

Рух буде здійснюватися без натиснення клавіші Стрілка вправо.

У прикладі 2 використано три команди розгалуження повної форми, у яких тричі перевіряється, яка клавіша натиснута. 

Вкладені розгалуження

Розгалуження

Підготовка до практичної роботи

(виконати одне завдання на вибір)

Завдання 1. Історія.

На різних уроках для перевірки знань учнів використовують тести. Для цього їм пропонують виконати завдання на папері або за допомогою комп'ютера. Склади програму для підтримки комп'ютерного тестування в середовищі Скретч. Сплануй і створи проект Тестер – комп'ютерний тест, що складається із трьох тестових запитань з історії. Передбач, що на кожне із запитань тесту є тільки одна правильна відповідь із чотирьох пропонованих. Якщо користувач обирає правильну відповідь, він отримує наступне запитання та чотири варіанти відповіді. Тестування завершується, якщо користувач дав правильні відповіді на всі три запитання або якщо користувач дав першу неправильну відповідь на тестове запитання. Придумай самостійно запитання та варіанти відповідей, або скористайся підручником історії.

Завдання 2. М’ячі.

 

Під час проведення концертів часто використовують світлові ефекти. Склади проект, у якому три кольорові кульки будуть змінювати свій колір та опускатись зверху-донизу з різною швидкістю. Якщо на клавіатурі натискати клавішу 1, то перша кулька буде підніматись вгору, а якщо 2 чи 3 – то відповідна кулька також буде підніматись. Якщо кульки торкаються нижньої межі сцени – вони зникають.

Завдання 3. Гра.

У середовищі Скретч сплануй та створи гру, у якій за допомогою дощечки чорного кольору (як на малюнку), яку можна рухати вліво-вправо стрілками на клавіатурі, відбивають м'яч. М'яч у довільному напрямку відбивається як від стін, так і від дощечки. Якщо м'яч торкається червоної лінії внизу – гра припиняється. На початку гри можна обрати два рівні – легкий, коли дощечка широка та м'яч рухається не швидко, або складний – розмір дощечки зменшується, а швидкість руху м'яча збільшується.