随机模拟事件操作系统实验delphi - 图文
更新时间:2024-06-11 07:35:01 阅读量: 综合文库 文档下载
- 双色球随机模拟推荐度:
- 相关推荐
随机事件模拟
一、实验名称
Simulation of random occurrence
(随机事件模拟) 二、实验目的
以银行业务处理为例,理解随机事件的发生、处理过程及处理的一般原则,为处理操作系统中的随机事件做准备。
三、实验内容
模拟银行的业务处理过程。假设银行有三个窗口,每天8点开门,12点关门。银行业务主要包括
两种:存钱和取钱,每件业务的处理时间为3-5分钟。
六、实验思路
1.如果程序开始运行时产生的随机时间在8-12点之间,则运行该程序,否则提示
银行已关门;
2.程序开始运行时,随机产生当时银行存在的人数,及三个窗口的排列情况,并按其先后顺序排序1,2,3……;
3.随机产生每个窗口正在办理业务的情况,包括存钱和取钱,及其每个窗口正在办理业务所剩余的时间,并表示出来;
4.程序运行中随机产生每个时刻进来的人数,并进行排列; 5.假如第一个人处理完业务,则队列依次前移; 6.假如到了12点,系统提示银行停止办理业务。
本程序运用delphi软件运行 运行程序如下:
第一个界面的代码如下: unit Unit1;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls; type
TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Button1: TButton; Image1: TImage; Timer1: TTimer;
procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private
{ Private declarations }
public
{ Public declarations } end; var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin Randomize; i := random(20);
edit1.Text:=inttostr(i); if edit1.Text<'12' then Form2.show
ELSE
messagedlg('对不起,银行已关门',mtInformation,[mbOk],0); end;
procedure TForm1.Timer1Timer(Sender: TObject); begin
label1.Font.Color:=rgb(random(255),random(255),random(255)); end; end.
第二个界面的代码如下: unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls; type
TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Image1: TImage; Timer1: TTimer; Label5: TLabel; Timer2: TTimer; Label6: TLabel; Label7: TLabel; Timer3: TTimer; Label8: TLabel; Label9: TLabel; Label10: TLabel;
Timer4: TTimer; Label11: TLabel; Label12: TLabel; Timer5: TTimer; Edit1: TEdit; Timer6: TTimer; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Label13: TLabel; Timer7: TTimer; Timer8: TTimer; Label14: TLabel; Timer9: TTimer; Timer10: TTimer; Label15: TLabel; Edit5: TEdit; Label16: TLabel; Edit6: TEdit; Timer11: TTimer; Timer12: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject); procedure Timer3Timer(Sender: TObject); procedure Timer4Timer(Sender: TObject); procedure Timer5Timer(Sender: TObject); procedure Timer6Timer(Sender: TObject); procedure Timer7Timer(Sender: TObject); procedure Timer8Timer(Sender: TObject); procedure Timer9Timer(Sender: TObject); procedure Timer10Timer(Sender: TObject); procedure Timer11Timer(Sender: TObject); procedure Timer12Timer(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end; var
Form2: TForm2; Id:integer=60; Id1:integer=55; Id2:integer=78;
Id3:integer=60; Id4:integer=55; Id5:integer=78;
implementation {$R *.dfm}
procedure TForm2.Timer1Timer(Sender: TObject); begin
label1.Font.Color:=rgb(random(255),random(255),random(255)); end;
procedure TForm2.Timer2Timer(Sender: TObject); begin
label5.Caption := FormatDateTime('hh:nn:ss',now); end;
procedure TForm2.Timer3Timer(Sender: TObject); begin
label7.Font.Color:=rgb(random(255),random(255),random(255));
if Id > 0 then
begin
Id := Id -1;
Label7.Caption := IntToStr(Id); end else // begin Id:=67;
//Timer1.Enabled := true; // end; end;
procedure TForm2.Timer4Timer(Sender: TObject); begin
label9.Font.Color:=rgb(random(255),random(255),random(255));
if Id1 > 0 then begin
Id1 := Id1 -1;
Label9.Caption := IntToStr(Id1); end else Id1:=82;
end;
procedure TForm2.Timer5Timer(Sender: TObject); begin
label11.Font.Color:=rgb(random(255),random(255),random(255));
if Id2 > 0 then begin
Id2 := Id2 -1;
Label11.Caption := IntToStr(Id2); end else Id2:=55; end;
procedure TForm2.Timer6Timer(Sender: TObject); var i:integer; begin i:=15; Randomize; i := random(15);
edit1.Text:=inttostr(i); end;
procedure TForm2.Timer7Timer(Sender: TObject); begin
if Id3 > 0 then begin
Id3 := Id3 -1;
edit2.Text := ('K顾客正在办理存款手续'); end else begin Id3:=60;
edit2.Text := ('F顾客正在办理取款手续');
end; end;
procedure TForm2.Timer8Timer(Sender: TObject); begin
form2.Label14.Caption:='今天是'+formatdatetime('yyyy-mm-dd',now); end;
procedure TForm2.Timer9Timer(Sender: TObject); begin
if Id4 > 0 then begin
Id4 := Id4 -1;
edit3.Text := ('A顾客正在办理取款手续'); // messagedlg('顾客正在办理存款手续',mtInformation,[mbOk],0); end else begin Id4:=55;
edit3.Text := ('B顾客正在办理存款手续'); //Timer1.Enabled := true; end; end;
procedure TForm2.Timer10Timer(Sender: TObject); begin
if Id5 > 0 then begin
Id5 := Id5 -1;
edit4.Text := ('C顾客正在办理存款手续'); // messagedlg('顾客正在办理存款',mtInformation,[mbOk],0); end else begin Id5:=78;
edit4.Text := ('D顾客正在办理取款手续'); //Timer1.Enabled := true; end; end;
procedure TForm2.Timer11Timer(Sender: TObject); var i:integer; begin i:=15; Randomize; i := random(15);
edit5.Text:=inttostr(i); end;
procedure TForm2.Timer12Timer(Sender: TObject); var i:integer; begin i:=15; Randomize; i := random(15);
edit6.Text:=inttostr(i); end; end.
正在阅读:
关于人才成长平台与培养使用的思考09-10
高考填报志愿必看的专业解读与报考指导04-15
2009-2015年系统集成项目管理工程师案例分析题(打印)05-06
我国企业应收账款保理业务的现状及改进措施08-31
一个学生的自由初二日记10-29
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 随机
- 操作系统
- 模拟
- 事件
- 实验
- 图文
- delphi
- 印花的详细介绍
- 中国汽车密封件行业发展状况及发展规划分析报告2016-2021年
- 公安基础知识考点汇总
- 会计学基础1-12练习题
- 广珠铁路横腹杆接触网支柱作业指导书(龙清)
- 人教版四年级下册作文教学计划与教案广林木小学云兆亮2013.02
- 痰涂片镜检实验室质量保证手册
- 单片机RLC测量仪参考论文 - 图文
- 2015五年级语文期末试题(西师大版)
- SAS认证新题型ADVANCE
- 房产税、土地使用税明细申报系统操作指南
- 进口信用证业务操作规程
- 品德与社会打电话讲礼仪一课教案
- 中庄中学2014-2015年八年级上第一次月考数学试卷含答案解析
- 遗传实验设计及解题方法归纳(超实用)
- 安徽省桐城市四校联考2015-2016学年八年级数学下学期期中试题 新
- “横店模式”对发展文化产业的启示
- 外派财务人员绩效考核与绩效激励
- 建设工程计价分章练习题一
- 《老人与海》题库