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 (Россия) |
Еще номера »
Ответ поддержали (отметили как правильный):
1 чел.
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.