Нарисовать блок схему и определить какое значение примет переменная

Обновлено: 26.04.2024

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

Содержание:

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

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

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

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

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

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

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

insertsort_flowchart

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

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

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

bubblesort_flowchart

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

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

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

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

selectsort_flowchart

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

На блоге можно найти другие примеры блок-схем:

Часть студентов традиционно пытается рисовать блок-схемы в Microsoft Word, но это оказывается сложно и не удобно. Например, в MS Word нет стандартного блока для терминатора начала и конца алгоритма (прямоугольник со скругленными краями, а не овал). Наиболее удобными, на мой взгляд, являются утилиты MS Visio и yEd [5], обе они позволяют гораздо больше, чем строить блок-схемы (например рисовать диаграммы UML), но первая является платной и работает только под Windows, вторая бесплатная и кроссплатфомренная. Все блок-схемы в этой статье выполнены с использованием yEd.

Нужны ли блок-схемы? Альтернативы

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

Периодически поднимается вопрос о том, что ни блок-схемы, ни UML не нужны, да и документация тоже не нужна. Об этом твердят программисты, придерживающиеся методологии экстремального программирования (XP) [7], ходя даже в их кругу нет единого мнения.

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

Определение:

Определение:

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

Блок-схемы широко используются при написании программ, так как они:

  • Гораздо проще для понимания, чем запись в виде команд.
  • Упрощают процесс отладки.
  • Позволяют составить эффективную программную документацию.
  • Облегчают процесс демонстрации и обсуждения программы.

Блоки, из которых составляются блок-схемы, представлены на Рисунке 1.

1234567890

Рассмотрим работу с блок-схемами на примере. Для этого нарисуем блок-схему программы нахождения суммы двух чисел:

Блок-схема, показанная на Рисунке 2, иллюстрирует линейную логику. Здесь нет повторений и ветвления.

1234567890

ВЕТВЛЕНИЕ

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

  • Сравнения данных
  • Выбора одного из альтернативных путей решения задачи.

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

Определение:

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

1234567890

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

Пример 2. Рассмотрим блок-схему алгоритма, определяющего максимальное из 3-х чисел (см. рис. 4):

1234567890

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

Основные типы блок-схем, использующих ветвление, представлены на Рисунке 5:

1234567890

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

На Рисунке 5(b) представлен полный вариант условного ветвления. Здесь, в зависимости от выбранного маршрута движения, выполняется одна или другая последовательность вычислений, после чего маршруты вновь сливаются.

ЦИКЛЫ

Определение:

Тело цикла-это последовательность выполняемых в цикле операторов.

Циклы бывают двух типов:

  • С фиксированным числом итераций
  • С переменным числом итераций

Рассмотрим различия между этими двумя типами на следующих примерах:

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

1234567890

Мы читаем расходы за один месяц и добавляем их к общему результату. После этого номер месяца сравнивается с 12.

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

Пример 4. Пусть есть информация о каждом жителе города (имя, возраст, пол и т.д.). Необходимо составить список жителей старше 50 лет. Блок-схема соответствующего алгоритма будет иметь вид:

1234567890

1234567890

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

РАЗДЕЛЕНИЕ БЛОК-СХЕМ НА ЧАСТИ

При работе с блок-схемами мы часто сталкиваемся со следующими проблемами:

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

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

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

Например, разбив на 2 части блок-схему, изображенную на Рисунке 2 мы получим:

1234567890

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

МЕТОД ПРОГОНКИ

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


По теме: методические разработки, презентации и конспекты

Блок -схемы

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

Блок схемы по обществознанию

Представлены блок схемы по темам: Природное и общественное в человеке, Гражданское право, Трудовое право, Мировоззрение и его виды. На мой взгляд, такое представление материала позволяет представить м.


Использование блок-схем на уроках физики

достаточно интересный способ донести информацию до учеников.


Блок-схемы "Структура Вооруженных сил РФ", 11 класс

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

Блок-схема организации УВП в ОУ

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

блок-схема "Фазовые переходы"

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

блок-схема "Взаимосвязь внутренней энергии и температуры"

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

Читайте также: