logo
Конспект лекций ДМ

6.1.2 Блок–схемы алгоритмов

Связи между шагами можно изобразить в виде графа:

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

1) из которой выходит одно ребро – операторы;

2) из которой выходит два ребра – логические условия или предикаты.

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

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