Курсовая работа: Разработка класса прямоугольников
ФГОУ ВПО Камчатский Государственный Технический Университет
Факультет информационных технологий
Кафедра систем управления
Объектно-ориентированное программирование
Курсовая работа
Тема: Разработка класса прямоугольников
Петропавловск-Камчатский
Введение
Цель работы – создание класса прямоугольников со сторонами паралельными осям координат.
Задачей курсового проектирования является разработка программной системы от начала (анализ требований) до конца (тестирование и сопровождение-документация).
В ходе выполнения курсовой работы получить профессиональные навыки в постановке задачи, анализе требований, выборе представления исходных данных и результата, разработке спецификаций, проектирования программной системы, написании программы на выбранном языке программирования с использованием объектно-ориентированной технологии и библиотек классов, тестировании и отладке программы, оформлении документации.
Основные требования к программе
Курсовая работа по курсу "Объектно-ориентированное программирование» выполняется индивидуально каждым студентом в соответствии с выданным преподавателем вариантом. Обязательным является использование в курсовой работе объектно-ориентированного подхода и пользовательских классов.
В программе должен быть реализован класс прямоугольников.
Программа должна работать под управлением операционной системой «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; | Стек прямоугольников. |
Диаграмма классов программы
Руководство пользователя
--> ЧИТАТЬ ПОЛНОСТЬЮ <--