Как оформляются функции и процедуры в блок схеме

Обновлено: 09.05.2024

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

При начертании элементов рекомендуется придерживаться строгих размеров, определяемых двумя значениями a и b . Значение a выбирается из ряда 15, 20, 25.. мм, b рассчитывается из соотношения 2⋅a = 3⋅b . Определение размеров несёт рекомендательный характер, однако, при соблюдении выполнения размеров блок-схемы имеют более аккуратный вид.

Действие

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

Данные (ввод-вывод)

Символ отображает данные, носитель данных не определён.

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

Предопределённый процесс (функция)

Символ отображает предопределённый процесс, состоящий из одной или нескольких операций или шагов программы, которые определены в другом месте (в подпрограмме, модуле). Например, в программировании − вызов процедуры или функции.

Вопрос (условие или решение)

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

Ограничитель

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

На практике имеют смысл следующие описания ограничителей: начало/конец, запуск/останов, перезапуск (подразумевает перезапуск данной блок-схемы), ошибка (подразумевает завершение алгоритма с ошибкой), исключение (подразумевает исполнение программного исключения)

Символ, состоящий из двух частей, отображает начало и конец цикла. Обе части символа имеют один и тот же идентификатор. Условия для инициализации, приращения, завершения и т. д. помещаются внутри символа в начале или в конце в зависимости от расположения операции, проверяющей условие.

Пример блок-схемы расчёта факториала с использованием цикла

Пример вложенных циклов

Соединитель

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

Разделение алгоритма на две части с использованием соединителей

Комментарий

Символ используют для добавления описательных комментариев или пояснительных записей в целях объяснения или примечаний. Пунктирные линии в символе комментария связаны с соответствующим символом или могут обводить группу символов. Текст комментариев или примечаний должен быть помещён около ограничивающей фигуры.

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

Параллельные действия

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

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

Описание других элементов схем можно найти в соответствующих ГОСТ [1] . Среди элементов существуют:

  • Запоминаемые данные
  • Документ
  • Ручной ввод
  • Карта
  • Дисплей
  • Передача управления
  • Альтернативная связь между двумя или более символами
  • и др.

Порядок выполнения действий задаётся путём соединения вершин дугами, что позволяет рассматривать блок-схемы не только как наглядную интерпретацию алгоритма, удобную для восприятия человеком, но и как ориентированный граф (т. н. граф-схема алгоритма, ГСА). Подобное представление алгоритмов используется при построении систем логического управления, реализующих заданные управляющие алгоритмы, в задачах распараллеливания вычислений и так далее.

Распространённой и ошибочной практикой является попытка использования блок-схем для иллюстрации алгоритма на низком уровне (на уровне а) — то есть попытка вписывать в блоки схемы фрагменты а на каком-либо искусственном языке. Такой подход применим только к программам, организованным согласно структурному подходу, и не может отразить, к примеру, алгоритм, который реализуется во взаимодействии абстракций при объектно-ориентированном подходе. Для целей описания алгоритмов, взаимодействия частей системы и иллюстрации многих других сопутствующих вещей существует нотация UML [ источник не указан 437 дней ] .

БЛОК-СХЕМЫ АЛГОРИТМОВ

8.2. Блок-схемы алгоритмов

При описании алгоритмов давно и успешно используются блок-схемы (Basic Flowchart). Построение блок-схем алгоритмов регламентируется ГОСТ 19.701-90 (ИСО 5807-85) "Единая система программной документации. Схемы алгоритмов программ, данных и систем. Условные обозначения и правила выполнения" [22]. Данный государственный стандарт составлен на основе международного стандарта "ISO 5807-85. Information processing – Documentation symbols and conventions for data, program and system flowcharts, program network charts and system resources charts".

Согласно ГОСТ 19.701-90 под схемой понимается графическое представление определения, анализа или метода решения задачи. С помощью схем можно отобразить как статические, так и динамические аспекты системы. Символы, приведенные в государственном стандарте, могут использоваться в следующих типах схем:

- схемы данных – определяют последовательность обработки данных и их носители;

- схемы программ – отображают последовательность операций в программе (по сути, это и есть блок-схемы алгоритмов в традиционном понимании);

- схемы работы системы – отображают управление операциями и потоки данных в системе;

- схемы взаимодействия программ – отображают путь активации программ (модулей) и их взаимодействие с соответствующими данными;

- схемы ресурсов системы – отображают конфигурацию блоков данных и обрабатывающих блоков.

Как видно из приведенных выше типов схем, они могут использоваться не только для моделирования поведенческого аспекта, но и для задач функционального, информационного и компонентного проектирования.

