Что означает ромб в блок схеме

Что означает ромб в блок схеме

Правила выполнения схем определяются следующими документами:

  • ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. [1]

Для программной документации:

  • ГОСТ 19.002-80. Схемы алгоритмов и программ. Правила выполнения. [2]
  • ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические. [3][4]

Данные документы в частности регулируют способы построения схем и внешний вид их элементов.

Основные элементы схем алгоритма

Операции ввода и вывода данных

Выполнение операций над данными

Блок, иллюстрирующий ветвление алгоритма

Вызов внешней процедуры

Начало и конец цикла

Подготовка данных

Соединитель

Комментарий

Наименование Обозначение Функция
Терминатор
(пуск-останов)
Элемент отображает вход из внешней среды или выход из нее (наиболее частое применение − начало и конец программы). Внутри фигуры записывается соответствующее действие.
Процесс

Выполнение одной или нескольких операций, обработка данных любого вида (изменение значения данных, формы представления, расположения). Внутри фигуры записывают непосредственно сами операции, например, операцию присваивания: a = 10*b + c.
Решение

Отображает решение или функцию переключательного типа с одним входом и двумя или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определенных внутри этого элемента. Вход в элемент обозначается линией, входящей обычно в верхнюю вершину элемента. Если выходов два или три то обычно каждый выход обозначается линией, выходящей из оставшихся вершин (боковых и нижней). Если выходов больше трех, то их следует показывать одной линией, выходящей из вершины (чаще нижней) элемента, которая затем разветвляется. Соответствующие результаты вычислений могут записываться рядом с линиями, отображающими эти пути. Примеры решения: в общем случае − сравнение (три выхода: >, [5]

Дракон-схемы

В последнее время появились структурные, математически строгие блок-схемы, которые называются «дракон-схемы». С появлением дракон-схем блок-схемы стали терять своё значение, так как они во всех отношениях уступают дракон-схемам.

Примечания

12ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения

  • ГОСТ 19.002-80. Схемы алгоритмов и программ. Правила выполнения
  • ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические. (ссылка 2)
  • ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические
  • Закревский А. Д. О корректности параллельных алгоритмов логического управления // Известия АН СССР. Техническая кибернетика. — 1987. — № 4. — С. 106—112.
  • См. также

    • Алгоритм
    • Программирование
    • Диаграмма связей
    • Псевдокод (язык описания алгоритмов)
    • Microsoft Visio

    Wikimedia Foundation . 2010 .

    Смотреть что такое "Блок-схема алгоритма" в других словарях:

    блок-схема алгоритма — контрольная диаграмма — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом Синонимы контрольная диаграмма EN control diagram … Справочник технического переводчика

    блок-схема — — [http://www.iks media.ru/glossary/index.html?gloss >Справочник технического переводчика

    блок-схема (программы или алгоритма) — — [Я.Н.Лугинский, М.С.Фези Жилинская, Ю.С.Кабиров. Англо русский словарь по электротехнике и электроэнергетике, Москва, 1999 г.] Тематики электротехника, основные понятия EN flow diagram … Справочник технического переводчика

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

    Блок-схема — [block diagram, flowchart] – условное изображение алгоритма, программы для ЭВМ, процесса принятия решения, документооборота и т.п., предназначенное для выявления их структуры и общей последовательности операций. Пример Б. с. см. в статье Алгоритм … Экономико-математический словарь

    Блок-схема — У этого термина существуют и другие значения, см. Блок. Пример блок схемы алгоритма вычисления факториала числа N Схема графическое представление определения, анализа или метода решения задачи, в котором используются символ … Википедия

    БЛОК-СХЕМА — условное изображение алгоритма решения задачи, документооборота, последовательности выполнения рабочих операций или процедур с помощью стрелок, соединительных линий и геометрических фигур различной формы, содержащих внутри символы управления или… … Большой экономический словарь

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

    Алгоритм Дейкстры — Блок схема алгоритма Дейкстры. Алгоритмы поиска на гр … Википедия

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

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

    На территории Российской Федерации действует единая система программной документации (ЕСПД), частью которой является Государственный стандарт — ГОСТ 19.701-90 «Схемы алгоритмов программ, данных и систем» [1]. Не смотря на то, что описанные в стандарте обозначения могут использоваться для изображения схем ресурсов системы, схем взаимодействия программ и т.п., в настоящей статье описана лишь разработка схем алгоритмов программ.

    Рассматриваемый ГОСТ практически полностью соответствует международному стандарту ISO 5807:1985.

    Содержание:

    Элементы блок-схем алгоритмов

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

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

    Терминатор начала и конца работы функции

    Терминатором начинается и заканчивается любая функция. Тип возвращаемого значения и аргументов функции обычно указывается в комментариях к блоку терминатора.
    В ГОСТ определено множество символов ввода/вывода, например вывод на магнитные ленты, дисплеи и т.п. Если источник данных не принципиален, обычно используется символ параллелограмма. Подробности ввода/вывода могут быть указаны в комментариях.
    В блоке операций обычно размещают одно или несколько (ГОСТ не запрещает) операций присваивания, не требующих вызова внешних функций.
    Блок в виде ромба имеет один вход и несколько подписанных выходов. В случае, если блок имеет 2 выхода (соответствует оператору ветвления), на них подписывается результат сравнения — «да/нет». Если из блока выходит большее число линий (оператор выбора), внутри него записывается имя переменной, а на выходящих дугах — значения этой переменной.
    Вызов внешних процедур и функций помещается в прямоугольник с дополнительными вертикальными линиями.
    Символы начала и конца цикла содержат имя и условие. Условие может отсутствовать в одном из символов пары. Расположение условия, определяет тип оператора, соответствующего символам на языке высокого уровня — оператор с предусловием (while) или постусловием (do … while).
    Символ «подготовка данных» в произвольной форме (в ГОСТ нет ни пояснений, ни примеров), задает входные значения. Используется обычно для задания циклов со счетчиком.
    В случае, если блок-схема не умещается на лист, используется символ соединителя, отражающий переход потока управления между листами. Символ может использоваться и на одном листе, если по каким-либо причинам тянуть линию не удобно.
    Комментарий может быть соединен как с одним блоком, так и группой. Группа блоков выделяется на схеме пунктирной линией.

    Примеры блок-схем

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

    Сортировка вставками

    Массив в алгоритме сортировки вставками разделяется на отсортированную и еще не обработанную части. Изначально отсортированная часть состоит из одного элемента, и постепенно увеличивается.

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

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

    В приведенной блок-схеме для организации цикла используется символ ветвления. В главном цикле (i Блок-схема алгоритма сортировки пузырьком

    На блок-схеме показано использование символов начала и конца цикла. Условие внешнего цикла (А) проверяется в конце (с постусловием), он работает до тех пор, пока переменная hasSwapped имеет значение true. Внутренний цикл использует предусловие для перебора пар сравниваемых элементов. В случае, если элементы расположены в неправильном порядке, выполняется их перестановка посредством вызова внешней процедуры (swap). Для того, чтобы было понятно назначение внешней процедуры и порядок следования ее аргументов, необходимо писать комментарии. В случае, если функция возвращает значение, комментарий может быть написан к символу терминатору конца.

    Сортировка выбором

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

    Блок-схема сортировки выбором

    На блок-схеме приведен пример использования блока «подготовка», а также показано, что в ряде случаев можно описывать алгоритм более «укрупнённо» (не вдаваясь в детали). К сортировке выбором не имеют отношения детали реализации поиска индекса минимального элемента массива, поэтому они могут быть описаны символом вызова внешней процедуры. Если блок-схема алгоритма внешней процедуры отсутствует, не помешает написать к символу вызова комментарий, исключением могут быть функции с говорящими названиями типа swap, sort, … .

    На блоге можно найти другие примеры блок-схем:

    Часть студентов традиционно пытается рисовать блок-схемы в Microsoft Word, но это оказывается сложно и не удобно. Например, в MS Word нет стандартного блока для терминатора начала и конца алгоритма (прямоугольник со скругленными краями, а не овал). Наиболее удобными, на мой взгляд, являются утилиты MS Visio и yEd [5], обе они позволяют гораздо больше, чем строить блок-схемы (например рисовать диаграммы UML), но первая является платной и работает только под Windows, вторая бесплатная и кроссплатфомренная. Все блок-схемы в этой статье выполнены с использованием yEd.

    Нужны ли блок-схемы? Альтернативы

    Частные конторы никакие блок-схемы не используют, в книжках по алгоритмам [6] вместо них применяют словесное описание (псевдокод) как более краткую форму. Возможно блок-схемы применяют на государственных предприятиях, которые должны оформлять документацию согласно требованиям ЕСПД, но есть сомнения — даже для регистрации программы в Государственном реестре программ для ЭВМ никаких блок-схем не требуется.

    Тем не менее, рисовать блок-схемы заставляют школьников (примеры из учебников ГОСТ не соответствуют) — выносят вопросы на государственные экзамены (ГИА и ЕГЭ), студентов — перед защитой диплом сдается на нормоконтроль, где проверяется соответствие схем стандартам.

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

    Появляются подозрения, что система образования прогнила и отстала лет на 20, однако аналогичная проблема наблюдается и за рубежом. Международный стандарт ISO 5807:1985 мало чем отличается от ГОСТ 19.701-90, более нового стандарта за рубежом нет. Там же производится множество программ для выполнения этих самых схем — Dia, MS Visio, yEd, …, а значит списывать их не собираются. Вместо блок-схем иногда применяют диаграммы деятельности UML [6], однако удобнее они оказываются, разве что при изображении параллельных алгоритмов.

    Периодически поднимается вопрос о том, что ни блок-схемы, ни UML не нужны, да и документация тоже не нужна. Об этом твердят программисты, придерживающиеся методологии экстремального программирования (XP) [7], ходя даже в их кругу нет единого мнения.

    В ряде случаев, программирование невозможно без рисования блок-схем, т.к. это один процесс — существуют визуальные языки программирования, такие как ДРАКОН [8], кроме того, блок-схемы используются для верификации алгоритмов (формального доказательства их корректности) методом индуктивных утверждений Флойда [9].

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

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

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

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

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

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

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

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

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

    Функция

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

    Обозначает начало или конец программы. Данный блок отделяет границы программы от внешней среды. Как правило, в данный элемент вписывают фразы «Начало», «Старт» или «Конец», «Финиш».

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

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

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

    Напомню, что результатом логического условия всегда является одно из двух предопределенных значения: истина или ложь. Внутри данного элемента-ромба записывается логическое условие, а из вершин ромба выходят альтернативные ветви решения. Обязательно следует подписывать ветви словами «Да», «Нет», чтобы не вводить в заблуждение читателя блок-схемы.

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

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

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

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

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

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

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

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

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

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

    Читайте также:  Инструкция по использованию интернета
    Ссылка на основную публикацию
    Adblock detector