- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
魔王语言解释实验--栈和队列及其应用
栈和队列及其应用
班级:软件101? 姓名:xxx 学号:xxxxxxx 完成日期:2011-11-25
题目:魔王语言解释
一、需求分析...
//该题目的功能等需求、测试数据以及预期的输出结果等。
问题描述:有一个魔王总是使用自己的一种非常精练而抽象的语言讲话,没有人能听的懂,但他的语言是可以逐步解释成人能听懂的语言,因为他的语言是由以下两种形式的规则由人得语言逐步抽象上去的:
(1) α→β1β2…βm
(2)(θδ1δ2…δn)?→θδnθδn-1…θδ1θ
在这两种形式中,从左到有均表示解释。试写一个魔王语言的解释系统,把他的话解释成人能听的懂的话。
功能描述:
用规则(1)B→tAdA(2)A→sae实现。设大写字母表示魔王语言的词汇;
若将小写字母与汉字建立下表所示的对应关系:
t d s a e z g x n h 天 地 上 一只 鹅 追 赶 下 蛋 恨 测试数据:将tsaedsaeezegexenehetsaedsae译成魔王语言;
预期的输出结果为:“天上一只鹅地上一只鹅额追鹅赶鹅下鹅蛋鹅恨鹅天上一只鹅地上一只鹅”。
通过该题的练习,熟练掌握栈和队列的特性以便在实际问题下灵活运用他们;提高自己的实际操作能力。
熟练掌握栈类型的两种实现方法,特别应注意栈满和栈空的条件以及它们的描述方法。
二、概要设计...
//数据结构的大概设计;程序模块的设计以及大概算法等。
算法描述:将魔王语言自右至左进栈,总是处里栈顶字符。
(1)设定栈的抽象数据类型定义为: InitStack(S) 操作结果:构造一个空栈 S。
StackEmpty(S)初始条件:栈 S 已存在。操作结果S 为空栈,则返回 TRUE,否则 FALE。
StackLength(S) 初始条件:栈 S 已存在。 操作结果:返回 S 的元素个数,即栈的长度。
GetTop(S, e) 初始条件:栈 S 已存在且非空。操作结果:用 e 返回 S 的栈顶元素。
Push(S, e) 初始条件:栈 S 已存在。 操作结果:插入元素 e 为新的栈顶元素。
Pop(S, e) 初始条件:栈 S 已存在且非空。 操作结果:删除 S 的栈顶元素,并用 e 返回其值。
GhostLanage()
(2)本程序包括3个模块
主程序模块
Void main{ …… };
抽象数据类型定义模块
Stack Date{ …… };
函数实现模块
三、详细设计...
//各种结构在程序设计语言中的表示;各函数的完整说明;所需函数的概要代码;函数调用关系等。
主要代码:
四、调试分析...
//调试过程中发现的问题以及解决方法;对于结构的调整以及原因;设计调试中所获得的经验等。
在编译执行过程中:发现第一次执行结果为:
通过对结构的调整以及原因需求分析,再次对结果进行调式:
1 king.cpp
1d:\000\king\king\king.cpp(78): warning C4996: scanf: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1 c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(306) : 参见“scanf”的声明
1d:\000\king\king\king.cpp(94): warning C4996: scanf: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1 c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(306) : 参见“scanf”的声明
1d:\000\king\king\king.cpp(146): warning C4996: scanf: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_S
您可能关注的文档
- 第2章 JavaScript DOM编程.ppt
- 补充_SQL应用举例.ppt
- TOP-BOSS企业模拟对抗.doc
- How much are these socks 课件A.ppt
- 大学本科vfp,ppt课件6.ppt
- 第9课 修改零件模型.ppt
- 高中英语:Unit 10《Money》测试(北师大版必修4).doc
- 第二章:Silverlight编程模型.ppt
- 汉洛塔的实现-数据结构.doc
- iTELLIN巡检报告模板.doc
- 2025年公交优先战略视角下城市交通拥堵治理的公共交通与公共交通线路规划.docx
- 企业培训平台课程体系构建与2025年应用效果评估指标体系分析.docx
- 2025年工业机器人健康管理解决方案供应商竞争力评估报告.docx
- 基于人工智能的跨学科项目式学习在初中英语教学中的应用教学研究课题报告.docx
- 2025年共享自习室空间设计与室内环境优化方案.docx
- 2025年云计算服务模式在交通领域的应用与创新报告.docx
- 2025年纺织服装行业智能化生产技术变革与创新研究报告.docx
- 金融科技在普惠金融中的金融科技信贷审批效果评估报告.docx
- 碳中和目标驱动下2025年能源互联网标准体系构建报告.docx
- 地理教学中的情境创设对学生地理素养培养的影响研究教学研究课题报告.docx
文档评论(0)