Выселение. Приватизация. Перепланировка. Ипотека. ИСЖ

На этом уроке мы на практике разберём: как составлять алгоритмы различных типов , а также как «читать» алгоритм по готовой блок-схеме .

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

Таким образом, алгоритм имеет следующий вид:

  1. Подойти к светофору.
  2. Посмотреть на его свет.
  3. Если горит зелёный, то перейти дорогу.
  4. Если горит красный, то подождать, пока загорится зелёный, и уже тогда перейти дорогу.

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

Рис. 3. Блок-схема к примеру 2.

Составление циклических алгоритмов

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

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

Пример 3. Составить алгоритм перевода чисел из десятичной системы в двоичную.

То есть, алгоритм будет выглядеть так:

  1. Если число равно 0 или 1, то это и будет его двоичное представление.
  2. Если число больше 1, то мы делим его на 2.
  3. Полученный остаток от деления записываем в последний разряд двоичного представления числа.
  4. Если полученное частное равно 1, то его дописываем в первый разряд двоичного представления числа и прекращаем вычисления.
  5. Если же полученное частное больше 1, то мы заменяем исходное число на него и возвращаемся в пункт 2).

Блок-схема этого алгоритма выглядит следующим образом:

Рис. 4. Блок-схема к примеру 3.

Примечание: подумайте, можно ли как-то упростить приведенную блок-схему.

«Чтение» алгоритмов

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

Рис. 5. Блок-схема к примеру 4.

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

На следующем уроке мы обсудим игры и выигрышные стратегии.

Как убить Кощея?

Наверное, все помнят из детства сказку, в которой рассказывается о местонахождении смерти Кощея Бессмертного: «Смерть моя - на конце иглы, которая в яйце, яйцо - в утке, утка - в зайце, заяц в сундуке сидит, сундук на крепкий замок закрыт и закопан под самым большим дубом на острове Буяне, посреди моря-океяна …»

Рис. 6. Кощей Бессмертный и Василиса Премудрая ().

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

  1. Конечно же, сначала необходимо разыскать остров Буян (на такие вещи, будем считать, Иван-дурак способен).
  2. Поскольку сундук закопан под самым большим дубом, то сначала необходимо найти самый большой дуб на острове.
  3. Затем нужно выкопать сам сундук.
  4. Прежде чем доставать зайца, необходимо сломать крепкий замок.
  5. Теперь уже можно достать зайца.
  6. Из зайца нужно достать утку.
  7. Из утки достать яйцо.
  8. Разбить яйцо и достать иголку.
  9. Иголку поломать.

Это тоже линейный алгоритм, хотя и более длинный, чем алгоритм запуска программы Paint.

Его блок-схема выглядит так:

Рис. 7. Блок-схема.

На распутье…

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

Рис. 8. Богатырь на распутье ().

На камне написано:

«Направо пойдёшь - коня потеряешь, себя спасёшь; налево пойдёшь - себя потеряешь, коня спасёшь; прямо пойдёшь - и себя и коня потеряешь».

Попробуем составить алгоритм действий, который составил автор надписи на камне для путников?

  1. Если мы пойдём направо, то потеряем коня. Если же мы не пойдём направо, то у нас остаётся два варианта (мы считаем, что назад возвращаться путник не будет): пойти прямо и налево.
  2. В случае, если мы пойдём налево, то потеряем себя, а коня спасём.
  3. Если же мы пойдём прямо, то потеряем и себя, и коня.

Блок-схема этого алгоритма выглядит так:

Рис. 9. Блок-схема.

Репка

Русские народные сказки не оставили нас и без циклического алгоритма. И, как ни странно, спрятался он в одной из самых незамысловатых сказок - «Репке».

Рис. 10. Репка.

Вспомним сюжет сказки: дед тянет-потянет - вытянуть не может. Затем на помощь к деду по очереди подходят новые персонажи - и так до тех пор, пока не приходит мышка.

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

  1. Изначально к Репке подошёл дед и попытался вытянуть.
  2. Поскольку вытянуть Репку не получилось, то понадобилась помощь следующего персонажа.
  3. И так происходит до тех пор, пока не появилась мышка (или, другими словами, до тех пор, пока Репку не вытащили).

В виде блок-схемы этот алгоритм выглядит следующим образом:

