《应用数据结构》课的程设计指导书2009.docVIP

《应用数据结构》课的程设计指导书2009.doc

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

《应用数据结构》课程设计指导书 课程编号: 课程名称:应用数据结构/Applied Data Structure 周数/学分:2/2 先修课程:应用数据结构 适应专业:工科类 开课学院、系或教研室:管理学院信息管理与信息系统系 一、目的和要求 1.目的 课程设计是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,设计题中的问题比平时的习题复杂得多,也更接近实际。设计着眼于原理与应用的结合点,使读者学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。平时的练习较偏重于如何编写功能单一的小算法,而设计题是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,多人合作,以致一整套软件工作规范的训练和科学作风的培养。此外,还有很重要的一点是:机器是比任何教师都严厉的检查者。 2.要求 为了达到上述目的,本课程安排了十个设计题目,各题的训练重点在于基本的数据结构,而不强调面面俱到。这些题目与教科书的各章只具有粗略的对应关系,一个设计题常常涉及几部分教学内容。根据本课程的授课对象,所有题目的难度相比计算机专业有所降低,但仍有一定的系数保证。 每个设计题采取了统一的格式,由问题描述、基本要求、测试数据、实现提示、和选做内容五个部分组成。问题描述旨在为读者建立问题提出的背景环境,指明问题“是什么”。基本要求则对问题进一步求精,划出问题的边界,支出具体的参量或前提条件,并规定该题的最低限度要求。测试数据部分旨在为检查学生上机作业提供方便,在完成设计题时应自己设计完整和严格的测试方案,当数据输入量较大时,提倡以文件形式向程序提供输入数据。在实现提示部分,对实现中的难点及其解法思路等问题作了简要提示。选做部分向那些尚有余力的读者提出了更严峻的挑战,同时也能开拓其他读者的思路,在完成基本要求时力求避免就事论事的不良思想方法,尽可能寻求具有普遍意义的解法,使得程序结构合理,容易修改扩充。 本设计题目编排的策略是:一方面使其难度和工作量有保证,另一方面给学生提供的辅助和可以模仿的成分也较多。当然,还应指出的是,提示的实现方法未必是最好的,学生不应拘泥于此,而应努力开发更好的方法和结构。 二、课程设计内容 课程设计总共有不少于十道题目,学生可以任选其中一道。 特别说明:所有在课程设计指导书上列出的题目,每个人均须选择一道题独立完成,不可分工合作;每道题每个班选做的人数不能超过5人。 1.憋七游戏过程模拟 【问题描述】 憋七游戏是一种简单有趣的扑克游戏,玩家人数为4人,使用一副牌,去掉大小王,共52张牌。玩家每人各发13张牌,以自己为主,不与其他玩家配合。游戏中以4个花色的7为基准接牌,无牌可接时则必须扣牌(不可再拿回手中),玩家手中牌(不算扣下的牌)全部出完则游戏结束,游戏结算以扣牌点数最少或没有扣牌的玩家获胜。有兴趣的同学可以自行上网查阅游戏规则,这里我们将其以数据结构的术语重新描述为: 每种花色均为一个双端队列,且只能输入,不能输出,每个队列的第一个输入元素(牌张)必须为7; 向队列中插入的元素必须与队列中两端的元素花色相同且在数值上相邻。例如,当队列中仅有黑桃7时,则只有黑桃8或黑桃6可插入黑桃队列中;若红心队列中已有6、7、8、9,则玩家手上只有红心5或者红心10可插入到红心队列中。其余依此类推; 无论发牌结果如何,手中有黑桃7的玩家必须首先将黑桃7打出,置于桌面。依顺时针次序,其他玩家出掉手中的活牌并加入到桌面上的队列两端,若无活牌可出,则扣掉一张牌。出牌过程连续进行,不存在出牌权的问题; 所谓活牌与桌面上已有的牌花色相同且点数相邻的牌,或者一张任意花色的7; 扣牌:玩家手中没有活牌时必须扣任意一张牌; 走通:有一位玩家本局游戏没有扣牌,即该玩家本局游戏手中牌全部出完后,没有扣一张牌; 【基本要求】 本程序模拟憋七的发牌和出牌过程,通过随机函数将52张扑克牌分发到四方。为方便计,可分别称为东南西北方,以????的顺序,按如下方式在屏幕上的持牌区显示出来: 北:?K83 ?972 ?J764 ?K9A 西:?J62 ?KJ10864 ?95A ?8 东:?10754 ?5 ?Q102 ?Q6543 南:?Q9A ?Q3A ?K83 ?J1072 在持牌区的下方划出左右两个区域,出牌区显示出牌过程,扣牌区显示被扣掉的牌。如下图所示: 出牌区 扣牌区 ? K Q J 10 9 8 7 6 5 4 3 2 A ? ? J 10 9 8 7 6 5 4 3 2 A ? K Q ? K Q J 10 9 8 7 6 5 4 ?

文档评论(0)

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

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

1亿VIP精品文档

相关文档