Белорусский национальный технический университет

Кафедра информационных систем и технологий


ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту (работе)

по дисциплине «Конструирование программ и языки программирования»

Тема: ”Программная реализация разложения временного процесса в тригонометрический ряд”

Исполнитель:_______________________

(подпись)

Студент 2 курса 417318 группы

Руководитель: _____________________ Гурский Н.Н.

(подпись)

Минск 2010


Содержание

Оглавление

Введение

1. Математическая формулировка задачи

2. Описание программы

2.1 Структурная схема программы

2.2 Описание разработанного класса

2.3 Описание реализации технологии COM

2.4 Описание динамических библиотек

2.5 Основные возможности программы

2.6 Средства использования сервисов, предоставляемых Microsoft Office

3. Руководство пользователя

4. Методика испытаний

Заключение

Литература

Приложение

Файл проекта VremRiad.dpr

Файл головного модуля UnitMain.pas

Файл вывода графика UnitGraphic.pas

Файл реализации класса - UnitRiad.pas

Файл описания динамической библиотеки About.dpr

Файл описания динамической библиотеки Prompt.dpr

Файл проекта COM-сервера – MyServer.dpr

Файл описания COM- класса – UComRiad.pas


Введение

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

Временной ряд — это упорядоченная (по времени) последовательность значений некоторой произвольной переменной величины. Каждое отдельное значение данной переменной называется отсчётом временного ряда. Тем самым, временной ряд существенным образом отличается от простой выборки данных.

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

Временные ряды состоят из двух элементов:

·          периода времени, за который или по состоянию на который приводятся числовые значения;

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

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


при заданных начальных данных

Результаты отображаются в виде таблицы и графиков, совмещенных в одной системе координат.

Для разработки программы была выбрана среда визуального проектирования Borland Delphi 7.0. Она позволяет за короткий промежуток времени и с наименьшими затратами физических и умственных сил создавать прикладные программы различной направленности, обеспечивая при этом наличие дружественного оконного интерфейса. Указанные (а также ряд других) преимущества среды Delphi 7.0. обуславливают широкое её использование при создании программного обеспечения разнообразного назначения.


1. Математическая формулировка задачи

Разложения временного процесса в тригонометрический ряд осуществляется при вычислении численных значений при использовании следующей функциональной зависимости:

Начальные данные:

Вычисления необходимо провести для трех значений :

  

Результаты получить в виде таблицы и графиков, совмещенных в одной системе координат.


2. Описание программы   2.1 Структурная схема программы

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

Рисунок-2.1. Структурная схема связей модулей программы

2.2 Описание разработанного класса

В результате анализа предметной области для её описания и моделирования был разработан класс TRiad, инкапсулирующий поля, методы и свойства, применимые к рассматриваемому объекту.

TRiad = class //класс

private

IniFile : TIniFile; //Объект Ini-файла

w: integer;

public

Constructor Create(AIniFileName : string);

Destructor Destroy;

procedure Graphic(AChart:TChart); //Постоение графика

procedure Table(AStringGrid:TStringGrid); //Вывод в таблицу

procedure WriteToIniFile; //Запись в Ini-файл

procedure ReadFromIniFile; //Чтение из Ini-файла

function GetW : integer; //Получить w

procedure SetW; //Установить w

function F(w:integer;t:extended):extended;//Вычисление суммы

//property ww : integer read GetW write SetW;

private

end;

Назначение полей и инкапсулированных в классе процедур и функций (методов) приведено в комментариях. Описание и реализация класса структурно оформлено в отдельном Unit – UnitRiad. Используемые секции public и private определяют области видимости элементов класса. Так, видно, что все поля класса являются полностью закрытыми, а доступ к ним организуется с помощью методов и свойств.

  2.3 Описание реализации технологии COM

В соответствии с требованиями на разработку данной курсовой работы была также реализована возможность экспорта методов созданного класса с помощью технологии COM. Для этого был создан сервер в виде DLL – программный модуль MyServer.

library MyServer;

{ Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL--even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM.DLL, pass string information using PChar or ShortString parameters. }

uses

 SysUtils,

 ComServ,

 UComRiad in 'UComRiad.pas',

 UCom_Tlb in 'UCom_Tlb.pas',

 Classes,

 MyServer_TLB in 'MyServer_TLB.pas';

exports

DllGetClassObject,

DllCanUnloadNow,

DllRegisterServer,

DllUnregisterServer;

{$R *.TLB}

{$R *.res}

begin

end.

Этот сервер позволяет создать COM-объект, описание класса которого находится в модуле UСomRiad. Следует заметить, что данный класс полностью соответствует, приведенному в п.2.2 классу TRiad и имеет и такое же название, т.е. он является его копией, за исключение конструктора Create, который заменен обычной процедурой. Непосредственный доступ к открытым элементам COM-класса осуществляется с помощью интерфейса IcomRiad, описанного в модуде UCom_Tlb.

  2.4 Описание динамических библиотек

