Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Типы алгоритмов и формы их представления



Известны три типа алгоритмов — линейный, разветвляющийся, циклический. Тип алгоритма определяется характером решаемой в соответствии с его командами задачи. Применяют три формы представления алгоритмов: табличную, словесную, графическую, но не все три формы возможны для любого из алгоритмов. Форма представления алгоритма зависит от его типа.

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

Задача. Вычислить площадь круга.

Дано: R, радиус круга.

Результат: S, площадь круга.

Метод решения: S = 3, 14R2.

 

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

Табличная форма представления алгоритмов применяется только для линейных вычислительных алгоритмов. Ее пример — Таблица 1.

Таблица 1

R, см 3, 14× R, см 3, 14× R× R, см2
3, 14 3, 14
6, 28 12, 56

 

Докажем, что данная таблица представляет алгоритм. Для этого убедимся, что система последовательных действий, задаваемых этой таблицей, удовлетворяет пяти требованиям, предъявляемым к алгоритмам. Действительно, команды в таком представлении алгоритма — названия столбцов. Процесс решения разбит на отдельные шаги, что заметно по названию столбцов, задающих дискретную структуру этого алгоритма. Он удовлетворяет требованию понятности: мы, как предполагаемые его исполнители, прочли указанные действия и поняли их. Смысл всех действий однозначен, переход к выполнению каждого следующего действия детерминирован (определен) последовательно идущими столбцами. Число столбцов конечно, значит, результат мы получим за конечное число шагов. Выполнено также требование массовости. Таблица допускает расчет при различных значениях исходных данных, если фиксировать результат вычислений для каждого варианта в различных ее строках.

Словесная форма представления (для всех типов алгоритмов). Выберем русский язык для записи алгоритма в этой форме и запишем последовательность команд, выполнение которых позволит при заданном значении радиуса круга найти его площадь:

1. Прочесть значение R.

  1. Умножить значение R на 3, 14.
  2. Умножить результат второго действия на значение R.
  3. Записать полученный в предыдущей команде результат как значение S.

 

Если воспользоваться командой присваивания, то словесная форма представления этого алгоритма станет более компактной:

1. Прочесть значение R.

  1. S : = 3, 14× R.
  2. S: = S× R.
  3. Записать значение S.

Или еще короче:

  1. Прочесть значение R.
  2. S: = 3, 14× R× R.

3. Записать значение S.

Что касается вычисления значения S, то во всех приведенных записях алгоритма мы были вправе использовать также другой порядок действий: вычислять сначала значение R2, которое затем умножать на коэффициент — значение числа π.

Графическая форма представления (применима для алгоритмов всех типов) основана на замене (кодировании) типичных алгоритмических команд определенными геометрическими фигурами — блоками.

БЛОК НАЗНАЧЕНИЕ
Начало / Конец
Действие Этот блок содержит команду присваивания: < имя переменной> : = < выражение> Например, C: = A * B
Ввод / Вывод Блок ввода нужен для получения исполнителем алгоритма данных из " внешнего мира". При выполнении этого блока пользователь алгоритма должен ввести данные, чаще всего с клавиатуры. Например, при выполнении следующей команды исполнитель алгоритма запросит значение переменной Х. Блок вывода позволяет вывести данные на внешнее устройство — файл на диске, экран монитора, принтер. Параметры вывода перечисляются через запятую. В качестве параметров могут выступать как переменные, так и константы. Строковые константы помещаются между знаками апострофа. Например, если значение переменной sum было равно 5, то в результате выполнения команды: будет выведено: Сумма двух чисел равна 5

 

Алгоритм решения нашей задачи при графической форме представления приведен на Рис. 1.

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

Циклический тип алгоритма. Алгоритм, составленный с использованием многократных повторений одних и тех же действий (циклов), называется циклическим. Такой алгоритм реализует решение очень многих задач. Форма представления для такого алгоритма может быть выбрана как словесная, так и графическая.

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

 

Рис. 1

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


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-14; Просмотров: 414; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.014 с.)
Главная | Случайная страница | Обратная связь