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

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

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

Как нарисовать красивую диаграмму в Canva

О сайте Canva мы уже много раз рассказывали в своих статьях. Этот идеально подходит для создания инфографики, презентаций, афиш, наружной рекламы и др. Сегодня поговорим о том, как Канва поможет построить блок-схему онлайн.

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

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

Удобно, что большая часть макетов здесь предоставляется бесплатно


Настроить здесь можно абсолютно все: начиная от шрифта надписей и заканчивая структурой изображения


Кроме того, есть возможность добавить красивые диаграммы


В этом же разделе также есть функция вставки созданного изображения на ваш интернет-ресурс. Достаточно просто скопировать фрагмент кода с диаграммой и вписать его в свой блог или сайт

Когда работа над блок-схемой закончена, нажимаем «Скачать».


Выбираем формат файла

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

Удобное построение логических цепочек с Draw . io

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

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


Спасибо Draw.io за удобное структурирование шаблонов – все они распределены по категориям, что позволяет выбирать нужный вариант максимально быстро

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


По сравнению с предыдущим сервисом, настройки здесь кажутся немного примитивными, но тем не менее присутствуют все необходимые параметры

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


Также есть возможность вставить в документ уже готовую схему или другое изображение, импортировав его с компьютера, облачного хранилища или интернет-ресурса

Для сохранения результата нажимаем «Файл» – «Сохранить как», после чего нам предлагают следующие варианты:

  • Google Drive;
  • OneDrive;
  • Dropbox;
  • GitHub;
  • Trello;
  • компьютер;
  • браузер.

Готовый файл скачивается в формате.xml.

Google chart – мощный инструмент для разработчиков

И наконец завершает наш список рекомендаций Google chart API . Он представляет собой библиотеку фрагментов кода, при встраивании которых на вашем сайте появляются красивые диаграммы, графики, структуры, таблицы и др.


Выбираем нужную категорию
На примере мы видим, как будет выглядеть схема, если не изменять основную суть кода

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

Для опытных программистов Google chart API станет незаменимым помощником, ведь он предлагает широкий набор дополнительных инструментов для эффектных визуализаций. Если вы не слишком уверенный разработчик, то можете использовать стандартные варианты – они тоже смотрятся вполне достойно.

Все рассмотренные нами программы абсолютно разные, поэтому выделить из них самую удобную невозможно. Все зависит от ваших целей и пожеланий. Если вам необходимо получить красивый графический продукт, то лучше Canva с этим не справится ни один сайт. Если нужна минималистичная схема без особых изысков – на помощь придет Draw.io. Если хотите прописать код для своей диаграммы – используйте Google chart API.

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

Крупные и мелкие производители программного обеспечения предлагают множество способов построения блок-схем на компьютере. Все инструменты работают аналогичным образом – сначала загружается проект (по шаблону или новый), создаются блоки, а затем они объединяются, выстраивая определённый алгоритм или последовательность действий и событий. Среди лучших программ для создания блок-схем – как платные, так и бесплатные. Чтобы выбрать подходящую именно для ваших потребностей, стоит ознакомиться с самыми популярными из них.

Выбор лучшей программы для создания блок-схем.

Draw.io – браузерная программа для рисования блок-схем. В этом и её преимущество – не нужно ничего устанавливать. Приложения намного функциональнее, чем кажется на первый взгляд. В повседневной жизни мы часто действуем в соответствии с определённым планом. Даже при приготовлении ужина многие пользуются кулинарными рецептами. Инструкции, описанные в них, – не что иное, как алгоритмы. А для того чтобы представить алгоритмы в графической форме, и используются блок-схемы, которые мы можем создать в draw.io. В дополнение к вышеупомянутым схемам, инструмент также даёт возможность разрабатывать различные типы диаграмм – от общепринятой, полезной во многих ситуациях офисной работы и бизнеса, до специализированных, полезных, например, в разработке программного обеспечения.

