Способы представления алгоритмов.

Отметим, что алгоритм может пониматься как некоторая функция со специальными свойствами, которые были описаны ранее. Эта функция существует как абстракция. Мы же всегда воспринимаем алгоритм в его некоторой записи, или, как говорят, в его представлении.
Очевидно также, что любой исполнитель может воспринимать алгоритм, исполнять его, только в том случае, когда алгоритм представлен в том виде, в каком он понятен исполнителю. Это означает, что любое представление алгоритма является некоторым информационным блоком, то есть представление алгоритма является информацией, и она расположена на некотором носителе информации.
Таким образом, сам алгоритм есть некоторая абстракция, но реальная его реализация возможна только в виде его представления. Очевидно также, что у любого алгоритма могут быть различные представления. Они могут быть похожими, однако могут и не иметь ничего общего, кроме как реализации одного алгоритма.
Представление алгоритма можно понимать как отображение множества алгоритмов для фиксированного исполнителя во множество некоторых данных, например, символов или рисунков.
Существует три основных способа представления алгоритмов:
1) графический;
2) неформальная языковая (алгоритмическая) нотация (запись);
3) запись на алгоритмическом языке.
Любая форма записи (представления) алгоритма должна обеспечивать свойства алгоритма: дискретности, конечности, определенности, массовости.
В графической форме алгоритм представлен в виде геометрических фигур. Обычно они связываются линиями, которые показывают направление передачи информации при исполнении алгоритма. Существует несколько вариантов графического представления алгоритмов, но широкую известность получило (и стало фактическим стандартом графического представления) представление в виде блок-схем. Метод блок-схем был предложен самим Фон Нейманом – одним из первых разработчиков вычислительной техники.
Алгоритм может быть представлен в виде записей литературного языка, например, русского. В этом случае последовательностью предложений описывается последовательность действий исполнителя, которым может быть в большинстве случаев только человек. Никаких специальных правил и требований к таким записям алгоритмов не предъявляется. Главное, что бы выполнялись требования, предъявляемые к алгоритмам, о которых указывалось выше. В литературе, посвященной алгоритмам, иногда используется такой способ записи алгоритмов. В качестве примера можно привести трехтомную монографию известного специалиста по информатике Д.Кнута "Искусство программирования для ЭВМ". Такие записи на естественном языке называют иногда неформальной алгоритмической нотацией.
В неформальной алгоритмической нотации может использоваться так называемый псевдокод. Псевдокод – это запись алгоритма с использованием языковых конструкций известных алгоритмических языков, либо языков программирования. Например, Паскаль, Алгол, Си, Бейсик и др. При этом нет никаких специальных требований к оформлению таких записей, за исключением требования однозначности при реализации записанных действий.
Третий способ представления алгоритмов – это способ записи алгоритмов с использованием алгоритмических языков, либо языков программирования. Алгоритмический язык – это система правил и обозначений для точной и однозначной записи алгоритмов. Такая запись является формализованной. Это означает, что запись подчиняется строгим требованиям синтаксиса языка. Язык программирования – это система обозначений и правил для записи алгоритмов, предназначенная для использования на ЭВМ. На практике языки программирования привязаны к конкретным классам ЭВМ, операционным системам и т.д. В языках программирования существенными являются технические и технологические аспекты, что не характерно для алгоритмических языков, которые обычно машинно-независимы.
Программой будем называть любую запись серии исполняемых команд на заданном языке программирования.
Очевидно, способ представления алгоритмов на алгоритмических языках/языках программирования играет ведущую роль. Существует большое количество языков программирования. Одни из них широко распространены: Basic, Pascal, C/C++, Modula, Fortran. Другие же имеют специальное назначение: Prolog, Forth, Lisp. Некоторые языки сыграли заметную роль в программирования, но сейчас не используются. Примером является язык Algol. Именно этот язык послужил основой для разработки более совершенных языков, таких как Паскаль, Си и других. Алгол использовался также как алгоритмический язык для записи алгоритмов, в том числе в качестве автокода. Можно также отметить такой важный язык программирования для научно-технических расчетов: Фортран.
Существуют языки декларативного (логического) программирования, например Пролог. Здесь нет алгоритмических инструкций, а есть описания данных и связей между ними. Исполняющая система производит поиск наилучшего способа решения поставленной задачи. На других принципах построены функциональные языки, например, Лисп. Основные управляющие структуры таких языков есть последовательность вызовов так называемых рекурсивных функций. Это означает, что нет необходимости выполнять проверку логических условий, а выполнять только вычисления. Чтобы понять суть таких подходов, необходимо получить специальные знания по теории алгоритмов и математической логике. Это касается глубинного понимания сути алгоритма, связанного с рекурсивными функциями и различными моделями машины Тьюринга.
В 1985 году основатель школьной информатики академик А.П.Ершов предложил для за-писи алгоритмов новый алгоритмический язык, который назвали школьным алгоритмическим языком. Иногда этот язык называют Е-языком, в честь его создателя. Но это называние является неформальным.





Алгоритмические структуры.

Алгоритмические структуры.

Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.

Базовая структура следование. Образуется из последовательности действий, следующих одно за другим.

Базовая структура ветвление. Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран.

Структура ветвление существует в четырех основных вариантах:

• если-то; если-то-иначе; выбор; выбор-иначе.

Способы представления алгоритмов. - student2.ru

Базовая структура цикл. Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Основные разновидности циклов представлены в таблице:

Способы представления алгоритмов. - student2.ru

Наши рекомендации