По своему назначению символы (элементы) графической нотации делятся на четыре категории:

- символы данных – указывают на наличие данных, вид носителя или способ ввода-вывода данных;

- символы процесса – указывают операции, которые следует выполнить над данными;

- символы линий – указывают потоки данных между процессами и/или носителями данных, а также потоки управления между процессами;

- специальные символы – используются для облегчения написания и чтения схем.

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

Таблица 8.1. Условные обозначения на блок-схемах

№ п/п Символ Наименование Назначение
1. СИМВОЛЫ ДАННЫХ
Основные
1.1 Данные Данные, носитель которых не определен.
1.2 Запоминающее устройство (ЗУ) Данные, хранимые в виде, пригодном для автоматической обработки, носитель не определен.
Специфические
1.3 ОЗУ Данные, хранящиеся в ОЗУ (оперативная память).
1.4 ЗУ с последовательным доступом Данные, хранящиеся на магнитной ленте (магнитная лента, магнитофонная кассета).
1.5 ЗУ с прямым доступом Данные, хранящиеся на жестких или гибких магнитных дисках, CD, DVD, ZIP, флеш-накопителях и т.д.
1.6 Документ Данные, представляемые не в компьютерном виде (на бумаге, на пленках и т.д.).
1.7 Ручной ввод Данные, вводимые вручную с помощью клавиатуры, мыши, светового пера и т.д.
1.8 Карта Данные на перфокартах, картах с магнитной полосой, смарт-картах, картах со считываемыми метками и т.д.
1.9 Бумажная лента Данные на бумажной ленте.
1.10 Дисплей Данные, отображаемые на экране монитора, сигнальные индикаторы и т.д.
2. СИМВОЛЫ ПРОЦЕССА
Основной
2.1 Процесс Операция или группа операций (функций, действий) по обработке данных.
Специфические
2.2 Предопределенный процесс (процедура) Процесс, состоящий из одной или нескольких операций, определенных в другой подпрограмме (применительно к блок-схемам - описанных на другой схеме).
2.3 Ручная операция Операция, выполняемая вручную.
2.4 Подготовка Подготовительные операции, выполняемые с целью модификации последующих операций (цикл с параметром For-To-Do).
2.5 Решение Операция с одним входом и несколькими альтернативными выходами, один из которых активизируется после проверки условия, записываемого внутри символа (операторы ветвления - If-Then-Else, Case или Switch).
2.6 Параллельные действия Параллельное выполнения двух и более операций.
2.7 Границы цикла Начало и конец цикла. Особенности работы цикла (инициализация, приращение, условие) записывается в начале или конце, в зависимости от того, где осуществляется его проверка (циклы с пред- или постусловием - For-To-Do, While-Do, Do-While или Repeat-Until).
3. СИМВОЛЫ ЛИНИЙ
Основной
3.1 Линия Поток данных или управления.
Специфические
3.2 Канал связи Передача данных по каналу связи.
3.3 Пунктирная линия Альтернативная связь между двумя и более символами или для обводки комментируемого участка схемы.
4. СПЕЦИАЛЬНЫЕ СИМВОЛЫ
4.1 ГОСТ Соединитель Используется для обрыва линий и их продолжения в другом месте.
Обычно используется для обозначения взаимосвязанных частей схемы на разных листах. Внутри соединителя пишется номер соединения.
ИСО
4.2 Терминатор Выход во внешнюю среду или вход из внешней среды (начало и конец процесса обработки данных [в этом случае внутри пишут "начало" или "конец"], источник или пункт назначения данных, начало и конец работы предопределенного процесса).
4.3 Получатель – отправитель По назначению аналогичен символу "Терминатор".
4.4 Комментарий Символ используется для внесения пояснительных записей.
4.5 Пропуск Пропуск символа или группы символов.

8.3. Правила и рекомендации построения блок-схем

Ниже приводятся некоторые правила и рекомендации построения схем [22].

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

2. Большинство символов допускают задание внутри них текстовых пояснений. Если текст не помещается внутри символа, то лучше его приводить, используя комментарии.

3. Количество пересечений линий следует минимизировать. При этом считается, что пересекающиеся линии не имеют логической связи друг с другом. Другими словами потоки данных или управления в местах пересечений не меняют своего направления.

4. Если две или более линий объединятся в одну, то место объединения должно быть смещено.

Рис. 8.1. Объединение потоков данных или управления

5. Несколько выходов из символа решения следует показывать одним из следующих способов:

