(1)画出系统的ASM图。
(2)画出系统的状态转换图。
(3)用Verilog HDL语言描述其工作过程。
提示:数字锁系统的示意图如图题11.4.1所示,由于开锁过程比较简单,所以没有划分控制单元和处理单元。L0、L1、L2用于从到高位设置密码,另外三个输入端Re,En,Ki中,Re是复位端,当Re=
1时,系统复位进入初始状态;En是控制井关,Ki是数据输入端,当按一下En键使En=1时,从Ki端输入一个数码,再按一下En键,再送一个数码,直到将三个数码送完为止。每输入一个数据都要同原设定的密码比较,依次从低位到高位进行。若相等则准备接收下一位数码,若不相等,系统应进入错误状态。输入数码的位数也是开锁的条件。当输入数码的位数和位值与相应密码都相等时,系统发出开锁信号Un=1,锁被打开,否则Er=1表示开锁过程错误。为保密起见,中间错误状态不显示,并且不能返回初态,直到三个数码全部送完为止。
图P3.10表示一个5点序列r(n).试画出:
(1)x(n)xx(n)
(2)x(n)⑤x(n)
(3)x(n)⑩x(n)
考虑图6.12所示的4颗骰子,称其为A,B,C,D.任取其中两颗骰子x和y投掷(x和y以相同),若x的点数大于y的点数,则称“x胜于y".
(1)对每一对骰子x和r.计笪“x胜千y"的概率.并用-一个矩阵表示这些结果.
(2)设R是集合{A,B,C,D}.上的二元关系,R的定义如下:
XRyx胜于y的概率大于1/2
给出R的关系图和关系表达式.
(3)找出R的传递闭包,
(4)关系R是可传递的吗?
(5)假定有人提出下面的游戏办法:让你先从{A,B,C,D}中任选一颗骰子,在你选定后,他从剩下的3颗骰子中选一颗骰子,然后投掷这两颗骰子,点数大的人得胜,输者要向赢者付钱,
问:这个游戏办法你是否接受?为什么?
A.上海
B.深圳
C.广州
D.香港
算法设计:对于给定的n和k个加油站位置,计算最少加油次数.
数据输入:由文件input.tst给出输入数据.第1行有2个正整数n和k,表示汽车加满油后可行驶nkm,且旅途中有k个加油站.接下来的1行中有k+1个整数,表示第k个加油站与第k-1个加油站之间的距离.第0个加油站表示出发地,汽车已加满油.第k+1个加油站表示目的地.
结果输出:将计算的最少加油次数输出到文件output.txt.如果无法到达目的地,则输出“NoSolution",