Сибирский государственный университет телекоммуникаций и информатики.
Факультет заочного обучения.
Курсовая работа по дисциплине «Современные технологии программирования».
На тему: «Проектирование и реализация программ в технологии «абстрактных типов данных»
Выполнил:
Студент ФЗО СибГУТИ
Группы ЗП-71
Карнаухов Д.С.
Номер студенческого билета 092П-051
Проверил:
Зайцев М.Г.
Новосибирск 2012г.
Содержание.
1.Задание. 3
2. Описание работы программы. 3
Разработать универсальный калькулятор с интерфейсом в стиле Windows, который позволил бы вычислять выражения с р-ичными числами, простыми дробями, комплексными числами.
Систему справочной помощи по работе с калькулятором реализовать в формате hlp (файл справочной помощи Windows), используя приложение hcw, входящее в комплект поставки Delphi.
Для установки вашего приложения создайте инсталлятор, Для этой цели можно использовать любое приложение, в том числе InstallShieldExpressForDelphi.
Классы реализующие работу данных, а именно FracNumber, PNumber, ComplexNumber реализуют интерфейс Number, который описан в заголовочном файле number.h. В интерфейсе определены все операции, которые необходимы для корректной работы калькулятора. Также в интерфейсе определен метод setBase(int _base), который фактически используется только п-ичными числами, для остальных типов используется пустая реализация. Схема наследования и структура данных приведена на рисунке 1.
Рис 1. Диаграмма данных.
Манипуляции над данными производятся в классах: Memory– класс, реализующий работу памяти калькулятора; Proc–класс, реализующий работу процессора калькулятор(объект выполняющий арифметические операции с операндами); Calc–класс, реализующий управление калькулятором (использует данные косвенно, отвечает за инициализацию поступающих данных). Напрямую с объектами данных не происходит взаимодействия, все операции над данными вызываются по ссылкам на интерфейс. Отдельно стоит выделить метод класса Calc::getNumber, возвращающий ссылку на объект типа Number. Метод определяет с каким типом данных в данный момент идут операции и возвращает ссылку на данных класс, данный метод реализует работу класса согласно паттерну “Фабричный метод”. Структураклассовприведенанарисунке 2.
Рис 2.Диаграммауправляющихклассов.
За графическое представление интерфейса отвечает класс Interface, также он отвечает за передачу информации и первичную обработку событий взаимодействия с пользователем – нажатие клавиш на калькуляоре. Корректность отображения числа на цифровом табло контролирует группа классов реализующих интерфейс – editor: PNumbEditor – отвечает за пичные числа; FracEditor- за дроби; ComplexEditor – за комплексные числа. Объекты класса создаются в объекте Interface, в зависимости от типа чисел над которыми ведутся вычисления. Структураклассовприведенанарисунке 3.
Рис 3.Диаграммавизуальныхкомпонентов.
Полная диаграмма системы приведена ниже, на рисунке 4.
Рис 4.Диаграммаклассов программы.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.