Реферат: Интерпретация блок-схем
В настоящее время огромное распространение получила тенденция к визуализации процесса программирования. Таким образом, создание транслятора с языка блок-схем является логическим продолжением развития технологии программирования. Кроме того, язык блок-схем незаменим в начальной стадии обучения программированию.
Такой язык является неформальным описанием алгоритма, он обладает повышенной наглядностью и обозримостью. Язык блок-схем используется при разработке системного математического и информационного обеспечения, а также при описании процессов функционирования отдельных блоков или устройств.
“Схемой алгоритма называется такое графическое представление алгоритма, в котором этапы процесса обработки информации и носители информации представлены в виде геометрических символов из заданного ограниченного набора, а последовательность процесса отражена направлением линий ” [1].
Приведенная в данной работе система трансляции с языка блок-схем включает следующие подзадачи:
Во-первых, несмотря на достаточно большое количество графических и текстовых редакторов (например: Page Maker, Corel Draw, Word и т.д.) нужны:
1. Свой графический редактор, так как настройка на внутренние форматы файлов этих систем приводит к неэффективному использованию ресурсов ЭВМ, Поэтому необходим эффективный, графический редактор, ориентированный только на объекты типа блоков.
2. Текстовый редактор, работающий в графическом режиме для редактирования текста внутри блоков.
Во-вторых, кроме редакторов (графического и текстового) необходимо создать интерпретатор, так как на его основе можно легко создать систему отладки алгоритмов.
Как уже говорилось выше у любого транслятора существует свой входной язык. В данной системе входной язык транслятора состоит из двух языков:
1. Язык блок-схем (“Графический” язык),
2. Язык функционального наполнения блок-схем.
Ниже приводится пример блок-схемы, реализующей выбор наибольшего числа из двух чисел. На рисунке 1 приводится пример блок схемы поиска максимального из двух значений.
3.1. Правила построения блок-схем
Блок-схема алгоритма описывает какой-то процесс или, точнее будет сказано, последовательность действий. Отсюда следует, что она должна иметь начало и конец. Особо следует отметить, что начало (блок начала программы) может быть только один, а выходов (блок конца программы) несколько.
У каждого символа, из которого строится блок-схема (далее будем называть блоки), своя функциональная нагрузка. В соответствии с ней блоки должны заполняться текстом.
Блоки в блок-схеме алгоритма соединяются стрелками в соответствии с последовательностью действий, которые реализуют этот алгоритм.
Необходимо придерживаться последовательности блоков в таких связках, как мультиветвление и безусловный переход. Об этих особенностях мы поговорим в параграфе 3.3.
|
| |||||||||||||||
Рис.1. Пример блок - схемы алгоритма нахождения максимального из двух значений.
3.2. Блоки
Блок это минимальная единица интерпретации в языке блок-схем. Как было сказано выше, из блоков строится блок-схема алгоритма. Все они отличаются не только графическим изображением, но и действиями, выполняемыми во время выполнения каждого блока.
В таблице 1 приведен перечень блоков для построения блок-схем алгоритмов.
таблица 1.
Графический символ действия | Идентификатор | Наименование действия |
BEGIN | блок начала программы | |
END | блок конца программы | |
AD | блок автоматических действий | |
|
PP | Блок вызова подпрограммы |
IF | блок условного перехода | |
INPUT | блок ввода данных | |
| OUTPUT | блок вывода данных |
| CASE | блок ветвь |
|
SWITCH | блок мультиветвления |
LABEL | метка | |
GOTO | Безусловный переход на метку |
Рассмотрим функциональное назначение каждого блока.
“НАЧАЛО” С этого блока начинается исполнение блок-схемы. Присутствие этого блока обязательно. Необходимо заметить, что блок “НАЧАЛО” в блок схеме должен быть один.
“КОНЕЦ” После того, как обрабатывается этот блок, исполнение блок-схемы завершается. Присутствие данного блока также обязательно, но в отличие от предыдущего, блоков “КОНЕЦ” может быть несколько.
“АВТОМАТИЧЕСКИЕ ДЕЙСТВИЯ” Присутствие данного блока, как и всех последующих блоков, в схеме не обязательно. В блоке действий могут выполняться:
· любые математические действия, согласно правилам математики;
· стандартные функции, предоставленные системой “Блок-схема”;
· инициализация переменных.
“ПОДПРОГРАММА” В этом блоке происходит вызов подпрограммы, которую составил сам пользователь.
“ВЕТВЛЕНИЕ ПО УСЛОВИЮ” В этом блоке проверяется заданное условие на истинность. И в зависимости от результата осуществляется ветвление.
“ВВОД / ВЫВОД” При помощи этих блоков организуется интерфейс пользователя с исполняемой схемой, то есть вводится и выводится информация.
“МЕТКА” Помечает позицию блока, на который происходит переход во время выполнения связки “БП”. В этом блоке указывается соответствующая метка. Данный блок является частью связки - “БП”.