⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 很好运筹学的DEOPHI原代码.包括动态规划,原始单纯形法,对策论,决策论等
💻 PAS
字号:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    Panel3: TPanel;
    Label2: TLabel;
    Edit1: TEdit;
    Label3: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Label4: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Label6: TLabel;
    Label7: TLabel;
    Edit4: TEdit;
    Label5: TLabel;
    Edit5: TEdit;
    Label8: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Label9: TLabel;
    Edit9: TEdit;
    Label13: TLabel;
    Edit10: TEdit;
    Edit11: TEdit;
    Label14: TLabel;
    Label15: TLabel;
    Edit12: TEdit;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
uses math;
{$R *.dfm}
function J(a:real;n:integer):real ;
var i:integer;
     s2:integer;
     s1:real;
begin
  s1:=power(a,n);
  s2:=1;
  for i:=1 to n do
    s2:=s2*i;
  result:=s1/s2;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var i1,i2,n,m:integer;
    S1,S2,x,u,qp,P0,Px,Q,A,K,Lq,Ls,Wq,Ws:real;
begin
  if (edit1.Text='') or (edit2.Text='')or (edit3.Text='') or (edit9.Text='')  then
    begin
       showmessage('请输入完整数据!');
       exit;
    end;
  S1:=0;
  S2:=0;
  n:=StrToint(Edit1.Text);
  x:=StrTofloat(Edit2.Text);
  u:=StrTofloat(Edit3.Text);
  m:=StrToint(Edit9.Text);
  qp:=x/u;
  for i1:=0  to  n do
    S1:=S1+ J(qp,i1);
  for i2:=1 to m do
    S2:=S2+power(qp/n,i2)*J(qp,n);
  P0:=1/(S1+S2) ;
  Px:= J(qp,n)*power(qp/n,m)*P0;        //损失概率
  Q :=1-Px  ;                           //相对通过能力:
  A:=x*Q  ;                            //绝对通过能力:
  K:=A/u ;                             //服务员平均数
  Lq:= J(qp,n)*(qp/n)*(P0/sqr(1-qp/n)) *(1-(m+1)*power(qp/n,m)+m*power(qp/n,m+1));  //排队顾客平均数
  Ls:=Lq+K;                             //系统内顾客的平均数
  Wq:=Lq/x;                            //平均排队时间
  Ws:=Wq+Q/u;                          //平均逗留时间
  edit4.Text:= formatfloat('0.000 ',Px);
  edit5.Text:=formatfloat('0.000',Q);
  edit6.Text:= formatfloat('0.000',A);
  edit7.Text:=formatfloat('0.000',K);
  edit8.Text:=formatfloat('0.000',Lq);
  edit10.Text:=formatfloat('0.000',Ls);
  edit11.Text:=formatfloat('0.000',Wq);
  edit12.Text:=formatfloat('0.000',Ws);
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -