Статья: Блок-схемы как тип алгоритмов

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
Определение 1

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

Алгоритмы в виде блок-схем

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

  1. Каждая блок-схема имеет в своём составе блоки «начало» и «конец».
  2. Блок «начало» должен соединяться с блоком «конец» набором линий по любой ветви, которая есть на блок-схеме.
  3. Блок-схема не содержит никогда блоков, исключая блок «конец», которые не соединяются поточными линиями с другими блоками с обеих сторон, также, как и блоков, передающих управление в неизвестном направлении.
  4. Все блоки имеют нумерацию, которая всегда выполняется сверху вниз и слева направо. Число, обозначающее номер блока, должно располагаться вверху слева.
  5. Все блоки соединяются друг с другом поточными линиями, которые определяют очерёдность реализации блочных команд. Поточные линии всегда идут параллельно краям листа. Когда линии расположены справа налево или снизу вверх, то необходимо всегда ставить стрелки в окончании линий. В других случаях стрелки не обязательны.
  6. Все линии подразделяются на входящие в блоки и выходящие из блоков. Любая поточная линия определяется как выходящая для одного блока и входящая для другого.
  7. Блок «начало» является первым в блок-схеме и поэтому у него есть только выходящая линия потока.
  8. Соответственно, на конечный блок приходит только входящая линия потока, поскольку он стоит последним.
  9. Чтобы упростить понимание блок-схемы, необходимо, чтобы поточная линия приходила к блоку «операция» сверху, а уходила вниз.
  10. Для удобства чтения блок-схемы не следует прибегать к усложнённым пересечениям линий, их можно делать с разрывами. В месте, где разрывается линия, надо поставить соединяющие элементы и внутри их указать нумерацию блоков, которые линия соединяет. В составе блок-схемы никогда нет разрывов без соединителей.
  11. Для большей компактности блоков, всю, сопутствующую блоку информацию, необходимо помещать в комментариях к блокам.

Типы алгоритмов

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

  • Алгоритмы с линейной структурой.
  • Алгоритмы с разветвляющейся структурой.
  • Алгоритмы с циклической структурой.

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

Блок-схема линейного алгоритма.

Рисунок 1. Блок-схема линейного алгоритма.

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

  1. «Обход». Выполняется, если в одной из ветвей нет никаких проверочных условий. То есть эта ветвь просто обходит все процессы альтернативного направления. Пример на рисунке 2.

    Блок-схема.

    Рисунок 2. Блок-схема.

  2. «Разветвление». Каждое из направлений ветвления имеет определённый комплект операций (действий). Пример на рисунке 3.

    Блок-схема.

    Рисунок 3. Блок-схема.

  3. «Многообразный выбор». Существует несколько возможных веток, каждая из которых имеет свой набор операций (действий), подлежащих выполнению. Выбор конкретной ветви определяется по результатам вычислений условия. Пример на рисунке 4.

    Блок-схема.

    Рисунок 4. Блок-схема.

Замечание 1

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

Существую следующие виды циклов:

  1. С определённым заранее количеством выполнения операций (или имеющие счётчик).
  2. С неопределённым количеством выполнения операций (циклы с предварительным условием и циклы с условием после выполнения).

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

Блок-схема.

Рисунок 5. Блок-схема.

Перед началом выполнения первой операции, необходимо задать счётчику исходное значение. Им может быть некоторое число, зависящее от выполняемого алгоритма. Если значение переменной меньше числа, записанного в счётчик, то выполняется алгоритм тела цикла. После его завершения, число в счётчике изменится на значение шага счётчика, которое на блок-схеме обозначено как h. Если полученное числовое значение в счётчике менее заданного предела, выполнение цикла продолжится. Когда счётчик достигнет условного числа, выполнение операций цикла завершится и начнётся осуществление операций, которые, согласно блок-схеме, идут за циклом. Как правило, в блок-схемах применяется специальный блок, названный «подготовка». В этом блоке присваиваются все исходные данные цикла. А именно значение счётчика, шаг увеличения счётчика, величина начальных и конечных значений.

Источник: https://spravochnick.ru/