Пример блок схемы алгоритма с условием. «VBA Разработка алгоритма

Вам понадобится

  • - трафарет для черчения блок-схем;
  • - механический карандаш;
  • - ластик;
  • - бумага;
  • - компьютер с доступом в интернет.

Инструкция

Начало и конец алгоритма обозначаются овалами. Внутри них помещают, соответственно, слова «Начало» и «Конец». От овала, символизирующего начало алгоритма, исходит одна стрелка вниз, к , символизирующему конец алгоритма, приходит стрелка сверху.

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

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

Ветвления обозначаются ромбами. В верхний угол ромба приходит стрелка от предыдущего шага, а из его боковых углов исходят стрелки, как «Нет» и «Да». Они приходят, соответственно, к шагам, выполняемым при несоблюдении и соблюдении условия. Нижний угол ромба оставляется свободным. Само (например, равенство, строгое или нестрогое) внутри ромба.

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

Если вы желаете составлять блок-схемы в электронном виде, воспользуйтесь -приложением под названием Flowchart. При желании можно также освоить особые языки программирования, в которых сам процесс программирования заключается в составлении блок-схемы. Таких языков два: Дракон и HiAsm.

Источники:

  • как начертить блок схему

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

Инструкция

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

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

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

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

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

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

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

Инструкция

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

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

Инструкция

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

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

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

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

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

Что такое алгоритм?

Это слово ввел в обиход математик Мухаммед аль-Хорезми, который жил в период 763-850 года. Именно он является человеком, который создал правила выполнения арифметических действий (а их всего четыре). А вот ГОСТ от 1974 года, который гласит, что:

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

Алгоритм позволяет четко указать исполнителю выполнять строгую чтобы решить поставленную задачу и получить результат. Разработка алгоритма - это разбивание одной большой задачи на некую последовательность шагов. Причем разработчик алгоритма обязан знать все особенности и правила его составления.

Особенности алгоритма

Всего можно выделить восемь особенностей алгоритма (независимо от его вида):

  1. Присутствует функция ввода изначальных данных.
  2. Есть вывод некоего результата после завершения алгоритма. Нужно помнить, что алгоритм нужен для того, чтобы достичь определенной цели, а именно - получить результат, который имеет прямое отношение к исходным данным.
  3. У алгоритма должна быть структура дискретного типа. Он должен представляться последовательными шагами. Причем каждый следующий шаг может начаться только после завершения предыдущего.
  4. Алгоритм должен быть однозначным. Каждый шаг четко определяется и не допускает произвольной трактовки.
  5. Алгоритм должен быть конечным - необходимо, чтобы он выполнялся за строго определенное количество шагов.
  6. Алгоритм должен быть корректным - задавать исключительно верное решение поставленной задачи.
  7. Общность (или массовость) - он должен работать с различными исходными данными.
  8. Время, которое дается на решение алгоритма, должно быть минимальным. Это определяет эффективность решения поставленной задачи.

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

Словесная запись

Такая форма, как правило, применяется при описании порядка действий для человека: «Пойди туда, не знаю куда. Принеси то, не знаю что».

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

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

Допускается изменять порядок действий, если необходимо вернуться, например, к предыдущей операции либо обойти какую-то команду при определенном условии. При этом команды желательно нумеровать и обязательно указывается команда, к которой происходит переход: «Закончив все манипуляции, повторяете пункты с 3 по 5».

Запись в графической форме

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

Запись на языках программирования

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

Блок-схемы

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

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

Основные правила составления блок-схемы

