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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Соединитель

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

Комментарий

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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


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

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


Блок-схема в Word. Студенту или инженеру часто приходится создавать, различны схемы из блоков со стрелками и надписями. У кого–то есть специальная программа для этого, а некоторые умеют создавать такие схемы в Word. Если блоки на диаграмме должны быть соединены стрелками или предполагается «наращивание» диаграммы новыми блоками, то вместо таблиц лучше использовать вариант создания схемы как графического объекта. Встроенные средства рисования программы Word позволяют создать сколь угодно сложную схему. При этом текстовое содержание располагается не в основном документе, а в специальных графических вставках – надписях.

Давайте и мы попробуем сделать такую схему.

Блок-схема в Word 2003

Нажмите на панели Рисование фигуру Прямоугольник . Должна появиться вот такая рамка (без надписей). В ней мы и будем создавать свою блок-схему.

Совет

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

Нажмите кнопку Автофигуры на панели Рисование , выберите команду Блок-схема , а затем щелкните нужную фигуру.

Потом щелкните в поле рамки в том месте, где хотите расположить эту фигуру.

Если она встала не там, где вам хотелось, то перетащите её мышкой.

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

Вы можете эти фигуры перетаскивать и изменять их размеры.

Теперь добавим надписи к нашим фигурам. Для этого на панели инструментов Рисование и щелкаем по значку Надпись .

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

Пишем название нашего блока. Надпись внутри этого поля можно форматировать, как простой текст в документе. Поле для надписи также можно перетаскивать и изменять его размер. Блоки с надписями можно копировать и вставлять в другие блоки.

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

В раскрывшемся диалоговом окне открыть вкладку Цвета и линии . В группе линии Цвет . Выбрать вариант Нет линий .

Совет

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

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

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

Теперь добавим к нашей схеме стрелки.

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

Щелкаем по кнопке Автофигуры Фигурные стрелки , и выбираем стрелку. Потом переходим на поле нашей блок-схемы и щелкаем мышкой там, где необходимо вставить стрелку. Можете её залить каким-нибудь цветом.

Текстовый редактор Microsoft Word - программа, позволяющая пользователю решать множество задач. Помимо широких возможностей по работе с текстом, Word может предложить вам инструменты для создания некоторых графических элементов, чтобы сделать ваш документ ещё лучше. Различные блок-схемы являются очень популярным средством для того, чтобы продемонстрировать что-либо более наглядно. В этой статье подробно рассмотрим, как сделать схему в Word и поговорим обо всех аспектах и нюансах этого процесса. Давайте разбираться. Поехали!

Текстовый редактор имеет множество специальных инструментов

Чтобы создать блок-схему, откройте вкладку «Вставка». В последних версиях Microsoft Word доступен специальный инструмент под названием «SmartArt». Вызвать его можно в разделе «Иллюстрации» на панели инструментов. Перед вами откроется окно выбора графических элементов. В нём вы можете подобрать подходящий макет из предложенных вариантов. Если вам потребуется добавить дополнительную ячейку, нажмите кнопку «Добавить фигуру». Заполнять ячейки и изменять их иерархию можно в окне «Область текста». Добавление текста осуществляется простым вводом символов в соответствующие поля окна.

Заполнив все ячейки, переходите к следующему этапу. Откройте вкладку «Формат». Чтобы изменить размеры вашей блок-схемы, кликните по кнопке «Размер» в правой части панели инструментов . Появится небольшое окно с двумя полями «Высота» и «Ширина». Введите значения в соответствующие поля, чтобы привести схему к нужному размеру и пропорциям. Вы можете изменять размер как отдельных ячеек, так и нескольких одновременно. Для этого отметьте каждую из них, держа нажатой клавишу Shift. Текст из каждого блока можно редактировать по своему усмотрению, применяя разнообразные шрифты, цвета, стили WordArt и прочее.

Также есть возможность изменять стиль и всей схемы в целом. Для этого зайдите во вкладку «Конструктор». В разделе «Стили SmartArt» на панели инструментов выберите понравившийся из предложенных вариантов . Среди них есть с добавлением теней, объёма и 3D стили. В той же вкладке кнопкой «Изменить цвет» устанавливается желаемый цвет блок-схемы. Выбор достаточно большой. Имеются варианты с окрашиванием ячеек в разные цвета на основе их иерархии.

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

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

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

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

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, предназначенная для создания интерактивных графиков и диаграмм.

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

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

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

Как и любая другая программа из серии Microsoft Office, Visio имеет все необходимые для комфортной работы инструменты: создание, редактирование, соединение и изменение дополнительных свойств фигур. Реализован и специальный анализ уже построенной системы.

Dia

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

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

Flying Logic

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

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

BreezeTree Software FlowBreeze

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

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

Edraw MAX

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

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

AFCE Редактор Блок-Схем (Algorithm Flowcharts Editor)

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

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

FCEditor

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

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

BlockShem

В программе BlockShem, к сожалению, представлено намного меньше функций и удобств для пользователей. Полностью отсутствует автоматизация процесса в любом виде. В БлокСхеме пользователь должен вручную рисовать фигуры, а после объединять их. Данный редактор скорее относится к графическим, нежели к объектным, предназначенным для создания схем.

Библиотека фигур, к сожалению, в этой программе крайне бедна.

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



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png