Важность простых блок схем в программировании
Существуют ситуации, когда знание хотя бы элементарных основ программирования очень необходимы на работе. Например, бывают ситуации, когда нужно составить вроде бы простенькую программу для автоматизации некоторого процесса. Если этого не сделать, то каждый день можно делать однотипные операции, повторяя их снова и снова.
В этой ситуации можно пойти двумя путями – либо немного освоить, скажем, такой язык как C++ Builder, либо Delphi, либо то, что хорошо знали в школе или институте. Вторым вариантом будет использование специальных программ автоматизации, которые в немалом количестве существуют в интернете. С помощью таких программ можно составить блок схемы программирования, который полностью ответит всем задумкам на требуемую программу.
В таких программах есть все основные функции, как и в языках программирования, программа составляется путем перемещения на рабочую область требуемой функции и переходу к следующему шагу. Между функциями можно выставить определенную временную задержку, а при помощи меток перейти в нужный кусок кода программы.
Кроме компьютерных программ получили широкое распространение и программы для смартфонов и айфонов. Сейчас появилось много дешевых китайских телефонов, для которых уже пишутся программы. Некоторые программы на самом деле не так сложно сделать и самому, нужен просто небольшой опыт в этом деле. Отдельно стоит сказать, что китайский айфон отзывы имеет как положительные, так и не очень, кому какой вариант попадется. Многие пользователи предъявляют завышенные требования к данной технике, хотя программное обеспечение еще не на том высоком уровне, каком бы хотелось, например, есть проблемы с русским языком. В целом технических претензий к данной технике нет, есть только пожелание дальнейшего усовершенствования.
Блок-схема — Краткое руководство
Блок-схемы можно использовать для разработки или документирования ряда простых шагов или процедур. Как и другие диаграммы, такие диаграммы могут помочь визуализировать происходящее и облегчить понимание промежуточного процесса. Хотя существует множество вариантов блок-схем, каждая из которых имеет свой собственный способ маркировки, большинство из них имеют следующие два символа.
- Шаг. Часто упоминается как «активность» и обычно изображается прямоугольником.
- Решение. Часто упоминается как «деятельность» и обычно обозначается прямоугольником Часто обозначается ромбом
Преимущества и недостатки блок-схемы
- Достоинства: интуитивно понятный, простой для понимания, легко находит ошибки в алгоритме, может быть напрямую переведен в программу.
- Недостатки : Занимает много места. Из-за использования поточных линий он слишком гибкий и неограниченный. Пользователи могут поворачивать поток по своему желанию, вызывая трудности при чтении и модификации программы, что не способствует разработке структурированных программ.
Многофункциональная блок-схема
Кросс-функциональная блок-схема часто используется, когда блок-схема разделена на разные горизонтальные или вертикальные секции, которые используются для описания различных блоков управления. Конкретный блок управления будет отображаться в виде значка вместе с определенным разделом.
Кросс-функциональные блок-схемы позволяют картографу правильно назначать обязанности для «этапов выполнения» или «решений» и отображать обязанности составных единиц для каждой отдельной части процесса.
Стандартные символы блок-схемы
Блок-схемы обычно используют символы, чтобы сделать блок-схему выраженной в содержании, чтобы другие могли точно и всесторонне понять необходимость использования общих, унифицированных символов блок-схемы в диаграммах.
В настоящее время Международная организация по стандартизации (ISO) и другие учреждения имеют стандарты символов блок-схем, которые можно использовать в качестве основы для рисования, например, необходимость использования этого стандарта в реальной работе с графикой и другими символами, следует учитывать его универсальность, постарайтесь использовать сообщество и общее, в случае инноваций необходимо указать значение и использование этих символов, а также обратить внимание на ту же диаграмму, а затем на фактический рисунок, чтобы сохранить необходимую преемственность, и сократить ненужные типы символов.
В следующей таблице перечислены наиболее распространенные символы блок-схем.
Каковы 3 преимущества использования блок -схемы?
Эффективная связь : блок -схемы – лучший способ передачи логики системы. Эффективный анализ: использование проблемы блок -схемы может быть проанализировано более эффективно. Легкая отладка и эффективное тестирование: блок -схема помогает в процессе отладки и тестирования.
Когда вы бы использовали блок -схему?
Когда использовать блок -схему
- Чтобы развить понимание того, как выполняется процесс.
- Чтобы изучить процесс улучшения.
- Чтобы общаться с другими, как выполняется процесс.
- Когда требуется лучшая связь между людьми, связанным с тем же процессом.
- Чтобы задокументировать процесс.
- При планировании проекта.
Как важна блок -схема?
Поточные схемы являются важным инструментом для улучшения процессов . Предоставляя графическое представление, они помогают проектным группам определить различные элементы процесса и понять взаимосвязи между различными шагами.
Какие 3 типа блок -схемы?
Наиболее распространенные типы блок -схемы:
- Протокольная блок -схема.
- Блок -схема плавания.
- Диаграмма рабочего процесса.
- Диаграмма потока данных.
Какова важность символов в блок -схеме?
Ответ: блок -схемы Используйте специальные формы, чтобы представлять различные типы действий или шаги в процессе . Линии и стрелы показывают последовательность шагов и отношения между ними. Итак, это очень полезно для нас.
Какие пять основных символов используются в блок -схеме?
4 Основные символы блок -схемы для создания блок -схемы
- Овальный. Конец или начало при создании блок -схемы. Овал или терминатор используется для представления начала и конца процесса. …
- прямоугольник. Шаг в процессе блок -схемы. …
- Стрелка. Укажите направленный поток. …
- Алмаз. Укажите решение.
Почему разработчики используют блок -схемы?
Поточные схемы помогают программистам развить наиболее эффективное кодирование , потому что они могут четко увидеть, где данные будут в конечном итоге. Блок -схемы помогают программистам выяснить, где находится потенциальная проблема, и помогает им от отладки или очистки кода, который не работает.
Каковы недостатки блок -схемы?
Недостатки блок -схем
- Изменения – изменения могут стать хлопот при использовании блок -схем. …
- Логическая сложность – когда процесс относительно сложный, это может заставить блок -схему процесса выглядеть грязно и неуклюже.
Что такое ограничение блок -схемы?
Блок -схемы имеют много ограничений, включая упрощение, повторные модификации и воспроизводство . Если вы нарисуете блок -схемы вручную, это будет довольно время и усилия. Таким образом, целесообразно полагаться на технологии и использовать профессиональное программное обеспечение для блок -схемы.
Как блок -схемы могут принести пользу вашей повседневной жизни?
Блок -схемы – отличный способ переосмыслить большие вопросы или сложные процессы в аккуратные ответы да/нет. Они обычно используются в организациях, чтобы помочь визуализировать процессы принятия решений, но это не значит, что они должны быть ограничены офисом: блок -схемы могут на самом деле помогать вам ориентироваться в множестве вариантов большой жизни.
Как блок -схема может помочь студентам?
Блок -схемы в классе представляют собой графические представления о процессах мышления студентов. Это позволяет студентам заметьте свои идеи и мысли в логической и организованной моде , давая им свободу возвращаться и размышлять об этом.
Каковы элементы блок -схемы?
Блок -схема состоит из следующих элементов: Начало и конечные узлы процесса (время, когда проект запускается или заканчивается), этапы разработки проекта (действия, которые необходимо выполнить), узлы принятия решений (время, когда Решение должно быть принято) и разъемы (стрелки, указывающие поток времени проекта).
действительно ли программисты используют блок -схемы?
Аналогичным образом, компьютерные программисты и кодировщики используют блок -схемы для изучения и создания новых программ, приложений и коммерческих программных пакетов . Эти взаимосвязанные диаграммы позволяют программистам и архитекторам разрабатывать идею с нуля и раскрыть границы предполагаемой цифровой системы.
Каковы 4 основные типы блок -схемы?
4 Наиболее распространенные типы блок -схемы
- Блок -схема процесса. Покажите, как работает процесс или спланируйте проект с блок -схемой процесса. …
- Диаграмма рабочих процессов или диаграмма рабочего процесса. Поймите, как данные и документы проходят в вашей организации. …
- Блок -схема плавания. …
- Блок -схема данных.
Каковы пять элементов вашего кода?
input : Получение данных и команд в компьютер. Вывод: выявление ваших результатов из компьютера. Арифметика: выполнение математических расчетов по вашим данным. Условное и зациктельное: тестирование, чтобы увидеть, является ли условие истинным или ложным, и ездить на езде набор инструкций, пока не будет выполнено какое -то условие.
Каковы правила рисования блок -схемы?
Есть несколько ключевых правил, которые соответствуют всем блок -схемам:
- Всегда форматируйте свой поток слева направо или сверху вниз.
- Запустите свои обратные строки под вашей блок -схемой, следя за тем, чтобы они не перекрывались.
- Поддерживайте согласованное расстояние между символами.
Что означает круг в блок -схеме?
Если вам нужно подключиться к другой странице или в другом разделе диаграммы, и вы не можете нарисовать линию, вы можете использовать круг. … в картировании процесса кружок представляет собой проверку . При осмотре качество продукта оценивается. Поток продолжается только в том случае, если продукт одобрен.
Каков основной символ блок -схемы?
Блок -схемы используют специальные формы для представления различных типов действий или шагов в процессе. строки и стрелки показывают последовательность шагов и отношения между ними. Они известны как символы блок -схемы.
Что такое символ решения в блок -схеме?
алмаз представляет собой решение или точку разветвления. Линии, выходящие из алмаза, указывают на различные возможные ситуации, что приводит к различным подпроцессам.
Что такое символ решения?
Анс: Символ решения используется для принятия решения и следовать именно одному из двух решений .
Как символы соединяются вместе в блок -схеме?
Как правило, блок -схемы текут сверху вниз и слева направо . Стрелка, исходящая от одного символа и заканчивающийся на другом символе, представляет этот элемент управления передается символу, на который указывает стрелка. Линия для стрелки может быть твердой или пунктирной. … (Стрелки всегда должны быть помечены.)
Что такое блок -схема да нет?
ДА НЕТ БЛИЧНАЯ ГОРОДА показывает подтверждения между различными типами категорий для проблемы. Это полезно, если вы хотите представить результаты опроса. Блок-схема «нет» также известна как два раза или диаграммы бабочек . … это также называется таблицей торнадо.
Какие преимущества дает блок схема
Блок-схема: примеры, элементы, построение. Блок-схемы алгоритмов

