Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка.docx
Скачиваний:
11
Добавлен:
22.02.2015
Размер:
153.17 Кб
Скачать

5 Спецификация программы

Исполняемым файлом является файл с именем «MyProgramm.exe» - это приложение работает без поддержки каких-либо других файлов, поэтому может быть запущено из любого места на жестком диске.

Программа не требует никаких доп. настроек, структура проекта приведена в таблице 1.

Таблица 1 - Файлы проекта

Название

Назначение

Примечание

MyProgramm.dpr

Файл проекта

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

MyProgramm.cpp

uAbout.cpp

uHelp.cpp

uMainForm.cpp

uOptions.cpp

Файл-модуль с кодом программы

Содержит практически весь код программы, написанный программистом.

MyProgramm.res

WindowsXP.res

Файл ресурсов

Содержит нужные для компиляции ресурсы. Формат двоичный.

MyProgramm.bpr

uAbout.dfm

uHelp.dfm

uMainForm.dfm

uOptions.dfm

Файл с параметрами

Содержит параметры и значения свойств формы

6 Тестирование

После запуска программы пользователю будет представлена главная форма приложения (рисунок 2).

Рисунок 2. Главная форма.

На главной форме присутствует панель управления и рабочая область. Панель управления предназначена для быстрого доступа к функциям приложения, все кнопки на панели управления продублированы в меню программы. Функция рабочей области, проверка правильности работы программы и наглядное изображение входных данных. Для того, чтобы приступить к вводу данных в приложение необходимо нажать на кнопку «Ввести количество и координаты кругов» расположенной на панели управления либо выбрать пункт меню Действие затем Ввести количество и координаты кругов. После чего появиться окно Параметры (Рисунок 3). На вкладке Координаты окна Параметры представлено поле для ввода количества кругов и два параметра, «Найти общие точки после закрытия окна» и «Задавать координаты автоматически».

Поле для ввода количества кругов может принимать целочисленные не отрицательные значения в диапазоне от 0 до 9999. Ввод неверных данных контролируется приложением, при неверном вводе пользователь увидит соответствующее сообщение о неверном вводе (Рисунок 4).

Рисунок 3. Окно параметры с вкладкой Количество.

Рисунок 4. Сообщение, информирующее пользователя о неверном вводе данных.

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

Параметр «Задавать координаты автоматически» предназначен для автоматического заполнения координат введенного количества кругов. Заполнение производиться при помощи генератора псевдослучайных числе в диапазоне от 0.8952 до 15.5168. Если этот параметр не доступен для изменения и его текст горит серым цветом, то генерирование данных производиться не будет. Параметр недоступен в случае, если пользователь ввел меньше одного круга в поле для ввода кругов. Если пользователь установил этот параметр и он доступен для изменения, то ввод координат вручную невозможен. Для ручного ввода координат необходимо снять этот параметр.

На окне присутствует вкладка Координаты (Рисунок 5) предназначенная для ручного ввода параметров круга. Вкладка недоступна если количество кругов меньше одного или установлен параметр «Задавать координаты автоматически».

Рисунок 5. Вкладка Координаты.

На вкладке Координаты расположены элементы для ввода параметров и информирующие элементы. Надпись «Круг:» информирует пользователя о том какой номер круга представлен для заполнения его параметров. Надпись «Всего кругов» информирует пользователя о том, сколько всего кругов доступно для заполнения параметров. Поле для ввода расположения центра круга по оси Х имеет надпись «по Х:», поле для ввода расположения центра круга по Y имеет надпись «по Y:». В эти поля можно ввести любое число, не превышающее десяти символов. Поле для ввода радиуса имеет надпись «Радиус:». В это поле можно ввести неотрицательное значение больше нуля, не превышающее десяти символов. Поля «по Х:» и «по Y:» контролируются приложением и ввод неверных данных не возможен, если эти поля будут пусты, то приложение заполнит каждое из них нулем. Поле «Радиус:» так же контролируется приложением и ввод неверных данных невозможен. Если в поле для ввода радиуса будет нуль или оно будет пустым, то приложение сообщит об этом пользователю (Рисунок 6) и заполнит его значением по умолчанию равное один.

