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

📄 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;
    Label1: TLabel;
    ComboBox1: TComboBox;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label6: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit5: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    GroupBox3: TGroupBox;
    Label8: TLabel;
    Label9: TLabel;
    Label11: TLabel;
    Label7: TLabel;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit9: TEdit;
    Edit8: TEdit;
    Label10: TLabel;
    Edit10: TEdit;
    Label5: TLabel;
    Edit4: TEdit;
    procedure BitBtn1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
var Cc,Cp,Cs,t,Q,S,P,D,f,M:real;
begin
  Cc:=StrTofloat(Edit1.Text);                     //生产费
  Cp:=StrTofloat(Edit2.Text);                     //存储费
  D:=StrTofloat(Edit5.Text);                      //需求量
  P:=StrTofloat(Edit10.Text);                     //补充量
  if combobox1.ItemIndex=0 then
    begin
      Q:=sqrt(2*Cc*D/(Cp*(1-D/P)));              //最优生产批量
      t:=sqrt(2*Cc/(Cp*D*(1-D/P)));              //最优生产周期
      f:=sqrt(2*Cc*Cp*D*(1-D/P));                //最小总费用
    end
  else
    begin
       Cs:=StrTofloat(Edit3.Text);               //缺货费
       Q:= sqrt(2*Cc*D*(Cp+Cs)*P/(Cp*Cs*(P-D)));
       t:= sqrt(2*Cc*(Cp+Cs)*P/(Cp*Cs*D*(P-D)));
       f:=sqrt(2*Cp*Cs*Cc*D*(P-D)/((Cp+Cs)*P));
       M:=sqrt(2*Cc*Cp*D*(P-D)/(Cp*(Cp+Cs)*P));  //最大存储量
       S:=sqrt(2*Cc*Cp*D*(P-D)/(Cs*(Cp+Cs)*P));  //最大允许缺货量
    end;
  edit6.Text:=formatfloat('0.###',Q);            //格式化输出结果
  edit7.Text:=formatfloat('0.###',t);
  edit8.Text:=formatfloat('0.###',f);
  edit4.Text:=formatfloat('#.###',M);
  edit9.Text:=formatfloat('#.###',S);
  
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  if combobox1.ItemIndex=0 then
    begin
      edit3.Clear;            
      edit3.Enabled:=false;  
      label4.Enabled:=false;
      edit9.Clear;
      edit9.Enabled:=false;
      label7.Enabled:=false;
      edit4.Clear;
      edit4.Enabled:=false;
      label5.Enabled:=false;
    end
  else
     begin
       edit3.Clear;         
       edit3.Enabled:=true;
       label4.Enabled:=true; 
       edit9.Clear;
       edit9.Enabled:=true;
       label7.Enabled:=true;
       edit4.Clear;
       edit4.Enabled:=true;
       label5.Enabled:=true;
     end  ;

end;

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

procedure TForm1.FormCreate(Sender: TObject);
begin
  label4.Enabled:=false;         
  edit3.Clear;
  edit3.Enabled:=false;          
  label7.Enabled:=false;
  edit9.Clear;
  edit9.Enabled:=false;
  edit4.Clear;
  edit4.Enabled:=false;
  label5.Enabled:=false;
end;

end.

⌨️ 快捷键说明

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