В этой статье будут рассмотрены примеры блок-схем, которые могут встретиться вам в учебниках по информатике и другой литературе. Блок-схема представляет собой алгоритм, по которому решается какая-либо задача, поставленная перед разработчиком. Сначала нужно ответить на вопрос, что такое алгоритм, как он представляется графически, а самое главное – как его решить, зная определенные параметры. Нужно сразу отметить, что алгоритмы бывают нескольких видов.
Что такое алгоритм?
Это слово ввел в обиход математик Мухаммед аль-Хорезми, который жил в период 763-850 года. Именно он является человеком, который создал правила выполнения арифметических действий (а их всего четыре). А вот ГОСТ от 1974 года, который гласит, что:
Алгоритм – это точное предписание, которое определяет вычислительный процесс. Причем имеется несколько переменных с заданными значениями, которые приводят расчеты к искомому результату.
Алгоритм позволяет четко указать исполнителю выполнять строгую последовательность действий, чтобы решить поставленную задачу и получить результат. Разработка алгоритма – это разбивание одной большой задачи на некую последовательность шагов. Причем разработчик алгоритма обязан знать все особенности и правила его составления.
Особенности алгоритма
Всего можно выделить восемь особенностей алгоритма (независимо от его вида):
- Присутствует функция ввода изначальных данных.
- Есть вывод некоего результата после завершения алгоритма. Нужно помнить, что алгоритм нужен для того, чтобы достичь определенной цели, а именно – получить результат, который имеет прямое отношение к исходным данным.
- У алгоритма должна быть структура дискретного типа. Он должен представляться последовательными шагами. Причем каждый следующий шаг может начаться только после завершения предыдущего.
- Алгоритм должен быть однозначным. Каждый шаг четко определяется и не допускает произвольной трактовки.
- Алгоритм должен быть конечным – необходимо, чтобы он выполнялся за строго определенное количество шагов.
- Алгоритм должен быть корректным – задавать исключительно верное решение поставленной задачи.
- Общность (или массовость) – он должен работать с различными исходными данными.
- Время, которое дается на решение алгоритма, должно быть минимальным. Это определяет эффективность решения поставленной задачи.
А теперь, зная, какие существуют блок-схемы алгоритмов, можно приступить к рассмотрению способов их записи. А их не очень много.
Словесная запись
Такая форма, как правило, применяется при описании порядка действий для человека: «Пойди туда, не знаю куда. Принеси то, не знаю что».
Конечно, это шуточная форма, но суть понятна. В качестве примера можно привести еще, например, привычную запись на стеклах автобусов: «При аварии выдернуть шнур, выдавить стекло».
Здесь четко ставится условие, при котором нужно выполнить два действия в строгой последовательности. Но это самые простые алгоритмы, существуют и более сложные. Иногда используются формулы, спецобозначения, но при обязательном условии – исполнитель должен все понимать.
Допускается изменять порядок действий, если необходимо вернуться, например, к предыдущей операции либо обойти какую-то команду при определенном условии. При этом команды желательно нумеровать и обязательно указывается команда, к которой происходит переход: «Закончив все манипуляции, повторяете пункты с 3 по 5».
Запись в графической форме
В этой записи участвуют элементы блок-схем. Все элементы стандартизированы, у каждой команды имеется определенная графическая запись. А конкретная команда должна записываться внутри каждого из блоков обычным языком или математическими формулами. Все блоки должны соединяться линиями – они показывают, какой именно порядок у выполняемых команд. Собственно, этот тип алгоритма более подходит для использования в программном коде, нежели словесный.
Запись на языках программирования
В том случае, если алгоритм необходим для того, чтобы задачу решала программа, установленная на ПК, то нужно его записывать специальным кодом. Для этого существует множество языков программирования. И алгоритм в этом случае называется программой.
Блок-схемы
Блок-схема – это представление алгоритма в графической форме. Все команды и действия представлены геометрическими фигурами (блоками). Внутри каждой фигуры вписывается вся информация о тех действиях, которые нужно выполнить. Связи изображены в виде обычных линий со стрелками (при необходимости).
Для оформления блок-схем алгоритмов имеется ГОСТ 19.701-90. Он описывает порядок и правила создания их в графической форме, а также основные методы решения. В этой статье приведены основные элементы блок-схем, которые используются при решении задач, например, по информатике. А теперь давайте рассмотрим правила построения.
Основные правила составления блок-схемы
Можно выделить такие особенности, которые должны быть у любой блок-схемы:
- Обязательно должно присутствовать два блока – «Начало» и «Конец». Причем в единичном экземпляре.
- От начального блока до конечного должны быть проведены линии связи.
- Из всех блоков, кроме конечного, должны выходить линии потока.
- Обязательно должна присутствовать нумерация всех блоков: сверху вниз, слева направо. Порядковый номер нужно проставлять в левом верхнем углу, делая разрыв начертания.
- Все блоки должны быть связаны друг с другом линиями. Именно они должны определять последовательность, с которой выполняются действия. Если поток движется снизу вверх или справа налево (другими словами, в обратном порядке), то обязательно рисуются стрелки.
- Линии делятся на выходящие и входящие. При этом нужно отметить, что одна линия является для одного блока выходящей, а для другого входящей.
- От начального блока в схеме линия потока только выходит, так как он является самым первым.
- А вот у конечного блока имеется только вход. Это наглядно показано на примерах блок-схем, которые имеются в статье.
- Чтобы проще было читать блок-схемы, входящие линии изображаются сверху, а исходящие снизу.
- Допускается наличие разрывов в линиях потока. Обязательно они помечаются специальными соединителями.
- Для облегчения блок-схемы разрешается всю информацию прописывать в комментариях.
Графические элементы блок-схем для решения алгоритмов представлены в таблице:
Линейный тип алгоритмов
Это самый простой вид, который состоит из определенной последовательности действий, они не зависят от того, какие данные вписаны изначально. Есть несколько команд, которые выполняются однократно и только после того, как будет сделана предшествующая. Линейная блок-схема выглядит таким образом:

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

