Разработка моделей повышения производительности компьютерных сетей на основе стохастических методов

Анализ методов и программных средств повышения производительности коммуникационных сетей. Имитационное моделирование производительности компьютерных сетевых систем. Комплекс визуального объектно–ориентированного программирования C++Builder v5.0.

Рубрика Программирование, компьютеры и кибернетика
Вид диссертация
Язык русский
Дата добавления 24.05.2018
Размер файла 868,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

VCL для прикладных программистов. Программист создает законченное приложение посредством интерактивного взаимодействия с интегрированной визуальной средой C++Builder, используя компоненты VCL для создания интерфейса программы с пользователем и с другими управляющими элементами: обслуживания баз данных, контролируемого ввода параметров и т.д. Характерная для C++Builder методика визуального стиля разработки программного обеспечения не применяется множеством других систем программирования.

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

VCL для системных программистов. Системные программисты развивают существующую Библиотеку -- либо добавляя в нее новые элементы, либо расширяя функциональность уже имеющихся компонент. Разработчики компонент должны иметь более глубокие знания о внутреннем устройстве VCL, нежели прикладные программисты. Нужно четко представлять себе, какой прием быстрее приведет к поставленной цели: развитие имеющейся или написание новой компоненты. Написание компонент представляет собой более традиционную задачу программирования и сопряжено с большими условностями, нежели визуальное создание приложений.

Варианты C++Builder Professional и C++Builder Client/Server Suite поставляются вместе с исходными текстами VCL. Наличие исходных текстов облегчает задачу программистов, которые занимаются разработкой новых компонент и расширением функциональных возможностей уже имеющихся компонент Библиотеки.

Для создания новых компонент можно с одинаковым успехом пользоваться средствами C++Builder или Delphi, однако если разработанные компоненты предлагаются для внешнего применения, автор обязан удостовериться, что они работают в рамках обеих систем.

Компоненты VCL. Компоненты -- это строительные кирпичи, из которых конструируется интерфейс программы с пользователем, с помощью которых "здание" программы приобретает новый внешний облик и скрытые особенности. Для прикладного программиста любая компонента VCL представляет собой объект, который можно "перетащить" из вкладок Палитры компонент (Рис. 6.1) на форму создаваемого приложения. Поместив компоненту на форму, можно манипулировать ее свойствами (посредством Редактора форм) и кодом (с помощью Редактора кода), придавая компоненте специфическое поведение.

Рис. 1. Палитра компонент.

3.3 Основные показатели повышения производительности компьютерных сетей и алгоритмы их реализации

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

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

Из наиболее важных количественных показателей, характеризующих производительность компьютерных сетей, можно выделить в первую очередь:

· Время между последовательным прибытием запросов клиентов, требующих обслуживание. Эти интервалы часто принимаются, что они подчиняются некоторому стохастическому распределению.

· Характеристика потока клиентов. Мы имеем дело с бесконечным или с конечным потоком клиентов?

· Число одновременно прибывающих клиентов. Клиенты прибывают один за другим или имеют взрывной характер?

· Количество обслуживания запросов клиента. Это вообще также описывается некоторой стохастической переменной.

· Количество обслуживающих устройств (звеньев, серверов и.т.д.), которое является доступным. Мы имеем дело с единственным обслуживающим устройством или с мультиустройством?

· Путь, по которым поступают клиенты, чтобы получить их требуемое обслуживание. Обычно используемые принципы планирования:

- FCFS: First Come, First Served: (Первый прибывший обслуживается первым)

- PS: Processor Sharing: (Разделяющийся Процессор)

- LCFS (PR): Last Come, First Served or without Preemption: (Последний прибывший обслуживается первым или без высвобождения)

- IS: Infinite Servers: Бесконечные серверы;

- PRIO:Priorititized scheduling: (Расположенное по приоритетам планирование).

- объем буфера ожидания, который является доступным для клиентов, которые непосредственно не могут обслуживаться в данный момент.

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

· Цепи Маркова с дискретным временем

· Цепи Маркова с непрерывным временем

· Процесс “рождения и смерти”

· M|M|1: Постоянные нормы интенсивности

· M|M|l|m: Системы с потерями

· M|M|m: Мультисерверные модели

· M|M|: Модели с бесконечным числом серверов

· М|М|1|K: Конечное число пачек

· Модели с циклическим сервером

· Циклический сервер модели token ring

· Общие стохастические модели M|G|1.

· M|G|1 модели с прибытием партии пачек

· M|G|1 модели с приоритетами

Когда изучаемые системы очень сложны, они не могут быть смоделированы единственными отдельными FCFS станциями обслуживания.

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

3.4 Описание программного комплекса

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

· 6 расчетных модулей;

· 2 демонстрационных модуля;

· Файлы в формате html, представляющие собой соответствующие разделы данной магистерской диссертации;

Расчетные модули

Цепи Маркова с дискретным временем (DTMC). Экранная форма, отвечающая за расчеты параметров цепей Маркова с дискретным временем содержит:

· поля ввода соответствующих данных;

· кнопку начала расчетов по введенным пользователем параметрам;

· кнопку возврата в главное меню;

· кнопку выхода из программы;

· поля вывода рассчитанных предварительных значений;

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