Как и подобает расширению браузера, draw.io предлагает хранение данных в облаке. Независимо от того, на каком устройстве мы работаем, мы можем продолжить ранее начатую работу или представить её результаты в любое удобное время. Для построения блок-схем и сохранения файлов в облаке необходимо выполнить следующее:

  1. Сразу после запуска инструмента отображается окно, в котором можно выбрать место сохранения созданной нами диаграммы. У нас есть Google Диск , Dropbox и OneDrive.
  2. В том же окне можно изменить язык программы. Для этого нажмите на значок планеты и выберите нужный язык из списка. Изменения будут сделаны после обновления страницы. Если на этом этапе вы не хотите решать, где сохранять проект, просто выберите вариант «Решить позже».

  1. После выбора места хранения блок-схемы предлагается возможность выбрать между запуском нового проекта и загрузкой уже существующего.
  2. При создании блок-схем можно использовать шаблоны, которые сортируются по тематике в раскрывающемся списке.
  3. После нажатия на кнопку «Создать» появится блок-схема, содержащая готовые элементы. Все они доступны для редактирования. Можно изменить их размер, перетаскивая маркеры по краям, а также поворачивать – перемещая кнопку с круглой стрелкой.
  4. Двойной щелчок левой кнопкой мыши на выбранном объекте позволит добавить к нему текст. Введённый текст будет автоматически сопоставляться с углом поворота объекта.
  5. Текстовые поля также можно добавлять вне объектов – с помощью двойного щелчка левой кнопки мыши или с помощью комбинации клавиш Ctrl+Shift+X.
  6. Если на диаграмме не хватает необходимых элементов, их можно добавить из меню слева. Выбранный объект добавляется щелчком по нему или перетаскиванием его в нужное место в области работы.
  7. После выбора объекта можно придать ему правильный вид. Для этого используется меню справа. Оно разделено на три вкладки, соответствующие различным аспектам отображения объекта.

Составление новой блок-схемы:

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

  1. Чтобы создать диаграмму без помощи шаблона, выберите параметр «Пустая диаграмма» из группы базовых шаблонов.
  2. Запущенный проект не будет содержать автоматически вставленных элементов. В нём нужно разместить блоки самостоятельно – так же, как и при редактировании существующего шаблона. Чтобы получить доступ к большему количеству элементов, которые можно добавить в проект, выберите «Другие фигуры» в меню слева.
  3. Откроется окно, в котором можно выбрать, какие группы фигур будут помещены в боковое меню. Выберите интересующие вас группы. Выбрать дополнительные фигуры можно и при использовании проекта на основе шаблона.
  1. При добавлении нового элемента его нужно комбинировать с другими. Вокруг будут отображаться характерные синие стрелки.
  2. Щелчок по стрелке скопирует выбранный элемент и объединит оригинал с его копией тонкой стрелкой.
  3. Если нажать на стрелку и перетащить курсор в другое место, будет создана линия, которой можно объединить выбранный элемент с любым другим на блок-схеме.

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

Сохранение диаграммы в виде XML-файла:

  1. Чтобы сохранить проект на диске компьютера, при создании новой диаграммы выберите опцию «Устройство».
  2. Созданный проект будет сохранен в формате.xml.
  3. Каждый щелчок на кнопке «Сохранить», доступной на вкладке «Файл» в верхнем меню, приводит к загрузке нового XML-файла. Аналогичный эффект даёт сочетание клавиш Ctrl+S.

Инструмент также даёт возможность загружать диаграммы, созданные нами в различных форматах.

Microsoft Visio

Microsoft Visio – это инструмент для людей, которые для своей работы часто рисуют диаграммы и блок-схемы на компьютере. Здесь представлен широкий выбор встроенных формул. Эта программа поможет создать привлекательную презентацию в виде диаграмм или блок-схем с большим количеством информации:

  • формы и узоры

В Microsoft Visio в распоряжении предоставляет целый ряд различных форм, которые делятся на группы, чтобы облегчить их поиск и поддержание общего порядка в схеме. Здесь также есть множество шаблонов, которые представляют собой набор форм и помогают нам добавить их к чертежу. Научиться их использовать, подключать, отключать, делиться фигурами и «приклеивать» к соответствующим объектам довольно просто – в интернете можно найти любые мануалы, как видео, так и простые инструкции.

  • шаблоны

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

  • данные

