Вселенная:
Результат
Архив

Главная / Русские Рефераты / Программирование и комп-ры / Интерпретация блок-схем


Интерпретация блок-схем - Программирование и комп-ры - Скачать


                    |
|                           |              |                        |
|                           |BEGIN         |блок начала программы   |
|                           |              |                        |
|                           |END           |блок конца программы    |
|                           |              |блок автоматических     |
|                           |AD            |действий                |
|                           |              |                        |
|                           |PP            |Блок вызова подпрограммы|
|                           |              |                        |
|                           |IF            |блок условного перехода |
|                           |              |                        |
|                           |INPUT         |блок ввода данных       |
|                           |              |                        |
|                           |OUTPUT        |блок вывода данных      |
|                           |              |                        |
|                           |CASE          |блок ветвь              |
|                           |              |                        |
|                           |SWITCH        |блок мультиветвления    |
|                           |              |                        |
|                           |LABEL         |метка                   |
|                           |              |                        |
|                           |GOTO          |Безусловный переход на  |
|                           |              |метку                   |


Рассмотрим функциональное назначение каждого блока.
    “НАЧАЛО” С этого блока начинается  исполнение  блок-схемы.  Присутствие
этого блока обязательно. Необходимо  заметить,  что  блок  “НАЧАЛО”  в  блок
схеме должен быть один.
    “КОНЕЦ” После того, как обрабатывается этот блок, исполнение блок-схемы
завершается. Присутствие данного блока также обязательно, но  в  отличие  от
предыдущего, блоков “КОНЕЦ” может быть несколько.
    “АВТОМАТИЧЕСКИЕ  ДЕЙСТВИЯ”   Присутствие  данного  блока,  как  и  всех
последующих  блоков,  в  схеме  не  обязательно.  В  блоке  действий   могут
выполняться:
любые математические действия, согласно правилам математики;
стандартные функции, предоставленные системой “Блок-схема”;
инициализация переменных.
    “ПОДПРОГРАММА” В этом  блоке  происходит  вызов  подпрограммы,  которую
составил сам пользователь.
    “ВЕТВЛЕНИЕ ПО УСЛОВИЮ” В этом блоке  проверяется  заданное  условие  на
истинность. И в зависимости от результата осуществляется ветвление.
    “ВВОД  /  ВЫВОД”  При  помощи  этих   блоков   организуется   интерфейс
пользователя с исполняемой схемой, то есть вводится и выводится информация.
    “МЕТКА”  Помечает позицию блока, на который происходит переход во время
выполнения связки “БП”. В  этом  блоке  указывается  соответствующая  метка.
Данный блок является частью связки - “БП”.
    “БЕЗУСЛОВНЫЙ ПЕРЕХОД НА МЕТКУ”  В  этом  блоке  указывается  метка,  на
которую будет происходить переход. Этот блок является частью связки - “БП”.
    Использование этих двух блоков не  обязательно.  Эти  блоки  введены  с
целью повышения наглядности блок-схем,  так  как  в  результате  ввода  этих
блоков,  отпадает  необходимость   указывать   сложные   соединения   блоков
(исчезает загромождённость схемы стрелками).
    “МУЛЬТИВЕТВЛЕНИЕ” В этом блоке находится переменная, по  которой  будет
происходить мультиветвление. Блок “мультиветвление” является  частью  связки
с аналогичным названием (описание связок смотрите далее).
    “ВЕТВЬ” Блок “ветвь” является частью связки “мультиветвление”. В  блоке
“ветвь”  задается  константа,  с  которой  выполняется  сравнение  значения,
полученного в блоке “мультиветвление.”


                                 3.3. Связки


    Связка - это такая последовательность блоков  в  блок-  схеме,  которой
необходимо придерживаться при создании блок-схемы алгоритма.
    Язык блок-схем располагает всего двумя связками:
     . “БП” - безусловный переход;
     . “Мультиветвление” – мультиветвление.
    “БП” - представляет собой связку из двух блоков:  “БЕЗУСЛОВНЫЙ  ПЕРЕХОД
НА МЕТКУ” и “МЕТКА”. Входящие в связку блоки должны содержать одну и  ту  же
метку.
    “МУЛЬТИВЕТВЛЕНИЕ”  представляет  собой  связку  из   последовательности
блоков,  которая  начинается   с   блока   “мультиветвление”.   Далее   идет
последовательность блоков “ветвь”. Заканчивается данная связка тогда,  когда
встречается блок отличный от блока “ветвь”.


                      3.4. Язык наполнения блок – схем


    В данном параграфе мы рассмотрим, как следует заполнять текстом блоки в
предложенной версии языка блок-схем.  В  основу  этого  языка  положены  два
языка:
С (его упрощенный вариант);
Pascal (его упрощенный вариант).
    “НАЧАЛО” С этим  блоком  связывается  описание  переменных.  Переменные
описываются следующим образом:
       тип переменная 1, переменная 2, ... , переменная N;
       тип переменная N+1, ...;
Множество типов в языке блок схем ограничено:
int         - целое ;
long_int    - длинное целое ;
float       - вещественное ;
char  - символьное .
Имя переменной - стандартный идентификатор имени в языке  C,  Pascal.  Длина
имени не ограничена.
    “КОНЕЦ” Содержимое этого блока не просматривается.
    “АВТОМАТИЧЕСКИЕ  ДЕЙСТВИЯ”  Здесь  задаются  выражения,  строящиеся  из
