Как создать блок-схему с помощью нашего онлайн редактора

Превью к инструкции редактора блок-схем

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

Основные типы блоков

Чаще всего к основным блокам относят следующие:

  • Обычный блок — содержит вычисления выражений и присваивания переменным
  • Условный оператор — разделяет действия на две ветки в зависимости от истинности условия
  • Начало-конец — является начальным блоком основной программы или завершающим различных подпрограмм
  • Подпрограмма — с данного блока начинается описание работы подпрограммы
  • Оператор цикла for — используется для цикла с известным количеством повторений
  • Ввод/вывод — используется для ввода или вывода данных на экран/файл или любое другое место
  • Дисплей — используется для вывода данных на экран

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

Интерфейс редактора

Стартовый интерфейс редактора блок-схем
Начальный интерфейс редактора

При открытии редактора, пользователю отображается меню и поле для построения блок-схем. Поле имеет сетку (при желании её можно отключить с помощью сочетания клавиш Ctrl+G), позволяющую избегать свойственной Visio проблемы со сверхмалым смещением блоков друг относительно друга и кривых стрелок. Меню (можно свернуть с помощью сочетания Ctrl+M) позволяет добавлять блоки на поле, выполнять загрузку и сохранение блок-схемы, а также изменять цветовую тему.

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

Редактор хранит историю действий, так что в случае ошибки можно отменить последние действия с помощью сочетания клавиш Ctrl+Z. Чтобы повторить отменённое действие, достаточно нажать сочетание Ctrl+Y.

Добавление блока

Добавление блока на поле
Добавление блока на поле (.gif)

Добавить новый блок на поле можно двумя способами:

  • выбрать блок в меню и, зажав кнопку мыши, перетащить его в нужное место
  • нажать цифровую клавишу, соответствующую номеру блока

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

Также блок можно скопировать и вставить с помощью сочетаний клавиш Ctrl+C и Ctrl+V соответственно.

Редактирование текста и форматирование блоков

Редактирование текста и форматирование блоков
Редактирование текста и форматирование блоков (.gif)

Для ввода блока в режим редактирования достаточно дважды кликнуть по блоку или же нажать клавишу F2 при имеющемся активном блоке. Блоки поддерживают как обычное добавление символов, так и основные сочетания клавиш, свойственные обычному текстовому полю:

  • Перемещение курсора: стрелки, Home, End
  • Перемещение курсора на очередное слово: Ctrl+Left, Ctrl+Right
  • Удаление до очередного слова: Ctrl+Delete, Ctrl+Backspace
  • Выделение текста: Shift+Arrows, Shift+Home, Shift+End, Ctrl+A
  • Вставка из буфера обмена: Ctrl+V
  • Копирование в буфер обмена: Ctrl+C
  • Жирный и курсивный шрифт: Ctrl+B и Ctrl+I соответственно
  • Изменение размера шрифта: Ctrl+Plus и Ctrl+Minus соответственно

Добавление стрелок, соединение блоков

Добавление стрелки
Добавление стрелки (.gif)

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

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

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

Масштабирование и перемещение блоков

Изменение размера и перемещение блоков
Изменение размера и перемещение блоков (.gif)

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

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

Изменение стрелок и их частей

Изменение стрелки
Изменение стрелки (.gif)

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

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

Чтобы "переподключить" стрелку, сделайте её активной и нажмите на коннектор, в который входит конец стрелки. Тогда стрелка будет отсоединена от конечного блока и её можно будет подключить к другому коннектору.

Масштабирование и перемещение

Масштабирование и перемещение поля
Масштабирование и перемещение поля (.gif)

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

Для изменения текущего масштаба поля используйте прокрутку колёсика мыши с зажатой клавишей Alt. Также масштабирование возможно с использованием сочетаний клавиш Ctrl+Plus и Ctrl+Minus или иконки лупы в правой нижней части экрана для увеличения и уменьшения масштаба соответственно.

Переключение между блоками и поиск ближайшего блока

Переключение между блоками
Переключение между блоками (.gif)

Чтобы сделать активным очередной блок и переместить поле так, чтобы он оказался в центре, достаточно нажать клавишу Tab. А для того чтобы перейти не на следующий, а на предыдущий блок, нужно нажать сочетание клавиш Ctrl+Tab.

Для перемещения поля таким образом, чтобы в центре оказался ближайший блок, нужно нажать сочетание клавиш Ctrl+F.

Выделение и действия с ним

Действия с выделением
Действия с выделением (.gif)

Для создания выделения в пустом месте зажмите левую кнопку мыши и перемещайте её до выделения нужной области. Во время перемещения будет отображаться прямоугольник с полупрозрачным фоном, показывающий границы текущего выделения. По завершении выделения блоки, попавшие в область, будут подсвечены. Если же ни один блок не попадёт в выделение, то оно пропадёт. Если требуется выделить все блоки сразу, то используйте сочетание клавиш Ctrl+A

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

Чтобы скопировать активное выделение, используйте сочетание клавиш Ctrl+C. Для вставки скопированного выделения нажмите Ctrl+V. Удалить выделение можно с помощью нажатия клавиши Delete.

Смена меток блоков, смена направления стрелки и её перестроение

Метки блоков и направление стрелки
Метки блоков и направление стрелки (.gif)

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

  • Блок начала/конца: циклическое изменение текста "начало" - "конец" - "вернуть"
  • Блок ввода/вывода: циклическое изменение текста "ввод" - "вывод"
  • Блок условного оператора: смена положений меток да/нет или их полное отключение
  • Блок ссылки: увеличение на 1 цифры текущей метки (уменьшение на 1, если нажать Ctrl+R)

При нажатии клавиши R и наличии активной стрелки, её направление изменится на противоположное без перестроения сегментов.

Нажатие Ctrl+P при наличии активной стрелки приведёт к автоматическому перестроению всех сегментов.

Вставка шаблонов блок-схем

Добавление шаблонов блок-схем
Добавление шаблонов блок-схем (.gif)

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

  • Цикл for — сочетание Ctrl+1
  • Цикл while — сочетание Ctrl+2
  • Вложенный цикл for — сочетание Ctrl+3
  • Условный оператор с двумя ветвями — сочетание Ctrl+4
  • Оператор выбора — сочетание Ctrl+5
  • Основная программа — сочетание Ctrl+6

Сохранение и загрузка блок-схем

Сохранение и загрузка схемы
Сохранение и загрузка схемы (.gif)

Для сохранения доступна не одна, а сразу три кнопки в меню, причём каждая делает своё действие, а именно:

  • Сохранить схему (.json) — сохраняет блок-схему в виде json файла, который затем можно открыть в редакторе для изменения (сочетание клавиш — Ctrl+S)
  • Сохранить схему (.png) — сохраняет блок-схему в виде единого изображения без сетки и меню в том масштабе, в котором сейчас находится редактор (сочетание клавиш — Ctrl+Shift+S)
  • Сохранить области (.png) — находит связанные области (два и более блоков, соединённых стрелкой) и сохраняет каждую в виде изображения по отдельности (сочетание клавиш — Ctrl+Alt+S)

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