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

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Камчатский государственный университет имени Витуса Беринга»

2013 – 2014 учебный год

Кафедра информатики

КУРСОВАЯ РАБОТА

по дисциплине «Системное программирование»

Тема: «Разработка в операционной системе Windows на основе интерфейса Single Document программы отображения графика функции

« »

Выполнил: студент физико-

математического факультета

специальности «Прикладная

математика и информатика»

очной формы обучения

4 курс, группа ПМИ-102

Комаровский Юрий Станиславовоич

Научный руководитель:

Профессор кафедры информатики,

кандидат технических наук, доцент

Марапулец Юрий Валентинович

Работа защищена «___»_______2014 г с оценкой___________

Петропавловск-Камчатский

2014 г.

Аннотация

Пояснительная записка к курсовой работе состоит из введения, 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 Камчатского Государственного университета им. Витуса Беринга.

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

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

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

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

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

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

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

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

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

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

В среде 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, а также получает информацию от него для графического вывода. Содержит несколько основных модулей:

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

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

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

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

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

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

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]