Гост блок схемы алгоритмов размеры для word
Схема — это абстракция какого-либо процесса или системы, наглядно отображающая наиболее значимые части. Схемы широко применяются с древних времен до настоящего времени — чертежи древних пирамид, карты земель, принципиальные электрические схемы. Очевидно, древние мореплаватели хотели обмениваться картами и поэтому выработали единую систему обозначений и правил их выполнения. Аналогичные соглашения выработаны для изображения схем-алгоритмов и закреплены ГОСТ и международными стандартами.
На территории Российской Федерации действует единая система программной документации (ЕСПД), частью которой является Государственный стандарт — ГОСТ 19.701-90 «Схемы алгоритмов программ, данных и систем» [1]. Не смотря на то, что описанные в стандарте обозначения могут использоваться для изображения схем ресурсов системы, схем взаимодействия программ и т.п., в настоящей статье описана лишь разработка схем алгоритмов программ.
Рассматриваемый ГОСТ практически полностью соответствует международному стандарту ISO 5807:1985.
Нужны ли блок-схемы? Альтернативы
Частные конторы никакие блок-схемы не используют, в книжках по алгоритмам [6] вместо них применяют словесное описание (псевдокод) как более краткую форму. Возможно блок-схемы применяют на государственных предприятиях, которые должны оформлять документацию согласно требованиям ЕСПД, но есть сомнения — даже для регистрации программы в Государственном реестре программ для ЭВМ никаких блок-схем не требуется.
Тем не менее, рисовать блок-схемы заставляют школьников (примеры из учебников ГОСТ не соответствуют) — выносят вопросы на государственные экзамены (ГИА и ЕГЭ), студентов — перед защитой диплом сдается на нормоконтроль, где проверяется соответствие схем стандартам.
Разработка блок-схем выполняется на этапах проектирования и документирования, согласно каскадной модели разработки ПО, которая сейчас почти не применяется, т.к. сопровождается большими рисками, связанными с ошибками на этапах проектирования.
Появляются подозрения, что система образования прогнила и отстала лет на 20, однако аналогичная проблема наблюдается и за рубежом. Международный стандарт ISO 5807:1985 мало чем отличается от ГОСТ 19.701-90, более нового стандарта за рубежом нет. Там же производится множество программ для выполнения этих самых схем — Dia, MS Visio, yEd, …, а значит списывать их не собираются. Вместо блок-схем иногда применяют диаграммы деятельности UML [6], однако удобнее они оказываются, разве что при изображении параллельных алгоритмов.
Периодически поднимается вопрос о том, что ни блок-схемы, ни UML не нужны, да и документация тоже не нужна. Об этом твердят программисты, придерживающиеся методологии экстремального программирования (XP) [7], ходя даже в их кругу нет единого мнения.
В ряде случаев, программирование невозможно без рисования блок-схем, т.к. это один процесс — существуют визуальные языки программирования, такие как ДРАКОН [8], кроме того, блок-схемы используются для верификации алгоритмов (формального доказательства их корректности) методом индуктивных утверждений Флойда [9].
В общем, единого мнения нет. Очевидно, есть области, в которых без чего-то типа блок-схем обойтись нельзя, но более гибкой альтернативы нет. Для формальной верификации необходимо рисовать подробные блок-схемы, но для проектирования и документирования такие схемы не нужны — я считаю разумным утверждение экстремальных программистов о том, что нужно рисовать лишь те схемы, которые помогают в работе и не требуют больших усилий для поддержания в актуальном состоянии [10].
ГОСТ 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 г.
Настоящий стандарт распространяется на условные обозначения (символы) в схемах алгоритмов, программ, данных и систем и устанавливает правила выполнения схем, используемых для отображения различных видов задач обработки данных и средств их решения.
Стандарт не распространяется на форму записей и обозначений, помещаемых внутри символов или рядом с ними и служащих для уточнения выполняемых ими функций.
Требования стандарта являются обязательными.
5. ПРАВИЛА ВЫПОЛНЕНИЯ Р-СХЕМ
5.1. Р-схемы в программных документах выполняются на листах формы 1 или формы 2 в соответствии с ГОСТ 19.106-78.
Facebook Если у вас не работает этот способ авторизации, сконвертируйте свой аккаунт по ссылке ВКонтакте Google RAMBLER&Co ID
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
Сортировка выбором
В сортировке выбором массив разделяется на отсортированную и необработанную части. Изначально отсортированная часть пустая, но постепенно она увеличивается. Алгоритм производит поиск минимального элемента необработанной части и меняет его местами с первым элементом той же части, после чего считается, что первый элемент обработан (отсортированная часть увеличивается).
Блок-схема сортировки выбором
На блок-схеме приведен пример использования блока «подготовка», а также показано, что в ряде случаев можно описывать алгоритм более «укрупнённо» (не вдаваясь в детали). К сортировке выбором не имеют отношения детали реализации поиска индекса минимального элемента массива, поэтому они могут быть описаны символом вызова внешней процедуры. Если блок-схема алгоритма внешней процедуры отсутствует, не помешает написать к символу вызова комментарий, исключением могут быть функции с говорящими названиями типа swap, sort, … .
На блоге можно найти другие примеры блок-схем:
Часть студентов традиционно пытается рисовать блок-схемы в Microsoft Word, но это оказывается сложно и не удобно. Например, в MS Word нет стандартного блока для терминатора начала и конца алгоритма (прямоугольник со скругленными краями, а не овал). Наиболее удобными, на мой взгляд, являются утилиты MS Visio и yEd [5], обе они позволяют гораздо больше, чем строить блок-схемы (например рисовать диаграммы UML), но первая является платной и работает только под Windows, вторая бесплатная и кроссплатфомренная. Все блок-схемы в этой статье выполнены с использованием yEd.
3. ПРАВИЛА СОЕДИНЕНИЯ СТРУКТУР Р-СХЕМ
3.1. Устанавливаются следующие соединения структур Р-схем:
В результате их применения получаются структуры Р-схем, к которым также применимы установленные правила их соединения.
3.1.1. Последовательное соединение структур Р-схем осуществляется путем слияния конечной вершины и соединительной линии одной структуры с начальной вершиной и соединительной линией другой, располагаемой за ней структуры. Если конечная вершина первой и (или) начальная вершина второй структуры являются специальными, то в результате слияния образуется специальная вершина, при этом соединительные линии обеих структур не сливаются. Начальной и конечной вершинами результирующей структуры становятся соответственно начальная вершина первой и конечная вершина второй из соединяемых структур.
Пример последовательного соединения г* структур а, б, в и а* приведен на черт.1.
* Текст документа соответствует оригиналу. - Примечание изготовителя базы данных.
3.1.2. Параллельное соединение структур Р-схем осуществляется путем связи соединительными линиями начальной и конечной вершин одной структуры соответственно с начальной и конечной вершинами другой, расположенной под ней структуры. Начальной и конечной вершинами результирующей структуры становятся соответственно начальная и конечная вершины первой (верхней) из соединяемых структур.
На черт.2 изображены примеры параллельного соединения структур: а - приведенных на черт.1 а, 1 б и 1 а; б - приведенных на черт.1 в и 1 б; в - приведенных на черт.1 б и 1 б.
3.1.3. Вложенное соединение структур Р-схем осуществляется путем замены дуги структуры, в которую производится вложение, на последовательное соединение дуги того же направления и вкладываемой структуры. При этом соединительная линия из конечной вершины вкладываемой структуры и сама конечная вершина (если она не является конечной вершиной параллельного соединения структур) сливаются соответственно с соединительной линией и вершиной, в которые входила заменяемая дуга. Начальной и конечной вершинами результирующей структуры остаются соответственно начальная и конечная вершины структуры, в которую производится вложение.
Примеры вложенного соединения структур Р-схем приведены на черт.3 и 4. На черт.3 вложение осуществляется путем замены дуги со стрелкой справа, а на черт.4 - слева.
На черт.3 изображены примеры вложенного соединения: а - структуры 1 в в структуру 1 б; б - последовательного соединения структур 1 б и 1 а в структуру 1 в; в - структуры 1 в в структуру 1 в; г - структуры 2 б в структуру 1 б.
На черт.4 изображены примеры вложенного соединения: а - структуры 1 б в структуру 1 б; б - последовательного соединения структур 1 в, 1 б и 1 а в структуру 1 б; в - последовательного соединения структур 1 б и 2 б в структуру 1 б.
1. УСЛОВНЫЕ ОБОЗНАЧЕНИЯ ЭЛЕМЕНТОВ Р-СХЕМ
1.1. Перечень, наименование, обозначение и функции элементов Р-схем должны соответствовать указанным в табл.1.
Обозначение и его содержание
Окружность диаметром не менее 2 мм
2. Вершина специальная
Выделение вершины Р-схемы
Левая и правая круглые скобки на расстоянии не менее 1 мм
а)
б)
Направленное соединение двух вершин Р-схемы
Горизонтальная линия со стрелкой
а) справа б) слева
4. Дуга специальная
Специальное соединение двух вершин Р-схемы
5. Линия соединительная
Соединение по вертикали указанных выше элементов Р-схемы
Связь между элементом Р-схемы и текстом комментария
Пунктирная вертикальная (вверх или вниз) и горизонтальная (влево или вправо) линии, оканчивающиеся квадратной скобкой, за которой следует текст комментария
1.2. В приложении 1 приведены примеры допустимых условных обозначений элементов Р-схем, выполненных на алфавитно-цифровых устройствах ввода-вывода.
1.3. В приложении 2 приведены примеры выполнения элементов Р-схем.
Сортировка вставками
Массив в алгоритме сортировки вставками разделяется на отсортированную и еще не обработанную части. Изначально отсортированная часть состоит из одного элемента, и постепенно увеличивается.
На каждом шаге алгоритма выбирается первый элемент необработанной части массива и вставляется в отсортированную так, чтобы в ней сохранялся требуемый порядок следования элементов. Вставка может выполняться как в конец массива, так и в середину. При вставке в середину необходимо сдвинуть все элементы, расположенные «правее» позиции вставки на один элемент вправо. В алгоритме используется два цикла — в первом выбираются элементы необработанной части, а во втором осуществляется вставка.
Блок-схема алгоритма сортировки вставками
В приведенной блок-схеме для организации цикла используется символ ветвления. В главном цикле (i < n)перебираются элементы необработанной части массива. Если все элементы обработаны — алгоритм завершает работу, в противном случае выполняется поиск позиции для вставки i-того элемента. Искомая позиция будет сохранена в переменной j в результате выполнения внутреннего цикла, осуществляющем сдвиг элементов до тех пор, пока не будет найден элемент, значение которого меньше i-того.
На блок-схеме показано каким образом может использоваться символ перехода — его можно использовать не только для соединения частей схем, размещенных на разных листах, но и для сокращения количества линий. В ряде случаев это позволяет избежать пересечения линий и упрощает восприятие алгоритма.
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. Запоминающее устройство с прямым доступом
Символ отображает данные, хранящиеся в запоминающем устройстве с прямым доступом (магнитный диск, магнитный барабан, гибкий магнитный диск).
Символ отображает данные, представленные на носителе в удобочитаемой форме (машинограмма, документ для оптического или магнитного считывания, микрофильм, рулон ленты с итоговыми данными, бланки ввода данных).
Единая система программной документации
Р-СХЕМЫ АЛГОРИТМОВ И ПРОГРАММ
Обозначения условные графические и правила выполнения
Unified system for program documentation. R-charts. Graphical chart symbols and conventions for charting
Дата введения 1986-07-01
Постановлением Государственного комитета СССР по стандартам от 27 марта 1985 г. N 893 дата введения установлена 01.07.86
ПЕРЕИЗДАНИЕ. Январь 2010 г.
Настоящий стандарт распространяется на алгоритмы, программы, данные и процессы для вычислительных машин, комплексов, автоматизированных систем и систем обработки информации независимо от их назначения и области применения.
Стандарт устанавливает условные графические обозначения элементов и структур Р-схем, а также правила их выполнения автоматическим и (или) ручным способами.
Р-схема (R-chart) - нагруженный по дугам ориентированный граф, изображаемый с помощью вертикальных и горизонтальных линий и состоящий из структур (подграфов), каждая из которых имеет только один вход и один выход.
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) специальных символов, используемых для облегчения написания и чтения схемы.
Примеры выполнения схем приведены в приложении.
4. НАДПИСИ НА ЭЛЕМЕНТАХ И СТРУКТУРАХ Р-СХЕМ
4.1. Надписи на элементах и структурах Р-схем должны соответствовать указанным в табл.3.
Обозначение и его содержание
1. Надпись внутри специальной вершины
Тип структуры Р-схемы, определяющий ее особую peaлизацию
2. Надпись над дугой
ЗАПИСЬ
Условие прохождения по дуге
3. Надпись под дугой
ЗАПИСЬ
Действие, выполняемое при прохождении по дуге
4. Надпись над специальной дугой
ЗАПИСЬ
Задает специальное (определенное при реализации) выполнение структуры Р-схемы
5. Надпись под специальной дугой
ЗАПИСЬ
Действие, выполняемое специальным образом при прохождении по дуге
6. Надпись около начальной вершины структуры
а) ИМЯ
б) ИМЯ
Имя структуры Р-схемы
Имя, записанное внутри структуры Р-схемы около начальной ее вершины без пробела
7. Надпись в конце дуги
а) ИМЯ
Переход в начало (а) или в конец (б) структуры Р-схемы с указанным именем
При отсутствии имени переход осуществляется в начало (а) или конец (б) данной Р-схемы
Знаки "Звездочка" или "номер" с именем в конце дуги без пробелов. Имя может отсутствовать
1. СТРОКА - последовательность любых знаков.
2. ЗАПИСЬ - любой текст, включая пустой, формульный, формальный (на языках программирования), содержащий любые специальные знаки, таблицы, рисунки и т.п. и записанный в одну или более строк таким образом, что длина любой строки не превышает длину дуги, соответствующей тексту.
3. ИМЯ - идентификатор по ГОСТ 19781-90.
4.2. В приложении 4 приведены примеры выполнения надписей на элементах и структурах Р-схем.
Содержание:
Блок-схемы. Размеры и соотношение сторон.
Коротко о главном.
соотношение сторон
Почти все основные фигуры имеют пропорции:
высота к ширине — 2 к 3
(или вписываются в такой прямоугольник).
Фигура «пуск-останов» (она же «терминатор»)
1 : 3
(высота в 2 раза меньше, чем у остальных фигур; ширина та же).
Изображения других основных элементов см. в отдельной заметке
Блок-схемы. Основные элементы.
Вообще, на сегодняшний день, уже нет строгого стандарта на размеры блок-схем.
Как в фильме «Пираты Карибского моря»:
(англ.) the code is more what you'd call "guidelines" than actual rules. (с) Pirates of the Caribbean
(рус.) ≈ этот кодекс — больше рекомендации, чем (актуальные) правила.
Современный стандарт (тоже довольно давно выпущенный) — это ГОСТ 19.701-90.
Дальше буду писать сокращённо ГОСТ-90.
Международный стандарт — ISO 5807:1985 или в другом написании ИСО 5807-85.
ГОСТ-90 про размеры вообще конкретно не пишет, и цифры не указывает. (См. в этом ГОСТе п. 4, например.)
И есть старые стандарты (ГОСТы), где определённо написано про размеры и соотношения сторон в символах блок-схем. Кто-то считает, что так удобнее и понятнее.
Некоторые преподаватели дают материал по блок-схемам по ГОСТу 1980-го года
(за номерами 19.002-80 и 19.003-80). Дальше — сокращённо ГОСТ-80.
Поэтому я бы разделил способы изображения блок-схем на 2 основных способа:
1-ый способ — как получится.
Многие люди (может быть даже большинство) рисуют блок-схемы как получится; вообще не соблюдая размеры. И соотношения сторон.
Это можно видеть в книгах, на сайтах, в конспектах и курсовых работах, и даже в методичках преподавателей.
2 -ый способ — по ГОСТу-80.
ГОСТ-80 пишет, что «. размеры обязательных символов (. ) должны соответствовать . »:
Высота (обозначенная там буквой а):
10, 15, 20 мм
Ширина b = 1,5a ⇒ 15 мм; 22,5 мм; 30 мм.
Допускается b = 2a (при ручном выполнении схем).
Допускается увеличивать размер a на число, кратное 5.
Википедия имеет своё особое мнение.
[ В отличие от ГОСТа . ]
В отличие от ГОСТа-80, Википедия указывает значения не для высоты, а для ширины. Перепутали местами?
Значения следующие:
15, 20, 25.. мм
Я в стандартах такого не нашёл.
Пока непонятно, почему в Википедии так написано.
И ещё одно отличие от ГОСТа. В Википедии ширина обозначена буквой а, высота b (в ГОСТе наоборот).
Тогда в Википедии отношение ширины к высоте 2a = 3b. (что, с учётом букв, совпадает с ГОСТом: ширина = 3/2 высоты).
Мои заметки,
как удобнее рисовать блок-схемы от руки
в тетради в клеточку.
В тетрадке (например, в конспекте) с листами в клеточку удобно использовать высоту:
а = 15 мм (3 клетки);
а = 20 мм (4 клетки).
Блок-схемы в тетрадке можно считать «ручным выполнением схем» (ГОСТ-80). Тогда можно считать ширину b = 2a. Стандартно, напомню, b = 1,5a.
Размер, где
высота а = 15 мм = 3 клетки.
При высоте а = 3 клетки, удобно писать текст — в средней клетке.
Именно при высоте а = 15 мм (3 клетки) удобно использовать ширину b = 2a.
Тогда b = 30 мм = 6 клеток.
(Иначе, при стандартном b = 1,5a ширина получится 22,5 мм = 4,5 клеток, что не очень удобно)
Ещё раз для наглядности:
высота а = 3 клетки;
ширина b = 6 клеток (или 4,5 клеток).
Размер, где
высота а = 20 мм = 4 клетки.
Если есть место, то в тетради удобен такой размер.
В этом случае, удобно использовать стандартную ширину b = 1,5a.
=> Ширина 30 мм = 6 клеток.
Тогда удобно чертить фигуры, где в размерах есть 0,5а и 0,25а — получится соответственно 2 и 1 клетка.
как удобнее рисовать блок-схемы на компьютере
Неплохо — в LibreOffice (OpenOffice) Draw.
Заметка об этом, если нужны подробности.
Там есть готовый набор элементов блок-схем.
И есть сетка. Для стандартного элемента можно выбрать 2 на 3 клетки.
Facebook Если у вас не работает этот способ авторизации, сконвертируйте свой аккаунт по ссылке ВКонтакте Google RAMBLER&Co ID
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
Сортировка пузырьком
Сортировка пузырьком, как и сортировка вставками, использует два цикла. Во вложенном цикле выполняется попарное сравнение элементов и, в случае нарушения порядка их следования, перестановка. В результате выполнения одной итерации внутреннего цикла, максимальный элемент гарантированно будет смещен в конец массива. Внешний цикл выполняется до тех пор, пока весь массив не будет отсортирован.
Блок-схема алгоритма сортировки пузырьком
На блок-схеме показано использование символов начала и конца цикла. Условие внешнего цикла (А) проверяется в конце (с постусловием), он работает до тех пор, пока переменная hasSwapped имеет значение true. Внутренний цикл использует предусловие для перебора пар сравниваемых элементов. В случае, если элементы расположены в неправильном порядке, выполняется их перестановка посредством вызова внешней процедуры (swap). Для того, чтобы было понятно назначение внешней процедуры и порядок следования ее аргументов, необходимо писать комментарии. В случае, если функция возвращает значение, комментарий может быть написан к символу терминатору конца.
1. ОБЩИЕ ТРЕБОВАНИЯ
1.1. Схемы алгоритмов, программ, данных и систем (далее - схемы) состоят из имеющих заданное значение символов, краткого пояснительного текста и соединяющих линий.
1.2. Схемы могут использоваться на различных уровнях детализации, причем число уровней зависит от размеров и сложности задачи обработки данных. Уровень детализации должен быть таким, чтобы различные части и взаимосвязь между ними были понятны в целом.
1.3. В настоящем стандарте определены символы, предназначенные для использования в документации по обработке данных, и приведено руководство по условным обозначениям для применения их в:
1) схемах данных;
2) схемах программ;
3) схемах работы системы;
4) схемах взаимодействия программ;
5) схемах ресурсов системы.
1.4. В стандарте используются следующие понятия:
1) основной символ - символ, используемый в тех случаях, когда точный тип (вид) процесса или носителя данных неизвестен или отсутствует необходимость в описании фактического носителя данных;
2) специфический символ - символ, используемый в тех случаях, когда известен точный тип (вид) процесса или носителя данных или когда необходимо описать фактический носитель данных;
3) схема - графическое представление определения, анализа или метода решения задачи, в котором используются символы для отображения операций, данных, потока, оборудования и т.д.
2. СТРУКТУРЫ Р-СХЕМ
2.1. Структуры Р-схем должны соответствовать указанным в табл.2 или полученным из них путем применения правил соединения структур (разд.3).
Обозначение и его содержание
1. Структура базовая
Последовательность переходов между вершинами в соответствии с направлением дуг
Две вершины, соединенные одной и более дугами любого направления и в любом сочетании
2. Структура специальная
Последовательность переходов между вершинами, осуществляемых специальным образом
Две вершины, соединенные специальной дугой или специальной дугой и любым числом дуг любого направления и в любом сочетании
1. Вершина структуры, из которой исходит первая сверху дуга, называется начальной.
2. Вершина структуры, в которую входит первая сверху дуга, называется конечной.
3. Начальная и конечная вершины структуры, содержащей только специальную дугу, определяются ее конкретным использованием.
2.2. В приложении 3 и на черт.1-4 приведены примеры записи структур Р-схем.
Элементы блок-схем алгоритмов
Блок-схема представляет собой совокупность символов, соответствующих этапам работы алгоритма и соединяющих их линий. Пунктирная линия используется для соединения символа с комментарием. Сплошная линия отражает зависимости по управлению между символами и может снабжаться стрелкой. Стрелку можно не указывать при направлении дуги слева направо и сверху вниз. Согласно п. 4.2.4, линии должны подходить к символу слева, либо сверху, а исходить снизу, либо справа.
Есть и другие типы линий, используемые, например, для изображения блок-схем параллельных алгоритмов, но в текущей статье они, как и ряд специфических символов, не рассматриваются. Рассмотрены лишь основные символы, которых всегда достаточно студентам.
Примеры блок-схем
В качестве примеров, построены блок-схемы очень простых алгоритмов сортировки, при этом акцент сделан на различные реализации циклов, т.к. у студенты делают наибольшее число ошибок именно в этой части.
Блок-схемы. Основные элементы.
Блок-схема (по-англ. flowchart).
Блок-схемы в старом ГОСТе 80-х годов официально назывались так:
СХЕМЫ АЛГОРИТМОВ И ПРОГРАММ.
ОБОЗНАЧЕНИЯ УСЛОВНЫЕ ГРАФИЧЕСКИЕ.
Ныне действующий стандарт — это ГОСТ 19.701-90
(ISO 5807:1985, также пишется ИСО 5807-85).
4 элемента блок-схемы, которые наиболее часто используются,
показаны на следующем рисунке.
Приведено несколько вариантов названий.
[ Сначала название по старому ГОСТу-80 . ]
Сначала написано название по более старому ГОСТу 19.003-80 (лично мне эти названия больше нравятся).
Если название по новому ГОСТу 19.701-90 отличается, то оно дано через запятую, жирным шрифтом.
И, наконец, в скобках приведены другие (иногда встречающиеся) названия и перевод на англ.
1. Процесс (обработка, process). | 2. Пуск - останов, терминатор (начало/конец, terminator (по ISO), terminal) |
3. Ввод - вывод, данные (input/output) | 4. Решение (выбор, decision) |
Описание часто встречающихся "символов" (как это названо в ГОСТе).
Собственно, ниже отрывки из ГОСТа 19.003-80.
Нумерация оставлена такой же, как в ГОСТе 19.003-80.
Выполнение операций или группы операций, в результате которых изменяется значение, форма представления или расположение данных.
Выбор направления выполнения алгоритма или программы в зависимости от некоторых переменных условий.
3. Модификация, подготовка (preparation)
Выполнение операций, меняющих команды или группу команд, изменяющих программу.
Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод).
29. Пуск - останов
Начало, конец, прерывание процесса обработки данных или выполнения программы.
Другое, более новое, изображение цикла.
В старом ГОСТе 80-х годов есть символ под названием модификация, см. выше в пункте 3. Так в учебниках иногда изображают цикл (команда for и т.п.).
В ГОСТе 19.701-90 появился новый символ для цикла. Под следующим обозначением.
3.2.2.6. Граница цикла
(Цитата из ГОСТа)
Символ, состоящий из двух частей, отображает начало и конец цикла.
Обе части символа имеют один и тот же идентификатор. (Прим. adr. Т.е. и сверху и снизу пишем, например и обычно, — "Цикл i". Но кроме этого там будет и отличающийся текст.)
Условия для инициализации, приращения, завершения и т.д. помещаются внутри символа в начале или в конце в зависимости от расположения операции, проверяющей условие.
(Конец цитаты)
Линии потока
т.е. линии, которыми соединяют элементы блок-схемы.
(Цитата из ГОСТ 19.002-80. Пункт 2.1.)
- можно без стрелки, если линия направлена слева направо и сверху вниз;
- со стрелкой — в остальных случаях.
(Из ГОСТ-90.)
4.2.4. Линии в схемах должны подходить к символу либо слева, либо сверху, а исходить либо справа, либо снизу. Линии должны быть направлены к центру символа.
(Конец цитаты)
Читайте также: