读书人

识别实数(没有指数部分)的有限状态机

发布时间: 2012-02-29 16:44:10 作者: rapoo

求助:识别实数(没有指数部分)的有限状态机图
画一幅识别实数(没有指数部分)的有限状态机图,要求使用小数点,例如:+3.5,-4.234,5.0,.2等。

开始符号是. + -吗
start---> A--------B
\ /
是数字吗 \ / 是数字吗
\ /
\ /
\ /
\ /
\ / 是.吗
C-------D
C循环检测下一个输入 /
| /
| /
|是数字吗 /
| /
| /
| /
| /
E

我自己画了个(简陋请勿笑^_^),老感觉不太对劲,请大家帮忙指点下。

[解决办法]
共需要5个状态:
A: 初始态
B: 符号态
C: 整数部分态
D: 小数点态
E: 小数部分态

初始状态 A:

有效的状态 转换

+/-
A -----> B

数字
A-------> C

小数点
A-------> D

数字
B-------> C

数字
C-------> C

小数点
C-------> D

数字
D-------> E

数字
E-------> E

无效的输入举例

+/-
B(或C或D -----> error 符号只能输入一次

小数点
D(或E)-------> error 小数点只能输入一次


读书人网 >软件架构设计

热点推荐