Можно выделить такие особенности, которые должны быть у любой блок-схемы:

  1. Обязательно должно присутствовать два блока - «Начало» и «Конец». Причем в единичном экземпляре.
  2. От начального блока до конечного должны быть проведены линии связи.
  3. Из всех блоков, кроме конечного, должны выходить линии потока.
  4. Обязательно должна присутствовать нумерация всех блоков: сверху вниз, слева направо. Порядковый номер нужно проставлять в левом верхнем углу, делая разрыв начертания.
  5. Все блоки должны быть связаны друг с другом линиями. Именно они должны определять последовательность, с которой выполняются действия. Если поток движется снизу вверх или справа налево (другими словами, в обратном порядке), то обязательно рисуются стрелки.
  6. Линии делятся на выходящие и входящие. При этом нужно отметить, что одна линия является для одного блока выходящей, а для другого входящей.
  7. От начального блока в схеме линия потока только выходит, так как он является самым первым.
  8. А вот у конечного блока имеется только вход. Это наглядно показано на примерах блок-схем, которые имеются в статье.
  9. Чтобы проще было читать блок-схемы, входящие линии изображаются сверху, а исходящие снизу.
  10. Допускается наличие разрывов в линиях потока. Обязательно они помечаются специальными соединителями.
  11. Для облегчения блок-схемы разрешается всю информацию прописывать в комментариях.

Графические элементы блок-схем для решения алгоритмов представлены в таблице:

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

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

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

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

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

На схемах изображаются блоки, которые называются «Решение». У него имеется два выхода, а внутри прописывается логическое условие. Именно от того, как оно будет выполнено, зависит дальнейшее движение по схеме алгоритма. Можно разделить разветвляющиеся алгоритмы на три группы:

  1. «Обход» - при этом одна из веток не имеет операторов. Другими словами, происходит обход нескольких действий другой ветки.
  2. «Разветвление» - каждая ветка имеет определенный набор выполняемых действий.
  3. «Множественный выбор» - это разветвление, в котором есть несколько веток и каждая содержит в себе определенный набор выполняемых действий. Причем есть одна особенность - выбор направления напрямую зависит от того, какие заданы значения выражений, входящих в алгоритм.

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

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

Здесь все предельно понятно - циклическая блок-схема представляет алгоритм, в котором многократно повторяются однотипные вычисления. По определению, цикл - это определенная последовательность каких-либо действий, выполняемая многократно (более, чем один раз). И можно выделить несколько типов циклов:

  1. У которых известно число повторений действий (их еще называют циклами со счетчиком).
  2. У которых число повторений неизвестно - с постусловием и предусловием.

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

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

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

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

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

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

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

  1. В теле не разрешается изменять (принудительно) значение счетчика.
  2. Запрещено передавать управление извне оператору тела. Другими словами, войти в цикл можно только из его начала.

Циклы с предусловием

Этот тип циклов применяется в тех случаях, когда количество повторений заранее неизвестно. Цикл с предусловием - это тип алгоритма, в котором непосредственно перед началом выполнения тела осуществляется проверка условия, при котором допускается переход к следующему действию. Обратите внимание на то, как изображаются элементы блок-схемы.

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

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

Ниже приведена блок-схема, которая описывает все эти действия:

Что такое цикл с постусловием?

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

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

Сложные циклы

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

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

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

Решение задач с блок-схемами

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

При этом пользователь самостоятельно вводит значения переменных. Допустим, х=16, а у=2. Процесс выполнения такой:

  1. Производится ввод значений х и у.
  2. Выполняется операция преобразования: х=√16=4.
  3. Выполняется условие: у=у 2 =4.
  4. Производится вычисление: х=(х+1)=(4+1)=5.
  5. Дальше вычисляется следующая переменная: у=(у+х)=(5+4)=9.
  6. Выводится решение: у=9.

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

Разработка блок-схемы алгоритма решения задачи

Цель работы : изучение графического способа описания алгоритма решения задачи.

Задачи работы :

    ознакомиться с основными способами представления алгоритмов;

    освоить графический способ описания алгоритмов.

1.1. Порядок выполнения работы

    Изучите теоретические сведения по теме данного раздела (п. 1.2)

    Ознакомьтесь с постановкой задачи (п. 1.3). Вариант задания соответствует вашему номеру в списке группы.

    Разработайте блок-схему алгоритма решения поставленной задачи.

    Ответьте на контрольные вопросы.

    Подготовьте отчет о выполнении практической работы, который должен содержать:

    титульный лист;

    цель практической работы;

    постановку задачи;

    блок-схему алгоритма решения поставленной задачи;

    ответы на контрольные вопросы;

    выводы по практической работе.