На схемах изображаются блоки, которые называются «Решение». У него имеется два выхода, а внутри прописывается логическое условие. Именно от того, как оно будет выполнено, зависит дальнейшее движение по схеме алгоритма. Можно разделить разветвляющиеся алгоритмы на три группы:
- «Обход» – при этом одна из веток не имеет операторов. Другими словами, происходит обход нескольких действий другой ветки.
- «Разветвление» – каждая ветка имеет определенный набор выполняемых действий.
- «Множественный выбор» – это разветвление, в котором есть несколько веток и каждая содержит в себе определенный набор выполняемых действий. Причем есть одна особенность – выбор направления напрямую зависит от того, какие заданы значения выражений, входящих в алгоритм.
Это простые алгоритмы, которые решаются очень просто. Теперь давайте перейдем к более сложным.
Циклический алгоритм
Здесь все предельно понятно – циклическая блок-схема представляет алгоритм, в котором многократно повторяются однотипные вычисления. По определению, цикл – это определенная последовательность каких-либо действий, выполняемая многократно (более, чем один раз). И можно выделить несколько типов циклов:
- У которых известно число повторений действий (их еще называют циклами со счетчиком).
- У которых число повторений неизвестно – с постусловием и предусловием.
Независимо от того, какой тип цикла используется для решения алгоритма, у него обязательно должна присутствовать переменная, при помощи которой происходит выход. Именно она определяет количество повторений цикла. Рабочая часть (тело) цикла – это определенная последовательность действий, которая выполняется на каждом шаге. А теперь более детально рассмотрим все типы циклов, которые могут встретиться при составлении алгоритмов и решении задач по информатике.
Циклы со счетчиками
На рисунке изображена простая блок-схема, в которой имеется цикл со счетчиком. Такой тип алгоритмов показывает, что заранее известно количество повторений данного цикла. И это число фиксировано. При этом переменная, считающая число шагов (повторений), так и называется – счетчик. Иногда в учебниках можно встретить иные определения – параметр цикла, управляющая переменная.

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