При разработке приложения были реализованы 2 динамические библиотеки.

Динамическая библиотека Prompt.dll содержит заставку, появляющуюся после запуска программы, но до появления главного окна.

Библиотека содержит 1 экспортируемую процедуру ShowPrompt, служащую для отображения формы.

library Prompt;

{ Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL--even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM.DLL, pass string information using PChar or ShortString parameters. }

uses

 SysUtils,

 Classes,

 Windows,

 UnitPrompt in 'UnitPrompt.pas' {FormPrompt};

{$R *.res}

//Показать заставку

procedure ShowPrompt(AOwner:TComponent);

var

Time:extended;

Form:TFormPrompt;

begin

Form:=TFormPrompt.Create(AOwner); //Создать форму

Time:=GetTickCount/1000; //Запомнить время

Form.Show; //Показать форму

Form.Repaint; //Перерисовать форму

//Пока не вышел лимит времени - ничего не делать

while GetTickCount/1000<Time+4 do;

Form.Close; //Закрыть форму

Form.Free; //Уничтожить форму

end;

exports ShowPrompt;

begin

end.

Библиотека About.dll содержит форму с информацией о программе.

library About;

uses

SysUtils,

Classes,

Forms,

UnitAbout in 'UnitAbout.pas' {FormAbout};

{$R *.res}

//Показать форму

procedure ShowAbout(AOwner:TComponent);

var

Form:TFormAbout;

begin

Form:=TFormAbout.Create(AOwner); //Создать форму

Form.ShowModal; //Показать форму

Form.Free; //Уничтожить форму

end;

exports ShowAbout;

begin

end.

Библиотека содержит экспортируемую функцию ShowAbout для отображения формы.

  2.5 Основные возможности программы

Программа начинается с отображения оригинальной заставки (содержится в Prompt.dll), а затем на экране появляется главное окно программы (модуль UnitMain). Главный модуль управляет работой всех других модулей в соответствии с запросами пользователя.

Он содержит:

·          Вызов окна «О программе»;

·          Вызов презентации;

·          Передачу данных в Word и Excel;

·          Вызов формы «График»;

·          Вызов окна помощи;

·          Сохранение данных в Ini-файлах;

·          Использование возможностей разработанного COM-сервера;

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

Окно «О программе» содержит краткую информацию о приложении.

Окно «График» служит для отображения информации в графической форме – в виде графиков.

В рамках данного проекта также реализуется поддержка клиент-серверной технологии обмена данными между приложениями.

Процесс логического взаимодействия пользователя c программой, назначение элементов главного окна описаны в «Руководстве пользователя».

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

2.6 Средства использования сервисов, предоставляемых Microsoft Office

Кроме процедур и функций, описанных в классах, программа обеспечивает взаимодействие с серверами автоматизации приложений Microsoft Office. Так, следующие процедуры головного модуля программы позволяют автоматически производить запуск MS Word, MS Excel, Power Point и передавать им текстовую, табличную и графическую информацию с целью создания отчетов или использование ее для дальнейшей обработки.

1. Procedure TFormMain.ReportExcel(AStringGrid : TStringGrid). Данная процедура обеспечивает передачу данных в Excel. Для формирования таблицы необходимо передать ссылку на компонент типа TStringGrid, на основе данных которого будут заполнены ячейки в Excel. Рисунок, помещаемый в отчет, совпадает с текущим видом графика.


Информация о работе «Программная реализация разложения временного процесса в тригонометрический ряд»
Раздел: Информатика, программирование
Количество знаков с пробелами: 39869
Количество таблиц: 0
Количество изображений: 12

Похожие работы

Скачать
124889
11
2

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

Скачать
232852
0
0

... с приглашением по запросу (в машинной графике)required parameter обязательный параметрrequired space обязательный пробел (в системах подготовки текстов)requirements specification 1. техническое задание 2. описание требований к программному средствуrerun перезапуск, повторный запускreschedule переупорядочивать очередь (о диспетчере операционной системы)reschedule interval период переупорядочения ...

Скачать
97197
9
2

... одна из ее сторон – урок. В работе доказано, что самоанализ урока является основой эффективного управления процессом обучения. Дальнейшей же перспективой исследования является рассмотрение самоанализа всей деятельности учителя как основы управления процессом обучения математике. Изложенное выше позволяет считать, что самоанализ урока математики позволяет управлять процессом обучения школьников и ...

Скачать
185895
9
45

... .3 +810.3 Срок окупаемости Лет -- 0.242 --   Вывод Из данного расчета и проведенного анализа технико-экономических показателей делаем вывод о целесообразности внедрения «Автоматизированной системы управления компрессорной установкой». Так как в результате годовая экономия затрат от автоматизации системы составляет 3347839.05 рублей. Это достигается за счет экономии в зарплате 785925.5 ...

0 комментариев


Наверх