1.2. Общие сведения

Одним из наиболее трудоемких этапов решения задачи на ЭВМ является разработка алгоритма.

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

Основными характерными свойствами алгоритма являются:

    детерминированность (определенность) – при заданных исходных данных обеспечивается однозначность искомого результата;

    массовость – пригодность для задач данного типа при исходных данных, принадлежащих заданному подмножеству;

    результативность – реализуемый вычислительный процесс выполняется за конечное число этапов с выдачей осмысленного результата;

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

Выделяют следующие типы вычислительных процессов :

    Линейный вычислительный процесс.

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

    Разветвленный вычислительный процесс.

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

    Циклический вычислительный процесс

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

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

    Счетные циклы (циклы с заданным количеством повторений) – ­­ это циклические процессы, для которых количество повторений известно.

    Итерационные циклы – это циклические процессы, завершающиеся по достижении или нарушении некоторых условий.

    Поисковые циклы – это циклические процессы, из которых возможны два варианта выхода:

Выход по завершению процесса;

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

По типу вычислительного процесса, реализуемого алгоритмом, различают:

Алгоритмы линейной структуры;

Алгоритмы разветвленной структуры;

Алгоритмы циклической структуры.

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

К изобразительным средствам описания алгоритмов относятся следующие основные способы их представления:

Словесный (записи на естественном языке);

Структурно-стилизованный (записи на алгоритмическом языке и псевдокод);

Графический (изображение схем и графических символов);

Программный (тексты на языках программирования).

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

Пример 1.1.

Алгоритм сложения двух чисел (a и b).

    Спросить, чему равно число a.

    Спросить, чему равно число b.

    Сложить a и b, результат присвоить с.

    Сообщить результат с.

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

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

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

Достоинством псевдокодов является близость к языкам программирования, а недостатками, в свою очередь, являются сложность освоения и невозможность непосредственного ввода алгоритма для решения на ЭВМ, т.е. необходимость перевода на язык программирования.

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

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

Рисунок 1.1 – Основные блоки

Следует упомянуть некоторые основные правила выполнения блок-схем, которыми надлежит руководствоваться при графическом описании алгоритмов. Начало алгоритмов отмечается символом "Терминатор", из которого выходит одна линия. В нем записывается слово "Пуск" ("Начало"). Конец алгоритма отмечается этим же символом, в котором записывается слово "Останов" ("Конец"). В этом случае данный символ не имеет ни одной выходной линии, а на него может замыкаться одна или более линий. Символ “Процесс” может иметь одну или несколько входных линий и только одну выходную. Внутри символа может быть записано несколько предписаний – в этом случае они выполняются в порядке записи. Представление отдельных операций достаточно свободно. Для обозначения вычислений можно использовать математические выражения, для пересылки данных – стрелки, для других действий – пояснения на естественном языке, например, А: = Х + 4; i: = i + 1, ––> B.

Линии потока должны быть параллельны сторонам листа. Основные направления линий потока – сверху вниз и слева направо – стрелкой не обозначаются. В других случаях на конце линии потока ставится стрелка, а в месте слияния линий ставится точка. Если блок-схема не умещается на одном листе, используют соединители. При переходе на другой лист или получении управления с другого листа в комментарии указывается номер листа, например "с листа 3" "на лист 1".

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

    следование - обозначает последовательное выполнение действий (рис. 1.2, а);

    ветвление - соответствует выбору одного из двух вариантов действий (рис. 1.2, б);

    цикл-пока - определяет повторение действий, пока не будет нарушено условие, выполнение которого проверяется в начале цикла (рис. 1.2, в).

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

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

    выбор - выбор одного варианта из нескольких в зависимости от значения некоторой величины (рис. 1.3, а, б);

    цикл-до - повторение некоторых действий до выполнения заданного условия, проверка которого осуществляется после выполнения действий в цикле (рис. 1.3, в, г);

    цикл с заданным числом повторений (счетный цикл ) повторение некоторых действий указанное число раз (рис. 1.3, д, е).

