- лінійні;
- розгалужені;
- циклічні;
- змішані.
Загальний вигляд лінійного алгоритму, поданий мовою блок-схем, наступний:

- проснутися;
- зробити ранковий туалет;
- одягнутися;
- поснідати;
- зібрати речі;
- одягнути верхній одяг;
- вийти до школи.
Тому набагато частіше зустрічається другий тип алгоритму - розгалужений. Цей алгоритм обов'язково містить в собі хоча б одну умову (як правило, їх набагато більше) і виконується він в залежності від цієї умови.
Мовою блок-схем розгалужений алгоритм подається наступним чином:

Виходячи з цього, речення "Якого кольору твій піджак?" не можна вважати умовою, а речення "Твоє волосся русяве?" - можна.
Примітка: На цьому етапі можна запропонувати дітям пограти і придумати речення, що можна вважати умовами, а потім перефразувати їх так, щоб вони стали помилковими і запропонувати дітям знайти помилки.
Дуже часто в житті ми змушені враховувати велику кількість найрізноманітніших умов. Наприклад, ми йдемо гуляти на вулицю, якщо "мама відпустила" та "гарна погода", а ще якщо "подруга покликала". Уроки ми робимо, якщо знов таки "мама примусила" або "тато лається" або "вчителька дуже сувора". Такі умови в інформатиці називаються складеними. Вони містять кілька простих умов і об'єднуються між собою словами "або" або "та".
Перше з цих слів ("або") використовується у тих випадках, коли необхідно виконання хоча б однієї з умов, тобто хоча б одна з умов являється істиною. Наприклад, діти залишаються вдома (не йдуть до школи), якщо "сьогодні вихідний" або "сьогодні канікули" або "сьогодні свято" або "дитина хвора". Ясно, що зовсім не обов'язково, щоб сьогодні були одночасно і канікули, і свято, і вихідний та ще й хвороба, щоб не піти до школи.
Друге слово ("та"), навпаки, використовується лише в тих випадках, коли тільки одночасне виконання всіх умов призводить до результату. Наприклад, тільки у випадку вже зроблених домашніх справ та виконаних домашніх завдань тагарної погоди у нас є надія, що мама дозволить погуляти з подругою.
Примітка: На цьому етапі уроку теж рекомендується дати відпочити дітям і пограти з ними в гру "Чи виконається подія, якщо?", запропонувавши кілька умов, що повинні виконуватися одночасно або по черзі.
Однак, навіть маючи в своєму арсеналі команду розгалуження, важко реалізувати алгоритми, що потребують багаторазового повторення деякої послідовності однакових дій. В цих випадках нас виручає циклічний алгоритм.
У нашому житті дуже часто зустрічаються алгоритми з повторами, причому чітко визначаються два типи повторів. В одному випадку ми чітко знаємо, скільки разів необхідно повторити задану послідовність команд, а в іншому - ні.
Наприклад, в першому класі вчителька дає завдання дітям: "Діти, напишіть, будь ласка, в зошитах десять цифр "1", а потім рядочок цифр "2". Чим відрізняються ці два завдання? В першому випадку дитина отримала чітку вказівку написати десять одиниць, а в другому - ця вказівка була не точною (рядочок двійок). Чому другий випадок не такий точний? Тому що кількість отриманих кожним учнем цифр буде залежати від їх власного почерку: одні учні пишуть охайно маленькими цифрами, інші - неохайно величезними кривулями.
В залежності від того, чи знаємо ми скільки разів необхідно повторювати якусь послідовність команд розрізняють цикли з лічильником (кількість повторень відома заздалегідь) та цикли з умовою (цикл робиться доки не виконається якась умова).
Примітка: Знов запропонуйте дітям пофантазувати і придумати ситуації, коли можна визначити кількість повторень, а коли не можна.
Крім того, в циклах з умовою теж можна виділити два різних випадки:
- цикл з передумовою - коли ми спочатку перевіряємо умову, а потім виконуємо деяку послідовність дій (так, ми спочатку перевіряємо, чи вимита підлога в тій класній кімнаті, де нам потрібно чергувати, а потім починаємо прибирання);
- цикл с післяумовою - спочатку ми виконуємо хоч один раз необхідну послідовність дій, а потім перевіряємо, чи не досягли ми бажаного результату (коли ми хочемо пити, ми спочатку ковтаємо хоч глоток води, а потім починаємо контролювати, чи не вгамували ми свою спрагу).

От ми й підійшли до того, що найбільш поширеним являється змішаний тип алгоритму, в якому поєднуються елементи лінійних, розгалужених та циклічних алгоритмів.
Під час складання алгоритмів іноді виникає ситуація, коли необхідно виконати повторювану послідовність дій, але не зовсім ідентичну. Наприклад, необхідно почистити картоплю, моркву, буряк та цибулю. Всі алгоритми чищення загалом схожі, але все ж таки є деякі відмінності. Щоб не переписувати алгоритми, що суттєво не розрізняються, використовують так звані допоміжні алгоритми, що викликаються і виконуються тільки тоді, коли в них є потреба.
Перевага використання допоміжних алгоритмів полягає ще в тому, що склавши їх один раз, ми можемо їх потім використовувати при написанні навіть інших алгоритмів. В цьому випадку вони об'єднуються в так звані бібліотеки і ними можна користуватися так, як в реальному житті ми користуємось справжніми бібліотеками (тобто не доходячи до суті справи).
Немає коментарів:
Дописати коментар