Рис. 11. Блок-схема.

  1. Босова Л.Л. Информатика и ИКТ: Учебник для 6 класса. - М.: БИНОМ. Лаборатория знаний, 2012
  2. Босова Л.Л. Информатика: Рабочая тетрадь для 6 класса. - М.: БИНОМ. Лаборатория знаний, 2010.
  3. Босова Л.Л., Босова А.Ю. Уроки информатики в 5-6 классах: Методическое пособие. - М.: БИНОМ. Лаборатория знаний, 2010.
  1. Интернет портал «Сообщество взаимопомощи учителей» ().
  2. Интернет портал «Nsportal.ru» ().
  3. Интернет портал «Фестиваль педагогических идей» ().
  1. §3.3, 3.4 (Босова Л.Л. Информатика и ИКТ: Учебник для 6 класса);
  2. Постарайся самостоятельно составить линейный алгоритм из 5-6 фигур;
  3. Составь блок-схему циклического алгоритма выполнения домашнего задания;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Соединитель

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

Комментарий

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

Язык блок-схем (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.

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

Для чего применяют блок-схемы?

Упомянутые системы призваны выполнять следующие функции:

Разрабатывать новый процесс;

Описывать и документировать текущий алгоритм;

Разрабатывать модификации к данному процессу либо исследовать звенья с вероятным возникновением ошибок и сбоев;

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

Разработка последовательности операций

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

Типы алгоритмов

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

Графическая, то есть в основе находятся геометрические символы;

Словесная: составляется с помощью обычных слов того или иного языка;

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

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

Блок-схема устройства: описание

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

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

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

Элементы блок-схемы:

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

2. Решение. Данный блок применяется для обозначения перехода управления по определенному условию. В каждом таком элементе указывается вопрос, сравнение или условие, которые его определяет. Другими словами, решение - это выбор направления для выполнения программы или алгоритма в зависимости от некоего переменного условия. Графический вид данного элемента - это ромб. Упомянутый символ может использоваться в качестве изображения следующих унифицированных структур: выбор, развилка полная и неполная, цикл «до» и «пока».

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

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

5. Ввод-вывод данных в общем виде.

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

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

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

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

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

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

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

Изменение направления данного элемента производится только под углом 90 о.

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

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

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

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

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

Массивы и построение алгоритмов

Массив представляет собой совокупность однотипной информации, которая хранится в последовательных кластерах памяти и имеет общее имя. Такие ячейки называются "элементами системы". Все кластеры нумеруются по порядку. Такой номер называется "индексом элемента массива". Как составить блок-схему для подобной системы? Рассмотрим пример создания алгоритма для элементарного типа. Простейшая система имеет условно вид строки. Зададим имя для данного массива - «А». Будем считать, что наша система состоит из восьми ячеек (от 1 до 8). Каждый из упомянутых кластеров содержит случайное число, которое называется "элементом массива". Для обращения в конкретной ячейке необходимо указывать имя в (). Рассмотрим пример, в котором блок-схема массива предназначена для заполнения системы случайными числами с последующим выводом информации на экран. Что представляет собой такой алгоритм? Это элементарная система. По сути, она не имеет практического применения, однако удобна для учебного процесса. Рассматриваемая блок-схема (пример построения описан ниже) содержит всего семь основных элементов, соединенных линиями переходов.

Описание последовательности выполнения задачи

1. Первым элементом схемы будет символ «Начало».

2. Вторым блоком - «Процесс», внутри которого вписываем «инициализация random».

3. Следующий элемент - «Модификация», в блоке вписываем значение ячеек массива.

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

5. В этом блоке «Модификации», согласно вписанной функции, происходит переадресация на следующий элемент.

6. «Вывод» производит отображение информации о новом содержимом массива на мониторе с последующим направлением на предыдущий блок. Далее - на последний элемент.

7. «Конец» работы алгоритма.

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

«Редактор блок-схем»

Если вы задаетесь вопросом о том, как составить блок-схему, то знайте, что существуют специальные программы, которые предназначены для создания, а также редактирования таких систем. Удобством графического отображения алгоритма является то, что пользователь не привязан к синтаксису конкретного языка программирования. Построенная блок-схема одинаково подходит для всех языков (например, С, Паскаль, Бейсик и другие). Кроме того, редактор может использоваться для построения диаграмм и проверки работоспособности схем. Такая программа является специализированным софтом. Она предоставляет разнообразный набор инструментов, необходимых для построения блок-схем, что делает ее более удобной, по сравнению с обычными Дополнительные опции позволяют оптимизировать процесс составления системы с дальнейшим ее преобразованием в функции и процедуры языка программирования. Кроме того, редактор блок-схем предлагает набор шаблонов, способных существенно ускорить работу начинающего пользователя. Ведь известно, что при построении алгоритма часто применяются повторяющиеся структуры, например разнообразные варианты циклов, альтернативы (полные и неполные), множественные ветвления и прочее. Редактор позволяет выделять часто используемые в блок-схемах элементы и добавлять их в создаваемую схему. Это избавляет от прорисовки их каждый раз заново. Кроме того, с помощью редактора можно импортировать функции и процедуры, реализованные на любом известном языке программирования. Данная опция полезна для разбора структуры алгоритма, который написан на малознакомом языке. Системные требования рассматриваемой программы довольно скромные, что позволяет использовать ее на любом

Заключение

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

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

При описании алгоритмов давно и успешно используются блок-схемы (Basic Flowchart). Построение блок-схем алгоритмов регламентируется ГОСТ 19.701-90 (ИСО 5807-85) "Единая система программной документации. Схемы алгоритмов программ, данных и систем. Условные обозначения и правила выполнения" . Данный государственный стандарт составлен на основе международного стандарта "ISO 5807-85. Information processing – Documentation symbols and conventions for data, program and system flowcharts, program network charts and system resources charts".

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

Схемы данных – определяют последовательность обработки данных и их носители;

Схемы программ – отображают последовательность операций в программе (по сути, это и есть блок-схемы алгоритмов в традиционном понимании);

Схемы работы системы – отображают управление операциями и потоки данных в системе;

Схемы взаимодействия программ – отображают путь активации программ (модулей) и их взаимодействие с соответствующими данными;

Схемы ресурсов системы – отображают конфигурацию блоков данных и обрабатывающих блоков.

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

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

На схемах могут присутствовать следующие элементы графической нотации :

Символы данных – указывают на наличие данных, вид носителя или способ ввода-вывода данных;

Символы процесса – указывают операции, которые следует выполнить над данными;

Символы линий – указывают потоки данных между процессами и/или носителями данных, а также потоки управления между процессами;

Специальные символы – используются для облегчения написания и чтения схем.

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

Таблица 8.1. Условные обозначения на блок-схемах

№ п/п Символ Наименование Примечания
1. СИМВОЛЫ ДАННЫХ
Основные
1.1 Данные Данные, носитель которых не определен
1.2 Запоминающее устройство (ЗУ) Данные, хранимые в виде, пригодном для автоматической обработки, носитель не определен
Специфические
1.3 ОЗУ Данные, хранящиеся в ОЗУ (оперативная память)
1.4 ЗУ с последовательным доступом Данные, хранящиеся на магнитной ленте (магнитная лента, магнитофонная кассета)
1.5 ЗУ с прямым доступом Данные, хранящиеся на жестких или гибких магнитных дисках, CD, DVD, ZIP и т.д.
1.6 Документ Данные, представляемые не в компьютерном виде (на бумаге, на пленках и т.д.)
1.7 Ручной ввод Данные, вводимые вручную с помощью клавиатуры, мыши, светового пера и т. д.
1.8 Карта Данные на перфокартах, магнитных картах, картах со считываемыми метками и т.д.
1.9 Бумажная лента Данные на бумажной ленте
1.10 Дисплей Данные, отображаемые на экране монитора, сигнальные индикаторы и т.д.
2. СИМВОЛЫ ПРОЦЕССА
Основной
2.1 Процесс Элементарная (атомарная) операция по обработке данных (например, n:=n+1)
Специфические
2.2 Предопределенный процесс (процедура) Процесс, состоящий из операций, описанных в другом месте (на другой схеме)
2.3 Ручная операция Операция, выполняемая вручную
2.4 Подготовка Подготовительные операции, выполняемые с целью модификации последующих операций (цикл с параметром )
2.5 Решение Операция с одним входом и несколькими альтернативными выходами, один из которых активизируется после проверки условия, записываемого внутри символа (операторы If-Then-Else или Case)
2.6 Параллельные действия Параллельное выполнения двух и более операций
2.7 Границы цикла Начало и конец цикла. Особенности работы цикла (инициализация, приращение, условие) записывается в начале или конце, в зависимости от того, где осуществляется его проверка (циклы с пред- или постусловием)
3. СИМВОЛЫ ЛИНИЙ
Основной
3.1 Линия Поток данных или управления
Специфические
3.2 Канал связи Передача данных по каналу связи
3.3 Пунктирная линия Альтернативная связь между двумя и более символами или для обводки комментируемого участка схемы
4. СПЕЦИАЛЬНЫЕ СИМВОЛЫ
4.1 ГОСТ Соединитель Используется для обрыва линий и их продолжения в другом месте.
Обычно используется для обозначения взаимосвязанных частей схемы на разных листах. Внутри соединителя пишется номер соединения
ИСО
4.2 Терминатор Выход во внешнюю среду или вход из внешней среды (начало и конец процесса обработки данных [в этом случае внутри пишут "начало" или "конец"], источник или пункт назначения данных, начало и конец работы предопределенного процесса)
4.3 Получатель – отправитель По функциональному назначению аналогичен символу "Терминатор"
4.4


Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ:
Выселение. Приватизация. Перепланировка. Ипотека. ИСЖ