переменных, констант, математических знаков,  математических  и  стандартных
функций:
       +               сложение,
       -               вычитание,
       *               умножение,
       /               деление,
       =               присвоение,
       sin             синус,
       cos             косинус,
       tg              тангенс,
       ctg             котангенс,
       arcsin          арксинус,
       arccos          арккосинус,
       arсtg                 арктангенс,
       arcctg          арккотангенс,
       ln              натуральный логарифм,
       lg              десятичный логарифм,
       abs             абсолютное значение числа (модуль),
       exp             функция экспоненты,
       mod             взятие целой части при делении,
       div             взятие дробной части при делении,
       ^               возведение в степень,
       sqrt                  нахождение квадратного корня,
       sh              гиперболический синус,
       ch              гиперболический косинус,
       th              гиперболический тангенс,
а также, стандартные функции, предоставляемые системой "Блок-схема":
       randomize()     инициализация датчика случайных чисел,
       random()        получение случайного числа,
       clock()         получение времени,
       getch()         получение кода нажатой клавиши,
       kbhit()         получение значения была ли нажата клавиша,
       strlen()        получение длины строки,
       и т.д.
Список функций будет пополняться  (полный  список  смотрите  в  приложении).
Приоритет операций соответствует приоритетам языков Pascal и  С  (приоритеты
операций  смотрите  в  приложении).   Предусмотрена   возможность   изменять
приоритеты с помощью круглых скобок. Каждое выражение  должно  заканчиваться
символом “;”
Например:



    “ВЕТВЛЕНИЕ ПО УСЛОВИЮ” Текст  этого  блока  должен  представлять  собой
логическое условие, после которого ставится  “(”.  Условие  может  содержать
логические связки И - &&, ИЛИ - ||, НЕ - !.
Например:



    “ВВОД” В этом  блоке  через  запятую  указываются  переменные  значения
которые  вводит  сам  программист  с  терминала.  После  перечисления   всех
переменных ставится “;”
Например:


    “ВЫВОД” Текст этого блока имеет следующую структуру:
“текст”, переменная 1, “текст”, переменная 2, ... , переменная N;
“текст”, переменная N+1, ...;
то  есть,  текстовые  константы  чередуются  через  запятую  с  переменными,
которые надо вывести на экран монитора. В конце ставится “;”.
Например:



    “БЕЗУСЛОВНЫЙ ПЕРЕХОД НА МЕТКУ”  Содержимым  этого  блока  является  имя
метки с “;” на конце.
Например:


    “МЕТКА” Определяется аналогично предыдущему блоку.



    “ПОДПРОГРАММА” Содержится имя подпрограммы с параметрами.
Например:

    “МУЛЬТИВЕТВЛЕНИЕ” Вариант оператора “switch” языка Си. В  данном  блоке
содержится имя переменной, по которой будет выполняться ветвление.
Например:



    “ВЕТВЬ”   Блок   “ветвь”   может   присутствовать   только   в   связке
“мультиветвление”. Отдельно  не  имеет  смысла.  В  блоке  “ветвь”  задается
константа, с которой выполняется сравнение  значения,  полученного  в  блоке
“мультиветвление”.



    Применение  блоков  продемонстрировано  в   примерах,   приведённых   в
приложении.

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


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


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

                                    [pic]

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


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


    Текстовый редактор необходим системе для того, чтобы наполнять  текстом
блоки, создаваемые пользователем блок-схемы алгоритма.
    Редактор  для  среды  Windows  по  своим   возможностям   не   уступает
большинству  современных  текстовых   редакторов,   предоставляемых   фирмой
Borland. Редактор обладает следующими возможностями:
     . нет ограничения на размер текста внутри блока;
     . допускаются работа с буфером обмена;
     . существует возможность изменения шрифта текста;
     . два режима набора текста программы (режимы вставки и перезаписи);
     . поиск текста по заданному образцу;
     . замена заданного образца текста на заданный текст.
    Редактор, предложенный в среде MS-Dos,  является  простейшим  вариантом
текстового  редактора,  в  котором  возможен  лишь  набор  текста  в  режиме
наложения текста на текст (режим перезаписи), также  существует  ограничение
на размер текста. Он не должен превышать  1104  символа  для  каждого  блока
блок-схемы.
    С помощью клавиш управления осуществляется перемещение курсора по  окну
редактора текста блока. А с помощью клавиш  и   осуществлять
удаление текста со сдвигом строки.

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


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



Назад
 

Новые поступления

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


Український Зелений Портал Рефератик, створений з метою популяризації української культури і полегшення пошуку учбових матеріалів для українських школярів, а також студентів і аспірантів українських Вузів. Всі матеріали, опубліковані на сайті взяті з відкритих джерел. Проте, слід пам'ятати, що тексти, опублікованих робіт в першу чергу належать їх авторам. Використовуючи матеріали, розміщені на сайті, будь ласка, давайте заслання на назву публікації і її автора.

написать нам ©  referatik.com.ua, 2007-г.
Карта сайта


  
 
МЕТА - Украина. Рейтинг сайтов