Сделай Сам Свою Работу на 5

Используемые технические средства





Аннотация

Пояснительная записка к курсовой работе состоит из введения, 9 разделов, 11 рисунков, заключения.

Работа посвящена описанию процесса проектирования и разработки программы отображения графика функции y=a*loge(b*x+c) в среде разработки Microsoft Visual Studio 2010 на базе интерфейса Single Document. Пояснительная записка, файлы с текстом программы на исходном языке программирования, используемый алгоритм. Рабочая версия разработанного приложения представлена в электронном виде на диске.

Оглавление

Введение 4

1.Функциональное назначение 4

2. Технические характеристики 4

3. Описание логической структуры 4

3.1 Используемые методы 4

3.2 Алгоритм программы 11

4. Используемые технические средства 15

5. Вывоз и загрузка 15

6. Входные данные 15

7. Программа и методика испытаний 16

8. Программа и методика испытаний 16

9. Источники, использованные в разработке 21

Заключение 22

Приложения 23


 

Введение

Наименование курсовой работы «Разработка в операционной системе Windows на основе интерфейса Single Document программы отображения графика функции y=a*loge(b*x+c)».

Разработка программного продукта ведётся на основании задания для курсового проектирования по дисциплине «Системное программирование» студента 4 курса группы ПМИ-102 Камчатского Государственного университета им. Витуса Беринга.



Организация, утвердившая документ: Кафедра информатики КамГУ им. Витуса Беринга.

 

 

Функциональное назначение

Программное обеспечение предназначено для отображения графика функции y=a*loge(b*x+c).

Функциональные ограничения:

- Переменные A и B не должны быть равны нулю.

 

 

Технические характеристики

Программный продукт должен отображать график функции, построенный по трём переменным – A, B, C. Программа строится на основе мастера MFC Application Wizard с форматом окна Single Document.

В данной программе используется график функции y=a*loge(b*x+c), поэтому из диапазона входных данных исключаются значения A=0 и B=0.

 

Описание логической структуры

Используемые методы

В среде Visual C++ можно строить различные типы проектов. Такие проекты после их создания можно компилировать и запускать на исполнение. Фирма Microsoft разработала специальный инструментарий, облегчающий и ускоряющий создание проектов в среде Visual C++. Для разработки курсового проекта понадобится мастер MFC AppWizard (exe)– при помощи которого можно создать проект Windows-приложения которое имеет однодокументный, многодокументный или диалоговый интерфейс. Для данного проекта потребуется однодокументный интерфейс.



Программа состоит из модулей, представленных на рис.1-3.

Рис. 1-3. Программные модули проекта


 

 


При создании приложения на базе Single Document автоматически создаются 4 класса: CAboutDlg, CGraphicDoc, CGraphicView, CMainFrame.

- CGraphicApp – класс, производный от CWinApp;

- CMainFrame – класс, производный от CFrameView;

- CGraphicDoc – класс, производный от CDocument;

- CGraphicView – класс, производный от CView;

Класс CWinApp является базовым классом для создания объектов классов приложений Windows. Объект класса представления содержит функции, позволяющие инициализировать приложение пользователя (и каждый его экземпляр), а также запускать приложение на исполнение. Каждое приложение, использующее библиотеку MFC, может содержать только один объект класса CWinApp. Этот объект создается на этапе создания глобальных объектов и уже существует к моменту вызова функции WinMain, содержащейся в библиотеке MFC. Объявление объектов классов, производных от классаCWinApp,также должно быть глобальным. Функция InitInstance, принадлежащая данному классу, служит для создания объекта класса главного окна приложения. Кроме функций класса CWinApp библиотека MFC содержит следующие функции, позволяющие получить доступ к объектам класса CWinApp и к содержащейся в них информации.



Класс CmainFrame – класс рамки окна. Он содержит меню, панель инструментов, полосы прокрутки, а также многие другие видимые объекты, относящиеся к рамке окна. Данный класс определяет какая часть документа является видимой в каждый момент времени.

