Будь найскладніший алгоритм можна скласти, комбінуючи різні алгоритмічні конструкції, які ми знаємо.
Розглянемо різні форми подання алгоритмів.
Приклад. Процес купівлі хліба в магазині.
1) взяти у мами гроші
2) піти в магазин
3) вибрати хлібобулочні вироби
4) оплатити вартість покупки
5) принести хліб додому
Аналогічно, у вигляді послідовності дій можна описати вирішення багатьох завдань. Такий опис алгоритму природною мовою є словесною формою подання алгоритмів. Цей спосіб дуже зручний, якщо потрібно приблизне опис суті алгоритму. Але він не завжди ясно і точно виражає ідею.
Найчастіше алгоритм складають (описують) словесно, а потім, для його більш наочного уявлення, використовують графічну форму - блок-схему. Блок-схема складається зі стандартних графічних об'єктів:
позначається крок алгоритму
Послідовність дій вказується за допомогою стрілок, що з'єднують фігури, що позначають кроки алгоритму.
Складемо подання до вигляді блок-схеми різних алгоритмічних структур.
Питання: який алгоритм називається лінійним?
Відповідь: алгоритм, в якому команди виконуються послідовно один за одним, називається лінійним.
Розглянемо алгоритм посадки дерева:
· Викопати в землі ямку
· Опустити в ямку саджанець
· Засипати ямку з саджанцем землею
· Полити саджанець водою
За допомогою блок-схеми даний алгоритм можна зобразити так, як показано на малюнку.
Ситуація, коли заздалегідь відома послідовність необхідних дій, зустрічаються вкрай рідко. У житті часто доводиться приймати рішення в залежності від обстановки, що склалася.
Питання: який алгоритм називається розгалужуються?
Відповідь: форма організації дій, при якій в залежності від виконання деякого умови відбувається одна або інша послідовність кроків, називається розгалуженням.
Розгалужується алгоритм має дві форми представлення: повну і неповну.
Розглянемо кожну на прикладах:
У вигляді блок-схеми це буде виглядати наступним чином:
У вигляді блок-схеми це буде виглядати наступним чином:
У першому випадку розгалужується алгоритм має повну форму, а в другому - неповну.
На практиці часто зустрічаються задачі, в яких одна або кілька дій буває необхідно повторити кілька разів, поки дотримується деякий заздалегідь встановлений умова.
Форма організації дій, при якій виконання одне і тій послідовності команд повторюється, поки виконується деяка заздалегідь встановлений умова, називається циклом (повторенням). Алгоритм, що містить цикли, називається циклічним алгоритмом або алгоритмом з повтореннями.
Розглянемо два варіанти: умова поставлена на початку циклу, умова поставлена в кінці циклу.
Приклад 1. Розглянемо алгоритм
1) дивлюся телевізор ввечері
2) якщо час менше півночі, то виконати дію 1
Блок-схема буде виглядати наступним чином:
В даному випадку виконання умови призводило до продовження роботи циклу. Як тільки умова перестало виконуватися, то робота циклу завершилася. Такий вид циклу називається ЦИКЛ з передумовою.
Приклад 2. Розглянемо алгоритм:
1) пофарбуємо дошку
2) якщо дошки закінчилися, то завершуємо роботу
3) якщо є ще дошка, то перейти до неї і виконати дію 1
Блок-схема буде виглядати наступним чином:
У цьому випадку спочатку виконується дія, а потім перевіряється умова і якщо воно не виконується, то цикл продовжує роботу. У разі виконання умови, цикл завершує роботу. Такий вид циклу називається ЦИКЛ з умовою поста.