Обычно в обозначениях блок-схем используется блок, который называется «Подготовка». В нем прописывается счетчик, а затем указываются такие данные: начальное и конечное значения, шаг изменения. На блок-схеме это параметры I н, Ik и h, соответственно. В том случае, когда h=1, величину шага не записывают. В остальных случаях делать это обязательно. Необходимо придерживаться простого правила – линия потока должна входить сверху. А линия потока, которая выходит снизу (или справа, в зависимости от конкретного алгоритма), должна показывать переход к последующему оператору.
Теперь вы полностью изучили описание блок-схемы, изображенной на рисунке. Можно перейти к дальнейшему изучению. Когда используется цикл со счетчиком, требуется соблюдать определенные условия:
- В теле не разрешается изменять (принудительно) значение счетчика.
- Запрещено передавать управление извне оператору тела. Другими словами, войти в цикл можно только из его начала.
Циклы с предусловием
Этот тип циклов применяется в тех случаях, когда количество повторений заранее неизвестно. Цикл с предусловием – это тип алгоритма, в котором непосредственно перед началом выполнения тела осуществляется проверка условия, при котором допускается переход к следующему действию. Обратите внимание на то, как изображаются элементы блок-схемы.
В том случае, когда условие выполняется (утверждение истинно), происходит переход к началу тела цикла. Непосредственно в нем изменяется значение хотя бы одной переменной, влияющей на значение поставленного условия. Если не придерживаться этого правила, получим «зацикливание». В том случае, если после следующей проверки условия выполнения тела цикла оказывается, что оно ложное, то происходит выход.
В блок-схемах алгоритмов допускается осуществлять проверку не истинности, а ложности начального условия. При этом из цикла произойдет выход только в том случае, если значение условия окажется истинным. Оба варианта правильные, их использование зависит от того, какой конкретно удобнее использовать для решения той или иной задачи. Такой тип цикла имеет одну особенность – тело может не выполниться в случае, когда условие ложно или истинно (в зависимости от варианта, который применяется для решения алгоритма).
Ниже приведена блок-схема, которая описывает все эти действия:

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

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

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

