Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Delphi и Lazarus


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Орловский Дмитрий
Статус: Профессор
Рейтинг: 2960
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2594
∙ повысить рейтинг »
Евгений/Genia007/
Статус: Профессионал
Рейтинг: 1140
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Delphi и Lazarus

Номер выпуска:1570
Дата выхода:11.12.2010, 17:00
Администратор рассылки:Калашников О.А. (Руководитель)
Подписчиков / экспертов:274 / 187
Вопросов / ответов:1 / 1

Вопрос № 181114: Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: Помогите пожалуйста правильно написать программу. (блок-схема прилагается) Ссылка для скачивания задания ...



Вопрос № 181114:

Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос:

Помогите пожалуйста правильно написать программу. (блок-схема прилагается)
Ссылка для скачивания задания
Блок-схема

тема:
Моделирование одноканальной СМО с буфером конечной емкости

Отправлен: 05.12.2010, 16:38
Вопрос задал: novij2011 (Посетитель)
Всего ответов: 1
Страница вопроса »


Отвечает cradlea (Практикант) :
Здравствуйте, novij2011!
Код:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Math;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Label5: TLabel;
Edit4: TEdit;
Label6: TLabel;
Edit5: TEdit;
Label7: TLabel;
Label8: TLabel;
Edit6: TEdit;
Label9: TLabel;
Edit7: TEdit;
Label10: TLabel;
Edit8: TEdit;
Label11: TLabel;
procedure Button1C lick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var K,p,n,m:integer;ro,Potk,Pbo,tz,bTz,tobsl,Tzvezda:real;
landa,Toc,T,Tk,Mi,R,Trazg:real;
begin
Landa:=Strtofloat(edit1.Text);//интенсивность автомобилей в час
Trazg:=Strtofloat(Edit2.Text)/60;//среднее время
Mi:=1/Trazg;
Tk:=24;//часов в сутки
P:=Strtoint(Edit3.Text);//емкость накопителя
ro:= Landa/ Mi;
T := 0;
Tzvezda := 0;
K := 0;
n := 0;
m := 0;
Randomize;
R:=random;
tz := (1/Landa)*Ln(R);
bTz:=T+tz;
while T < Tk do begin
if Tzvezda > bTz then begin
T := bTz;
K := K+1;
if p+1 >= K then begin
n := n+1;
end
else
begin
K := K-1;
m := m+1;
end;
if K = 1 then
begin
R:=random;
tobsl := -(1/Mi)*ln(R);
Tzvezda := bTz+tobsl;
end;

R:=Random;
tz := -(1/Landa)*ln(R);
bTz := bTz+tz;
end
else
begin
T := Tzvezda;
if K > 0 then
begin
K := K-1;
end;
if K = 0 then begin
Tzvezda := Tk;
end
else
begin
R:=Random;
tobsl := -(1/Mi)*Ln(R);
Tzvezda := T+Tobsl;
end;end;end;
//вычисление характеристик
// клиентов прибыло
Edit4.Text:=inttostr(n);
//количество отказов
Edit5.Text:=inttostr(m);
// n-m количество обслуженных машин
//вероятность отказа
if ro = 1 then Potk := 1/(n-m+2)
else Potk := (Power(ro, (n-m-1))*(1-ro))/(1-(Power(ro, (n-m+2))));
// Potk:=m/n;
Edit6.Text:=floattostr(Potk);
// вероятность что будет обслужена без очереди
if ro = 1 then Pbo := Power(ro, n-m)*(1/(n-m+2))
else Pbo := Power(ro, n-m)*((1-ro)/(1-(Power(ro, n-m-2)))) ;
Edit7.Text:=floattostr(Pbo);
// время ожидания
if ro = 1 then Toc:=( 1/Landa)* ((n-m)*((n-m)+1)/(2*(n-m+2)))
else Toc:=(1/ Landa)*(r o*ro*(1-Power(ro, n-m)*(n-m+1-(n-m)*ro))/((1-Power(ro, n-m+2))*(1-ro))) ;
Edit8.Text:=floattostr(Toc);
end;
end.

Ответ отправил: cradlea (Практикант)
Ответ отправлен: 08.12.2010, 20:02
Номер ответа: 264596

Оценка ответа: 5
Комментарий к оценке:
спасибо за помощь

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 264596 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Ответ поддержали (отметили как правильный): 1 чел.



    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFPRO.RU, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.24 от 30.11.2010

    В избранное