实训实验报告.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实训实验报告.doc

实训实验报告 姓名:徐海波学号班级:计 科 0508班 指导老师:瞿有利 1 实验名称: 电子词典 2题目分析,题目的目标,题目的功能分析,功能模块设计 2.1题目分析: 本实验的题目是电子词典,即利用相关的知识和编程语言编写电子词典,老师已经预先准备了两本词典的词条,即“英汉海军装备技术缩略语词典(完成)”和“英汉舰船科技与海军缩略语词典”。 2.2题目的目标: 输入英语可以转化成汉语,输入汉语可以转化成英语,完成词典应具备的一些功能,也包括索引,模糊查询,所查词所在的词典。 2.3题目的功能分析: 当输入汉语时可以通过在词条中的扫描来实现匹配,当匹配成功时,即输出英语;但是输入英语时,可以根据首字母来判断所要查询的文件路径。这样可以大大的提高速度。对于索引也就是当前缀匹配时即可输出整个词语,然后在ListBox中点击要查询的词就可以在EditBox中显示与其对应的意思。 2.4功能模块的设计: 主要分为1、查询(英汉汉英)2、索引3、词典4、模糊查询。这四个功能模块来实现的。 2.4.1查询: 首先根据其输入的字符串WordSearch的首字符WordSearch [0],来判断是英译汉还是汉译英。主要是判断WordSearch [0]是不是在A-Z(a-z)。对应将各字母分别存放在不同的词典。如果是则判断为是英译汉,否则为汉译英。 2.4.2索引: 当我们输入英文时,只需要判断首字符是什么然后读取相应的文件(分别存放各个字母的单词文件有利于提高速度,类似于索引表)。 2.4.3词典: 当我们输入要查询的词时,得知意思后,别输出这个词来源于哪本词典,当点击一下词典按钮时仍可得知词条的来源。程序默认情况下在ListBox中显示索引。 2.4.4模糊查询: 使用了不完全的匹配方法。只要部分匹配即可。’?’模糊查询采用堆栈的思想将非’?’字母入栈,与取出的词条对应位置比较。 3总体结构: 介绍系统的总体结构,开发平台的选择等相关内容。 以上是总体的结构及流程图。 3.1系统结构介绍: 本字典系统包括四个功能:a、查询b、索引c、词典d、模糊查询。相关图片如下: 查询、索引(英文) (中文) (词典) (模糊查询) “?” (模糊查询)“*” 上面分别显示了索引、查询、模糊查询等功能截图。 3.2开发平台的选择: 本系统的开发平台是微软的MFC(Microsoft Foundation Classes)微软基库类。主要封装了大部分的windows API函数,vc++是微软公司开发的c/c++的集成开发环境,所谓集成开发环境,就是说利用它你可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。MFC除了是一个类库以外,还是一个框架,在vc++里新建一个MFC的工程,开发环境会自动产生许多文件,同时它使用了mfcxx.dllD2.txt;即所有的词条都要扫描,如果查询不成功时,和英译汉一样继续查询第二步词典。复杂度大约也是上面的2倍。 4.3模糊查询: 4.3.1算法: 当遇到模糊符号包括“?”和“*”时将其略过不予以匹配只要后面的和前面的匹配成功就输出显示。由于模糊查询是只针对英译汉的,所以对于首字母已知的类似于英译汉的准确查询,但是由于是模糊,所以查到一个词之后并不能终止查询,而是继续,直到搜索完毕。所以时间复杂度应该也是O(n2+I2)(n表示第一本词典相关文本的词条数,I 表示第二本词典相关文本的词条数)只不过是前面的系数不同而已。对于首字母未知的只能是查询全文本来保证不会丢词和漏词。所以不同只不过是系数和n,I 的值,其时间复杂度的表示与上面相同。 5系统的设计说明: 首先利用MFC设计图形界面由于主要是采用输入输出等查询方式,所以采用了对话框(Dialog),然后对其中的控件按钮添加函数响应及控件关联,对于有消息句柄的添加响应的句柄。比如,添加的查询按钮函数是Search()等;最后是具体功能的实现和算法的优化,起初算法效率不是很高,通过相应的算法和预处理大大提高了算法的效率。 6教训与经验总结: 在本次实验中学习到了很多东西,比如以前课堂上没有学到的MFC及文本的读入与输出等基本的知识,并且在以前学习中没有接触过MFC的相关知识,所以做起来相对吃力,但是在同学的帮助下自己的确有很多的收获,我觉得编程语言大体都相同,重要的是思想,这对学习C#、Visual Studio 2005 有了很大的帮助,虽然自己犯了许多错误,但是同时也让自己得到教训,在以后不要犯同样的错误。所以其中走一些弯路,对自己是很有帮助的。开始为了方便,直接利用文件的查询方法。程序运行的效率相对较低,,后来经过同学的帮助,思考如何利用建立索引表等方法和措施提高查询的效率,减小延时。但是在这个过

文档评论(0)

pvwr + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档