Где рисовать схемы. Создание схем в Microsoft Word

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Соединитель

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

Комментарий

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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

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

6 инструментов для работы с блок-схемами:

draw.io

Этот сервис позволит создавать не только блок-схемы, но и UML, диаграммы сущность-связь, сетевые диаграммы, электрические схемы, каркасные схемы и модели. Интуитивный интерфейс и большая библиотека элементов позволят работать легко и комфортно. Важно также и то, что над одним проектом могут работать сразу несколько человек. Результат можно сохранить в форматах PNG/JPG/XML/SVG/PDF. Имеется интеграция с Google Drive.

gliffy.com

Gliffy предоставляет схожий набор инструментов и возможностей: большая библиотека элементов, удобный интерфейс, возможность коллективной работы, интеграция с Google Drive, работа с документами Visio, готовые цветовые темы для проектов.

gomockingbird.com

Программа имеет простой и понятный UI, работает в браузере, есть возможность работы в команде. Также, добавив ссылки, можно объединять несколько проектов в один.

lucidchart.com

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

Balsamiq mockups

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

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

Примечание. Вы также можете автоматически создать простую блок-схему на основе данных, используя визуализатор данных в 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.

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

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

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

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

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

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

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

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

Если не очень хочется неаккуратно чиркать в тетрадке, а рисовать заставляют. Конечно, мы рассматриваем только бесплатные варианты:)

  • draw.io . Отличный бесплатный сервис для онлайн-рисования бизнес-схем и блок-схем. Сохраняет файл в формате.xml, но можно и заскриншотить, отключив показ сетки (Grid). Интегрируется с Google Drive.
  • Google Drawing . Авторизуйтесь в своём гугль-профиле, скажите в меню страницы Файл - Создать - Рисунок и получите удобную рисовалку, после которой можно скачать в pdf или популярных графических форматах.

Пожалуй, эти сервисы - лучшие, хотя есть и немало альтернатив:

  • lucidchart . После секундной регистрации и выбора Start Free Account получаем удобные и легко масштабируемые схемы, которые затем можно опубликовать и скачать в нужном формате.
  • creatly . "Try creatly now" - и можно рисовать сразу же. Правда, нужно разрешить загрузку флешки и экспорт файлов доступен только для зарегистрированных пользователей. Но ведь скриншоты никто не отменял:)
  • iyopro.com . Бесплатный проект, правда, он на Silverlight и запустится не у всех (например, будет работать в Internet Explorer).
  • gliffy . После короткой регистрации, не требующей подтверждения, можно сразу начать рисовать схемы.
  • cacoo . Позиционирует себя как "Cloud-based diagrams, the easy way".
  • Violet . Оффлайн-редактор UML-диаграмм, для продвинутых:)
  • Блок-схема от paslab . Уникальный отечественный сервис для преобразования программок на Паскале в блок-схемы:)

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

Инструкция

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

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

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

Для задания оператора условия нарисуйте от данной линии ромб. Внутри фигуры укажите само условие и проведите линии, указывающие дальнейший переход в зависимости от его выполнения. Условие задается в общем случае операциями сравнения (>, <, =). Переход по линии вниз осуществляется при истинном условии, назад – при ложном. Укажите около выходных линий фигуры результаты условия (true, false). Невыполнение условия (false) возвращает к определенному шагу выше по телу алгоритма. Проведите линии под прямым углом от выхода с условия и до нужного оператора.