Рисунок 1.3 – Реализация дополнительных алгоритмических структур

через базовые структуры

Рассмотрим примеры графического описания алгоритмов различных типов: линейного, разветвляющегося, циклического и комбинированного (рис. 1.4 – 1.7).

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

Алгоритм вычисления значения выражения K=3b+6а (рис. 1.4) .

Рисунок 1.4 – Пример блок-схемы линейного алгоритма

Пример 1.3. Разветвляющийся алгоритм.

Алгоритм, определяющий, пройдет ли график функции y=3x+4 через точку с координатами x1,y1 (рис. 1.5).

Рисунок 1.5 – Пример блок-схемы разветвляющегося алгоритма

Пример 1.4. Циклический алгоритм.

Алгоритм, определяющий факториал натурального числа n (рис. 1.6):

n ! = 1*2*3*….*(n -1)* n

5!=1*2*3*4*5=120

Рисунок 1.6 – Пример блок-схемы циклического алгоритма

Пример 1.5. Комбинированный алгоритм.

Необходимо определить наибольший общий делитель двух натуральных чисел А и В.

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

Пример (а): А=225, В=125. Применяя алгоритм Евклида, получаем для А и В наибольший общий делитель, равный 25.

Пример (б): А=13, В=4. В этом случае наибольший общий делитель А и В равен 1.

B

50-25=25

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

Рисунок 1.7 – Пример блок-схемы комбинированного алгоритма

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

Пример 1.6. Описание алгоритма Евклида на псевдокоде .

Алгоритм Евклида:

Ввести А,В

цикл-пока А ≠ В

если А > В

то А:= А - В

иначе В:= В - А

все - если

все-цикл

Вывести А

Конец алгоритма.

Таблица 1.1 – Пример псевдокода для записи базовых алгоритмических структур

Структура

Псевдокод

Структура

Псевдокод

Следование

Выбор

Все-выбор

Ветвление

Если

заданным

количеством повторений

Для =

иначе

Все - если

Все-цикл

Цикл-пока

Цикл-пока

Выполнять

Все-цикл

1.3. Задачи для составления блок-схем алгоритмов

    Дано целое число m>1.

Получить наименьшее целое k, при котором 4 k >m.

Вычислить произведение

    Дано целое число n.

Получить наименьшее число вида 2 r , превосходящее n (r - натуральное).

    Даны целые числа n, k (n  k  0).

Вычислить.

    Дано натуральное число n и действительное число a.

Вычислить произведение .

    Дано натуральное число n.

Вычислить сумму .

    Даны действительное число х и натуральное число n.

Вычислить, не используя операцию возведения в степень.

    Дано натуральное число n.

Вычислить сумму:

    Даны действительные числа x и a, натуральное n.

Вычислить:

Вычислить:

    Даны натуральные числа n, m. Получить сумму m последних цифр числа n.

    Пусть n- натуральное число. Вычислить сумму.

    Дано натуральное число n.

Вычислить сумму:

Контрольные вопросы

    Дайте определение алгоритма.

    Перечислите основные свойства алгоритмов и раскройте их сущность.

    Как подразделяются алгоритмы по типу реализуемого вычислительного процесса?

    Какие способы описания алгоритмов вам известны?

    Что понимается под графическим способом описания алгоритмов? В чем состоит преимущество данного способа перед словесным описанием алгоритма?

    Курсовая работа >> Информатика

    Весов ребер оставного дерева. 2.4 Блок -схема Рисунок 7 – Блок -схема алгоритма решения задачи 2.5 Обоснование выбора языка программирования Турбо... , интегрированную среду, намного ускоряющую процесс разработки программ. Этот программный продукт прошел...

  1. Алгоритмы и основы программирования

    Практическая работа >> Информатика, программирование

    Составление программ решения различных задач на электронных вычислительных машинах; наука, занимающаяся разработкой методов... . Блок -схема данного линейного алгоритма показана на рисунке 4. Пример 1. Вычислить при x=2,3 В общем случае, алгоритм решения ...

  2. Построение блок схем алгоритмов . Алгоритмические языки высокого уровня

    Реферат >> Информатика

    Подход к решению поставленных задач . Задачи реализованы на трех различных языках программирования. Блок -схемы алгоритмов , листинги программ... время. Алгоритм решения задачи получается более эффективным, если ис­пользовать метод пошаговой разработки , суть...

  3. Системное и программное обеспечение

    Реферат >> Информатика

    ... : Разработка блок схемы алгоритма решения задачи по контролю знаний слушателей ФПК. ОписаниеФФффуввыа блоков схемы алгоритма решения задачи . Блок 1 ... – ввести имя (обозначение) задачи , ввести...

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

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