Или пример из биологии для решения поставленной задачи:

Решение задач с блок-схемами
А теперь рассмотрим примеры задач с блок-схемами, которые могут попасться в учебниках информатики. Например, задана блок-схема, по которой решается какой-то алгоритм:

При этом пользователь самостоятельно вводит значения переменных. Допустим, х=16, а у=2. Процесс выполнения такой:
- Производится ввод значений х и у.
- Выполняется операция преобразования: х=√16=4.
- Выполняется условие: у=у 2 =4.
- Производится вычисление: х=(х+1)=(4+1)=5.
- Дальше вычисляется следующая переменная: у=(у+х)=(5+4)=9.
- Выводится решение: у=9.
На этом примере блок-схемы по информатике хорошо видно, как происходит решение алгоритма. Нужно обратить внимание на то, что значения х и у задаются на начальном этапе и они могут быть любыми.
Блок-схемы алгоритмов. ГОСТ. Примеры
Схема — это абстракция какого-либо процесса или системы, наглядно отображающая наиболее значимые части. Схемы широко применяются с древних времен до настоящего времени — чертежи древних пирамид, карты земель, принципиальные электрические схемы. Очевидно, древние мореплаватели хотели обмениваться картами и поэтому выработали единую систему обозначений и правил их выполнения. Аналогичные соглашения выработаны для изображения схем-алгоритмов и закреплены ГОСТ и международными стандартами.
На территории Российской Федерации действует единая система программной документации (ЕСПД), частью которой является Государственный стандарт — ГОСТ 19.701-90 «Схемы алгоритмов программ, данных и систем» [1]. Не смотря на то, что описанные в стандарте обозначения могут использоваться для изображения схем ресурсов системы, схем взаимодействия программ и т.п., в настоящей статье описана лишь разработка схем алгоритмов программ.
Рассматриваемый ГОСТ практически полностью соответствует международному стандарту ISO 5807:1985.
Содержание:
Элементы блок-схем алгоритмов
Блок-схема представляет собой совокупность символов, соответствующих этапам работы алгоритма и соединяющих их линий. Пунктирная линия используется для соединения символа с комментарием. Сплошная линия отражает зависимости по управлению между символами и может снабжаться стрелкой. Стрелку можно не указывать при направлении дуги слева направо и сверху вниз. Согласно п. 4.2.4, линии должны подходить к символу слева, либо сверху, а исходить снизу, либо справа.
Есть и другие типы линий, используемые, например, для изображения блок-схем параллельных алгоритмов, но в текущей статье они, как и ряд специфических символов, не рассматриваются. Рассмотрены лишь основные символы, которых всегда достаточно студентам.
Примеры блок-схем
В качестве примеров, построены блок-схемы очень простых алгоритмов сортировки, при этом акцент сделан на различные реализации циклов, т.к. у студенты делают наибольшее число ошибок именно в этой части.
Сортировка вставками
Массив в алгоритме сортировки вставками разделяется на отсортированную и еще не обработанную части. Изначально отсортированная часть состоит из одного элемента, и постепенно увеличивается.
На каждом шаге алгоритма выбирается первый элемент необработанной части массива и вставляется в отсортированную так, чтобы в ней сохранялся требуемый порядок следования элементов. Вставка может выполняться как в конец массива, так и в середину. При вставке в середину необходимо сдвинуть все элементы, расположенные «правее» позиции вставки на один элемент вправо. В алгоритме используется два цикла — в первом выбираются элементы необработанной части, а во втором осуществляется вставка.

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

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

