Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой проект по ЛОИ.doc
Скачиваний:
0
Добавлен:
06.05.2019
Размер:
138.24 Кб
Скачать

4. Рекомендации

1 Варианты интерфейсов свойств объектов можно посмотреть в Borland C++ Builder, Discreet 3D Max, Macromedia Flash, Macromedia Freehand и т.д.

2 Способы сохранения данных можно посмотреть в описании платформы NET.

 

5. Защита и сдача курсовой работы Для защиты и сдачи курсовой работы необходимо оформить отчёт по курсовой работе, предоставить исходный текст программы и выполняемый модуль. Программы должны комплектоваться набором тестов или тестовых исходных данных, которые показывают правильность её функционирования при различных исходных данных. Если программа установленная с помощью инсталляционного комплекта не работает в отсутствии специфичных библиотек или среды разработки - это является ошибкой автора программы и соответствующим образом оценивается. Весь исходный код программы должен сопровождаться значимыми комментариями. Это означает, что любая последовательность строк, смысл которой неочевиден для читающего, должна быть прокоментирована.

6. Отчетность и требования к оформлению

Отчет должен быть представлен в виде файла формата MS Word и в виде распечатки на листах формата А4 с использованием шрифта Times New Roman Cyr 14. Список литературных источников должен включать 10-20 наименований не более чем 5-7 летней давности. До защиты курсового проекта необходимо сделать доклад на 5-10 минут, содержащий тему работы, исходные данные, рассмотренные методы решения, достигнутые в ходе работы результаты.

Курсовой проект по лои. Вариант №7. Задание на разработку интерпретатора.

 

1. Общее

1.1. Назначение

1 Изучить методы построения грамматик языков программирования.

2 Получить практические навыки разработки интерпретаторов.

3 Получить практические навыки разделения программы на модули и построения межмодульных интерфейсов.

   

1.2. Задание

   

1 Разработать язык программирования, достаточный для выполнения простейших программ. Язык программирования должен позволять:

  • линейное выполнение программы

  • условные и безусловные переходы

  • циклическое выполнение

  • вычисление выражений

  • базовый ввод-вывод

2 Описать грамматику разработанного языка.

3 Реализовать интерпретатор разработанного языка программирования.

4 Синтаксис разработанного языка может быть любым. Формат студент должен выбирать исходя из соображений удобства использования и реализации.

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

2.Требования к программе

Интерпретатор должен быть выполнен с использованием компилятора Visual C++ NET. При желании разработчика использовать другой компилятор выбор должен быть мотивирован и согласован с заказчиком.

2.1. Операторы

1 Требуется реализовать следующие базовые операторы (выбор их названия и формата предоставляется разработчику).

2 Обеспечить оператор вычисления математических выражений.

3 Обеспечить оператор IF, позволяющий определять истинность условий.

4 Обеспечить оператор GOTO, позволяющий выполнять безусловный переход в определённую точку программы.

5 Обеспечить оператор FOR, позволяющий реализовать циклическое выполнение операторов программы.

6 Обеспечить операторы GOSUB/RETURN, позволяющие выполнить подпрограмму с возвратом в точку вызова.

7 Реализовать часть ELSE оператора IF, если разработанная модель языка позволяет это сделать.

8 Реализовать часть STEP оператора FOR, если разработанная модель языка позволяет это сделать.

9 Реализовать операторы DATA / READ, позволяющие читать данные из заранее заданного набора.

10 Реализовать строковый тип переменных и набор функций для работы с ними.

   

 

2.2. Ввод-вывод

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

2 Предоставить возможность ввода информации (цифровых значений), необходимых для работы пользовательской программы.

3 Реализовать поддержку работы с файлами (открытие, чтение, запись, закрытие).

4 Реализовать работу с массивами.

 

3. Содержание работы

Работа по содержанию состоит из следующих частей:

  • выбор схемы организации данных в программе

  • выбор алгоритма синтаксического анализа

  • разработка ядра интерпретатора (конечного автомата)

  • разработка интерфейса пользователя

  • разработка тестовых программ

  • документирование

   

3.1. Интерфейс пользователя

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

Это может быть консольное приложение или приложение, использующее графический интерфейс пользователя (GUI).

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

   

3.2. Тестовый набор данных

1 Необходимо подготовить тестовый набор программ (не менее 5), для которых заранее известен результат. Они должны использовать все команды языка.

2 При выполнении работы на оценку «отлично» правильность выполнения тестовых программ должна проверяется при запуске программы автоматически. В этом случае по окончании теста программа должна выводить результат прохождения теста (успех или неудачу).