§ 19. Способи опису алгоритму. Алгоритмічні структури
Життя людей тісно пов’язане з виконанням певних алгоритмів. Давайте поміркуємо, які алгоритми існують у вашому житті. У який спосіб вони подаються? Чи доводилося вам приймати рішення залежно від того, як складалася ситуація?
Завдання 1
Поміркуйте, чим відрізняються наведені алгоритми збирання в школу.
1. Прокидайся
2. Роби зарядку
3. Снідай
ФОРМИ ПОДАННЯ АЛГОРИТМІВ
Існують різні форми подання алгоритмів — словесні, словесно-формульні, графічні, у вигляді програмного коду й інші — залежно від того, на якого виконавця орієнтований алгоритм.
У повсякденному житті найчастіше застосовується словесна форма подання. Алгоритм подається як послідовність пронумерованих команд. Команди виконують одну за одною в порядку зростання їх номерів, якщо немає спеціальної вказівки на перехід до виконання команди за іншим номером
в алгоритмі. Словесна форма подання зручна для опису порядку користування приладами, поведінки в разі виникнення надзвичайної ситуації, кулінарних рецептів тощо.
Приклад 1
Подамо алгоритм приготування «швидкої» піци у словесній формі.
1. Змішайте сметану з томатною
пастою, додайте спеції.
2. Отриманим соусом намастіть
основу піци.
3. Зверху викладіть шматочки
помідорів і болгарського перцю,
половинки маслин.
4. Посипте натертим сиром.
5. Поставте в духову шафу на 5 хв
для запікання.
Алгоритми обчислень зручно подавати у вигляді формул. Так, алгоритм обчислення площі прямокутного трикутника для виконавця Учень 5 класу можна подати у вигляді
[latex]S=\frac{ab}{2}[/latex], де a, b — довжини двох менших сторін трикутника.
Записуючи алгоритми, часто комбінують словесне та формульне подання запису команд. Для графічного подання використовують блок-схеми. При цьому команди подають в окремих блоках, а послідовність виконання команд позначають стрілками.
Блок-схема алгоритму — графічне подання у вигляді організованої послідовності блоків.
Завдання 2
БАЗОВІ АЛГОРИТМІЧНІ СТРУКТУРИ
Під час конструювання алгоритмів використовуються три базові алгоритмічні структури: слідування, розгалуження, повторення. Згадаємо означення цих алгоритмічних структур.
Завдання 3
Слідування — це така форма організації вказівок в алгоритмі, за якої дії виконуються послідовно одна за одною, без пропусків або повторень.
Приклад 2
На рисунку зображено блок-схему алгоритму знаходження середнього арифметичного трьох чисел.
Тут:
a, b, с — вхідні дані;
S — проміжний результат;
Sr — вихідні дані (результат виконання алгоритму).
Розгалуження — це така форма організації дій, коли залежно від виконання або невиконання певної умови виконується одна з двох дій.
Якщо умова істинна, то виконується Дія 1 (гілка Так); якщо умова хибна, то Дія 2 (гілка Ні). Після виконання однієї з дій виконавець переходить до наступної після розгалуження команди. Умову можна подати у вигляді запитання, сформульованого так, щоб допускалася лише одна з двох відповідей: «так» або «ні». Перевірка умови має бути допустимою дією виконавця.
Умови в програмі записуються у вигляді логічних виразів.
Логічними є вирази, результатом яких є True або False.
Х = 5
2<10
Приклад 3
Умова розваги: якщо в касі є квитки, то придбати квиток і переглянути фільм, інакше — піти на прогулянку до парку.
Завдання 4
Завдання 5
Повторення (цикл) — це така форма організації дій, за якої одна й та сама дія виконується кілька разів залежно від певної умови.
Дія, що повторюється під час кожного проходження (ітерації) циклу, називається тілом циклу.
Приклад 4
Наприклад, на рисунку подано блок-схему циклу, в якому певна дія повторюється доти, поки задана умова є істинною. Під час виконання такого циклу спочатку перевіряється умова.
• Якщо умова істинна, то тіло циклу виконується й відбувається повернення на
перевірку умови.
• Якщо умова хибна, то виконання циклу припиняється.
• Якщо умова в команді повторення виявиться хибною за першої перевірки,
то тіло циклу не виконається жодного разу.
• Якщо під час повторення циклу умова незмінно залишається істинною, то цикл
може повторюватися нескінченно.
Приклад 5
Завдання 6
Знайдіть значення величини х
після виконання команди повторення
для різних початкових значень х.
Під час складання алгоритму розв’язування задачі необхідно чітко розуміти, що в умові дано та що потрібно знайти. Тобто дотримуватися чіткого плану дій.
1. Уважно прочитайте умову задачі.
2. З’ясуйте:
а) що дано — вхідні дані (аргументи);
б) що потрібно знайти — вихідні дані (результати).
3. Визначте спосіб розв’язування задачі та виявіть необхідні проміжні величини.
4. Складіть блок-схему алгоритму.
5. Перевірте правильність алгоритму для різних значень аргументів.
Програма — це впорядкована послідовність команд для комп’ютера, виконання якої реалізує алгоритм розв’язування певної задачі. Отже, програма — це алгоритм, записаний мовою програмування.
Мова програмування — це система позначень, яка використовується для запису алгоритмів для їх реалізації (виконання) за допомогою комп’ютера.
Існує багато мов програмування. Ви знайомі з візуальною мовою програмування Scratch і основними поняттями, які можуть бути користини під час вивчення інших мов.
Питання для самоперевірки
- Назвіть основні способи опису алгоритмів.
- Як подаються базові алгоритмічні структури на блоксхемі?
- Наведіть приклади умов, які можуть бути використані для організації розгалуження.
- Поясніть переваги подання алгоритму у вигляді блоксхеми.
- Наведіть приклад алгоритму з розгалуженням, поданого у словесному вигляді.
- Наведіть приклад алгоритму з повторенням, поданого у словесному вигляді.
Вправа 19
Виконати завдання.