KNOWLEDGE HYPERMARKET


Тема 17. АЛГОРИТМИ З РОЗГАЛУЖЕННЯМ

АЛГОРИТМИ З РОЗГАЛУЖЕННЯМ


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


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


Таким, наприклад, є алгоритм визначення дієвідміни у дієслова.
Vik.jpg 


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


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

Виконаємо цей алгоритм для дієслів: малювати, бігти, читати
Малювати
Малюють
Закінчення -ють
Закінчення -уть або -ють? Так
Перша дієвідміна

Бігти
Біжать
Закінчення -ать
Закінчення -уть або -ють? Ні
Друга дієвідміна

Читати
Читають
Закінчення -уть
Закінчення -уть або -ють? Так
Перша дієвідміна

А тепер самостійно виконайте в зошиті цей алгоритм для дієслів: сказати, стояти.

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


У таких алгоритмах кожна команда, яка виконується, виконується тільки один ран. Але є команди, які не викопуються жодного разу. Це залежить від результату виконання команди перевірки умови. А результат перевірки умови залежить від того, з якими даними виконується алгоритм.


Іншим прикладом алгоритму з розгалуженням є алгоритм визначення парності або нетіарності натурального числа. Ви пам'ятаєте, що натуральне число є парним, якщо воно закінчується на цифру 0, або 2, або 4, або 6, або 8. В інших випадках натуральне число є непарним.


Складіть самостійно блок-схему визначення парності натурального числа.


Виконайте складений алгоритм для чисел 35, 280,1.


Практична робота

Давайте пригадаємо виконавця Восьминіжку


Складемо алгоритм розв'язування такої задачі.


Восьминіжка стоїть у клітині (дивись рисунок) і перед нею може стояти одна перешкода або иі (на рисунку така перешкода стоїть). Потрібно скласти такий алгоритм для Восьминіжки, щоб вона в будь-якому випадку зафарбувала три останні клітини в своєму рядку.


Зрозуміло, якщо перед Восьминіжкою є перешкода, то вона має її обійти (наприклад, Вгору Вправо Вправо Вниз).


А якщо перешкоди немає, то вона може замість чотирьох команд виконати лише дві (Вправо Вправо). Після цього в будь-якому випадку Восьминіжка повинна зробити два кроки вправо і далі фарбувати потрібні клітини.




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

Питання та завдання

1. Які алгоритми називають лінійними?
2. Які алгоритми називають алгоритмами з розгалуженням?
3. Назвіть відмінності алгоритмів з розгалуженнями від лінійних алгоритмів.
4. Складіть алгоритм визначення роду іменників.
5. Сформулюйте задачу, для розв'язування якої можна було б застосувати такий алгоритм:

Vik2.jpg


Виконайте в зошиті наведений алгоритм для таких значень х і у:
х = 5, у = 32; х = 34,у= 10.
Чи можна застосувати цей алгоритм для таких значень даних:
х = 12,у = 12?
Змініть алгоритм таким чином, щоб за ним можна було визначити, перше число більше, менше або дорівнює другому.
6. Восьминіжка знаходиться в одній з клітин всередині поля. Скласти алгоритм, за яким вона зафарбує клітинки навколо даної, але лише в тому випадку, якщо вони не зафарбовані.
 

1236084776 kr.jpg акселеративні методи на уроці                        1236084776 kr.jpg національні особливості
1236084776 kr.jpg виділити головне в уроці - опорний каркас            1236084776 kr.jpg нічого собі уроки
1236084776 kr.jpg відеокліпи                                           1236084776 kr.jpg нова система освіти
1236084776 kr.jpg вправи на пошук інформації                           1236084776 kr.jpg підручники основні допоміжні
1236084776 kr.jpg гумор, притчі, приколи, приказки, цитати             1236084776 kr.jpg презентація уроку
1236084776 kr.jpg додаткові доповнення                                 1236084776 kr.jpg реферати
1236084776 kr.jpg домашнє завдання                                     1236084776 kr.jpg речовки та вікторизми
1236084776 kr.jpg задачі та вправи (рішення та відповіді)              1236084776 kr.jpg риторичні питання від учнів
1236084776 kr.jpg закриті вправи (тільки для використання вчителями)   1236084776 kr.jpg рівень складності звичайний І
1236084776 kr.jpg знайди інформацію сам                                1236084776 kr.jpg рівень складності високий ІІ 

1236084776 kr.jpg ідеальні уроки                                     1236084776 kr.jpg рівень складності олімпійський III
1236084776 kr.jpg ілюстрації, графіки, таблиці                         1236084776 kr.jpg самоперевірка
1236084776 kr.jpg інтерактивні технології                              1236084776 kr.jpg система оцінювання
1236084776 kr.jpg календарний план на рік                              1236084776 kr.jpg скласти пазл з різних частин інформації
1236084776 kr.jpg кейси та практикуми                                  1236084776 kr.jpg словник термінів 
1236084776 kr.jpg комікси                                              1236084776 kr.jpg статті
1236084776 kr.jpg коментарі та обговорення                           1236084776 kr.jpg тематичні свята
1236084776 kr.jpg конспект уроку                                       1236084776 kr.jpg тести
1236084776 kr.jpg методичні рекомендації                               1236084776 kr.jpg шпаргалка 
1236084776 kr.jpg навчальні програми                                   1236084776 kr.jpg що ще не відомо, не відкрито вченими