有限状态机应用.ppt
《有限状态机应用.ppt》由会员分享,可在线阅读,更多相关《有限状态机应用.ppt(37页珍藏版)》请在三一办公上搜索。
1、1,大作业-文件IO版本设计思路,8/17/2023,2,大作业文件IO版本模块结构图,8/17/2023,3,大作业文件IO版本程序框架,/*大作业文件IO版本的程序主体结构*/struct STATE/电梯或银行的运行状态struct LIST/请求队列链表节点struct REQ/暂存每次获得的请求事件int main()int timeCount=0;/计时器,每循环一次模拟2ms struct REQ theReq=;/暂存每次获得的请求事件 struct STATE preST,theST=;/保存电梯或银行的运行状态 struct LIST*headp=NULL;/存请求队列链表
2、头指针 File*fpin,*fpout;,8/17/2023,4,大作业文件IO版本程序框架,openFile(*fpin,*fpout);/打开输入输出文件 theReq=get_fileInput(fpin);/读取第一个请求 while(!(endInput(fpin)/读取文件中的下一个请求事件/end if,8/17/2023,5,大作业文件IO版本程序框架,preST=theST;theST=runService(preST,/end main,8/17/2023,6,大作业文件IO版本函数接口,int endInput(File*fp)/判断文件输入是否结束int isIdle
3、(struct STATE state)/判断电梯或营业厅当前状态是否空闲struct REQ get_fileInput(File*fp)/顺序读取文件中的一个请求事件struct LIST*addServList(struct LIST*hp,struct REQ req,struct STATE state,int mode);/按照策略,将新请求插入请求队列中struct STATE runService(struct STATE state,struct LIST*hp,int time)/*根据状态、请求和时间条件,运行电梯或营业厅服务。运行服务后将改变的状态返回。注意当服务完一个
4、请求后,删除该节点并修改头指针!*/,8/17/2023,7,大作业文件IO版本函数接口,struct STATE runService(struct STATE state,struct LIST*hp,int time)/*根据状态、请求和时间条件,运行电梯或营业厅服务。运行服务后将改变的状态返回。注意当服务完一个请求后,删除该节点并修改头指针!*/void set_fileOutput(File*fp,int time,struct STATE state,struct LIST*hp)/*将当前时间、状态和等待队列的情况顺序写入文件*/,8/17/2023,8,输入文件格式定义:电梯,
5、输入用电梯请求文件格式:文本文件,每一行表示一个时刻发生的电梯请求。格式定义如下:T=,CallF=例:T=1,CallF=4UT=2,CallF=4U 5T请求发生时间:按程序运行的系统时钟时间,单位秒.楼层请求:由呼叫方向(U/D/T)和数字(19)组成,同时有多个请求时用空格分割。如2U 5D 6T,表示2层上行呼叫、5层下行呼叫、6层目标停靠。,8/17/2023,9,输出文件格式定义:电梯,电梯运行结果记录文件格式:文本文件,每一行表示一个电梯停靠或启动、转向动作,当前楼层和目标楼层,以及排队的楼层请求。格式定义如下:T=,State=,NowF=,GoalF=,StopT=,Wai
6、tF=例:T=3,State=UP_RUN,NowF=1.0,GoalF=3,StopT=0,WaitF=4U 5D 6TT=3,State=UP,NowF=1.0,GoalF=3,StopT=0,WaitF=4U 5T 6U 9D 8D,8/17/2023,10,输出文件格式定义:电梯,当前时间:程序开始运行的系统时钟时间,单位秒。电梯状态:UP_RUN表示向上运行、DOWN_RUN表示向下运行、UP_STOP表示上行停靠、DOWN_STOP表示下行停靠、IDLE表示空闲。电梯当前楼层:1.0-9.0。停靠时间:记录电梯已经停靠的时间,单位秒。只有在停靠状态下,该信息才大于0。未响应的楼层请
7、求:按照电梯控制策略,按响应顺序将尚未响应的呼叫请求和目标楼层列出来。是由呼叫方向(U/D/T)和数字(19)组成的序列,中间用一个空格分割。如2U 5D 6T,表示2层上行呼叫、5层下行呼叫、6层目标停靠。,8/17/2023,11,输入文件格式定义:银行,输入用银行请求文件格式:文本文件,每一行表示一个时刻发生的客户到达事件、窗口休息请求或下班指令。格式定义如下:T=,Req=C|W|Q例:T=1,Req=C5T=6,Req=W3T=200,Req=Q250时间:按程序运行的系统时钟时间,单位秒.,8/17/2023,12,输出文件格式定义:银行,银行运行结果记录文件格式:文本文件,每一行
8、表示一个营业厅窗口的叫号、暂停休息、准备下班、进入空闲、下班等动作,各窗口状态和正在服务的客户号码,以及等待服务的客户情况。格式定义如下:T=,Event=,Now=,Wait=JH ZT KX ZB XB,8/17/2023,13,输出文件格式定义:银行,=00019999=S0 表示空闲 S1 表示服务 S2 表示暂停=策略1:策略2:例:T=3,Event=JH W2 C0009,Now=W1 S1 C0004 W2 S2 C0000 W3 S0 C0000,Wait=Q19 F0010 L0028,14,15,什么是有限状态自动机?,Finite State Machine,又称有限状
9、态机或简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。状态:存储关于过去的信息,就是说,它反映从系统开始到现在时刻的输入变化。转移:指示状态变更,并且用必须满足来确使转移发生的条件来描述它。动作:是在给定时刻要进行的活动的描述。有多种类型的动作:进入动作(Entry action)-在进入状态时进行 退出动作-在退出状态时进行 输入动作-依赖于当前状态和输入条件进行 转移动作-在进行特定转移时进行,16,为了描述一个有限状态机的工作状况,可采用状态转换图。状态转换图是一个有向图,图中的每个节点表示一种状态,一条边(或弧)表示一个转换关系。初始状态通常用“没有起点的箭
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 有限状态机 应用
链接地址:https://www.31ppt.com/p-5755899.html