Формы диаграммы Visio могут содержать различные типы данных. Экспорт данных из внешних источников, таких как Excel, Access, SQL Server или SharePoint, является двухэтапным процессом, состоящим непосредственно из загрузки и предобразования данных в необходимый формат. Microsoft Visio используется для создания всех видов блок-схем, что позволяет их редактировать и адаптировать к нашим потребностям. Люди, знакомые с популярным офисным пакетом производителя уже через несколько минут смогут освоиться в интерфейсе и управлять новыми проектами и шаблонами.

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

Dia

Dia – бесплатная программа, которая может быть альтернативой Microsoft Visio и другим подобным инструментам, когда нужно быстро и качественно нарисовать алгоритм в виде блок-схемы. Позволяет создавать графические презентации различных типов – блок-схемы, диаграммы и графики. Существует библиотека шаблонов включает в себя универсальные символы UML (используемые в объектном анализе и объектно-ориентированном программировании), а также символы для других специализаций – электрики, программирования, гражданского строительства и т. д.

Программа использует собственный формат DIA на основе XML, а также позволяет читать и сохранять документы в форматах DXF и SVG. К сожалению, файлы Visio VDX и VSX не поддерживаются. Интерфейс программы похож на популярный GIMP, который является результатом использования тех же библиотек GTK+.

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

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

Все картинки кликабельны и ведут на соответствующий ресурс.

Amcharts - это набор flash-based диаграмм для сайтов. Может извлекать данные из CSV или XML файлов, также может получать данные, сгенерированные динамически при помощи PHP, .NET, Java, Ruby on Rails, Perl и т.д.

Flash based решение для визуализации. Есть не только веб, но и десктопные приложения.

Предлагает инструменты для рисования схем электронных плат, диаграмм, различного рода UI. Не требует никаких дополнительных плагинов - требуется только браузер, работающий с JavaScript, является кросс-браузерным. Поддерживает экспорт в PDF, JPG, PNG, и SVG.

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

Best for Charts. Используется для построения различного рода диаграмм и схем.

Создает разноцветные схемы.

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

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

Онлайн-сервис, поддерживающий 5 разных графиков и диаграмм на ваш выбор.

Блок-схемы, различные организационные, иерархические графики. Поддерживает экспорт в PDF.

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

Поддерживает рисование множества объектов (от линий и треугольников, до кривых Безье), экспортирует в PDF или PNG.

Простенький сервис, поддерживающий построение графиков и диаграмм.

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

Позволяет создавать и редактировать диаграммы связей.

Очень гибкий инструмент для создания различных диаграмм связей.

Простенькая тулза для создания диаграмм.

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

Бесплатный сервис, поддерживает различные диаграммы, графики и т.д. Работает на Flash.

Сервис для создания схем. Ключевая особенность - описание схем на неком подобии языка программирования.

Отличный сервис для анализа различной информации.

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

Мощный инструмент для статистического моделирования и анализа. Позиционируется для изучения статистики на практике.

Простенький, но приятный на вид сервис для построения графиков.

Библиотеки, плагины, инструментарии для разработчика

Plotr

Легкий фреймворк для рисования простых графиков и диаграмм. Не использует Flash, и не поддерживает интерактивных элементов.

Библиотека для построения графиков на JavaScript, поддерживает HTML Canvas.

Open Source плагин для библиотеки jQuery. Поддерживает всевозможные линии и типы графиков.

Разнообразный набор инструментов для создания диаграмм и графиков, включая библиотеку на JavaScript.

Библиотека на JavaScript, предназначенная для создания интерактивных графиков и диаграмм.

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

Примечание. Вы также можете автоматически создать простую блок-схему на основе данных, используя визуализатор данных в Visio Online (план 2). Дополнительные сведения см. в статье Создание схем с помощью визуализатора данных .

