实验三(一)NFADFA(2小时)一. 问题描述NFADFA。1. 实验目的:学会编程实现子集构造法。2. 实验任务:存储NFA与DFA,编程实现子集构造法将NFA转换成DFA。3. 实验内容:(1)确定NFA与DFA的存储格式,为3个以上测试NFA准备好存储文件。(2)用C或JAVA语言编写将NFA转换成DFA的子集构造法的程序。(3)经测试无误。测试不易。可求出NFA与DFA的语言集合的某个子集(如长度小于某个N),再证实两个语言集合完全相同!(4)测试用例参考:将下列语言用RE表示,再转换成NFA使用:(a) 以a开头和结尾的小字字母串;a (a|b|z)*a | a(b) 不包含三个连续的b的,由字母a与b组成的字符串;(e | b | bb) (a | ab | abb)*(c) (aa|b)*(a|bb)*二算法描述1. NFA的输入:分别输入NFA的“字符集”、“状态集”、“开始状态”、“接受状态集”、“状态转换表”等内容,并保存在设定的变量中。2. NFA的存储与读写:将上述NFA的五元组