- несколькими линиями от данного символа к другим символам;

- одной линией от данного символа, которая затем разветвляется в соответствующее число потоков.

Рис. 8.2. Ветвление линий

В случае ветвления каждый выход из символа должен сопровождаться либо записью условия (например, условие "Сравнить A и B", 3 выхода: A > B, A < B и A = B), либо результата проверки условия, записанного внутри символа (например, условие "A = B", 2 выхода: Да и Нет).

Как видно, на рис. 8.2 символ решения допускает более двух исходящих потоков.

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

Рис. 8.3. Множественное обозначение символов

7. Если направление стрелки не указано, то направление потока считается сверху вниз, слева направо.

8.4. Примеры построения блок-схем для расчета допускаемых скоростей

В качестве иллюстрации использования блок-схем выбран блок расчета допускаемых скоростей. На диаграмме IDEF0 ему соответствует функция "Расчет допускаемых скоростей" (см. рис. 6.21), а на DFD – процесс "Рассчитать допускаемые скорости" (см. рис. 6.24). Для детализации этого блока на рис. 8.4 приведена контекстная блок-схема, описывающая эту процедуру в целом.

Рис. 8.4. Контекстная блок-схема

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

На рис. 8.5 дальнейшая детализация продолжена на примере предопределенной процедуры "Расчет допускаемых скоростей в кривых".

Составление блок-схемы, соответствующей всем требованиям ГОСТов, – небыстрый и кропотливый процесс. Если у вас возникли проблемы с проектированием блок-схемы или вы запутались в том, какой элемент блок-схемы нужно использовать в конкретном месте, то записывайтесь ко мне на репетиторский урок. На частном занятии вы сможете задать мне абсолютно любой вопрос, касающийся визуализации блок-схемы.

Ключевые элементы блок-схемы

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

Что такое схема? Схема – графическая интерпретация некоторого термина, события, анализа, действия, в котором применяются различные элементы для отображения данных.

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

Основные элементы, использующиеся при проектировании блок-схем

Название элемента

Графическое отображение

Функция

Терминатор или блок начало-конец

Элемент-терминатор

Блок команды, процесса, действия

Элемент-процесс

Данный блок отвечает за выполнение одной или нескольких операций. Как правило, в данный элемент блок-схемы вписывают команды, которые меняют данные, значения переменных. Например, арифметическая операция над двумя переменными будет записана в данном блоке.

Блок логического условия

Элемент логическое условие

Элемент предопределенный процесс

Если ваша программа предусматривает наличие подпрограмм: процедур или функций, то вызов подпрограммы записывается внутри данного элемента.

Блок ввода-вывода данных

Элемент данные

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

Блок цикла со счетчиком

Блок цикла for

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

Парный блок для циклов с пред- и постусловием

Элемент парный блок для циклов

Данный блок состоит из двух частей. Операции тела цикла размещаются между ними. Заголовок цикла и изменения счетчика цикла записываются внутри верхнего или нижнего блока – в зависимости от архитектуры цикла.

Элемент-соединитель

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

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

Если вы хотите углубить познания в области построения блок-схем или не до конца разобрались с каким-либо элементом блок-схемы, то записывайтесь ко мне на индивидуальный урок. На данном уроке мы детально разберем все ваши вопросы, а также проведем составление колоссального количества блок-схем различной степени сложности.

ГОСТ 19.701-90
(ИСО 5807-85)

Единая система программной документации

СХЕМЫ АЛГОРИТМОВ, ПРОГРАММ, ДАННЫХ И СИСТЕМ

Обозначения условные и правила выполнения

Unified system for program documentation. Data, program and system flowcharts, program network charts and system resources charts. Documentation symbols and conventions for flowcharting

МКС 35.080*
ОКСТУ 5004

* В указателе "Национальные стандарты" 2012 г.

МКС 01.080.50 и 35.080. - Примечание изготовителя базы данных.

Дата введения 1992-01-01

1. РАЗРАБОТАН И ВНЕСЕН Государственным комитетом СССР по вычислительной технике и информатике

А.А.Мкртумян (руководитель разработки); А.Л.Щерс, д-р. техн. наук; А.Н.Сироткин, канд. ист. наук; Л.Д.Райков, канд. техн. наук; А.В.Лобова; межведомственная Рабочая группа по разработке стандартов ЕСПД

2. УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Государственного комитета СССР по управлению качеством продукции и стандартам от 26.12.90 N 3294