Шаблон "Простая блок-схема" в Visio содержит фигуры, которые можно использовать для наглядного представления разнообразных процессов. Он особенно полезен для отображения простых бизнес-процессов, таких как процесс разработки предложения, показанный на рисунке ниже.

В дополнение к шаблону "Простая блок-схема" в Visio доступны различные шаблоны схем более узкого назначения, таких как схемы потоков данных, временные шкалы и модели программного обеспечения.

Создание блок-схемы

    Запустите приложение Visio.

    Дважды щелкните значок Простая блок-схема .

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

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

Автоматическое выравнивание и интервалы

    Нажмите сочетание клавиш CTRL+A, чтобы выбрать все объекты на странице.

    На вкладке Главная в группе Упорядочение нажмите кнопку Положение и выберите пункт Автовыравнивание и определение интервалов .

Если это не привело к нужному результату, отмените ее, нажав сочетание клавиш CTRL+Z, и воспользуйтесь другими параметрами меню кнопок Выравнивание и Положение .

Что представляют блок-схемы

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

При этом названия фигур в Visio указывают на их применение. Ниже описаны наиболее распространенные фигуры.

Что представляют блок-схемы

В Visio 2010 есть множество других, специализированных наборов элементов и фигур, которые можно использовать в блок-схеме. Дополнительные сведения о других фигурах см. в статье .

Примечание: Не удается найти нужную фигуру? Дополнительные сведения о том, как найти другие фигуры, см. в статье Упорядочение и поиск фигур с помощью окна "Фигуры" .

Создание блок-схемы

    Откройте вкладку Файл .

    Вкладка Файл не отображается

    Если вкладка Файл не отображается, перейдите к следующему шагу процедуры.

    Выберите команду Создать и пункт Блок-схема , а затем в списке Доступные шаблоны выберите элемент Простая блок-схема .

    Нажмите кнопку Создать .

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

    Примечание: Сведения об использовании фигур для представления каждого шага процесса см. в разделе .

    По умолчанию используются прямоугольные

    Прямые соединительные линии

    Для возврата к обычному редактированию на вкладке Главная в группе Сервис нажмите кнопку Указатель .

    Чтобы добавить текст для фигуры или соединительной линии, выделите ее и введите текст. По завершении ввода текста щелкните в пустой области страницы.

    Чтобы изменить направление стрелки соединительной линии, выберите соединение, а затем в группе щелкните стрелку справа от надписи Линия , наведите указатель на пункт Стрелки и выберите нужное направление.

Печать большой блок-схемы

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

Чтобы распечатать большую блок-схему, сделайте следующее:

Что представляют блок-схемы

Когда вы открываете шаблон "Простая блок-схема", также открывается набор элементов "Фигуры простой блок-схемы". Каждая фигура в наборе элементов соответствует конкретному шагу процесса.

Из фигур, входящих в набор элементов "Фигуры простой блок-схемы", широко используются только некоторые. Именно эти фигуры описаны ниже. Дополнительные сведения об остальных фигурах см. по ссылке (Менее популярные фигуры блок-схемы) в конце этого раздела.

Менее популярные фигуры блок-схемы

    Динамическая соединительная линия. Эта соединительная линия проходит в обход фигур, лежащих на ее пути.

    Это соединительная линия с настраиваемой кривизной.

    Это текстовое поле с рамкой, размер которого изменяется в зависимости от объема введенного текста. Ширину можно задать, перетащив боковые стороны фигуры. Эта фигура не представляет этап процесса, но ее удобно использовать для размещения надписей на блок-схеме.

    Примечание. Это поле в квадратных скобках, размер которого изменяется в зависимости от объема введенного текста. Ширину можно задать, перетащив боковые стороны фигуры. Как и "Поле с автоподбором высоты", эта фигура не представляет этап процесса. Используйте ее для добавления примечаний к фигурам блок-схемы.

    Ручной ввод. Это этап, на котором человек предоставляет информацию процессу.

    Ручная операция. Это этап, который должен быть выполнен человеком.

    Внутреннее хранилище. Эта фигура представляет данные, которые хранятся на компьютере.

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

    Последовательные данные. Эта фигура представляет данные, которые сохраняются последовательно (например, данные на магнитной ленте). Считывать такие данные можно только последовательно. Например, чтобы обратиться к записи 7, нужно сначала просмотреть записи 1–6.

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

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

    Подготовка. Эта фигура обозначает инициализацию переменных при подготовке к выполнению процедуры.

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

    Предел цикла. На этой фигуре показано максимально возможное количество повторений цикла до перехода к следующему этапу.

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