Класс CDocument обеспечивает основные функциональные возможности создаваемого пользователем класса документа. Документ представляет собой модуль данных, используемых пользователем в своем приложении, и обычно открывается командой File|Open (Файл|Открыть) и сохраняется командой File|Save (Файл|Сохранить). Класс CDocument содержит методы, обеспечивающие создание документа, его загрузку и сохранение. Приложение может поддерживать больше чем один тип документа. Например, оно может работать как с электронными таблицами, так и с текстовыми документами. Каждый тип документа должен быть включен в один из шаблонов документа. Шаблон документа определяет ресурсы (например, меню, значок или таблица акселератора) используемые данным типом документа. Каждый документ содержит указатель на связанный объект CDocTemplate. Пользователи взаимодействуют с документом через связанный с ним объект класса CView. Класс представления выполняет отображение документа в окне и преобразует вводимую пользователем информацию в соответствующие изменения в документе. Один класс документа может быть связан с несколькими классами представления. Когда пользователь открывает окно документа, приложение создает объект соответствующего класса представления и присоединяет его к документу. Шаблон документа определяет класс представления и класс окна, соответствующие данному типу документа. Классы документов включены в стандартную процедуру обработки сообщений в приложении и, следовательно, могут получать команды от стандартных компонентов интерфейса пользователя, например, от команды меню File|Save (Файл|Сохранить). Документ получает команды, посланные активным классом представления. Если документ не обрабатывает данную команду, то она передается шаблону документа для дальнейшей обработки. Когда в документ вносятся изменения, каждый из связанных с ним объектов класса представления должен отразить эти изменения. Класс CDocument имеет функцию-член класса UpdateAllViews, позволяющую приложению сообщить всем связанным с данным документом объектам класса представления о том, что в документ внесены изменения и данные объекты должны внести соответствующие изменения в выводимую ими информацию. Перед закрытием документа приложение запрашивает пользователя о необходимости сохранить внесенные в него изменения.

Класс CView отвечает за графическое представление документа пользователю. Данный класс передает введенную информацию классу CDocument, а также получает от него информацию для графического вывода. Большая часть создаваемого для этого класса дополнительного кода состоит из кода, позволяющего рисовать документ, показывая его пользователю, а также обрабатывать вводимую пользователем информацию.

Вкладка Class View включает следующие классы: CAboutDlg, CMainFrame, CGraphicApp, CGraphicDoc, CGraphicView, CDlg, CD, которые за исключением классов CAboutDlg и CDlg, являются производными от четырех основных классов, описанных выше. Класс CaboutDlg создает диалоговое окно About в меню Help нашего приложения. Класс CDlg создаёт диалоговое окно, предлагающее ввести переменные A, B, C.

Вкладка Solution Explorer содержит файлы, с расширением .CPP, .H и файлы ресурсов, которые создал AppWizard для созданного приложения.

Основным является модуль Graphic. Он содержит следующие модули:

1) CAboutDlg: содержит модули CAboutDlg и DoDataExchange.

2) CGraphicApp: получает все сообщения о событиях и затем направляет их классам CFrameView и CView.

3) CGraphicDoc: содержит структуры, позволяющие хранить вводимые в документ данные и манипулировать ими.

4) CGraphicView: отвечает за графическое представление документа пользователю; передаёт введённую информацию классу pDocument, а также получает информацию от него для графического вывода. Содержит несколько основных модулей:

a. CGraphicView() – конструктор класса. Используется для первичной инициализации данных;

b. ~CGraphicView() – деструктор класса. Используется для уничтожения ранее созданных объектов;

c. OnDraw(CDC* pDC) отвечает за вывод необходимых данных на экран;

d. OnStart() – отвечает за вывод на экран диалогового окна, предлагающего ввести данные;

e. Shagi() и Schet() – методы, производящие вычисления шагов и значений функции y=a*loge(b*x+c);

f. Draw() – осуществляет построение графика функции y=a*loge(b*x+c);

