Как составить блок схему алгоритма. Представление алгоритмов в виде блок-схем

20.08.2019

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

Инструкция

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

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

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

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

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

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

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

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

  • Этап 1 . Математическое описание решения задачи.
  • Этап 2 . Определение входных и выходных данных.
  • Этап 3 . Разработка алгоритма решения задачи.

Базовые алгоритмические конструкции

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

  • следование (линейный алгоритм);
  • ветвление (разветвляющийся алгоритм);
  • цикл-пока (циклический алгоритм).

Линейные алгоритмы

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

Пример

ЗАДАЧА. Разработать алгоритм вычисления гипотенузы прямоугольного треугольника по известным значениям длин его катетов a и b.

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

Математическим решением задачи является известная формула:

,

где с-длина гипотенузы, a, b – длины катетов.

Входными данными являются значения катетов a и b. Выходными данными является длина гипотенузы – c.

Разветвляющиеся алгоритмы

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

Пример

ЗАДАЧА. Разработать алгоритм вычисления наибольшего числа из двух чисел x и y.

Этап 1. Математическое описание решения задачи.

Из курса математики известно, если x > y, то наибольшее число x, если x < y, то наибольшее число y, если x = y, то число x равно числу y.

Этап 2. Определение входных и выходных данных.

Входными данными являются значения чисел x и y. Выходным данными являются:

  • наибольшее число
  • любое из чисел, если числа равны

Для решения задачи нам необходимо знать значения x и y.

Этап 3. Разработка алгоритма решения задачи.

В схеме алгоритма решения задачи цифрами указаны номера элементов алгоритма, которые соответствуют номерам шагов словесного описания алгоритма

В рассматриваемом алгоритме (рис.3) имеются три ветви решения задачи:

  • первая: это элементы 1, 2, 3, 4, 8.
  • вторая: это элементы 1, 2, 3, 5, 6, 8
  • третья: это элементы 1, 2, 3, 5, 7, 8.

Выбор ветви определяется значениями x и y в элементах 3 и 5, которые являются условиями, определяющими порядок выполнения элементов алгоритма. Если условие (равенство), записанное внутри символа «решение», выполняется при введенных значениях x и y, то следующими выполняется элементы 4 и 8. Это следует из того, что они соединены линией с надписью «да» и направление (последовательность) вычислений обозначена стрелочкой.

Если условие в элементе 3 не выполняется, то следующим выполняется элемент 5. Он соединен с элементом 3 линией с надписью «нет». Если условие, записанное в элементе 5, выполняется, то выполняется элементы 6 и 8, в противном случае выполняются элементы 7 и 8.

Циклические алгоритмы

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

Алгоритмы, отдельные действия в которых многократно повторяются, называются циклическими алгоритмами, Совокупность действий, связанную с повторениями, называют циклом .

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

  • параметр цикла – величина, с изменением значения которой связано многократное выполнение цикла;
  • начальное и конечное значения параметров цикла;
  • шаг цикла – значение, на которое изменяется параметр цикла при каждом повторении.

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

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

  • начальные значения цикла;
  • конечные значения цикла;
  • шаг цикла.

В тело цикла входят:

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

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

Пример

ЗАДАЧА . Разработать алгоритм вычисления суммы натуральных чисел от 1 до 100.

Этап 1. Математическое описание решения задачи .

Обозначим сумму натуральных чисел через S. Тогда формула вычисления суммы натуральных чисел от 1 до 100 может быть записана так:

где Xi – натуральное число X c номером i, который изменяется от 1 до n, n=100 – количество натуральных чисел.

Этап 2. Определение входных и выходных данных.

Входными данными являются натуральные числа: 1, 2, 3, 4, 5, …, 98, 99, 100.

Выходные данные – значение суммы членов последовательности натуральных чисел.

Параметр цикла величина, определяющая количество повторений цикла. В нашем случае i – номер натурального числа.

Подготовка цикла заключается в задании начального и конечного значений параметра цикла.

  • начальное значение параметра цикла равно 1,
  • конечное значение параметра цикла равно n,
  • шаг цикла равен 1.

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

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

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

Этап 3. Разработка алгоритма решения задачи.

Введем обозначения: S – сумма последовательности, i – значение натурального числа.

Начальное значение цикла i=1, конечное значение цикла i =100, шаг цикла 1.

Словесное описание алгоритма Запись алгоритма на языке блок-схем
  1. Начало алгоритма.
  2. Подготовка цикла: S:=0; i=1; n= 100;
  3. Проверка условия. Если i <=n , то перейти к шагу 4, иначе к шагу 6.
  4. Накопление суммы: S:=S+i;
  5. Вычисление следующего значения параметра цикла: i:=i+1;
  6. Вывод информации: сумма натуральных чисел – S.
  7. Конец алгоритма.

В схеме алгоритма решения задачи цифрами указаны номера элементов алгоритма. Номера элементов соответствуют номерам шагов словесного описания алгоритма.

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

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

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

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

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

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

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

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

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