ТИПИ АЛГОРИТМІВ
Розділ 3 Алгоритми з повторенням та розгалуженням
& 7. Базові алгоритмічні структури
7.2. ТИПИ АЛГОРИТМІВ
Команди в алгоритмах записують одна за одною в певному порядку, а от виконуються вони не завжди в такій послідовності. Залежно від порядку виконання команд алгоритми поділяють на три типи:
– лінійні алгоритми (слідування);
– алгоритми з розгалуженням;
– алгоритми з повторенням.
Розгалуження і повторення спрощують структуру програми, Такі програми легше переглядати, налагоджувати, вносити до них зміни.
Послідовне виконання
Розгалуження
Повторення
Рис. 3.6. Базові конструкції алгоритмів
Алгоритм, у якому команди виконуються послідовно одна за одною від початку до кінця, називають лінійним або слідування. Наприклад, перехід вулиці, обчислення суми чисел, саджання дерева тощо.
Але в житті так бував не завжди. Часом обставини змушують нас робити вибір. Якщо йде дощ, ми беремо парасольку і одягаємо плащ, якщо на вулиці
Вибір однієї з двох послідовностей дій залежно від виконання або невиконання деякої умови називають розгалуженням.
Алгоритм, що містить одну або кілька умов і, відповідно, дві та більше гілок, називають алгоритмом з розгалуженням. На рис. 3.7 наведено приклад блок-схеми алгоритму з розгалуженням.
Рис. 3.7. Алгоритм з розгалуженням
Рис. 3.8. Алгоритм з повторенням
У побуті люди зазвичай повторюють ті самі дії. Ви щодня ходите до школи, по кілька разів переглядаєте улюблений фільм, виконуєте домашню роботу, відвідуєте гуртки. Ви часто розв’язуєте задачі, в яких одну чи кілька діл слід повторювати, дотримуючись певної умови.
Багаторазове виконання тієї самої послідовності команд доти, доки виконується визначена наперед умова, називають циклам (повторенням). Алгоритм, що містить цикли, називають циклічним алгоритмом або алгоритмом з повторенням. На рис. 3.8 наведено приклад блок-схеми такого алгоритму.
Майже всі мови програмування містять оператори розгалужень і циклів. Не є винятком і Scratch. “Словник” його мови містить п’ять блоків, що за формою нагадують букву “С”, і один подібний до букви “Е”. Їх ще іноді називають обгортками, оскільки всередину цих блоків можна вставляти інші.
ВПРАВА 11
Завдання. Додати до скриптів оператори розгалужень і циклів, що містяться в категорії Керувати.
1. Запустіть на виконання Scratch і перетягніть з палітри команд на вкладку Скрипти всі блоки-команди, що, на вашу думку, можуть створювати в програмі розгалуження і цикли.
2. Складіть для кота скрипт, як на рис. 3.9. та перевірте, як він працює.
Рис. 3.9
Як ви гадаєте, який блок у цьому скрипті є оператором розгалуження? Підказка. Щоб отримати відповідь, щоразу запускайте проект на виконання (кнопка із зеленим прапорцем), уводьте в текстове поле внизу сцени число і натискайте на кнопку з галочкою або на клавіатурі клавішу Enter.
3. Аби щоразу не клацати кнопку із зеленим прапорцем, змініть щойно створений скрипт, як показано на рис. 3.10. Як ви гадаєте, який блок у цьому скрипті є оператором циклу?
Рис. 3.10
4. Збережіть проект під назвою Впр11_Прізвище.
Висновки
Алгоритм – це опис послідовності дій, виконання яких призводить до вирішення поставленого завдання за скінченну кількість кроків. Об’єкт, що здатний виконати команди алгоритму, називають виконавцем алгоритму.
Алгоритми можна подавати по-різному: текст, блок-схема, мова програмування тощо.
Залежно від порядку виконання команд можна виділити три типи алгоритмів: лінійні (слідування), з розгалуженням, з повторенням.
Алгоритм, у якому команди виконуються у порядку запису, тобто послідовно одна за одною, називається лінійним або cлідування.
Вибір однієї з двох послідовностей дій залежно від виконання або невиконання деякої умови називають розгалуженням.
Алгоритм, що містить одну або галька умов і відповідно дві та більше гілок, називають алгоритмом з розгалуженнями.
Багаторазове виконання тієї самої послідовності команд доти, доки виконується визначена наперед умова, називають циклом (повторенням).
Алгоритм, що містить цикли, називають циклічним алгоритмам або алгоритмом з повтореннями.
Контрольні запитання та завдання
1. Які алгоритми називають лінійними? Наведіть приклади лінійних алгоритмів.
2. Які алгоритми наливають розгалуженими? Наведіть приклади алгоритмів з розгалуженням.
3. Наведіть приклади прислів’їв, де дія виконується в залежності від виконання певної умови.
4. Які алгоритми називають циклічними? Наведіть приклади алгоритмів з повторенням.
5. Наведіть приклади відомих казок або оповідань, де певні дії виконуються циклічно.