МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Интерпретация блок-схем

    int false_x; // координаты блока на планшете для перехода

    int false_y; // по ЛЖИ (FALSE)

    };

    и строка, содержащая текст данного блока.

    Эти записи строятся следующим образом. В поле type содержится тип,

    сохраняемого блока. В полях x,y – координаты блока на планшете. В полях

    true_x, true_y – координаты блока на планшете для перехода по истине. И

    соответственно, в полях false_x, false_y - координаты блока на планшете

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

    соответствующий данному блоку или текстовая константа NULL, если текста

    нет.

    Последовательность записей создается сканированием списка структур

    блоков и переводом во внутреннее представление блок – схемы. Запись

    заканчивается, когда список структур будет полностью просканирован.

    Кроме этого в Windows версии системы в файл блок схемы добавляются

    ключевые слова для того, чтобы при считывании блок-схем не было допущено

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

    4.4.2. Знакомство с системой

    4.4.2.1. MS-Dos версия системы

    Итак, Вы решили поработать с системой, предлагаемой в данной работе. Вы

    должны находиться в операционной системе MS-DOS 3.0 или Windows 3.1 и выше.

    Выбрав в диспетчере файлов имя программы MAIN_CURS.EXE, запустите ее. На

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

    указаны автор работы и его научный руководитель. После этого нужно нажать

    клавишу , либо подвести указатель манипулятора мышь на кнопку и

    нажать левую кнопку манипулятора.

    [pic]

    Пункты главного меню имеют следующее назначение:

    Файл для того, чтобы создать блок-схему алгоритма, считать её с диска,

    записать на диск или выйти из системы.

    Редактор подменю этого пункта предназначено для создания и

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

    построения блок-схем, а также предоставляет возможности удалять блоки и

    производить разметку экрана координатной сеткой.

    Текст этот пункт предназначен для набора и редактирования текста внутри

    блока.

    [pic]

    Интерпретация пункты этого меню позволяют запускать пошаговый отладчик,

    организуют просмотр таблицы переменных, а также запускают интерпретатор.

    Справка здесь можно будет получать информацию о системе или о языке

    блок –схем.

    Если Вы выберете пункт “новый файл”, то получите окно графического

    редактора блок-схем, который будет разбит координатной сеткой, а на поле

    редактора будет находиться графический указатель, указывающий текущее

    положение блока.

    После выбора пунктов “Блоки” или “Стрелки” справа от поля графического

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

    непосредственно сами блоки. Перед Вами появилось окно графического

    редактора (в нем создается и редактируется блок-схема) с набором блоков,

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

    Если Вы нажмете комбинацию , то перед Вами появится окно

    текстового редактора. В нем Вы можете производить набор и редактирование

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

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

    Если Вы решили запустить программу на выполнение, то Вам нужно выбрать

    пункт “Интерпретация” в главном меню, а в нем пункт “выполнить”. После

    этого, перед Вами появится окно, которое сообщит Вам, были ли допущены Вами

    ошибки при создании программы. Если их не было, то перед Вами появится

    следующее окно, которое называется окном интерпретации.

    [pic]

    После выполнения проверки и обнаружения ошибок выдается сообщение о

    наличии ошибок:

    [pic]

    По окончании интерпретации Вам будет выдано сообщение об том, как

    прошел процесс интерпретации (успешно или нет). Сообщение выглядит

    следующим образом:

    [pic]

    Для того чтобы посмотреть значения переменных надо в этом же подменю

    выбрать пункт таблица переменных. Выглядеть на мониторе компьютера это

    будет так:

    [pic]

    Чтобы выйти из системы нужно выбрать команду “выход” в меню файл или

    нажать клавиши: .

    4.4.2.2. Windows версия системы

    Для запуска системы под операционную систему Windows, Вы должны

    запустить файл “Блок-схема.exe”. На экране появится главное окно программы.

    [pic]

    Пункты главного меню имеют следующее назначение:

    Файл для того, чтобы создать блок-схему алгоритма, считать её с диска,

    записать на диск или выйти из системы.

    Редактор подменю этого пункта предназначено для создания и

    редактирования блок-схем. Оно предоставляет панель инструментов - набор

    блоков и стрелок для построения блок-схем, а также предоставляет

    возможности удалять блоки и производить разметку экрана координатной

    сеткой, а также позволяет работать с буфером обмена.

    Редактор текста блока этот пункт предназначен для набора и

    редактирования текста внутри блока.

    Интерпретация пункты этого меню позволяют запускать пошаговый отладчик,

    организуют просмотр таблицы переменных, а также запускают интерпретатор.

    Опции задание параметров системы и планшета.

    Окно работа с окнами приложения.

    Помощь здесь можно будет получать информацию о системе или о языке блок

    –схем.

    При начальной загрузке отображается короткая панель инструментов, но

    после того как Вы создадите либо новую блок-схему, либо будете

    редактировать старую, появятся дополнительные панели инструментов. С их

    помощью работать с системой становится значительно проще.

    [pic]

    Если Вы активизируете любой нарисованный блок и выберете пункт меню

    “Редактор текста блока” или дважды щелкните левой клавишей мышки на

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

    [pic]

    Текстовый редактор позволяет выполнять следующие действия:

    [pic]

    . Вырезать выделенный текст из текста блока и записать его в буфер

    обмена;

    . Вставить текст из буфера;

    . Изменить шрифт текста;

    . Разрешить или запретить доступ к панели инструментов;

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

    . Заменить заданный образец текста на новый текст.

    Для выхода из редактора надо нажать клавишу , либо кнопку с

    надписью “Выход”.

    Если Вы решили запустить программу на выполнение, то Вам нужно выбрать

    пункт “Интерпретация” в главном меню, а в нем пункт “выполнить”. После

    этого, перед Вами появится окно, которое сообщит Вам, были ли допущены Вами

    ошибки при создании программы. Если их не было, то программа запускается на

    исполнение, причем процесс выполнения отображается на блок-схеме.

    [pic]

    Кроме команды "выполнить" возможны следующие команды:

    . Пошаговая отладка;

    . Следующий шаг;

    . Прервать интерпретацию;

    . Установить точку входа в программу;

    . Экспорт на язык программирования Си.

    Последние две команды можно выполнять только в режиме пошаговой трансляции.

    Во время работы транслятора выдается следующее окно,

    [pic]

    и при обнаружении ошибки выдается окно сообщений, в котором описана

    возможная ошибка. Например,

    [pic]

    А в общем виде это будет выглядеть следующим образом:

    [pic]

    Если вы захотите изменить параметры планшета, то Вам нужно вызвать

    “свойства ” системы. Для этого Вам нужно один раз нажать правую кнопку

    мыши. После этого перед Вами появится контекстное меню со следующими

    пунктами:

    . Удалить блок;

    . Копировать блок;

    . Вставить блок;

    . Вырезать;

    . Свойства.

    Нажав на пункт свойства, перед Вами появится следующее диалоговое окно:

    [pic]

    Закладка “Планшет” отвечает за свойства планшета. Закладка “Редактор”

    отвечает за свойства текстового и графического редакторов. Закладка

    “Интерпретатор” отвечает за параметры интерпретатора.

    Для того, чтобы посмотреть значения переменных, надо в меню “Окно”

    выбрать пункт “ таблица переменных ”. Выглядеть на мониторе компьютера это

    будет так:

    [pic]

    Здесь отображаются переменные и их значения. Кроме того, существует

    возможность редактирования списка переменных.

    Чтобы закончить работу с системой нужно выбрать команду “выход” в меню

    “файл” или нажать клавиши: .

    4.5. Внутреннее представление данных

    Перечислим основные структуры данных, используемые в системе “Блок

    схема”.

    Блок-схема алгоритма представляется как список структур следующего

    вида:

    struct BLOCK

    {

    unsigned int type; // тип блока

    int x; // координата блока по оси x

    int y; // координата блока по оси y

    char *text; // текст блока

    int true_x; // переход по ИСТИНЕ по оси x на планшете

    int true_y; // переход по ИСТИНЕ по оси y на планшете

    int false_x; // переход по ЛЖИ по оси x на планшете

    int false_y; // переход по ЛЖИ по оси y на планшете

    struct BLOCK *next; // указатель на следующий элемент схемы

    bool StopRun; // признак точки входа в программу

    bool ErrorFlag; // признак наличия ошибок в данном блоке

    bool RunBlock; // признак выполнения блока в текущий

    момент

    struct SVERTKA* Poliz; // полиз текста блока

    };

    Файл схемы представляет собой последовательность следующих записей:

    struct BLOCK

    {

    unsigned int type; // тип блока

    int x; // координата блока по оси x

    int y; // координата блока по оси y

    char *text; // текст блока

    int true_x; // переход по ИСТИНЕ по оси x на планшете

    int true_y; // переход по ИСТИНЕ по оси y на планшете

    int false_x; // переход по ЛЖИ по оси x на планшете

    int false_y; // переход по ЛЖИ по оси y на планшете

    };

    Таблица переменных образованна следующим образом: она состоит из списка

    структур следующего вида:

    struct VARIABLE

    {

    AnsiString Hint; // подсказка при индексации

    char* name; // имя переменной

    char type; // тип переменной

    unsigned int Size; // размерность массива, если Size == 0,

    // то это переменная

    unsigned int* SizeN;// массив значений размерностей,

    // если это переменная то SizeN == NULL

    char* ready; // признак готовности к работе переменной

    int* __int; // значение переменной типа int

    long int* __long_int;// значение переменной типа long int

    char* __char; // значение переменной типа char

    float* __float; // значение переменной типа float

    double* __double; // значение переменной типа double

    struct VARIABLE* next;// указатель на следующий элемент таблицы

    // переменной

    };

    Таблица констант также представлена списком структур следующего вида:

    struct CONSTANTA

    {

    unsigned char type; // тип константы

    int __long_int; // константа типа long int

    int __int; // константа типа int

    char __char; // константа типа char

    float __float; // константа типа float

    double __double; // константа типа double

    char* __string; // константа типа string

    struct CONSTANTA* next;// указатель на следующий элемент таблицы

    };

    Последовательность текста блока, как уже говорилось ранее, при

    трансляции переводится на внутренний язык транслятора. В данной системе это

    список сверток, которые имеют следующую структуру:

    struct SVERTKA

    {

    unsigned char type; // тип свертки

    unsigned char intype; // подтип свертки (номер операции, функции,

    // процедуры в списке функций)

    struct VARIABLE* variable;// если это не переменная то

    variable==NULL

    // если переменной не существует в таблице

    // переменных то variable == NULL

    struct CONSTANTA* constanta;//указатель на таблицу констант

    // если это не константа то constanta==NULL

    // если такой константы не существует в таблице

    // констант то constanta == NULL

    struct SVERTKA* next; // указатель на следующий элемент свертки

    int result; // счетчик числа операндов операций или функции

    };

    Заключение

    Данная работа представляет собой транслятор с языка блок схем.

    Система состоит из оболочки, графического редактора блок-схем,

    встроенного текстового редактора, интерпретатора, пошагового отладчика и

    конвертора на язык Си.

    Система отлажена и протестирована на серии примеров. Система

    реализована в двух вариантах:

    . Под операционную систему MS-Dos,

    . Под операционные системы Windows NT, Windows 95, Windows 98.

    Размер исполняемого файла в среде MS-Dos 300 Кбайт, в среде Windows 900

    Кбайт.

    Результаты данной работы были представлены на 6ой международной научно-

    практической конференции “Новые информационные технологии в университетском

    образовании”, которая проходила в городе Новосибирске с 17 по 19 марта 1999

    года. На конференции был сделан доклад (тезисы опубликованы).

    Система создавалась с целью обучения студентов первого курса ФПМиК

    основам программирования. Предполагается её активное использование.

    Литература

    1. Лебедев В.Н. Введение в системы программирования. - М: Статистика, 1975.-

    315с.

    2. Грис Д. Конструирование компиляторов для цифровых вычислительных машин,

    - М: Мир, 1975.-544с.

    3. Касьянов В.Н. , Поттосин И.В. Методы построения трансляторов.-

    Новосибирск: Наука, 1986. -343с.

    4. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции

    в 2-х томах. - М: Мир, 1978.

    5. Соловьёв А.С. Интерпретатор языка блок-схем. // Материалы научно-

    практической конференции “Новые информационные технологии в

    университетском образовании”. - Новосибирск: Издательство ИДМИ, 1999.-

    227с.

    6. Демин А.Ю., Гусев А.В. Визуальное программирование программ на основе

    блок-схем. // Материалы научно-практической конференции “Новые

    информационные технологии в университетском образовании” Новосибирск:

    Издательство ИДМИ, 1999.-227с.

    7. Паронджанов В.Д. Язык программирования “ДРАКОН” // Программирование. –

    1995. - №3.

    8. Паронджанов В.Д. Учись рисовать ясные блок-схемы. - М: “Радио и связь”,

    1995.

    9. Рейсдорф Кент, Хендерсон Кен Освой самостоятельно Borland C++Builder. -

    Москва: ЗАО “Издательство БИНОМ”, 1998.-704с.

    10. Lee C.Y. An algorithm for path connetion and its applications. // “IRE

    Trans.”, V.EC-10 - № 3.

    Приложение

    Приложение 1: Примеры блок-схем

    MS-Dos версия:

    [pic]

    Windows версия:

    [pic]

    Пример 1. Нахождение максимума из двух чисел.

    [pic]

    Пример 2. Сортировка методом пузырька (Windows версия).

    [pic]

    Пример3. Вычислительная программа (MS-Dos версия)

    Приложение 2: Матрицы переходов анализаторов

    Матрица лексического анализатора (сканера)

    | |0|(|)|+|-|/|*||=|^|||!|[|]|,|;|&|.|(|0|‘|‘|“|

    | | | | | | | | | | | | | | | | | | | | | | |’| | |

    |0|1|2|2|2|9|1|1|1|1|2|1|1|2|2|2|2|2|2|3|-|E|0|4|6|

    | | | |2|2| |2|4|5|7|4|4|8|3|2|2|2|2|2| |9| | | | |

    |1|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-|-|-|0|-|-|

    | | | | | | | | | | | | | | | | | | | |1|1|1| |1|1|

    |2|-|2|-|0|0|0|0|0|0|0|0|0|0|-|0|0|0|0|3|-|-|0|-|-|

    | |1| |1| | | | | | | | | | |1| | | | | |1|1| |1|1|

    |3|-|3|-|0|0|0|0|0|0|0|0|0|0|-|0|0|0|0|-|-|-|0|-|-|

    | |1| |1| | | | | | | | | | |1| | | | |1|1|1| |1|1|

    |4|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|

    |5|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|7|-|

    | |1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1| |1|

    |6|6|6|6|6|6|6|6|6|6|6|6|6|6|6|6|6|6|6|6|6|-|6|6|8|

    | | | | | | | | | | | | | | | | | | | | | |1| | | |

    |7|-|-|-|0|0|0|0|0|0|0|0|0|0|0|-|0|-|0|0|-|-|0|-|-|

    | |1|1|1| | | | | | | | | | | |1| |1| | |1|1| |1|1|

    |8|-|-|-|0|-|-|-|-|-|-|-|-|-|-|-|-|0|0|-|-|-|-|0|-|

    | |1|1|1| |1|1|1|1|1|1|1|1|1|1|1|1| | |1|1|1|1| |1|

    |9|0|0|0|-|1|-|-|-|-|-|1|-|-|-|-|-|-|-|-|0|-|-|0|-|

    | | | | |1|0|1|1|1|1|1|1|1|1|1|1|1|1|1|1| |1|1| |1|

    |1|-|-|-|0|-|-|0|0|0|0|-|0|0|0|-|0|0|0|0|-|-|-|0|-|

    |0|1|1|1| |1|1| | | | |1| | | |1| | | | |1|1|1| |1|

    |1|0|0|0|-|-|0|-|-|-|-|-|-|-|-|-|-|-|-|-|0|-|-|0|0|

    Страницы: 1, 2, 3, 4, 5, 6


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.