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

            Алгоритм может быть задан в следующем виде:

1)      в вербальной (словесной) форме;

2)      в виде ЛГСА (логически графическая схема алгоритма) – в графической форме в виде блок-схемы;

3)      в виде структурограммы Насси-Шнейдермана;

4)      в виде программы для ЭВМ.

Блок-схема это графическое изображение алгоритма. При её построении содержимое каждого шага алгоритма записывается в произвольной форме внутри блока, представленного геометрической фигурой. Порядок выполнения шагов указывается с помощью стрелок, соединяющих блоки. Использование различных геометрических фигур отражает различный характер выполняемых действий. Размеры фигур и их вид регламентированы ГОСТ 19.003-80 или ISO 1028-73.

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

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

Параллелограмм (блок ввода-вывода) содержит информацию о входных и выходных данных.

Овал означает начало или окончание вычислительного процесса.

 

Наиболее часто употребляемые символы ЛГСА

Начало, конец обработки данных

Вычислительный процесс

Ввод-вывод информации

Проверка условия (принятие решения)

Подпрограмма (стандартная процедура)

Блок модификации (цикл)

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

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

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

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

 

Логика - доступно для всех