Рисунок 6. Неверный ввод радиуса.

После того как все параметры установлены можно закрыть окно Параметры, нажав на кнопку «Закрыть» расположенной в нижней части окна. Как только окно Параметры будет закрыто, программа произведет построение изображения на главной форме (Рисунок 7), если был установлен параметр «Найти общие точки после закрытия окна», то появиться соответствующее сообщение (Рисунок 8).

Рисунок 7. Главная форма и нарисованные круги.

Рисунок 8. Результат работы приложения по нахождению общей точки.

Если параметр «Задавать координаты автоматически» был установлен и сгенерированные координаты не удовлетворяют нуждам, нажмите на кнопку «Сгенерировать другие координаты», расположенной на панели управления (Рисунок 9).

Рисунок 9. Кнопка «Сгенерировать другие координаты».

Как только приложение закончит построение новых кругов, можно нажать на кнопку «Найти общие точки» (Рисунок 10), расположенной на панели управления, для нахождения общей точки для всех кругов.

Рисунок 10. Кнопка «Найти общие точки»

Для удобства и проверки достоверности приложения присутствует возможность перемещения изображения и изменения масштаба.

Для перемещения изображения можно воспользоваться двумя способами с помощью мыши или с помощью клавиатуры.

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

Для перемещения изображения с помощью клавиатуры вам необходимо воспользоваться курсорами. Курсоры это клавиши в правой части клавиатуры: 4,8,6,2. Но эти клавиши могут использоваться, как курсоры только тогда когда клавиша NumLock находиться в неактивном состоянии (индикатор не горит). Так же в качестве курсоров используются клавиши в нижней части клавиатуры с изображенными на них стрелками, эти стрелки указывают направление, в котором будет перемещено изображение.

Изменить масштаб можно тремя способами с помощью меню программы, с помощью клавиш на панели управления, с помощью мыши.

Для изменения масштаба с помощью меню программы вам необходимо нажать на кнопку Действие из меню программы и нажить на Увеличение или Уменьшение. Если нет возможности воспользоваться мышью, нажмите клавишу Alt на клавиатуре и с помощью курсоров перемесите выделение на кнопку Действие и нажмите курсор с направлением: Вниз. Нажимайте на курсор до тех пор, пока выделение не достигнет кнопки Увеличение или Уменьшение.

Для изменения масштаба с помощью клавиш на панели управления воспользуйтесь кнопками, на панели управления, где лупа с плюсом означает увеличение, а лупа с минусом уменьшение.

Для изменения масштаба с помощью мыши, воспользуйтесь центральным колесом мыши. Вращая колесо, разгибая палец, изображение уменьшиться, при сгибании пальца увеличиться (при правильном обхвате мыши).

Если во время работы с приложением возникнут вопросы, то в приложении есть справка, в которой есть ответы на большинство этих вопросов.

Приложение

void __fastcall TMainForm::N10Click(TObject *Sender)

{

bool points = true;

for (int i = 0; i < NumberOfCircle - 1; i++)

for (int j = i + 1; j < NumberOfCircle; j++)

if ((FormOptions->MyCircle[i].Radius + FormOptions->MyCircle[j].Radius)<

FormOptions->MyLength(FormOptions->MyCircle[i].X,

FormOptions->MyCircle[i].Y,

FormOptions->MyCircle[j].X,

FormOptions->MyCircle[j].Y))

{

points = false;

break;

}

if (points == false) MessageBoxA(0,"Общей точки нет","Определить",0|64);

else MessageBoxA(0,"Общая точка есть","Определить",0|64);

}

double TFormOptions::MyLength(double x1, double y1, double x2, double y2)

{

return sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1)));

}