Алгоритм і його властивості
Алгоритм - скінченна послідовність команд, формальне виконання яких дозволяє за обмежений час отримати розв’язок задачі.
Виконавець алгоритму - жива чи нежива істота, яка спроможна виконати алгоритм.
Поняття алгоритму в інформатиці є фундаментальним, тобто таким, котре не визначається через інші ще більш прості поняття (для порівняння у фізиці - поняття простору і часу, у математиці - крапка).
Властивості алгоритму:
Масовість
придатний до багатьох задач певного класу.
Визначеність
кожна команда алгоритму визначаються і тлумачиться однозначно.
Дискретність
алгоритм складається з послідовних зааверошених команд або дій.
Результативність
кожна дія приводить до певного результату.
Формальність
виконавець може виконати поставлене завдання, діючи за алгоритмом, виконуючи його вказівки, і при цьому може навіть не розуміти їх змісту.
Скінченність
діючи за алгоритмом, можна отримати результат за скінченну кількість кроків.
Існують наступні способи опису алгоритмів:словесний; у вигляді схем, малюнків, графіків тощо; за допомогою блок-схем;використовуючи алгоритмічну мову; використовуючи мови програмування. Запис алгоритмів за допомогою блок-схеми був запропонований в інформатиці для наочності представлення алгоритму за допомогою набору спеціальних блоків. Основні з цих блоків наступні:
Використовуючи дані блоки, можна подати, наприклад, алгоритм чищення картоплі в такому вигляді:
Наступний спосіб - навчальні алгоритмічні мови (псевдокоди). Ці мови мають жорстко визначений синтаксис і вже максимально наближені до машинної мови (мови програмування). Але створені вони з навчальною метою, тому мають зрозумілий для людей вигляд. Таких псевдокодів зараз існує велика кількість, починаючи з графічних середовищ "Алгоритміка", "Роботландія", "Лого-світи", "Черепашка" тощо і закінчуючи текстовими "національними" реалізаціями алгоритмічних мов, подібних до Паскаля. Ці псевдокоди мають програмну реалізацію і дуже широко застосовуються на етапі навчання основам програмування.
Спосіб максимально наближений до комп'ютера - це мови програмування. Справа в тому, що найчастіше в практиці виконавцем створеного людиною алгоритму являється машина і тому він повинен бути написаний мовою, зрозумілою для комп'ютера, тобто мовою програмування.