g. OnIncrmssht(), OnDecrmssht() – осуществляют изменение масштаба;

h. OnIncline(), OnDecline(), OnBlackLine(), OnGreyLine(), OnWhiteLine(), OnRedLine(), OnGreenLine(), OnBlueLine(), OnYellowLine(), OnCyanLine(), OnMagentaLine(), OnRandLine() – методы, изменяющие формат линии

i. OnNumbersonaxes() – вывод либо отключение подписей на осях

j. OnLButtonDown(), OnLButtonUp() – методы, осуществляющие смещение графика

5) CMainFrame: класс окна, образующий его рамку. Он содержит меню, панель инструментов, полосы прокрутки, а также многие другие видимые объекты, относящиеся к рамке окна. Данный класс определяет какая часть документа является видимой в каждый момент времени.

6) CDlg: вручную созданный класс, предназначенный для ввода пользователем входных данных.


 

Алгоритм программы

 

OnIncrmssht
OnDecrmssht
OnStart
Да
Да
Да
Конец
Нет
Нет
Нет
Начало
Schet
Draw
Увеличить масштаб
Уменьшить масштаб
Построить
Основной алгоритм

 

Конец
Начало
Инициализация диалогового окна
Да
Сохранение входных данных
IDOK
Нет
OnStart:

 


 

Конец
Вычисление координаты points[i].x относительно zero.x
Присваиваем points[0].y граничное значение
points[i].x=points[i-1].x+p_step
Вычисление координаты points[i].y относительно zero.y
d_x=d_x+step
Начало
Shagi
Инициализация первого значения d_x
i== 0; i<1000; i++
d_y=d_a*log(d_b*d_x+d_c)
Вычисление координаты points[i].y относительно начала координат окна
i==0
Да
Нет
Вывод points
Schet:

Начало
Вычисление пиксельного шага p_step
Вычисление шага step
Да
Нет
countOfStep=x_right/abs(step)
countOfStep
Конец
countOfStep=(x_right+d_c/abs(d_c) +d_b/abs(d_b)) /abs(step)
countOfStep=r.Width()/abs(step)
abs(d_c/d_b) <x_right
Нет
Да
d_c==0
Shagi:

 

 


Начало
Конец
ClearWin
DrawAxes
b>0
i==1; i<=countOfStep; i++
i== countOfStep-1; i>=0; i--
Вывод участка графика points[i-1],points[i]
Вывод участка графика points[i+1],points[i]
Да
Нет
Draw:
ClearWin:

Начало
Заливка окна
Конец

 


Начало
Конец
Рисование оси X
Рисование оси Y
DrawAxes:

 

Используемые технические средства

Программа будет корректно выполняться на компьютерах не ниже Intel Pentium 100, размер оперативной памяти не менее 10 Мб и жестким диском емкостью не менее 512Мб. Операционная система должна быть Windows ХР/Vista/7/8.

Вызов и загрузка

Программа вызывается запуском исполняемого файла, его размер 118 килобайт. Программа занимает примерно 2 мегабайта оперативной памяти.

 

Входные данные

Переменные a, b, c – переменные типа double, предназначенные для хранения значений соответствующих параметров, вводимых пользователем в диалоговом окне.

Переменная r - переменная для хранения текущих размеров окна.

Переменные H, W –переменные, хранения размеры окна и используемые для выявления изменения размеров окна.

Переменные red, green, blue – переменные типа int, используемые для настройки цвета пера.

Переменные bck_red, bck_green, bck_blue – переменные типа int, используемые для настройки цвета фона.

Переменная d – переменная типа int, определяющая толщину линии.

Переменная zero – переменная типа CPoint, хранящая координаты в окне центра координат для графика.

 

Выходные данные

Массив points – массив из 1000 элементов типа CPoint, используемый для хранения координат точек графика в окне.

Переменная dYF – переменная типа double, хранящая значение функции, найденное по значению переменной dXF.

Переменная FindPoint – переменная типа CPoint, хранящая координаты точки, полученной в результате процедуры поиска.

 

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.