ФГОУ ВПО Камчатский Государственный Технический Университет
Факультет информационных технологий
Кафедра систем управления
Объектно-ориентированное программирование
Курсовая работа
Тема: Разработка класса прямоугольников
Петропавловск-Камчатский
Введение
Цель работы – создание класса прямоугольников со сторонами паралельными осям координат.
Задачей курсового проектирования является разработка программной системы от начала (анализ требований) до конца (тестирование и сопровождение-документация).
В ходе выполнения курсовой работы получить профессиональные навыки в постановке задачи, анализе требований, выборе представления исходных данных и результата, разработке спецификаций, проектирования программной системы, написании программы на выбранном языке программирования с использованием объектно-ориентированной технологии и библиотек классов, тестировании и отладке программы, оформлении документации.
Основные требования к программе
Курсовая работа по курсу "Объектно-ориентированное программирование» выполняется индивидуально каждым студентом в соответствии с выданным преподавателем вариантом. Обязательным является использование в курсовой работе объектно-ориентированного подхода и пользовательских классов.
В программе должен быть реализован класс прямоугольников.
Программа должна работать под управлением операционной системой «Windows» и быть разработана на языке программирования «Delphi».
В классе должны быть предусмотренны возможности:
1. Перемещения прямоугольников;
2. Изменения размеров прямоугольников;
3. Построение наименьшего прямоугольника, содержащего два заданных прямоугольнака;
4. Построение прямоугольника являющегося общей частью (пересечением) двух заданных прямоугольников;
Описание классов программы
Программа содержит в себе два основных класса: stack и TForm1. stack является классом стека прямоугольников. Все прямоугольники хранятся в нём и вызываются по псевдонимам. TForm1 – класс главного окна программы.
Класс stack:
Хранит и обрабатывает объекты прямоугольников.
top : pNode; Вершина стека. num : integer; Счётчик для задания уникальных псевдонимов. constructor Create; Конструктор destructor Destroy; Деструктор function newRect(x, y, w, h : integer) : string; Функция создания нового прямоугольника. procedure delRect(id : string); Функция удаления прямоугольника procedure moveSize(id : string; x, y, w, h : integer); Процедура для изменения размера и положения прямоугольника function find(id : string) : pNode; Функция поиска объекта прямоугольника по псевдониму.
Класс TForm1:
ListBox1: TListBox Список прямоугольников Button1: TButton; Кнопка создания нового прямоугольника sel2: TLabel; Поле с предыдущим выбранным объектом sel1: TLabel; Поле с текущем выбранным объектом Button2: TButton; Кнопка для удаления прямоугольника Editx: TEdit; Поле для ввода координаты x Edity: TEdit; Поле для ввода координаты y Editw: TEdit; Поле для ввода ширины Edith: TEdit; Поле для ввода высоты Button3: TButton; Кнопка для изменения состояния прямоугольника Button4: TButton; Кнопка для построения наименьшего прямоугольника содержащего в себе заданные. Button5: TButton; Кнопка для построения прямоугольника на пересечении. procedure FormCreate(Sender: TObject); Процедура создания окна procedure Button1Click(Sender: TObject); Кнопка создания прямоугольника procedure ListBox1Click(Sender: TObject); Процедура выделения прямоугольника procedure FormPaint(Sender: TObject); Процедура рисования procedure Button3Click(Sender: TObject); Процедура изменения состояния прямоугольника procedure Button2Click(Sender: TObject); Процедура удаления прямоугольника procedure Button4Click(Sender: TObject); Процедура построения наименьшего прямоугольника содержащего заданные function min (a, b : integer) : integer; Вспомогательная функция определяющая наименьший элемент. function max (a, b : integer) : integer; Вспомогательная функция определяющая наибольший элемент. procedure roll(var a, b : integer); Вспомогательная функция меняющая значения операндов местами. procedure Button5Click(Sender: TObject); Процедура построения прямоугольника на пересечении двух заданных s : stack; Стек прямоугольников.
Диаграмма классов программы
Руководство пользователя
Для добавления прямоугольника надо нажать кнопку "Добавить". ............