Блок-схемы алгоритмов
В настоящее время в вычислительной технике для записи алгоритмов используется «ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения». Он входит в группу стандартов единой системы программной документации (ЕСПД) [6]. Этот стандарт введен взамен «ГОСТ 19.002-80. Схемы алгоритмов и программ. Правила выполнения. ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические» [7,8]. Но стандарт от 1990 года не совсем полный, в частности, там отсутствуют размеры и отношения сторон блоков, изменены название и трактовка некоторых из них. Поэтому совместно с ГОСТ 19.701-90 рекомендуется использовать и ГОСТ 19.002-80, ГОСТ 19.003-80.
Далее приводятся выдержки из этих стандартов. В них графические блоки называются символами.
2.2. Схема программы.
2.2.1. Схемы программ отображают последовательность операций в программе.
2.2.2. Схема программы состоит из:
1) символов (т.е. блоков) процесса, указывающих фактические операции обработки данных (включая символы, определяющие путь, которого следует придерживаться с учетом логических условий);
2) линейных символов, указывающих поток управления;
3) специальных символов, используемых для облегчения написания и чтения схемы.
Из-за разночтений в табл. 1.1 приводится описание основных символов (в стандарте их существенно больше) как по ГОСТ 19.701-90, так и по ГОСТ 19.003-80.
Таблица 1.1. Наименование и обозначение символов и отображаемые ими функции
Обозначение и размеры | Наименование и функция по ГОСТ 19.701-90 | Наименование и функция по ГОСТ 19.003-80 |
Процесс. Символ отображает функцию обработки данных любого вида (выполнение операции или группы операций, приводящие к изменению значения, формы или размещения информации или к определению, по которому из нескольких направлений потока следует двигаться). | Процесс. Выполнение операций или группы операций, в результате которых изменяется значение, форма представления или расположение данных. | |
Линия. Символ отображает поток данных или управления. При необходимости или для повышения удобочитаемости могут быть добавлены стрелки-указатели. | Линия потока. Указание последовательности перехода между символами. Направления линии потока сверху вниз и слева направо принимают за основные и, если линии потока не имеют изломов, стрелками можно не обозначать. В остальных случаях направление линии потока обозначать стрелкой обязательно. |
Продолжение табл. 1.1.
Решение. Символ отображает решение или функцию переключательного типа, имеющую один вход и ряд альтернативных выходов, один и только один из которых может быть активизирован после вычисления условий, определенных внутри этого символа. Соответствующие результаты вычисления могут быть записаны по соседству с линиями, отображающими эти пути. | Решение. Выбор направления выполнения алгоритма или программы в зависимости от некоторых переменных условий. | |
Подготовка. Символ отображает модификацию команды или группы команд с целью воздействия на некоторую последующую функцию (установка переключателя, модификация индексного регистра или инициализация программы). | Модификация. Выполнение операций, меняющих команды или группу команд, изменяющих программу. | |
Граница цикла. Символ, состоящий из двух частей, отображает начало и конец цикла. Обе части символа имеют один и тот же идентификатор. Условия для инициализации, приращения, завершения и т.д. помещаются внутри символа вначале или в конце в зависимости от расположения операции, проверяющей условие. | (отсутствует) |
Продолжение табл. 1.1.
Данные. Символ отображает данные, носитель данных не определен. | Ввод-вывод. Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод) | |
Ручной ввод. Символ отображает данные, вводимые вручную во время обработки с устройств любого типа (клавиатура, переключатели, кнопки, световое перо, полоски со штриховым кодом). | Ручной ввод. Ввод данных вручную при помощи неавтономных устройств с клавиатурой, набором переключателей, кнопок. | |
Документ. Символ отображает данные, представленные на носителе в удобочитаемой форме (машинограмма, документ для оптического или магнитного считывания, микрофильм, рулон ленты с итоговыми данными, бланки ввода данных). | Документ. Ввод-вывод данных, носителем которых служит бумага | |
Предопределенный процесс. Символ отображает предопределенный процесс, состоящий из одной или нескольких операций или шагов программы, которые определены в другом месте (в программе, модуле). | Предопределенный процесс. Использование ранее созданных и отдельно описанных алгоритмов или программ. |
Окончание табл. 1.1.
Терминатор. Символ отображает выход во внешнюю среду и вход из внешней среды (начало или конец схемы программы, внешнее использование и источник или пункт назначения данных). | Пуск – останов. Начало, конец, прерывание процесса обработки данных или выполнения программы. | |
Соединитель. Символ отображает выход в часть схемы и вход из другой части этой схемы и используется для обрыва линии и продолжения ее в другом месте. Соответствующие символы-соединители должны содержать одно и то же уникальное обозначение. | Соединитель. Указание связи между прерванными линиями потока, связывающими символами. | |
Комментарий. Символ используют для добавления описательных комментариев или пояснительных надписей в целях объяснения или примечаний. | Комментарий. Связь между элементом схемы и пояснением. |
Расстояния между параллельными линиями потока должно быть не менее 3 мм, между остальными символами схемы - не менее 5 мм.
Размер a должен выбираться из ряда 10, 15, 20 мм. Допускается увеличивать размер a на число, кратное 5. Размер b равен 1,5a.
Записи внутри символа или рядом с ним должны быть краткими. Сокращение слов и аббревиатуры, за исключением установленных государственными стандартами, должны быть расшифрованы в нижней части поля схемы или в документе, к которому эта схема относится.
Координаты зоны символа или порядковый номер проставляют в верхней части символа в разрыве его контура по аналогии с примером, изображенным на рис. 1.2.
Рис. 1.2. Пример фрагмента схемы с обозначением порядковых номеров символов на схеме
При числе исходов не более трех признак условия решения (Да, Нет, =, <, >) проставляют над каждой выходящей линией потока или справа от линии потока. При числе исходов более трех условие исхода проставляется в разрыве линии потока. Адрес исхода проставляется в продолжении условия исхода и отделяется от него пробелом (см. рис. 1.3).
Рис. 1.3. Возможные варианты отображения блока решения
Здесь Yi - условие i-го исхода, 011E1, 016A3, 005B5, 015E4 – адреса исходов.
Рис. 1.4. Пример использования символов границы цикла.
На рис. 1.4 приводится фрагмент алгоритма с введенным в ГОСТ 19.701-90 символом «Граница цикла».
Рис. 1.5. Пример блок-схемы алгоритма вычисления кубического корня с блоком «решение»
Рис. 1.6. Пример блок-схемы алгоритма вычисления кубического корня с блоками границы цикла
На рис. 1.5 и 1.6 изображены примеры блок-схем одного и того же алгоритма, но с использованием разных символов.
Дата добавления: 2016-06-29; просмотров: 4093;