3. Настоящий стандарт разработан методом прямого применения международного стандарта ИСО 5807-85* "Обработка информации. Символы и условные обозначения блок-схем данных, программ и систем, схем программных сетей и системных ресурсов"

* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - Примечание изготовителя базы данных.

5. ПЕРЕИЗДАНИЕ. Январь 2010 г.

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

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

Требования стандарта являются обязательными.

1. ОБЩИЕ ТРЕБОВАНИЯ

1.1. Схемы алгоритмов, программ, данных и систем (далее - схемы) состоят из имеющих заданное значение символов, краткого пояснительного текста и соединяющих линий.

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

1.3. В настоящем стандарте определены символы, предназначенные для использования в документации по обработке данных, и приведено руководство по условным обозначениям для применения их в:

1) схемах данных;

2) схемах программ;

3) схемах работы системы;

4) схемах взаимодействия программ;

5) схемах ресурсов системы.

1.4. В стандарте используются следующие понятия:

1) основной символ - символ, используемый в тех случаях, когда точный тип (вид) процесса или носителя данных неизвестен или отсутствует необходимость в описании фактического носителя данных;

2) специфический символ - символ, используемый в тех случаях, когда известен точный тип (вид) процесса или носителя данных или когда необходимо описать фактический носитель данных;

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


2. ОПИСАНИЕ СХЕМ

2.1. Схема данных

2.1.1. Схемы данных отображают путь данных при решении задач и определяют этапы обработки, а также различные применяемые носители данных.

2.1.2. Схема данных состоит из:

1) символов данных (символы данных могут также указывать вид носителя данных);

2) символов процесса, который следует выполнить над данными (символы процесса могут также указывать функции, выполняемые вычислительной машиной);

3) символов линий, указывающих потоки данных между процессами и (или) носителями данных;

4) специальных символов, используемых для облегчения написания и чтения схемы.

2.1.3. Символы данных предшествуют и следуют за символами процесса. Схема данных начинается и заканчивается символами данных (за исключением специальных символов, указанных в п.3.4).

2.2. Схема программы

2.2.1. Схемы программ отображают последовательность операций в программе.

2.2.2. Схема программы состоит из:

1) символов процесса, указывающих фактические операции обработки данных (включая символы, определяющие путь, которого следует придерживаться с учетом логических условий);

2) линейных символов, указывающих поток управления;

3) специальных символов, используемых для облегчения написания и чтения схемы.

2.3. Схема работы системы

2.3.1. Схемы работы системы отображают управление операциями и поток данных в системе.

2.3.2. Схема работы системы состоит из:

1) символов данных, указывающих на наличие данных (символы данных могут также указывать вид носителя данных);

2) символов процесса, указывающих операции, которые следует выполнить над данными, а также определяющих логический путь, которого следует придерживаться;

3) линейных символов, указывающих потоки данных между процессами и (или) носителями данных, а также поток управления между процессами;

4) специальных символов, используемых для облегчения написания и чтения блок-схемы.

2.4. Схема взаимодействия программ

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

2.4.2. Схема взаимодействия программ состоит из:

1) символов данных, указывающих на наличие данных;

2) символов процесса, указывающих на операции, которые следует выполнить над данными;

3) линейных символов, отображающих поток между процессами и данными, а также инициации процессов;

4) специальных символов, используемых для облегчения написания и чтения схемы.

2.5. Схема ресурсов системы

2.5.1. Схемы ресурсов системы отображают конфигурацию блоков данных и обрабатывающих блоков, которая требуется для решения задачи или набора задач.

2.5.2. Схема ресурсов системы состоит из:

1) символов данных, отображающих входные, выходные и запоминающие устройства вычислительной машины;

2) символов процесса, отображающих процессоры (центральные процессоры, каналы и т.д.);

3) линейных символов, отображающих передачу данных между устройствами ввода-вывода и процессорами, а также передачу управления между процессорами;

4) специальных символов, используемых для облегчения написания и чтения схемы.

Примеры выполнения схем приведены в приложении.


3. ОПИСАНИЕ СИМВОЛОВ

3.1. Символы данных

3.1.1. Основные символы данных

Символ отображает данные, носитель данных не определен.


3.1.1.2. Запоминаемые данные

Символ отображает хранимые данные в виде, пригодном для обработки, носитель данных не определен.


3.1.2. Специфические символы данных

3.1.2.1. Оперативное запоминающее устройство

Символ отображает данные, хранящиеся в оперативном запоминающем устройстве.


3.1.2.2. Запоминающее устройство с последовательным доступом

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


3.1.2.3. Запоминающее устройство с прямым доступом

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


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

Читайте также: