Министерство образования Российской Федерации
Государственное образовательное учреждение
Высшего профессионального образования
«Сибирский государственный индустриальный университет»
КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ В МЕТАЛЛУРГИИ
Пояснительная записка к курсовой работе
Выполнил: ст. гр. ИСП-06
Семахина О.И.
Проверил: Кожемяченко В.И.
Новокузнецк
2007
Задание: Дана квадратная область, из центра которой происходит колебательное движение шариков. Каждый шарик характеризуется цветом, размером, азимутом и скоростью движения. При достижении шариком границы области, он начинает двигаться к центру; при достижении центра – к границам области. Провести отображение движения шариков. Предусмотреть возможность изменения их параметров, а также добавление и удаление шариков без остановки процесса движения.
Постановка задачи. В соответствии с условием задачи требуется применение средств графического отображения (класс TImage), а также компонента класса TTimer для организации непрерывного движения шариков. Для добавления и редактирования шариков целесообразно применять диалоговые окна. Список всех шариков будем хранить в компоненте TListBox, который позволяет хранить список объектов.
Выделение классов. Для решения задачи опишем класс TBall, характеризующие отдельно взятый шарик. В классе должны быть описаны цвет шарика, радиус шарика, азимут шарика, скорость шарика, координаты шарика, а также процедуры Show, Hide и Move.
TBall = class
color: TColor;
radius: integer;
az: integer;
V: integer;
x,y: integer;
Canvas: TCanvas;
direction : boolean;
dx, dy : integer;
constructor Create(NewColor: TColor; NewRadius, NewAz, NewV: integer; NewCanvas: TCanvas);
destructor Destroy; override;
procedure Show;
procedure Hide;
procedure Move;
end;
где: color – цвет шарика;
radius – радиус шарика, целое, от 10 до 30;
az – азимут шарика, целое, от 0˚ до 360˚;
V – скорость шарика, целое, от 1 до 100;
x,y – координаты шарика;
dx, dy – приращение координат шарика;
Выделение перечня наиболее важных структур данных. Наиболее важными структурами данных при работе программы является информация, хранящаяся в экземплярах класса TBall.
Построение алгоритма реализации.
Движение шариков происходит от центра к краю поверхности рисования и обратно. Управляет движением следующий фрагмент кода:
Hide;
if (x+radius > 2*x_c) or (y+radius > 2*y_c) or (x-radius < 0) or (y-radius < 0) or (x=x_c) and (y=y_c) then
begin
dx := -dx; // меняем направление
dy := -dy;
end;
x := x + dx*round(v*cos(Pi/180*az));
y := y + dy*round(v*sin(Pi/180*az));
Show;
Координаты x и y определяются соответственно по формулам
и , где az – азимут в градусах.
При работе программы могут возникнуть следующие события: добавление, изменение и удаление шарика, запуск/остановка системы, загрузка и сохранение файла, а также событие при срабатывании таймера. В программе используется компонент TActionList, таким образом каждому событию соответствует своя процедура, а компонентам на форме присвоен свой Action.
Обоснование выбора визуальных компонентов. Для отображения текущего состояния программы и управления ее поведением используются следующие компоненты:
Структура диалогов приведена на рисунке. При добавлении/редактировании шарика требуется ввести название шарика, его радиус, азимут и скорость. Также можно выбрать цвет шарика. При вводе числовых значений могут возникнуть следующие ошибки:
· введение последовательности символов, которое невозможно интерпретировать как целое число. Отображается сообщение об ошибке;
· введение числа, которое не входит в диапазон допустимых значений. Отображается сообщение о некорректности введенных данных;
· строка названия оставлена пустой. Отображается сообщение об ошибке.
Распознавание ошибочных ситуаций производится в момент попытки закрытия формы. Для этого используется конструкция вида
if ModalResult = mrOK then
try
...
except
...
end;
При выборе действий сохранить или загрузить из главного меню или из панели управления появляются диалоговое окно Windows «Сохранить как» и диалоговое окно Windows «Открыть» соответственно.
Инструкции по использованию программы. После запуска программы появляется основная форма. Ее изображение представлено на рисунке. Список шариков пуст, поэтому требуется добавить хотя бы один шарик. Отображение процесса начнется при нажатии «Пуск», остановится при нажатии «Стоп». При выборе шарика из списка его можно удалить или изменить его параметры. Для сохранения текущего состояния системы – «Сохранить», для загрузки – «Загрузить».
Основное окно программы
Диалоговые окна
При вводе некорректных данных
Диалоговые окна загрузки и сохранения
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.