大庆石油学院
实验课指导书
单 位 实 验 室 实验名称 主讲教师 职 称
计算机信息与技术学院 计算机信息与技术专业实验室
操作系统(英)
郭玲玲 讲师
2006年08 月20 日
实验一 Simulation of random occurrence(随机事件模拟)
一、实验名称
Simulation of random occurrence(随机事件模拟) 二、实验目的
以银行业务处理为例,理解随机事件的发生、处理过程及处理的一般原则,为处理操作系统中的随机事件做准备。 三、实验内容
模拟银行的业务处理过程,银行有三个窗口,每天8点开门,12点关门,银行业务主要包括两种:存钱和取钱,每件业务的处理时间为3-5分钟。 四、实验要求
要求给出模拟的形象直观效果。 五、实验学时及环境
4学时,Turbo C、Visual C++、Visual Basic、Delphi均可。 六、实验思路
1.如果程序开始运行时产生的随机时间在8-12点之间,则运行该程序,否则提示银行已关门;
2.程序开始运行时,随机产生当时银行存在的人数,及三个窗口的排列情况,并按其先后顺序排序1,2,3……;
3.随机产生每个窗口正在办理业务的情况,包括存钱和取钱,及其每个窗口正在办理业务所剩余的时间,并表示出来;
4.程序运行中随机产生每个时刻进来的人数,并进行排列; 5.假如第一个人处理完业务,则队列依次前移; 6.假如到了12点,系统提示银行停止办理业务。 七、主要程序代码
如果使用C语言进行设计,程序涉及的头文件主要有:stdlib.h, stdio.h, time.h;程序使用的主要函数有:srand(), rand(), time(), sleep()。
以下是用C语言开发的代码示例:
/********************************************/ /* ----银行客流模拟系统---- */ /* ---2004/10/16 */
/********************************************/ #include \#include \#include \#include \#include \#include \main() {
int i,j,l,m,n,p,q,r,u,v; int aa,bb,cc; int za,zb,zc;
int numa,numb,numc; int a[80],b[80],c[80]; int x[80]; int k=1; int mini,tim; time_t t;
srand((unsigned) time(&t));
l=0;m=0;n=0; p=0;q=0; r=0; u=0; v=0;
numa=0;numb=0;numc=0; aa=0;bb=0;cc=0; /* time start */ mini=rand()`; tim=rand()$; if(tim>=8&&tim<12) { while(1)
{ clrscr();
window(1,1,80,25); textbackground(1); textcolor(YELLOW); clrscr();
printf(\ printf(\ ------银行窗口模拟系统------ ****\ printf(\ 制作人:刘佳宁 刘茜 ****\ printf(\ 高遵富 梁舒 ****\ printf(\ if(mini==60)
{
tim++;
if(tim==12)
{printf(\ 现在时间 12:00\\n\
printf(\ 银行已经停止营业!\\n\ sleep(2);
printf(\ 正在注销系统...\\n\ sleep(2);
printf(\ 正在关闭系统...\\n\ printf(\ sleep(4);
break;
}
mini=0; }
printf(\ \ if(tim<10) printf(\ printf(\ if(mini<10) printf(\
printf(\ 营业时间: 8:00-12:00 *********************************\ mini++; /* time over */
p=rand()%2; /* main start */
if(p==0) q=0; else
q=rand()%3+1; for(i=0;i for(i=0;i if(numa<=numb&&numa<=numc) { a[l]=x[i]; l++; numa++; } else if(numb<=numa&&numb<=numc) { b[m]=x[i]; m++; numb++; } else { c[n]=x[i]; n++; numc++; } /* printf A array */ printf(\ 窗口 1:\\n \printf(\状态:\if(numa>0) { if(r==0) 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库os实验指导书在线全文阅读。
相关推荐: