Что такое алгоритмизация и алгоритм?
Алгоритмизация – это математический термин, отражающий процесс создания некоторых алгоритмов для решения определенного круга задач. Стоит отметить, что алгоритмизация – это и процесс исследования свойств алгоритмов, с целью дальнейшего использования уже существующих видов алгоритмов для решения новых задач.
Понятие алгоритмизации и алгоритма появилось еще в IX веке нашей эры и произошло от имени его создателя, известного математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi).
Алгоритм представляет собой некоторый набор инструкций, описание действий исполнителя для достижения поставленной цели/результата за определенное количество так называемых шагов (итераций). Как правило, алгоритмы представляют собой набор математических символов, выстроенных в определенном порядке. Благодаря этому набору символов формируется алгоритм, который отражает элементарные акты некоторой задачи, причинно-следственные связи между этими актами, последовательность их исполнения. Процесс алгоритмизации является достаточно сложным и трудоемким, им занимаются узкоспециализированные специалисты, называемые алгоритмистами (наука называется «алгоритмикой»). Алгоритмика включена в состав области программирования. При построении алгоритмов используются подходы алгебр логики.
Алгоритмизация позволяет переформировать большой объем информации в структурированный, удобный вид. В настоящее время алгоритмизация используется все больше для вычислительных машин, но изначально алгоритмы были созданы для использования людьми для выполнения сложных операций посредством выполнения небольших элементарных шагов. Создание любой инструкции (к оборудованию, инструкции работы с чем-либо) является своего рода алгоритмизацией, т.к. представляет собой последовательной описание действий. Как правило, в инструкции для людей описываются простые процессе – взять, отрыть, повернуть. Те же самые действия описываются и для вычислительных машин, и единственным отличием является то, что для машины такая инструкция написана на языке, который понятен машине.
Методы алгоритмизации
В области алгоритмизации для записи решения могут быть использованы следующие методы описания алгоритма.
Словесное описание, которое представляет собой текстовое описание процесса с использованием формул и выстроенное последовательно – по пунктам, на естественном языке. Например, с помощью алгоритма необходимо решить следующее выражение: $y = 4x + (9 – 8r)$. Если бы решения данного алгоритма было необходимо представить с помощью словесного описания, то это приняло бы вид:
- Необходимо ввести значения $x$ и $r$;
- Вывести разницу выражения $9 – 8r$;
- Умножить $x$ на $4$;
- Результат умножения $4 x$ (результат реализации пункта 3) сложить с результатом вычисления $9 – 8r$ (результат реализации пункта 2);
- Вывести у как результат вычисления выражения $4x + (9 – 8r)$.
Данный способ не является распространенным, так как имеет некоторый ряд ограничений: не является строго формализованным, достаточно емкий (большое количество лишний слов и, как следствие, большой объем описания), не характеризуется однозначностью.
Блок-схема, которая представляет собой один из методов графического представления алгоритма. При использование такого метода шаги отражаются в виде блоков разной формы, которые соединяются между собой стрелками (прерывистыми или сплошными). Пример блок-схемы алгоритма приведен на рисунке 1;
Рисунок 1. Блок-схема. Автор24 — интернет-биржа студенческих работ
На рисунке блок «процесс» представлен в виде прямоугольника и используется для обозначений действия или последовательности действий. Блок «решения» представлен в виде ромба и используется для проверки условия. Блок «Пуск/остановка» или так называемый «терминатор» представлен в виде овала и означает начало/окончание работы алгоритма. Блок «Пуск/остановка» является обязательным элементом любой блок-схемы алгоритма.
Псевдокод, который представляет собой компактный язык описания алгоритмов посредством ключевых слов императивных языков программирования. Как правило, псевдокод не описывает детали, которые могут быть восприняты человеком верно. Основная цель псевдокода – обеспечения понимания алгоритма пользователем (человеком). Псевдокод занимает некоторое промежуточное место между алгоритмическими языками программирования и естественными (словесным описанием). В псевдокоде используются служебные слова, смысл которых всегда строго определен заранее, они выделяются жирным шрифтом в печатном тексте или подчеркиваются, если тест рукописный. Пример псевдокода представлен на рисунке 2;
Рисунок 2. Псевдокод. Автор24 — интернет-биржа студенческих работ
Алгоритмические языки программирования. Наиболее популярный способ записи алгоритмов для вычислительных машин, который основан на применении кодов, точного описания синтаксиса алгоритма и семантики. Существует достаточно большое количество языков программирования (классифицируемых по различным признакам), например, Pascal, MatLAB, Prolog, Basic, Активный Оберон, Mathematica и т.д. Пример записи на одном из алгоритмических языков представлен на рисунке 3.
Рисунок 3. Язык программирования. Автор24 — интернет-биржа студенческих работ
Свойства алгоритма
Алгоритмизация/алгоритм характеризуется следующими свойствами:
- Понятность для исполнителя. Исполнитель (вычислительная машин, человек) должен понимать каким образом выполнить данный алгоритм;
- Дискретность. Алгоритм должен быть построен как блок последовательных элементарных операций;
- Четкость. Каждая из элементарных операций должна быть четко и подробно описана, чтоб существовал лишь единственный способ выполнения данной операции;
- Результативность. За определенное количество итераций алгоритм должен приводить к конечному решению поставленной задачи;
- Массовость или универсальность. Разработанный алгоритм должен быть применим ко всем задачам, относящимся к одной группе, которые различаются исключительно вводными данными.