Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Моделирование СМО на С++ 
:(
    Опции темы
DarkAlex20
Дата 14.1.2015, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 14.1.2015

Репутация: нет
Всего: нет



Задание
Вычислительная система (ВС) состоит из сервера, обрабатывающего программы.
Программы поступают случайным образом, распределенные по линейному закону:
Тzmin = 1/2 сек, Тzmax = 5/6 сек.
Время обработки одной программы сервером - случайная величина, распределенная по линейному закону:
Тsmin = 1 сек, Тsmax = 5 сек.
Если сервер занят, обрабатывает программу, то поступающая следующая программа отправляется в буфер. Число программ в буфере - случайная величина и ограничено (не более 4-х). Если поступила следующая программа, а в буфере содержится уже 4 три программы, то программа покидает ВС не обработанной.
Разработать программу, моделирующую работу ВС и найти ее характеристики за время работы 1 час. Характеристики ВС:
•    Р0 - вероятность того, что ВС не загружена,
•    Р1 — вероятность того, что сервер обрабатывает одну программу и буфер пуст,
•    Р2 - вероятность того, что в буфере находится 1 -на программа,
•    Р3 - вероятность того, что в буфере находится 2-ве программы,
•    Р4 - вероятность того, что в буфере находится 3-ри программы,
Р5 - вероятность того, что в буфере находится 3-ри программы,
•    Q - относительная пропускная способность ВС - средняя доля программ, обработанных ВС,
•    S - абсолютная пропускная способность - среднее число программ, обработанных в единицу времени,
•    Ротк - вероятность отказа, т.е. того, что программа будет не обработанной,
•    Nпрог - среднее число программ в ВС, 

•    Тпрог - среднее время нахождения программы в ВС,
•    Nбуф - среднее число программ в буфере,
•    Тбуф - среднее время нахождения программы в буфере.



Есть программный код помогите разобраться с буфером 




#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <math>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{

double Ce,Tzmin, Tzmax, Tsmin, Tsmax, Pk, P0, P1, P2, P3, P4, P5, Q, S,
Potk, buf, Nprog, Tprog, Nbuf, Tbuf;
double L, Tobr, M, Sum, cur, n, Dprog, Rprog, p, N, H1 ;
{
//Линейный закон
if (RadioButton1->Checked)
{
Tzmin = StrToFloat(Edit2->Text);
Tzmax = StrToFloat(Edit3->Text);
Tsmin = StrToFloat(Edit4->Text);
Tsmax = StrToFloat(Edit5->Text);
// Количество программ на выполнение
Sum=0;
N=0;
while (Sum<=3600)
{
// Интервал новой пргограммы
Dprog=((double)rand())/(double)RAND_MAX;
Dprog=Dprog*(Tzmax-Tzmin)+Tzmin;
cur=Dprog;
Sum=Sum+cur;
N++;
}
Pk=N;
if (Ce<1) // Занят ли сервер
{
Rprog=((double)rand())/(double)RAND_MAX;
Rprog=Rprog*(Tsmax-Tsmin)+Tsmin;
Ce=Rprog;
H1++;
}
// Если занят то заявка попадает в буфер



/ Расчет








// Вывод значений
Edit1->Text = FloatToStr( P0 );
Edit8->Text = FloatToStr( P1 );
Edit9->Text = FloatToStr( P2 );
Edit10->Text = FloatToStr( P3 );
Edit11->Text = FloatToStr( P4 );
Edit12->Text = FloatToStr( P5 );
Edit13->Text = FloatToStr( Potk );
Edit14->Text = FloatToStr( Q );
Edit15->Text = FloatToStr( S );
Edit16->Text = FloatToStr( Nprog);
Edit17->Text = FloatToStr( Tprog);
Edit18->Text = FloatToStr(Tbuf);
Edit19->Text = FloatToStr(Nbuf);
}


//Экспоненциальный закон
if (RadioButton2->Checked)
{
L = StrToFloat(Edit6->Text);
Tobr = StrToFloat(Edit7->Text);
n = 5;
M = 1/Tobr;
p = L/M;
P0 = (1-p)/(1-pow(p,(n+1)));
P1 = p*P0;
P2 = pow(p,2)*P0;
P3 = pow(p,3)*P0;
P4 = pow(p,4)*P0;
P5 = pow(p,5)*P0;
Potk = P5;
Q = 1-Potk;
S = L*Q;
Nprog =(p*(1-(n+1)*pow(p,n)+n*pow(p,n+1)))/((1-p)*(1-pow(p,n+1)));
Tprog = Nprog/(L*(1-P5));
Tbuf = (Tprog-1)/M;
Nbuf = L*(1-P5)*Tbuf;
// Вывод значений
Edit1->Text = FloatToStr( P0 );
Edit8->Text = FloatToStr( P1 );
Edit9->Text = FloatToStr( P2 );
Edit10->Text = FloatToStr( P3 );
Edit11->Text = FloatToStr( P4 );
Edit12->Text = FloatToStr( P5 );
Edit13->Text = FloatToStr( Potk );
Edit14->Text = FloatToStr( Q );
Edit15->Text = FloatToStr( S );
Edit16->Text = FloatToStr( Nprog);
Edit17->Text = FloatToStr( Tprog);
Edit18->Text = FloatToStr(Tbuf);
Edit19->Text = FloatToStr(Nbuf);
}
}
}

// закрытие формы
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------



// очистка результатов
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Edit1->Text = FloatToStr(false);
Edit8->Text = FloatToStr( false );
Edit9->Text = FloatToStr( false );
Edit10->Text = FloatToStr( false );
Edit11->Text = FloatToStr( false );
Edit12->Text = FloatToStr( false );
Edit13->Text = FloatToStr( false );
Edit14->Text = FloatToStr( false );
Edit15->Text = FloatToStr( false );
Edit16->Text = FloatToStr( false);
Edit17->Text = FloatToStr( false);
Edit18->Text = FloatToStr(false);
Edit19->Text = FloatToStr(false);
}


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

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  2.rar 343,94 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0962 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.