Смекни!
smekni.com

Интерпретация блок-схем (стр. 5 из 18)

4. Система программирования

4.1. Графический редактор

Г.Р. - это программа, позволяющая программисту “рисовать” новые и редактировать старые блок-схемы. Пользователю предлагается в режиме меню следующие возможности для редактирования блок-схем:

* Удаление блоков;

* Установка блоков;

* Разметка планшета координатной сеткой;

* Скроллинг планшета;

* Выбор типа блоков (либо стрелки, либо сами блоки);

* Автоматическое соединение двух выделенных блоков на планшете;

* Изменение параметров планшета;

* Изменение палитры планшета (цветов);

* Возможности редактирования с помощью буфера обмена.

Все эти возможности можно выбирать либо посредством манипулятора мышь, либо с помощью клавиатуры.

Рассмотрим понятие ПЛАНШЕТ. Назовём поверхность, на которой выполняется рисование блок-схемы ПЛАНШЕТОМ. Будем считать, что размеры планшета не ограничены. В каждый текущий момент пользователь находится в позиции планшета с координатами (X,Y). Координаты (X,Y) задаются в Декартовой системе координат, начало координат (0,0) - это середина планшета (именно в этой точке находится пользователь при начальном запуске системы “Блок-схема”).

Планшет может быть размечен координатной сеткой (рис.2.).

рис.2.

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

В связи с тем, что всё пространство, на котором выполняется редактирование блок-схемы, невозможно отобразить на экране, то на экране в окне редактора выводится прямоугольная область, параллельная осям координат, размером N_X на N_Y, где N_X - количество шагов по оси X, а N_Y - количество шагов по оси Y.

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


Y X0 X1 640

Y0

J


N_Y

Y1

J+N_Y N_X

X

I I+N_X 480

схема 1.

Рассмотрим процедуру размещения элементов блок-схемы в окне редактора. Так как разрабатываемая система опирается на графический драйвер, поддерживающий разрешение 640 на 480 pixel, а координатные оси на экране расположены так, как показано на схеме 1, то окно редактора - это прямоугольная область экрана с координатами верхнего левого угла (X0,Y0) и с координатами нижнего правого угла (X1,Y1).

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

height =(Y1-Y0)/N_Y; это высота блока в экранных координатах;

width =(X1-X0)/N_X; это ширина блока в экранных координатах;

Далее установим соответствие между координатами блоков в координатной системе планшета и координатами блоков в экранной системе.

Будем считать, что существует другая система координат, в которой I~I’ и J~J’, и, зная, что координате (I,J) соответствует координата (X0,Y0), то, следовательно, I~I’=0 и J~J’=0. Аналогично для координат (I+N_X,J+N_Y), зная, что ей соответствует, координата (X1-width,Y1-height) будем иметь, что (I+N_X)~(I’+N_X)=N_X и (J+N_Y)~(J’+N_Y)=N_Y.

Таким образом для блока с координатами ( i , j), где ( i , j) принадлежит прямоугольнику [I,J,I+N_X,J+N_Y] будет иметь место следующее преобразование координат:

X = X0+(i-I)*width;

Y = Y0+(j-J)*height;

где X,Y экранные координаты блока (i , j). Когда выполнены эти преобразования, осуществляется вывод этой прямоугольной области в окно редактора. Вывод осуществляется последовательно, перебирая все элементы области.

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

Теперь рассмотрим другие функции графического редактора.

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

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

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

Выполняется эта процедура с помощью клавиш в MS-Dos:

<Page Up> - вверх;

<Page Down> - вниз;

<Ctrl><Right Arr> - вправо;

<Ctrl><Left Arr> - влево;

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

Выбор блока, который необходимо установить в данную позицию выполняется через пункт “БЛОКИ” или “СТРЕЛКИ” в подменю “РЕДАКТОР” главного меню. Выбранный блок прорисовывается, когда нажата клавиша <ENTER> или одновременно нажаты левая и правая клавиши манипулятора мышь, а также когда выбран пункт “УСТАНОВИТЬ” в подменю “РЕДАКТОР” главного меню.

Выбор типа блоков (либо стрелки, либо блоки) можно осуществлять посредством “горячих” клавиш:

<Ctrl><S> - стрелки;

<Ctrl><B> - блоки.

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

Удаление блоков выполняется следующим образом: c помощью указателя выбирается блок, который нужно удалить, а потом нажимается клавиша <DELETE>, либо выбирается пункт “УДАЛИТЬ” в подменю “РЕДАКТОР” главного меню.

В Windows варианте эти возможности можно выбирать посредством манипулятора мышь или аналогичным образом с помощью клавиатуры. Кроме того, Windows вариант предусматривает соединение двух заданных блоков с помощью волнового алгоритма Ли[10].

4.2. Встроенный текстовый редактор

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

Редактор для среды Windows по своим возможностям не уступает большинству современных текстовых редакторов, предоставляемых фирмой Borland. Редактор обладает следующими возможностями:

· нет ограничения на размер текста внутри блока;

· допускаются работа с буфером обмена;

· существует возможность изменения шрифта текста;

· два режима набора текста программы (режимы вставки и перезаписи);

· поиск текста по заданному образцу;

· замена заданного образца текста на заданный текст.

Редактор, предложенный в среде MS-Dos, является простейшим вариантом текстового редактора, в котором возможен лишь набор текста в режиме наложения текста на текст (режим перезаписи), также существует ограничение на размер текста. Он не должен превышать 1104 символа для каждого блока блок-схемы.

С помощью клавиш управления осуществляется перемещение курсора по окну редактора текста блока. А с помощью клавиш <DEL> и <BACKSPASE> осуществлять удаление текста со сдвигом строки.

4.3. Интерпретатор

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