Интерпретация блок-схем

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

“Схемой алгоритма называется такое графическое представление алгоритма, в котором этапы процесса обработки информации и носители информации представлены в виде геометрических символов из заданного ограниченного набора, а последовательность процесса отражена направлением линий ” [1].

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

Во-первых, несмотря на достаточно большое количество графических и текстовых редакторов (например: Page Maker, Corel Draw, Word и т.д.) нужны:

1. Свой графический редактор, так как настройка на внутренние форматы файлов этих систем приводит к неэффективному использованию ресурсов ЭВМ, Поэтому необходим эффективный, графический редактор, ориентированный только на объекты типа блоков.

Текстовый редактор, работающий в графическом режиме для редактирования текста внутри блоков.

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

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

Язык блок-схем (“Графический” язык),

Язык функционального наполнения блок-схем.

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

3.1. Правила построения блок-схем

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

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

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

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

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

3.2. Блоки

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

В таблице 1 приведен перечень блоков для построения блок-схем алгоритмов.

таблица 1.

Графический символ действия

Идентификатор

Наименование действия

BEGIN

блок начала программы

END

блок конца программы

AD

блок автоматических действий

PP

Блок вызова подпрограммы

IF

блок условного перехода

INPUT

блок ввода данных

OUTPUT

блок вывода данных

CASE

блок ветвь

SWITCH

блок мультиветвления

LABEL

метка

GOTO

Безусловный переход на метку

Рассмотрим функциональное назначение каждого блока.

“НАЧАЛО” С этого блока начинается исполнение блок-схемы. Присутствие этого блока обязательно. Необходимо заметить, что блок “НАЧАЛО” в блок схеме должен быть один.

“КОНЕЦ” После того, как обрабатывается этот блок, исполнение блок-схемы завершается. Присутствие данного блока также обязательно, но в отличие от предыдущего, блоков “КОНЕЦ” может быть несколько.

“АВТОМАТИЧЕСКИЕ ДЕЙСТВИЯ” Присутствие данного блока, как и всех последующих блоков, в схеме не обязательно. В блоке действий могут выполняться:

любые математические действия, согласно правилам математики;

стандартные функции, предоставленные системой “Блок-схема”;

инициализация переменных.

“ПОДПРОГРАММА” В этом блоке происходит вызов подпрограммы, которую составил сам пользователь.