Home > Back-end >  C language is used to implement the state machine code
C language is used to implement the state machine code

Time:09-29

一个保险箱上装了一个复合锁.锁有3个位置,分别标记为1,2,3,转盘可向左(L)或向右(R)转动,这样,在任意时刻转盘都有6种可能的运动,即1L.1R.2L.2R,3L和3R.保险箱的组合密码是IL.3R,2L,转盘的任何其他运动都将引起报警,图4.1描绘了保险箱的状态转换情况,有一个初始态.即保险箱锁定状态,若输人为1L.则下一个状态为A,但是,若输入不是1L而是转盘的任何其他移动,则下一个状态为"报警".报警是两个终态之一(另一个终态是"保险箱解锁"),如果选择了转盘移动的正确组合,则保险箱状态转换的序列为从保险箱锁定到A再到B,最后到保险箱解锁,即另外一个终态,图4.1是一个有穷状态机的状态转换图,状态转换并不一定要用图形方式描述,表4.1的表格形式也可以表达同样的信息,除了两个终态之外,保险箱的其他状态将根据转盘的转动方式转换到下一个状态,
  • Related