* Типи алгоритмів

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

В алгоритмах команди записуються один за одним у певному порядку. Виконуються вони не обов'язково в записаній послідовності: залежно від порядку виконання команд можна виділити три типи алгоритмів:

• лінійні алгоритми;

• алгоритми з розгалуженнями;

• алгоритми з повтореннями.


Лінійні алгоритми


Алгоритм, у якому команди виконуються в порядку їх запису, тобто послідовно один за одним, називається лінійним.

Наприклад, лінійним є наступний алгоритм посадки дерева:

1) викопати в землі ямку;

2) вилучити в ямку саджанець;

3) засипати ямку із саджанцем землею;

4) полити саджанець водою.


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

Логікові ухвалення рішення можна описати так:

ЯКЩО ТО ІНАКШЕ

Приклади:

• ЯКЩО прагнеш бути здоровий, ТО загартовуйся, ІНАКШЕ валяйся весь день на дивані;

• ЯКЩО низько ластівки літають, ТО буде дощ, ІНАКШЕ дощу не буде;

• ЯКЩО уроки виучені, ТО йди гуляти, ІНАКШЕ вчи уроки.

У деяких випадках можуть бути відсутні;

ЯКЩО ТО

Приклад:

• ЯКЩО назвався груздем, ТО полізай у кузов.

Форма організації дій, при якій залежно від виконання деякої умови відбувається одна або інша послідовність кроків, називається розгалуженням.

Зобразимо б виді блок-схеми послідовність дій учня 6 класу Мухіна Васі, яку він уявляє собі так: «Якщо Павлик будинку, будемо вирішувати завдання по математиці. А якщо ні, то слід подзвонити Марині й разом готовити доповідь по біології. Якщо ж Марини немає будинку, то треба сісти за твір.»


Алгоритми з повтореннями


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

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

Алгоритм, що містить цикли, називається циклічним алгоритмом або алгоритмом з повтореннями.

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

Розглянемо приклад з математики.

Натуральне число називають простим, якщо воно має тільки два дільники: одиницю й саме це число .

2, 3, 5, 7 — прості числа; 4, 6, 8 — ні. В III столітті до нашої ери грецький математик Ератосфен запропонував наступний алгоритм для знаходження всіх простих чисел, менших заданого числа n;

1) виписати всі натуральні числа від 1 до n;

2) викреслити 1;

3) підкреслити найменше з невідмічених чисел;

4) викреслити всі числа, кратні підкресленому на попередньому кроці;

5) якщо в списку є невідмічені числа, то перейти до кроку 3, а якщо ні, то всі підкреслені числа — прості.

Це циклічний алгоритм. При його виконанні повторення кроків 3-5 відбувається, поки у вихідному списку залишаються невідмічені числа.