Интерпретация блок-схем
PAGE 13 PAGE 32
Томский государственный университет
Факультет прикладной математики и кибернетики
Кафедра программирования
ДОПУСТИТЬ К ЗАЩИТЕ В ГАК
зав. кафедрой программирования профессор, д.т.н.
_______________ А.Ю.Матросова
“____ ” ________________ 1999 г.
Соловьёв Александр Станиславович
Система визуального программирования
“Блок-схема” на основе языка блок-схем
(дипломная работа)
Научный руководитель доцент, к.т.н.
_________ Н.А.Белоусова
Автор работы
_________ А.С. Соловьев
Томск 1999
Реферат
Дипломная работа представляет собой систему программирования, которая облегчает обучение программированию и началам алгоритмизации. Основная идея, положенная в основу работы, - это создание системы трансляции с языка блок - схем.
Созданная система “Блок-схема” обладает удобным интерфейсом, графическим редактором блок-схем, встроенным текстовым редактором, интерпретатором и конвертором на язык программирования Си. В системе предусмотрена возможность получения информации (справок) как о самой системе, так и о языке блок - схем. Система снабжена демонстрационными примерами.
Система создана в двух вариантах:
Под операционную систему MS-DOS 3.x и выше;
Под операционные системы Windiows 95, Windows 98 и Windows NT.
В первом случае, разработка велась с помощью языка Borland C++ 3.1 (совместима с языком Turbo C 2.0). Во втором, с помощью пакета Borland C++Builder 3.0.
Оглавление
4Введение
1. Языки программирования6
1.1. Классификация6
1.2. Сравнительная характеристика языков.8
2. Трансляторы9
2.1. Классификация9
2.2. Компиляторы и интерпретаторы9
3. Язык блок-схем11
3.1. Правила построения блок-схем11
3.2. Блоки12
3.3. Связки14
3.4. Язык наполнения блок – схем14
4. Система программирования18
4.1. Графический редактор18
4.2. Встроенный текстовый редактор21
4.3. Интерпретатор22
4.3.1. Этапы трансляции22
4.3.2. Лексический анализ24
4.3.2.1. Задачи лексического анализа24
4.3.2.2. Сканер25
4.3.3. Синтаксический и семантический анализ27
4.3.4. Польская инверсная запись (ПолИЗ)27
4.3.4.1. Алгоритм Дейкстры формирования ПолИЗа28
4.3.4.2. ПолИЗ выражений, содержащих переменные синтаксиса29
4.3.4.3. Алгоритм перевода ПолИЗа в машинные команды31
4.3.5. Общая схема работы интерпретатора34
4.4. Оболочка системы35
4.4.1. Работа с файлами35
4.4.2. Знакомство с системой36
4.4.2.1. MS-Dos версия системы36
4.4.2.2. Windows версия системы40
4.5. Внутреннее представление данных46
Заключение48
Литература49
Приложение50
Приложение 1: Примеры блок-схем50
Приложение 2: Матрицы переходов анализаторов52
Приложение 3: Текст основных классов программы58
Введение
Основная проблема, которая встает перед обучаемыми на занятиях по информатике, это неосязаемость изучаемого предмета. Живя в материальном мире человеку довольно трудно и не очень интересно разбираться с неосязаемыми операторами.
Наиболее естественной формой представления (восприятия) информации является графический образ – рисунок, чертеж, схема и т.д. К этой форме человек прибегает всякий раз (возможно неявно для себя), когда необходимо решать (описывать, формулировать) действительно сложные задачи. Эффективное оперирование наглядными образами, быстрое установление смысловой связи между ними – является сильной стороной человеческого мышления.
Еще во времена становления программирования, когда программы писались на внутреннем языке ЭВМ – машинном коде (ассемблере), неотъемлемой частью разработки программ было использование блок-схем. Как мы все хорошо знаем: “ Схемой алгоритма называется такое графическое представление алгоритма, в котором этапы процесса обработки информации и носители информации представлены в виде геометрических символов из заданного ограниченного набора, а последовательность процесса отражена направлением линий ” [1]. Их применение значительно облегчало восприятие и анализ программы. Двумерное представление программы более ясно отражало ее структуру. Применение блок-схем позволяло быстрее и качественнее разрабатывать и отлаживать программы, а также облегчалось их сопровождение. Данное свойство блок-схем было “узаконено” и они стали обязательной частью документации.