Смекни!
smekni.com

Программная реализация разложения временного процесса в тригонометрический ряд (стр. 1 из 4)

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

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


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

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

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

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

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

                            (подпись)

Студент 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

ConstructorCreate(AIniFileName : string);

Destructor Destroy;

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

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

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

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

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

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

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

//property ww: integer read GetW write SetW;

private

end;

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

 

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

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

libraryMyServer;

{ Importantnote about DLL memory management: ShareMem must be the first unit in yourlibrary's USES clause AND your project's (select Project-View Source) USESclause if your DLL exports any procedures or functions that pass strings asparameters or function results. This applies to all strings passed to and fromyour DLL--even those that are nested in records and classes. ShareMem is theinterface unit to the BORLNDMM.DLL shared memory manager, which must bedeployed along with your DLL. To avoid using BORLNDMM.DLL, pass stringinformation using PChar or ShortString parameters. }

uses

 SysUtils,

 ComServ,

 UComRiad in'UComRiad.pas',

 UCom_Tlb in'UCom_Tlb.pas',

 Classes,

 MyServer_TLBin '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, служащую для отображения формы.

libraryPrompt;

{ Importantnote about DLL memory management: ShareMem must be the first unit in yourlibrary's USES clause AND your project's (select Project-View Source) USESclause if your DLL exports any procedures or functions that pass strings asparameters or function results. This applies to all strings passed to and fromyour DLL--even those that are nested in records and classes. ShareMem is theinterface unit to the BORLNDMM.DLL shared memory manager, which must bedeployed along with your DLL. To avoid using BORLNDMM.DLL, pass stringinformation using PChar or ShortString parameters. }

uses

 SysUtils,

 Classes,

 Windows,

 UnitPrompt in'UnitPrompt.pas' {FormPrompt};

{$R *.res}

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

procedureShowPrompt(AOwner:TComponent);

var

Time:extended;

Form:TFormPrompt;

begin

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

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

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

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

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

whileGetTickCount/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}

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

procedureShowAbout(AOwner:TComponent);

var

Form:TFormAbout;

begin

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

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

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

end;

exportsShowAbout;

begin

end.

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

 

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

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

Он содержит:

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

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

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

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

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

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

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

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