В этом материале мы рассмотрим алгоритмы и их работу — что это, какие реализации алгоритмов возможны, какие алгоритмы бывают, для чего вообще они предназначены. Так как это простые темы (так называемая база), статья предназначена для начинающих.

Сегодня слово «алгоритм» встречается повсеместно, особенно когда речь идет об информатике и информационных технологиях. Вы должны были встречать и такое словосочетание, как выполнение программы на языке алгоритмов. Что же это такое — работа на языке алгоритмов, и что вообще подразумевает популярный ныне термин algorithm? Разбираться в этих темах будем на разных, но предельно простых примерах, то есть так, чтобы понял каждый.

Определение. История возникновения термина

Алгоритмические последовательности — они повсюду. Используя язык алгоритмов, работают автоматические механизмы и компьютеры, по алгоритмическим принципам часто выполняют свои действия люди, причем что-то видно явно, а что-то скрыто от глаз.

В контексте стандартной определяющей терминологии, принятой в информатике, принято говорить, что алгоритмом является некая последовательность действий, причем эта последовательность позволяет достигать определенного результата. Нередко этот результат достигается наиболее эффективным и оптимальным способом.  

Согласно одной из версий, сам термин в русском языке произошел от имени одного древнего среднеазиатского ученого . Таким образом, имя этого ученого было почему-то вынесено в заглавие перевода. Надо понимать, что именно так слово алгоритм попало в европейские языки, то есть это произошло на базе латинизированного имени ученого, вынесенного в заглавие переведенного трактата.

Что такое работа по алгоритму?

Алгоритмы различны и по записи, и по структуре, и по сложности решаемых задач. Одни решаются быстро и легко, другие невозможно решить, даже используя всю производительную мощь современных компьютеров.

Если абстрагироваться от математики и информатики, то, говоря простым языком, algorithm должен описывать любую определенную последовательность, приводящую к достижению результата. К примеру, нужно понимать, что даже банальный поход в магазин за хлебом можно описать в виде определенных шагов:

  1. Убедиться, что текущее время соответствует времени работы магазина (вы ведь не пойдете в магазин, пока не узнаете время его работы, верно?)
  2. Определить свою платежеспособность и взять необходимые платежные средства, необходимые для осуществления требуемой покупки (почему не просто «взять деньги»? Потому, что во многих магазинах вы можете отовариться, к примеру, по карте рассрочки или даже за счет подарочного сертификата).
  3. Одеться в соответствии с погодой и…

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

Из этого выведем еще один вариант определения:

  • Алгоритмом называют перечень инструкций, которые описывают порядок действия конкретного исполнителя в целях решения определенной задачи за конечное количество действий.

Вернувшись к информатике и программированию, скажем, что там алгоритмы применяются при написании программ — то есть последовательности требуемых действий описываются на языке, понятном информационно-вычислительной технике. И чем качественнее выбранные алгоритмы, тем лучше и эффективнее программа решает поставленные задачи. Также алгори тм предоставляет возможность многократного автоматического решения одной и той же задачи (могут меняться лишь входные данные, значения переменных).    

Вдобавок к этому, каждый раз, когда человек изучает какой-нибудь язык программирования, он вникает в принципы построения алгоритмов будущей программы. А еще существуют блок-схемы, наглядно показывающие логику вычислений и алгоритмический ход обработки данных.

Виды

Мы уже утверждали, что алгоритмические последовательности различны, различны и способы их реализации. Знать и понимать стандартные алгоритмы должен каждый. Рассмотрим основные типы, так называемую базу:

  1. Линейный. При такой реализации инструкции выполняются в строгой очередности.
  2. Ветвления. Тут появляются дополнительные условия выполнения. К примеру, если на улице дождь, берем зонт, если погода ясная, зонт брать не нужно.
  3. Циклический. Эта последовательность повторяется несколько раз в автоматическом режиме до тех пор, пока не будет достигнут результат, соответствующий определенным заранее условиям. Если цикл повторяется бесконечно, происходит зацикливание (бесконечное повторение) — этого следует избегать.

Подробнее о видах можно почитать здесь.

В языках программирования для решения определенных задач могут использоваться различные алгоритмические последовательности — к примеру, сюда можно отнести методы поиска, методы сортировки и т. п.

Интересуют более сложные темы? Обратите внимание на специальный курс в OTUS!

Что такое работа по алгоритму?

Источник: https://ktonanovenkogo.ru/voprosy-i-otvety/algoritm-chto-ehto-takoe-vidy-algoritmov.html.