Часто к составлению блок-схем прибегают именно программисты.

Для чего нужна блок-схема программисту?

Язык блок-схем (UML, flowchart) – это уникальный способ общения программиста с заинтересованными непрограммистами, а также элемент документации на продукт программного типа.

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

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

Программы и онлайн-сервисы для построения блок-схем

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

Поэтому часто ищут сервисы, которые строят по коду блок-схемы онлайн по коду, например, Delphi, Паскаль и даже блок-схемы по коду с++.

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

  • не поддерживают ряд операторов языка программирования и в результате неправильно строят схему;
  • построенные схемы не выдерживают критики в отношении аккуратности прорисовки;
  • невозможность сохранить построенную схему в требуемом формате и т.д.

Намного эффективней искать программные приложения с требуемой функциональностью. Что касается онлайн-сервисов.

То внимания достойны универсальные оболочки для построения блок-схем и уникальная пока библиотека .

FCeditor

FCeditor– это простая и симпатичная программа, которая позволяет создавать программный код из файлов.pas (Паскаль, Delfi) и.cs (С#).

Для преобразования имеющегося файла с кодом достаточно импортировать его в программу («Файл – Импортировать»…).

По завершении анализа файла в левой части появится дерево классов, в панели вкладок – вкладка файла, во вкладке файла – вкладки схем каждого из методов и схемы всей программы, а также вкладка кода.

Обратите внимание! Аккуратную блок-схему можно экспортировать в один из популярных графических форматов (jpg, bmp, png, gif и tiff).

К преимуществам программы можно отнести русский интерфейс.

Autoflowchart

ПрограммаAutoflowchart,при своем минималистичном оформлении, предоставляет удобный и информативный интерфейс.

Главное окно разделено на три части: древовидное представление кода, текст кода и в правой части - большое поле, в котором отображается блок-схема.

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

Доступен экспорт не только файлы графических форматов, но и в популярные офисные приложения – документ , Visio, а также в виде файла SVG или .

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

Поддерживает множество языков программирования: Pascal, Delphi, C++.

Code Visual to Flowchart v6.0

Впечатляющей функциональностью отличается программаCode Visual to Flowchart v6.0.

Интерфейс представлен окном с тремя полями.

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

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

Схема может быть экспортирована в форматы продуктов пакета , в графический формат bmp или png.

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

Блок-схема может также служить инструментом первичной разработки программы.

Программист сначала продумывает и фиксирует логику работы будущего программного кода с помощью блок-схемы.

После этого с опорой на схему пишется непосредственно программный код.

Для удобного построения блок-схем существуют онлайн-сервисы. Давайте подробнее остановимся на draw.io и google charts.

Draw.io

Draw.ioможно назвать универсальным онлайн-редактором блок-схем. В нем пользователю предоставляется множество разнообразных наборов блоков и удобный инструментарий.

Любой блок может быть отформатирован и видоизменен, можно создавать собственные виды блоков и использовать внешние картинки из файлов.

Готовую схему можно импортировать в виде документа офисного приложения (), графического растрового (png, gif и jpg) или векторного (svg) файла.

Этот сервис с обширными функциональными возможностями не требует оплаты за использование – он бесплатный.

Google chart

Своеобразный и богатый инструмент для создания диаграмм, схем и визуализаций –Google chart API.