Алгоритмизация — это заранее определённая, ясная и точная инструкция вероятному исполнителю по реализации определенной последовательности действий для достижения решения поставленной задачи за конечное число операций.
Введение
Алгоритмом является описание некоторой последовательности действий исполнителю, позволяющая достичь поставленной цели за некоторое конечное количество шагов. Алгоритм в информатике считается основополагающим понятием. Название произошло от написания по латыни имени знаменитого арабского учёного аль-Хорезми. В одной из своих работ он сформулировал правила отображения чисел арабскими цифрами и операций над цифрами, осуществляемых столбиком. Позже под этим термином стали понимать точное задание очерёдности действий, которое позволяет достичь требуемого результата на базе обработки исходной информации.
Алгоритмы, как правило, предназначены для их исполнения в ручном или автоматическом режиме. Формирование их, от самых простых до максимально сложных, является творческим процессом. Эта деятельность под силу только человеку, являющемуся разумным существом.
Информатика и алгоритмизация
Следует уточнить понимание определения «алгоритм в информатике», что является не такой уж постой задачей. Для этого необходимо сформулировать общие свойства алгоритма. Информатика даёт возможность на их базе установить отличия алгоритмов от других инструкций. Алгоритмическая совокупность инструкций имеет следующий набор свойств:
- Свойство дискретности.
- Свойство результативности.
- Свойство массовости.
- Свойство определенности.
Под дискретностью понимается раздельность набора команд, то есть, его дискретность, состоящая в том, что он предписывает вариант решения задачи в формате определённой очерёдности исполнения шагов. Все очередные шаги исполняются только по завершении выполнения предыдущего шага.
Под определенностью понимается тот факт, что правила алгоритма должны быть четкими и однозначными и не должны позволять произвольной трактовки. Это даёт возможность исполнения алгоритма в информатике чисто механически, не требуя дополнительной информации по решению задачи.
Под результативностью (конечностью) понимается тот факт, что задача должна быть решена за некоторое не бесконечное количество шагов.
Под свойством массовости следует понимать, что совокупность команд, решающих задачу, формируется в некотором общем формате. Он должен быть предназначен для решения не одной задачи, а целого класса задач, отличающихся только исходными данными, которые должны находиться в диапазоне, называемом областью применяемости. Таков весь основной набор свойств алгоритма, а информатика изучает использование данных свойств на практике.
Однако следует заметить, что только одних свойств алгоритма недостаточно. Если основываться только на приведённых выше свойствах и пытаться сформулировать понятие алгоритма в информатике, то его понимание окажется явно неполным и не совсем точным. С одной стороны, алгоритм, являясь набором инструкций, необязательно должен решить какую-то задачу. С другой стороны, свойство «массовости» имеют не столько алгоритмы, сколько все методики математики. Практические задачи, которые могут быть решены математическими методами, основываются на выделении определённых значимых признаков, характеризующих заданный набор явлений. Далее самые важные признаки кладутся в основание математической модели, а малосущественные признаки просто не учитываются.
При изучении темы «алгоритмизация» по информатике, для пояснения смысла данного понятия, часто в качестве примеров приводятся, так называемые, бытовые алгоритмы, а именно:
- Алгоритм кипячения воды.
- Алгоритм открытия дверей квартиры.
- Алгоритм перехода улицы.
Несколько более сложными бытовыми инструкциями считаются кулинарные рецепты или правила приготовления лекарств. Однако в полном смысле алгоритмами их не следует называть, потому что для изготовления лекарства и приготовления пищи необходимы знания, а алгоритм предполагает бездумное пошаговое исполнение определённых предписаний. Правила арифметических операций или построения геометрических фигур также могут быть отнесены к этой категории информатики.
Типы алгоритмов могут отличаться по виду деятельности, целям и путям их решения. Известны следующие типы алгоритмов:
- Механические. Такие совокупности команд заранее определены (к примеру, это работа двигателя). Они исполняются в единственной последовательности.
- Гибкие (стохастические или эвристические). Первые могут задавать несколько направлений решения задачи, а вторые могут решать задачи на базе аналогий и ассоциаций.
- Линейные. Команды в данном варианте исполняются по очереди друг за другом.
- Разветвляющиеся. Это алгоритмы с условиями, по результатам проверки которых исполняется одна из нескольких возможных веток.
- Циклические. Это алгоритмы, которые используют многократное повторение определённого набора операций. Как правило, такие наборы команд используются при переборе вариантов.
Одной из отраслей, изучаемых информатикой, является алгоритмизация, то есть процесс формирования алгоритма. Предварительной стадией алгоритмизации задач считается реализация структурного представления набора команд, которое далее применяется на каждом шаге дальнейшей работы.
Структурной схемой алгоритма является запись его шагов в формате блоков, которые объединены друг с другом при помощи стрелок. Один блок является одним шагом набора инструкций. Данное представление алгоритма достаточно популярно, поскольку оно является очень наглядным и благодаря этому существенно облегчает написание и отладку программ. Помимо этого, он удобен для объяснения того, как работает уже готовый алгоритм.
Алгоритм оперирует объектами, именуемыми данными. Начинается его исполнение с обработки входной информации, а итогом работы должна стать выдача выходных данных.