· анимированные графические объекты, конкретизирующие, к какому классу относятся данные расчеты.

·

Рис. 2. Цепи Маркова с дискретным временем (DTMC)

M|M|1 - Постоянные нормы интенсивности. Экранная форма, отвечающая за расчеты вероятности одновременного нахождения в обслуживании определенного количества пачек, содержит:

· поля ввода соответствующих данных;

· кнопку начала расчетов по введенным пользователем параметрам;

· кнопку возврата в главное меню;

· кнопку выхода из программы;

· поля вывода рассчитанных предварительных значений;

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

· анимированные графические объекты, конкретизирующие, к какому классу относятся данные расчеты.

Рис. 3. M|M|1 - Постоянные нормы интенсивности

M|M|m - Мультисерверные модели. Экранная форма, отвечающая за расчеты параметров цепей Маркова модели M|M|m|m с m серверов, содержит:

· поля ввода соответствующих данных;

· кнопку начала расчетов по введенным пользователем параметрам;

· кнопку возврата в главное меню;

· кнопку выхода из программы;

· поля вывода рассчитанных предварительных значений;

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

· анимированные графические объекты, конкретизирующие, к какому классу относятся данные расчеты;

· бегущую строку, содержащую инструкции пользователю при использовании данного расчетного модуля;

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

Рис. 4. M|M|m|m - Мультисерверные модели

M|G|1 -Модели с прибытием пачек. Экранная форма, отвечающая за расчеты среднего времени ожидания пачек до их обслуживания содержит:

· поля ввода соответствующих данных;

· кнопку начала расчетов по введенным пользователем параметрам;

· кнопку возврата в главное меню;

· кнопку выхода из программы;

· поля вывода рассчитанных предварительных значений;

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

· анимированные графические объекты, конкретизирующие, к какому классу относятся данные расчеты;

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

Рис. 5. M|G|1 -Модели с прибытием партии пачек

M|G|1 -Модели с приоритетами. Экранная форма, отвечающая за расчеты среднего времени ожидания пачек до их обслуживания в зависимости от имеющегося системного приоритета содержит:

· поля ввода соответствующих данных;

· кнопку начала расчетов по введенным пользователем параметрам;

· кнопку возврата в главное меню;

· кнопку выхода из программы;

· поля вывода рассчитанных предварительных значений;

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

· анимированные графические объекты, конкретизирующие, к какому классу относятся данные расчеты;

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

Рис. 6. M|G|1 -Модели с приоритетами

3.5 Инструкции по применению программного комплекса

Инструкции пользователю

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

Необходимо отметить, что в данной программе отсутствуют кнопки, привычные пониманию обычного пользователя. Они заменены аналогами Web-стиля, то есть каждая надпись является ссылкой на документ, если при наведении курсора в ее область он видоизменяется и принимает вид указателя Web - руки с отогнутым указательным пальцем.

В поля ввода данных необходимо вводить ТОЛЬКО числовые значения, иначе будет сгенерирована ошибка и вычисления не будут произведены. Ввод чисел с плавающей запятой производится с учетом особенностей вычислительной системы компьютера пользователя - через точку или запятую.

Инструкции программисту

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

Программный комплекс состоит из следующих модулей и разделов:

· DTMCpr.cpp - модуль проекта;

· DTMC.cpp - модуль расчетной части «Цепи Маркова с дискретным временем»;

· M_G_1.cpp - модуль расчетной части «M|G|1 - модели с прибытием пачек»;

· M_G_1_Prior.cpp - модуль расчетной части «M|G|1 - модели с приоритетами»;

· M_M_1_Const.cpp - модуль расчетной части «M|M|1 - постоянные нормы интенсивности»;

· M_M_m.cpp - модуль расчетной части «M|M|m - Мультисерверные модели»;

· Menu.cpp - модуль главного меню;

· TSTULan.cpp - модуль вывода корпоративной сети передачи данных;

· Start.exe - заставка программного комплекса;

· Menu.exe - файл запуска программного модуля;

· Директория «Html» - набор всех документов, предоставляемых в данной диссертации;

· Директория «Photos» - набор всех статических графических объектов, используемых в данном программном комплексе.

3.6 Рекомендации по использованию программного комплекса повышения производительности компьютерных сетей

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

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

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

· Интенсивность поступления заявок (запросов);

· Производительность (интенсивность обработки) серверного оборудования;

· Количество серверного оборудования;

· Объем буферного пространства серверов;

· Пропускная способность коммуникационной среды;

· Приоритеты поступающих заявок и т.д.

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

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

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

Более того, в процессе работы пользователь может получить доступ к любому разделу данной диссертационной работы, поскольку все пункты работы конвертированы в формат Web - страниц - html.

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

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

Эта глава полностью посвящена описанию программного комплекса, инструкции по применению программного комплекса.

А также даны рекомендации по использованию программного комплекса повышающего производительность компьютерных сетей.

ЗАКЛЮЧЕНИЕ

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

2. Изучены и разработаны стохастические методы моделирования производительности компьютерных сетей, основанные на Марковских моделях типов M|M|1 и M|G|1.

3. Для более широкого обзора рассматриваемого вопроса были также рассмотрены проблемы имитационного моделирования производительности компьютерных сетей.

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

