Алгоритм з повторенням
ВИСЛОВЛЮВАННЯ. АЛГОРИТМИ З РОЗГАЛУЖЕННЯМ І ПОВТОРЕННЯМ
§ 26. Алгоритм з повторенням
Данилку, а чому ти такий сумний?
Та ніяк не можу дібрати команди та скласти алгоритм для розв’язування однієї цікавої задачі.
А що це за цікава задача?
У проекті, що я розробляю, потрібно, щоб виконавець постійно виконував групу команд.
Так, тут без алгоритмів з повтореннями не обійтись.
Щоб ознайомити тебе з новою алгоритмічною конструкцією, я приготував кілька цікавих завдань.
Ось перше завдання.
Склади такі інструкції роботу-лісовику, щоб він зміг зібрати всі гриби на галявині.
Готово.
Алгоритм для збору грибів з галявини.
1. Підійди до гриба.
2. Зірви.
3. Поклади в кошик.
4. Підійди до гриба.
5. Зірви.
6. Поклади в кошик.
7. Підійди до гриба.
8. Зірви.
9. Поклади в кошик.
10. Підійди до гриба.
11. Зірви.
12.
13. Підійди до гриба.
14. Зірви.
15. Поклади в кошик.
Ух, добре, що на галявині тільки п’ять грибів, а то алгоритм був би дуже довгий.
Графічне зображення алгоритму
А чи помітив ти, що дії, які виконує робот-лісовик, повторюються? І оскільки ми знаємо, що грибів на галявині всього п’ять, то алгоритм можна скласти так:
Повтори 5 разів:
– підійди до гриба;
– зірви;
– поклади в кошик.
А тепер уяви, що ми не знаємо кількості грибів, які ростуть на галявині. Як тоді скласти алгоритм?
Графічне зображення алгоритму
Словесний алгоритм.
Повторюй, поки на галявині є гриби:
– підійди до гриба;
– зірви;
– поклади в кошик.
Отже, ти розумієш, що в житті не всі задачі можна розв’язати, використовуючи тільки алгоритмічні структури слідування та розгалуження? Для розв’язку деяких задач потрібно використовувати алгоритми з повтореннями.
У середовищі Скретч для складання скриптів з використанням алгоритмічної структури з повторенням можна використовувати такі блоки команди:
1) “Повтори…” –
Здійснює повторення команд, що знаходяться всередині блока, задану кількість разів;
2) “Повторювати, поки…” –
Здійснює повторення команд, що знаходяться всередині блока, доти, доки встановлена в блоці умова не набуде значення “істина”;
3) “Завжди, якщо…” –
Постійно здійснює повторення команд, що знаходяться всередині блока, у тому разі, якщо вбудована умова має значення “істина”;
4) “Завжди” – постійно здійснює повторення команд, що знаходяться всередині блока.
Дякую тобі, Комп’юшку! Подивись, який цікавий проект я підготував.
Проект “Пори року”.
Опис виконання проекту.
Після натискання на зелений прапорець спрайт-дерево починає постійно змінювати свої костюми-образи з інтервалом в 1 секунду. Зупинити виконання проекту можна, натиснувши на кнопку
Вигляд сцени під час виконання проекту.
Запитання та завдання від Комп’юшка
1. Наведи приклади задач, для розв’язання яких потрібно використати алгоритмічну конструкцію з повторенням.
2. Назви команди середовища Скретч, що використовуються для реалізації алгоритмів з повторенням.
3. Скільки разів повторюєтся команда всередині блока для умов виконання проекту, поданих на малюнку?
4. Склади власні проекти до поставлених задач.
А. Колобок постійно переміщується по сцені, і якщо натрапляє на квіти на своєму шляху, то усміхається, а якщо натрапляє на колючки, то робить сумне обличчя і говорить: “Ой, боляче!”.
Б. Рудий кіт проводить екскурсію у своїй кімнаті, і якщо підходить до своїх улюблених іграшок, то розповідає історії про них.
В. Рудий кіт знайомить зі своїми друзями – фантастичними істотами та розповідає про кожного з них.
Г. Скориставшись костюмами Рудого кота у вигляді літер англійського алфавіту, склади скрипт, що покаже на сцені весь англійський алфавіт літеру за літерою.