随机模拟事件操作系统实验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.
正在阅读:
实验室安全考试化学安全类01-12
2002年大专辩论赛人大对政法——人的自我实现,结果比过程更重要05-28
建立大学生党员创先争优长效机制的研究01-09
公共服务能力试卷 得分100分05-03
2010级本科临床基础综合考试试题03-15
高中物理选修3-2知识点总结新课标人教版09-01
- 冀教版版五年级科学下册复习资料
- 微生物学复习提纲
- 2013—2014学年小学第二学期教研组工作总结
- 国有土地转让委托服务合同协议范本模板
- 我的固废说明书
- 企业管理诊断报告格式
- 东鼎雅苑施工组织设计
- 谈谈如何做好基层党支部书记工作
- 浮梁县环保局市级文明单位创建工作汇报
- 管理学基础知识
- 大学物理实验报告23 - PN结温度传感器特性1
- 计算机网络实践
- 酒桌上这四种情况下要坐牢,千万别不当回事……
- 国家康居示范工程建设技术要点
- 中国贴布行业市场调查研究报告(目录) - 图文
- 新课标下如何在高中物理教学中培养学生的创新能力初探
- 营养师冬季养生食谱每日一练(7月4日)
- 关注江西2017年第3期药品质量公告
- 建设海绵城市专题习题汇总
- 10万吨年环保净水剂建设项目报告书(2).pdf - 图文
- 随机
- 操作系统
- 模拟
- 事件
- 实验
- 图文
- delphi
- 印花的详细介绍
- 中国汽车密封件行业发展状况及发展规划分析报告2016-2021年
- 公安基础知识考点汇总
- 会计学基础1-12练习题
- 广珠铁路横腹杆接触网支柱作业指导书(龙清)
- 人教版四年级下册作文教学计划与教案广林木小学云兆亮2013.02
- 痰涂片镜检实验室质量保证手册
- 单片机RLC测量仪参考论文 - 图文
- 2015五年级语文期末试题(西师大版)
- SAS认证新题型ADVANCE
- 房产税、土地使用税明细申报系统操作指南
- 进口信用证业务操作规程
- 品德与社会打电话讲礼仪一课教案
- 中庄中学2014-2015年八年级上第一次月考数学试卷含答案解析
- 遗传实验设计及解题方法归纳(超实用)
- 安徽省桐城市四校联考2015-2016学年八年级数学下学期期中试题 新
- “横店模式”对发展文化产业的启示
- 外派财务人员绩效考核与绩效激励
- 建设工程计价分章练习题一
- 《老人与海》题库