5. Выделены основные показатели повышения производительности компьютерных сетей, такие как:

· Интенсивность поступления заявок на обработку;

· Интенсивность работы серверов (циклических, параллельных и т.д.);

· Размер буферного пространства серверного оборудования;

· Среднее время ожидания заявки в буфере;

· Среднее время обработки заявки…

и алгоритмы реализации;

6. Составлено описание всех составляющих модулей программного комплекса и выработаны подробные инструкции пользователям и программистам для облегчения их работы с разработанным программным обеспечением;

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Указ Президента Республики Узбекистан "О дальнейшем развитии компьютеризации и внедрении информационно-коммуникационных технологий"30.05. 2002 г. №УП-3080 //"Собрание законодательства Республики Узбекистан ", 2002 г., N 10, ст.77

2. Джордж Ф. Люггер «Искусственный интеллект: стратегии и методы решения сложных проблем», Издательский дом «Вильямс», 2005г.

3. Сетевое программирование для профессионалов-Кравчик.Э,Кумар.В , Лагари.Н,Мунгале.А,Паркер.Т

4. Microsoft.NET Remoting- Маклейн.С, Вильямс.К, Нафтел.Д

5. K. Kant, Introduction to Computer System Performance Evaluation, McGraw-Hill, 2008.

6. L. Kleinrock, Queuing Systems; Vol. 1 and 2, John Wiley and Sons,2005.

7. Н.А. Олифер, В.Г. Олифер, Средства анализа и оптимизации локальных сетей, © Центр Информационных Технологий, 1998.

8. Р. Сардарян, Macromedia Flash, Москва, 2001.

9. В. Олифер, Н. Олифер., Высокоскоростные технологии ЛВС, © Центр Информационных Технологий, 1999.

10. В. Олифер, Н. Олифер., Транспортная подсистема неоднородных сетей, © Центр Информационных Технологий, 2001.

11. М. Федотов, Системы сетевого/системного управления: принципы создания, Москва, 2003.

12. А. Архангельский, Программирование в C++Builder 5.0, Москва, 2001.

13. J. Kiting, Flash MX, New York, 2003.

14. Болтаев Р.Д. “Администрирование брандмауэра” Актуальные вопросы в области технических и социально-экономических наук. Республиканский межвузовский сборник. Ташкент 2010г.

15. Бабамухамедова М.З., Болтаев Р.Д.-“Операцион тизимлар ва офис иловалари” фанини ў?итишда мультимедиа воситаларидан фойдаланиш. Ало?а ва ахборотлаштириш сохаси учун кадрлар тайёрлаш сифатини ошириш муаммолари. Тошкент 2012й.

16. Бабамухамедова М.З., Болтаев Р.Д.-“Анализ производительности компьютерных сетей”. Проблемы информационных технологий и телекоммуникаций. Сборник докладов. Ташкент 2012г.

ПРИЛОЖЕНИЕ

DTMC.cpp

//---------------------------------------------------------

#include <vcl.h>

#include <math.h>

#include <stdlib.h>

#pragma hdrstop

#include "ShellAPI.h"

#include "DTMC.h"

#include "M_M_m.h"

#include "M_G_1.h"

#include "Menu.h"

//---------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TDTMC_Form *DTMC_Form;

//---------------------------------------------------------