Создание блок-схемы

    В меню Файл Создать , затем на пункт Блок-схема и выберите пункт Простая блок-схема .

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

    Соедините фигуры блок-схемы одним из указанных ниже способов.

    Соединение двух фигур друг с другом

    Соединение одной фигуры с несколькими с помощью одной точки соединения

    По умолчанию используются прямоугольные соединительные линии, и соединение точки на фигуре с тремя другими фигурами выглядит как на рисунке ниже.

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

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

    Чтобы добавить текст для фигуры или соединительной линии, выделите ее и введите текст. По завершении ввода текста щелкните в пустой области страницы.

    Чтобы изменить направление соединительной линии, в меню наведите указатель мыши на пункт Операции и выберите пункт Обратить концы .

Печать больших блок-схем

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

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

1. Блок-схема. размер которой слишком велик для страницы документа Visio.

2. Блок-схема, которая помещается на страницу документа Visio.

Изменение размера страницы документа Visio в соответствии с размером блок-схемы

    Когда открыта блок-схема, в меню Файл выберите пункт Параметры страницы .

    Откройте вкладку Размер страницы .

    На вкладке Размер страницы щелкните .

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

Печать больших блок-схем на нескольких листах бумаги

    В меню Файл выберите пункт Параметры страницы .

    На вкладке Настройка печати в поле Бумага в принтере выберите нужный размер бумаги, если он еще не задан. Не нажимайте кнопку ОК .

    Откройте вкладку Размер страницы и щелкните Изменять размеры по содержимому . В окне предварительного просмотра теперь видна разница между новой страницей и бумагой в принтере.

    Нажмите кнопку ОК .

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

    Примечание: Между страницами могут отображаться затененные поля. Они соответствуют тем областям, которые будут распечатаны на обоих листах. Это позволяет склеить листы таким образом, чтобы на блок-схеме не было пустых промежутков.

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

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

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

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

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

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

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

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

Терминатором начинается и заканчивается любая функция. Тип возвращаемого значения и аргументов функции обычно указывается в комментариях к блоку терминатора.

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

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

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

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

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

Блок в виде ромба имеет один вход и несколько подписанных выходов. В случае, если блок имеет 2 выхода (соответствует оператору ветвления), на них подписывается результат сравнения — «да/нет». Если из блока выходит большее число линий (оператор выбора), внутри него записывается имя переменной, а на выходящих дугах — значения этой переменной.

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

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

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

Символы начала и конца цикла содержат имя и условие. Условие может отсутствовать в одном из символов пары. Расположение условия, определяет тип оператора, соответствующего символам на языке высокого уровня — оператор с предусловием (while) или постусловием (do … while).

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

Символ «подготовка данных» в произвольной форме (в ГОСТ нет ни пояснений, ни примеров), задает входные значения. Используется обычно для задания циклов со счетчиком.

Соединитель

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

Комментарий

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

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

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

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

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

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


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

В приведенной блок-схеме для организации цикла используется символ ветвления. В главном цикле (i < n) перебираются элементы необработанной части массива. Если все элементы обработаны — алгоритм завершает работу, в противном случае выполняется поиск позиции для вставки i-того элемента. Искомая позиция будет сохранена в переменной j в результате выполнения внутреннего цикла, осуществляющем сдвиг элементов до тех пор, пока не будет найден элемент, значение которого меньше i-того .

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

Сортировка пузырьком

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


Блок-схема алгоритма сортировки пузырьком

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

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

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


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

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

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то