Блок-схема сортировки выбором
На блок-схеме приведен пример использования блока «подготовка», а также показано, что в ряде случаев можно описывать алгоритм более «укрупнённо» (не вдаваясь в детали). К сортировке выбором не имеют отношения детали реализации поиска индекса минимального элемента массива, поэтому они могут быть описаны символом вызова внешней процедуры. Если блок-схема алгоритма внешней процедуры отсутствует, не помешает написать к символу вызова комментарий, исключением могут быть функции с говорящими названиями типа swap, sort, … .
На блоге можно найти другие примеры блок-схем:
Часть студентов традиционно пытается рисовать блок-схемы в Microsoft Word, но это оказывается сложно и не удобно. Например, в MS Word нет стандартного блока для терминатора начала и конца алгоритма (прямоугольник со скругленными краями, а не овал). Наиболее удобными, на мой взгляд, являются утилиты MS Visio и yEd [5], обе они позволяют гораздо больше, чем строить блок-схемы (например рисовать диаграммы UML), но первая является платной и работает только под Windows, вторая бесплатная и кроссплатфомренная. Все блок-схемы в этой статье выполнены с использованием yEd.
Нужны ли блок-схемы? Альтернативы
Частные конторы никакие блок-схемы не используют, в книжках по алгоритмам [6] вместо них применяют словесное описание (псевдокод) как более краткую форму. Возможно блок-схемы применяют на государственных предприятиях, которые должны оформлять документацию согласно требованиям ЕСПД, но есть сомнения — даже для регистрации программы в Государственном реестре программ для ЭВМ никаких блок-схем не требуется.
Тем не менее, рисовать блок-схемы заставляют школьников (примеры из учебников ГОСТ не соответствуют) — выносят вопросы на государственные экзамены (ГИА и ЕГЭ), студентов — перед защитой диплом сдается на нормоконтроль, где проверяется соответствие схем стандартам.
Разработка блок-схем выполняется на этапах проектирования и документирования, согласно каскадной модели разработки ПО, которая сейчас почти не применяется, т.к. сопровождается большими рисками, связанными с ошибками на этапах проектирования.
Появляются подозрения, что система образования прогнила и отстала лет на 20, однако аналогичная проблема наблюдается и за рубежом. Международный стандарт ISO 5807:1985 мало чем отличается от ГОСТ 19.701-90, более нового стандарта за рубежом нет. Там же производится множество программ для выполнения этих самых схем — Dia, MS Visio, yEd, …, а значит списывать их не собираются. Вместо блок-схем иногда применяют диаграммы деятельности UML [6], однако удобнее они оказываются, разве что при изображении параллельных алгоритмов.
Периодически поднимается вопрос о том, что ни блок-схемы, ни UML не нужны, да и документация тоже не нужна. Об этом твердят программисты, придерживающиеся методологии экстремального программирования (XP) [7], ходя даже в их кругу нет единого мнения.
В ряде случаев, программирование невозможно без рисования блок-схем, т.к. это один процесс — существуют визуальные языки программирования, такие как ДРАКОН [8], кроме того, блок-схемы используются для верификации алгоритмов (формального доказательства их корректности) методом индуктивных утверждений Флойда [9].
В общем, единого мнения нет. Очевидно, есть области, в которых без чего-то типа блок-схем обойтись нельзя, но более гибкой альтернативы нет. Для формальной верификации необходимо рисовать подробные блок-схемы, но для проектирования и документирования такие схемы не нужны — я считаю разумным утверждение экстремальных программистов о том, что нужно рисовать лишь те схемы, которые помогают в работе и не требуют больших усилий для поддержания в актуальном состоянии [10].
Основные объекты блок-схемы описания бизнес- процесса. Преимущества использования блок-схем для описания бизнес-процессов
Схема бизнес-процесса (Business Process Diagram) – это представление пошаговых процессов, где схемы обычно создаются как блок-схемы, в которых фигуры представляют этапы процесса, а последовательность этапов обозначается стрелками.
Многие российские компании используют в своей деятельности текстовое описание бизнес-процессов в документах, которые являются процессными регламентами. Но для целей анализа и оптимизации деятельности компании данный вариант не идеален. Описание бизнес-процесса в текстовом виде сложно представить и анализировать системно. При восприятии и анализе текстовой информации человеческий мозг раскладывает ее на ряд образов, на что уходят дополнительное время и умственные усилия.
Одним из эффективных инструментов графического описания бизнес процессов является модель IDEF0. IDEF0-модель использует графический язык для отражения информации о конкретной системе. Модель состоит из диаграмм и фрагментов текста. На диаграммах все функции системы и их взаимодействия представлены как блоки (функции) и дуги (отношения).
Основной конструкцией модели является функциональный блок (activity — активность), представленный в виде прямоугольника и отображающий некоторую функцию (действие, процесс, операцию). Внутри блока записывается его наименование. Оно должно содержать глагол или отглагольное существительное. Например: «разработать проект», «изготовление продукта», «планирование».
Дуги, изображаемые на диаграмме в виде линий со стрелками на конце, играют роль связей блоков с внешней для них средой. Каждая из дуг имеет метку, характеризующую ее. Назначение дуг зависит от стороны блока, в которую стрелка входит или выходит (рис. 3.4) [19]:
«вход» (I — input) — дуги, входящие слева от блока. Они представляют собой предметы или данные, необходимые для выполнения функции блока (сырье, материалы, исходная информация);
«выход» (O — output) — дуги, выходящие справа из блока. Они показывают предметы или данные, полученные в результате выполнения функции (продукция, услуга, выходные данные);
«управление» (C — control) — дуги, входящие сверху блока. Они описывают условия или данные, которые управляют выполнением функции (инструкции, требования, стандарты);
«механизм» (M — mechanism) — дуги, входящие снизу блока. Они обозначают исполнителей или средства, выполняющие функцию (персонал, подразделения фирмы, оборудование, инструменты, информационная система). Выход и вход показывают, что и из чего делается функциональным блоком, управление показывает, как и почему это делается, а механизм показывает, кем и с помощью чего это делается.
Необходимо подчеркнуть, что дуги — это не обязательно входные или выходные потоки. Входящие дуги — это необходимые условия (ограничения), для того чтобы действие могло произойти, выходящие — результат действия. Например, оборудование, инструменты необходимы для изготовления изделия, однако они не обязательно должны поступать в систему, производящую изделие, так как уже могут находиться в системе.

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