求助:识别实数(没有指数部分)的有限状态机图
画一幅识别实数(没有指数部分)的有限状态机图,要求使用小数点,例如:+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 小数点只能输入一次