__fastcall TDTMC_Form::TDTMC_Form(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------

double m11,m12,m13,m21,m22,m23,m31,m32,m33,

p01,p02,p03,p1,p2,p3,d,v1,v2,v3,ost;

void __fastcall TDTMC_Form::FormCreate(TObject *Sender)

{

DTMC_Form->StringGrid1->Cells[1][0] = " 0";

DTMC_Form->StringGrid1->Cells[2][0] = " 1";

DTMC_Form->StringGrid1->Cells[3][0] = " 2";

DTMC_Form->StringGrid1->Cells[4][0] = " Сумма";

DTMC_Form->StringGrid1->Cells[0][1] = " p(1)";

DTMC_Form->StringGrid1->Cells[0][2] = " p(2)";

DTMC_Form->StringGrid1->Cells[0][3] = " p(3)";

DTMC_Form->StringGrid1->Cells[0][4] = " p(4)";

DTMC_Form->StringGrid1->Cells[0][5] = " p(5)";

DTMC_Form->StringGrid1->Cells[0][6] = " p(6)";

DTMC_Form->StringGrid1->Cells[0][7] = " p(7)";

DTMC_Form->StringGrid1->Cells[0][8] = " p(8)";

DTMC_Form->StringGrid1->Cells[0][9] = " p(9)";

DTMC_Form->StringGrid1->Cells[0][10] = " p(10)";

DTMC_Form->StringGrid1->Cells[0][11] = " p(11)";

}

//---------------------------------------------------------

void __fastcall TDTMC_Form::Label8Click(TObject *Sender)

{

m11 = StrToFloat(DTMC_Form->Edit5->Text);

m12 = StrToFloat(DTMC_Form->Edit1->Text);

m13 = StrToFloat(DTMC_Form->Edit3->Text);

m21 = StrToFloat(DTMC_Form->Edit2->Text);

m22 = StrToFloat(DTMC_Form->Edit6->Text);

m23 = StrToFloat(DTMC_Form->Edit8->Text);

m31 = StrToFloat(DTMC_Form->Edit4->Text);

m32 = 0;

m33 = StrToFloat(DTMC_Form->Edit7->Text);

p01 = StrToFloat(DTMC_Form->Edit9->Text);

p02 = StrToFloat(DTMC_Form->Edit10->Text);

p03 = StrToFloat(DTMC_Form->Edit11->Text);

for (int i=1; i<12; i++) {

if (floor(p1+p2+p3)!=1)ShowMessage(AnsiString("Неверный набор параметров!"));

DTMC_Form->StringGrid1->Cells[1][i] = p1;

DTMC_Form->StringGrid1->Cells[2][i] = p2;

DTMC_Form->StringGrid1->Cells[3][i] = p3;

DTMC_Form->StringGrid1->Cells[4][i] = p1+p2+p3;

p01 = p1; p02 = p2; p03 = p3;

}

v2 = ceil(p2*100)/100;

v3 = 1-v1-v2;

DTMC_Form->Edit12->Text = v1;

DTMC_Form->Edit13->Text = v2;

DTMC_Form->Edit14->Text = v3;

}

//---------------------------------------------------------

void __fastcall TDTMC_Form::Label9Click(TObject *Sender)

{

DTMC_Form->Close();

Main_menu->Show();

}

//---------------------------------------------------------

void __fastcall TDTMC_Form::Label10Click(TObject *Sender)

{

Main_menu->Close();

}

//---------------------------------------------------------

void __fastcall TDTMC_Form::FormActivate(TObject *Sender)

{

DTMC_Form->Animate1->FileName = "AVI\\DTMC-1.avi";

DTMC_Form->Animate2->FileName = "AVI\\DTMC-2.avi";

DTMC_Form->Animate1->Active = true;

DTMC_Form->Animate2->Active = true;

}

//---------------------------------------------------------

DTMC.h

//---------------------------------------------------------------------------

#ifndef DTMCH

#define DTMCH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <Grids.hpp>

#include <Chart.hpp>

#include <Series.hpp>

#include <TeEngine.hpp>

#include <TeeProcs.hpp>

#include <Buttons.hpp>

#include <ComCtrls.hpp>

//---------------------------------------------------------------------------

class TDTMC_Form : public TForm

{

__published:// IDE-managed Components

TImage *Image1;

TEdit *Edit1;

TEdit *Edit2;

TEdit *Edit3;

TEdit *Edit4;

TEdit *Edit5;

TEdit *Edit6;

TLabel *Label1;

TLabel *Label2;

TLabel *Label3;

TEdit *Edit9;

TEdit *Edit10;

TEdit *Edit11;

TLabel *Label4;

TStringGrid *StringGrid1;

TLabel *Label5;

TLabel *Label6;

TLabel *Label7;

TEdit *Edit12;

TEdit *Edit13;

TEdit *Edit14;

TLabel *Label8;

TLabel *Label9;

TAnimate *Animate1;

TAnimate *Animate2;

void __fastcall FormCreate(TObject *Sender);

void __fastcall Label8Click(TObject *Sender);

void __fastcall Label9Click(TObject *Sender);

void __fastcall Label10Click(TObject *Sender);

void __fastcall FormActivate(TObject *Sender);

private:// User declarations

public:// User declarations

__fastcall TDTMC_Form(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TDTMC_Form *DTMC_Form;

//---------------------------------------------------------------------------

#endif

DTMCpr.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

USERES("DTMCpr.res");

USEFORM("DTMC.cpp", DTMC_Form);

USEFORM("M_M_m.cpp", M_M_m_Form);

USEFORM("M_G_1.cpp", M_G_1_Form);

USEFORM("M_M_1_Const.cpp", M_M_1_Const_Form);

USEFORM("TstuLan.cpp", TstuLan_Form);

USEFORM("M_G_1_Prior.cpp", M_G_1_Prior_Form);

USEFORM("Sound.cpp", Music_Form);

//---------------------------------------------------------------------------

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

try

{

Application->Initialize();

Application->Title = "Оптимизация сервера.";

Application->CreateForm(__classid(TMain_menu), &Main_menu);

Application->CreateForm(__classid(TDTMC_Form), &DTMC_Form);

Application->CreateForm(__classid(TM_M_m_Form), &M_M_m_Form);

Application->CreateForm(__classid(TM_G_1_Form), &M_G_1_Form);

Application->CreateForm(__classid(TM_M_1_Const_Form), &M_M_1_Const_Form);

Application->CreateForm(__classid(TTstuLan_Form), &TstuLan_Form);

Application->CreateForm(__classid(TM_G_1_Prior_Form), &M_G_1_Prior_Form);

Application->CreateForm(__classid(TMusic_Form), &Music_Form);

Application->Run();

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

return 0;

}

//---------------------------------------------------------------------------

M_G_1.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "M_G_1.h"

#include "DTMC.h"

#include "math.h"

#include "Menu.h"

#include "M_M_m.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TM_G_1_Form *M_G_1_Form;

//---------------------------------------------------------------------------

double lm,ea,eh,es,p,v,t,w,ew1,ew2;

__fastcall TM_G_1_Form::TM_G_1_Form(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TM_G_1_Form::Label7Click(TObject *Sender)

{

M_G_1_Form->Series1->Clear();

lm = StrToFloat(Edit1->Text);

ea = StrToFloat(Edit2->Text);

v = StrToFloat(Edit3->Text);

t = StrToFloat(Edit4->Text);

w = 1-exp(-v/1000);

eh = 1/w;

Label8->Caption = eh;

Label5->Caption = ew1;

Label6->Caption = ew2;

M_G_1_Form->Series1->Add(ew1,"E[W]-1",clRed);

M_G_1_Form->Series1->Add(ew2,"E[W]-2",clRed);

}

//---------------------------------------------------------------------------

void __fastcall TM_G_1_Form::Label13Click(TObject *Sender)

{

M_G_1_Form->Close();

Main_menu->Show();

}

//---------------------------------------------------------------------------

void __fastcall TM_G_1_Form::Label14Click(TObject *Sender)

{

Main_menu->Close();

}

//---------------------------------------------------------------------------

void __fastcall TM_G_1_Form::FormActivate(TObject *Sender)

{

M_G_1_Form->Animate1->FileName = "AVI\\MG1-1.avi";

M_G_1_Form->Animate2->FileName = "AVI\\MG1-2.avi";

M_G_1_Form->Animate1->Active = true;

M_G_1_Form->Animate2->Active = true;

}

//---------------------------------------------------------------------------

M_G_1.h

//---------------------------------------------------------------------------

#ifndef M_G_1H

#define M_G_1H

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <Chart.hpp>

#include <ExtCtrls.hpp>

#include <TeEngine.hpp>

#include <TeeProcs.hpp>

#include <Buttons.hpp>

#include <Series.hpp>

#include <jpeg.hpp>

#include <ComCtrls.hpp>

//---------------------------------------------------------------------------

class TM_G_1_Form : public TForm

{

__published:// IDE-managed Components

TEdit *Edit1;

TLabel *Label1;

TLabel *Label2;

TEdit *Edit2;

TLabel *Label3;

TEdit *Edit3;

TLabel *Label4;

TEdit *Edit4;

TLabel *Label5;

TLabel *Label6;

TChart *Chart1;

TLabel *Label8;

TLabel *Label10;

TBarSeries *Series1;

TLabel *Label9;

TLabel *Label11;

TLabel *Label12;

TImage *Image1;

TImage *Image2;

TLabel *Label7;

TLabel *Label13;

TLabel *Label14;

TAnimate *Animate1;

TAnimate *Animate2;

void __fastcall Label7Click(TObject *Sender);

void __fastcall Label13Click(TObject *Sender);

void __fastcall Label14Click(TObject *Sender);

void __fastcall FormActivate(TObject *Sender);

void __fastcall FormCreate(TObject *Sender);

private:// User declarations

public:// User declarations

__fastcall TM_G_1_Form(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TM_G_1_Form *M_G_1_Form;

//---------------------------------------------------------------------------

#endif

M_G_1_Prior.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "M_G_1_Prior.h"

#include "Menu.h"

#include "Math.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TM_G_1_Prior_Form *M_G_1_Prior_Form;

//---------------------------------------------------------------------------

double ET0,lmbd1,lmbd2,ES1,ES2,sig1,sig2,

lmbd,ro1,ro2,ro0,ES0,W,l1,l2;

__fastcall TM_G_1_Prior_Form::TM_G_1_Prior_Form(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TM_G_1_Prior_Form::Label8Click(TObject *Sender)

{

Main_menu->Close();

}

//---------------------------------------------------------------------------

void __fastcall TM_G_1_Prior_Form::Label7Click(TObject *Sender)

{

M_G_1_Prior_Form->Close();

Main_menu->Show();

}

//---------------------------------------------------------------------------

void __fastcall TM_G_1_Prior_Form::FormActivate(TObject *Sender)

{

e0=e1=e2=0;

M_G_1_Prior_Form->Animate1->FileName = "AVI\\MG1-1.avi";

M_G_1_Prior_Form->Animate2->FileName = "AVI\\MG1-2.avi";

M_G_1_Prior_Form->Animate1->Active = true;

M_G_1_Prior_Form->Animate2->Active = true;

}

//---------------------------------------------------------------------------

void __fastcall TM_G_1_Prior_Form::FormCreate(TObject *Sender)

{

M_G_1_Prior_Form->StringGrid1->Cells[0][0] = " p";

M_G_1_Prior_Form->StringGrid1->Cells[0][1] = " 0.1";

M_G_1_Prior_Form->StringGrid1->Cells[0][2] = " 0.2";

M_G_1_Prior_Form->StringGrid1->Cells[0][3] = " 0.3";

M_G_1_Prior_Form->StringGrid1->Cells[0][4] = " 0.4";

M_G_1_Prior_Form->StringGrid1->Cells[0][5] = " 0.5";

M_G_1_Prior_Form->StringGrid1->Cells[0][6] = " 0.6";

M_G_1_Prior_Form->StringGrid1->Cells[0][7] = " 0.7";

M_G_1_Prior_Form->StringGrid1->Cells[0][8] = " 0.8";

M_G_1_Prior_Form->StringGrid1->Cells[0][9] = " 0.9";

M_G_1_Prior_Form->StringGrid1->Cells[1][0] = " L";

M_G_1_Prior_Form->StringGrid1->Cells[2][0] = " Lc";

M_G_1_Prior_Form->StringGrid1->Cells[3][0] = " Ld";

M_G_1_Prior_Form->StringGrid1->Cells[4][0] = " E[W]";

M_G_1_Prior_Form->StringGrid1->Cells[5][0] = " E[Wc]";

M_G_1_Prior_Form->StringGrid1->Cells[6][0] = " E[Wd]";

}

//---------------------------------------------------------------------------

void __fastcall TM_G_1_Prior_Form::Label4Click(TObject *Sender)

{

Series1->Clear();

lmbd = StrToFloat(Edit2->Text);

lmbd1 = lmbd*StrToFloat(Edit8->Text); // control

l1 = StrToFloat(Edit6->Text);

lmbd2 = lmbd*StrToFloat(Edit7->Text); // data

l2 = StrToFloat(Edit5->Text);

EH1 = 1/W1;

EH2 = 1/W2;

ES0 = (l1+l2)/(StrToFloat(Edit1->Text));

ES1 = l1/StrToFloat(Edit1->Text);

ES2 = l2/StrToFloat(Edit1->Text);

for (int i = 1; i<10; i++) {

ro0 = i/10;

EW0 = lmbd*ES0*ES0/(2*(1-ro0)*W) + (1-W)*ES0/((1-ro0)*W);

EW0 = ceil(EW0*10000)/10000;

StringGrid1->Cells[1][i] = " "+ FloatToStr(lmbd);

StringGrid1->Cells[2][i] = " "+ FloatToStr(lmbd1);

StringGrid1->Cells[3][i] = " "+ FloatToStr(lmbd2);

StringGrid1->Cells[4][i] = " "+ FloatToStr(EW0);

if (EW1<0) EW1 = -EW1;

EW2 = ET0/((1-sig1)*(1-sig2));

if (EW2<0) EW2 = -EW2;

StringGrid1->Cells[5][i] = " "+ FloatToStr(EW2);

StringGrid1->Cells[6][i] = " "+ FloatToStr(EW1);

}

Series1->Add(e0/9,"E[W]",clRed);

Series1->Add(e2/9,"E[Wc]",clRed);

Series1->Add(e1/9,"E[Wd]",clRed);

}

//---------------------------------------------------------------------------

M_G_1_Prior.h

//---------------------------------------------------------------------------

#ifndef M_G_1_PriorH

#define M_G_1_PriorH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <Grids.hpp>

#include <ComCtrls.hpp>

#include <Chart.hpp>

#include <ExtCtrls.hpp>

#include <TeEngine.hpp>

#include <TeeProcs.hpp>

#include <Series.hpp>

//---------------------------------------------------------------------------

class TM_G_1_Prior_Form : public TForm

{

__published:// IDE-managed Components

TLabel *Label1;

TEdit *Edit1;

TLabel *Label2;

TEdit *Edit2;

TLabel *Label3;

TEdit *Edit3;

TLabel *Label5;

TEdit *Edit5;

TLabel *Label6;

TEdit *Edit6;

TStringGrid *StringGrid1;

TLabel *Label7;

TLabel *Label8;

TLabel *Label9;

TEdit *Edit7;

TLabel *Label10;

TEdit *Edit8;

TLabel *Label11;

TAnimate *Animate1;

TAnimate *Animate2;

TLabel *Label4;

TChart *Chart1;

TBarSeries *Series1;

void __fastcall Label8Click(TObject *Sender);

void __fastcall Label7Click(TObject *Sender);

void __fastcall FormCreate(TObject *Sender);

void __fastcall Label4Click(TObject *Sender);

private:// User declarations

public:// User declarations

__fastcall TM_G_1_Prior_Form(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TM_G_1_Prior_Form *M_G_1_Prior_Form;

//---------------------------------------------------------------------------

#endif

M_M_1_Const.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "M_M_1_Const.h"

#include "Menu.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TM_M_1_Const_Form *M_M_1_Const_Form;

//---------------------------------------------------------------------------

__fastcall TM_M_1_Const_Form::TM_M_1_Const_Form(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

double cro,ck,cmu,cbk = 0;

void __fastcall TM_M_1_Const_Form::Label1Click(TObject *Sender)

{

M_M_1_Const_Form->Close();

Main_menu->Show();

}

//---------------------------------------------------------------------------

void __fastcall TM_M_1_Const_Form::Label2Click(TObject *Sender)

{

Main_menu->Close();

}

//---------------------------------------------------------------------------

void __fastcall TM_M_1_Const_Form::FormActivate(TObject *Sender)

{

M_M_1_Const_Form->Animate1->FileName = "AVI\\MM1-1.avi";

M_M_1_Const_Form->Animate2->FileName = "AVI\\MM1-2.avi";

M_M_1_Const_Form->Animate1->Active = true;

M_M_1_Const_Form->Animate2->Active = true;

}

//---------------------------------------------------------------------------

void __fastcall TM_M_1_Const_Form::Label14Click(TObject *Sender)

{

double r = 1;

cro = StrToFloat(Edit1->Text);

ck = StrToFloat(Edit2->Text);

cmu = StrToFloat(Edit3->Text);

Label6->Caption = "E[N] = " + FloatToStr(cro/(1-cro));

Label8->Caption = "E[R] = " + FloatToStr(1/(cmu*(1-cro)));

Label10->Caption = "= " + FloatToStr(cro/((1-cro)*(1-cro)));

for (int i=1; i<ck; i++)

{r*=cro;}

Label12->Caption = "B(k) = " + FloatToStr(r);

}

//---------------------------------------------------------------------------

void __fastcall TM_M_1_Const_Form::Timer1Timer(TObject *Sender)

{

Timer1->Enabled = false;

Image4->BringToFront();

Image1->BringToFront();

Timer2->Enabled = true;

}

//---------------------------------------------------------------------------

void __fastcall TM_M_1_Const_Form::Timer2Timer(TObject *Sender)

{

Timer2->Enabled = false;

Image2->BringToFront();

Image5->BringToFront();

Timer1->Enabled = true;

}

//---------------------------------------------------------------------------

M_M_1_Const.h

//---------------------------------------------------------------------------

#ifndef M_M_1_ConstH

#define M_M_1_ConstH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ExtCtrls.hpp>

#include <jpeg.hpp>

#include <ComCtrls.hpp>

//---------------------------------------------------------------------------

class TM_M_1_Const_Form : public TForm

{

__published:// IDE-managed Components

TLabel *Label1;

TLabel *Label2;

TEdit *Edit1;

TLabel *Label3;

TLabel *Label4;

TLabel *Label5;

TLabel *Label6;

TLabel *Label7;

TLabel *Label8;

TLabel *Label9;

TLabel *Label10;

TLabel *Label11;

TLabel *Label12;

TLabel *Label13;

TEdit *Edit2;

TLabel *Label14;

TImage *Image1;

TImage *Image2;

TAnimate *Animate1;

TAnimate *Animate2;

TEdit *Edit3;

TLabel *Label15;

TImage *Image3;

TImage *Image4;

TImage *Image5;

TTimer *Timer1;

TTimer *Timer2;

void __fastcall Label1Click(TObject *Sender);

void __fastcall Label2Click(TObject *Sender);

void __fastcall FormActivate(TObject *Sender);

void __fastcall Timer1Timer(TObject *Sender);

void __fastcall FormCreate(TObject *Sender);

private:// User declarations

public:// User declarations

__fastcall TM_M_1_Const_Form(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TM_M_1_Const_Form *M_M_1_Const_Form;

//---------------------------------------------------------------------------

#endif

M_M_m.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#include <math.h>

#pragma hdrstop

#include "M_M_m.h"

#include "DTMC.h"

#include "Menu.h"

#include "M_G_1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TM_M_m_Form *M_M_m_Form;

//---------------------------------------------------------------------------

double fact(int f) {

double z=1;

for (int k=1; k<(f+1); k++) {

z*=k; }

return z;

}

double sm,m,ro,ro0,roi;

void __fastcall TM_M_m_Form::FormCreate(TObject *Sender)

{

for (int i=1; i<11; i++) {

M_M_m_Form->StringGrid1->Cells[i][0]=i;}

M_M_m_Form->StringGrid1->Cells[0][1]="p(0)";

M_M_m_Form->StringGrid1->Cells[0][2]="p(i)";

}

//---------------------------------------------------------------------------

void __fastcall TM_M_m_Form::FormShow(TObject *Sender)

{

Animate1->FileName = "AVI\\text.avi";

Animate1->Active = true;

}

//---------------------------------------------------------------------------

void __fastcall TM_M_m_Form::Label4Click(TObject *Sender)

{

M_M_m_Form->Series1->Clear();

sm=ro0=roi=0;

m = StrToFloat(M_M_m_Form->Edit1->Text);

ro = StrToFloat(M_M_m_Form->Edit2->Text);

for (int ij=1; ij<11; ij++){

M_M_m_Form->StringGrid1->Cells[ij][1]=ro0; }

for (int ii=0; ii<m; ii++) {

M_M_m_Form->StringGrid1->Cells[ii+1][2]=roi;

M_M_m_Form->Series1->Add(roi,IntToStr(ii+1),clRed);

}

for (int ik=m; ik<10; ik++) {

M_M_m_Form->StringGrid1->Cells[ik+1][2]=roi;

M_M_m_Form->Series1->Add(roi,IntToStr(ik+1),clRed);

}

}

//---------------------------------------------------------------------------

void __fastcall TM_M_m_Form::Label5Click(TObject *Sender)

{

M_M_m_Form->Close();

Main_menu->Show();

}

//---------------------------------------------------------------------------

void __fastcall TM_M_m_Form::Label6Click(TObject *Sender)

{

Main_menu->Close();

}

//---------------------------------------------------------------------------

void __fastcall TM_M_m_Form::FormActivate(TObject *Sender)

{

M_M_m_Form->Animate2->FileName = "AVI\\MMm-1.avi";

M_M_m_Form->Animate3->FileName = "AVI\\MMm-2.avi";

M_M_m_Form->Animate2->Active = true;

M_M_m_Form->Animate3->Active = true;

}

//---------------------------------------------------------------------------

M_M_m.h

//---------------------------------------------------------------------------

#ifndef M_M_mH

#define M_M_mH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <Forms.hpp>

#include <Chart.hpp>

#include <Grids.hpp>

#include <jpeg.hpp>

#include <TeEngine.hpp>

#include <TeeProcs.hpp>

#include <Series.hpp>

#include <TeeFunci.hpp>

#include <MPlayer.hpp>

#include <ComCtrls.hpp>

//---------------------------------------------------------------------------

class TM_M_m_Form : public TForm

{

__published:// IDE-managed Components

TLabel *Label1;

TEdit *Edit1;

TEdit *Edit2;

TImage *Image1;

TStringGrid *StringGrid1;

TLabel *Label2;

TLabel *Label3;

TChart *Chart1;

TImage *Image3;

TBarSeries *Series1;

TImage *Image2;

TAnimate *Animate1;

TLabel *Label5;

TLabel *Label6;

TAnimate *Animate2;

TAnimate *Animate3;

void __fastcall FormCreate(TObject *Sender);

void __fastcall FormShow(TObject *Sender);

void __fastcall Label4Click(TObject *Sender);

void __fastcall Label5Click(TObject *Sender);

void __fastcall Label6Click(TObject *Sender);

void __fastcall FormActivate(TObject *Sender);

private:// User declarations

public:// User declarations

__fastcall TM_M_m_Form(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TM_M_m_Form *M_M_m_Form;

//---------------------------------------------------------------------------

#endif

Menu.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Menu.h"

#include "DTMC.h"

#include "M_G_1.h"

#include "M_G_1_Prior.h"

#include "M_M_m.h"

#include "M_M_1_Const.h"

#include "TstuLan.h"

#include "Sound.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "SHDocVw_OCX"

#pragma resource "*.dfm"

TMain_menu *Main_menu;

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label2Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.1..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label3Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.2..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label4Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.3..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label6Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.3.2..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label7Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.3.3..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label9Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.4.1..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label10Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.4.2..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label12Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.5..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label13Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.5.1..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label20Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.7..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label22Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.8.1..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label23Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.8.2..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label24Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.9..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label25Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.1.10..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label27Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.2.0..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label28Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.2.1..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label29Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.2.2..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label31Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.2.4..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label32Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.2.5..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label33Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.2.6..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label35Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.2.6.2..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label37Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\3.2.1.1..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label38Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\3.2.1.2..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label39Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.2.6.4..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label40Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.2.6.5..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label42Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.2.6.6..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label43Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.2.6.7..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label44Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.2.6.8..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label45Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.3.0..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label47Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.3.2..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label48Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"html\\1.3.3..htm",NULL,NULL,SW_SHOWMAXIMIZED);

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label49Click(TObject *Sender)

{

Main_menu->Close();

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Timer1Timer(TObject *Sender)

{

Timer1->Enabled = false;

Image3->BringToFront();

Timer2->Enabled = true;

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::FormShow(TObject *Sender)

{

Timer1->Enabled = true;

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Timer2Timer(TObject *Sender)

{

Timer2->Enabled = false;

Image4->BringToFront();

Timer1->Enabled = true;

}

//---------------------------------------------------------------------------

void __fastcall TMain_menu::Label75Click(TObject *Sender)


Подобные документы

  • Оценка вариантов подключения Интернета для малой домашней PC сети и производительности приложения. Средства анализа и оптимизации локальных сетей. Влияние топологии связей и производительности коммуникационных устройств на пропускную способность сети.

    дипломная работа [6,9 M], добавлен 12.09.2012

  • Эффективность построения и использования корпоративных информационных систем. Описание программных систем имитационного моделирования сетей. Обозначения и интерфейс программы "Net-Emul". Использование маршрутизатора (роутера) как сетевого устройства.

    контрольная работа [1,9 M], добавлен 22.12.2011

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

    курсовая работа [2,5 M], добавлен 27.12.2011

  • Создание автоматизированной системы мониторинга состояния аппаратных средств компьютерных сетей на основе протокола SNMP в среде программирования С++Builder. Описание реляционной базы данных и ее визуальное представление. Разработка диаграммы классов.

    отчет по практике [2,2 M], добавлен 05.01.2016

  • Основные признаки классификации компьютерных сетей как нового вида связи и информационного сервиса. Особенности локальных и глобальных сетей. Объекты информационных сетевых технологий. Преимущества использования компьютерных сетей в организации.

    курсовая работа [1,9 M], добавлен 23.04.2013

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

    лабораторная работа [225,9 K], добавлен 23.12.2012

  • Классификация компьютерных сетей в технологическом аспекте. Устройство и принцип работы локальных и глобальных сетей. Сети с коммутацией каналов, сети операторов связи. Топологии компьютерных сетей: шина, звезда. Их основные преимущества и недостатки.

    реферат [134,0 K], добавлен 21.10.2013

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

    курсовая работа [319,9 K], добавлен 26.04.2016

  • Описание и расчет параметров систем с очередями для различных вариантов (один или несколько серверов - одна очередь, несколько серверов - несколько очередей). Проведение оценки производительности компьютерной сети на основе данных о ее загрузке.

    курсовая работа [9,2 M], добавлен 19.11.2013

  • Функции компьютерных сетей (хранение и обработка данных, доступ пользователей к данным и их передача). Основные показатели качества локальных сетей. Классификация компьютерных сетей, их главные компоненты. Топология сети, характеристика оборудования.

    презентация [287,4 K], добавлен 01.04.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.