Интерпретация блок-схемРефераты >> Программирование и компьютеры >> Интерпретация блок-схем
“ПОДПРОГРАММА” Содержится имя подпрограммы с параметрами.
Например:
“МУЛЬТИВЕТВЛЕНИЕ” Вариант оператора “switch” языка Си. В данном блоке содержится имя переменной, по которой будет выполняться ветвление.
Например:
“ВЕТВЬ” Блок “ветвь” может присутствовать только в связке “мультиветвление”. Отдельно не имеет смысла. В блоке “ветвь” задается константа, с которой выполняется сравнение значения, полученного в блоке “мультиветвление”.
Применение блоков продемонстрировано в примерах, приведённых в приложении.
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). Когда выполнены эти преобразования, осуществляется вывод этой прямоугольной области в окно редактора. Вывод осуществляется последовательно, перебирая все элементы области.
Процедура отображения окна на планшете в окно вывода на дисплее присутствует практически во всех функциях графического редактора. Благодаря ей осуществляется связь пользователя со схемой, и отображаются все изменения, производимые пользователем над схемой.
Теперь рассмотрим другие функции графического редактора.
В системе “Блок-схема”, как и в любой другой интерактивной системе, заданы кодовые комбинации клавиш, благодаря которым можно не выполнять полный набор команды для выполнения какого-либо действия. Для этого достаточно нажать так называемые “горячие” клавиши. Информацию о них можно получить, выбрав соответствующий пункт в меню “СПРАВКА”.
По полю окна редактора движется специальный графический указатель, показывающий очередную позицию на планшете. Движение этого указателя организуется с помощью клавиш управления курсором или с помощью манипулятора мышь. Если указатель передвигается за пределы окна редактора, то осуществляется скроллинг окна по планшету. Организованна эта процедура следующим образом: